Process Model Versioning

The Appian application allows you create multiple versions of the same Process Model through Process Model Versioning. Process Model Versioning is the means of tracking the various versions of a process model. It is designed to prevent the loss of other user's work if multiple users are editing the same process model.

Different versions of the same process model are each given a unique version number. These version numbers are then written to the property pm!version for each process that starts on it.

Each version number is made up of both a major version number and a minor version number.

Major version numbers represent published process models. When a process model is first published it receives a version number of 1.0. This begins the Version History of the model.

  • The latest major process model version is used when launching a new process.
  • Prior process model versions are disabled from launching a new process. (Active processes originally launched from prior versions are not disabled in any manner and remain running on the previous model.)

Minor version numbers represent process models that have been modified and saved, but not published. If you modify and save a process model with version number 1.0, your modified model saves as version number 1.1.

  • You can execute a process from process models with minor version numbers, however, it only acts as a test run since the model is not yet published.
Initial Process Models that are saved (but not published) do not list a version number; they maintain a Draft status.
Also, if you edit a running process model and apply the changes, the pm!version is nulled.

All versions of a process model are accessible from the Versions window that appears when you select File > Versions from the Process Modeler. See Loading a Specific Version for other ways to access specific version numbers.


Process Model Life-Cycle

The list below showcases a simple life-cycle of a process model, with focus on when new major/minor versions are created, the actions you can perform on each version, and how the pm!version for a process is determined. For more information specific to each topic, see the subsections below.

  1. Create process model and Save.

    • Model saved as a draft with <draft> version number.
  2. Publish process model.

    • Model saved as 1.0.
    • Run Process A from process model 1.0.
      • Process A receives a property pm!version of 1.0.
    • Modify the Process A process model and Apply Changes.
      • Process A now runs on modified process model.
      • Process A's property pm!version updates from 1.0 to null.
  3. Modify Process Model 1.0, open Versions window and Save New.

    • Process Model 1.1 created.
    • New processes still run on 1.0.
  4. Publish Process Model 1.1.

    • Process Model 2.0 created.
    • New processes run on 2.0.

Creating a New Major Version

Before working with process models, make sure to review which actions create a new major process model version. All new processes start from the latest major process model version.

The following actions create a new major process model version:

  • Publishing a process model, regardless of the model's existing version number (e.g., 2.3 creates 3.0). Note: This is different than just saving the model.
    • File > Save and Publish.
  • Importing a model with the same unique ID as an existing process model.
    • The imported model saves and publishes as the latest version with a higher major version number.
  • Importing an application package (successfully).
    • Any process models it contains are published immediately with a higher major version number.
  • Importing process models (for the first time) that are linked recursively using a Sub-Process flow activity.
    • The process models are published twice – resulting in two new versions.
    • Subsequent imports to update the model publish the recursively linked process models one time per import, creating a new version each time.

Creating a New Minor Version

Similar to creating a new minor version, there are specific actions that create only a new minor version (e.g., 3.0 creates 3.1). Remember, minor versions (regardless of the major version number associated with it) act as test process models when a process runs on it. Saving a process model as a new minor version allows you make changes to the main process model without affecting the new processes that will still start from the model.

The following actions create a new minor process model version:

  • Modifying a published process model, and saving the changes.
    • File > Save.
    • File > Versions > Save New.
      • This option also allows you to list a comment. Any comments that you add overwrite the Description listed in the process model's properties.
    • Save Process (Toolbar icon)
  • Modifying the model of a specific process and saving the changes as a new version.
    • File > Save New Version.

Understanding the Impact of Save/Publish Menu Options on Versioning

The Process Modeler offers multiple ways in which you can save a model, save a new version, and publish a process model. The table below details exactly what changes occur when you perform each action below and the impact the action has on existing process models and running processes.

Function Action Similar Actions
Overwrite the original process model with the changes. Changes do not take affect until the model is published. While viewing a process model, modify, and click File > Save While viewing a process model, modify, and click the Save icon on toolbar.
Save the new process model under a different name or folder structure without affecting the original process model. While viewing a process model, modify, and click File > Save As None
Save a new major version of a process model (such as 2.0, 3.0) without affecting the original process model.
The new major version is used for starting new processes. The previous major version becomes disabled.
While viewing a process model, modify, and click File > Save and Publish None
Save a new minor version of the process model without affecting the original process model. Only test processes can be manually run off a minor version. While viewing a process model, modify, and click File > Versions > Save New While viewing the model for a specific process, modify, and click File > Save New Version
Overwrite the original process model with the changes. Changes do not take affect on new processes until the model is published. While viewing a process model, modify, and click the Save icon on toolbar. While viewing a process model, modify, and click File > Save
Overwrite the original process model with the changes for that process only. Changes take affect for the process immediately. While viewing the model for a specific process, modify, and click File > Apply Changes While viewing the model for a specific process, modify, and click the Save icon on toolbar.
Save a new minor version of the process model without affecting the original process model or the new processes. Only test processes can be manually run off the minor version. While viewing the model for a specific process, modify, and click File > Save New Version While viewing a process model, modify, and click File > Versions > Save New
Overwrite the original process model with the changes made to that process. Changes take affect for the process immediately. While viewing the model for a specific process, modify, and click the Save icon on toolbar. While viewing the model for a specific process, modify, and click File > Apply Changes

NOTE: If you modify a process model, but you are not ready for a process to run on it, make sure you do not select Save and Publish while viewing the main process model, apply changes to a specific process' model, or use the Save icon when viewing a specific process' model.

Loading a Specific Version

All versions of a process model, regardless of their status, are available for viewing and editing (depending on your security settings). You can load a specific process model version in one of two ways"

From the Process Modeler

This allows you to view and load any of the other versions of a process model while already viewing it in the Process Modeler.

  1. Open the process model.
  2. Select File > Versions.
    The Versions dialog box displays.

    pm\_version\_modeler2.png

  3. Select the desired version.

  4. Click Load.
    The selected version opens in a new tab.


From the Process Model Details Page

In addition to viewing process models on the Versions dialog box in the Process Modeler, you can view process model versions on a tab on the Process Model Details page.

Use the following actions to launch an older version of a process model.

  • When viewing the Versions tab on the Process Model Details page, select the checkbox next to the version you want to edit. The Edit Version button appears.
  • Click Edit Version. The process model version is displayed in the Process Modeler.

Importing Process Models and its Effect on Version History

There are two ways to import a process model, as detailed below. Each has a different effect on the version numbers given to the newly imported process models.

  1. You can import process models with their process model folder(s) as part of an application package.
  2. You can import individual process models.
    • It is no longer possible to export individual process models directly from the Process Modeler. In Appian, you must export them as part of an application package.

Process Models Imported with an Application

  • When you import an application package (successfully), any process models it contains are published immediately, resulting in a new major version.
  • When importing process models (for the first time) that are linked recursively using a Sub-Process flow activity, the process models are published twice – resulting in two new versions.
    • Subsequent imports (updates) publish the recursively linked process models one time per import, creating one new version.

Process Models Imported by the Process Modeler

  • Process models you import from the Process Modeler are created as drafts, regardless of what their state was on the source machine.
    • The imported models must be saved, validated, and published before they can be used. Once published, they are given a 1.0 version number.
  • Importing a model with the same unique ID as an existing process model, updates the model that already exists (provided that the existing version has been saved or published) and publishes the new version. This results in a new major version.
17.1

On This Page

FEEDBACK