{ "info": { "author": "Ethan Jucovy", "author_email": "opencore-dev@lists.coactivate.org", "bugtrack_url": null, "classifiers": [], "description": "A small library of functions useful for integration with opencore.\n\nContents:\n\nlibopencore.auth\n================\n\n * get_secret(filename)\n\n Get a shared secret to be used in cookie parsing & construction.\n\n * generate_cookie_value(username, shared_secret)\n \n Use this to set a cookie so that opencore will recognize the user\n as logged in.\n\n * authenticate_from_cookie(cookie_string, shared_secret)\n\n Returns (username, hash) for the user identified by the cookie.\n Throws a BadCookie exception if the cookie is malformed, or a\n NotAuthenticated exception if the cookie is well-formed but not\n using the correct shared secret.\n\nlibopencore.deliverance_middleware\n==================================\n\n * filter_factory / CustomDeliveranceMiddleware\n\n A subclass of Deliverance middleware (v0.3) that carries along\n the original request's HTTP_X_OPENPLANS_* headers and cookie,\n when making external subrequests. This allows external applications\n to properly respect login and context information.\n\n It also hard-codes the necessary Deliverance ruleset, and theme uri.\n\n The theme is served by opencore itself, at a @@theme.html view registered\n on the portal. Here, it is fetched by making an external request to the\n front of the OpenCore stack, to guarantee that links in the theme are\n correct.\n\nlibopencore.wsgi\n================\n\n * composite_factory / URLDispatcher\n\n A paste.composite_factory that will dispatch requests to\n opencore and to other applications (tasktracker and wordpress)\n based on the URL.\n\n It will add the necessary request headers before making\n subrequests.\n\nlibopencore.http_proxy\n======================\n\n * app_factory / RemoteProxy\n\n A paste.app_factory that will proxy requests to external HTTP\n calls. Pass a ``remote_uri`` with the base href for the app.\n\n If ``is_opencore`` is set, it will rewrite the request to tell\n Zope's VirtualHostMonster how links in the response should look.\n\n\n\nChanges\n=======\n\n0.7\n===\n\n* New module ``libopencore.import_utils``\n\n* New function ``parse_listen_settings`` in ``libopencore.import_utils``\n\n0.6\n===\n\n* Added new configuration variable ``site_root`` in http_proxy app,\n for proxying to an opencore (zope) backend. The default value\n is ``/openplans/``. If you are proxying to an opencore backend\n where the plone site root is installed elsewhere, or if you are\n using a ++skin++ layer for customizations, you can set this to a\n different value.\n\n This should be used instead of setting ``remote_uri`` to a value\n like ``http://localhost:10001/++skin++avata/``. Instead of\n\n remote_uri = http://localhost:10001/++skin++avata/\n\n you should use\n\n remote_uri = http://localhost:10001\n site_root = /++skin++avata/openplans/\n\n to ensure proper url generation.\n\n* Added X-Forwarded-Server to the set of preserved headers in \n Deliverance subrequests.\n\n\n\n0.5\n===\n\nFeatures added\n--------------\n\n* The http proxy's load-balancer is now capable of sending robots \n to a specific backend.\n\n To use it for a given backend, pass in a URL for ``robots_uri``\n and this URL will be chosen if the request's User-Agent string\n matches a set of known robots.\n\n To segregate robots from all other users, this URL could be\n omitted from the ``remote_uri`` parameter.\n\n* The deliverance.xml rules now try to fetch ``/openplans/xinha-config``\n if there is a ``