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:
- 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).
- Enable Content Reviewers to:
- View an XML asset (see content in read-only form)
- Preview generated assets (via Virtualization Server)
- Transition task (Approve, Reject)
- Enable Content Reviewers to:
- Get email notification as part of OOTB workflow
- Enable viewing XML, previewing generated assets, and transitioning tasks via email
- 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:
- Enable a Content Manager to initiate workflow on an AVM
- Enable a Content Manager and/or a Content Publisher to add one or more assets to an existing workflow task
- Enable a Content Publisher to edit an assets (either XML or other assets) within a workflow task
- Enable a Content Publisher to:
- Get email notification of an assigned task as part of OOTB workflow
- Enable editing of content and transitioning task via email
- 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
- Form model as formally specified by PHH is implemented
- XML Form Editor provides edit, save, view lifecycle
- 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)
- Workflow Roles
- Content Manager (initiator)
- Content Reviewer (reviewer)
- Workflow States
- Start (initiator)
- Review (reviewer)
- approve -> Approved
- reject -> Rejected
- Approved (initiator)
- Rejected (initiator)
- End State
- Workflow Parameters
- Workflow Transparent Layer Path
- Content Reviewer
- 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...
- Workflow Roles
- Content Manager (initiator)
- Content Publisher (editor)
- Content Manager (reviewer)
- Legal (second reviewer)
- Workflow States
- Start (initiator)
- Edit (editor)
- Stage1Review (reviewer)
- approve -> Stage2Review
- reject -> Edit
- Stage2Review (second reviewer)
- approve -> Approved
- reject -> Edit
- Approved (initiator, reviewer)
- End State
- Workflow Parameters
- Workflow Transparent Layer Path
- Content Publisher
- 1st Reviewer
- 2nd Reviewer
- 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)
- AVM Workflow Package (paths from NodeRefs)
- Create Approval Workflow Definition
- jBPM definition, task model, localisation resource bundle
- 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??
- AVM 'promote' workflow package 'ActionHandler' for invocation within workflow
- Review Task E-mail Template (plain text)
- Initiate workflow
- 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?
- From content save??? (I don't really understand this one) - definitely requires Form model to be in place
- Task Dialog AVM UI Actions
- View XML Asset
- Q: What's being viewed? Rendered transformation? Original XML?
- Q: Read-only XML Form required?
- Web Site Preview (launch new browser window with approp. URL)
- Access to Task transitions from within workflow definition (to support e-mail generation)
- Ability to generate preview URLs from within workflow definition (to support e-mail generation)
Development Tasks (GA)
- Update Approval Workflow Definition
- Task Dialog AVM UI Actions
- Add AVM Asset to Workflow Package
- Edit AVM Asset (assume that means launch XML Form)
- Remove ACM Asset??
- What about transformations? When are they required?
- Review Task E-mail Template (HTML)
- HTML E-mail support
- Save workflow parameters and start workflow from saved parameters