WCM Workflow

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com



{{AVMWarning}}
AVM


Requirements


For Preview II, our goal needs to be to enable Content Publishers to create and/or modify content have that content reviewed and approved by a Content Reviewer.

To meet this use case, we need to support the following:


  1. Enable one or more AVM assets to be associated with a workflow task (a single XML asset if no associated transformations, or an XML and one or more generated assets if a transformation included as part of the workflow process).
  2. Enable Content Reviewers to:
    1. View an XML asset (see content in read-only form)
    2. Preview generated assets (via Virtualization Server)
    3. Transition task (Approve, Reject)
  3. Enable Content Reviewers to:
    1. Get email notification as part of OOTB workflow
    2. Enable viewing XML, previewing generated assets, and transitioning tasks via email
    3. IDEAL:  Generated email message in HTML format with Alfresco branding
      • BONUS: Generated email message in multipart/alternative MIME format, where the parts are  'text/plain' and 'text/html'. Each alternative should have Alfresco branding.
      • Another nice-to-have would be an even more terse message that would be appropriate for SMS or direct email to a pim. This implies that we might someday want to support conditional logic around just what email message format is sent to whom, when.
      • One of the things we'd like to do sometime is have the notification managed as a user preference - so rather than the sender deciding, the recipent sets up his/her preferences for receiving notifications.  It would be even nicer to be able to have conditions for different types/locations of notification/content to go different routes.

For GA, our goal needs to be to enable Content Managers to assign one or more assets to a Content Publisher for modification.

To meet this use case, we need to support the following:


  1. Enable a Content Manager to initiate workflow on an AVM
    1. Enable a Content Manager and/or a Content Publisher to add one or more assets to an existing workflow task
    2. Enable a Content Publisher to edit an assets (either XML or other assets) within a workflow task
  2. Enable a Content Publisher to:
    1. Get email notification of an assigned task as part of OOTB workflow
    2. Enable editing of content and transitioning task via email
    3. IDEAL:  Generated email message in HTML format with Alfresco branding

The OOTB workflow should be a simple two-step (manager, legal) serial review process, including optional email notification and XML transformation. Transition steps should be basic Approve or Reject with Reject re-assigning the task to the Content Publisher along with potential email notification.


Development Plan


Assumptions


  1. Form model as formally specified by PHH is implemented
  2. XML Form Editor provides edit, save, view lifecycle
  3. Britt's test to determine path from AVM node ref succeeds

AVM Workflow Integration Approach


Integration points are:


Workflow Package


  • Create an AVM folder to represent workflow package container
  • Explicitly maintain list of layer changes (changeset) in AVM folder (container of child AVM noderefs to created, updated & deleted AVM items)
  • Create an AVM layer for each Workflow Instance (for context) rooted to Staging layer.  Add submissions to this layer.
  • Modifications during workflow are:
    • made in context of workflow layer
    • explicitly tracked in AVM folder representing workflow package

Task Dialog UI


  • Provide AVM specific Workflow Package Action groups that are configured into the WCM Task Dialogs
  • Each Action is coded explicitly for AVM store (as we are with rest of WCM UI)

Workflow Definition (Preview II)


  1. Workflow Roles
    • Content Manager (initiator)
    • Content Reviewer (reviewer)
  2. Workflow States
    • Start (initiator)
    • Review (reviewer)
      • approve -> Approved
      • reject -> Rejected
    • Approved (initiator)
    • Rejected (initiator)
    • End State
  3. Workflow Parameters
    • Workflow Transparent Layer Path
    • Content Reviewer
  4. Events
    • On assign of Review task, send e-mail to reviewer
    • On approve transition of Review task, AVM 'promote' Package changes

Workflow Definition (GA)


DC: My best guess...


  1. Workflow Roles
    • Content Manager (initiator)
    • Content Publisher (editor)
    • Content Manager (reviewer)
    • Legal (second reviewer)
  2. Workflow States
    • Start (initiator)
    • Edit (editor)
      • submit -> Stage1Review
    • Stage1Review (reviewer)
      • approve -> Stage2Review
      • reject -> Edit
    • Stage2Review (second reviewer)
      • approve -> Approved
      • reject -> Edit
    • Approved (initiator, reviewer)
    • End State
  3. Workflow Parameters
    • Workflow Transparent Layer Path
    • Content Publisher
    • 1st Reviewer
    • 2nd Reviewer
  4. Events
    • On assign of Stage1Review, Stage2Review tasks, send e-mail to reviewer
    • On approve transition of Stage2Review task, AVM 'promote' Package changes

Development Tasks (Preview II)


  1. AVM Workflow Package (paths from NodeRefs)
  2. Create Approval Workflow Definition
    1. jBPM definition, task model, localisation resource bundle
    2. Transform 'ActionHandler' (or javascript) for invocation within workflow - add result to workflow package from within workflow
      • Q: Transform via Script?? Which script/xslt?? Where to? When? Form Model required??
    3. AVM 'promote' workflow package 'ActionHandler' for invocation within workflow
    4. Review Task E-mail Template (plain text)
  3. Initiate workflow
    1. From within UI submit action (in user sandbox screen)
      • create workflow layer, AVM workflow package, add changes to package, assign workflow parameters, start workflow
      • Q: Is a UI Dialog needed here? Choose which workflow? Choose parameter values?
    2. From content save??? (I don't really understand this one) - definitely requires Form model to be in place
  4. Task Dialog AVM UI Actions
    1. View XML Asset
      • Q: What's being viewed? Rendered transformation? Original XML?
      • Q: Read-only XML Form required?
    2. Web Site Preview (launch new browser window with approp. URL)
  5. Access to Task transitions from within workflow definition (to support e-mail generation)
  6. Ability to generate preview URLs from within workflow definition (to support e-mail generation)

Development Tasks (GA)


  1. Update Approval Workflow Definition
  2. Task Dialog AVM UI Actions
    1. Add AVM Asset to Workflow Package
    2. Edit AVM Asset (assume that means launch XML Form)
    3. Remove ACM Asset??
    • What about transformations? When are they required?
  3. Review Task E-mail Template (HTML)
  4. HTML E-mail support
  5. Save workflow parameters and start workflow from saved parameters

Attachments

    Outcomes