The EEA Faceted Navigation (FacetedNav) gives you a
very powerful interface to improve search within large collections of items.
No programming skills are required by the website manager to configure the
faceted navigation interface, configuration is done TTW.
It lets you gradually select and explore different facets (metadata/properties)
of the site content and narrow down you search quickly and dynamically.
On the contrary, plone collections are static, in a way that the site admin
decides the search criteria and the end user is not able to further sort or
filter the presented results.
FacetedNav is fully customizable, site admin may decide that some criteria
(facets) must have fixed values while other may be presented as filter options
to the web visitor.
FacetedNav may very well replace the standard collection content type, since
it covers same functionality and it adds a lot more features.
FacetedNav can also be used as an advanced search for your Plone Classic site.
Version 16.x is NOT backward compatible and it works only with Python 3 / Plone 5+
If you’re upgrading from a lower version, please first install and upgrade to version 15.x` then install and upgrade to version 16+
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.
Within Plone > Site setup > Add-ons click on upgrade button available for EEA Faceted Navigation
Within “Plone > Site setup > Add-ons” click on upgrade button available for
EEA Faceted Navigation;
Only if the above step didn’t work for you. Within “Plone > Site setup > Add-ons”
uninstall EEA Faceted Navigation and Install it again;
If you have third-party Faceted Navigation Widgets (registered outside
eea.facetednavigation package) you will need to upgrade them to z3c.form
and explicitly register JS/CSS resources within registry.xml/cssregistry.xml/jsregistry,xml
Take faceted text widget as an example;
Smart facets hiding - hide facets criteria if there is only one page of
results (This can be explicitly disabled/enabled from version 4.6.
It is also disabled by default for new faceted navigable pages starting
with version 5.2)
Ability to transform faceted navigable items in search forms by
putting them in the ‘search mode’ (starting with version 4.6)
Ability to enable/disable Plone portlets left and right columns within
faceted navigable contexts (starting with version 4.1. Both disabled by
default for new faceted navigable pages starting with version 5.2)
Faceted settings is a menu that appears once you enable Faceted navigation
within your context next to the Actions menu and it allows you to perform
the following actions:
To gain performance, you can disable diazo theme on faceted results ajax requests.
Go to “configuration registry” on control panel, select the key “Disable diazo rules on ajax requests”
and set it True. Be sure you do not actually need it.
The EEA Faceted Navigation (the Original Code) is free software; you can
redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc., 59
Temple Place, Suite 330, Boston, MA 02111-1307 USA.
The Initial Owner of the Original Code is European Environment Agency (EEA).
Portions created by Eau de Web are Copyright (C) 2009 by
European Environment Agency. All Rights Reserved.
Upgrade step: Within “Plone > Site Setup > Add-ons” click on
upgrade button available for eea.facetednavigation.
Plone4: After running the upgrade step, check CSS/JS order
within ZMI > portal_css / portal_javascripts
[avoinea refs #231]
Cleanup: Bundle JS/CSS resource with webpack and remove individual
resource registrations
[avoinea refs #231]
Cleanup: Drop eea.jquery dependency
[avoinea refs #231]
Cleanup: Drop eea.faceted.vocabularies dependency
[avoinea refs #231]
Bug fix: Fix “test_doctests.Py23DocChecker” that was hidding failing doc
tests by wrongly testing on “want” instead on “got”.
[gbastien refs #203]
Feature: In GenericSetup import profile, take into account the “purge”
attribute at the <criterion> level like it is done at <criteria> level.
[gbastien]
Upgrade step: Within “Plone > Site Setup > Add-ons” click on
upgrade button available for eea.facetednavigation. If you still get a
JS error with autocomplete facet after this upgrade,
go to Site Setup > Resource Registries and enable, then disable
Development Mode for Faceted Bundles.
[avoinea refs #196]
Feature: Add possibility to hide Search button with solr autocomplete facet
[avoinea]
Bug fix: make sure orphans used in FacetedQueryHandler.query is an integer
when using Py3 or it turns b_size to a float value that breaks plone.batching
Fixes https://github.com/eea/eea.facetednavigation/issues/197
[gbastien]
Change: added widget-body div wrapping content of criteria and alphabetic
widget making it easier to add margin or padding to widget body
[ichim-david refs #108460]
Feature: added Faceted.Events.CLEANUP_COMPLETED event triggered after faceted
events cleanup is called
[ichim-david refs #106884]
Bug fix: The daterange widget restriction on end date must be the start date and not the day after.
The dates in range can be the same day (as before).
[sgeulette]
Feature: updated documentation for Plone 5
[alecghica]
Bug fix: fix b_start[] in @@faceted_query parameters which
resulted in double b_start: b_start[] and b_start:int.
[david-batranu refs #114]
Upgrade step: Within “Plone > Site setup > Add-ons” click on
upgrade button available for eea.facetednavigation. If this fails
uninstall EEA Faceted Navigation and Install it again
[avoinea refs #115]
Feature: make boolean index work well with radio widget.
[cedricmessiant]
Bug fix: fix faceted count when _seq is a list of tuple values instead
of ints which could happen with ZCatalog 3 within a Plone 4 site
[ichim-david refs #75384]
Change: Plone 5 full support
[avoinea #90]
Change: Dropped Archetypes dependency and upgraded to z3c.form schema.
[avoinea #87]
Change: Re-organized JS/CSS resources in bundles.
[avoinea #88]
Feature: Traditional Chinese translation updates
[l34marr]
Change: To use better sort algorithm, add b_start and b_size to query when
there are no post filters.
[vincentfretin]
Change: For ZCatalog counter queries, don’t do unnecessary sort and brains
instantiation when there are no post filters.
[vincentfretin]
Bug fix: Fix ‘This site encountered an error trying to fulfill your request’
error with autocomplete criterion when typing characters slowly and so
aborting previous requests. Set select2 params global: False to not execute
the globally registered ajaxError. This avoid to have the large spinner too.
[vincentfretin]
Bug fix: fix faceted count when _seq is a list of tuple values instead
of ints which could happen with ZCatalog 3 within a Plone 4 site
[ichim-david refs #75384]
Bug fix: Fix ‘This site encountered an error trying to fulfill your request’
error with autocomplete criterion when typing characters slowly and so
aborting previous requests. Set select2 params global: False to not execute
the globally registered ajaxError. This avoid to have the large spinner too.
[vincentfretin]
Feature: Add setting to allow the use of Plone date format and language to
render daterange widget and criteria label.
Old behavior (with format yy-mm-dd) is set by default and is still working
the same way as before to allow special years (like ‘0001’).
[laulaz refs #99]
Feature: The daterange widget automatically restricts date range in end date
calendar.
[laulaz refs #98]
Bug fix: With jquery 1.9 theres no more jquery.browser, remove the usage
of it.
[pcdummy]
Bug fix: With autocomplete select2 widget, when data value for ‘multivalued’
is imported, it is stored as ‘1’ and not as ‘True’, take this into account
in the widget, we may not use the stored value immediately.
[gbastien]
Change: The autocomplete widget now uses select2 instead of
jquery.autocomplete. It supports mono value or multi values.
This release registers select2 javascript library in portal_javascripts.
[vincentfretin]
Feature: Added classifiers in setup.py for clarity. Claim that the
package works on Plone 4.0 through 4.3, and on Python 2.6 and 2.7.
[maurits]
Bug fix: fixed MANIFEST.in file so releases are sure to contain all the
needed files.
[maurits]
Feature: read default value of widget from the request. Fallback to the
default set on the widget. For example, if you have a faceted text
widget that searches in the SearchableText index, and you have
?SearchableText=fun in the url, then the widget will show
fun as default value.
[maurits]
Bug fix: Get the correct template object for “Plone Portlet” widgets
[skurfer]
Bug fix: Infinite loop of javascript spinner after Browser refresh.
[karalics] PR #69
Bug fix: Fixed rendering issues for current search widget
[szabozo0 refs #28743]
Feature: Add field ‘autocomplete_view’ on theautocomplete widget to be able
to select the suggestion view. Register a solr suggestion view.
[sdelcourt]
Bug fix: Safely access count method on widget in order to avoid errors like:
Widget object has no attribute ‘count’ when counting non-countable widgets
[voineali refs #28781]
Feature: in the GenericSetup import step, make the “purge” parameter work
at the “criteria” level, for now it was always purged, it is now possible
to not purge and add extra criteria
[gbastien]
Feature: make boolean index work well with checkbox widget.
[cedricmessiant]
Feature: Added possibility to easily redefine default faceted widgets. Just
register a browser:page named default_widgets.xml for your interfaces. See
default.xml within eea.facetednavigation.browser.templates
[avoinea]
Upgrade step: Within “Plone > Site setup > Add-ons” click on
upgrade button available for eea.facetednavigation
Cleanup: Removed default object_provides widget for new Faceted Navigable items
[avoinea]
Change: Removed default hardcoded sorting by effective date, reversed as
this can be easily accomplished with a sorting widget. Also added an upgrade
step that adds a hidden sorting widget by effective date
(if no sorting already present) in order to keep backward compatibility.
[avoinea refs github #44]
Feature: Possibility to select sort_on and sort_order indexes within
TAL Expression field
[avoinea refs github #44]
Bug fix: Fix field default value rendering with chameleon,
avoiding use of ‘default’ name in tal, wich is a reserved keyword.
[thomasdesvenain]
Bug fix: Fix xml import of ‘0’ values for boolean properties
which were considered as True.
[thomasdesvenain]
Feature: Add a new widget : BooleanWidget
We get a checkbox widget to filter contents
which gets a true boolean value for an index (FieldIndex or BooleanIndex).
[thomasdesvenain]
Bug fix: In search mode, search results were not kept when we go back.
[thomasdesvenain]
Feature: French translations updates.
[thomasdesvenain]
Bug fix: Added translations for ‘Current filters’.
[prospchr]
Feature: Radio and checkbox widgets query for unicode or encoded strings
depending on the availability of plone.app.contenttypes. This is a
requirement to work with dexterity
[do3cc]
Feature: adding Sphinx-generated documentation in Page Template format
[batradav refs #9502]
Add ids to criteria filtering entries.
[thomasdesvenain]
Fix: Iterate on batch instead of folderContents in preview-items.pt
It previously loaded all objects instead of the only first 100 when no
criterion was given.
[vincentfretin]
Feature: Support new Collection (plone.app.collection) and
new Folder (plone.app.folder) by default
[avoinea]
Change: Disable by default for new faceted navigable pages
all the advanced settings like: smart facets hiding. Also disable Plone
portlets left/right columns. These still can be activated within the
‘Faceted settings’ menu.
[avoinea refs #24 github]
Bug fix: folder content listing when there are no search results
[hman fixes #10]
Feature: Adding new “Results Filter” widget which allows filtering the resulting
brains from a query using a tal expression, similar to the “TAL Expression” widget
[batradav]
Bug fix: Review state was fixed to published only. Let the catalog filter this.
Explanation at mailing list
Upgrade step: warning for those still using old workflows with
the infamous state ‘visible’ aka ‘Public draft’ and you want to exclude
such content from searches, than follow instructions at mailing list above.
[jensens]
Bug fix: Fixed formated_time method in daterange widget to also accept years
as valid dates
[voineali fixes #5371]
Feature: Changed the i18n keys in .pt inorder to use Google translator kit for
translations. Added new translations: bg, cs, da, el, et, fi, hu, is, lt,
lv, mt, nl, no, pt, ru, sk, sl, sv, tr
[prospchr fixes #5378]
Upgrade step: Within “Plone > Site setup > Add-ons” click on
upgrade button available for eea.facetednavigation
[voineali refs #5218]
Feature: Added ‘search’ mode for faceted navigable items. See ‘Actions’ menu.
‘search mode’ => Display no items on load, just the faceted widgets/facets
Useful when you want to replace Plone default search form with a faceted
navigable one. Also this is useful when you enable faceted navigation on
large databases.
[voineali refs #5218]
Feature: Added a way to disable ‘smart facets hiding’. See ‘Faceted settings’ menu.
‘smart facets hiding’ => facets are hidden if there is only one page of results
[voineali refs #3581]
Change: Added ‘faceted-preview-items’ View as the default view for Faceted
navigable objects instead of relaying on ‘folder_listing’ to be forever
compatible with eea.facetednavigation. This is also a more flexible solution
as you can customize each item display by providing a custom
‘faceted-preview-item’ z3 component for each of this items.
[voineali #4968]
Fixed: Dynamically get old-style Faceted Views (Faceted Layouts) used by the
Display menu, instead of caching them in annotations
[voineali]
Change: Updated Faceted Views example (see
eea.facetednavigation.views.example.summary.pt for more details on how the
template should look in order to be used as a Faceted View)
[voineali]
Feature: Added round corners, gradients and box shadows in edit mode
[voineali]
Added Italian translation and some i18n missing strings
[giacomos]
Hide/show criteria on criteria widget is now an option on this widget.
It remains enabled by default.
[thomasdesvenain]
Fixed: when a checkbox field had a default value as ‘True’,
when widget was set to ‘False’ (unchecked)
on the form, the checbox remained checked after submission.
[thomasdesvenain]
Some internationalization fixes, msg extraction and french translations.
[thomasdesvenain]
Bug fix: Include .mo translation files in the egg
[voineali]
Bug fix: Wrapped value from select widget with “” to avoid option attribute
selector error with jquery 1.7.1 when the value contained a non continuos word
[ichimdav]
Feature: Added an easy way to define Faceted Views for the results using
Zope3 components. See eea.facetednavigation.views.example for more details
[voineali]
Feature: Replaced hardcoded green colors in Tags Widget in order to easily
customize faceted theme
[voineali]
Feature: Replaced the “basic search/extended search” accordion with a more
simple and user friendly “More/Less filters” button
[voineali #2408]
Feature: Added “Hide/Show filters” button to “Criteria widget”
[voineali #4551]
Bug fix: Fixed back button by forcing jQuery to use traditional way to
parametrize query
[voineali #4524]
Bug fix: Use ‘eea.faceted.configure’ permission for all faceted related views
in order to avoid having actions that raise Insufficient Privileges
[voineali]
Bug fix: Fixed duplicate resources load if faceted widgets are using the same
CSS/JS resource
[voineali #4510]
i18n: Cleanup all widgets schema to use translations messages
[voineali]
i18n: Fixed actions.xml to use ‘eea’ i18n:domain
[voineali]
i18n: updated romanian translation
[voineali]
i18n: updated german translation.
[jensens]
Internationalization
[thomasdesvenain]
Feature: Added possibility to disable plone left/right columns in view mode
[voineali #4493]
Feature: Disabled plone left/right columns in edit mode
[voineali #4493]
Feature: Switched show.png with hide.png as it seems more logical this way
[voineali]
Feature: Added javascript that will allow to add an indipendent faceted
search on any other page. it will translate the submitted keys and values into
faceted anchors parameters. the js has example on how to use it.
[demarant]
Feature: HTML5 validation [ghicaale #4444]
Feature: Improved performance for large queries by avoiding unnecessary
iteration over results.
[yomatters]
EEA Feature: Added upgrade script to fix default layout (‘folder_summary_view’
for Plone3 ported objects).
[voineali #4439]
Feature: Added upgrade scripts to cleanup p4a.subtyper interface references and
annotations.
[voineali #4439]
Feature: Changed word break in checkbox and radio facet from 5 to 15 characters.
[vincentfretin]
Bug fix: do not display empty text criteria on criteria widget.
[thomasdesvenain]
i18n: resynced, added stubs with some terms translated for: it, pl, es
[jensens]
Bug fix: catalog index vocabulary works with int or float values.
[thomasdesvenain]
Change: Delegate criteria display check to a view so it can be customized.
[thomasdesvenain]
Bug fix: Fixed cachekeys as they where not unique in some situations.
[voineali #4254]
Feature: Added a po generation script.
Added french translations.
Added translations file for plone domain.
Internationalized schemata, forms and vocabularies.
Optimizations.
[thomasdesvenain]
Feature: i18n: added locales directory and registered it.
Added pot-file and po file with translations for german.
Added i18n-domains to a bunch of pt-files to
make i18ndude happy. [jensens, 2011-05-09]
Bug fix: When navigating the tabs of eea.relations popup,
the number of AJAX calls increases [voineali #3588, #4232]
Feature: Added a way to disable IPossibleFacetedNavigable for Plone default
Content-Types [voineali #4254] - Thanks to thomasdesvenain
Feature: Removed “Layout” menu, and override “Display” menu in order to
keep consistency and not to confuse novice users with to many places to
select object layout/display [voineali #4254]
Feature: Simplified “possible faceted navigable” mechanism. Now all you have
to do is to implement IPossibleFacetedNavigable interface within your
configure.zcml, no more p4a.subtyper descriptors for each portal type.
[voineali #4254]
Cleanup: Fixed all pylint, pyflakes violations [voineali #4254]
Cleanup: Use “eea” i18n domain for all EEA packages [voineali #4254]
Bug fix: Non eea vocabularies values are translated [thomasdesvenain]
Bug fix: Plone 4.1 compatible [thomasdesvenain]
Feature: Keep input text for Text facet on submit [voineali]
Feature: If TAL wigdet returns a callable, call it [jensens]
Bug fix: Fix TAL and Text field set default value [voineali]
Bug fix: Fix facets position update [voineali]
Bug fix: Fix checkboxes facet set default value [voineali]
Bug fix: Fixed Widgets: TAL (removed index field, made expression visible),
Path (default handling was broken). Some code-cleanup and simplifications.
[jensens, 2011-03-01]
Change: Added entry-point for z3c.autoinclude to setup.py and thus make it
simple to install [jensens, 2011-02-22]
Bug fix: Fixed alphabetic widget crash when REQUEST.LANGUAGE like ‘it-it’.
[voineali #3499]
Change: Better small loader animation for facets,
as the previous was not visible enough [demarant]
Feature: Added TAL Expression Widget to allow one to define dynamic queries
(e.g. limit faceted query to context path) [voineali #3538]
Change: Cleanup faceted js/css computing mechanism and use
portal_javascripts/portal_css instead as eea.jquery provides profiles for
each jQuery plugin [voineali #3553, #3487]
Change: faceted_view.css has no condition anymore in portal_css profile.
Removed duplicate from faceted_edit.css [voineali #3409]
Feature: Made Large Folder faceted navigable [voineali #3059]
Feature: Added special faceted widget ETag in order to easily generate another
faceted version id which is used by squid or other proxy caching systems.
See docs/versions.txt [voineali #3338]
Change: Cleanup old css/js profile by removing duplicated items (@@ ones)
[voineali]
Feature: Make faceted navigation aware of collection’s query. [#3275]
[Thanks to Izhar Firdaus]
Bug fix: Moved faceted actions from portal_fiveactions to portal_actions
as as it caused conflicts with p4a.plonecalendar and p4a.video. [#3275]
[Thanks to Izhar Firdaus]
Change: Refactored field.Vocabulary to be reused also with other fields
than StringField [voineali]
Upgrade step:
Within portal_setup import all steps using ‘EEA Faceted Navigation’ profile
or reinstall it from portal_quickinstaller.
Change: Update API to easily access default criteria [voineali #2939]
Feature: Adjust faceted navigation JavaScript to work outside faceted navigable
contexts using a previously defined faceted navigable configuration. This way,
by providing faceted navigable URL it can be used in pop-ups,
dialogs, etc [voineali #3198]
Bug fix: Fixed that z3 vocabularies are not updated at runtime [voineali #3239]
Feature: Added an error layer in order to easily see widgets with configuration
problems and fix them without disabling JavaScript in browser
and then trying to figure out which one is causing the problem and remove it.
Bug fix: Fixed relative path problems for path widget when using
in production [voineali #2625]
Change: Make date range widget more user friendly using
jquery ui datepicker [voineali #2871]
Change: Make date widget more user friendly using jQuery slider plugin.
[voineali #2871]
Bug fix: Fixed that if jquery is present in portal_javascirpts do not reload it in
faceted_view.js / faceted_edit.js [voineali]
Feature: Memcache tagscloud_counter results. Also use eea.cache in order
to dynamically set and invalidate memcache dependencies. [voineali #2801]
Feature: Implemented a version control system for faceted configuration
in order to invalidate proxy cache systems like squid by requesting a new URL.
[voineali #2783]
Bug fix: Fixed IE submit form when return is pressed in search field.
[voineali #2825]
Feature: Keep minimum of distinct URLs for same queries in order to
cache efficiently [voineali #2596]