To enable batch releases set the 'batch-releases-enabled' setting to true in ApplicationSettings.properties. Messaging is required for batch release so if this isn't already enabled also set the 'internal-user-messages-enabled' setting to true.
A batch release is an approval process associated with multiple assets, the assets in question are revised versions of existing 'released' assets in the system or new assets.
The assets are added to a batch release and maintained in an unapproved state while changes are made to the assets. Once all required changes are made the batch release is sent for approval. A number of approval users are notified via system message and they review the assets in the batch release before approving it for release.
Once all approver users have approved a batch release for release, it is released by it's owner. On release all the assets are approved and they supersede any existing unapproved released versions of the assets currently in the system.
Batch releases go through the following workflow states...
- Being created - Assets are currently being added to the batch release and edited.
- Awaiting approval - All necessary assets have been added to the release, changes have been made and the approval users have been notified that they need to approve the release.
- Approved - All necessary approval users have reviewed the batch release and approved it for release.
- Released - The batch release has been released, assets have been approved and superseded any existing released assets in the system.
When batch releases are enabled Asset Bank's standard versioning functionality and approval process won't be available.
Managing batch releases
Any user that can edit at least one asset in the system has the right to manage batch releases. Under the Admin menu a new option will appear for these users when batch releases are enabled entitled 'Batch Releases' and a new search tab will appear on the Advanced Search page 'Batch Release Search'.
The Admin > Batch Releases management page displays two lists, one of the current, unreleased, batch releases in the system and one showing releases that have been released over the past X days (where X is a number of days defined by the batch-releases-recent-release-days setting in ApplicationSettings.properties).
New assets cannot be added to the system and existing one's can't be edited until there is at least one batch release in the 'Being Created' state in the system.
Until an existing asset is placed in a batch release it cannot be edited or have related assets added to it.
When an asset is added to a batch release (either new or existing), it will be immediately added to the release and an asynchronous check of it's dependants will be run to make sure that any missing dependants are also added to the release.
While these asynchronous checks are being run the batch release will be marked as being in a 'pending' state and won't be eligible for release until it has been confirmed it is valid. If certain dependant assets can't be added to the release then it will be marked as 'invalid' and a log will be shown on the view batch release page explaining to the user why the release is invalid so they can correct problems prior to release. If all assets are successfully added to the release then it is marked as 'valid' and transitions can be made as necessary.
To add a new batch release to the system, go to Admin > Batch Releases and click 'Add new batch release'.
Adding a batch release
When a user adds a new batch release to the system they will be presented with a form that prompts them to enter the following metadata...
- Name - An identifier for the release
- Description - A description of the purpose of the release
- Notes - Any additional notes about the release
They will also be able to find and select any suitable users that they want to name as approval users. Approval users will be notified by email when the release is sent for approval at which point they will be expected to review the assets in the batch release and approve it.
Editing a batch release
From the Admin > Batch Release page and the Advanced Search > Batch Release Search > Search Results page users with suitable permissions can edit the details of an existing batch release.
If they select this option they will be presented with a similar form to the one that was completed when adding the release. They can change the name, description and notes for a batch release. They can also change / add / remove approval users from the release.
Viewing a batch release
Again from both the Admin > Batch Releases page and the Advanced Search > Batch Release Search > Search Results page users can view the details of a batch release.
They will be shown all the details selected on the add and edit pages but will also be shown details of the current state of the release (being created, awaiting approval etc.) and details of when the release was created and by who.
There will also be a link to search for the assets in the batch release, this will take the user to a standard Asset Bank search results page that lists the assets in the release. From this search results page there is a link that returns the user to the view batch release page.
Assuming the release is in a suitable state they will also optionally be able to transition the release. The following transitions can be made by the following users...
Owner of the batch release:
- Send for approval (kicks off a validation of the release and transitions it from 'Being Created' to 'Awaiting Approval' notifying the approval users to review the assets in the batch release and approve it)
- Release (transitions the release from 'Approved' to 'Released', approves the assets in release and supersedes any existing released assets in the system with the new versions)
- Approve - does 1 of 2 things...
- If the user in question is the last user that needs to approve the batch release then it is marked as approved, a validation of the release is kicked off and it can be released by the owner when required.
- If the user in questions isn't the last user to approve the release then it is simply left in the awaiting approval state pending the rest of the outstanding approvals
Deleting a batch release
Batch releases can be deleted from the Admin > Batch Release page by a user with suitable permissions. Batch releases can only be deleted if they don't have any assets associated with them.
Searching for batch releases
Batch releases can be searched using the Advanced Search > Batch Release Search page. This allows users to search for batch releases by the following criteria...
- Keywords - Words found in the name, description and notes
- Status - The workflow status (i.e. Being Created, Awaiting Approval etc.)
- Created By - The user that created the release
- Created Date - A date range during which the release was created
- Approval User - A user that has to approve the batch release
- Release Date - A date range during which the release was released
Any batch releases that match the provided criteria will be listed along with their workflow status, the user that created it, the creation date and links for any actions (view, edit or delete) that the user can perform.
There will also be links on the search results page to enable users to run another search or return to the search page to refine the criteria of the search that has just been run.
When on the search page, if a batch release search has been previously been run by the current user then they will be able to re-run their last search with a single click of the 'run last search' link.
When a batch release is transitioned to the awaiting approval state a validation of the assets in the batch release is kicked off asynchronously and all selected approval users are notified via a system message that they need to approve the batch release.
The system message appears on the approval user's homepage and contains a link to the batch releases view page. On the view page the user will see an 'Approve' button next to their name in the list of approval users.
When the user clicks this button the batch release is either approved (if the user is the last one to approve) or it's left in the awaiting approval state (if there are more users to approve the release).
Once all users have approved the release and it is in the approved state then assets in that release can no longer be edited until the release is released (at which point the assets can be added to a new batch release to enable them to be edited).
When a batch release dependency check / validation is running asynchronously the release in question will be in a pending state. When in this state the user is offered a link from the view batch release page to view the batch release job queue (also available from Admin > System > Batch Release Jobs).
The job queue lists all the jobs currently running (or pending) for both dependency checks and release validations. The user can click on any of these jobs to review messages about the job and it's current status.
Once all jobs are completed then the batch release should be set to either the valid state (all required assets are in the release and it is ready to be released) or the invalid state (there was a problem adding assets to the release, errors are displayed on the view batch release page and the user needs to correct any errors before re-validating the batch release prior to it being released).
Releasing & versions
Once a batch release is approved then it's owner can choose to release it by clicking the release button on the view batch release page. When a batch release is released all it's assets are checked that they are suitable for release. If not the batch release is marked as invalid and errors are shown to the user for them to rectify prior to attempting the release again.
If the release can happen because all assets are suitable for release then the assets are approved (basically becoming the version that is visible to all users with suitable permissions on the site) users are notified for acknowledgement (see acknowledgement section for details) and the release itself is marked as released and release date is set.
Old versions of assets can be viewed from the currently released version's view asset page. In the list of metadata will be a link to view previous versions of the asset in question. This will show a list of the previous versions along with details of the batch release they were part of and a link to the view details page for the old version in question.
When a batch release is released a set of users is sent an acknowledgment request. By default this is the set of admin users in the system but it can be changed with a custom plugin implemented and installed by Bright Interactive.
Acknowledgement requests are sent out to users as internal system messages. They appear in the recent messages box on the homepage and contain details of the batch release that was released along with a link to view the batch release and the option of acknowledging the message and hence the batch release.
When a user acknowledges the message / batch release then the message is archived.
Any user that can release a batch release is shown an info box on their homepage that specifies the number of outstanding acknowledgements (i.e. messages that haven't been acknowledged) for both batch releases that they have released and all batch releases in general. This box contains links to the Outstanding Acknowledgements Batch Release report so that the user can get further detail if required.
There are three different reports available for batch releases (from the Admin > Batch Releases > Reports page)
- Oustanding acknowledgements - A report showing a list of all oustanding acknowledgments for each batch release. Optionally filtered to specific batch release owners and acknowledgement recipients.
- Acknowledgements matrix - A report showing a list of all the released batch releases and the acknowledgement status of users that were sent acknowledgement requests for each.
- Acknowledgements summary - A report detailing a list of the batch release acknowledgement users and the number of oustanding acknowledgements they currently have.