Uploaded image for project: 'Magnolia Workflow Module'
  1. Magnolia Workflow Module
  2. MGNLWORKFLOW-384

Port workflow to new UI framework

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Neutral
    • 6.0
    • None
    • None
    • None
    • Yes
    • UI Framework & 6.2 Ramp up 15
    • 8

    Description

      Acceptance criteria:

      • Migrate Workflow to the new API.
      • Functionality is preserved.
      • Resulting configuration is not more complex than it used to be. Simpler to understand and work with. 

       Following the investigation done at DEV-1405 here is the current status in regard to UI and some pointers and hints to get started.

      info.magnolia.workflow

      • info.magnolia.module.workflow.action.OpenPublicationDialogAction (defined at /modules/workflow/generic/actions/schedulePublication)
        • definition extends ActivationActionDefinition
        • uses a special FormTypeDefinition object to tell form presenter what type of input is expected in the form fields. The types are then mapped to the form configuration using the node name such as publicationDate and comment which are eventually passed to workflow.
        • Action uses a custom implementation of FormDialogPresenter (WorkflowFormDialogPresenter) in order to produce a form for submitting a publication request.
        • Can we simplify configuration and get rid of formTypes?
      • info.magnolia.module.workflow.action.PreviewPageAction
        • opens a tab in pages app and displays a preview of the page with the current changes (versioned but not published)
      • info.magnolia.module.workflow.action.WorkItemLocalizedDiffAction
        • opens a tab in pages app and displays diffs between current changes and previous published versions (also per Locale)
        • extends info.magnolia.module.diff.app.action.AbstractCompareToPreviousLocalizedVersionAction
          • This means diff module needs to be ported as well (actions using old FormDialogPresenter, SelectField, JcrNodeAdapter). See MGNLDIFF-105
      • info.magnolia.module.workflow.action.WorkflowPublicationAction
        • uses old JcrItemAdapter
        • starts the actual workflow process ("reviewForPublication") by passing to it all needed info, including that gathered by publication form
      • Other actions are deprecated and replaced so they can be possibly moved to compatibility module. 

      magnolia-module-workflow-jbpm

      • UI related classes
        • HumanTaskDefinition extends TaskUiDefinition
          • HumanTask is the only workflow item actually requiring UI as it entails human interaction (creation, approval, reject by a human actor)
          • nothing to do here
        • PublicationTaskPresenter
          • replaced by info.magnolia.task.app.view.detail.TaskDetailSubApp
          • move to compatibility?

      kie-jcr

      • Jcr integration modules for KIE projects (Drools, jBPM, see http://www.kie.org/)
      • no UI to port

      For an example on how to introduce publishing workflow to content apps other than pages https://documentation.magnolia-cms.com/display/DOCS61/Enabling+workflow+in+content+apps+with+YAML

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                rkovarik Roman Kovařík
                fgrilli Federico Grilli
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Task DoR

                    Time Tracking

                      Estimated:
                      Original Estimate - Not Specified
                      Not Specified
                      Remaining:
                      Remaining Estimate - 0d
                      0d
                      Logged:
                      Time Spent - 4d 4m
                      4d 4m