{ "info": { "author": "mFabrik Research Oy", "author_email": "research@mfabrik.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python" ], "description": ".. contents ::\n\nIntroduction\n-------------\n\ncollective.fastview provides framework level helper code for Plone view and template management.\nIt is intended to be used to give some workarounds some rough corners on these Zope 3\nand `five.grok `_ viewlewt frameworks.\n\nInstallation\n------------\n\nAdd collective.fastview to ``buildout.cfg`` eggs list::\n\n eggs = \n ...\n collective.fastview\n\nRender viewlets directly anywhere in the template\n---------------------------------------------------\n\nYou can directly put in viewlet call to any page template code \nusing a viewlet traverser. ``collective.fastview`` registers\na view with name ``@@viewlets`` which you can use to traverse \nto render any viewlet code::\n\n
\n
\n
\n\nNote that you still need to register viewlets against some (any) viewlet manager,\nbut it can be a dummy one, which is never rendered using syntax::\n\n
\n\nExample of dummy viewlet manager::\n\n class MainViewletManager(grok.ViewletManager):\n \"\"\" This viewlet manager is responsible for all gomobiletheme.basic viewlet registrations.\n \n Viewlets are directly referred in main_template.pt by viewlet name,\n thus overriding Plone behavior to go through ViewletManager render step.\n \"\"\"\n grok.name('gomobiletheme.basic.viewletmanager')\n \n # Set viewlet manager default to all following viewlets\n grok.viewletmanager(MainViewletManager)\n\nFix Grok 1.0 template inheritance\n---------------------------------\n\nThis fixes grok 1.0 problem that view and viewlets template are not inheritable between packages.\nE.g. if you subclass a view you need to manually copy over the view template also.\n \nWe hope to get rid of this in the future.\n \nSee:\n \n* https://bugs.launchpad.net/grok/+bug/255005\n\nExample::\n\n from collective.fastview.utilities import fix_grok_template_inheritance\n from gomobiletheme.basic import viewlets as base\n from gomobiletheme.basic.viewlets import MainViewletManager\n from plonecommunity.app.interfaces import IThemeLayer\n \n # Viewlets are on all content by default.\n grok.context(Interface)\n \n # Use templates directory to search for templates.\n grok.templatedir(\"templates\")\n \n # Viewlets are active only when gomobiletheme.basic theme layer is activated\n grok.layer(IThemeLayer)\n \n grok.viewletmanager(MainViewletManager)\n \n class Head(base.Head):\n \"\"\"\n My inherited viewlet.\n \"\"\"\n \n \n # Fix for grok 1.0 template inheritance\n # https://bugs.launchpad.net/grok/+bug/255005\n # This will force Head viewlet to use its parent class template\n fix_grok_template_inheritance(Head, base.Head)\n\nExamples\n--------\n\nThis code is mainly used with ``gomobiletheme.basic`` package\nto provide simple mobile themes without need to construct viewlet manager\naround every viewlet.\n\n* http://webandmobile.mfabrik.com\n\nThese Python packages use this code\n\n* http://code.google.com/p/plonegomobile/source/browse/#svn/trunk/gomobile/gomobiletheme.basic/gomobiletheme/basic\n\nSource code repository\n-----------------------\n\n* https://svn.plone.org/svn/collective/collective.fastview\n\nAuthor\n------\n\n`mFabrik Research Oy `_ - Python and Plone professionals for hire.\n\n* `mFabrik Web and Mobile - multichannel CMS made easy `_ \n\n* `mFabrik web site `_ \n\n* `mFabrik mobile site `_ \n\n* `Blog `_\n\n \nChangelog\n=========\n\n0.2.1 - 0.2.2\n-------------\n\n* Fixed debug statement left in the code [miohtama]\n\n0.2 - 0.2.1\n-----------\n\n* Try to be smarter handling the cases where viewlet raises an exception on update() or render() [miohtama]\n\n* Cleaned up some docs [miohtama]\n\n0.1 - 0.2\n----------\n \n* Plone 4 compatibility\n\n* Removed global defines special handlers - they were used for Plone 3,\n but Plone 4 is now out solving the problem itself\n \n* Added special exception type for the cases viewlet is not found by name.\n It was bad idea to return NotFound as Zope has special meaning for\n this exception (you get 404).\n\n0.1\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://webandmobile.mfabik.com", "keywords": "five.grok viewlet view helper grok", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.fastview", "package_url": "https://pypi.org/project/collective.fastview/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.fastview/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://webandmobile.mfabik.com" }, "release_url": "https://pypi.org/project/collective.fastview/0.2.2/", "requires_dist": null, "requires_python": null, "summary": "View and viewlet helper modules for Plone theme and five.grok developers", "version": "0.2.2" }, "last_serial": 787780, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1d563e7dc931669574f1506580fb0c1e", "sha256": "267573d1fa63c91c5e48988ce87abaf62c5ccd5e8611ce17ace7e354be5f2665" }, "downloads": -1, "filename": "collective.fastview-0.1.tar.gz", "has_sig": false, "md5_digest": "1d563e7dc931669574f1506580fb0c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15517, "upload_time": "2010-03-16T01:41:33", "url": "https://files.pythonhosted.org/packages/34/82/de14181a1a57efce906cafa4aabe39a22cc3aa6e6fb5224adfedb11f18b7/collective.fastview-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "584f63b17e74bdde65486e02cb3b2463", "sha256": "54ce1b1c7d95f202672f46dacf6d50213dc884f1e885e2a2b5c8d8bbfc98f214" }, "downloads": -1, "filename": "collective.fastview-0.2.tar.gz", "has_sig": false, "md5_digest": "584f63b17e74bdde65486e02cb3b2463", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15353, "upload_time": "2010-09-17T23:36:05", "url": "https://files.pythonhosted.org/packages/1c/ab/6906f753dd98dcf017b8a50726c013a54616c363fa9559e42d75f9eb463a/collective.fastview-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d988a9d80478c8f6698dbb8c6a7f34a9", "sha256": "cc38fa0f53ff529892b12fb77e4d61dd082d30d4fd55dd538107ffd44168f51f" }, "downloads": -1, "filename": "collective.fastview-0.2.1.zip", "has_sig": false, "md5_digest": "d988a9d80478c8f6698dbb8c6a7f34a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22782, "upload_time": "2010-11-04T23:05:55", "url": "https://files.pythonhosted.org/packages/a2/08/e025424d7d638324bb880c196e23e48b5bdd5c9a9c7c52a1b8617f248e49/collective.fastview-0.2.1.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f0390053400d2c04e9c6db23a06bca24", "sha256": "90df40831d3cd95863a31c3afebd2a063fb9c26096850ce16b8314295ab97bcf" }, "downloads": -1, "filename": "collective.fastview-0.2.2.zip", "has_sig": false, "md5_digest": "f0390053400d2c04e9c6db23a06bca24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22857, "upload_time": "2010-11-04T23:16:55", "url": "https://files.pythonhosted.org/packages/3d/c0/e61fcad0d35a4be12bbf2dfd280e267ee254f5001c58c040c8875b3eed7f/collective.fastview-0.2.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f0390053400d2c04e9c6db23a06bca24", "sha256": "90df40831d3cd95863a31c3afebd2a063fb9c26096850ce16b8314295ab97bcf" }, "downloads": -1, "filename": "collective.fastview-0.2.2.zip", "has_sig": false, "md5_digest": "f0390053400d2c04e9c6db23a06bca24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22857, "upload_time": "2010-11-04T23:16:55", "url": "https://files.pythonhosted.org/packages/3d/c0/e61fcad0d35a4be12bbf2dfd280e267ee254f5001c58c040c8875b3eed7f/collective.fastview-0.2.2.zip" } ] }