Directory module for Plone using Dexterity
seantis.dir.base allows to put dexterity objects into 1-4 categories, showing those categories in a browsable and searchable catalog.
The idea of this plone module is to provide all basic functionality needed to categorize, search and filter objects. These objects may be extended with custom fields using dexterity.
An example, offering a directory of contacts can be found here: https://github.com/seantis/seantis.dir.contacts
This module is probably only really useful for anyone if used as a base to build on. By itself it only offers the categorization and search functionalities.
Add dexterity to Plone by adding the following Known Good Set to your buildout.cfg:
extends = ... http://dist.plone.org/release/4.2/versions.cfg
Add the module to your instance eggs:
[instance] ... eggs = ... seantis.dir.base
Ensure that the i18n files are compiled by adding:
[instance] ... environment-vars = ... zope_i18n_compile_mo_files true
Install seantis.dir.base using portal_quickinstaller
seantis.dir.base is released under GPL v2
seantis.dir.base is maintained by Seantis GmbH (www.seantis.ch)
- Don’t store marker images for items persistently. Fixes #15. [msom]
- Fix fuzzy search. [msom]
- Add zoom to location on map functionality again. [msom]
- Make the circles in the collective geo maps more visible again. [msom]
- No longer fix the width of the search/filter viewlet in python. This will impact the style of existing themes, except for plonetheme.onegov. [href]
- Integrate seantis.plonetools. [href]
- Fixes geo customstyles not returning a value. [href]
- Switching between locked/unlocked categories no longer results in ability to save an item. Fixes #11. [href]
- No longer trigger a transaction on a simple read-only view request. Fixes #9. [href]
Upgrade to latest collective.geo releases. Please note that an upgrade step is necessary for each module using seantis.dir.base. Implemented as follows:
https://github.com/seantis/seantis.dir.contacts/commit/02c18f8f10fb20ac1610d94204e7ff753bfbaadf (note that the release is 1.7 instead of 1.6)
Adds category values to extended data if collective.geo.fastkml is installed. Use seantis.dir.base[extended_data] to install. Collective.geo.fastkml will be merged into collective.geo.kml in the future at which point this feature will no longer be optional.
- Adds seantis-directory-all, seantis-directory-results or seantis-directory-items to all directory views’ body class. This allows for easier styling of different seantis.dir.* modules.
- Removes almost all css styles - it’s the job of seantis.dir.* packages to look shiny.
- Removes fieldset/legend from directory search
- Adds category values to extended data if collective.geo.fastkml is installed. Use seantis.dir.base[extended_data] to install. Collective.geo.fastkml will be merged into collective.geo.kml in the future at which point this feature will no longer be optional.
- Update French translations
- Exclude *.mo files from the release
- Show ‘Any’ instead of ‘Whatever’
- Wrap search text in quotes to avoid query parsers errors
- Fixes group-less forms controlled by seantis.dir.base crashing
- Temporarily reintroduces jq as jQuery alias for collective.geo.mapwidget until the new release is out of beta.
- Put search and categories on different lines if more than two categories and the searchbox is active
- Stop directory search from throwing exceptions if an empty string is given
- Show ‘Whatever’ instead of an empty string as default in filter combo boxes
- Render ative/pulsating map markers in front of inactive ones
- Make core form work with directory again
- Prevents code from storing categories as sets (which trips up the keyword index)
- Stop hooking up group forms completely, fixing an issue in seantis.dir.events
- Limit portlet blocking to directory, making it easy to enable portlets for all items through the portlet settings of the directory. Fixes #4.
- Fixes form view failing on IDirectoryCategorized items outside a directory
- Fixes form reordering issue on group forms
Adds a behavior with which any item can be used as a directory item.
This is a major change to the way directories and their items relate to each other internally. All directories using seantis.dir.base have to be migrated by adding the new IDirectoryCategorized behavior to the each item and reimporting the typeinof.
Adds category values to KML document
View now use their own directory specific browserlayer
Adds ability to define new xls exports through adapters
Fixes crash in big excel exports
Removes Directory Item Viewlets in Directory View. They have not been working correctly sinde 1.3 anyway.
Defines slots in macros which may be replaced by directories building on seantis.dir.base. This may be used as an alternative to the viewlets.
- Provide better default template for result list entry
- Provide a macro for default directory information
- Fixes search viewlet being hidden on item view
- New flag allow_custom_categories on directory which can be used to prevent users from entering their own categories on items
- Map markers macro is now compatible with both brains and actual objects
- Requires Plone 4.3 to run
Map markers are now always set in the order of the itemview’s batch list.
The directory no longer uses a homegrown getObject cache and will instead use catalog brains as much as possible. Directories building on seantis.dir.base might have taken that for granted, so they might be incompatible with this version.
As a result, viewlets registered with the DirectoryItemViewletManager now need to expect catalog brains instead of objects.
The upsides are big performance gains and more stability.
- onegov.ch approved: add badge to readme.
- Makes catalog adaptable for better customization
- Adds maps to items using collective.geo
- Refactors design. Base does no longer hold it’s own type.
- Resolves name clash breaking absolute_url()
- Adds french translations
- Adds absolute url to xls export as a read only field
- Makes fulltext search work independently of folder structure
- Fixes an IE7 bug resulting in shrinking input boxes
- Initial release