Uploaded image for project: 'Magnolia Workflow Module'
  1. Magnolia Workflow Module

Port workflow to new UI framework


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

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


      • 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?


      • 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

        Acceptance criteria

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


                  Task DoR

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