Versioning, Tagging, and Revision
Versioning: Overview
In the INUBIT software, all diagrams, modules, and repository files are versioned. That is, after each change, a new version is generated and previous versions are archived.
Generating and deleting versions
A new version is created after the following changes:
-
Publish
-
Import
-
Deploy
-
Activate/Deactivate
Versioned diagrams or modules can be edited by exactly one user at any given time. All other users receive a warning message as soon as they try to edit a diagram or module that is already being edited. It is only once the diagrams or modules are published that they are once again available for editing to all users.
You can delete versions of repository files, modules and diagrams.
Module versions linked with or without the technical workflow can be deleted. |
Displaying version information
Among other things, the name of the user who made the change, the time of creation and a comment are saved for each version.
Refer to Displaying Version Information.
Displaying the version history
The version comments offer a continuous list of changes for your internal or external documentation, which you can later use to track changes.
Refer to Tagging.
Displaying a diagram version in the INUBIT Workbench
For diagrams, the currently used version is displayed in the status bar of the INUBIT Workbench.
Displaying Version Information
For each version of a diagram, module, or repository file, you can display the following information:
Workbench User Guide | Versioning, Tagging, and Revision712 | 1385
Deployed and/or imported version comments
-
For workflows and modules, version comments are displayed in the Comment section.
-
Version comment information of Repository objects are displayed in the Comment column on the Versions tab.
Proceed as follows
-
Execute one of the following actions:
-
Diagrams
Display the Designer > Server tab. -
Modules
Display the Module Editor > Server tab. -
Repository files
Display the Repository tab.
-
-
Select the diagram/module version, or the Repository file for which you want to display the information.
-
Diagrams and modules: Open the context menu and choose Show version information.
Repository files: Click the object and open the Versions tab.
→ Diagrams and modules: The Version information is displayed.
Repository files: The version information is listed in a table.
Changing the Module Version in a Diagram
In executable diagrams, you can change the used module versions at any time in order to utilize a different development status of the modules.
As long as you have not set an active tag, the following applies to the execution of module versions:
-
If you have set a module version manually, this version is executed.
-
Otherwise, the head version of the module is executed.
If you have set an active tag and changed the module version manually, refer to Setting an Active Tag to Execute a Selected Diagram Version section Effects on modules in the diagram.
Proceed as follows
-
Open the diagram for editing.
-
In the work area, select the module of which you want to use a different version.
-
Open the context menu and choose Change module version. The following dialog opens:
-
Select the version that you want to use.
-
Click OK.
→ The dialog closes. The selected version is displayed in square brackets after the module name but is used from now on, e.g.:
Head versions are not marked explicitly. |
Tagging
Usage
Tagging makes it possible to restore previous versions of diagrams, modules or repository files and revert changes at any time. Tagging is typically applied to a defined development status (e.g. release state) whose restoration is important at a later time (e.g. release or patch state).
This feature must be activated in your license in order to use it. To extend your license, please contact the support of the Virtimo AG. |
You need a user role with versioning authorization to create tags. |
Example
For example, Release 1.0 can consist of various diagrams of which there are different versions. Since these versions do not progress in a linear fashion, it is necessary to create a tag for these versions to mark a certain development status permanently. A tag is a label such as Release_1.0:
With this tag, you can make this release executable again at any time, even if individual versions of the diagrams have been developed further in the meantime.
Executing a tagged version
To execute a tagged version, e.g. Release_1.0, activate the corresponding tag. If you change the active tag whilst processes are still running with the previous active tag, these processes are generally completed. The execution only switches to the current active tag afterwards. This response is useful in particular for long-running processes with human interaction where it can take several months until a task is processed.
In the context of a typical development project, diagrams are tagged at user or group level. The tagging of individual modules is more suited to the patching of a selected Technical Workflow. The version with the active tag is usually not used for development.
Displaying the version history/tags
The versions of an object are numbered sequentially and together they form the version history, which is displayed in the server tabs in the Designer or Module Editor, for example:
Export and deployment
You can deploy and export head versions or individual, tagged versions.
Monitoring
Versions and tags of executable diagrams are also displayed in the monitoring components Queue Manager, Scheduler Manager, Key Manager and System Log.
Refer to Technical Monitoring.
Creating and Assigning Tags
Tagging diagrams
In principle, you always create tags for selected diagram versions in the Designer. The tag is inherited to all modules included in the diagram version. WSDL files, XML Schemas and XSLT stylesheets that are referenced in a diagram are not tagged.
You have the following options for assigning tags to diagram versions:
-
Tag all head versions
-
Tag all versions created before a certain point in time:
Refer to Tagging Diagram Versions.
Generating tag names automatically
You can let generate tag names automatically by a Technical Workflow.
In addition to the name of the workflow, the following information is also passed to the Tag name workflow:
-
name of the user or the user group
-
type of diagram
-
name of the diagram group
-
version, if you did right-click a specific version instead of the diagram name in the directory tree
The tag name workflow can return both a string and an XML structure. If the tag name workflow returns an XML structure, the entries can only be selected in the Create tag dialog; entering another tag name is not allowed.
Refer to Defining a Tag Name Workflow.
Setting several tag names simultaneously
If the option Tag name workflow under Administration > Global Settings > Administration > Diagrams is activated, you can add a prefix in a separate text field. You can also lock this text field by selecting the option Non-editable tag name prefixes.
When selecting several tags, the prefix is assigned to all of them.
Refer to
Tagging modules and Repository files
All tags created for diagrams are available in the Module Designer and in the Repository and can be used there to tag modules and repository files.
You cannot create any new tags in the Module Editor or in the Repository. In the Repository, you can only tag files underneath the root directory. Files underneath global cannot be tagged. |
It is not necessary anymore to create a dummy diagram to set tags in the Module Editor and in the Repository. |
To tag modules and repository files, use the Create tag function.
Refer to
Tagging Diagram Versions
You can create a tag and assign it to a head diagram version or to a diagram version preceding a point in time.
-
In the INUBIT Workbench, display the Designer > Server tab.
-
Depending on your target, perform one of the following actions:
-
To tag all diagrams in the folder, select a user, group or diagram folder.
-
To tag the head version of a diagram or a version that was generated before a certain time, select the diagram.
-
To tag a selected (or multiple selected) diagram version(s) directly, select this (these) version(s).
You can only tag multiple diagram versions if they belong to different diagrams.
-
-
Open the context menu and choose Tagging > Create tag. A dialog opens:
-
Enter a tag name.
If the option for generating tag names is configured, then a tag name is suggested and displayed automatically.
Refer to Defining a Tag Name Workflow. -
Specify which versions you want to tag:
-
Use current head version:
The tag is assigned to all diagrams and module versions with the highest sequence number. -
Time:
The tag is assigned to the diagram and module versions that were created or changed directly before a selected point in time. If no such version is available, the tag is not set. Choose the time.
-
-
Click OK to close the dialog.
→ The tag is displayed underneath the diagram versions that meet your defined condition.
Tagging Module Versions
Prerequisites
The tags that you wish to assign to module versions must already be created.
Refer to Tagging Diagram Versions.
Proceed as follows
-
In the INUBIT Workbench, display the Module Editor > Server tab.
-
Depending on your target, perform one of the following actions:
-
To tag the head version of a module or a version that was generated before a certain time, select the module.
-
To tag a selected (or multiple selected) module version(s) directly, select this (these) version(s).
You can only tag multiple module versions if they belong to different modules.
-
-
Open the context menu and choose Set tag. The following dialog opens:
-
Click the button. A dialog for selecting the tag opens.
-
Choose the tag to be set and then choose OK to close the dialog. The tagging dialog now shows the selected tag.
-
The following action is not necessary if you are tagging a module version directly!
Specify which versions you want to tag:
-
Use current HEAD versions:
The tag is assigned to all diagrams or module versions with the highest sequence number. -
Time:
The tag is assigned to all versions that were created or changed before a certain point in time. Specify the point in time.
-
-
Choose OK to close the dialog.
→ The tag is assigned to the selected version.
Tagging Repository File Versions
In the Repository, you can tag directories and files underneath the root directory. You cannot tag directories and files underneath global. |
Prerequisites
The tags that you wish to assign to repository file versions must already be created.
Refer to Tagging Diagram Versions.
Proceed as follows
-
In the INUBIT Workbench, show the Repository tab.
-
Depending on your target, perform one of the following actions:
-
To tag the head version of a one or more files or a version that was generated before a certain time, select the module.
-
To tag a selected file version directly, proceed as follows:
-
First, select the file.
-
Show the Versions tab.
-
In the Versions tab, select the version you want to tag.
-
-
-
Open the context menu and choose Set tag. The following dialog opens:
-
Click the button. A dialog for selecting the tag opens.
-
Choose the tag to be moved and then choose OK to close the dialog. The tagging dialog now shows the selected tag.
-
The following action is not necessary if you are tagging a file version directly!
Specify which versions you want to tag:
-
Use current head version:
The tag is assigned to the versions with the highest sequence number. -
Time:
The tag is assigned to the versions that were created or changed before a certain point in time. Specify the point in time.
-
-
Choose OK to close the dialog. → The tag is assigned to the selected version.
Moving Tags between Diagram Versions
Overview
You can move a tag that is already assigned to a diagram version to another version that does not have this tag yet.
Once a diagram has been developed further you can, for example, move a tag that is already assigned to an older version of the diagram to the current (or any other) version of the diagram.
Before the move, you can choose whether the tag is to be moved from the current version to another version for the modules of the diagram as well.
Proceed as follows
-
In the INUBIT Workbench, display the Designer > Server tab.
-
Select the version that is supposed to receive the tag.
-
Open the context menu and choose Tagging > Create tag. The following dialog opens:
-
Click the button to display all available tags.
-
Choose the tag to be moved.
-
Choose OK to close the dialog. The tagging dialog shows the selected tag.
-
Moving tag on modules (optionally):
-
To move the tag for the modules of the diagram as well, deactivate the option Preserve existing module tags.
-
If the tag for the modules of the diagram is not supposed to be moved, activate the option Preserve existing module tags.
-
-
Choose OK to close the dialog.
The tag is removed from the diagram version to which it was previously assigned and assigned to the current version.
Renaming Tags
On renaming tags, the corresponding tags in the workflows, modules or repository files of a user or user group are renamed.
You can edit one or more tags.
Tag names can´t be used twice. |
Prerequisites
You have the right to rename tags.
Administration > User roles > Versioning > User directory / Group directory / Higher-level group directory >
Rename tag
Proceed as follows
-
In the INUBIT Workbench, display the Designer > Server tab.
-
Select a user or user group directory.
-
Open the context menu and select Tagging > Rename tag.
→ A dialog is displayed showing a list of all existing tags (active tags are shown in bold). -
For each tag you want to rename select its row, click into the column New tag name and enter the new tag name.
-
Click OK.
→ The dialog closes.
→ The tags are renamed.
Removing Tags
You can delete a specific tag from a certain version of a diagram, module or repository file.
Unlike with the deletion, the tag remains assigned to other versions of another diagram, module or another repository file (if it is assigned to other versions) and is still available in the INUBIT software.
If you remove the active tag of an activated, executable diagram, then all processes of this diagram which are already running at this point of time, are being executed until their) end. |
Proceed as follows
-
Execute one of the following actions:
-
For diagrams and modules: Select the tag that is to be removed, e.g.
-
For files in the repository: Select the directory, the file or directly the file version from which the tag is to be removed.
-
-
Open the context menu and select Tagging > Remove tag. A dialog opens.
-
Answer the following question with Yes: Do you really want to delete the tag
[TAGNAME]
from version[VERSION]
of the diagram[DIAGRAM/MODULE NAME]
? → The tag is removed.
Deleting Tags
You can delete one or more tags. When you delete tags, the tags are first removed from all diagram, module and repository file versions. Following that, the actual tag is deleted and is no longer available.
In the Designer, you always delete tags for a user directory or a user group directory.
If you delete the active tag of an activated, executable diagram, then all processes of this diagram which are already running at this point of time are being executed until their end. |
Proceed as follows
-
In the INUBIT Workbench, display the Designer > Server tab.
-
Select a user or user group directory.
-
Open the context menu and choose Tagging > Delete tags. A dialog is displayed showing a list of all existing tags.
-
Select all tags that are supposed to be deleted.
-
Click OK. The dialog closes.
→ The assignments and selected tags are deleted.
Setting an Active Tag to Execute a Selected Diagram Version
By default, the head version of a diagram (Technical Workflow) is executed. You can have another diagram version executed by tagging the desired version and activating the tag.
If an active tag is set, a listener can only be used to start a workflow if the workflow itself and the listener have the active tag. Listeners that do not have the active tag cannot be reached.
Validity of the active tag
The active tag applies to all diagrams of a user or to all diagrams of a user group.
If you start a diagram with an active tag, this process, by default, is executed until the end using the active tag. This also applies if the active tag is changed during the process execution, as it may happen sometimes for long-running processes.
You can change the tag manually.
Refer to Changing a Tag During the Execution.
Effects on modules in the diagram
If there is an active tag, the following rules determine which module versions are executed:
-
If there is a diagram version that runs on an active tag and if in this diagram the version of a module was changed explicitly, then for this module the selected module version is executed while all other modules run on the active tag.
-
If 1 does not apply and there is a module version with the active tag, the module version with the active tag is executed.
-
If 1 and 2 do not apply, the head version of the module is executed.
System connectors such as HTTP, Web Services or JMS Listener connectors, which are called asynchronously from the INUBIT perspective, respond just like all other modules.
In a Technical Workflow, if additional workflows are called by workflow connectors or local INUBIT IS connectors, the active tag is transferred and the called workflow runs on the active tag.
Check diagram version
You can check the diagram version during execution: The active tag is output as the value of the ISTagName
workflow variable.
Setting an active tag
Proceed as follows
-
Display the Designer > Server tab.
-
Select your user folder or a group folder:
-
Open the context menu and choose Tagging > Set active tag. A dialog for selecting the active tag opens, for example:
-
Select the tag that is supposed to be activated.
-
Click OK. The dialog closes.
The selected tag is activated. In the directory tree, all versions of diagrams that have been tagged with the selected tag are marked in green:
The active tag is also displayed after the user or group folder in the directory tree:
If you have edited an executable diagram (or its modules) with an active tag and then have published it again, this diagram becomes the head version. In order to o be able to execute the diagram again, you must move the active tag to the head version! |
Changing a Tag During the Execution
For processes, which have been started on an active tag you can move the further execution to another tag.
Prerequisites
The process has the status Waiting, for example at tasks, or Error.
Proceed as follows
-
In the INUBIT Workbench, display the Monitoring > Queue Manager tab.
-
Select all processes which are to be executed on another tag.
-
Open the context menu and select Force tag change > [desired tag].
→ The selected tag is displayed in the Queue Manager in the Tag column. When continuing and restarting the process the newly assigned tag is used.
Checking the Tag a Process is Executed On
During the execution you can check on which tag a process is running.
Proceed as follows
Do one of the following:
-
Activate the watch mode. The tag is displayed as value of the workflow variable
ISTagName
in the watchpoints. -
Display the Monitoring tab. The tag is displayed in the Tag column.
Revision: Releasing Versions in a Controlled Manner
Usage
You can use the revision feature of the INUBIT software to ensure that only modules and diagrams are used in operation that have been checked and released beforehand.
If the revision is activated, only objects that are marked with a tag that has been released by the revision department can be exported or deployed.
Objects are
-
Workflows,
-
Modules,
-
Files from repository.
Revision is only available if tagging is licensed. |
Revision functions
Prerequisites
-
Revision is activated and configured.
-
A user requests the release for a tag.
Refer to Requesting the Release of Tags. -
If a revision workflow is specified, this is executed.
The revision workflow can, for example, check the syntax of diagram names or the availability of external systems. You configure the revision workflow manually.If you use the portal, you can configure the revision workflow so that a new task is generated in the task list for each release request. You can use the INUBIT Configuration module to automate the release.
The next action depends on the result of the revision workflow:
-
If the revision workflow ends with an error, the release has failed. The applicant is informed of this by e-mail.
-
If the revision workflow is completed successfully, the revision department is informed of the existence of a release application by e-mail.
-
The revision department checks the release application and releases the tag or refuses to perform the release.
Refer to Releasing Tags or Refusing the Release.
The tag receives the status Released or Release refused.
All actions (request release/release/refuse release) are logged in the Audit Log. -
The applicant is informed of the release by e-mail.
If the tag has not been released: You cannot request another release for a rejected tag. You have to mark your objects with another tag.
-
Activating and Configuring Revision
As soon as the revision is activated, only objects marked with a released tag can be exported and deployed.
Refer to Requesting the Release of Tags.
Prerequisites
The e-mail notification is activated.
Proceed as follows
-
In the INUBIT Workbench, display the Administration > General Settings tab.
-
Show the Administration > Revision configuration category.
-
Activate the revision by selecting the Activate option.
-
Enter the e-mail address of the revision department in the corresponding field.
-
Optional:
Specify a revision workflow for the option of the same name.
For more information about the revision workflow refer to Revision: Releasing Versions in a Controlled Manner. -
Save your entries.
Requesting the Release of Tags
Prerequisites
-
Revision is active.
-
The object is tagged.
Proceed as follows
-
In the server directory, select the user or user group folder in which the object versions that are to be released are located.
-
Open the context menu and choose Tagging > Request tag release.
A dialog opens listing all tags that are used in the selected folder. -
Select the tag with which the object versions to be released are tagged and enter a comment.
-
Click OK. The dialog closes.
→ The tag receives the status Waiting for release. If a revision workflow is defined, this is executed. You will be informed by e-mail as soon as the tag is released or the release has been refused.
If the release has been refused for a tag, you cannot request another release for this tag. You must create and assign a new tag. |
Releasing Tags or Refusing the Release
Prerequisites
-
The release has been requested for one or more tags; you have received an el-mail with the release request.
-
You have a role with the right Miscellaneous rights > Revision right.
Proceed as follows
-
In the server directory, select the user or user group folder in which the object versions that are to be released are located.
-
Open the context menu and choose Tagging > Release/Refuse tag. A dialog opens listing all tags waiting for release.
-
Select the tags and enter a comment.
-
Click Release tag or Refuse tag. The dialog closes.
→ Depending on the action you have chosen, the tag receives the status Released or Release refused. The user who has requested the release is informed of your action by e-mail.