The Action Tracking System (ATS) is a tightly integrated change tracking system that manages changes throughout a product's lifecycle. ATS provides integrated change management to all OSEE applications through user customizable workflows.
- Actionable Item (AI)
- Item that can be impacted by an Action. AIs are what the user has to select from when creating an Action. Examples: Flight Box, Lab Computer, Code Subsystem.
- Team Workflow Definition
- Teams are created to perform that work associated with the Action. They are related to the AIs that they are responsible for and are configured with Leads and Members to route the Actions and perform the work. A workflow is configured that the team will follow to perform the work.
- Workflow Configuration
- State machine that shows the path the Team will follow to perform the work associated with the Action.
- Top level grouping object. An Action is written against any number of AIs. The Team Workflows are then created for each team configured to perform work for an AI.
- Team Workflow
- Instantiation of a Workflow Diagram needed to perform the work. Each team independently moves through their workflow state machine however ATS can be configured such that certain gates must be met from other Teams or outside events before a workflow can continue.
- Within states of a Team Workflow, smaller-light-weight Tasks can be created to further separate the work that needs to be completed for that state. Normally, the state can not continue until the Task is completed.
- ATS has built in project/release planning. Versions are created to group Team Workflows (Actions) into Builds and Releases.
Configuring ATS for Change Tracking
The Action Tracking System (ATS) can be configured for tracking changes made to such things as requirements, software, hardware and facilities.
The integrated nature of ATS also allows for the tight configuration management of changes to the artifacts that are stored and managed in OSEE, such as requirements, and provides advanced features that allow for advanced workflow management of these items.
OSEE ATS provides a few levels of configuration, from the simple/dynamic configuration that can be created/modified during runtime to a more advanced configuration that requires a separate plugin and release/update.
- Create a New configuration using the ATS Configuration Wizard
- Select File -> New -> Other -> OSEE ATS -> ATS Configuration
- Enter in a unique namespace for your configuration (e.g.: org.company.code)
- Enter in a name for the Team that will be performing the work (e.g.: Code Team)
- Enter in a list of Actionable Items that you want the users to write change requests against. (eg: Editor, Installer, Website)
- If Actions are to be grouped and released in versions (or builds), enter a list of versions. (eg: 1.0.0, 1.1.0, 1.2.0) Otherwise, this field may be left blank.
- If an existing workflow (eg: osee.ats.teamWorkflow) is to be used, enter this as the id. Otherwise a new workflow will be created.
- Upon Selecting Finish, ATS will be configured with the entered information. You can then select to create a new Action and select one of the Actionable Items (named above). This will create a new workflow and assign it to the above Team for processing.
- See Configure ATS for Change Tracking for more information.
- Creating a New workflow configuration for existing Team / Actionable Items using the ATS Workflow Configuration Editor
- Select File -> New -> Other -> OSEE ATS -> ATS Workflow Configuration
- Enter in a unique namespace for your configuration (eg: org.company.code)
- Upon Selecting Finish, ATS will create a simple workflow that can be expanded with new states, transitions and widgets.
- This workflow will need to be related to the Team Definition that will use it. See Configure ATS for Change Tracking for more information.
- Editing an existing workflow configuration using the ATS Workflow Configuration Editor
- In the Branch Manager, set the Default Working Branch to the Common branch.
- In the Artifact Explorer, expand Action Tracking System -> Work Flows and select the workflow to edit. This will open the ATS Workflow Configuration Editor.
- Workflow can be edited to include new states and transitions. Double-click state to relate widgets and rules.
- Selecting Save will validate the workflow and save the changes to the database. These changes can be used immediately by Team Definitions configured to use this workflow.
- See Configure ATS for Change Tracking for more information.
- Advanced ATS Configuration via the org.eclipse.osee.ats.config.demo - Although ATS can be configured dynamically in a runtime environment, advanced configuration, like creating new widgets and rules, can be done through extension points. The ats.config.demo plugin is an example of these capabilities.
Configuring ATS Workflows for Branch Configuration
ATS is designed to configuration manage the changes made to a branch through configuration of a workflow for branch create/commit and the use of versions.
Branch creation/commit widgets TBD
Branch Configuration Attributes via Version artifacts:
- ats.Allow Branch Create - activates ability to create working branches from parent
- ats.Allow Branch Commit - activates ability to commit working branches to parent
- ats.Parent Branch Id - set to the branch id of the branch to create/commit
Branch configuration mapping If ATS - Team Definition attribute "ats.Team Using Versions" == false, then ATS uses branch configuration attributes from Team Definition.
Else If ATS - Team Definition attribute "ats.Team Using Versions" == true, then ATS uses branch configuration attributes from targeted ATS - Version Artifact. This means that the ATS - Team Workflow must be targeted to a version before branching can occur
Configuring ATS for Multi-Branch Committing
ATS provides the ability to configure a workflow/working branch for commit to multiple baselines. This capability can only be used with the use of Team Versions.
Example: Working Branch WB is created off baseline branch Build1Branch and targeted for version Build1. Baseline branch Build2Branch is created off Build1Branch in order to develop both builds in parallel. Changes to WB are to be committed to Build1Branch and Build2Branch.
- In ATS Navigator, double-click "Versions - Team Versions"
- Select team to be configured
- Double-click version artifact, in this example "Build1"
- In Artifact Editor, expand relations section of Build1 and drag "Build2" version into "ParallelVersion - Child" relation.
- Open Action associated with WB
- Create Working Branch
- Make changes to Working Branch
- Notice that Commit Manager widget will have both Build1 and Build2 versions to commit into.
- Double-clicking each version will allow for commit/merge into each build independently
Note: Once the first commit is performed, the Working Banch is no longer available for modifications. Any merging changes can be performed via the Merge Manager that will be available if conflicts exist.