.. image:: https://github.com/collective/collective.eeafaceted.dashboard/actions/workflows/main.yml/badge.svg?branch=master
:target: https://github.com/collective/collective.eeafaceted.dashboard/actions/workflows/main.yml
.. image:: https://coveralls.io/repos/collective/collective.eeafaceted.dashboard/badge.svg?branch=master
:target: https://coveralls.io/r/collective/collective.eeafaceted.dashboard?branch=master
.. image:: https://img.shields.io/pypi/v/collective.eeafaceted.dashboard.svg
:alt: PyPI badge
:target: https://pypi.org/project/collective.eeafaceted.dashboard
collective.eeafaceted.dashboard
===============================
This package does the glue between :
- `collective.eeafaceted.collectionwidget <https://github.com/collective/collective.eeafaceted.collectionwidget>`_
- `collective.eeafaceted.z3ctable <https://github.com/collective/collective.eeafaceted.z3ctable>`_
- `collective.compoundcriterion <https://github.com/collective/collective.compoundcriterion>`_
- `collective.documentgenerator <https://github.com/collective/collective.documentgenerator>`_
This build a useable eea.facetednavigation based dashboard (works on both Plone 4.3.x and Plone 5.x). Use the demo profile to easily check what it does :
.. image:: https://github.com/IMIO/collective.eeafaceted.dashboard/blob/master/doc/screenshots/application.png
.. image:: https://github.com/IMIO/collective.eeafaceted.dashboard/blob/master/doc/screenshots/review.png
Dashboard is essentially made of a faceted widget displaying pre-configured searches, results are displayed in a faceted layout using a table.
The searches filter (collective.eeafaceted.collectionwidget) :
--------------------------------------------------------------
This filter aims to display "functional and already well thought" searches to users.
- this filter uses the collective.eeafaceted.collectionwidget that is a faceted navigation widget displaying a list of searches stored in current folder;
- searches stored in folder are elements of type DashboardCollection (based on plone.app.contenttypes Collection) with 3 specific fields "Show number of items in filter?", "Enabled?" and "Condition" (let's Managers enter a TAL expression to define to who this search will be displayed in the collection faceted filter);
- it is possible to display the count information on a per search basis (here it is enabled for "Elements to review" and "Expired elements" searches);
- the current page title changes depending on selected search;
- a default search can be selected so it is executed when user access the dashboard.
The table faceted layout (collective.eeafaceted.z3ctable) :
-----------------------------------------------------------
Every faceted layout can be selected to display the dashboard results but collective.eeafaceted.z3ctable add a new faceted layout that displays a z3c.table with sortable columns (using the sort icons in the column header) and a selection column.
- columns may be selected on the defined DashboardCollections so different columns may be displayed for different searches;
- a "refresh search results" is available so user may refresh the faceted layout without having to reload the entire page;
- the selection column is useable with collective.documentgenerator or collection.eeafaceted.batchactions for example.
Managing complex searches (collective.compoundcriterion) :
----------------------------------------------------------
This package rely on collective.compoundcriterion, it adds a new search criterion called "Filter" for Collections that will let user select a named adapter registered for the ICompoundCriterionFilter. This adapter returns a catalog query compatible with a Collection query. This makes it possible to manage complex searches that are not configurable on a Collection using the querywidget.
Document generation (collective.documentgenerator) :
----------------------------------------------------
Dashboard integrates the colletive.documentgenerator package that makes it possible to export a dashboard in any format supported by collective.documentgenerator (odt, doc, docx, ods, xls, pdf, ...). Exportable documents are managed by DashboardPODTemplates added in the dashboard folder.
- it is possible to restrict exportation templates to specific dashboard searches;
- as for DashboardCollections, it is possible to define a availability condition so document may only be generated by some users.
TODO :
------
- integrate collective.eeafaceted.batchactions when it will work on Plone 5 (integration is already possible on Plone 4).
Changelog
=========
0.22.0 (2023-12-07)
-------------------
- Update count only on viewable tabs. Be more resilient in js.
[sgeulette]
- Pinned last py2 eea.facetednavigation version
[sgeulette]
0.21.1 (2023-09-08)
-------------------
- Corrected existing count title check.
[sgeulette]
0.21.0 (2023-09-08)
-------------------
- The `update_tabs_count` is now available anywhere, not only on faceted context.
[sgeulette]
- A span has been added so the tab count can be styled.
[sgeulette]
0.20 (2022-08-26)
-----------------
- Adapted `DashboardDocumentGeneratorLinksViewlet.get_links_info` to be
compatible with `collective.documentgenerator>=3.35`.
[gbastien]
0.19 (2022-05-16)
-----------------
- Fixed CSS when using `select2 widget`, a small `margin-left` gap was visible
between the input and the dropdown.
[gbastien]
0.18 (2022-01-03)
-----------------
- Searched unrestrictedly countable tabs.
[sgeulette]
0.17 (2021-08-27)
-----------------
- Adapt code to allow override of faceted context
[mpeeters]
- Fixed bug in JS function `generatePodDocument` that was only taking elements
of the current dashboard page and no more following pages.
[gbastien]
0.16 (2021-04-20)
-----------------
- Avoid double different checks in
`DashboardDocumentGenerationView._get_generation_context` (one time checked
on presence of `facetedQuery` in `REQUEST` then if context is
`IFacetedNavigable`, only check if context is `IFacetedNavigable`).
[gbastien]
- Adapted `DashboardDocumentGeneratorLinksViewlet` template
(`generationlinks.pt`) to use svg icons now that it is the case in
`collective.documentgenerator`.
Require `collective.documentgenerator>3.19`.
[gbastien]
- Small fix in faceted criterion CSS to be sure that first value is
correctly displayed.
[gbastien]
0.15 (2020-10-02)
-----------------
- Fixed pretty link displayed in dashboards, not necessary to change
`vertical-align` CSS property.
[gbastien]
- Added total collections results count on folder tabs providing ICountableTab.
Only manual refresh for now.
[daggelpop, sgeulette]
0.14 (2020-09-10)
-----------------
- Fixed css of `no results` sentence for `eea.facetednavigation>14`.
[gbastien]
0.13.2 (2020-08-18)
-------------------
- Fixed IndexError when generating a dashboardpotemplte whith empty elements.
[odelaere]
0.13.1 (2020-06-25)
-------------------
- Check if received `pod_template` has a `max_objects` before restricting
number of `brains` to `max_objects`.
[gbastien]
0.13 (2020-06-24)
-----------------
- Limit the number of items that can be generated in a DashboardPodTemplate.
[odelaere]
0.12 (2019-11-27)
-----------------
- Implement our own `IDashboardGenerablePODTemplates` adapter like it is the
case for `collective.documentgenerator` `IGenerablePODTemplates` adapter to
be used in the `dashboard-document-generation-link` viewlet so it is
registered for `IFacetedNavigation` and easier to override when necessary.
[gbastien]
0.11 (2019-11-26)
-----------------
- Adapted override of `collective.documentgenerator` method
`get_all_pod_templates` now that it is handled by an `IGenerablePODTemplates`
adapter instead the `DocumentGeneratorLinksViewlet`.
[gbastien]
0.10 (2019-08-13)
-----------------
- Adapted code to render term as term.value does not contain the collection
object anymore but it's path.
[gbastien]
- Do not compute kept_criteria when widget is rendered outside dashboard as
faceted criteria will not be displayed.
[gbastien]
- Use `collectionwidget.utils.getCurrentCollection` to get the current
collection to use for `DashboardFacetedTableView` columns.
[gbastien]
0.9 (2019-06-07)
----------------
- Added function utils.addFacetedCriteria to ease applying a faceted conf xml
that adds extra faceted criteria to an existing dashboard.
[gbastien]
- Improved template evaluate method to avoid getting collection and criterias
if not necessary
[sgeulette]
- Display dashboard-document-generation-link only on IFacetedNavigable
[sgeulette]
- Corrected robot tests
[sgeulette]
0.8 (2019-05-16)
----------------
- Do not compute collections count when initializing collections portlet, as it
is updated in the Faceted.AJAX_QUERY_SUCCESS event, it avoid being computed
twice.
[gbastien]
0.7 (2019-01-03)
----------------
- Do not render widget twice when portlet faceted displayed outside dashboard.
[gbastien]
0.6 (2018-12-18)
----------------
- Adapted CSS for `div.table_faceted_results` displaying number of results.
[gbastien]
0.5 (2018-12-06)
----------------
- Remove contsraint on Products.ZCatalog.
[sdelcourt]
- Always use latest versions of eea products.
[gbastien]
0.4 (2018-11-29)
----------------
- Sort uniquely collection vocabulary columns names, because multiple columns
with same name can be defined for different interfaces.
[sgeulette]
- Added parameter `default_UID` to `utils.enableFacetedDashboardFor` to set
default collection UID when enabling faceted on a folder.
[gbastien]
- When calling `utils.enableFacetedDashboardFor`, set a value in the `REQUEST`
`enablingFacetedDashboard` specifying that we are currently enabling a
faceted dashboard.
[gbastien]
0.3 (2018-11-20)
----------------
- Make sure overrided vocabulary `plone.app.contenttypes.metadatafields` is
also used when adding a new DashboardCollection, so when current context is
not a DashboardCollection but the parent.
[gbastien]
- Added `demo` profile.
[gbastien]
- Added parameter `show_left_column=True` to `utils.enableFacetedDashboardFor`
to be able to not show the Plone left column when enabling dashboard on a
faceted folder.
[gbastien]
- Added `DashboardCollectionsVocabulary._render_term_title` to make it easy to
override term title rendering.
[gbastien]
- Override default eea.facetednavigation spinner (ajax-loader.gif).
[gbastien]
0.2 (2018-09-04)
----------------
- Get current URL in JS to call the @@json_collections_count a way it works in
both Plone4 and Plone5.
[gbastien]
- Moved the `PrettyLinkColumn` and `RelationPrettyLinkColumn` to
`collective.eeafaceted.z3ctable`.
[gbastien]
0.1 (2018-06-21)
----------------
- Initial release.
[gbastien]
Raw data
{
"_id": null,
"home_page": "http://pypi.python.org/pypi/collective.eeafaceted.dashboard",
"name": "collective.eeafaceted.dashboard",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "Python Zope Plone",
"author": "IMIO",
"author_email": "dev@imio.be",
"download_url": "https://files.pythonhosted.org/packages/b3/21/c7c165c6be40d57fbdd12d2d04b4d7c4d00b79b3b669ebb29b59aa07f142/collective.eeafaceted.dashboard-0.22.0.tar.gz",
"platform": null,
"description": ".. image:: https://github.com/collective/collective.eeafaceted.dashboard/actions/workflows/main.yml/badge.svg?branch=master\n :target: https://github.com/collective/collective.eeafaceted.dashboard/actions/workflows/main.yml\n\n.. image:: https://coveralls.io/repos/collective/collective.eeafaceted.dashboard/badge.svg?branch=master\n :target: https://coveralls.io/r/collective/collective.eeafaceted.dashboard?branch=master\n\n.. image:: https://img.shields.io/pypi/v/collective.eeafaceted.dashboard.svg\n :alt: PyPI badge\n :target: https://pypi.org/project/collective.eeafaceted.dashboard\n\n\ncollective.eeafaceted.dashboard\n===============================\n\nThis package does the glue between :\n\n- `collective.eeafaceted.collectionwidget <https://github.com/collective/collective.eeafaceted.collectionwidget>`_\n- `collective.eeafaceted.z3ctable <https://github.com/collective/collective.eeafaceted.z3ctable>`_\n- `collective.compoundcriterion <https://github.com/collective/collective.compoundcriterion>`_\n- `collective.documentgenerator <https://github.com/collective/collective.documentgenerator>`_\n\nThis build a useable eea.facetednavigation based dashboard (works on both Plone 4.3.x and Plone 5.x). Use the demo profile to easily check what it does :\n\n.. image:: https://github.com/IMIO/collective.eeafaceted.dashboard/blob/master/doc/screenshots/application.png\n\n.. image:: https://github.com/IMIO/collective.eeafaceted.dashboard/blob/master/doc/screenshots/review.png\n\nDashboard is essentially made of a faceted widget displaying pre-configured searches, results are displayed in a faceted layout using a table.\n\nThe searches filter (collective.eeafaceted.collectionwidget) :\n--------------------------------------------------------------\n\nThis filter aims to display \"functional and already well thought\" searches to users.\n\n- this filter uses the collective.eeafaceted.collectionwidget that is a faceted navigation widget displaying a list of searches stored in current folder;\n- searches stored in folder are elements of type DashboardCollection (based on plone.app.contenttypes Collection) with 3 specific fields \"Show number of items in filter?\", \"Enabled?\" and \"Condition\" (let's Managers enter a TAL expression to define to who this search will be displayed in the collection faceted filter);\n- it is possible to display the count information on a per search basis (here it is enabled for \"Elements to review\" and \"Expired elements\" searches);\n- the current page title changes depending on selected search;\n- a default search can be selected so it is executed when user access the dashboard.\n\nThe table faceted layout (collective.eeafaceted.z3ctable) :\n-----------------------------------------------------------\n\nEvery faceted layout can be selected to display the dashboard results but collective.eeafaceted.z3ctable add a new faceted layout that displays a z3c.table with sortable columns (using the sort icons in the column header) and a selection column.\n\n- columns may be selected on the defined DashboardCollections so different columns may be displayed for different searches;\n- a \"refresh search results\" is available so user may refresh the faceted layout without having to reload the entire page;\n- the selection column is useable with collective.documentgenerator or collection.eeafaceted.batchactions for example.\n\nManaging complex searches (collective.compoundcriterion) :\n----------------------------------------------------------\n\nThis package rely on collective.compoundcriterion, it adds a new search criterion called \"Filter\" for Collections that will let user select a named adapter registered for the ICompoundCriterionFilter. This adapter returns a catalog query compatible with a Collection query. This makes it possible to manage complex searches that are not configurable on a Collection using the querywidget.\n\nDocument generation (collective.documentgenerator) :\n----------------------------------------------------\n\nDashboard integrates the colletive.documentgenerator package that makes it possible to export a dashboard in any format supported by collective.documentgenerator (odt, doc, docx, ods, xls, pdf, ...). Exportable documents are managed by DashboardPODTemplates added in the dashboard folder.\n\n- it is possible to restrict exportation templates to specific dashboard searches;\n- as for DashboardCollections, it is possible to define a availability condition so document may only be generated by some users.\n\nTODO :\n------\n- integrate collective.eeafaceted.batchactions when it will work on Plone 5 (integration is already possible on Plone 4).\n\n\n\nChangelog\n=========\n\n0.22.0 (2023-12-07)\n-------------------\n\n- Update count only on viewable tabs. Be more resilient in js.\n [sgeulette]\n- Pinned last py2 eea.facetednavigation version\n [sgeulette]\n\n0.21.1 (2023-09-08)\n-------------------\n\n- Corrected existing count title check.\n [sgeulette]\n\n0.21.0 (2023-09-08)\n-------------------\n\n- The `update_tabs_count` is now available anywhere, not only on faceted context.\n [sgeulette]\n- A span has been added so the tab count can be styled.\n [sgeulette]\n\n0.20 (2022-08-26)\n-----------------\n\n- Adapted `DashboardDocumentGeneratorLinksViewlet.get_links_info` to be\n compatible with `collective.documentgenerator>=3.35`.\n [gbastien]\n\n0.19 (2022-05-16)\n-----------------\n\n- Fixed CSS when using `select2 widget`, a small `margin-left` gap was visible\n between the input and the dropdown.\n [gbastien]\n\n0.18 (2022-01-03)\n-----------------\n\n- Searched unrestrictedly countable tabs.\n [sgeulette]\n\n0.17 (2021-08-27)\n-----------------\n\n- Adapt code to allow override of faceted context\n [mpeeters]\n- Fixed bug in JS function `generatePodDocument` that was only taking elements\n of the current dashboard page and no more following pages.\n [gbastien]\n\n0.16 (2021-04-20)\n-----------------\n\n- Avoid double different checks in\n `DashboardDocumentGenerationView._get_generation_context` (one time checked\n on presence of `facetedQuery` in `REQUEST` then if context is\n `IFacetedNavigable`, only check if context is `IFacetedNavigable`).\n [gbastien]\n- Adapted `DashboardDocumentGeneratorLinksViewlet` template\n (`generationlinks.pt`) to use svg icons now that it is the case in\n `collective.documentgenerator`.\n Require `collective.documentgenerator>3.19`.\n [gbastien]\n- Small fix in faceted criterion CSS to be sure that first value is\n correctly displayed.\n [gbastien]\n\n0.15 (2020-10-02)\n-----------------\n\n- Fixed pretty link displayed in dashboards, not necessary to change\n `vertical-align` CSS property.\n [gbastien]\n- Added total collections results count on folder tabs providing ICountableTab.\n Only manual refresh for now.\n [daggelpop, sgeulette]\n\n0.14 (2020-09-10)\n-----------------\n\n- Fixed css of `no results` sentence for `eea.facetednavigation>14`.\n [gbastien]\n\n0.13.2 (2020-08-18)\n-------------------\n\n- Fixed IndexError when generating a dashboardpotemplte whith empty elements.\n [odelaere]\n\n0.13.1 (2020-06-25)\n-------------------\n\n- Check if received `pod_template` has a `max_objects` before restricting\n number of `brains` to `max_objects`.\n [gbastien]\n\n0.13 (2020-06-24)\n-----------------\n\n- Limit the number of items that can be generated in a DashboardPodTemplate.\n [odelaere]\n\n0.12 (2019-11-27)\n-----------------\n\n- Implement our own `IDashboardGenerablePODTemplates` adapter like it is the\n case for `collective.documentgenerator` `IGenerablePODTemplates` adapter to\n be used in the `dashboard-document-generation-link` viewlet so it is\n registered for `IFacetedNavigation` and easier to override when necessary.\n [gbastien]\n\n0.11 (2019-11-26)\n-----------------\n\n- Adapted override of `collective.documentgenerator` method\n `get_all_pod_templates` now that it is handled by an `IGenerablePODTemplates`\n adapter instead the `DocumentGeneratorLinksViewlet`.\n [gbastien]\n\n0.10 (2019-08-13)\n-----------------\n\n- Adapted code to render term as term.value does not contain the collection\n object anymore but it's path.\n [gbastien]\n- Do not compute kept_criteria when widget is rendered outside dashboard as\n faceted criteria will not be displayed.\n [gbastien]\n- Use `collectionwidget.utils.getCurrentCollection` to get the current\n collection to use for `DashboardFacetedTableView` columns.\n [gbastien]\n\n0.9 (2019-06-07)\n----------------\n\n- Added function utils.addFacetedCriteria to ease applying a faceted conf xml\n that adds extra faceted criteria to an existing dashboard.\n [gbastien]\n- Improved template evaluate method to avoid getting collection and criterias\n if not necessary\n [sgeulette]\n- Display dashboard-document-generation-link only on IFacetedNavigable\n [sgeulette]\n- Corrected robot tests\n [sgeulette]\n\n0.8 (2019-05-16)\n----------------\n\n- Do not compute collections count when initializing collections portlet, as it\n is updated in the Faceted.AJAX_QUERY_SUCCESS event, it avoid being computed\n twice.\n [gbastien]\n\n0.7 (2019-01-03)\n----------------\n\n- Do not render widget twice when portlet faceted displayed outside dashboard.\n [gbastien]\n\n0.6 (2018-12-18)\n----------------\n\n- Adapted CSS for `div.table_faceted_results` displaying number of results.\n [gbastien]\n\n0.5 (2018-12-06)\n----------------\n\n- Remove contsraint on Products.ZCatalog.\n [sdelcourt]\n- Always use latest versions of eea products.\n [gbastien]\n\n0.4 (2018-11-29)\n----------------\n\n- Sort uniquely collection vocabulary columns names, because multiple columns\n with same name can be defined for different interfaces.\n [sgeulette]\n- Added parameter `default_UID` to `utils.enableFacetedDashboardFor` to set\n default collection UID when enabling faceted on a folder.\n [gbastien]\n- When calling `utils.enableFacetedDashboardFor`, set a value in the `REQUEST`\n `enablingFacetedDashboard` specifying that we are currently enabling a\n faceted dashboard.\n [gbastien]\n\n0.3 (2018-11-20)\n----------------\n\n- Make sure overrided vocabulary `plone.app.contenttypes.metadatafields` is\n also used when adding a new DashboardCollection, so when current context is\n not a DashboardCollection but the parent.\n [gbastien]\n- Added `demo` profile.\n [gbastien]\n- Added parameter `show_left_column=True` to `utils.enableFacetedDashboardFor`\n to be able to not show the Plone left column when enabling dashboard on a\n faceted folder.\n [gbastien]\n- Added `DashboardCollectionsVocabulary._render_term_title` to make it easy to\n override term title rendering.\n [gbastien]\n- Override default eea.facetednavigation spinner (ajax-loader.gif).\n [gbastien]\n\n0.2 (2018-09-04)\n----------------\n\n- Get current URL in JS to call the @@json_collections_count a way it works in\n both Plone4 and Plone5.\n [gbastien]\n- Moved the `PrettyLinkColumn` and `RelationPrettyLinkColumn` to\n `collective.eeafaceted.z3ctable`.\n [gbastien]\n\n0.1 (2018-06-21)\n----------------\n- Initial release.\n [gbastien]\n\n\n\n",
"bugtrack_url": null,
"license": "GPL V2",
"summary": "This package is the glue between different packages offering a usable and integrated dashboard application",
"version": "0.22.0",
"project_urls": {
"Homepage": "http://pypi.python.org/pypi/collective.eeafaceted.dashboard"
},
"split_keywords": [
"python",
"zope",
"plone"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b321c7c165c6be40d57fbdd12d2d04b4d7c4d00b79b3b669ebb29b59aa07f142",
"md5": "2ce35d2a95daa331951ffdc9c70c04b5",
"sha256": "66de7d42e807175b1e854c3619a795d054f08a06c4b7a8967ab796b5504e576d"
},
"downloads": -1,
"filename": "collective.eeafaceted.dashboard-0.22.0.tar.gz",
"has_sig": false,
"md5_digest": "2ce35d2a95daa331951ffdc9c70c04b5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 266324,
"upload_time": "2023-12-07T11:16:30",
"upload_time_iso_8601": "2023-12-07T11:16:30.772500Z",
"url": "https://files.pythonhosted.org/packages/b3/21/c7c165c6be40d57fbdd12d2d04b4d7c4d00b79b3b669ebb29b59aa07f142/collective.eeafaceted.dashboard-0.22.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-07 11:16:30",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "collective.eeafaceted.dashboard"
}