Interplay MAM Process Reference. Release 5

Size: px
Start display at page:

Download "Interplay MAM Process Reference. Release 5"

Transcription

1 Interplay MAM Process Reference Release 5

2 Contents Using This Reference... 5 Symbols and Conventions... 5 If You Need Help... 6 Avid Training Services Overview Architecture... 8 Process Design... 9 Process Modeler... 9 Workflow Editor... 9 Datamodel Administrator Process Execution Interplay MAM Desktop MediaCentral UX State Machine: Process Execution Engine Thesaurus Data Management Workflow Engine User Management Process Monitoring Process Administrator Workflow Monitor MediaCentral UX Process Notation Overview Processes Activities Sequence Flows Gateways Events Threads Common Element Properties Processes Activities State Task Error Task Script Task User Task Sub-Process... 28

3 Sequential Loop Parallel Loop Flows Sequence Flow Conditional Flow Default Flow Gateways Exclusive Gateway Parallel Gateway Events Process Start Process End Delay Expressions Predefined Value Using a Filter in NumberOfAttachments Access to Process Attributes Access to Task Attributes Task Aggregate Functions Operators Serialization Process Configuration Data Model Common Types Process Classes Process Templates User Task Templates Thesaurus Workflow Scripts Modifying a Process Model by Configuration Configuring Attribute Propagation for Child Processes Configuring Child Processes in Datamodel Administrator Configuring Attribute Propagation in System Administrator Overview of the BPMProcesses Profile Configuring the Actions Menu for MediaCentral UX Defining the Order of Actions Menu Items Changing the Labels of Actions Menu Items Defining Actions Sub-Menus in MediaCentral UX Configuring Quick Send for MediaCentral UX Attaching Objects from Non-MAM Systems to Processes Overwriting Allowed Classes Overwriting User Task Properties Overwriting the Workflow Script Name for a Script Task

4 Using Configuration Values as Script Task Inputs Using Configuration Values for Decisions Best Practices Naming Guidelines Process Models and Process Classes Process Attributes Process Element Names Task State Names Metadata Templates Workflows Process Modeling State Tasks in Parallel Threads Restrict Access to Process Metadata Glossary References Disclaimer

5 Using This Reference Congratulations on your purchase of Avid Interplay Media Asset Manager (Interplay MAM), a powerful system for archiving and managing media in a shared storage environment. This document is a technical reference for the domain of Business Process Management and is intended for project engineers. Symbols and Conventions Avid documentation uses the following symbols and conventions: Symbol or Convention Meaning or Action A note provides important related information, reminders, recommendations, and strong suggestions. A caution means that a specific action you take causes you to lose data. Courier Courier blue font Italic font Courier bold font Courier on gray background indicates code examples. Courier blue font on gray background emphasizes code in examples. The arrow indicates that line breaks in code examples are not allowed when using or writing comparable code. Italic font is used to emphasize certain words. Courier bold font identifies text that you type. > This symbol indicates menu commands (and subcommands) in the order you select them. For example, File > Import means open the File menu and then select the Import command. <placeholder, variable> UPPER CASE This symbol indicates a single-step procedure. Multiple arrows in a list indicate that you perform one of the actions listed Angle brackets indicate placeholders or variables. Indicates names of processes, process classes, data model attributes, legal lists, legal list values, states of tasks, and templates

6 If You Need Help If you are having trouble using your Avid product: 1. Retry the action, carefully following the instructions given for that task in this guide. It is especially important to check each step of your workflow. 2. Check the latest information that might have become available after the documentation was published. You should always check online for the most up-to-date documentation because the online version is updated whenever new information becomes available. To view the online versions, visit the Knowledge Base at 3. Check the documentation that came with your Avid application or your hardware for maintenance or hardware-related issues. 4. Visit the online Knowledge Base at Online services are available 24 hours a day, 7 days a week. Search this online Knowledge Base to find answers, view error messages, to access troubleshooting tips, download updates, and read or join online message-board discussions. Avid Training Services Avid makes lifelong learning, career advancement, and personal development easy and convenient. Avid understands that the knowledge you need to differentiate yourself is always changing, and Avid continually updates course content and offers new training delivery methods that accommodate your pressured and competitive work environment. For information on courses/schedules, training centers, certifications, courseware, and books, please visit and follow the Training links, or call Avid Sales at AVID ( ). 6

7 1 Overview This technical reference describes the domain of Business Process Management. The following chapters provide information for managing Business Processes in Interplay MAM: Architecture Process Notation Process Configuration Best Practices The document is complemented by a glossary of terms related to Business Process Management, and a references section with links to the relevant standard documents and other Interplay MAM documentation. Glossary References

8 2 Architecture Interplay MAM requires the interaction of multiple components to put Business Process Management into effect. The architecture diagram illustrates the main components that are involved in process management and the basic interactions between these components. Blue boxes denote Interplay MAM core services, and green boxes represent user interfaces with the system. All activities in the context of process management in Interplay MAM can be linked to Process Design, Process Execution, or Process Monitoring. These categories of activities are implemented by one or more of the components as shown in the architecture diagram. The following topics provide information about the roles of individual components and their interactions: Process Design Process Execution Process Monitoring

9 Process Design Process Design The design of processes includes the activities: Creating a process model using the Process Modeler application Creating a workflow script in the Workflow Editor Providing the runtime configuration for the process in Interplay MAM using the Datamodel Administrator These activities are typically performed by project engineers to create and configure custom processes in Interplay MAM. Process Modeler The Process Modeler is an application that supports the design and modeling of business processes. For these purposes, it provides the following features: Creates and saves new process models Opens and modifies existing process models Can be run as an embedded Web or standalone application Supports modeling using a subset of Business Process Model and Notation (BPMN) Version 2.0 Stores processes as XML Process Definition Language (XPDL) files Supports loading, editing, saving, and uploading of processes with Interplay MAM Supports all BPMN features available in Interplay MAM For information about the Process Modeler, refer to Interplay MAM Process Modeler User s Guide shipped with the software. Workflow Editor Workflows are needed to provide the custom functionality for the script tasks in a business process model. The Workflow Editor provides the following features: 9

10 Process Execution Creates and saves workflow scripts Opens and modifies existing workflow scripts Syntax highlighting for the SWoDL scripting language that is part of Interplay MAM Syntax checks for SWoDL scripts Upload of workflow scripts into Interplay MAM Datamodel Administrator The Datamodel Administrator is an application that provides the necessary runtime configuration to facilitate the execution of process models. In the context of process management, the Datamodel Administrator provides the following features: Creates process classes that define the runtime representation of a process model Creates metadata templates for the visual representation of processes and user tasks For information about the Datamodel Administrator, refer to Interplay MAM Datamodel Administrator User s Guide shipped with the software. Process Execution Process execution is implemented by backend and frontend components. The main backend services that are involved in process execution are outlined in the following sections: State Machine: Process Execution Engine Thesaurus Data Management Workflow Engine User Management Interplay MAM Desktop is the application frontend that enables users to interact with process instances. 10

11 Process Execution Interplay MAM Desktop The Web application allows: Creating processes Viewing processes and process tasks Editing processes and process tasks Searching and filtering for processes in Process Folders For more information on MAM Desktop, refer to Interplay MAM Desktop User s Guide shipped with the software. MediaCentral UX The Web application allows: Creating processes Viewing processes and process tasks Editing processes and process tasks Defining context criteria and filtering for processes in the Process Dashboard pane Monitoring process execution For more information on Avid MediaCentral UX, refer to the Avid MediaCentral UX User s Guide. State Machine: Process Execution Engine The State Machine is the Process Execution Engine for all process instances. The Process Execution Engine provides the following features: Management of all process models in a central process repository Execution of process instances according to their underlying process model and their corresponding model version 11

12 Process Monitoring Thesaurus The Thesaurus service facilitates the process localization. Every time a process model is uploaded into the process repository, the localization for this process is automatically created or updated. Data Management In the context of process management, Data Management serves the following purposes: Persistent storage of metadata for all process instances Creation of events for the process execution engine depending on metadata changes Provision of metadata templates to visualize processes and tasks as part of the system's data model Workflow Engine The Workflow Engine executes all workflow scripts that are triggered by script tasks in the flow of process execution. Workflow scripts put service orchestration into practice. User Management Process models can apply restrictions on the execution of manual tasks. Users or user groups that are allowed to execute the tasks must be specified. During the execution of a process, User Management is queried to authorize users for access to the manual tasks. Process Monitoring Monitoring activities can be accomplished with the help of the following services: Process Administrator A Web application that provides administrators with the following features: Support of uploading, downloading, and editing of processes with Interplay MAM Searches for processes, tasks, or events Creation of new processes 12

13 Process Monitoring Display of information about processes, events, or tasks Display of a graphical representation of the underlying process model for a process instance and the steps through its execution history For more information on Process Administrator, refer to Interplay MAM Process Administrator User s Guide shipped with the software. Workflow Monitor A Web application that provides administrators with the following features in the context of process monitoring: Searches for processes and their workflow scripts Display of basic information about processes and their workflow scripts Display of a graphical representation of the underlying process model for a process instance and the steps through its execution history Access to detail information on workflow scripts For more information on Workflow Monitor, refer to Interplay MAM Workflow Monitor User s Guide shipped with the software. MediaCentral UX The Web application offers process monitoring features in two panes. Progress Pane Lets a user monitor the processes that he created in MediaCentral UX and are active or were completed during the last 24 hours. For each process, the Progress pane shows the process title, the number of assets that are attached to it (if there are any), and information about its life cycle and status. For initialized and running processes, a progress bar is also shown. For active processes that allow cancellation a Cancel button is shown. In case a problem occurs, and the Details property field is supplied in Interplay MAM, a Details link displays the error message that is reported from the Interplay MAM system. 13

14 Process Monitoring Process Dashboard Pane Lets a user monitor all processes that he is allowed to see. Provides the following monitoring features: Monitoring of processes for a defined context. This includes selecting the process source and the system that provides the processes. Displaying processes in a Process List, which is updated automatically upon process changes, matching the dashboard context settings and filter criteria Displaying processes grouped by the process group property or in a flat list Applying filters to the processes shown in Process Dashboard pane (such as life-cycle or creation time-based filters) Displaying diagrams that provide a visual summary of processes visible in the Process Dashboard pane For more information on Avid MediaCentral UX, refer to the Avid MediaCentral UX User s Guide. 14

15 3 Process Notation Interplay MAM uses a subset of BPMN 2.0, which is a graphical language to specify business process models. The following process diagram is an example of a process model in Interplay MAM. This chapter describes all BPMN process elements supported by Interplay MAM 4.1 and higher. It starts with an overview of the notation, and additional information about the various types of elements is provided by the topics: Common Element Properties Processes Activities Flows Gateways Events Expressions Serialization

16 Overview Overview The overview of the supported notation shows the icons for the process elements, their names, and short descriptions. Interplay MAM uses a default color scheme for the process elements. However, the colors do not convey any technical semantics. The following types of elements are distinguished: Processes Activities Sequence Flows Gateways Events Threads Processes Interplay MAM supports one top-level process per process model. A process has no explicit graphical representation. Activities Activities are elements that have an effect and indicate the real work in a process model. Activities are graphically represented by rectangles with rounded corners. Icons inside the activity elements specify the activity. Interplay MAM implements the following activities. Activity Element Description State Task Sets a new process state and progress. Error Task Sets a new process state and progress. Additionally, an error flag is set automatically. 16

17 Overview Activity Element Description Script Task Starts a workflow in the Interplay MAM Workflow Engine for synchronous execution. User Task Requires a user action and is completed by a user action. Embedded Sub-Process Placeholder for a more complex structural element of the process. An embedded sub-process has no process instance of its own and therefore has no local variables. Sequential Loop (Sub-Process) Sub-process that is executed in a loop, <1> iteration at a time. Parallel Loop (Sub-Process) Sub-process that is executed in a loop, <n> iterations at a time. Sequence Flows Sequence Flows are represented by arrows that connect the elements in a process model. Interplay MAM distinguishes three types of Sequence Flows as shown in the following table: Element Description Generic Flow Specifies a flow between two process elements. Conditional Flow Specifies a flow that depends on a condition. Default Flow Specifies the flow if no condition is met. 17

18 Overview Gateways Gateways control the flow in the process model. A Gateway itself does not have an effect on the process metadata. Interplay MAM implements the following Gateways. Element Description Exclusive Gateway Represents a decision in the process model and switches the control flow depending on the evaluation of an expression. The process flow continues only on one of the outgoing flows. Parallel Gateway (Fork/Join) Represents a fork in the process model. The process flow continues on all outgoing flows in parallel. The Parallel Gateway also represents a join in the process model that synchronizes all incoming flows into one outgoing flow. Events Event elements control the sequence or timing of process activities. Interplay MAM implements the following Events. Element Description Process Start Event Indicates the start of a process. Process End Event Indicates the end point of the process. Delay Event Waits for a specified amount of time or point in time. Threads Threads are flows that can be performed in parallel. They can be viewed as virtual process elements and they have no explicit graphical representation. Threads are spawned either explicitly using a Parallel Gateway element or implicitly using a Parallel Loop element. 18

19 Common Element Properties The following diagram shows an example of a process model containing nested threads. The threads are highlighted by blue boxes for illustration only. Otherwise, blue boxes are not displayed. Nested threads must always be joined properly. The example shows two inner threads that must be joined before the outer threads are joined. Joining the outer thread before the inner thread leads to an incorrect process model. Common Element Properties Activities, gateways, and events have a specific set of properties. The following table shows the list of properties common to these elements: Property Type Description Description Text Textual description of the element. Name Text Name of the element. This name must be unique for each model element in the context of one process model. Name Localization Text Tenant- and language-dependent localization of the Name property. Border Color Color ARGB value for the border color. Border Visible Boolean Flag that defines if a border is shown. Color Color ARGB value for the shape color. 19

20 Processes Property Type Description Font Color Color RGB value for the font color. Font Name String Name of the font family. Font Size Integer Size of the font (pt). Height Integer Height of an element (px). Width Integer Width of an element (px). X-Coordinate Integer Coordinate X of an element in the diagram. Y-Coordinate Integer Coordinate Y of an element in the diagram. Processes The following table lists the properties of processes: Property Type Description Tenants List List of tenant IDs. Languages List List of languages. Contributors List List of contributors. Contributors are groups and individual users that are permitted to interact with the manual tasks of a process. Allowed Object Classes List For local MAM assets, the names of the object classes that are allowed for the process. To attach EDLs, the entry EDL must be used. For non-local and non-mam assets, see Attaching Objects from Non-MAM Systems to Processes on page 67. Allowed Objects Max Integer Maximum number of attached objects. Allowed Objects Min Integer Minimum number of attached objects. Allowed EDLs Max Integer Maximum number of attached EDLs. Allowed EDLs Min Integer Minimum number of attached EDLs. Allowed Total Max Integer Maximum number of attached objects plus EDLs. 20

21 Activities Property Type Description Allowed Total Min Integer Minimum number of attached objects plus EDLs. Activities The following sections provide information about the activities: State Task Error Task Script Task Input and Output Mapping of SWoDL Variables to Process Attributes User Task Supported Placeholders Sub-Process Sequential Loop Parallel Loop State Task A State Task is an activity that sets a process state and progress. The unique name of the element defines the actual state of the process. Progress defines the overall progress of the process. Once a State Task is executed, the process automatically continues with the next element. A State Task may have multiple incoming Sequence Flows, but only one outgoing Sequence Flow. In addition to the common element properties, the State Task has the following property: Property Type Description Next user Text Suggests the user to perform the next task. Only a contributor to the process can be the next user. Next group Text Suggests the group to perform the next task. Only a 21

22 Activities Property Type Description contributor group of the process can be the next group. Progress Float Percentage of process completed. The fractional amount of the value can be omitted. Error Task An Error Task is a State Task that sets a process error flag in addition to process state and progress. Once an Error Task is executed, the process automatically continues. An Error Task may have multiple incoming Sequence Flows, but only one outgoing Sequence Flow. In addition to the common element properties, the Error Task has the following property: Property Type Description Next user Text Suggests the user to perform the next task. Only a contributor to the process can be the next user. Next group Text Suggests the group to perform the next task. Only a contributor group of the process can be the next group. Progress Float Percentage of process completed. The fractional amount of the value can be omitted. Script Task A Script Task is an activity that starts a workflow in the Interplay MAM Workflow Engine for synchronous execution. Once a Script Task is executed, and the corresponding workflow is finished, the process automatically continues. A Script Task can have multiple incoming Sequence Flows, but only one outgoing Sequence Flow. In addition to the common element properties, the Script Task has the following properties: Property Type Description Script Name String Name of the workflow template. Inputs Mapping Specifies a mapping of process attributes or constants to script variables. 22

23 Activities Property Type Description Outputs Mapping Specifies a mapping of script variables to process attributes. States List List of task states. Task states are symbolic names that represent the state of the task. The task states must be unique in the scope of the script task. When calling the UpdateTask method the symbolic name of one task state is passed in the taskstate parameter. States Localization Localization Tenant- and language-dependent localization of the task states. When the Process Execution Engine initiates a workflow script, it automatically sets the values of the following workflow variables: Workflow Variable Name _Tenant _ProcessID _JobID _ProcessVersion Value The value of the _Tenant variable is set to the value of the metadata attribute SYSTEM_OBJECTOWNER of the process instance. The value of the _ProcessID variable is set to the unique instance identifier of the process instance. The value of the _JobID variable is set to the unique task instance identifier of the script task. The value of the _ProcessVersion variable is set to the version of the process model underlying the process instance. Method UpdateTask A workflow script that is to be called by a script task must actively signal its end by calling the UpdateTask method in the Web interface of the State Machine Web service. The following code fragment shows the typical usage in a SWoDL script: // Declarations var LC_PENDING = 0; var LC_RUNNING = 1; var LC_FINISHED = 2; var LC_ERROR = 3; var LC_TIMEOUT = 4; var StateMachineWS_StateMachine = "StateMachineWS/StateMachine"; 23

24 Activities declare void UpdateTask(processId, taskjobid, taskstate, taskprogress, tasklifecycle, StateMachineWS_StateMachine; // Typical call UpdateTask(_ProcessID, _JobID, "", "", LC_FINISHED, AccessKey); To signal the end of the script, the parameter tasklifecycle must be set to the values 2 or 3 that define Finished or Error. During the execution of the Script Task, the workflow script may also call the UpdateTask method at any time to update the task state and task progress of the Script Task. The following table describes the parameters of the UpdateTask method: Parameter processid taskjobid taskstate Description ID of the process that contains the script task. Typically, this ID is available in the workflow variable _ProcessID. ID of the script task that initiated this workflow. Typically, this ID is available in the workflow variable _JobID. Task state as defined in the process model. If an empty string is passed, the task state is not updated. taskprogress Task progress as a floating-point number between 0.0 and 100.0, inclusively. A dot or comma may be used as a decimal mark. If an empty string is passed, the task progress is not updated. tasklifecycle accesskey ID of an entry in the P_TASK_LIFECYCLE legal list as a string. Possible values are: 0 = Pending 1 = Running 2 = Finished 3 = Error 4 = Timeout If an empty string is passed, the task lifecycle is not updated. Valid access key. 24

25 Activities Input and Output Mapping of SWoDL Variables to Process Attributes SWoDL variables can be mapped to process attributes in different ways, as shown in the following examples for input mapping. Note that output mapping works the same way as input mapping. Mapping single-value attributes: The variable is populated with an attribute value in string representation, as shown in the following example: Mapping entire multi-value (MV) and multi-value compound attributes (MVC): Mapping an entire MV/MVC attribute is the same as for a single-value attribute. In this case, the variable s value is an array of structs, where every struct is a row of the MVC attribute, with fields that are mapped to MVC sub-attributes. Mapping one row of an MV/MVC attribute: The index of an MV/MVC attribute may be an integer value or a LoopIndex variable. Expressions in [] brackets are not allowed. The variable s value in this case is a struct with fields that are mapped to MVC sub-attributes. 25

26 Activities The value in [] brackets is not an index attribute of the MV/MVC attribute. It is an index of the MV/MVC s row. Example: There are 3 rows in an MVC attribute that have the indices 1, 23, 99 and the mapping is P_TASK_LIST[1]. In this case, the variable will be populated by an attribute with index 23. Mapping one sub-attribute of an MVC attribute into a variable: You can use an integer value or a LoopIndex in [] brackets. In this case, the variable s value is the sub-attribute s value in string representation. If an entire MV/MVC is mapped, it is overwritten by the value of the SWoDL variable. If mapping an MV/MVC row (for example, P_TASK_LIST[1]), the entire row is overwritten by the variable s value. User Task A User Task is an activity that requires user interaction. To execute a User Task, the user must open the corresponding process in Interplay MAM Desktop or MediaCentral UX. In addition to the common element properties, the User Task has the following properties: 26

27 Activities Property Type Description Input Form String Name of the metadata template that is used to edit the user task. States List List of task states. Task states are symbolic names that represent the state of the task. The task states must be unique in the scope of the user task. When calling the UpdateTask method the symbolic name of one task state is passed in the taskstate parameter. Example: task states = Approved, Rejected Allowed Actions List List of allowed actions for the user task. Possible actions include: Add objects (or EDLs) Remove objects Upload files Download files Assignee Text Defines the user that should perform the task. Assignee default Text Defines the fallback user that should perform the task. Is used if the Next user attribute is not set. Group Text Defines the group from which a user should perform the task. Group default Text Defines the fallback group from which a user should perform the task. Is used if the Next group attribute is not set. Performers List List of groups and users that are allowed to process the task. A performer of a user task is also registered on the list of contributors for the process. Delegation List Defines the delegation (decides which delegators are allowed to delegate user tasks to which delegates). Delegators and delegates of a user task are also registered on the list of contributors for the process. Timeout Integer Defines the timeout for the user task (s). States Localization Localization Tenant- and language-dependent localization of the task states. Buttons Localization Localization Tenant and language-dependent localization of the action buttons. 27

28 Activities Supported Placeholders You can use placeholders when defining the behavior of a task in the following fields: User task field: Assignee, Assignee default, Group, and Group default State and Error task field: Next user and Next group You can use the following placeholders: Parameter %taskreference.user% %taskreference.group% %creator% %previoususer% %previousgroup% Description The user completing a specific task. taskreference must be the name of a user, state, or error task defined in the process model. The group completing a specific task. taskreference must be the name of a user, state, or error task defined in the process model. The user or system service that created the process. The user completing the previous task. The group completing the previous task. State Machine expands the placeholders as follows: Parameter User task State and Error State task Description %taskname.user%, %creator%, and %previoususer% in Assignee and Assignee default %taskname.group% and %previousgroup% in Group and Group default. %taskname.user%, %creator%, and %previoususer% in NextUser %taskname.group% and %previousgroup% in NextGroup. Sub-Process A sub-process is an inline block that contains a set of activities. This set of activities can have only one entry point and one exit point. The sub-process is always executed in the context of the top-level process. It has no local variables and shares all data with the top-level process. It is not possible to pass parameters into a sub-process. 28

29 Activities Notably, if a sub-process contains a State Task, this task sets the state of the top-level process. Sub-processes may be nested. A sub-process cannot be reused in the same process model or across different process models. A sub-process element has no additional properties. Sequential Loop The Sequential Loop is a sub-process that is executed in a loop. It can be used to repeat parts of a process. The iterations are performed successively, one at a time. The loop control of a Sequential Loop can be set to resemble: A pre-test loop. If the loop condition does not evaluate to true at the beginning, the body of a pre-test loop is not executed. This corresponds to the behavior of a while-loop. A post-test loop. The body of a post-test loop is always executed at least once, even if the loop condition evaluates to false. This corresponds to the behavior of a do-while loop. In addition to the common properties, a Sequential Loop has the following properties: Property Type Description Loop Condition String Condition that is evaluated to decide if the execution of the loop continues with the next iteration. Loop Maximum String Specifies the maximum number of loop iterations. This may be a constant or an expression that evaluates to an integer. Test Time String Specifies if the Loop Condition is evaluated before or after the sub-process is executed. Possible values : Before After 29

30 Flows Parallel Loop The Parallel Loop is a sub-process that is executed in a loop. It can be used to repeat parts of a process. All iterations are performed in parallel. Each iteration runs in its own thread context. The Parallel Loop is only finished when all threads are finished. In addition to the common element properties, a Parallel Loop has the following property: Property Type Description Loop Maximum Integer Constant or expression that evaluates to an integer. Flows Flows are connections between two process elements and specify the next element in the flow. Sequence Flows are the basic flows from which Conditional Flows and Default Flows can be derived. All flows have the same set of properties as shown in the following table: Property Type Description Name String Name of the element. For Sequence Flows this property is optional. The system does not require that all Sequence Flows have distinct names. Description String Textual description of the element. Condition String Expression that specifies the condition associated with a Sequence Flow. If this property has a value, the Sequence Flow becomes a Conditional Flow. IsDefault Boolean A flag that specifies if a Sequence Flow is a Default Flow. For Default Flows the Condition property is ignored during execution. Color Color Display color for the Flow element. Sequence Flow A Sequence Flow is a directed and unconditional connection between two process elements. 30

31 Gateways Conditional Flow A Conditional Flow is a Sequence Flow with a conditional expression. The Flow is only executed when the condition evaluates to true. Conditions in Conditional Flows are only evaluated when the Conditional Flow is attached to an Exclusive Gateway. Default Flow The Default Flow for an Exclusive Gateway is the Sequence Flow that is selected if no condition of the respective Conditional Flow evaluates to true. In all other contexts, a Default Flow is treated as a normal Sequence Flow. Gateways Exclusive Gateway An Exclusive Gateway acts as a decision element that selects exactly one of the outgoing Conditional Flows to continue executing the process. The decision is based on the evaluation of the conditions associated with the outgoing Conditional Flows. The Conditional Flow with the first condition that evaluates to true is selected. The order for the evaluation of the conditions is undetermined. A Default Flow must always be provided to prevent the process from stalling if no condition is fulfilled. For additional information, see Using Configuration Values for Decisions on page 75. An Exclusive Gateway can have multiple incoming and outgoing flows. An Exclusive Gateway has no additional properties. Parallel Gateway A Parallel Gateway forks or joins parallel flows, depending on its context. All outgoing flows spawn threads that are executed independently and in parallel. The Process Execution Engine requires that all threads that are forked by Parallel Gateways are joined subsequently. The element in the process notation is the same for the Fork and Join operation, and its function depends on the context in the process model. Conditional Flows emitting from a Parallel Gateway are treated as normal Sequence Flows; that is, their conditions are ignored. 31

32 Events Events Process Start The Process Start element defines where the Process Execution Engine starts executing a process model. It is used to represent the: Start of a top-level process Start of an embedded sub-process A process model contains only one Process Start event. The Process Start event has exactly one outgoing Sequence Flow, and no incoming Sequence Flow. A Process Start Event can have the following properties. Property Type Description Script Name String Name of the workflow template. Outputs Mapping Specifies a mapping of script variables to process attributes. Process End Process End defines where the execution of a process model ends. When this element is reached, the process enters its final state and no further processing is possible. When a process has ended, all metadata of that process should be considered as Read Only. The Process End element is used to represent the: End of a top-level process End of an embedded sub-process A process model contains only one Process End event. The Process End event may have multiple incoming but no outgoing Sequence Flows. A Process End event has no additional properties. 32

33 Expressions Delay The Delay element can act as a duration timer or a date timer. A duration timer waits for a given timespan before the process flow continues. A date timer waits for a specific point in time before the process flow continues. The type of the event cannot change during execution. The initial value can be provided directly with the element, or provided indirectly by the value of an associated attribute from the process class, as defined by the attribute mapping property. A Delay event may have multiple incoming Sequence Flows but only one outgoing Sequence Flow. A Delay event has the following properties: Property Type Description Use time cycle Boolean Event that acts as a duration timer if this setting is true. Timer span Integer Time elapsed before process flow continues. Use time date Boolean Event that acts as a date timer if this setting is true. Timer date Date Date (and time) reached before process flow continues. Attribute mapping String Name of the attribute in the process class that provides the initial value. If the event acts as a duration timer this attribute type is datetime. Otherwise, this attribute type must be an integer or float. Expressions Expressions are used to define conditions for Conditional Flows. They consist of one or more operands. Multiple operands are composed by operators. In the context of expression, the evaluation of an operand can be a: Predefined value Process attribute Task attribute Task aggregate function The types of operands are presented first, followed by the description of the operators. 33

34 Expressions Predefined Value Value Type Description ProcessHasError Boolean Evaluates to true if the process is in an error state. Effectively returns the value of the process attribute P_PROCESS_HAS_ERROR. ProcessState String Evaluates to the current status of the process as defined in the process model. ProcessProgress Float Evaluates to the current progress of the process. Effectively returns the value of the process attribute P_PROCESS_PROGRESS. ProcessLifecycle Legal list value Evaluates to the current lifecycle status of the process and is represented by the corresponding value from the legal list P_PROCESS_LIFECYCLE NumberOfObjects Integer Evaluates to the number of entries in the process object list; that is, the attribute P_OBJECT_LIST NumberOfEdls Integer Evaluates to the number of entries in the EDL list of the process; that is, the attribute P_EDL_LIST NumberOfFiles Integer Evaluates to the number of entries in the File list of the process; that is, the attribute P_FILE_LIST NumberOfAttachments Integer Evaluates to the number of entries in the Attachments list of the process; that is, the attribute P_ATTACHMENTS_LIST. NumberOfAttachments( filter ) Integer Evaluates to the number of entries in the Attachments list of the process which fits to the passed filter. See Using a Filter in NumberOfAttachments on page 35. LoopIndex Integer Evaluates to the number of the current loop iteration. Iteration count begins at 0 for all loop types. LoopCounter (deprecated, use LoopIndex instead) Integer Evaluates to the number of the current loop iteration. 34

35 Expressions Iteration count begins at 1 for sequential loops, and at 0 for parallel loops. Using a Filter in NumberOfAttachments You can use a filter with the NumberOfAttachments variable. It allows you to select a number of attachments based on their type and source. The filter has a specific format: system-type:system-id:asset-type Input system-type system-id asset-type Meaning Type of system (Interplay Production, Interplay MAM, inews). Currently the following system types are supported: interplay, interplay-mam, and inews. ID of the system. You can use the following: * or <empty>: Wildcard for any system {local}: Placeholder for the ID of the local system {group}: Placeholder for any system which is defined in the Interplay MAM configuration (profile Global > section Orchestration/Group > keys inews, interplay, and interplaymam) Id: The ID of a specific system Asset types that are to be allowed as attachments for the specified system type. The asset type is case-insensitive. For MAM object classes, use asset.<object class name> For MAM EDL classes, use sequence.<edl class name> For Interplay Production and inews assets, use the asset name Examples: *: Wildcard for any asset type asset.video (MAM Video class) asset.* (all MAM object classes) sequence.edl (MAM EDL class) sequence (PAM Sequence) masterclip (PAM Video) 35

36 Expressions For additional information, see Attaching Objects from Non-MAM Systems to Processes on page 67. Access to Process Attributes All attributes of the process class can be accessed by using the. operator on the Process scope. The result of the expression is always of type String: Process.P_PROCESS_ERRORMESSAGE There is an option to use sub-attributes of type Compound, as shown in the following example: Process.P_OBJECT_LIST[2].MAINTITLE You can use variables of other tasks (such as loopindex) with expressions as index of an MVC attribute: Process.P_OBJECT_LIST[loopIndex + 1].MAINTITLE You can use an MVC sub-attribute as index for another sub-attribute, as shown in the following example: Process.P_OBJECT_LIST[Process.P_OBJECT_LIST[0].Attribute_Of_Type_Integer].M AINTITLE Access to Task Attributes Task attributes State and Lifecycle can be accessed by using the. operator on the scope of the corresponding task. Value Type Description <Task Name>.State String Evaluates to the status of a task <Task Name>. This expression always refers to the last task. <Task Name>.Lifecycle Integer Evaluates to the lifecycle status of a task <Task Name>and is represented by the corresponding value from the legal list P_TASK_LIFECYCLE. 36

37 Expressions Task Aggregate Functions Task aggregate functions can be used to determine the overall result of a loop sub-process. The task aggregate functions always operate on both task list and task history. Function EXISTS(<Task Name>) COUNT(<Task Name>.State==value) ALL(<Task Name>.State==value) ANY(<Task Name>.State==value) NONE(<Task Name>.State==value) Description Evaluates to true, if a task with the name <Task Name> exists. Evaluates to the number of occurrences of a task <Task Name> where the state of the task equals to value. Evaluates to true if the state of all instances of <Task Name> equal to value. Evaluates to true if at least one task has a status equal to value. Evaluates to true if no task has the status equal to value. Operators Operators for expressions in the Interplay process notation can be of the following types: Precedence operator Unary operators Cast operators Numeric operators Relational operators Equality/inequality operators Conditional operators The following table lists the operators that are supported. The operators are presented in the order of decreasing precedence. Operator ( ) Description Braces to determine precedence of evaluation 37

38 Serialization - Numeric unary minus! Boolean unary not (int), (bool), (string), (float) Cast operators to modify the type of an operand *, /, % Numeric multiplication, division, and modulus operator +, - Numeric addition and subtraction operators <, <=, >=, > Relational operators: Less than, Less than or equal to, Greater than or equal to, Greater than ==,!= Equality and inequality operator && Conditional AND operator Conditional OR operator Serialization Interplay MAM uses the XML Process Description Language XPDL 1.2 for the serialization of process models. 38

39 4 Process Configuration Data Model The following sections provide information about the data model configurations required by each process model: Common Types Attachment List Process Classes Process Templates User Task Templates Common Types The Process Execution Engine of Interplay MAM requires that certain elements are present in the data model. These elements are delivered in the standard data model of Interplay MAM by default. The mandatory elements are the following legal lists and multi-value compound (MVC) attributes. Legal lists that represent: Process Lifecycle Task Lifecycle Task Type Event Type File Status MVC attribute types: Task List and Task History Object List EDL List

40 Data Model File List All of the above elements may be extended in future releases of Interplay MAM. Customspecific modifications or extensions are not possible. Process Lifecycle The Process Lifecycle represents the technical status of a process, as opposed to the logical Process State. It is applicable to all process classes. The Process Lifecycle is represented by the legal list P_PROCESS_LIFECYCLE and has the following entries: ID Lifecycle Description 0 Pending Process is waiting for execution. 1 Running Process is executed by the execution engine. 2 Finished From a technical perspective, the execution of the process finished successfully. When a process is in the Finished state, all process metadata should be considered read-only. 3 Error From a technical perspective, the execution of the process failed. Task Lifecycle The Task Lifecycle represents the technical status of a task, as opposed to the logical Task State. It is applicable to all task types. The Task Lifecycle is represented by the legal list P_TASK_LIFECYCLE and has the following entries: ID Lifecycle Description 0 Pending Task is waiting for execution. 1 Running Task is executed by the Process Execution Engine. 2 Finished From a technical perspective, the execution of the task finished successfully. 3 Error From a technical perspective, the execution of the task failed. 4 Timeout The execution of the task timed out. 5 Skipped In case task type is Script Task, the execution of task was skipped. 40

41 Data Model Task Type The Task Type represents the type of a task. The Task Type is represented by the legal list P_TASK_TYPE and has the following entries: ID Task Type Description 0 User Task Represents a User Task. 1 Script Task Represents a Script Task. 2 State Task Represents a State Task or an Error Task. 3 Fork Task Represents a forking Parallel Gateway. 4 Decision Task Represents an Exclusive Gateway. 5 Parallel Sub-Process Task Represents a Parallel Sub-Process. 6 Other Task Reserved for future use. 7 Thread Task Represents a virtual Thread element. 8 Join Task Represents a joining Parallel Gateway. 9 Sequential Sub-Process Task Represents a Sequential Sub-Process. 10 Sub-Process Task Represents a Sub-Process. 11 Delay Represents a Delay Event. The legal list P_TASK_TYPE may be extended in future releases of Interplay MAM. Avid strongly discourages custom-specific adaptation. Event Type The Event Type represents the type of an internal processing event. The Event Type is represented by the legal list P_EVENT_TYPE and has the following entries: ID Task Type Description 0 Process Started Event that is triggered by a Process Start element. 1 State Task Start Event that is triggered by a State Task element. 2 Script Task Start Event that is triggered when a Script Task starts. 3 Script Task Changed Event that is triggered when a Script Task is updated. 41

42 Data Model ID Task Type Description 4 Script Task Completed Event that is triggered when a Script Task is completed. 5 User Task Start Event that is triggered when a User Task is started. 6 User Task Completed Event that is triggered when a User Task is completed. 7 Decision Start Event that is triggered when an Exclusive Gateway element is processed. 8 Fork Start Event that is triggered when a forking Parallel Gateway element is processed. 9 Join Start Event that is triggered when a joining Parallel Gateway element is processed. 10 Sub-Process Start Event that is triggered when the execution of a subprocess starts. 11 Child Process Start Reserved for future use. 12 Wait Child Process Start Reserved for future use. 13 End Event Start Event that is triggered by a Process End element. 14 User Task Timeout Event Event that is triggered when a timeout occurs on a User Task. 15 Script Task Timeout Event Reserved for future use. 16 Sequential Sub-Process Start Event that is triggered when the execution of a Sequential Sub-Process starts. 17 Sub-Process Complete Event that is triggered when the execution of a Sub- Process is completed. 18 Sequential Sub-Process Complete Event that is triggered when the execution of a Sequential Sub-Process is completed. 19 Parallel Sub-Process Start Event that is triggered when the execution of a Parallel Sub-Process starts. 20 Parallel Sub-Process Complete Event that is triggered when the execution of a Parallel Sub-Process is completed. 21 Delay Task Start Event that is triggered when the execution of a Delay Event starts. 42

43 Data Model ID Task Type Description 22 Delay Task Changed Event that is triggered because of an Attribute Changed event for the Delay Events that are mapped to the same attribute. 23 Delay Task Complete Event that is triggered when the execution of a Delay Event is completed. 24 Attribute Changed Event that is triggered when the value of a process attribute changes. The event is triggered only for attributes that are configured accordingly in the data model. File Status The File Status represents the status of attached files. The File Status is represented by the legal list P_FILE_LIST_STATUS and has the following entries: ID Lifecycle Description 0 Completed Upload is completed. 1 Failed Upload failed. 2 Cancelled Upload was cancelled by user. 3 Deleted File was deleted. 4 Downloaded File was downloaded. 5 In Progress Upload is in progress. 6 Waiting Queued and waiting for upload. Task List and Task History Process tasks are managed in two lists. The task list is the list of pending tasks, P_TASKLIST, and the task history is the list of completed tasks, P_TASKHISTORY. Both lists are MVC attributes and by default share the same set of sub-attributes. Attribute P_TASK_JOBID Description Unique ID of the task instance. The ID is created at execution time. Type: Text[64] 43

44 Data Model Attribute P_TASK_NAME P_ACTIVITY_ID P_TASK_CREATION_DATETIME P_TASK_MODIFICATION_USERLOGIN P_TASK_END_DATETIME P_TASK_TYPE P_TASK_LIFECYCLE P_TASK_THREAD_STACK P_TASK_THREADLEVEL P_TASK_LOOP_NO (deprecated, use P_TASK_LOOP_IND instead) P_TASK_LOOP_IND P_TASK_STATE P_TASK_PRIORITY P_TASK_PROGRESS P_TASK_ERRORMESSAGE Description Name of the task. Type: Thesaurus[STATEMACHINE] Unique ID of the task as defined in the process model. Type: Text[64] Date and time when the task was created. Type: Datetime ID of the user who handled the task. Type: Text[64] Date and time when the task was completed. Type: Datetime Type of the task. Type: Legal List[P_TASK_TYPE] Current technical status of the task. Type: Legal list[p_task_lifecycle] Internal thread stack for the task. Type: Text Internal thread identification. The attribute is deprecated and not used any more. Type: Integer[5] Number of current loop iteration. Loop iterations always start with 1. The value is 0 if the task is not executed in the context of a loop. Type: Integer[8] Number of current loop iteration. Loop iterations always start with 0. Type: Integer[8] Status of this task instance. Type: Thesaurus[STATEMACHINE] Reserved for future use. Type: Integer[5] Percentage of completion of the task. Type: Float[3,2] Textual description of the error condition. 44

45 Data Model Attribute P_TASK_INPUTFORM P_TASK_RESPONSIBLE_GROUP P_TASK_DELEGATION P_TASK_GROUP P_TASK_USER P_TASK_ALLOWED_ACTION_BUTTONS P_TASK_ALLOWED_STATE_LABELS P_TASK_ALLOWED_STATES P_TASK_ALLOW_ADD_OBJECTS P_TASK_ALLOW_REMOVE_OBJECTS P_TASK_ALLOW_UPLOAD P_TASK_ALLOW_DOWNLOAD Description Type: Text The name of the metadata template used for editing the task. Applies only to User Tasks. Type: Text List of user groups that are authorized to work on this task. Applies only to User Tasks. Text[256] List of delegators and delegates. Applies only to User Tasks. Type: Text The group to which the task was assigned. Applies only to User Tasks. Type: Text[256] Name of the user that completed the task. Applies only to User Tasks. Type: Text[256] List of action buttons for the task. Applies only to User Tasks. Type: Text List of states for the task. Applies only to User Tasks. Type: Text/Xml List of states for the task. Applies only to User Tasks. Type: Text/Xml Flag that defines if adding objects is allowed. Applies only to User Tasks. Type: Boolean Flag that defines if removing objects is allowed. Applies only to User Tasks. Type: Boolean Flag that defines if uploading files is allowed. Applies only to User Tasks. Type: Boolean Flag that defines if downloading files is allowed. Applies only to User Tasks. 45

46 Data Model Attribute Description Type: Boolean Object List The Object List is an MVC attribute that contains the list of attached objects. The Object List is represented by the MVC type P_OBJECT_LIST. Attribute DMGUID_ID Description DMGUID of the object Type: Text[64] EDL List The EDL List is an MVC attribute that contains the list of attached EDLs. The EDL List is represented by the MVC type P_EDL_LIST. Attribute EDLID MAINTITLE Description EDL Identifier Type: Text[64] Title of the EDL Type: Text[256] File List The File List is an MVC attribute that contains the list of attached files. The File List is represented by the MVC type P_FILE_LIST. Attribute P_FILENAME P_FILESIZE P_ORGPATH P_STATUS Description Name of the attached file. Type: Text[256] Size of the attached file in bytes. Type: Integer[20] Original path of the file. Type: Text[256] Status of the attached file. Type: Legal list[p_file_list_status] 46

47 Data Model Attachment List The Attachment List is an MVC attribute that contains the list of attached non-mam assets (assets from Interplay Production or inews systems). The Attachment List is represented by the MVC type P_ATTACHMENT_LIST. Attribute A_NAME A_REFERENCE P_SYSTEM_NAME Description Display name of the attachment; for example, the maintitle of the asset. Type: Text[256] The Common Object ID {system type, system instance id, asset type, (asset) id};; cod://{common-object-id}. Type: Text[2048] Human readable system label such as kl-pm-mam53. Type: Text[256] Process Classes The data model of Interplay MAM contains a process class for each process type. The name of the process class matches the name of the process model. Each process class provides the same mandatory set of attributes. Additionally, any number of custom-specific attributes may be added to each process class. The following table lists the mandatory set of attributes for each process class: Attribute DMGUID MAINTITLE REGISTRATION_DATE REGISTRATION_TIME REGISTRATION_DATETIME REGISTRATION_USERLOGIN MODIFICATION_DATETIME Description Unique identifier of the process instance. Title of the process instance. Type: Text[256] Creation date of the process instance. Type: Date Creation time of the process instance. Type: Time Creation date and time of the process instance. Type: Datetime ID of the user who created the process instance. Type: Text[128] Last modification of date and time of the process 47

48 Data Model Attribute MODIFICATION_USERLOGIN SYSTEM_OBJECTOWNER P_PROCESS_ASSIGNEE P_PROCESS_CONTRIBUTORS P_PROCESS_GROUP P_PROCESS_NEXT_GROUP P_PROCESS_NEXT_USER P_PROCESS_PREVIOUS_GROUP P_PROCESS_ PREVIOUS_USER P_CHILD_PROCESSES P_PROCESS_PARENT_ID P_USER_UMSTOKEN P_PROCESS_PRIORITY Description instance. Type: Datetime ID of the user who modified the process instance. Type: Text[128] ID of the tenant for whom the process instance has been created. Type: Text[64] The user to which the task is assigned. Marked with the Triggers State Machine changed event flag. Type: Text[256] The contributors that can be assigned to user tasks. Type: Text The group to which the task is assigned. Marked with the Triggers State Machine changed event flag. Type: Text[256] Suggests the user to perform the next task. Type: Text[256] Suggests the user to perform the next task.. Type: Text[256] The group that was set as performer of the previous user task. Type: Text[256] The user that performed the previous task. Type: Text[256] Contains information on the child processes. Type: MVC: Contains the DMGUID of the parent process (if there is a parent process). Type: Text[256] Access token for MediaCentral, allowing the process to impersonate as a user for platform services. Type: Text[64] Reserved for future use. 48

49 Data Model Attribute P_PROCESS_VERSION P_PROCESS_STATE P_PROCESS_PROGRESS P_PROCESS_LIFECYCLE P_PROCESS_END_DATETIME P_PROCESS_HAS_ERROR P_PROCESS_ERRORMESSAGE P_PROCESS_MIN_ATTACHMENTS P_PROCESS_MAX_ATTACHMENTS P_PROCESS_MIN_OBJECTS P_PROCESS_MAX_OBJECTS P_PROCESS_MIN_EDLS P_PROCESS_MAX_EDLS P_TASKLIST Description Type: Integer[5] Creation date and time when the process model was uploaded into the process repository. This also constitutes the version number of the process model. Type Datetime Current semantic status of the process in terms of the underlying process model. Type: Thesaurus[STATEMACHINE] Percentage of completion of the process. Type: Float[3, 2] Current technical status of the process. Type: Legal list[p_process_lifecycle] Date and time when the execution of the process instance was completed. Type: Datetime Flag that signals an error condition. Type: Boolean Textual description of the error condition. Type: Text Minimum allowed number of file attachments. Type: Integer[5] Maximum allowed number of file attachments. Type: Integer[5] Minimum allowed number of object attachments. Type: Integer[5] Maximum allowed number of object attachments. Type: Integer[5] Minimum allowed number of EDL attachments. Type: Integer[5] Maximum allowed number of EDL attachments. Type: Integer[5] List of active tasks for this process instance. Type: MVC[P_TASKLIST] 49

50 Thesaurus Attribute P_TASKHISTORY P_ALLOWED_OBJECT_CLASSES P_ATTACHMENT_LIST P_OBJECT_LIST P_EDL_LIST P_FILE_LIST Description List of completed tasks for this process instance. Type: MVC[P_TASKHISTORY] List of object classes that can be attached to the process. Type: Text List of attached non-mam assets (assets from Interplay Production or inews systems). Type: MVC[P_ATTACHMENT_LIST] List of objects that are attached to the process. Type: MVC[P_OBJECT_LIST] List of EDLs that are attached to the process. Type: MVC[P_EDL_LIST] List of files that are attached to the process. Type: MVC[P_FILE_LIST] Process Templates Metadata templates are defined in the data model for displaying and editing process objects. User Task Templates Metadata templates are defined in the data model for editing user tasks. Thesaurus A thesaurus with the thesaurus id STATEMACHINE must exist in Interplay MAM. This thesaurus is used to provide the localization for all process classes. Each time a process model is uploaded into the process repository, the content is automatically inserted and updated. The following example shows the general structure of the STATEMACHINE thesaurus. STATEMACHINE - MATERIAL_PROCESS - FILE_SYNC - INGEST_ORDER - TRANSCODE 50

51 Thesaurus - QC_FILECHECK - EDL_EXPORT Each top-level node of the thesaurus represents a process. The indentations represent the technical sub-node relationships in the thesaurus. The next example depicts the common term structure for each individual process. STATEMACHINE MATERIAL_PROCESS Events Start End Retry_Timer Start_Sub_MaterialIdentification End_Sub_MaterialIdentification Gateways Decision_Materialtype Script Tasks Script 1 LABELS Succeeded Failed State Tasks State 1 State 2 Sub Processes MaterialIdentification User Tasks User Task 1 BUTTONS Attach Cancel LABELS Attached Canceled The indentation represents the technical sub-node relationships in the thesaurus. The blue terms are structural nodes. Structural nodes exist for each process model independently. Their only purpose is to improve the overview and to ease navigation of the thesaurus tree. The black terms are the terms that contain the actual content of the specific process model. The thesaurus STATEMACHINE is a system thesaurus. The structure of the terms is automatically created and maintained. Avid recommends not modifying this thesaurus manually. 51

52 Workflow Scripts Workflow Scripts In a process model, a corresponding workflow script is provided for each Script task. The workflow script might be changed by setting the script name in the settings of the BPMProcesses profile (for additional information, see Overwriting the Workflow Script Name for a Script Task on page 73). All workflows that are required by a process model are uploaded into the workflow repository. 52

53 5 Modifying a Process Model by Configuration The followings topics provide information on how to modify a process model by configuration: Configuring Attribute Propagation for Child Processes Overview of the BPMProcesses Profile Configuring the Actions Menu for MediaCentral UX Defining Actions Sub-Menus in MediaCentral UX Configuring Quick Send for MediaCentral UX Attaching Objects from Non-MAM Systems to Processes Overwriting Allowed Classes Overwriting User Task Properties Overwriting the Workflow Script Name for a Script Task Using Configuration Values as Script Task Inputs Using Configuration Values for Decisions

54 Configuring Attribute Propagation for Child Processes Configuring Attribute Propagation for Child Processes Starting with version 5.9, Interplay MAM supports parent-child process modelling. A child process is a process instance that is started from another process. It is associated with the parent process by the parent GUID so that it can signal status changes to the parent process. The parent process in turn holds the DMGUID of each child process. If configured, a parent process can propagate attributes to its child process. Parent-child process relations are not part of the business process model. To support parent-child processes, Interplay MAM v5.9 introduces a new interface for process creation in the DataManagerWS instance: DMProcessses. The DMProcesses interface contains the method CreateProcess, which creates a new process instance. It receives an AXF document that contains exactly one process object. The method propagates attributes from the parent process (determined by P_PROCESS_PARENT_ID) to the created child process. To create child processes, the method CreateProcesses can be called by a workflow script, the Workflow Library, or any component. Configuring Child Processes in Datamodel Administrator The data model distributed with the Mam.Foundation.Base package contains two attributes that are to be used for parent-child process configuration: P_PROCESS_PARENT_ID: Contains the DMGUID of the parent process. This is a mandatory attribute and is assigned to each process class by default. P_CHILD_PROCESSES: Contains the DMGUID for the respective child processes. This attribute must be assigned to each process class that is to be used as a parent process. To assign the attribute P_CHILD_PROCESSES in the data model: 1. Start Datamodel Administrator. 2. Open the data model from the server. 54

55 Configuring Attribute Propagation for Child Processes 3. Select Attributes in the Navigation pane. 4. Double-click the attribute P_CHILD_PROCESSES in the Attributes view. 5. In the Edit Attribute dialog box, go to the Used in these object, master data and segment content classes group box and select the check boxes of the process classes to which you want to assign the attribute P_CHILD_PROCESSES. 6. Click OK to close the Edit Attribute dialog box. 7. Activate the data model. Configuring Attribute Propagation in System Administrator Use the profile DataManagerWS if you want to configure the attribute propagation from parent to child processes. The section ProcessAttributePropagation contains the setting AttributesPropagated. Use this setting to provide a comma-separated list of attributes that are to be propagated to child processes from their parent process (determined by the P_PROCESS_PARENT_ID). Add settings to the subsection ProcessAttributePropagation/UserProperties if you want to configure user property mapping. The key is the attribute name and the value is the MAM user property that is mapped. Since user properties are handled as a string, map them only to attributes of type Text. Otherwise, the CreateProcess operation may fail. If the user property to be mapped does not exist, it defaults to an empty string. To configure attribute propagation: 1. Start MAM Administrator. 2. Open the System Administrator. 3. Select the profile DataManagerWS. 4. Select the section ProcessAttributePropagation. 5. Select the key AttributesPropagated and type the names of attribute that are to be propagated to child processes as a value. Provide the names as a comma-separated list. Consider attributes that are excluded from propagation (see the Exclude List below). 55

56 Configuring Attribute Propagation for Child Processes 6. Select the section ProcessAttributePropagation/UserProperties. 7. Click the New Setting button. The New Setting dialog box opens. Do the following: 1. Type the attribute name in the Name field (example: P_DEPARTMENT). 2. Select string from the Type list. 3. Type the name of the user property to be mapped in the Value field (example: DEPARTMENT). 4. Click OK. The New Setting dialog box is closed. The new setting is shown. Exclude List The following attributes are filtered by default. They are neither propagated by the parent process nor filled with user properties. - P_ALLOWED_OBJECT_CLASSES - P_ATTACHMENT_LIST - P_CHILD_PROCESSES - P_EDL_LIST - P_FILE_LIST - P_OBJECT_LIST - P_PROCESS_ASSIGNEE 56

57 Configuring Attribute Propagation for Child Processes - P_PROCESS_CONTRIBUTORS - P_PROCESS_END_DATETIME - P_PROCESS_ERRORMESSAGE - P_PROCESS_GROUP - P_PROCESS_HAS_ERROR - P_PROCESS_LIFECYCLE - P_PROCESS_MAX_ATTACHMENTS - P_PROCESS_MAX_EDLS - P_PROCESS_MAX_OBJECTS - P_PROCESS_MIN_ATTACHMENTS - P_PROCESS_MIN_EDLS - P_PROCESS_MIN_OBJECTS - P_PROCESS_NEXT_GROUP - P_PROCESS_NEXT_USER - P_PROCESS_PARENT_ID - P_PROCESS_PREVIOUS_GROUP - P_PROCESS_PREVIOUS_USER - P_PROCESS_PRIORITY - P_PROCESS_PROGRESS - P_PROCESS_STATE - P_PROCESS_VERSION - P_SYS_ATTACHMENTS_INFO - P_TASKHISTORY - P_TASKLIST 57

58 Overview of the BPMProcesses Profile Overview of the BPMProcesses Profile The BPMProcesses profile is an optional profile that can be added to an Interplay MAM system to overwrite a process model s individual process or task properties without having to change the process XPDL. You can configure the following process model elements: Objects, EDLs, and process classes that are allowed as process attachments Workflow scripts started by Script tasks User task properties You can also configure specific process handling in MediaCentral UX: Define the order of the Actions menu items in MediaCentral UX. Define different starting conditions for the same process in MediaCentral UX by creating Actions sub-menu items. Define processes that can be executed without further user interaction from the MediaCentral UX Media pane by creating Quick Send menu items. Define non-local and non-mam assets that can be attached to processes in MediaCentral UX. Sample Sections The BPMProcesses profile contains the following sample sections, which can be used as a template: Section QUICK_SEND_EXAMPLE Function Defines processes that can be triggered from the MediaCentral UX Media pane that do not require user interaction. See Configuring Quick Send for MediaCentral UX 58

59 Overview of the BPMProcesses Profile Section _ExampleProcessName _ExampleProcessName/ ActionMenuItems _ExampleProcessName/ ScriptTasks _ExampleProcessName/ UserTasks Function on page 64. Defines the names of objects, EDLs, and process classes that are allowed as process attachments. See Overwriting Allowed Classes on page 62. Defines different starting conditions for the same process in MediaCentral UX. See Defining Actions Sub-Menus in MediaCentral UX on page 62. Defines the names of script tasks to overwrite the SWoDL script name (workflow) that is started in Workflow Engine. See Overwriting the Workflow Script Name for a Script Task on page 73. Defines the names of user tasks for which properties are overwritten. See Overwriting User Task Properties on page 71. Basic Actions on the Section Level Working with the BPMProcesses profile involves the following basic actions on the section level: 1. Copy the _ExampleProcessName section and its subsections. 2. Rename the sections: Replace _ExampleProcessName with the name of the process definition file uploaded to the State Machine. 3. (Option for Script tasks): Replace _ExampleScriptTaskName with the name of the workflow script uploaded to the Workflow Engine. 4. (Option for User tasks): Replace _ExampleUserTasks with the name of the user task specified in the process model. 5. (Option for Actions menu items): Replace _ExampleActionMenuItemName with the name of the Actions sub-menu item you want to create. 59

60 Configuring the Actions Menu for MediaCentral UX Configuring the Actions Menu for MediaCentral UX In MediaCentral UX, panes that support the creation of processes provide an Actions Pane Menu item (Assets pane, Associations pane, Documents pane, File Info pane, Media pane, and Search pane) to let you select the configured process types. Defining the Order of Actions Menu Items Starting with Interplay MAM v5.9 / MediaCentral UX v2.10, you can change the order of the Actions menu items by configuring the BPMProcesses profile. In the profile, provide a section for each process class and a Rank key within each section. Rank is used for sorting the Actions menu items in MediaCentral UX. Note the following: The higher the Rank, the higher the process class s position in the Actions menu. Process classes with the same Rank appear in the order of the process class name (ascending order) in the Actions menu. If the Rank key is missing or its value is empty, sorting is not applied. Process classes for which you do not define a rank in the BPMProcesses profile are shown in the Actions menu in MediaCentral UX as delivered from Data Manager, and therefore appear in an unsorted order. Ranked process classes appear at the top of the Actions menu, ordered as configured in the BPMProcesses profile. Unranked process classes appear at the bottom of the Actions menu in an unsorted order. To define the order of Actions menu items: 1. Select the profile BPMProcesses. 60

61 Configuring the Actions Menu for MediaCentral UX 2. Select the process class section. If not present, create a section for the process class. The section name must match the process class name defined in Datamodel Administrator. 3. If not present, add a key with name Rank, type Integer. 4. Provide a value for the Rank key. The higher the rank, the higher the process class s position in the Actions menu. 5. Repeat steps 2 through 4 for all process classes. 6. Refresh the BPMProcesses profile configuration. For information on how to define the sort order of Actions sub-menu items, see Defining Actions Sub-Menus in MediaCentral UX on page 62. Changing the Labels of Actions Menu Items The labels of the Actions menu items are defined in the data model. MediaCentral UX shows the labels of the process classes as labels of the Actions menu items. To change the label of Actions menu items: 1. Open the data model in Datamodel Administrator. 2. Select Process classes in the Navigation pane. The Process classes view opens in the Work pane. 3. Click the Labels button. The Edit labels dialog box opens. 4. Change the labels of the desired process classes. 5. Click OK. 6. Activate the data model. 61

62 Defining Actions Sub-Menus in MediaCentral UX Defining Actions Sub-Menus in MediaCentral UX In Interplay MAM Desktop you can configure process folders by assigning process types and Create templates with different default values for attributes with at least one default (readonly) value for an attribute and control user group access to folders by using Foldersharing controls. For example, you can define multiple Export destinations for an export process and assign these predefined destinations to user groups. Starting with version 2.2, in MediaCentral UX, Actions sub-menu items are used to implement the same feature. By using the BPMProcesses profile you can configure submenus for processes and configure the Create template and labels to be used for each submenu item. Access to sub-menus is controlled by user rights. If the Mam.Foundation.Base package is installed, the BPMProcesses profile contains preconfigured settings for Actions sub-menus to be used with the MAM Export process. You can use these settings as reference when modelling your own Actions sub-menus for another process. The following illustrations show the preconfigured folder in MAM Desktop s Workspace, and the Actions sub-menu items in MediaCentral UX for the MAM Export process. MAM Desktop s Workspace: MAM Export process folders MediaCentral UX: MAM Export sub-menu items in the Actions menu The Mam.Foundation.Base package includes the required user rights for sub-menu items and subsections for sub-menu items in the BPMProcesses profile: 62

63 Defining Actions Sub-Menus in MediaCentral UX MAM User Manager: Rights for Actions sub-menu items BPMProcesses profile: Subsections for Actions sub-menu items If the Mam.Foundation.Base package is not used in your installation, use the _ExampleProcessName/ActionMenuItems/_ExampleActionMenuItemName subsection of the BPMProcesses profile as a point of reference. Configuring Actions sub-menu items requires the following basic steps: 1. (Option) In Datamodel Administrator, create specific templates. 2. In System Administrator, create sub-sections with the name of the sub-menu items and configure the values in the BPMProcesses profile, as described in the following procedure. 3. In User Manger, create the right Processes/Create_<ProcessName>/<MenuItemName> for each sub-menu item and assign the rights to the desired user groups. To create settings for Actions sub-menus: 1. Copy the _ExampleProcessName section and rename it with the name of the process definition file uploaded to the State Machine. 63

64 Configuring Quick Send for MediaCentral UX 2. Copy the _ExampleProcessName /ActionMenuItems/_ExampleActionMenuItemName section, replace _ExampleProcessName with the process name used in step 1, and replace _ExampleActionMenuItemName with the name of the Actions sub-menu you want to create. 3. Within the renamed _ExampleActionMenuItemName section, provide values for the following keys: Input ItemLabel ItemLabel_en Rank TemplateName Meaning Default display name for the Actions sub-menu item. It is used as the label in a single-language environment and the fallback label if language-specific labels are missing. Language-specific (English) display name for the Actions submenu item. Integer value that is used for sorting the sub-menu items in MediaCentral UX. The higher the Rank, the higher the item s position in the sub-menu. Sub-menu items with the same Rank appear in the order of the section name in the profile. If the Rank is empty it defaults to zero. Name of the template used for process creation. The name must match the name of the template in the data model. If TemplateName is empty, the section is skipped and the sub-menu item is not shown in the Actions menu. 4. Create an ItemLabel_<language> key for each needed language and provide the localized label. MediaCentral UX supports the following languages: English (_en), French (_fr), German (_de), Italian (_it), Spanish (_es), Portuguese (_pt), Chinese (_zh), Japanese (_ja), Korean (_ko), Arabic (_ar), and Turkish (_tr). 5. Repeat steps 2 through 4 for all sub-menus you want to create. Configuring Quick Send for MediaCentral UX For a quick transfer of material to a certain destination, users of Interplay MAM Desktop can set Mark In and Mark Out and then initiate the transfer. Starting with version 2.4, MediaCentral UX also supports the Quick Send feature for Interplay MAM assets. By using the BPMProcesses profile you can configure sub-menus for Quick Send processes and configure the Create template and labels for each sub-menu item. Access to sub-menus is controlled by user rights. 64

65 Configuring Quick Send for MediaCentral UX If the Mam.Kit.DemoQuickSend package is installed, the BPMProcesses profile contains preconfigured settings for a Quick Send sub-menu to be used in MediaCentral UX Media pane. You can use these settings as a reference when modelling your own Quick Send submenus. The following illustration shows an example of a Quick Send sub-menu item in MediaCentral UX. The Mam.Kit.DemoQuickSend package includes the required process definition, process class and template, user rights, and subsection in the BPMProcesses profile for the example Quick Send process. MAM User Manager: Rights for Actions sub-menu items BPMProcesses profile: Subsections for Quick Send sub-menu items Configuring Quick Send sub-menu items requires the following basic steps: 1. (Option) If you want to create specific Quick Send processes, do the following: 65

66 Configuring Quick Send for MediaCentral UX a. In Process Modeler, create specific Quick Send process definitions. b. In Process Administrator, upload the process definition to the State Machine. c. In Datamodel Administrator, create the Quick Send process classes and specific Quick Send templates. 2. In System Administrator, create sub-sections with the name of the Quick Send items and configure the values in the BPMProcesses profile, as described in the following procedure. 3. In User Manager, create the right Processes/Create_<QuickSend>/<MenuItemName> for each QuickSend sub-menu item and assign the rights to the desired user groups. To create settings for Quick Send sub-menus: 1. Copy the QUICK_SEND_EXAMPLE section and rename it with the name of the process definition file uploaded to the State Machine. 2. Copy the QUICK_SEND_EXAMPLE/ActionMenuItems/1DEFAULT section, replace QUICK_SEND_EXAMPLE with the process name used in step 1, and replace 1DEFAULT with the name of the Quick Send sub-menu you want to create. 3. Within the renamed section, provide values for the following keys: Input EnableQuickSend ItemLabel ItemLabel_en Rank TemplateName Meaning Shows or hides the Quick Send menu item. Default display name for the Quick Send sub-menu item. It is used as the label in a single-language environment and the fallback label if language-specific labels are missing. Language-specific (English) display name for the Quick Send sub-menu item. Integer value that is used for sorting the sub-menu items in MediaCentral UX. The higher the Rank, the higher the item s position in the sub-menu. Sub-menu items with the same Rank appear in the order of the section name in the profile. If the Rank is empty it defaults to zero. Name of the template used for Quick Send process creation. The name must match the name of the template in the data model. If TemplateName is empty, the section is skipped and the sub-menu item is not shown in the Quick Send menu. 66

67 Attaching Objects from Non-MAM Systems to Processes 4. Create an ItemLabel_<language> key for each required language and provide the localized label. MediaCentral UX supports the following languages: English (_en), French (_fr), German (_de), Italian (_it), Spanish (_es), Portuguese (_pt), Chinese (_zh), Japanese (_ja), Korean (_ko), Arabic (_ar), and Turkish (_tr). 5. Repeat steps 2 through 4 for all sub-menus you want to create. Attaching Objects from Non-MAM Systems to Processes Starting with version 2.4, the options for attaching assets to MAM processes in MediaCentral UX are enhanced. You can now also add assets to a process: From other MAM systems ( non-local MAM systems), and From other systems such as Interplay Production and inews ( non-mam systems ). Adding non-local and non-mam assets to a process is possible in MediaCentral UX, but not in Interplay MAM Desktop. All non-local and non-mam assets are attached to the P_ATTACHMENT_LIST attribute. To attach assets from non-local and non-mam systems, configure the allowed systems and asset types: In the Allowed Object Classes property of the process definition in Process Modeler, or In the AllowedObjectClassses key in the _ExampleProcessName section of the BPMProcesses profile, if you want to overwrite the process definition. See Overwriting Allowed Classes on page 62. In any case, you must specify the filter for AllowedObjectClassses in the following format: [system-type:system-id]:asset-type["[" [from "-"] to "]" ] Input system-type system-id Meaning Type of system (Interplay Production, Interplay MAM, inews). Currently, the following system types are supported: interplay, interplay-mam, and inews. ID of the system. You can use the following: *: Wildcard for any system 67

68 Attaching Objects from Non-MAM Systems to Processes Input asset-type Meaning {local}: Placeholder for the ID of the local system {group}: Placeholder for any system that is defined in the Interplay MAM configuration (profile Global > section Orchestration/Group > keys inews, interplay, and interplaymam) Id: The ID of a specific system Asset types that are to be allowed as attachments for the specified system type. The asset type is case-insensitive. For MAM object classes, use asset.<object class name> For MAM EDL classes, use sequence.<edl class name> For Interplay Production and inews assets, use the asset name. Examples: *: Wildcard for any asset type asset.video (MAM Video class) asset.* (all MAM object classes) sequence.edl (MAM EDL class) sequence (PAM Sequence) masterclip (PAM Video) ["[" [from "-"] to "]" ] Number and range of objects that can be attached (optional). You can use the following: * or <empty>: no limitation [n]: Up to the specified number (including 0) [0-0]: None [n-n]: Exactly the specified number [n-m]: From - to If you want to apply several filters, do the following: In the AllowedObjectClassses key in BPMProcesses profile, type the filter definitions as a comma-separated list. 68

69 Overwriting Allowed Classes In the Allowed Object Classes property of the process definition, create a value for each filter definition. The following table shows examples for filters that can be applied to Allowed Object Classes: Filter interplay:*:sequence interplay:wg3:sequence[1-2] interplay:{group}:sequence[1] interplaymam:*:sequence.my_edl interplay::[1-1] Meaning Allows any Interplay Production sequence Allows one or two sequences from an Interplay Production system with the ID WG3 Allows a maximum of one sequence that comes from the assigned Interplay Production system (one of the systems defined in the MAM configuration) Accepts EDLs of the EDL class MY_EDL from any Interplay MAM system Accepts any Interplay Production asset type but exactly one Overwriting Allowed Classes When designing a process model in Process Modeler you can define which objects, processes, and EDL classes can be used as process attachments. 69

70 Overwriting Allowed Classes You can overwrite the allowed object class definition by using the AllowedObjectClassses key in the _ExampleProcessName section of the BPMProcesses profile. To overwrite the AllowedObjectClasses definition: 1. Select the _ExampleProcessName section. 2. Select the key AllowedObjectClasses and enter one of the following: Input <empty> Names of classes Meaning If you do not provide a value, the Allowed Object Classes definition of the process model is not overwritten. For local MAM assets, type the name of the object, EDL, or process class as defined in the data model. If you want to use several classes, type the names as a comma-separated list. For non-local and non-mam assets, see Attaching Objects from Non- 70

71 Overwriting User Task Properties Input Asterisk (*) Meaning MAM Systems to Processes on page 67. If you type an asterisk, all objects, EDLs, and process classes defined in the data model are allowed as process attachments. Overwriting User Task Properties When designing a process model in Process Modeler you define the behavior of user tasks. You can overwrite user task properties by using the following keys in the _ExampleProcessName/UserTasks/_ExampleUserTaskName section of the BPMProcesses profile: Configuration Key Process Property Meaning AllowedActions Allowed Actions Defines which user actions are allowed when the user task is reached during process execution. AllowedActionsButtons States Defines the states that the user task can reach when the user performs the task. DisplayForm Display Form Defines a display form template for the user task. InputForm Input Form Defines an input form template for the user task. ResponsibleGroup and ResponsibleUsers Performers Assigns performers to the user task (user or groups that are allowed to process the task.) 71

72 Overwriting User Task Properties To overwrite user task properties: Except for InputForm and DisplayForm you can set several values for a key. Type the values as a comma-separated list. If you do not provide a value for a key, the corresponding property of the process model is not overwritten. 1. Select the _ExampleProcessName/UserTasks/_ExampleUserTaskName section. 2. Select the key AllowedActions and enter the needed value(s). Input ADDOBJECTS REMOVEOBJECTS UPLOAD DOWNLOAD Meaning Objects or EDLs can be added to the task. Objects or EDLs can be removed from the task. Files can be uploaded to the task. Files can be to downloaded from the task. 3. Select the key AllowedActionButtons and enter the states that the user task can reach when the user performs the task. Note that you can only use states that are defined in the user task s State property. 4. Select the key DisplayForm and enter the name of the display template that is shown when the user task is reached during process execution. The template name must match the name of the corresponding template defined in the data model. 5. Select the key InputForm and enter the name of the input template that is shown when the user task is reached during process execution. 72

73 Overwriting the Workflow Script Name for a Script Task The template name must match the name of the corresponding template defined in the data model. 6. Select the key ResponsibleGroups and enter the ID of the user group that is allowed to perform the user task. The ID must match the user group ID defined in MAM User Management. 7. Select the key ResponsibleUsers and enter the ID of the user that is allowed to perform the user task. The ID must match the user ID defined in MAM User Management. Overwriting the Workflow Script Name for a Script Task When designing a process model in Process Modeler you define which workflow script is triggered by a script task. You can overwrite the workflow script definition and skip the workflow script execution by using the following key in the _ExampleProcessName/ScriptTasks/ _ExampleScriptTaskName section of the BPMProcesses profile: Configuration Key Process Property Meaning ScriptName Script Name Defines the name of the workflow script called by the script task. 73

74 Using Configuration Values as Script Task Inputs If you do not provide a value for a key, the corresponding property of the process model is not overwritten. To overwrite the workflow script definition: 1. Select the ExampleProcessName/ScriptTasks/_ExampleScriptTaskName section. 2. Select the key ScriptName and enter one of the following: Enter the name of the workflow script that is to be triggered. The name must match the name of the corresponding workflow that is uploaded to the Interplay MAM Workflow Engine. Enter _skip_ The script task is skipped during process execution and its workflow script is not triggered. The Lifecycle of the script task is set to SKIPPED. Using Configuration Values as Script Task Inputs When designing a process model in Process Modeler you can use attribute mapping for script tasks. When attribute mapping you define which values are passed to the workflow script by specifying the target s variable name in the script, as well as either the source property or a constant. The specified script variables are set to initial values by the State Machine before the script starts the execution. You can use a configuration key as a script task s input. Here are the requirements (as shown in the illustration): 1. The variable must be a constant. 2. Its value must be a URI to the configuration key. The URI syntax is MAMConfig://Profile/Section/Key 74

75 Using Configuration Values for Decisions The value is taken dynamically when the workflow script is launched. If the URI is not correct or the associated configuration key does not contain a value, an empty string is used as the value of the variable. Using Configuration Values for Decisions When designing a process model in Process Modeler you can define the behavior for transitions of a decision. A decision connects transitions to other elements of the process model ( activities ). At runtime, the concrete control flow ( concrete decision ) is based on the conditions defined in the individual transitions. You have to use special syntactical constructs to define the conditions ( expressions ). You can use a configuration key as a value for a condition. The following is required: The value must be a URI to the configuration key. The URI syntax is MAMConfig://Profile/Section/Key Example: You want to reference a key DoPosttranscode in the CommonSettings section of the MAM_Export profile. In this case, the URI for the condition would be: MAMConfig://MAM_Export/CommonSettings/DoPosttranscode ==1 75

76 Using Configuration Values for Decisions The following illustration shows the condition that references the DoPosttranscode key in the CommonSettings section of the MAM_Export profile: If the URI is not correct or the associated configuration key does not contain a value, an empty string is used as the value. 76

77 6 Best Practices The followings topics provide information about best practices in process design: Naming Guidelines Process Modeling Naming Guidelines Process Models and Process Classes The name of the process model must match the name of the corresponding process class in the Interplay MAM data model, and follow the naming rules for object and process classes; that is, no spaces or special characters are allowed in the name. Avid recommends that the names of process models and process classes only contain uppercase characters, digits, or underscores. Example: P_<Name of Process> Process Attributes The names of mandatory process attributes use the character sequence P_ as a prefix. In the context of process classes, the prefix P_ is therefore reserved for future extensions of the Process Execution Engine. Custom process attributes should not use the prefix P_ for their names. Process Element Names Avid recommends that the names of process elements only contain characters, digits, and underscores. To improve readability, element names should begin with an uppercase letter and continue with lowercase. Multiple words should be separated by underscores. Example: Approve_or_Reject

78 Naming Guidelines Task State Names Avid recommends that the names of task states only contain uppercase characters, digits, and underscores. APPROVED and REJECTED are two recommended names for task states, for example. Metadata Templates Process Creation The name of the metadata template that is used for process creation consists of the prefix CREATECAT_ followed by the name of the process class. Example: CREATECAT_<Name of Process Class> If a template with such a name does not exist, the default template for creating processes is used. Process Display The name of the metadata template that is used for displaying processes consists of the prefix CAT_ followed by the name of the process class. Example: CAT_<Name of Process Class> If a template with such a name does not exist, a default template is automatically created and used to display processes. User Task Templates The name of the metadata template that is used for displaying user tasks consists of the prefix CAT_ followed by the name of the process class and the name of the user task. Example: CAT_<Name of Process Class>_<Name of User Task> Workflows In general, the names of workflow scripts should be preceded by the character sequence P_ to indicate that these scripts are primarily used from within business processes. Generic workflows that are potentially reusable in different process models are named by the character sequence P_ and the unique name of the workflow. Example: P_<Workflow Name>.wf 78

79 Process Modeling Workflows that are specific to a process model are named by inserting the name of the process model into to the workflow name. Example: P_<Name of Process Class>_<Workflow Name>.wf Reusing a workflow across process models requires sound change management, because modifying such a workflow may affect a number of process models. Process Modeling State Tasks in Parallel Threads The use of State Tasks in parallel execution threads of a process model is not recommended. In this case, the process model contains an inherent race condition. Depending on the business logic of the process model, this may lead to unexpected results. The following fictional process model illustrates the problem: There are two parallel execution threads that both emerge from the Fork Task. If the thread with the User_Task finishes first and sets the process state, this process state is subsequently overwritten by the thread with the Script_Task, and vice versa. If the following decision contains conditions that evaluate the process state, then the outcome of the entire process varies. This behavior of a process model is undesirable. Restrict Access to Process Metadata Some mandatory attributes of each process class should be considered private to the process. Only the Business Process Engine should be allowed to modify these attributes. For technical 79

Interplay MAM Process Reference. Release 5

Interplay MAM Process Reference. Release 5 Interplay MAM Process Reference Release 5 Contents Using This Reference... 5 Symbols and Conventions... 5 If You Need Help... 6 Avid Training Services... 6 1 Overview... 7 2 Architecture... 8 Process Design...

More information

1 Lexical Considerations

1 Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Decaf Language Thursday, Feb 7 The project for the course is to write a compiler

More information

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections:

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections: This chapter contains the following sections: Viewing the Task Library, page 1 Creating a Workflow, page 1 Example: Creating a Workflow, page 13 Resolving Workflow Validation Issues, page 16 Changing Flow

More information

WebStudio User Guide. OpenL Tablets BRMS Release 5.18

WebStudio User Guide. OpenL Tablets BRMS Release 5.18 WebStudio User Guide OpenL Tablets BRMS Release 5.18 Document number: TP_OpenL_WS_UG_3.2_LSh Revised: 07-12-2017 OpenL Tablets Documentation is licensed under a Creative Commons Attribution 3.0 United

More information

Dataflow Editor User Guide

Dataflow Editor User Guide - Cisco EFF, Release 1.0.1 Cisco (EFF) 1.0.1 Revised: August 25, 2017 Conventions This document uses the following conventions. Convention bold font italic font string courier font Indication Menu options,

More information

Clay Tablet Connector for Sitecore. User Guide. Version 3.9.8

Clay Tablet Connector for Sitecore. User Guide. Version 3.9.8 Clay Tablet Connector for Sitecore User Guide Version 3.9.8 May 27, 2016 Copyright Copyright 2005-2016 Clay Tablet Technologies Inc. All rights reserved. All rights reserved. This document and its content

More information

Lexical Considerations

Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2010 Handout Decaf Language Tuesday, Feb 2 The project for the course is to write a compiler

More information

Lexical Considerations

Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 6 Decaf Language Wednesday, September 7 The project for the course is to write a

More information

The SPL Programming Language Reference Manual

The SPL Programming Language Reference Manual The SPL Programming Language Reference Manual Leonidas Fegaras University of Texas at Arlington Arlington, TX 76019 fegaras@cse.uta.edu February 27, 2018 1 Introduction The SPL language is a Small Programming

More information

Advanced Reporting Tool

Advanced Reporting Tool Advanced Reporting Tool The Advanced Reporting tool is designed to allow users to quickly and easily create new reports or modify existing reports for use in the Rewards system. The tool utilizes the Active

More information

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections:

Creating Workflows. Viewing the Task Library. Creating a Workflow. This chapter contains the following sections: This chapter contains the following sections: Viewing the Task Library, page 1 Creating a Workflow, page 1 Example: Creating a Workflow, page 12 Resolving Workflow Validation Issues, page 15 Changing Flow

More information

The PCAT Programming Language Reference Manual

The PCAT Programming Language Reference Manual The PCAT Programming Language Reference Manual Andrew Tolmach and Jingke Li Dept. of Computer Science Portland State University September 27, 1995 (revised October 15, 2002) 1 Introduction The PCAT language

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All for repetition statement do while repetition statement switch multiple-selection statement break statement continue statement Logical

More information

User Guide. Web Intelligence Rich Client. Business Objects 4.1

User Guide. Web Intelligence Rich Client. Business Objects 4.1 User Guide Web Intelligence Rich Client Business Objects 4.1 2 P a g e Web Intelligence 4.1 User Guide Web Intelligence 4.1 User Guide Contents Getting Started in Web Intelligence 4.1... 5 Log into EDDIE...

More information

In addition to the primary macro syntax, the system also supports several special macro types:

In addition to the primary macro syntax, the system also supports several special macro types: The system identifies macros using special parentheses. You need to enclose macro expressions into curly brackets and the percentage symbol: {% expression %} Kentico provides an object-oriented language

More information

Asset Arena InvestOne

Asset Arena InvestOne Asset Arena InvestOne 1 21 AD HOC REPORTING 21.1 OVERVIEW Ad Hoc reporting supports a range of functionality from quick querying of data to more advanced features: publishing reports with complex features

More information

Lionbridge Connector for Sitecore. User Guide

Lionbridge Connector for Sitecore. User Guide Lionbridge Connector for Sitecore User Guide Version 4.0.5 November 2, 2018 Copyright Copyright 2018 Lionbridge Technologies, Inc. All rights reserved. Lionbridge and the Lionbridge logotype are registered

More information

Quark XML Author for FileNet 2.5 with BusDocs Guide

Quark XML Author for FileNet 2.5 with BusDocs Guide Quark XML Author for FileNet 2.5 with BusDocs Guide CONTENTS Contents Getting started...6 About Quark XML Author...6 System setup and preferences...8 Logging in to the repository...8 Specifying the location

More information

MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL. John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards

MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL. John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards MATVEC: MATRIX-VECTOR COMPUTATION LANGUAGE REFERENCE MANUAL John C. Murphy jcm2105 Programming Languages and Translators Professor Stephen Edwards Language Reference Manual Introduction The purpose of

More information

Bonita Workflow. Development Guide BONITA WORKFLOW

Bonita Workflow. Development Guide BONITA WORKFLOW Bonita Workflow Development Guide BONITA WORKFLOW Bonita Workflow Development Guide BSOA Workflow v3.0 Software January 2007 Copyright Bull SAS Table of Contents Chapter 1. Overview... 11 1.1 Role of

More information

Quark XML Author for FileNet 2.8 with BusDocs Guide

Quark XML Author for FileNet 2.8 with BusDocs Guide Quark XML Author for FileNet.8 with BusDocs Guide Contents Getting started... About Quark XML Author... System setup and preferences... Logging on to the repository... Specifying the location of checked-out

More information

Getting started with WebRatio 6 BPM - WebRatio WebML Wiki

Getting started with WebRatio 6 BPM - WebRatio WebML Wiki 1 of 28 12/12/12 20:02 Getting started with WebRatio 6 BPM From WebRatio WebML Wiki Category: Business Process Model Level: Beginner Topics: Business Process Model Users (rate it!) Rating: Thank you for

More information

Language Reference Manual simplicity

Language Reference Manual simplicity Language Reference Manual simplicity Course: COMS S4115 Professor: Dr. Stephen Edwards TA: Graham Gobieski Date: July 20, 2016 Group members Rui Gu rg2970 Adam Hadar anh2130 Zachary Moffitt znm2104 Suzanna

More information

Java How to Program, 9/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 9/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 9/e Copyright 1992-2012 by Pearson Education, Inc. All Rights Reserved. Copyright 1992-2012 by Pearson Copyright 1992-2012 by Pearson Before writing a program to solve a problem, have

More information

easel LANGUAGE REFERENCE MANUAL

easel LANGUAGE REFERENCE MANUAL easel LANGUAGE REFERENCE MANUAL Manager Danielle Crosswell dac2182 Language Guru Tyrus Cukavac thc2125 System Architect Yuan-Chao Chou yc3211 Tester Xiaofei Chen xc2364 Table of Contents 1. Introduction...

More information

Quark XML Author October 2017 Update for Platform with Business Documents

Quark XML Author October 2017 Update for Platform with Business Documents Quark XML Author 05 - October 07 Update for Platform with Business Documents Contents Getting started... About Quark XML Author... Working with the Platform repository...3 Creating a new document from

More information

Security Requirements Modeling Tool

Security Requirements Modeling Tool Security Requirements Modeling Tool SecBPMN2 Elements Reference Guide (rev 1.0) For STS-Tool Version 2.1 Contact: ststool@disi.unitn.it Table of contents BPMN 2.0... 5 Connections... 5 Association... 5

More information

Lionbridge Connector for Sitecore. User Guide

Lionbridge Connector for Sitecore. User Guide Lionbridge Connector for Sitecore User Guide Version 4.0.2 March 28, 2018 Copyright Copyright 2018 Lionbridge Technologies, Inc. All rights reserved. Lionbridge and the Lionbridge logotype are registered

More information

Cisco TEO Adapter Guide for Microsoft Windows

Cisco TEO Adapter Guide for Microsoft Windows Cisco TEO Adapter Guide for Microsoft Windows Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800

More information

BPMN Getting Started Guide

BPMN Getting Started Guide Enterprise Studio BPMN Getting Started Guide 2017-09-21 Applies to: Enterprise Studio 3.0.0, Team Server 3.0.0 Table of contents 1 About modeling with BPMN 5 1.1 What is BPMN? 5 1.2 BPMN modeling 5 1.3

More information

arxiv: v1 [cs.se] 17 Aug 2016

arxiv: v1 [cs.se] 17 Aug 2016 Introduction to the Case Management Model and Notation (CMMN) arxiv:1608.05011v1 [cs.se] 17 Aug 2016 Mike A. Marin University of South Africa IBM Analytics Group mmarin@acm.org August 18, 2016 Abstract

More information

JME Language Reference Manual

JME Language Reference Manual JME Language Reference Manual 1 Introduction JME (pronounced jay+me) is a lightweight language that allows programmers to easily perform statistic computations on tabular data as part of data analysis.

More information

1. Introduction to Microsoft Excel

1. Introduction to Microsoft Excel 1. Introduction to Microsoft Excel A spreadsheet is an online version of an accountant's worksheet, which can automatically do most of the calculating for you. You can do budgets, analyze data, or generate

More information

Expense: Process Reports

Expense: Process Reports Expense: Process Reports User Guide for Standard Edition Applies to these SAP Concur solutions: Expense Professional/Premium edition Standard edition Travel Professional/Premium edition Standard edition

More information

Contents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual

Contents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual Contents 1 Introduction...2 2 Lexical Conventions...2 3 Types...3 4 Syntax...3 5 Expressions...4 6 Declarations...8 7 Statements...9

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Interplay MAM Installation Manual. Version 5

Interplay MAM Installation Manual. Version 5 Interplay MAM Installation Manual Version 5 Contents Using This Guide... 4 Symbols and Conventions... 4 If You Need Help... 5 Avid Training Services... 5 1 Introduction... 6 Hardware Recommendations...

More information

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax

More information

Monash University Policy Management. User Guide

Monash University Policy Management. User Guide Monash University Policy Management User Guide 1 Table of Contents 1. GENERAL NAVIGATION... 4 1.1. Logging In to Compliance 360 - Single Sign On... 4 1.2. Help... 4 1.2.1. The University Policy Bank...

More information

Operators. Java operators are classified into three categories:

Operators. Java operators are classified into three categories: Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.

More information

Object oriented programming. Instructor: Masoud Asghari Web page: Ch: 3

Object oriented programming. Instructor: Masoud Asghari Web page:   Ch: 3 Object oriented programming Instructor: Masoud Asghari Web page: http://www.masses.ir/lectures/oops2017sut Ch: 3 1 In this slide We follow: https://docs.oracle.com/javase/tutorial/index.html Trail: Learning

More information

ADDITIONAL GUIDES Customer SAP Enable Now Customization. Customer SAP SE or an SAP affiliate company. All rights reserved.

ADDITIONAL GUIDES Customer SAP Enable Now Customization. Customer SAP SE or an SAP affiliate company. All rights reserved. ADDITIONAL GUIDES Customer 1811 2018-11-01 Customer 2018 SAP SE or an SAP affiliate company. All rights reserved. Table of Contents 1 Introduction... 4 1.1 Workarea Resources... 4 1.2 Customization Editors...

More information

FileMaker, Inc. All Rights Reserved. Document Version 2.0 FileMaker, Inc Patrick Henry Drive Santa Clara, California FileMaker

FileMaker, Inc. All Rights Reserved. Document Version 2.0 FileMaker, Inc Patrick Henry Drive Santa Clara, California FileMaker User s Guide 2003-2004 FileMaker, Inc. All Rights Reserved. Document Version 2.0 FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc., registered

More information

SAP Workforce Performance Builder 9.5

SAP Workforce Performance Builder 9.5 Additional Guides Workforce Performance Builder Document Version: 1.0 2016-07-15 CUSTOMER Customization Typographic Conventions Type Style Example Description Words or characters quoted from the screen.

More information

Extending BPEL with transitions that can loop

Extending BPEL with transitions that can loop Extending BPEL with transitions that can loop ActiveVOS linksaretransitions BPEL Extension AN ACTIVE ENDPOINTS PAPER AUTHOR: DR MICHAEL ROWLEY 2009 Active Endpoints Inc. ActiveVOS is a trademark of Active

More information

Reasons to use a constraint-based product configuration model.

Reasons to use a constraint-based product configuration model. ro Reasons to use a constraint-based product configuration model. Flexible tool that promotes reusability for areas that require constant setup. Provides access to frequently selected data by using configuration

More information

Language Reference Manual

Language Reference Manual Programming Languages and Translators Language Reference Manual ART: Animation Rendering Tool Brett Jervey - baj2125 Gedion Metaferia - gym2103 Natan Kibret - nfk2105 Soul Joshi - srj2120 October 26, 2016

More information

WebSphere. Clips and Tacks: Getting started with the IBM BPM suite of products

WebSphere. Clips and Tacks: Getting started with the IBM BPM suite of products WebSphere Clips and Tacks: Getting started with the IBM BPM suite of products ii IBM WebSphere Clips and Tacks: Getting started with the IBM BPM suite of products Contents Chapter 1. Introduction........

More information

StreamServe Persuasion SP4 PageIN

StreamServe Persuasion SP4 PageIN StreamServe Persuasion SP4 PageIN User Guide Rev A StreamServe Persuasion SP4 PageIN User Guide Rev A 2001-2009 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent #7,127,520 No part of this document

More information

BoredGames Language Reference Manual A Language for Board Games. Brandon Kessler (bpk2107) and Kristen Wise (kew2132)

BoredGames Language Reference Manual A Language for Board Games. Brandon Kessler (bpk2107) and Kristen Wise (kew2132) BoredGames Language Reference Manual A Language for Board Games Brandon Kessler (bpk2107) and Kristen Wise (kew2132) 1 Table of Contents 1. Introduction... 4 2. Lexical Conventions... 4 2.A Comments...

More information

Quark XML Author October 2017 Update with Business Documents

Quark XML Author October 2017 Update with Business Documents Quark XML Author 05 - October 07 Update with Business Documents Contents Getting started... About Quark XML Author... Working with documents... Basic document features... What is a business document...

More information

Information Science 1

Information Science 1 Information Science 1 Simple Calcula,ons Week 09 College of Information Science and Engineering Ritsumeikan University Topics covered l Terms and concepts from Week 8 l Simple calculations Documenting

More information

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling Sequence Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

Expr Language Reference

Expr Language Reference Expr Language Reference Expr language defines expressions, which are evaluated in the context of an item in some structure. This article describes the syntax of the language and the rules that govern the

More information

Review of the C Programming Language for Principles of Operating Systems

Review of the C Programming Language for Principles of Operating Systems Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights

More information

Photogram. Programmable Photoshop Language Language Reference Manual. ( ), Group Leader. (

Photogram. Programmable Photoshop Language Language Reference Manual. ( ), Group Leader. ( Photogram Programmable Photoshop Language Language Reference Manual Ohan Oda Neesha Subramaniam Richard Ng Seikwon Kim ( oo2116@columbia.edu ), Group Leader ( ns2295@columbia.edu ) ( rjn2003@columbia.edu

More information

3. Business Process Diagrams

3. Business Process Diagrams BPMN Working Draft 3. Business Process Diagrams This section provides a summary of the BPMN graphical objects and their relationships. More details on the concepts will be provided in Business Process

More information

Decaf Language Reference Manual

Decaf Language Reference Manual Decaf Language Reference Manual C. R. Ramakrishnan Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 cram@cs.stonybrook.edu February 12, 2012 Decaf is a small object oriented

More information

YaSM Process Map. User Manual for the YaSM Process Map (MS Visio Version)

YaSM Process Map. User Manual for the YaSM Process Map (MS Visio Version) YaSM Process Map User Manual for the YaSM Process Map (MS Visio Version) Contents Installation... 5 Extracting the ZIP archive... 5 Contents of the ZIP archive... 5 Setting up the repository add-in...

More information

CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT

CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT Abstract In this document, we provide step-by-step guidance to configure support for the SAFe V4.0 methodology in CLM tooling. Amy Silberbauer

More information

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials 1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials Number: 1Z0-560 Passing Score: 650 Time Limit: 120 min File Version: 1.0 http://www.gratisexam.com/ 1Z0-560: Oracle Unified Business

More information

IBM Cloud Orchestrator Version Content Development Guide

IBM Cloud Orchestrator Version Content Development Guide IBM Cloud Orchestrator Version 2.4.0.2 Content Development Guide Note Before using this information and the product it supports, read the information in Notices. Contents Preface.............. vii Who

More information

GlobeNewswire. GlobeNewswire, User s Guide USER S GUIDE. Version: 1.16 Issued: By: Global Corporate Services 12/06/

GlobeNewswire. GlobeNewswire, User s Guide USER S GUIDE. Version: 1.16 Issued: By: Global Corporate Services 12/06/ GlobeNewswire USER S GUIDE Version: 1.16 Issued: 2011-06-12 By: Global Corporate Services 12/06/2011 1.16 1 (31) Table of Contents 1. INTRODUCTION... 4 1.1 Document Objectives... 4 1.2 Document conventions...

More information

EXCEL 2003 DISCLAIMER:

EXCEL 2003 DISCLAIMER: EXCEL 2003 DISCLAIMER: This reference guide is meant for experienced Microsoft Excel users. It provides a list of quick tips and shortcuts for familiar features. This guide does NOT replace training or

More information

Reference Grammar Meta-notation: hfooi means foo is a nonterminal. foo (in bold font) means that foo is a terminal i.e., a token or a part of a token.

Reference Grammar Meta-notation: hfooi means foo is a nonterminal. foo (in bold font) means that foo is a terminal i.e., a token or a part of a token. Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2002 Handout 7 Espresso Language Definition Wednesday, September 4 The project for the 18-unit

More information

Customer Relationship Management Software Version 1.0. Administrator Guide Guide Version ITarian 1255 Broad Street Clifton, NJ 07013

Customer Relationship Management Software Version 1.0. Administrator Guide Guide Version ITarian 1255 Broad Street Clifton, NJ 07013 Customer Relationship Management Software Version 1.0 Administrator Guide Guide Version 1.0.111218 ITarian 1255 Broad Street Clifton, NJ 07013 Table of Contents 1. Introduction to CRM...5 1.1.Open the

More information

Contents. Add a Form Element to a Group Box Add a Field to a Form... 22

Contents. Add a Form Element to a Group Box Add a Field to a Form... 22 Workflow Design Guide Version 17 November 2017 Contents About This Guide... 7 Workflows and Forms Overview... 7 Security Permissions for Workflows and Forms... 8 Search for a Workflow Design, Workflow

More information

IPCoreL. Phillip Duane Douglas, Jr. 11/3/2010

IPCoreL. Phillip Duane Douglas, Jr. 11/3/2010 IPCoreL Programming Language Reference Manual Phillip Duane Douglas, Jr. 11/3/2010 The IPCoreL Programming Language Reference Manual provides concise information about the grammar, syntax, semantics, and

More information

Flow of Control. Flow of control The order in which statements are executed. Transfer of control

Flow of Control. Flow of control The order in which statements are executed. Transfer of control 1 Programming in C Flow of Control Flow of control The order in which statements are executed Transfer of control When the next statement executed is not the next one in sequence 2 Flow of Control Control

More information

Content Creation and Management System. External User Guide 3 Question types in CCMS (an overview)

Content Creation and Management System. External User Guide 3 Question types in CCMS (an overview) Content Creation and Management System External User Guide 3 Question types in CCMS (an overview) External User Guide 3 Mar 2015 CONTENTS 1. INTRODUCING THE SYSTEM AND ACCESS... 4 1.1. Audience... 4 1.2.

More information

25Live. Training Manual. 25Live

25Live. Training Manual. 25Live 25Live Training Manual 25Live 25live@mail.montclair.edu 25Live Table of Contents Contents 25Live Training 25Live Training Manual Manual OVERVIEW The 25Live Dashboard 25Live Home Calendar 25Live Availability

More information

V2 2/4/ Ch Programming in C. Flow of Control. Flow of Control. Flow of control The order in which statements are executed

V2 2/4/ Ch Programming in C. Flow of Control. Flow of Control. Flow of control The order in which statements are executed Programming in C 1 Flow of Control Flow of control The order in which statements are executed Transfer of control When the next statement executed is not the next one in sequence 2 Flow of Control Control

More information

OpenForms360 Validation User Guide Notable Solutions Inc.

OpenForms360 Validation User Guide Notable Solutions Inc. OpenForms360 Validation User Guide 2011 Notable Solutions Inc. 1 T A B L E O F C O N T EN T S Introduction...5 What is OpenForms360 Validation?... 5 Using OpenForms360 Validation... 5 Features at a glance...

More information

Learning Series. Volume 8: Service Design and Business Processes

Learning Series. Volume 8: Service Design and Business Processes Learning Series Volume 8: Service Design and Business Processes NOTICES ServicePRO Learning Series Edition November 2014 HelpSTAR and ServicePRO are registered trademarks of Help Desk Technology International

More information

SPARK-PL: Introduction

SPARK-PL: Introduction Alexey Solovyev Abstract All basic elements of SPARK-PL are introduced. Table of Contents 1. Introduction to SPARK-PL... 1 2. Alphabet of SPARK-PL... 3 3. Types and variables... 3 4. SPARK-PL basic commands...

More information

ARG! Language Reference Manual

ARG! Language Reference Manual ARG! Language Reference Manual Ryan Eagan, Mike Goldin, River Keefer, Shivangi Saxena 1. Introduction ARG is a language to be used to make programming a less frustrating experience. It is similar to C

More information

Programming for Engineers Iteration

Programming for Engineers Iteration Programming for Engineers Iteration ICEN 200 Spring 2018 Prof. Dola Saha 1 Data type conversions Grade average example,-./0 class average = 23450-67 893/0298 Grade and number of students can be integers

More information

Review of the C Programming Language

Review of the C Programming Language Review of the C Programming Language Prof. James L. Frankel Harvard University Version of 11:55 AM 22-Apr-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. Reference Manual for the

More information

Introduction to Visual Basic and Visual C++ Arithmetic Expression. Arithmetic Expression. Using Arithmetic Expression. Lesson 4.

Introduction to Visual Basic and Visual C++ Arithmetic Expression. Arithmetic Expression. Using Arithmetic Expression. Lesson 4. Introduction to Visual Basic and Visual C++ Arithmetic Expression Lesson 4 Calculation I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Arithmetic Expression Using Arithmetic Expression Calculations

More information

Interplay MAM Installation Manual. Version 5

Interplay MAM Installation Manual. Version 5 Interplay MAM Installation Manual Version 5 Contents Using This Guide... 4 Symbols and Conventions... 4 If You Need Help... 5 Avid Training Services... 5 1 Introduction... 6 Hardware Recommendations...

More information

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51 What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification

More information

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007

Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Cisco TEO Adapter Guide for Microsoft System Center Operations Manager 2007 Release 2.3 April 2012 Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com

More information

ARCHER Metadata Schema Editor. User Guide METADATA EDITOR. Version: 1.1 Date: Status: Release

ARCHER Metadata Schema Editor. User Guide METADATA EDITOR. Version: 1.1 Date: Status: Release ARCHER Metadata Schema Editor User Guide METADATA EDITOR Version: 1.1 Date: 2008-08-26 Status: Release Change History Version Date Author Description 0.1D 2008-04-15 Ron Chernich First Draft 1.0 2008-05-01

More information

ELO. ELO Dropzone. Document Management and Archiving Software. September ELO Digital Office GmbH.

ELO. ELO Dropzone. Document Management and Archiving Software. September ELO Digital Office GmbH. ELO Document Management and Archiving Software ELO Dropzone September 2017 ELO Digital Office GmbH http://www.elo.com Copyright 2017 ELO Digital Office GmbH All rights reserved [06.10.2017-10:21 - en -

More information

CA4003 Compiler Construction Assignment Language Definition

CA4003 Compiler Construction Assignment Language Definition CA4003 Compiler Construction Assignment Language Definition David Sinclair 2017-2018 1 Overview The language is not case sensitive. A nonterminal, X, is represented by enclosing it in angle brackets, e.g.

More information

FRAC: Language Reference Manual

FRAC: Language Reference Manual FRAC: Language Reference Manual Justin Chiang jc4127 Kunal Kamath kak2211 Calvin Li ctl2124 Anne Zhang az2350 1. Introduction FRAC is a domain-specific programming language that enables the programmer

More information

Flow Control. CSC215 Lecture

Flow Control. CSC215 Lecture Flow Control CSC215 Lecture Outline Blocks and compound statements Conditional statements if - statement if-else - statement switch - statement? : opertator Nested conditional statements Repetitive statements

More information

Learn how to login to Sitefinity and what possible errors you can get if you do not have proper permissions.

Learn how to login to Sitefinity and what possible errors you can get if you do not have proper permissions. USER GUIDE This guide is intended for users of all levels of expertise. The guide describes in detail Sitefinity user interface - from logging to completing a project. Use it to learn how to create pages

More information

UNIT- 3 Introduction to C++

UNIT- 3 Introduction to C++ UNIT- 3 Introduction to C++ C++ Character Sets: Letters A-Z, a-z Digits 0-9 Special Symbols Space + - * / ^ \ ( ) [ ] =!= . $, ; : %! &? _ # = @ White Spaces Blank spaces, horizontal tab, carriage

More information

Eloqua Insight Intro Analyzer User Guide

Eloqua Insight Intro Analyzer User Guide Eloqua Insight Intro Analyzer User Guide Table of Contents About the Course Materials... 4 Introduction to Eloqua Insight for Analyzer Users... 13 Introduction to Eloqua Insight... 13 Eloqua Insight Home

More information

RSL Reference Manual

RSL Reference Manual RSL Reference Manual Part No.: Date: April 6, 1990 Original Authors: Klaus Havelund, Anne Haxthausen Copyright c 1990 Computer Resources International A/S This document is issued on a restricted basis

More information

M/s. Managing distributed workloads. Language Reference Manual. Miranda Li (mjl2206) Benjamin Hanser (bwh2124) Mengdi Lin (ml3567)

M/s. Managing distributed workloads. Language Reference Manual. Miranda Li (mjl2206) Benjamin Hanser (bwh2124) Mengdi Lin (ml3567) 1 M/s Managing distributed workloads Language Reference Manual Miranda Li (mjl2206) Benjamin Hanser (bwh2124) Mengdi Lin (ml3567) Table of Contents 1. Introduction 2. Lexical elements 2.1 Comments 2.2

More information

Intermediate Code Generation

Intermediate Code Generation Intermediate Code Generation In the analysis-synthesis model of a compiler, the front end analyzes a source program and creates an intermediate representation, from which the back end generates target

More information

Quark XML Author 2015 October Update with Business Documents

Quark XML Author 2015 October Update with Business Documents Quark XML Author 2015 October Update with Business Documents CONTENTS Contents Getting started...6 About Quark XML Author...6 Working with documents...8 Basic document features...8 What is a business document...8

More information

CUMULUS WEB CLIENT USER ASSISTANCE 2014, CANTO GMBH. ALL RIGHTS RESERVED. Welcome!

CUMULUS WEB CLIENT USER ASSISTANCE 2014, CANTO GMBH. ALL RIGHTS RESERVED. Welcome! Cumulus is Canto s state-of-the-art Digital Asset Management solution. Cumulus makes it easy to quickly organize, find, share, and track all of your digital files: photos, logos, presentations, videos,

More information

NI-IMAQ VI Reference Help

NI-IMAQ VI Reference Help NI-IMAQ VI Reference Help June 2008, 370162K-01 The NI-IMAQ VI Reference Help is for NI-IMAQ driver software users. The NI-IMAQ VI Library, a series of virtual instruments (VIs) for using LabVIEW with

More information

Teamcenter Getting Started with Workflow. Publication Number PLM00194 C

Teamcenter Getting Started with Workflow. Publication Number PLM00194 C Teamcenter 10.1 Getting Started with Workflow Publication Number PLM00194 C Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle

More information

Contents. Properties: Field Area Fields Add a Table to a Form... 23

Contents. Properties: Field Area Fields Add a Table to a Form... 23 Workflow Design Guide Version 18 February 2018 Contents About This Guide... 7 Workflows and Forms Overview... 7 Security Permissions for Workflows and Forms... 8 Search for a Workflow Design, Workflow

More information

Quark XML Author September 2016 Update for Platform with Business Documents

Quark XML Author September 2016 Update for Platform with Business Documents Quark XML Author 05 - September 06 Update for Platform with Business Documents Contents Getting started... About Quark XML Author... Working with the Platform repository... Creating a new document from

More information