Editing progress RestAPI
Project description
A Plone add-on that expose editing progress via RestAPI
Main features
RestAPI editing progress:
$ curl -H 'Accept: application/json' --user admin:admin -i http://localhost:8080/Plone/a-page/@editing.progress or $ curl -H 'Accept: application/json' --user admin:admin -i http://localhost:8080/Plone/a-page?expand=editing.progress
Install
Add eea.progress.editing to your requirements.txt and constraints.txt and run:
pip install -r requirements.txt -c constraints.txt
Or, if using buildout, add eea.progress.editing to your eggs section in your buildout and re-run buildout:
[buildout] eggs += eea.progress.editing
Or via docker:
$ docker run --rm -p 8080:8080 -e ADDONS="eea.progress.editing" plone/plone-backend
Restart Plone
Install eea.progress.editing within Site Setup > Add-ons
Configure editing progress via Control Panel > Editing Progress Settings
If you already have Plone 4 definitions for your Content Types Editing Progress, you can export them to XML at /portal_progress/document/view.export and then use xml2dict.py script to convert them to Plone 6 registry. The output should look like:
{ "Document": [ { 'condition': 'python:value', 'hideReady': 'False', 'iconEmpty': 'eea-icon eea-icon-edit', 'iconReady': 'eea-icon eea-icon-check', 'labelEmpty': 'Please set the {label} of this {context.portal_type}', 'labelReady': 'You added the {label}', 'link': 'edit#fieldsetlegend-default', 'linkLabel': 'Add {label}', 'prefix': 'title', 'states': ['all'] }, { 'condition': 'python:value', 'hideReady': 'False', 'iconEmpty': 'eea-icon eea-icon-edit', 'iconReady': 'eea-icon eea-icon-check', 'labelEmpty': 'Please set the {label} of this {context.portal_type}', 'labelReady': 'You added the {label}', 'link': 'edit#fieldsetlegend-default', 'linkLabel': 'Add {label}', 'prefix': 'description', 'states': ['all'] }, ... ] }
Source code
Eggs repository
Plone versions
It has been developed and tested for Plone 4, 5 and 6.
How to contribute
Copyright and license
eea.progress.editing (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.
Funding
EEA - European Environment Agency (EU)
Changelog
2.0 - (2024-06-01)
Breaking: Drop Plone 4 GenericSetup profile [avoinea - refs #151690]
Breaking: Rename Editing Progress ControlPanel and registry [avoinea - refs #151690]
1.5 - (2023-06-01)
Feature: Plone 6 added editing progress controlpanel [Petchesi-Iulian - refs #151690]
1.4 - (2021-12-16)
Change: Fix package classifiers and python_requires [avoinea]
1.3 - (2021-06-21)
Feature: Introduced @@editing.progress.status browser view used to check if every field is entered for current state, useful for workflow guards [ichim-david refs #124587]
1.2 - (2021-06-10)
Change: add also workflow states info to rest api, this way we know for which state the field should be required [ichim-david refs #124587]
1.1 - (2021-05-04)
Change: return field info as dict [ichim-david refs #124588]
Change: We now export a list of dicts for each field instead of a list of lists, making it easier to read and understand what is exported [ichim-david refs #124588]
Provide done information for editing progress of fields [ichim-david refs #124588]
1.0 - (2021-05-04)
Initial Release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.