Skip to main content

Editing progress RestAPI

Project description

Develop Master

A Plone add-on that expose editing progress via RestAPI

Main features

  1. 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

See the contribution guidelines (CONTRIBUTING.md).

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.

Source Distribution

eea.progress.editing-2.0.zip (80.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page