five.grok
=========
.. contents::
Introduction
------------
`five.grok` is a development layer for Zope, based on Grok framework
concepts.
The development techniques are similar to the ones used with Grok
framework.
It is based on `grokcore` namespace packages that were factored out of Grok
framework.
Implemented features
--------------------
Coming from Grok, the following components are available to Zope
developers:
- Zope 3 Component (Adapter, Global utilities, Subscribers),
- Permissions,
- Views and Viewlets,
- Skins and resources directories,
- Page Templates (using the Zope Page Templates),
- Formlib forms (optional, you need to include the extra ``form``),
- Local sites and local utilities,
- Annotations,
- Layout (optional, you need to include the extra ``layout``).
All those components are available with exactly the same syntax than
in grok. You just have to do::
from five import grok
Instead of::
import grok
Installation
------------
After adding the dependency to ``five.grok`` in your project, you have
to load the following ZCML::
<include package="five.grok" />
More information
----------------
You can refer to the Grok website: http://grok.zope.org/, and the Grok
documentation: http://grok.zope.org/documentation/.
You can check the doctest included in sources as well.
Changelog
=========
3.0 (2023-06-29)
----------------
- Drop support for Python 2.7, 3.5, 3.6.
2.0 (2023-03-15)
----------------
- Pin ``five.localsitemanager>=2.0``. Avoids problems with newer
version comparison in ``setuptools 8.0``.
[maurits]
- Add support for Python 3.7, 3.8, 3.9, 3.10, 3.11.
- Add support for Zope >= 4.
- Drop support for Zope 2.13.
1.3.2 (2012-08-17)
------------------
- Add an optional support for ``grokcore.layout``, with the extra
``layout``.
1.3.1 (2012-05-02)
------------------
- Make formlib support optional. This is not included by default. If
you whish to use formlib, you need to include the extra ``form`` for
``five.grok``. Example: ``five.grok [form] >= 1.3.1``.
- Fix the redirect method to properly work. Unlike in Zope 3, it
doesn't support trusted.
1.3.0 (2011-11-07)
------------------
- Clean up code, update dependencies and tests, this release only
works with Zope 2.13. [thefunny42]
1.2.0 (2011-01-22)
------------------
- Require five.formlib for Zope 2.13 compatibility. This requires Zope 2.12.3
or later.
[elro]
1.1.2 (2010-08-04)
------------------
- Fixed problem with unrestrictedTraverse() and files in subfolders of grokked
resource directories. This fix also depends on fixes in Zope 2.12.6 or
later.
[optilude]
1.1.1 (2010-02-04)
------------------
- Fix namespace override in ZopeTwoPageTemplate, i.e. let users
override 'view' for instance using the namespace method of a Grok
view class. This bug was introduced in the 1.1 release.
[thefunny42]
1.1 (2009-11-16)
----------------
- Update code and tests to work with Zope 2.12. People using Zope 2.10
and 2.11 should keep using five.grok 1.0.
[thefunny42 and optilude]
- Update to martian 0.11.1, `grokcore.annotation`_ 1.1 and
`grokcore.site`_ 1.1, `grokcore.view`_ to 1.12.2.
[vincentfretin]
- Local utility implements IAttributeAnnotatable, IContext like in
`grokcore.site`_.
[thefunny42]
1.0 (2009-09-17)
----------------
- Define an IFiveGrokAPI.
[thefunny42]
- Fix the broken ``url`` method on views.
[thefunny42]
- Reverted the CodeView base class, see grokcore.view changelog for
more details.
``CodeView`` is still available as a backwards compatibility alias
for ``View``. Please update all references to ``CodeView`` to
``View``.
[vincentfretin]
1.0b2 (2009-07-21)
------------------
- Added dependency on grokcore.view 1.9, grokcore.viewlet 1.1 and
grokcore.formlib 1.2, and support for the new CodeView from grokcore.View.
[optilude]
1.0b1 (2009-06-30)
------------------
- Added support for annotations with `grokcore.annotation`_.
[thefunny42]
- Added support for local site and utilities with `grokcore.site`_.
[thefunny42]
- Fix grok.EditForm when used with grokcore.formlib 1.1.
The Apply action was gone.
[thefunny42]
- Let static resource directories allow access to unprotected subattributes
to avoid authorisation problems when accessing them from protected code.
[optilude]
- Do not create static resource directories if the 'static' directory does
not actually exist.
[optilude]
1.0a2 (2008-11-23)
------------------
- Added support for viewlets with `grokcore.viewlet`_.
[thefunny42]
- Added support for the DirectoryResource component (new in
`grokcore.view`_ 1.2).
[thefunny42]
- Added support for using Zope 2 templates by default when doing ``from
five import grok`` and using grok.PageTemplateFile (being consistent
with grok.PageTemplate).
[thefunny42]
- Added a convenient grok.Container.
[thefunny42]
- Fix AutoFields (and form grokker) not to include OFS Zope 2 defined
fields by default. This use to add a lot of buggy and wanted
fields.
[thefunny42]
1.0a1 (2008-10-22)
------------------
- Added support for formlib forms with `grokcore.formlib`_.
[thefunny42]
- Added support for static resource directory.
[thefunny42]
- Added support for inline templates and made Zope 2 template semantics
the default when doing ``from five import grok`` and using
grok.PageTemplate.
[optilude]
- Added override to make templates use Five's ViewPageTemplateFile instead
of the one from zope.app.pagetemplate.
[optilude]
- Added `grokcore.view`_ support with tests.
[regebro, jfroche, gotcha et al.]
- Added tests for grok.subscriber directive.
[kamon]
- Initial release (tests for adapters and utilities, initial support for
views).
[regebro, gotcha]
.. _grokcore.annotation: http://pypi.python.org/pypi/grokcore.annotation
.. _grokcore.site: http://pypi.python.org/pypi/grokcore.site
.. _grokcore.view: http://pypi.python.org/pypi/grokcore.view
.. _grokcore.viewlet: http://pypi.python.org/pypi/grokcore.viewlet
.. _grokcore.formlib: http://pypi.python.org/pypi/grokcore.formlib
Raw data
{
"_id": null,
"home_page": "https://github.com/zopefoundation/five.grok",
"name": "five.grok",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "zope grok",
"author": "Lennart Regebro, Godefroid Chapelle",
"author_email": "zope-dev@zope.dev",
"download_url": "https://files.pythonhosted.org/packages/73/bd/7615fcfd7a68e713ff349c7b3b2fd60b9ffa2305b11993c18f9f5e8b3e81/five.grok-3.0.tar.gz",
"platform": null,
"description": "five.grok\n=========\n\n.. contents::\n\nIntroduction\n------------\n\n`five.grok` is a development layer for Zope, based on Grok framework\nconcepts.\n\nThe development techniques are similar to the ones used with Grok\nframework.\n\nIt is based on `grokcore` namespace packages that were factored out of Grok\nframework.\n\nImplemented features\n--------------------\n\nComing from Grok, the following components are available to Zope\ndevelopers:\n\n- Zope 3 Component (Adapter, Global utilities, Subscribers),\n\n- Permissions,\n\n- Views and Viewlets,\n\n- Skins and resources directories,\n\n- Page Templates (using the Zope Page Templates),\n\n- Formlib forms (optional, you need to include the extra ``form``),\n\n- Local sites and local utilities,\n\n- Annotations,\n\n- Layout (optional, you need to include the extra ``layout``).\n\nAll those components are available with exactly the same syntax than\nin grok. You just have to do::\n\n from five import grok\n\nInstead of::\n\n import grok\n\nInstallation\n------------\n\nAfter adding the dependency to ``five.grok`` in your project, you have\nto load the following ZCML::\n\n <include package=\"five.grok\" />\n\n\nMore information\n----------------\n\nYou can refer to the Grok website: http://grok.zope.org/, and the Grok\ndocumentation: http://grok.zope.org/documentation/.\n\nYou can check the doctest included in sources as well.\n\nChangelog\n=========\n\n3.0 (2023-06-29)\n----------------\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n\n2.0 (2023-03-15)\n----------------\n\n- Pin ``five.localsitemanager>=2.0``. Avoids problems with newer\n version comparison in ``setuptools 8.0``.\n [maurits]\n\n- Add support for Python 3.7, 3.8, 3.9, 3.10, 3.11.\n\n- Add support for Zope >= 4.\n\n- Drop support for Zope 2.13.\n\n\n1.3.2 (2012-08-17)\n------------------\n\n- Add an optional support for ``grokcore.layout``, with the extra\n ``layout``.\n\n1.3.1 (2012-05-02)\n------------------\n\n- Make formlib support optional. This is not included by default. If\n you whish to use formlib, you need to include the extra ``form`` for\n ``five.grok``. Example: ``five.grok [form] >= 1.3.1``.\n\n- Fix the redirect method to properly work. Unlike in Zope 3, it\n doesn't support trusted.\n\n1.3.0 (2011-11-07)\n------------------\n\n- Clean up code, update dependencies and tests, this release only\n works with Zope 2.13. [thefunny42]\n\n\n1.2.0 (2011-01-22)\n------------------\n\n- Require five.formlib for Zope 2.13 compatibility. This requires Zope 2.12.3\n or later.\n [elro]\n\n1.1.2 (2010-08-04)\n------------------\n\n- Fixed problem with unrestrictedTraverse() and files in subfolders of grokked\n resource directories. This fix also depends on fixes in Zope 2.12.6 or\n later.\n [optilude]\n\n1.1.1 (2010-02-04)\n------------------\n\n- Fix namespace override in ZopeTwoPageTemplate, i.e. let users\n override 'view' for instance using the namespace method of a Grok\n view class. This bug was introduced in the 1.1 release.\n [thefunny42]\n\n\n1.1 (2009-11-16)\n----------------\n\n- Update code and tests to work with Zope 2.12. People using Zope 2.10\n and 2.11 should keep using five.grok 1.0.\n [thefunny42 and optilude]\n\n- Update to martian 0.11.1, `grokcore.annotation`_ 1.1 and\n `grokcore.site`_ 1.1, `grokcore.view`_ to 1.12.2.\n [vincentfretin]\n\n- Local utility implements IAttributeAnnotatable, IContext like in\n `grokcore.site`_.\n [thefunny42]\n\n\n1.0 (2009-09-17)\n----------------\n\n- Define an IFiveGrokAPI.\n [thefunny42]\n\n- Fix the broken ``url`` method on views.\n [thefunny42]\n\n- Reverted the CodeView base class, see grokcore.view changelog for\n more details.\n ``CodeView`` is still available as a backwards compatibility alias\n for ``View``. Please update all references to ``CodeView`` to\n ``View``.\n [vincentfretin]\n\n\n1.0b2 (2009-07-21)\n------------------\n\n- Added dependency on grokcore.view 1.9, grokcore.viewlet 1.1 and\n grokcore.formlib 1.2, and support for the new CodeView from grokcore.View.\n [optilude]\n\n\n1.0b1 (2009-06-30)\n------------------\n\n- Added support for annotations with `grokcore.annotation`_.\n [thefunny42]\n\n- Added support for local site and utilities with `grokcore.site`_.\n [thefunny42]\n\n- Fix grok.EditForm when used with grokcore.formlib 1.1.\n The Apply action was gone.\n [thefunny42]\n\n- Let static resource directories allow access to unprotected subattributes\n to avoid authorisation problems when accessing them from protected code.\n [optilude]\n\n- Do not create static resource directories if the 'static' directory does\n not actually exist.\n [optilude]\n\n\n1.0a2 (2008-11-23)\n------------------\n\n- Added support for viewlets with `grokcore.viewlet`_.\n [thefunny42]\n\n- Added support for the DirectoryResource component (new in\n `grokcore.view`_ 1.2).\n [thefunny42]\n\n- Added support for using Zope 2 templates by default when doing ``from\n five import grok`` and using grok.PageTemplateFile (being consistent\n with grok.PageTemplate).\n [thefunny42]\n\n- Added a convenient grok.Container.\n [thefunny42]\n\n- Fix AutoFields (and form grokker) not to include OFS Zope 2 defined\n fields by default. This use to add a lot of buggy and wanted\n fields.\n [thefunny42]\n\n\n1.0a1 (2008-10-22)\n------------------\n\n- Added support for formlib forms with `grokcore.formlib`_.\n [thefunny42]\n\n- Added support for static resource directory.\n [thefunny42]\n\n- Added support for inline templates and made Zope 2 template semantics\n the default when doing ``from five import grok`` and using\n grok.PageTemplate.\n [optilude]\n\n- Added override to make templates use Five's ViewPageTemplateFile instead\n of the one from zope.app.pagetemplate.\n [optilude]\n\n- Added `grokcore.view`_ support with tests.\n [regebro, jfroche, gotcha et al.]\n\n- Added tests for grok.subscriber directive.\n [kamon]\n\n- Initial release (tests for adapters and utilities, initial support for\n views).\n [regebro, gotcha]\n\n.. _grokcore.annotation: http://pypi.python.org/pypi/grokcore.annotation\n.. _grokcore.site: http://pypi.python.org/pypi/grokcore.site\n.. _grokcore.view: http://pypi.python.org/pypi/grokcore.view\n.. _grokcore.viewlet: http://pypi.python.org/pypi/grokcore.viewlet\n.. _grokcore.formlib: http://pypi.python.org/pypi/grokcore.formlib\n",
"bugtrack_url": null,
"license": "ZPL",
"summary": "Grok-like layer for Zope",
"version": "3.0",
"project_urls": {
"Homepage": "https://github.com/zopefoundation/five.grok"
},
"split_keywords": [
"zope",
"grok"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7ceed3b4e7684708c91c4d5e5d3dba158288649857a78526d4d8175a16511d16",
"md5": "b7387648262aa2ee0be5582640285fc0",
"sha256": "a48a607fb1ccdef0e15cee217949863c3061c61db922505cb04083283f76ca30"
},
"downloads": -1,
"filename": "five.grok-3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b7387648262aa2ee0be5582640285fc0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 46706,
"upload_time": "2023-06-29T05:59:33",
"upload_time_iso_8601": "2023-06-29T05:59:33.321770Z",
"url": "https://files.pythonhosted.org/packages/7c/ee/d3b4e7684708c91c4d5e5d3dba158288649857a78526d4d8175a16511d16/five.grok-3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "73bd7615fcfd7a68e713ff349c7b3b2fd60b9ffa2305b11993c18f9f5e8b3e81",
"md5": "1d1d675583bf695fcd9fd1b1c3cf2331",
"sha256": "4cb4977df870a939f06acd3f6341d64a5695e4ebe446e2e1b684a7588c496ab5"
},
"downloads": -1,
"filename": "five.grok-3.0.tar.gz",
"has_sig": false,
"md5_digest": "1d1d675583bf695fcd9fd1b1c3cf2331",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 29757,
"upload_time": "2023-06-29T05:59:35",
"upload_time_iso_8601": "2023-06-29T05:59:35.303090Z",
"url": "https://files.pythonhosted.org/packages/73/bd/7615fcfd7a68e713ff349c7b3b2fd60b9ffa2305b11993c18f9f5e8b3e81/five.grok-3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-29 05:59:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zopefoundation",
"github_project": "five.grok",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "five.grok"
}