{"id":21614711,"url":"https://github.com/eea/eea.facetednavigation","last_synced_at":"2025-04-09T20:15:48.091Z","repository":{"id":2351659,"uuid":"3314548","full_name":"eea/eea.facetednavigation","owner":"eea","description":"Faceted Navigation for Plone Classic","archived":false,"fork":false,"pushed_at":"2024-05-08T12:37:38.000Z","size":6204,"stargazers_count":21,"open_issues_count":26,"forks_count":56,"subscribers_count":96,"default_branch":"develop","last_synced_at":"2025-04-09T20:15:37.598Z","etag":null,"topics":["faceted-search","plone","plone-addon","plone4x","plone5x"],"latest_commit_sha":null,"homepage":"http://eea.github.com/docs/eea.facetednavigation","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eea.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-01-31T12:30:04.000Z","updated_at":"2025-02-05T14:09:09.000Z","dependencies_parsed_at":"2023-07-05T19:16:57.584Z","dependency_job_id":"a2e2d542-34b6-48d3-9203-8b132e791819","html_url":"https://github.com/eea/eea.facetednavigation","commit_stats":{"total_commits":1170,"total_committers":99,"mean_commits":"11.818181818181818","dds":0.8760683760683761,"last_synced_commit":"2199207b77f27aa38e17a9fd0357cde7418659aa"},"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Feea.facetednavigation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Feea.facetednavigation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Feea.facetednavigation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eea%2Feea.facetednavigation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eea","download_url":"https://codeload.github.com/eea/eea.facetednavigation/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103871,"owners_count":21048245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["faceted-search","plone","plone-addon","plone4x","plone5x"],"created_at":"2024-11-24T22:09:04.554Z","updated_at":"2025-04-09T20:15:48.021Z","avatar_url":"https://github.com/eea.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"======================\nEEA Faceted Navigation\n======================\n.. image:: https://ci.eionet.europa.eu/buildStatus/icon?job=eea/eea.facetednavigation/develop\n  :target: https://ci.eionet.europa.eu/job/eea/job/eea.facetednavigation/job/develop/display/redirect\n  :alt: Develop\n.. image:: https://ci.eionet.europa.eu/buildStatus/icon?job=eea/eea.facetednavigation/master\n  :target: https://ci.eionet.europa.eu/job/eea/job/eea.facetednavigation/job/master/display/redirect\n  :alt: Master\n\nThe EEA Faceted Navigation **(FacetedNav)** gives you a\n**very powerful interface to improve search within large collections of items.**\nNo programming skills are required by the website manager to configure the\nfaceted navigation interface, configuration is done TTW.\nIt lets you gradually select and explore different facets (metadata/properties)\nof the site content and narrow down you search quickly and dynamically.\n\nOn the contrary, plone collections are static, in a way that the site admin\ndecides the search criteria and the end user is not able to further sort or\nfilter the presented results.\n\n**FacetedNav is fully customizable**, site admin may decide that some criteria\n(facets) must have fixed values while other may be presented as filter options\nto the web visitor.\n\n**FacetedNav may very well replace the standard collection content type**, since\nit covers same functionality and it adds a lot more features.\n\n**FacetedNav can also be used as an advanced search for your Plone Classic site**.\n\n.. contents::\n\nUpgrade to version 16.0+\n========================\n* **Version 16.x** is **NOT** backward compatible and **it works only** with **Python 3 / Plone 5+**\n* If you're upgrading from a lower version, please first install and upgrade to `version 15.x`` then install and upgrade to `version 16+`\n* Upgraded the default faceted view/edit layout to **Bootstrap Grid** and **Bootstrap Card**. Thus, you will need to **adjust your theme** before pushing this version to production.\n* Within **Plone \u003e Site setup \u003e Add-ons** click on upgrade button available for `EEA Faceted Navigation`\n\nUpgrade to version 15.0+\n========================\n* **Version 15.x** is the latest **Python 2 / Plone 4** backward compatible.\n* Within \"Plone \u003e Site setup \u003e Add-ons\" click on upgrade button available for `EEA Faceted Navigation`\n* **Plone4:** After running the upgrade step, check CSS/JS order within `ZMI \u003e portal_css / portal_javascript`\n\nUpgrade to version 10.0+\n========================\n* Within \"Plone \u003e Site setup \u003e Add-ons\" click on upgrade button available for\n  EEA Faceted Navigation;\n* Only if the above step didn't work for you. Within \"Plone \u003e Site setup \u003e Add-ons\"\n  uninstall EEA Faceted Navigation and Install it again;\n* If you have third-party Faceted Navigation Widgets (registered outside\n  eea.facetednavigation package) you will need to upgrade them to z3c.form\n  and explicitly register JS/CSS resources within registry.xml/cssregistry.xml/jsregistry,xml\n  Take `faceted text widget \u003chttps://github.com/collective/eea.facetednavigation/tree/master/eea/facetednavigation/widgets/text\u003e`_  as an example;\n\nMain features\n=============\nIt comes with plenty of configuration options and features like:\n\n1. Easy customizable GUI via drag-n-drop, no restart needed.\n2. Facets can be set to fixed default values and hidden.\n3. Facets can be placed in standard search or extended search panels,\n   to not intimidate novice users and have cleaner interface\n4. Facets can be displayed via several widgets like select, radio,\n   text input, tag cloud, date range and more\n5. Expandable and collapsible widgets with many values\n6. Automatically counts number of content items beside each facet value\n7. Possibility to show or hide the options with zero results\n   (show only the facets which return content)\n8. Ability to create your custom content types definition to be used as a\n   combination of interface and portal type, presented in a single widget.\n9. Export of search result in RSS.\n10. Pleasant user interface based on Ajax JQuery, implemented with \"deep linking\",\n    so bookmarking a faceted query works, browser history supported.\n11. Export / Import of faceted settings as XML. Useful to replicate same facets\n    navigation on another site.\n12. Search engine friendly, disabling javascript acts as a normal collection\n    batch list.\n13. Synchronization of settings across multiple languages, I18N support.\n14. High performance by caching faceted catalog queries via `distributed memory\n    object caching system: memcached \u003chttp://www.danga.com/memcached/\u003e`_\n15. Smart facets hiding - hide facets criteria if there is only one page of\n    results (This can be explicitly disabled/enabled from version 4.6.\n    It is also disabled by default for new faceted navigable pages starting\n    with version 5.2)\n16. Ability to transform faceted navigable items in search forms by\n    putting them in the 'search mode' (starting with version 4.6)\n17. Ability to enable/disable Plone portlets left and right columns within\n    faceted navigable contexts (starting with version 4.1. Both disabled by\n    default for new faceted navigable pages starting with version 5.2)\n\nInstall\n=======\n\n* With pip::\n\n    bin/pip install eea.facetednavigation\n\n* Try it with docker::\n\n    docker run --rm -p 8080:8080 -e SITE=\"Plone\" -e ADDONS=\"eea.facetednavigation\" -e PROFILES=\"eea.facetednavigation:default\" plone/plone-backend\n\n* Login to http://localhost:8080/Plone/login (`admin:admin`)\n* Install `EEA Faceted Navigation`` via `Site Setup \u003e Add-ons`\n\nDevelop\n=======\n\n* See `DEVELOP.md \u003chttps://github.com/eea/eea.facetednavigation/blob/master/DEVELOP.md\u003e`_\n\nGetting started\n===============\n\n* Go to `Site Setup \u003e Content Types` and select `Page`\n* Go to `Behaviors` and enable `Faceted navigable` behavior\n* Go to your working space and add a `Page` and within `Actions` menu click on `Enable faceted navigation`.\n\nFaceted settings\n================\n\n**Faceted settings** is a menu that appears once you enable Faceted navigation\nwithin your context next to the **Actions** menu and it allows you to perform\nthe following actions:\n\nConfigure\n---------\nConfigure Faceted Navigation TTW.\n\nEnable/disable left portlets\n----------------------------\nThis allows you to gain more space for faceted navigation pages by disabling\nPlone portlets left column.\n\nDefault: **disabled** (*starting with version 5.2*)\n\nEnable/disable right portlets\n-----------------------------\nThis allows you to gain more space for faceted navigation pages by disabling\nPlone portlets right column.\n\nDefault: **disabled** (*starting with version 5.2*)\n\nEnable/disable smart facets hiding\n----------------------------------\nHide facets criteria if there is only one page of results.\n\nDefault: **disabled** (*starting with version 5.2*)\n\nAutocomplete widget\n===================\n\nSetup\n-----\n\nYou can enhance and boost search by replacing **ZCatalog** with **Apache Solr**, see `collective.solr`_. Thus:\n\n* Add **collective.solr** to your `requirements.txt` and `constraints.txt`::\n\n    bin/pip install collective.solr\n\n* Start solr::\n\n    $ docker run -p 8983:8983 eeacms/solr\n\n* Install **collective.solr** within **Site Setup \u003e Add-ons**\n\n* **Setup and reindex** Solr within **Site Setup \u003e Solr settings**\n\n* Add or replace **Text** widgets with **Text field with suggestions** within your faceted enabled items.\n\ni18n\n----\n\nTo include a specific select2 locale, French for instance, just import it to your webpack bundle and make the bundle depend on `plone`::\n\n    import 'select2/select2_locale_fr';\n\n\nSuggestions\n-----------\n\nYou can add a new autocomplete source by registering a IAutocompleteSuggest browser view, you can see an example in\n`eea/facetednavigation/tests/autocomplete.py \u003chttps://github.com/eea/eea.facetednavigation/blob/master/eea/facetednavigation/tests/autocomplete.py\u003e`_ and\n`eea/facetednavigation/tests/autocomplete.zcml \u003chttps://github.com/eea/eea.facetednavigation/blob/master/eea/facetednavigation/tests/autocomplete.zcml\u003e`_\n\nYou also need to configure Solr to include **/suggest** requestHandler. Within your **solrconfig.xml** add::\n\n    \u003c!-- eea.facetednavigation autocomplete --\u003e\n    \u003csearchComponent name=\"suggest\" class=\"solr.SpellCheckComponent\"\u003e\n      \u003clst name=\"spellchecker\"\u003e\n        \u003cstr name=\"name\"\u003esuggest\u003c/str\u003e\n        \u003cstr name=\"classname\"\u003eorg.apache.solr.spelling.suggest.Suggester\u003c/str\u003e\n        \u003cstr name=\"lookupImpl\"\u003eorg.apache.solr.spelling.suggest.fst.WFSTLookupFactory\u003c/str\u003e\n        \u003cstr name=\"field\"\u003eTitle\u003c/str\u003e\n        \u003cfloat name=\"threshold\"\u003e0.005\u003c/float\u003e\n        \u003cstr name=\"buildOnCommit\"\u003etrue\u003c/str\u003e\n      \u003c/lst\u003e\n    \u003c/searchComponent\u003e\n\n    \u003crequestHandler name=\"/suggest\" class=\"org.apache.solr.handler.component.SearchHandler\"\u003e\n      \u003clst name=\"defaults\"\u003e\n        \u003cstr name=\"spellcheck\"\u003etrue\u003c/str\u003e\n        \u003cstr name=\"spellcheck.dictionary\"\u003esuggest\u003c/str\u003e\n        \u003cstr name=\"spellcheck.count\"\u003e10\u003c/str\u003e\n        \u003cstr name=\"spellcheck.onlyMorePopular\"\u003etrue\u003c/str\u003e\n        \u003cstr name=\"wt\"\u003exml\u003c/str\u003e\n      \u003c/lst\u003e\n      \u003carr name=\"components\"\u003e\n        \u003cstr\u003esuggest\u003c/str\u003e\n      \u003c/arr\u003e\n    \u003c/requestHandler\u003e\n\n\nExtra\n=====\nYou can extend faceted navigation functionality by installing the following add-ons:\n\n* Enhanced text search with autocompletion support\n\n  - `collective.solr`_\n\n* Customized vocabularies\n\n  - `collective.taxonomy \u003chttps://github.com/collective/collective.taxonomy\u003e`_\n  - `Products.ATVocabularyManager \u003chttps://pypi.org/project/Products.ATVocabularyManager\u003e`_ (Plone 4)\n\n* Multilingual/translation solution\n\n  - `plone.app.multilingual \u003chttps://pypi.org/project/plone.app.multilingual/\u003e`_\n  - `Products.LinguaPlone \u003chttps://pypi.org/project/Products.LinguaPlone/\u003e`_ (Plone 3 \u0026 4)\n\n* Cache (memcache)\n\n  - `eea.cache \u003chttps://github.com/eea/eea.cache\u003e`_\n\n* Relations\n\n  - `eea.relations \u003chttps://pypi.org/project/eea.relations\u003e`_ (Plone 4)\n\n* Extensions\n\n  - `eea.faceted.inheritance \u003chttps://pypi.org/project/eea.faceted.inheritance\u003e`_\n  - `eea.facetednavigationtaxonomiccheckbox \u003chttps://pypi.org/project/eea.facetednavigationtaxonomiccheckbox\u003e`_\n  - `collective.eeafaceted.collectionwidget \u003chttps://pypi.org/project/collective.eeafaceted.collectionwidget\u003e`_\n  - `collective.eeafaceted.layoutwidget \u003chttps://pypi.org/project/collective.eeafaceted.layoutwidget\u003e`_\n  - `collective.eeafaceted.batchactions \u003chttps://pypi.org/project/collective.eeafaceted.batchactions\u003e`_\n  - `collective.eeafaceted.dashboard \u003chttps://pypi.org/project/collective.eeafaceted.dashboard\u003e`_\n  - `collective.eeafaceted.z3ctable \u003chttps://pypi.org/project/collective.eeafaceted.z3ctable\u003e`_\n  - `collective.faceted.datewidget \u003chttps://pypi.org/project/collective.faceted.datewidget/\u003e`_\n  - `collective.geo.faceted \u003chttps://pypi.org/project/collective.geo.faceted/\u003e`_\n  - `collective.contact.facetednav \u003chttps://pypi.org/project/collective.contact.facetednav\u003e`_\n\n* Themes\n\n  - `eea.faceted.blue \u003chttps://pypi.org/project/eea.faceted.blue/\u003e`_ (Plone 4)\n\nDiazo\n=====\n\nTo gain performance, you can disable diazo theme on faceted results ajax requests.\nGo to \"configuration registry\" on control panel, select the key \"Disable diazo rules on ajax requests\"\nand set it True. Be sure you do not actually need it.\n\n\nLive demo\n=========\n\n- `EEA Publications \u003chttps://www.eea.europa.eu/publications\u003e`_\n- `EEA Multimedia \u003chttps://www.eea.europa.eu/multimedia/all-videos\u003e`_\n- `University of Minnesota - Explore Books \u003chttp://upress.umn.edu/explore\u003e`_\n- `The Mountaineers \u003chttps://mountaineers.org/explore/activities\u003e`_\n\n\nSource code\n===========\n\n- `Plone 2 and 3 on github \u003chttps://github.com/eea/eea.facetednavigation/tree/plone3\u003e`_\n- `Plone 4 on github \u003chttps://github.com/eea/eea.facetednavigation/tree/plone4\u003e`_\n- `Plone 5+ on github \u003chttps://github.com/eea/eea.facetednavigation\u003e`_\n\n\nEggs repository\n===============\n\n- https://pypi.python.org/pypi/eea.facetednavigation\n- http://eggrepo.eea.europa.eu/simple\n\n\nPlone versions\n==============\nIt has been developed and tested for Plone `2`, `3`, `4`, `5` and `6`.\n\n\nHow to contribute\n=================\nSee the `contribution guidelines (CONTRIBUTING.md) \u003chttps://github.com/eea/eea.facetednavigation/blob/master/CONTRIBUTING.md\u003e`_.\n\nOther resources\n===============\n\n- `Faceted navigation pattern \u003chttp://www.welie.com/patterns/showPattern.php?patternID=faceted-navigation\u003e`_\n- `Exhibit \u003chttp://www.simile-widgets.org/exhibit/\u003e`_ Client based faceted navigation via javascript\n\nCopyright and license\n=====================\n\nThe EEA Faceted Navigation (the Original Code) is free software; you can\nredistribute it and/or modify it under the terms of the\nGNU General Public License as published by the Free Software Foundation;\neither version 2 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\nor FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\nfor more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc., 59\nTemple Place, Suite 330, Boston, MA 02111-1307 USA.\n\nThe Initial Owner of the Original Code is European Environment Agency (EEA).\nPortions created by Eau de Web are Copyright (C) 2009 by\nEuropean Environment Agency. All Rights Reserved.\n\n\nFunding\n=======\n\nEEA_ - European Environment Agency (EU)\n\n.. _EEA: https://www.eea.europa.eu/\n.. _`collective.solr`:  https://github.com/collective/collective.solr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Feea.facetednavigation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feea%2Feea.facetednavigation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feea%2Feea.facetednavigation/lists"}