This package contains a plugin to facilitate the automatic status transitions of content based on a set on a predefined field.
Additionally, the plugin supports automatically scheduling of the content to a workflow to track when for example an instrument has been recalibrated.
The plugin supports three different types of flows:
- expiry for non-location, non-instrument content, such as reagents
- calibration for instruments
- other that gives more flexibility to the user.
The date check is automatically done on set interval times, which can be configured.
How to use the package
Pre-requisites
It is advised that the following setup is completed before using the plugin:
- Any content type that needs to be checked
- The date fields against which the check takes place
- Statuses to be used
- Optionally, workflows to which the plugin will send content
Configuration
The plugin accepts flows for three different types, each of which can have multiple flows configured underneath.
Based on the type of configuration chosen, a flow will have different required and optional parameters available.
The plugin will not start if any of the required parameters is not present or if the given value is not possible.
expiryFlowConfigurations will only check content with content types which do not have can used be as a location or can be used as an instrument selected. Only content where the content type has their Expiration date field configured will be taken into account by the plugin.
calibrationFlowConfigurations will only check content with content types which do have can be used as an instrument selected. Only instruments where the content type has their Calibration expiration date field configured will be taken into account by the plugin.
otherFlowConfigurations can be use for checking other date fields which have an influence on how the content should be represented in SLIMS via their status or scheduling to a workflow.
Each table shows the parameters per flow type, indicating whether they are required or not for that specific type and what kind of values is possible.
Expiry flows
Name
|
Required | Possible values | Description |
---|---|---|---|
cronjob | Required | A valid cron expression, see https://camel.apache.org/components/4.4.x/cron-component.html | The cron expression that schedules the moment in time in which the plugin will execute
e.g., fire at 12 pm (noon) every day will be 0 0 12 * * ? |
status | Required | status UID of a status on the default content status workflow | The status that the plugin will set on the content status field if the content has it’s expiry date in the past. |
contentTypeToCheck | Optional | content type UID | List of content types UIDs to restrict the search for expired contents. It can be whole categories or non-categories content types. |
workflowRequestable | Optional | requestable UID | The requestable UID of a standard (non-analytical) workflow, the content will be scheduled with this requestable. |
changeToday | Optional | true/false (default false) | Include (true) or exclude (false) the date on which the flow is run to be considered for changes to the content. |
Calibration flows
Name
|
Required | Possible values | Description |
---|---|---|---|
cronjob | Required | A valid cron expression, see https://camel.apache.org/components/4.4.x/cron-component.html | The cron expression that schedules the moment in time in which the plugin will execute
e.g., fire at 12 pm (noon) every day will be 0 0 12 * * ? |
status | Required (if workflowRequestable is not defined) | status UID | The status that will be set on the field given in the statusField parameter or the default content status field. |
statusField | Optional | custom content field name of type status | The custom status field to update, if not given the default content status field will be updated. |
contentTypeToCheck | Optional | content type UID | List of content types UIDs to restrict the search for expired contents. It can be whole categories or non-categories content types. |
workflowRequestable | Required (if status is not defined) | requestable UID | The requestable UID of a standard (non-analytical) workflow, the content will be scheduled with this requestable. |
changeToday | Optional | true/false (default false) | Include (true) or exclude (false) the date on which the flow is run to be considered for changes to the content. |
Other flows
Name
|
Required | Possible values | Description |
---|---|---|---|
cronjob | Required | A valid cron expression, see https://camel.apache.org/components/4.4.x/cron-component.html | The cron expression that schedules the moment in time in which the plugin will execute
e.g., fire at 12 pm (noon) every day will be 0 0 12 * * ? |
status | Required (if workflowRequestable is not defined) | status UID | The status that will be set on the field given in the statusField parameter or the default content status field. |
statusField | Optional | custom content field name of type status | The custom status field to update, if not given the default content status field will be updated. |
dateField | Required | custom content field name of type date(time) | The date field that is used to check if a content needs to be updated/scheduled by the plugin |
contentTypeToCheck | Required | content type UID | List of content types UIDs to restrict the search for expired contents. It can be whole categories or non-categories content types. |
workflowRequestable | Required (if status is not defined) | requestable UID | The requestable UID of a standard (non-analytical) workflow, the content will be scheduled with this requestable. |
changeToday | Optional | true/false (default false) | Include (true) or exclude (false) the date on which the flow is run to be considered for changes to the content. |
Limitations
The following situations will cause the flow/route to not start:
- For the expiry flow:
- If any of the required parameters is not present in the configuration (i.e., a cronjob and status).
- If the status is not active or does not belong to the default content status workflow.
- If the requestable does not belong to a standard workflow.
- For the calibration flow:
- If any of the required parameters is not present in the configuration (i.e., a cronjob and status workflow requestable).
- If the requestable does not belong to a standard workflow.
- If status is not active.
- If the status field is not given and the status does not belong to the default content status workflow.
- If the status field is given, this custom field should be of type status and on the content table.
- If the status given is not on status workflow to which the status field points.
- The other flow:
- If any of the required parameters is not present in the configuration (i.e., a cronjob, a datafield, a content type to check, and a status or a workflow requestable).
- If the requestable does not belong to a standard workflow.
- If the status is not active.
- If the status field is not the status does not belong to the default content status workflow.
- If the status field is given, this field should be of type status on the content table.
- If the status given is not on status workflow to which the status field points.
- If the date field given is a field on the content table with a different type then date or datetime.
The error that causes the flow to not start can be found in the log tab of the plugins module (slimsgate logging).
Recommended additional packages
The following packages contain the entities and fields that are used in the plugins default configuration:
- Content types
- Location types
- Instrument types
- Basic Instrument usage
Where to Look Next
These references have further information on how to configure or use the package contents after the initial installation and integration.
SLIMS administration manual:
- Content Management > Content types
- Content Management > Contents > Create contents
- Audit Tools and Quality Control > Status
- Miscellaneous > Lab Settings
- Miscellaneous > Plugins Module
- Miscellaneous > Fields > Custom Fields
- Electronic Lab Notebook > Tests and Test groups
- Electronic Lab Notebook > OpenLab Software Suite Integrations > Sample Scheduler for OpenLab Integration
- Workflows > Workflow Management
- Workflows > Workflows Module