Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Search

History

12/14/2007 12:28:37 PM
pschroer@aras.com
11/16/2007 7:55:10 AM
pschroer@aras.com
11/16/2007 7:50:06 AM
pschroer@aras.com
8/21/2007 7:07:16 PM
pschroer@aras.com
8/21/2007 5:51:30 PM
pschroer@aras.com
List all versions List all versions

Workflow
.

Aras On-Line RFP - Workflow

Question Response
Describe the process of editing or adding a workflow to the system. Tailoring Aras Innovator is performed using the Administrator’s Solution Studio screens using Internet Explorer. Forms, Workflows, Lifecycles, Identity membership etc, are all administered using an intuitive drag-n-drop interface. The Aras enterprise solutions are provided with pre-configured workflow process maps. The customer is able to modify these maps or create entirely new processes using the GUI-based solution studio provided.
Alert internal and external users via e-mail and/or an in basket dashboard when audit report or response is past due. (AUTOMATIC acceptance by auditee). Fully compliant. The Aras Innovator workflow engine includes features for serial flow, parallel flow, loop-back, voting, delegation, task refusal, escalation, reminders, and pooled voting. Notification is provided through a unified In-basket functionality and/or through email notification
Workflow Map Editor
On the fly workflow/lifecycle routing Workflows and lifecycles can be definitely be modified while in-process. With the right privileges you can do this interactively, using method code or through the web service. Some examples of workflow automation can be found at: http://aras.com/Community/files/folders/innovator_framework/entry23.aspx
Process workflow must be fully automated and easy to configure with real time view/editing. Fully Compliant. The built-in workflow service features serial flow, parallel flow, loop-back, voting, delegation, task refusal, pooled voting and email notifications. Workflow processes can be easily created and tailored by the customer.
Ad-hoc Access control – activity based access control Each Item in Aras Innovator is linked to a Permission item (similar to an Access Control List), which controls access to that item. Permissions may be specific to a single item (aka Private Permission) or may be the same for many items. Permissions may easily be changed as an item goes through its lifecycle using State Permissions, or may be set through method code or the web service.
Task allocation at runtime Tasks can be assigned at runtime using a built-in substitution mechanism. This allows you to assign tasks (and Permissions, etc.) to users that serve in roles specific to individual items (like Document Owner). Method code can also be used to implement more sophisticated assignment logic.
Provide electronic sequential approval signatures and dates for each document. Fully compliant. Customer configurable workflow processes provide the approval/e-signature and sign off dates
Provide a system for tracking document change control requests by site and department with requester name, date, requested change and date approved or rejected Fully compliant. Integrated change request and change notification
Alert internal and external users via e-mail and/or an in basket dashboard when documents have been reviewed, approved or obsoleted and provide the capability for the system administrator to know who has received and read the documents. Fully compliant. Workflow and project assigned tasks are both emailed, and also tracked in an in-basket dashboard. User interactions with the InBasket are logged to the database to provide evidence that users have received and read documents.
Have the ability to send documents out to several people at one time in parallel for review and comments multiple times with a date the documents were sent and the date each person made comments. Fully compliant. Workflow maps allow for the automated routing of the document through the approval process. Workflows can include both serial and parallel Activities, and looping (iteration) between Activities. All activity is logged to the database for reporting and metrics.
Have the ability to send documents out sequentially for approval in series using predetermined approval lists. Fully compliant. Customer definable workflow maps allow for the automated routing and commenting on of the document approval process
Process workflow must be fully automated and easy to configure with real time view/editing. Fully compliant. The built-in workflow service features serial flow, parallel flow, loop-back, voting, delegation, task refusal, pooled voting and email notifications. Workflow processes can be easily created and tailored by the customer.
Automatically trigger regulatory issues and OTC cGMP requirements. Fully compliant with tailoring. The built-in workflow service features serial flow, parallel flow, loop-back, voting, delegation, task refusal, pooled voting and email notifications. Workflow processes can be easily created and tailored to meet customer specific processes. Aras Innovator Program Management would also be able to be utilized to manage activities related to quality audits. Utilizing this method, regulatory issues and OTC cGMP requirements can be modeled in project templates as activities or checklist tasks. The most effective method that aligns best with Alberto-Culvers business processes would be determined during the assessment and implementation processes.
Does the workflow have computed approvers The Aras workflow engine can dynamically make Activity assignments. (we call computed approvers as “dynamic assignments”). There are several built-in Identities which are dynamically mapped at workflow run-time (such as creator and owner), and the workflow engine has many events that can be used to programmatically make dynamic assignments; for example when the workflow is first initiated, or during the processing of Activities. There is a pre-defined event on the Activity named OnActivate which would be the latest point in time to make dynamic assignments for a specific Activity. There are two good packages on the Aras Community site that use dynamic assignments well, that you can use as example code.
Does workflow support Group assignment Workflow Activity assignments are made to one or more Identities, which each can be a single individual or a group. For example, an Activity can be assigned to the Identity “Peter Schroer” which is an individual. Or an Activity can be Assigned to 2 Identities, “Peter Schroer” and “Rob McAveney”. Both individuals will receive the notification. Using the Voting_Weight and Required flags, you can specify how the workflow engine should treat the two assignees. The flexibility of the Identity structure allows “group” Identities to be assigned Activities. There is a For_All_Members flag on the Assignment that lets the administrator specify whether any one person from the Identity should vote, or whether the entire member set should be required to vote.
Optional approvers (names added to data fields on some records but not others; workflow engine routes to them if present) I assume your use case is using Dynamic Assignments, and for the same Workflow Map, you want the workflow engine to rout to a different list of people that are associated with the Item being routed, but it will a different list on each instance of the Item. Yes, the Workflow engine can handle this. Simplest case, you can use the Owner or Manager property of the routed Item, and have a different Identity, representing different groups of persons, as the value of the Manager property. The workflow engine will use the exploded list of group members, specific to each instance of the routed Item, for the Activity assignments matrix. Using Methods to make dynamic assignments gives even more control dynamically…. For example, the Method can add, delete, modify any Activity assignments based on properties of the routed Item, and can even add/delete/modify entire Activities and the paths between them, per workflow instance. Method based dynamic assignments can be used to add assignment records, only when the routed Item has certain data fields populated
Logical branching A running Workflow Process instance is comprised of Activities connected by Paths. Each Path has a string value associated with it. When Activities are assigned to Identities, the normal behavior is an email message, and a record in the user(s) Inbasket(s). When the user views the workflow from the in-basket, they are presented with a list of allowed “votes” based on the names of paths. Workflow Activities can also be flagged as Automatic (not requiring user intervention). In this case the Workflow Engine will run a specified method, which returns the string value of the desired path to follow. Method logic in this case can be very simple Boolean logic, such as take path A if purchase_order_value > $10 otherwise take path B. All logic for branching is written in C# or VB and is stored in a Method.
Delegation (people able to take approval action when task assigned by original approver of that step) Innovator Workflow Engine supports two modes of Delegation. There is Activity level delegation that can be enabled (check box) for any Activity by the administrator of the Workflow map. If enabled, then the original Assignee for the Activity will be allowed to “delegate” his Activity to another person from the In-basket. The other form of delegation uses the hierarchical nature of Identities to allow a User to add someone to their Alias Identity (for a date range). During that date range, such as vacation, the second user can respond to all workflow assignments and make approvals as the original person. The workflow engine does keep track of which user actually takes the actions. There is currently no special UI to allow end-users to manage their own Identity membership. We had planned to use standard Innovator forms. A recent customer request for a specialized dialog that is accessed from the Admin->Preferences menu has been spec’ed but not developed yet. In this case Freudenberg-FDS made he request, you could offer to split the development budget with them. I’ll email you their specification if you are interested (and after getting their permission).
Proxies (people able to take action on behalf of another; they would not get notifications, just permissions) Proxies (if I understand the use case correctly) would fit the second mode of Delegation defined above. In the default Innovator behavior though, the proxie does see the assignments (activities) they are allowed to vote on, in their inbasket. There is an enhancement request already filed in MyInnovator to enable filtering of the InBasket to make the proxie’s life simpler, ie. display my direct Activities vs. display the Activities that I am able to work on as a proxie for others.
Substitutions (people appointed to act on behalf of another for a period of time; they would get the work intended for another) Substitutions sounds like the second mode of Delegation that I described above. Using the Hierarchical Identity structure, anyone who is made a member of an Identity, can act on the behalf of that Identity. This works for Group and Alias Identities. The Identity Membership relationship has Date range properties on it. They are used in all security and assignment calculations…. But are normally hidden columns in a default Innovator Installation.
Requests for assistance without delegation (current approver may route to another for modification of info without yielding approval authority) Ad-hoc workflow process activity creation can be done programmatically (workflow processes can have Activities and Paths added/deleted/modified at run-time through Methods). Varian Semiconductor developed an interesting solution for a simple UI for users to allow them to create ad-hoc requests for help. Essentially the UI prompts the user for the name of the helper (or series of helpers), and builds a structure that includes a new activity, and two paths (routing to the new activity and back). When the helper is done with their Activity, the workflow routes back to the originator, who can then make the final approval. This solution is running in production at Varian today on Innovator version 6.1. Aras has the UI and code-behind for this feature, and this can be shared with other customers, or put into the standard product.
Able to handle significant number of steps both in design and user modes There is no practical limit on the number of Activities and Paths in a single Workflow Map, either in the database or in the UI workflow drawing tool. When a workflow process instance is running, the entire workflow data model is never completely loaded into memory (unlike some other workflow engines). Each Activity knows the Paths and related Activities to itself, and all transactions are processed within the scope of this limited data set. This means that the size of the workflow process does not impact run-time performance. “Large” workflows have a performance impact only on the initial instantiation. When a workflow process is created from a Workflow Map, a full copy of the map is made. This is required to support the dynamic workflow process changes that are allowed. In more practical terms, it is not easy for an administrator to visualize and maintain a very large complex map…. And they do not need to do so with Aras Innovator. Innovator supports the concept of Sub-Flows. Any Activity in a Workflow map can be flagged as a Sub-Flow, by specifying the name of the Workflow Map that contains the sub-process steps. No users are assigned to this sub-flow Activity and when the Workflow process reaches this Activity, a new workflow process instance of the specified Sub-Flow map is created automatically and started. Control will return to the original Workflow Map when the Sub-flow completes. There is no limit to the number of sub-flows that can be defined, or the levels of depth. Several advantages to using sub-flows are: (1) simpler for the admin to maintain smaller maps and (2) they can delegate development and administration of the sub-flows to the process owners and (3) faster workflow initiation time, since the sub-flows are not instantiated (copied from Map to Process) until needed.
Metric reporting (cycle times, bottleneck detection, etc) All timestamps from all events on a running workflow process instance, are stored in Sql Server on the data model of the workflow process instance. For example, it is possible to determine from the tables the time that an Activity is activated (assigned), the amount of queuing time before the user began working, and the completion time for the activity. Innovator does not include any standard reports or analytics for workflow, and customers that have created their own custom reports and dashboards as required. Creating a packaged set of reports, analytics and even a process simulator are good examples of community projects that might have broad general appeal.
Ability to reset workflow maps, as well as potentially reassign a workflow map to an updated workflow version, and re-initiate for an already created Item? The Aras Innovator Workflow engine terminology is Maps and Processes. Maps are the definitions of a business process. Think of these as the templates or SOP’s. Processes are instances of the Map. A Workflow Process is connected to an Innovator Item (the item being routed), and is created as a copy of a Workflow Map. It is possible to reset (programmatically) a running Workflow Process. I’ve seen customer installations that have a button and/or Action menu that resets the Workflow Process back to the first Activity. Once a Workflow Process is started (copy made of the Workflow Map, and the first Activity is activated), it is now separate from the Workflow Map. This allows procedural changes to the Map, that do not invalidate any of the Process instances. We do not recommend automatically applying new Map definitions (“updated workflow version”) to a running Workflow Process instance, because the differences in the Activity sequences can be subtle, and there is too much risk of a mission critical step being skipped. The recommended best practice is to decide to (1) leave the current Workflow Processes running until completion, or (2) cancel the current Workflow Process and start a new one using the new Map definitions
When creating the Dynamic assignment of an activity in a workflow, how is the managed by Identity notified that they have an activity to assign the user identity from the defined group identity? I assume the question applies to a workflow, in which an early Activity requires someone to make some property assignments on the routed item, such as the managed_by_id property, such that a later Activity can use the built-in dynamic assignment of Manager to route the workflow to the correct person. The message for the earlier Activity should be clear that the user is supposed to make the assignment, and since this is a critical piece of data, I would recommend adding a Path Pre-Method to the workflow path that tests whether the managed_by_id value was set. When the user assigned to the earlier activity votes “Done”, his vote will be rejected if the value was not filled in.
Is there a How to/guide document for completing the automatic lifecycle promotion for the progression of the associated workflow? (We tried to get the automatic lifecycle promotion to work in class. Customers have said that they tried several times to get it to work, but was only able to get it to work when she sent the DB back to Aras for Help) There have been several discussions on the Forum about this topic, and we recognize that the current documentation is not sufficient. Many customers have gotten these Workflow-to-Lifecycle automations working well, but the are certainly some tricks and pitfalls. One of the pitfalls is that the Lifecycle state names must be unique across all Lifecycles. The good news is that this automation has been completely revamped in version 8.2, and it is much easier to configure and maintain.
If a change is made to a Lifecycle, what happens to the Lifecycle of Items that have already been created? Should it still reference the previous LifeCycle or should the referenced lifecycle be the latest version? It appears that the lifecycle change effects all of the Items that reference that lifecycle. This is different than the behavior for workflows. As you noted, Lifecycles and Workflows have very different behaviors, fitting the different roles they play. Lifecycles are state diagrams, used to model the states that business objects move through during their lifecycle. Each Itemtype points to a default Lifecycle, and all instances of an items are in Lifecycles. Architecturally, there is only the Lifecycle Map, and all items have just a pointer to which State in the Map they are currently at. The Map is shared by all the items, so appears to be instantly updated on all the items when the Admin changes the Lifecycle Map. Lifecycle is often used to drive automation in Permission changes, and trigger events for data integrations with 3rd party systems. Lifecycles can also send email notifications, but this is not workflow. The Aras Innovator Workflow engine is use to route work (“activities”) to people and programs. With Workflow there are two items, the Workflow Maps which represent the business process templates or SOP’s, and Workflow Processes which represent one instance of a running workflow. When the Map is changed, the currently running Workflow Processes and the history of completed Workflows is not changed. Each Workflow Process is a copy of a Workflow Map, but the connection is broken at the time the copy is made. Items are always in exactly 1 Lifecycle, but can be routed or attached to 0,1 or many Workflow Processes.
How do we view/reference the variables that are captured during the completion process of a workflow activity? Is there an intention to provide a UI based access to the variables? The variables can be accessed either programmatically or in reports. There is not currently an out-of-the-box form that displays the values of Workflow variables. They can be used in Methods to alter the path’s of workflow routings for example, or copied (by a method) to properties on the routed item. We currently do not have a well defined use case for displaying the value of the variables, but if you can contribute such a use-case, we would add this to the product roadmap.
Is workflow instance specific to the object or item or for multiple items managed by one workflow definition?. For example if a change is made to a workflow (add a task) on an ECR, does it affect more than that one ECR? The Aras Innovator Workflow engine terminology uses Maps and Processes. Maps are the definitions of the business process. Think of these as the templates or SOP’s. Processes are instances of a Map. A Workflow Process is always linked to a single Innovator Item (the item being workflow routed), and is created as a copy of a Workflow Map. Changes made to a Workflow Map (ie. adding a task) are not propagated automatically to any of the running Workflow Process instances. Workflow Processes are not automatically updated with Map changes in order to ensure the integrity of running workflow instances.
Access rights to objects - are there only 4 choices - get, update, delete, can change access how does this work with user roles? Does the system have the ability to give promote access but not edit access to one role/group? Promote permission is assigned specifically for each possible promotion on each Lifecycle Map. In the Lifecycle Map editor, each State-to-State Promotion (the allowed “transitions”), has an Identity associated with it. Only members of this Identity will be allowed to make the promotion. In this way, Update permissions to the Item are separate from Promotion rights.

Recent Topics