collective.eeafaceted.dashboard


Namecollective.eeafaceted.dashboard JSON
Version 0.22.0 PyPI version JSON
download
home_pagehttp://pypi.python.org/pypi/collective.eeafaceted.dashboard
SummaryThis package is the glue between different packages offering a usable and integrated dashboard application
upload_time2023-12-07 11:16:30
maintainer
docs_urlNone
authorIMIO
requires_python
licenseGPL V2
keywords python zope plone
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. 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"
}
        
Elapsed time: 0.25370s