{ "info": { "author": "Martin Aspeli", "author_email": "optilude@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nThis package provides an \"error document\" that can be used for 404 responses\nand some middleware to trigger the correct responses.\n\nIt is useful if you are deploying a Plone site in a WSGI chain using\nrepoze.zope2. When an error (e.g. a 404 response is triggered) you can forward\nto a page in Plone, which can display suggestions and a friendly error message.\n\nFurthermore, if an alias can be found in the redirection storage from\nplone.app.redirector, an automatic redirect will be issued, taking the user\nto the new page.\n\nFinally, there is a rudimentary UI to bulk load redirects. This is useful if\nyou are migrating from an old site (perhaps not even a Plone site). Go to\nhttp://localhost:8080/your-site/@@bulk-load-aliases as a Manager user,\nand paste in the old and new paths in the form::\n\n /index.php?pageId=123 => /some-page/some-where\n \nNote: The portal root path will be automatically prefixed to the paths.\nThus, the example above run on the Plone site 'mysite' would result in\nan underlying redirect of /mysite/index.php?pageId=123 to\n/mysite/some-page/some-where. The assumption is that you'll deploy with\nvirtual hosting so that the 'mysite' is the VHM root and not shown as\npart of the URL, but part of rewrite rules.\n \nTo remove aliases, install Products.RedirectionTool and use its UI. \n\nInstallation\n------------\n\ncollective.fourohfour uses plone.app.registry and z3c.form.\n\nTo use the product in your own build, either depend on it in a setup.py file,\nor add it to your buildout's `eggs` listing as normal.\n\nIn either case, you probably want to use a Known Good Set of packages to\nminimise the risk of package version conflicts. For example::\n\n [buildout]\n ...\n extends =\n ...\n http://good-py.appspot.com/release/plone.autoform/1.0b2\n\n ...\n \n [instance]\n eggs =\n Plone\n collective.fourohfour\n ...\n\nOnce configured in your build, install the package from portal_quickinstaller\nas normal. \n\nHint: You may also want to install Products.RedirectionTool to get some GUI\nsupport for modifying aliases.\n\nConfiguration\n-------------\n\nThe middleware must be configured to be run before Paste#httpexceptions. For\nexample::\n\n [filter:errorhandler]\n use = egg:collective.fourohfour#handler\n 404 = /@@404-error\n \n [filter:errorlog]\n use = egg:repoze.errorlog#errorlog\n path = /__error_log__\n keep = 50\n ignore = \n paste.httpexceptions:HTTPUnauthorized\n paste.httpexceptions:HTTPNotFound\n paste.httpexceptions:HTTPFound\n \n [app:zope2]\n paste.app_factory = repoze.obob.publisher:make_obob\n repoze.obob.get_root = repoze.zope2.z2bob:get_root\n repoze.obob.initializer = repoze.zope2.z2bob:initialize\n repoze.obob.helper_factory = repoze.zope2.z2bob:Zope2ObobHelper\n zope.conf = /path/to/etc/zope.conf\n \n [pipeline:main]\n pipeline =\n errorhandler\n egg:Paste#httpexceptions\n egg:repoze.retry#retry\n egg:repoze.tm#tm\n egg:repoze.vhm#vhm_xheaders\n errorlog\n zope2\n\nPlease note::\n\n * The errorhandler middleware must be configured with a set of response\n types and the error page to redirect to. To use the \"smart\" view\n provided by this package, use /@@404-error.\n \n * If you use repoze.vhm for virtual hosting, the view path will be\n adjusted for the VHM root. Thus, in a typical setup where you virtual-\n host the Plone site at the root of the domain, a path of /@@404-error\n will do the right thing. However, if virtual hosting is not enabled,\n you'll need to adjust the path in the configuration file to include\n your Plone site, e.g. /my-site/@@404-error\n \n * The errorhandler middleware should come just before Paste#httpexceptions\n\nIt is possible to handle other types of responses with the same middleware,\ne.g.::\n\n [filter:errorhandler]\n use = egg:collective.fourohfour#handler\n 404 = /@@404-error\n 500 = /default_error_message\n \n (This middleware is based on Paste#errordocument, but allows more of the\n original request to be passed through to the error handler, and also allows\n the error handler to raise 301/302 redirects).\n \nChangelog\n=========\n\n1.0a5 - 2011-06-20\n------------------\n\n* Updated template to include defines as Plone 3 global defines\n are undefined by default in Plone 4.\n\n\n1.0a4 - 2010-02-04\n------------------\n\n* revert to 1.0a2 path handling since the issue fixed in 1.0a3\n is now correctly handled in repoze.vhm 0.12. Do not use the\n 1.0a3 version of this package.\n [vangheem]\n\n\n\n1.0a3 - 2009-12-26\n------------------\n\n* Store paths preserving the repoze.vhm.virtual_root if using \n virtual hosting. This is the only way to ensure it finds hits\n in redirection storage for Plone.\n [vangheem]\n\n\n1.0a2 - 2009-08-27\n------------------\n\n* Fix broken release lacking middleware.py\n\n1.0a1 - 2009-08-26\n------------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/collective.fourohfour", "keywords": "plone fourohfour", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.fourohfour", "package_url": "https://pypi.org/project/collective.fourohfour/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.fourohfour/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/collective.fourohfour" }, "release_url": "https://pypi.org/project/collective.fourohfour/1.0a5/", "requires_dist": null, "requires_python": null, "summary": "Aliasing of Plone content", "version": "1.0a5" }, "last_serial": 787800, "releases": { "1.0a1": [ { "comment_text": "", "digests": { "md5": "f3c97f3d087f2d381a61bc66684979c6", "sha256": "fc4df8f1104956269ca6acb408c9fdcb6d7a8211151f2c5482eb6b061f9ab16e" }, "downloads": -1, "filename": "collective.fourohfour-1.0a1.tar.gz", "has_sig": false, "md5_digest": "f3c97f3d087f2d381a61bc66684979c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17473, "upload_time": "2009-08-26T17:06:19", "url": "https://files.pythonhosted.org/packages/45/23/e0909486bb84144c70d2e9d8e494578f538aa074bfc0bde3941ece01fb0e/collective.fourohfour-1.0a1.tar.gz" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "d54059031a6bb83e229ff14546926889", "sha256": "7b4d907cbcb491fa1e89fc28fd7f96001657b4b45c6780baefd415f8fdef3ef5" }, "downloads": -1, "filename": "collective.fourohfour-1.0a2.tar.gz", "has_sig": false, "md5_digest": "d54059031a6bb83e229ff14546926889", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19350, "upload_time": "2009-08-27T14:09:14", "url": "https://files.pythonhosted.org/packages/2d/ab/d3d5a63cd5cc18a7378101673dba419df34dbceda9cf6df2aebc6e4d8a60/collective.fourohfour-1.0a2.tar.gz" } ], "1.0a3": [ { "comment_text": "", "digests": { "md5": "9c3d695ce06010d2e0781fcdbd7f906b", "sha256": "8567e337096fbf5639a3ddb93586cde9994234ac0ba88026e87a028e44e71405" }, "downloads": -1, "filename": "collective.fourohfour-1.0a3-py2.4.egg", "has_sig": false, "md5_digest": "9c3d695ce06010d2e0781fcdbd7f906b", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 26823, "upload_time": "2009-12-26T13:28:05", "url": "https://files.pythonhosted.org/packages/07/4b/600d6b6387b04d8c75a6e257f43731871f74207aa8453c5de0b80346cc21/collective.fourohfour-1.0a3-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "48fbaf9b12eddd5a721ba53ce4d469d6", "sha256": "9759777c3ca70d7fe5c7221cf105402ec32db89b936cfa4114a0760baa8e789b" }, "downloads": -1, "filename": "collective.fourohfour-1.0a3.tar.gz", "has_sig": false, "md5_digest": "48fbaf9b12eddd5a721ba53ce4d469d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20341, "upload_time": "2009-12-26T13:27:59", "url": "https://files.pythonhosted.org/packages/66/fe/a78d725c4ba78c83d73451083e323f8b446fb78a96cf541800d1de4ba0b7/collective.fourohfour-1.0a3.tar.gz" } ], "1.0a4": [ { "comment_text": "", "digests": { "md5": "024944f147c5c0b8c7847fc557327764", "sha256": "710648dd19dba3d2da70ebc1e0f94f6309ae943640944685c30a0fe653b85248" }, "downloads": -1, "filename": "collective.fourohfour-1.0a4-py2.4.egg", "has_sig": false, "md5_digest": "024944f147c5c0b8c7847fc557327764", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 26507, "upload_time": "2010-02-04T16:21:44", "url": "https://files.pythonhosted.org/packages/21/34/b60836aa81437f85c0e419f070c683de1d6f783b7e66cbe0a67f767b8606/collective.fourohfour-1.0a4-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "6c95ec07c8eb87fc6f7282d53ff88484", "sha256": "8878325d99dcefe40cdaa227cdcd4a91ec72bda4d27b9cadaf7c1fce0b7bf04a" }, "downloads": -1, "filename": "collective.fourohfour-1.0a4.tar.gz", "has_sig": false, "md5_digest": "6c95ec07c8eb87fc6f7282d53ff88484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21526, "upload_time": "2010-02-04T16:21:42", "url": "https://files.pythonhosted.org/packages/de/2b/e8c2c154bc6880bc3bb7b225e0cc2b8ae319867b20421bf2f75a4e6b51b3/collective.fourohfour-1.0a4.tar.gz" } ], "1.0a5": [ { "comment_text": "", "digests": { "md5": "138b83fcfca9269ed0af924dd64fb30e", "sha256": "e70c07a2e0d20188a955e3967894fd9db3491b40489ba7ea2b1b4008750ee480" }, "downloads": -1, "filename": "collective.fourohfour-1.0a5.tar.gz", "has_sig": false, "md5_digest": "138b83fcfca9269ed0af924dd64fb30e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20347, "upload_time": "2011-06-20T05:36:48", "url": "https://files.pythonhosted.org/packages/85/ff/5961e9567d4b6798d2bf0fa7f51eae973c9deeaa801a8e3f020579955cc4/collective.fourohfour-1.0a5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "138b83fcfca9269ed0af924dd64fb30e", "sha256": "e70c07a2e0d20188a955e3967894fd9db3491b40489ba7ea2b1b4008750ee480" }, "downloads": -1, "filename": "collective.fourohfour-1.0a5.tar.gz", "has_sig": false, "md5_digest": "138b83fcfca9269ed0af924dd64fb30e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20347, "upload_time": "2011-06-20T05:36:48", "url": "https://files.pythonhosted.org/packages/85/ff/5961e9567d4b6798d2bf0fa7f51eae973c9deeaa801a8e3f020579955cc4/collective.fourohfour-1.0a5.tar.gz" } ] }