Proposals for New Features for Linthal System


Revision Workflow Assistant

Overview

The goal is to have a single button for completing a revision workflow step. This is to make it easier for users to complete workflow steps.

The button would allow the user to complete a workflow step without having to use the update revision transaction (which is confusing for many users, and also allows them to change things they shouldn't). The implementation will additionally separate the roles for completing workflow steps from the roles for creating and updating documents and revisions.

User Interface

The workflow assistant is called from button in the revision detail screen. A button is displayed for each workflows step that is ready to be completed.

The workflow assistant allows you to set the following fields:

  1. Complete Date (defaults to current date)

  2. Responsible Person, defaults to current user, or Select if the user does not have the workflow step role (e.g. for admin users)

  3. Status, if the workflow step has an associated status field

  4. Note, if the selected status requires a note (e.g. for approved with comment and rejected)

The field names displayed in the input form will be set with text according to the type of workflow step being completed. E.g. the user will see easy to understand names like Approval Date, Check Status, etc.

The workflow assistant must also validate the input data:

  1. The complete date must be >= the complete date of the previous workflow step

  2. The status must not be open or not required

  3. If the selected status requires a note, then there must be text in the note field

Revision update would work as before, but will require the user has the revision update role.

Implementation

The implementation has two parts:

  1. Implementation of a workflow step update transaction
  2. Cleanup of user roles, creating a new revision update role separate from the workflow step roles

Possibilities for implementation of the user interface are:

  1. Via standard FSM and BTs
  2. Via jQuery and REST/AJAX (preferred)

In either case, pressing the workflow step button would bring up a new page (or in the case of the jQuery solution, display a new screen area or popup containing the workflow step input fields). The user then enters the complete date, responsible person, status and (if required) the note.

In order to run the transaction the user must have either the administrator role or the appropriate workflow step role for the given revision. The workflow step role would not give the user rights to update the revision (e.g. change the revision's title or other classification fields).

Implementation Steps

Estimated activities and effort for implementation:

  1. User Roles cleanup
    1. Separate drawing and revision new/update roles
    2. Separate workflow roles (designer/checker/approver/etc.)

      1. Update transaction profiles
    3. Combine the approver 1-4 roles into a single approver role

      1. Update Roles configuration data
    4. Get rid of Start workflow step?

      1. Goal is to replace it with a Design and/or Produce step with plan date, complete date (and status?)

    5. Implement a migration script for updating the existing user roles
    6. Update Axpo's user role Excel spreadsheet
  2. Update revision detail display
    1. Buttons replace the next incomplete and executable workflow steps
    2. Print format (buttons not displayed)
    3. Change roles controlling the update revision button

  3. Implement client side jQuery based workflow assistant GUI
    1. Display new screen area
    2. Show hide note field based on status
    3. Implement client side field validation
      1. Complete date validation
      2. Status and notes validation
  4. Implement server side update transaction
    1. REST dispatcher
    2. Authorization/role checking
    3. Data validation
    4. Database update for workflow step
    5. Database insert for revision history
  5. Implement of basket workflow updates most of this is already implemented)
    1. Check all revisions in same group
    2. Check workflow step being performed is the next incomplete step
    3. Handle entry of notes for Reject and Approved with corrections status (via Javascript)

  6. System Test


Revision Workflow Notes Manager

Overview

The goal is to provide user functions that make it easy to use a single task/comment to capture all the notes and discussion associated with a revision's workflow process. This includes the ability to attach files (such as red-lined PDFs) to workflow step comments.

The user will be able to enter notes associated with workflow steps entered directly from the workflow assistant (described above). The notes are then automatically added to the revision's workflow task. The revision detail screen will also display the workflow comment and links to any attached files.

Implementation of this feature requires that the workflow assistant is also implemented.

User Interface

  1. Use the workflow assistant with minor modifications
    1. Change the workflow step entry form to allow uploading of a file
  2. Changes to the revision detail to display the revision's workflow task notes and attached file links
  3. Changes to basket function to allow entry of notes and an uploaded file

Implementation Steps

  1. DB model update:
    1. Add a new fields:
      1. Revisions.workflowCommentId -- Points to the Revisions's workflow comment

      2. Revisions.check1CommentNoteId -- Points to the checker's comment note

      3. Revisions.approval1CommentNoteId -- Points to the approver-1's comment note

      4. Revisions.approval2CommentNoteId -- etc.

      5. Revisions.approval3CommentNoteId

      6. Revisions.approval4CommentNoteId

      7. Revisions.releaseCommentNoteId

    2. Remove fields: (replaced by the fields above)
      1. Revisions.approval1Comment

      2. Revisions.approval2Comment

      3. Revisions.approval3Comment

      4. Revisions.approval4Comment

      5. Revisions.releaseComment

  2. Implement changes to revision detail screen:
    1. Display of workflow notes associated with workflow steps
    2. Display of workflow note file download links
  3. Update workflow assistant to allow:
    1. Uploading of an attachment file, which gets attached to the appropriate comment note (depending on workflow step)
  4. Implement server side transaction:
    1. To insert initial entry of notes, possibly allowing notes to be updated (overwritten)
    2. Allow uploading (and deletion and re-uploading?) of workflow note attachment files
  5. Changing the document basket workflow function
  6. Implement script to migrate existing workflow notes (stored Revisions table comment fields) to the revisions's workflow task and task notes.

AxpoProposalRevisionWorkflow (last edited 2010-04-26 12:37:29 by softxs)

Copyright 2008-2014, SoftXS GmbH, Switzerland