{ "info": { "author": "Jens W. Klein", "author_email": "jk@kleinundpartner.at", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.2", "Framework :: Plone :: Addon", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.\n If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html\n This text does not appear on pypi or github. It is a comment.\n\n==============================================================================\nplone.app.multilingualindexes\n==============================================================================\n\n.. image:: https://travis-ci.org/plone/plone.app.multilingualindexes.svg?branch=master\n :target: https://travis-ci.org/plone/plone.app.multilingualindexes\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/python/black\n\n.. image:: https://coveralls.io/repos/github/plone/plone.app.multilingualindexes/badge.svg?branch=master\n :target: https://coveralls.io/github/plone/plone.app.multilingualindexes?branch=master\n\nIndexes optimized to query multilingual content made with plone.app.multilingual.\n\nFeatures\n--------\n\n``tgpath`` Index (Translation Group Path)\n Utility and index to get the path of an item as UUIDs of its translationgroup.\n\n``language_or_fallback`` Index\n Index to query items and get one fallback if not available in the current language.\n Fallbacks can be configured in control-panel and are stored in the registry.\n\nIntegration with ``Collections``\n Both indexes are available in Collections and other places using ``plone.app.querystring`` under the hood.\n Both indexes do only need activation.\n\n ``tgpath`` is available as a switch ``Language independent location``.\n If this is selected, the normal path will be converted to a tgpath!\n If no path is selected this switch has no effect.\n\n .. figure:: https://raw.githubusercontent.com/plone/plone.app.multilingualindexes/master/docs/querystring_tgpath.png\n :scale: 100 %\n :alt: Querystring selection with Translationgroup path\n\n\n ``language_or_fallback`` is available as ``Fallback languages``.\n If a path is selected together with this option, the path will be converted to a ``tgpath``.\n\n If the ``tgpath`` or ``language_or_fallback`` is used in a Collection, the ``path`` will be set to the portal.\n Thus the usal automatically added fixation to the current ``INavigationRoot`` wont be set,\n because language root folders are navigation roots.\n\n .. figure:: https://raw.githubusercontent.com/plone/plone.app.multilingualindexes/master/docs/querystring_fallback.png\n :scale: 100 %\n :alt: Querystring selection with Language fallback and (optional) location.\n\n\nBehind the scenes\n-----------------\n\nFallback Index\n It is in fact a simple FieldIndex.\n Fallback detection happens on index time.\n On query time it has the same functionality and performance as the normal Language index.\n\n .. figure:: https://raw.githubusercontent.com/plone/plone.app.multilingualindexes/master/docs/querystring_fallback.png\n :scale: 100 %\n :alt: Browse the index to get a feeling what fallbacks are in there.\n\nTranslation Group Index\n It is in fact a normal ExtendendPathIndex.\n Just the path it indexes consists out of the translation group uids.\n If an item is not translatable and thus is not part of an translationgroup,\n then its normal id is taken as patyh element.\n Path example: ``/Plone/f5843e426b5d47cdb44af587b322f7ea/320b1ffbf0f64603803043d48bd57516``.\n\n In order to query the index, you need to use the translationgroup path instead of the id path::\n\n from plone.app.multilingualindexes.tgpath import tg_path\n import plone.api\n\n plone.api.content.find(\n tgpath='/'.join(tg_path(context)),\n language_or_fallback=plone.api.portal.get_current_language()\n )\n\n\nInstallation\n------------\n\nInstall plone.app.multilingualindexes by adding it to your buildout::\n\n [buildout]\n\n ...\n\n eggs =\n plone.app.multilingualindexes\n\n\nand then running ``bin/buildout``\n\n\nContribute\n----------\n\n- Issue Tracker: https://github.com/plone/plone.app.multilingualindexes/issues\n- Source Code: https://github.com/plone/plone.app.multilingualindexes\n\n\nLicense\n-------\n\nThe project is licensed under the GPLv2.\n\n\nContributors\n============\n\n- Jens W. Klein, jk@kleinundpartner.at\n- Peter Holzer, peter.holzer@agitator.com\n- Patrick Gerken, gerken@patrick-gerken.de\n\n\nChangelog\n=========\n\n2.0 (2019-07-12)\n----------------\n\n- Patch CMFCore because of https://github.com/zopefoundation/Products.CMFCore/issues/79\n [jensens]\n\n- Fix bugs on rename/move/delete (wrong fallbacks)\n [jensens]\n\n- Drop support of Plone 5.1\n [jensens]\n\n- Python 3 compatibility\n [jensens]\n\n- Refactor index to be less complex on indexing.\n [jensens]\n\n- Bugfix: Use latest plone.app.multilingual and add subscribers to ensure in-/rein-/unindexing.\n [jensens]\n\n- Fixing \"RuntimeError: the bucket being iterated changed size\" (issue #3)\n [gogobd]\n\n- Depend on ``Products.CMFPlone`` instead of ``Plone`` to not fetch unnecessary dependencies.\n [thet]\n\n\n1.0 (2016-10-15)\n----------------\n\n- Initial release.\n [jensens]\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/plone.app.multilingualindexes", "keywords": "Python Plone", "license": "GPL version 2", "maintainer": "", "maintainer_email": "", "name": "plone.app.multilingualindexes", "package_url": "https://pypi.org/project/plone.app.multilingualindexes/", "platform": "", "project_url": "https://pypi.org/project/plone.app.multilingualindexes/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/plone.app.multilingualindexes" }, "release_url": "https://pypi.org/project/plone.app.multilingualindexes/2.0/", "requires_dist": [ "Products.CMFPlone", "setuptools", "plone.app.testing ; extra == 'test'", "plone.app.multilingual[test] ; extra == 'test'", "plone.app.querystring ; extra == 'test'" ], "requires_python": "", "summary": "Multilingual Catalog Indexes for Plone", "version": "2.0" }, "last_serial": 5524149, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "0f6e352b89f609a9cf5c98c67f881838", "sha256": "aeac84e6a01193684db334c87b901717faf980557a5d341c5841dbc616947005" }, "downloads": -1, "filename": "plone.app.multilingualindexes-1.0.tar.gz", "has_sig": false, "md5_digest": "0f6e352b89f609a9cf5c98c67f881838", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 175861, "upload_time": "2016-10-15T12:39:54", "url": "https://files.pythonhosted.org/packages/2e/ca/4084576754dd7c51933a86d49c43417b78d77663460e7c67a843c0078b83/plone.app.multilingualindexes-1.0.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "83c4e485bc883f28f09779161f536536", "sha256": "d45e475073c4176a86bd7673b8af30ddbcd23e775e1b5dfb77092cb4e5f22c85" }, "downloads": -1, "filename": "plone.app.multilingualindexes-2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "83c4e485bc883f28f09779161f536536", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26583, "upload_time": "2019-07-12T17:19:21", "url": "https://files.pythonhosted.org/packages/b7/60/f7a30505dea6dbc0f74d4627d4112f4a925a6c1a76ec12ac219bf0006322/plone.app.multilingualindexes-2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cf7bcce59dfa4cbe97f0297dc47a792", "sha256": "7d00007a38cc3412056a605a8cad2dc78dfaf33c0497804fce6f0f42ce91e7e0" }, "downloads": -1, "filename": "plone.app.multilingualindexes-2.0.tar.gz", "has_sig": false, "md5_digest": "1cf7bcce59dfa4cbe97f0297dc47a792", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178044, "upload_time": "2019-07-12T17:19:23", "url": "https://files.pythonhosted.org/packages/70/15/6e35ab2f9f69386a0fe94c91d71a0a432f467c3c4089287632ad82ef47b5/plone.app.multilingualindexes-2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "83c4e485bc883f28f09779161f536536", "sha256": "d45e475073c4176a86bd7673b8af30ddbcd23e775e1b5dfb77092cb4e5f22c85" }, "downloads": -1, "filename": "plone.app.multilingualindexes-2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "83c4e485bc883f28f09779161f536536", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26583, "upload_time": "2019-07-12T17:19:21", "url": "https://files.pythonhosted.org/packages/b7/60/f7a30505dea6dbc0f74d4627d4112f4a925a6c1a76ec12ac219bf0006322/plone.app.multilingualindexes-2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cf7bcce59dfa4cbe97f0297dc47a792", "sha256": "7d00007a38cc3412056a605a8cad2dc78dfaf33c0497804fce6f0f42ce91e7e0" }, "downloads": -1, "filename": "plone.app.multilingualindexes-2.0.tar.gz", "has_sig": false, "md5_digest": "1cf7bcce59dfa4cbe97f0297dc47a792", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178044, "upload_time": "2019-07-12T17:19:23", "url": "https://files.pythonhosted.org/packages/70/15/6e35ab2f9f69386a0fe94c91d71a0a432f467c3c4089287632ad82ef47b5/plone.app.multilingualindexes-2.0.tar.gz" } ] }