{ "info": { "author": "Simples Consultoria", "author_email": "products@simplesconsultoria.com.br", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 3.3", "Framework :: Plone :: 4.0", "Framework :: Plone :: 4.1", "Framework :: Plone :: 4.2", "Framework :: Zope2", "Framework :: Zope3", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. contents:: Table of Contents\n :depth: 2\n\nCDN Support for Plone: Multiple Hostnames\n*******************************************\n\nOverview\n========\nThis package provides support for a multiple hostnames CDN config for \nPlone sites. \n\nActing in a similar way to AlternateHostname provider, MultipleHostnames allows \nyou to type in multiple values for hostname.\n\nWhen the absolute_url method from a resource registry is called, we select one \nof the available hostnames and return it to the browser.\n\nUsing MultipleHostnames allows you to serve content from a hostname while \nresources will be called from up to n other addresses.\n\nRequirements\n=============\n\n * Plone 3.3.x (http://plone.org/products/plone)\n * Plone 4.0.x (http://plone.org/products/plone)\n * Plone 4.1.x (http://plone.org/products/plone)\n * Plone 4.2.x (http://plone.org/products/plone)\n * collective.cdn.core (http://pypi.python.org/pypi/collective.cdn.core)\n \nInstallation\n=============\n \nTo enable this product,on a buildout based installation:\n\n 1. Edit your buildout.cfg and add ``collective.cdn.multiplehostnames``\n to the list of eggs to install ::\n\n [buildout]\n ...\n eggs = \n collective.cdn.multiplehostnames\n \n\nIf another package depends on the collective.cdn.multiplehostnames egg or \nincludes its zcml directly you do not need to specify anything in the \nbuildout configuration: buildout will detect this automatically.\n\nAfter updating the configuration you need to run the ''bin/buildout'',\nwhich will take care of updating your system.\n\nGo to the 'Site Setup' page in the Plone interface and click on the\n'Add/Remove Products' link.\n\nChoose the CDN Support for Plone (check its checkbox) and click the 'Install' button.\n\nUninstall -- This can be done from the same management screen, but only\nif you installed it from the quick installer.\n\nNote: You may have to empty your browser cache and save your resource \nregistries in order to see the effects of the product installation.\n\nUsage\n============\n\nCDN settings\n----------------\nAfter installing this package, go to the 'Site Setup' page in the \nPlone interface and click on the 'CDN Configuration' link.\n\nIn this page you can choose which registries will use the CDN settings \nby clicking the respective checkboxes.\n\nChoose the MultipleHostnames provider, add few hostnames, port number \nand additional path --if needed -- then save the settings.\n\nHow it works\n--------------\nUsing the hostname provided in the settings page, we simply replace our \nPlone site root's url with the provided information.\n\nFor example, let's add two hostnames to our configs:\n \n * cache01.simplesconsultoria.com.br\n * cache02.simplesconsultoria.com.br\n \nWith port number 80 and an empty path, the link to \nportal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css \nfile would change from::\n\n http://www.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css\n\nto::\n\t\n http://cache01.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css\n\nThis is due to the algorithm used to choose between the available hostnames. If \nthe file was portal_css/beyondskins_simples/base-cachekey3443.css, the provider \nwould choose the second hostname. \n\nIf we inform a port number different from 80, it will be appended to the \nhostname, so with a port number of 8080, the above example would \nreturn::\n\n http://cache01.simplesconsultoria.com.br:8080/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css\n\nThe same will happen if we inform a path in our settings. Using 'simples' as \nour path, the first example would return::\n\n http://cache01.simplesconsultoria.com.br/simples/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css\n\nAdvanced Usage\n================\n\nUsing a different path offers you the possibility of creating a simple \ncaching/cdn server for multiple sites. As an example we will consider we \nhave two Plone sites, www.simplesconsultoria.com.br and www.simplesnet.com.br, \nand we setup cache01.simples.srv.br and cache02.simples.srv.br as \nhostnames in both Plone sites.\n\nIn order to differentiate one site from the other we will set different paths\nin each of them:\n\n * simples in www.simplesconsultoria.com.br\n * simplesnet in www.simplesnet.com.br\n\nSo each site will have the following settings:\n\n * www.simplesconsultoria.com.br\n * Provider: MultipleHostnames\n * Hostname: cache01.simples.srv.br, cache02.simples.srv.br\n * Port: 80\n * Path: simples\n \n * www.simplesnet.com.br\n * Provider: MultipleHostnames\n * Hostname: cache01.simples.srv.br, cache02.simples.srv.br\n * Port: 80\n * Path: simplesnet \n\nAnd a link to a file portal_css/beyondskins_simples/base-cachekey3443.css,\nwould return for www.simplesconsultoria.com.br::\n\n\thttp://cache02.simples.srv.br/simples/portal_css/beyondskins_simples/base-cachekey3443.css\n\t\nAnd for www.simplesnet.com.br::\n\n\thttp://cache02.simples.srv.br/simplesnet/portal_css/beyondskins_simples/base-cachekey3443.css\n\nSo, our frontend server must rewrite calls to **simples/** to \nwww.simplesconsultoria.com.br server and calls to **simplesnet/** to the \nwww.simplesnet.com.br server.\n\nSponsoring\n===========\n\nDevelopment of this product was sponsored by `Simples Consultoria \n`_.\n\n\nCredits\n========\n\n * Simples Consultoria (products at simplesconsultoria dot com dot br) - \n Implementation\n\n * Dorneles Trem\u00e9a for the invaluable talks about how to implement this \n provider.\n\nChangelog\n=========\n\n0.6 (2012-08-01)\n----------------\n\n* Refactor tests to use plone.app.testing [ericof]\n\n\n0.5 (2011-02-21)\n----------------\n\n* Implementation of multiple hostnames provider [ericof]\n\n* Initial release [ericof]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.simplesconsultoria.com.br/", "keywords": "plone plone4 cdn content simplesconsultoria", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.cdn.multiplehostnames", "package_url": "https://pypi.org/project/collective.cdn.multiplehostnames/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.cdn.multiplehostnames/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.simplesconsultoria.com.br/" }, "release_url": "https://pypi.org/project/collective.cdn.multiplehostnames/0.6/", "requires_dist": null, "requires_python": null, "summary": "Multiple Hostnames CDN support for Plone", "version": "0.6" }, "last_serial": 787690, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "a9a50d93451a727519d4701b21d233ec", "sha256": "88725c282604e4b2e344e6b49e5523d8b30f3a068d21b3f8fac82c46432d2a4f" }, "downloads": -1, "filename": "collective.cdn.multiplehostnames-0.5.zip", "has_sig": false, "md5_digest": "a9a50d93451a727519d4701b21d233ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25530, "upload_time": "2011-02-21T21:05:08", "url": "https://files.pythonhosted.org/packages/5c/34/a28ab348596f1000d91237edf9d8bf5df072bc7f3fb103832a44971a518d/collective.cdn.multiplehostnames-0.5.zip" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "828386232fae5f136ce56dbb79dfaf62", "sha256": "615a028c8d380ded772039c515d4c58c58797ff6bc170d4e722680182c51d540" }, "downloads": -1, "filename": "collective.cdn.multiplehostnames-0.6.zip", "has_sig": false, "md5_digest": "828386232fae5f136ce56dbb79dfaf62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26364, "upload_time": "2012-08-01T21:26:23", "url": "https://files.pythonhosted.org/packages/0d/07/2b4e633168340b87e6061a88b92fbbb38588d89ac7936ab5c47d7aad4122/collective.cdn.multiplehostnames-0.6.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "828386232fae5f136ce56dbb79dfaf62", "sha256": "615a028c8d380ded772039c515d4c58c58797ff6bc170d4e722680182c51d540" }, "downloads": -1, "filename": "collective.cdn.multiplehostnames-0.6.zip", "has_sig": false, "md5_digest": "828386232fae5f136ce56dbb79dfaf62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26364, "upload_time": "2012-08-01T21:26:23", "url": "https://files.pythonhosted.org/packages/0d/07/2b4e633168340b87e6061a88b92fbbb38588d89ac7936ab5c47d7aad4122/collective.cdn.multiplehostnames-0.6.zip" } ] }