Introduction
============
This package provides an view which traverses to the first item found in an
ordered container. If the default view of the item, which the traverse view is
traversing to is also a traverse view, the traversing happens again to the next
sub-sub-item in the sub-folder, if possible.
The traversing/redirection is only done for users who are not allowed to see
the folder listing of the current context (usally anonymous users and normal
members). For users with higher permissions, a folder contents view is shown.
This way, members can easily edit the folder without being redirected to
another folder.
collective.folderishtraverse is an alternative to a default page in Plone. The
difference is, that the target content is shown in the navigation tree and that
traversing to any nested content in any level of the tree's hierarchy is
possible.
Author
======
Johannes Raggam, BlueDynamics Alliance <raggam-nl@adm.at>
Changes
=======
2.0 (2024-12-08)
----------------
- Let editors also traverse to the right context.
There is a new "EDITOR_TRAVERSE" option, set per default to "True".
When "True", editors are also redirected to the first accessible content item
in a folder. If set to "False", editors are redirected to the folder contents
view.
I think showing the folder contents view is confusing and not necessary
anymore, therefore this breaking change.
In the next major release this feature will be removed alltogether.
Currently the "EDITOR_TRAVERSE" option is a module constant in
"collective.folderishtraverse.browser.traverse_view" - if needed this can be
changed to a registry entry.
[thet]
1.2 (2024-12-08)
----------------
- When redirecting, set a 302 status header and the redirection url.
This makes the redirection not only a standard one, but allows also
redirections on AJAX requests.
[thet]
1.11 (2022-11-15)
-----------------
- Improve readability of traverse_view
[jensens]
- Add browser-layer
[jensens]
- Add basic testing.
[jensens]
- Add integrated buildout for easier development.
[jensens]
1.10 (2015-07-15)
-----------------
- normalize non-readable boolean expression.
[jensens]
- Dont cache on instance to reduce write on reads.
Cache volatile for 60min instead.
[jensens]
- On traversing, don't check for the ``published`` workflow state but for
content permissions.
[thet]
- Use the plone.app.contenttypes folder listing view as fallback view, if
available.
[thet]
1.9 (2014-06-03)
----------------
- Add simplified Chinese translations.
[jianaijun]
- Change permission needed to not beeing redirected to the first content item
from ``List folder contents`` to ``Add portal content``. This is a better
default, as only editors need not beeing redirected to be able to add and
edit content.
[thet]
1.8 (2014-05-02)
----------------
- Added Chinese Simplified translation.
[jianaijun]
- Register views more generally to also support Dexterity based folderish
types.
[thet]
1.7 (2014-02-03)
----------------
- Redirect not only for anonymous users but all users not having the "List
folder contents" permission on contexts with "traverse_view" enabled.
[thet]
1.6.3 (2013-11-23)
------------------
- If no translation is found for a content item which' language doesn't match,
continue with the next object in the folder instead of redirecting to the
folder_summary_view.
[thet]
1.6.2 (2013-04-23)
------------------
- Add "en" and "de" translations.
[thet]
1.6.1 (2013-01-28)
------------------
- Do not try to translate object if no lang set.
[rnix]
1.6 (2013-01-14)
----------------
- Consider translation in traverse_view if LinguaPlone is installed.
[rnix]
- Add z3c.autoinclude.plugin entry point.
[thet]
1.5.1 (2012-12-18)
------------------
- Use ``zExceptions.Redirect`` instead of ``request.response.redirect`` in
traverse view. The Redirect exception redirects immediately instead of
rendering the current page and submitting a transaction.commit() first.
[rnix]
1.5 (2012-12-11)
----------------
- Add ``NON_TRAVERSE_FALLBACK_VIEW``. May be patched if fallback view for
``folder_contents`` should differ from ``folder_summary_view``.
[rnix]
- Check non-traversing fallback view against ``List folder contents``
permission instead of anonymous.
[rnix]
1.4 (2012-11-25)
----------------
- Show the "Display" content-menu also in the folder contents view on the Plone
Site Root. The "Actions" menu is not displayed yet, since object_buttons are
not registered for the Plone Site Root (copy, cut, rename and delete wouldn't
make much sense on the portal object itself).
[thet]
1.3 (2012-11-22)
----------------
- Show the Actions and Display content-menus also in folder content views.
Allows Action submenu items like from c.folderorder and setting the display
to something else than traverse_view.
[thet]
- Add statusmessage for when displaying the traverse_view for non-anonymous
users.
[thet]
- When no endpoint is found, redirect to folder_summary_view for anonymous
users. folder_contents needs higher permissions.
[thet]
1.2 (2012-11-07)
----------------
- For non-anonymous users or if no endpoint was found, redirect to
folder_contents. This view is generally nicer and more usable.
[thet]
1.1 (2012-02-20)
----------------
- Allow the traverse_view also on the Plone Site itself.
[thet]
1.0 (2012-02-02)
----------------
- Initial release
Raw data
{
"_id": null,
"home_page": "http://github.com/collective/collective.forlderishtraverse",
"name": "collective.folderishtraverse",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "plone view",
"author": "Johannes Raggam",
"author_email": "thetetet@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/61/be/11d2e816198b0d68979d1f1e092aeca19d1d8a495e8e1fe14375ab867a82/collective_folderishtraverse-2.0.tar.gz",
"platform": null,
"description": "Introduction\n============\n\nThis package provides an view which traverses to the first item found in an\nordered container. If the default view of the item, which the traverse view is\ntraversing to is also a traverse view, the traversing happens again to the next\nsub-sub-item in the sub-folder, if possible.\n\nThe traversing/redirection is only done for users who are not allowed to see\nthe folder listing of the current context (usally anonymous users and normal\nmembers). For users with higher permissions, a folder contents view is shown.\nThis way, members can easily edit the folder without being redirected to\nanother folder.\n\ncollective.folderishtraverse is an alternative to a default page in Plone. The\ndifference is, that the target content is shown in the navigation tree and that\ntraversing to any nested content in any level of the tree's hierarchy is\npossible.\n\nAuthor\n======\n\nJohannes Raggam, BlueDynamics Alliance <raggam-nl@adm.at>\n\nChanges\n=======\n\n2.0 (2024-12-08)\n----------------\n\n- Let editors also traverse to the right context.\n\n There is a new \"EDITOR_TRAVERSE\" option, set per default to \"True\".\n When \"True\", editors are also redirected to the first accessible content item\n in a folder. If set to \"False\", editors are redirected to the folder contents\n view.\n\n I think showing the folder contents view is confusing and not necessary\n anymore, therefore this breaking change.\n\n In the next major release this feature will be removed alltogether.\n\n Currently the \"EDITOR_TRAVERSE\" option is a module constant in\n \"collective.folderishtraverse.browser.traverse_view\" - if needed this can be\n changed to a registry entry.\n\n [thet]\n\n\n1.2 (2024-12-08)\n----------------\n\n- When redirecting, set a 302 status header and the redirection url.\n This makes the redirection not only a standard one, but allows also\n redirections on AJAX requests.\n [thet]\n\n\n1.11 (2022-11-15)\n-----------------\n\n- Improve readability of traverse_view\n [jensens]\n\n- Add browser-layer\n [jensens]\n\n- Add basic testing.\n [jensens]\n\n- Add integrated buildout for easier development.\n [jensens]\n\n1.10 (2015-07-15)\n-----------------\n\n- normalize non-readable boolean expression.\n [jensens]\n\n- Dont cache on instance to reduce write on reads.\n Cache volatile for 60min instead.\n [jensens]\n\n- On traversing, don't check for the ``published`` workflow state but for\n content permissions.\n [thet]\n\n- Use the plone.app.contenttypes folder listing view as fallback view, if\n available.\n [thet]\n\n\n1.9 (2014-06-03)\n----------------\n\n- Add simplified Chinese translations.\n [jianaijun]\n\n- Change permission needed to not beeing redirected to the first content item\n from ``List folder contents`` to ``Add portal content``. This is a better\n default, as only editors need not beeing redirected to be able to add and\n edit content.\n [thet]\n\n\n1.8 (2014-05-02)\n----------------\n\n- Added Chinese Simplified translation.\n [jianaijun]\n\n- Register views more generally to also support Dexterity based folderish\n types.\n [thet]\n\n1.7 (2014-02-03)\n----------------\n\n- Redirect not only for anonymous users but all users not having the \"List\n folder contents\" permission on contexts with \"traverse_view\" enabled.\n [thet]\n\n\n1.6.3 (2013-11-23)\n------------------\n\n- If no translation is found for a content item which' language doesn't match,\n continue with the next object in the folder instead of redirecting to the\n folder_summary_view.\n [thet]\n\n\n1.6.2 (2013-04-23)\n------------------\n\n- Add \"en\" and \"de\" translations.\n [thet]\n\n\n1.6.1 (2013-01-28)\n------------------\n\n- Do not try to translate object if no lang set.\n [rnix]\n\n\n1.6 (2013-01-14)\n----------------\n\n- Consider translation in traverse_view if LinguaPlone is installed.\n [rnix]\n\n- Add z3c.autoinclude.plugin entry point.\n [thet]\n\n\n1.5.1 (2012-12-18)\n------------------\n\n- Use ``zExceptions.Redirect`` instead of ``request.response.redirect`` in\n traverse view. The Redirect exception redirects immediately instead of\n rendering the current page and submitting a transaction.commit() first.\n [rnix]\n\n\n1.5 (2012-12-11)\n----------------\n\n- Add ``NON_TRAVERSE_FALLBACK_VIEW``. May be patched if fallback view for\n ``folder_contents`` should differ from ``folder_summary_view``.\n [rnix]\n\n- Check non-traversing fallback view against ``List folder contents``\n permission instead of anonymous.\n [rnix]\n\n\n1.4 (2012-11-25)\n----------------\n\n- Show the \"Display\" content-menu also in the folder contents view on the Plone\n Site Root. The \"Actions\" menu is not displayed yet, since object_buttons are\n not registered for the Plone Site Root (copy, cut, rename and delete wouldn't\n make much sense on the portal object itself).\n [thet]\n\n\n1.3 (2012-11-22)\n----------------\n\n- Show the Actions and Display content-menus also in folder content views.\n Allows Action submenu items like from c.folderorder and setting the display\n to something else than traverse_view.\n [thet]\n\n- Add statusmessage for when displaying the traverse_view for non-anonymous\n users.\n [thet]\n\n- When no endpoint is found, redirect to folder_summary_view for anonymous\n users. folder_contents needs higher permissions.\n [thet]\n\n\n1.2 (2012-11-07)\n----------------\n\n- For non-anonymous users or if no endpoint was found, redirect to\n folder_contents. This view is generally nicer and more usable.\n [thet]\n\n\n1.1 (2012-02-20)\n----------------\n\n- Allow the traverse_view also on the Plone Site itself.\n [thet]\n\n\n1.0 (2012-02-02)\n----------------\n\n- Initial release\n",
"bugtrack_url": null,
"license": "GPL",
"summary": "Traverse to first item in folder",
"version": "2.0",
"project_urls": {
"Homepage": "http://github.com/collective/collective.forlderishtraverse"
},
"split_keywords": [
"plone",
"view"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fbcaa97d9ba12a3dfd70279c807100db68097b6a0969f25cc38e562275ea2926",
"md5": "126edbe52a0e9375e0cb2a0b5c22c5f2",
"sha256": "56909e41988d791901812d357c0f84320b380ecbaa5de3725178201b817eefa8"
},
"downloads": -1,
"filename": "collective.folderishtraverse-2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "126edbe52a0e9375e0cb2a0b5c22c5f2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 29363,
"upload_time": "2024-12-08T22:37:45",
"upload_time_iso_8601": "2024-12-08T22:37:45.054129Z",
"url": "https://files.pythonhosted.org/packages/fb/ca/a97d9ba12a3dfd70279c807100db68097b6a0969f25cc38e562275ea2926/collective.folderishtraverse-2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "61be11d2e816198b0d68979d1f1e092aeca19d1d8a495e8e1fe14375ab867a82",
"md5": "6d749c2e52fb6afa8d4f47c956f611d5",
"sha256": "c1412b5c6e5c3a7399d918e828edcc171b724ed572fd33e126f4531e163ebff2"
},
"downloads": -1,
"filename": "collective_folderishtraverse-2.0.tar.gz",
"has_sig": false,
"md5_digest": "6d749c2e52fb6afa8d4f47c956f611d5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21287,
"upload_time": "2024-12-08T22:37:46",
"upload_time_iso_8601": "2024-12-08T22:37:46.909393Z",
"url": "https://files.pythonhosted.org/packages/61/be/11d2e816198b0d68979d1f1e092aeca19d1d8a495e8e1fe14375ab867a82/collective_folderishtraverse-2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-08 22:37:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "collective",
"github_project": "collective.forlderishtraverse",
"github_not_found": true,
"lcname": "collective.folderishtraverse"
}