Archive Definitions
In the intricate world of IT Service Management (ITSM), particularly within platforms like BMC Remedy and its successor, BMC Helix, the ability to manage, process, and store data efficiently is paramount. A core component of this management involves understanding and utilizing Workflows. Workflows are the engines that drive automation, transforming raw data into actionable insights and streamlined processes. Within this framework, Archive Definitions play a crucial, though sometimes overlooked, role in maintaining system performance and historical data integrity.
While the term “Archive Definitions” itself doesn’t have a specific, distinct object type labeled as such in the same way as Active Links or Filters, it encompasses the methodologies and configurations that govern how historical data is managed, moved, and preserved within the AR System. This article delves into the foundational concepts of Workflows, their components, and how these elements are intrinsically linked to the overarching concept of archiving data. We’ll explore the nuances of Active Links, Filters, and Escalations, how they interact with forms and data, and the various actions they can perform. Understanding these building blocks is key to effectively implementing and managing archival strategies.
Understanding Workflows: The Heartbeat of Automation
At its essence, a workflow represents a sequence of tasks or operations designed to achieve a specific business outcome. In the context of AR System, workflows automate and orchestrate complex processes through the intelligent interaction of different objects. These objects are triggered by specific events or conditions, executing a predefined set of actions.
The primary components of AR System workflows include:
- Active Links: These are client-side workflows that respond to user actions or the current state of a form. Think of them as the immediate reactions to what a user is doing on their screen.
- Filters: These are server-side workflows that are triggered by changes to data within a form, such as submission, modification, or deletion of a request. They are the gatekeepers of data integrity and business logic as data enters or changes within the system.
- Escalations: Also server-side, escalations operate on a timed basis. They periodically scan the database for records that meet specific criteria and trigger actions, often used for proactive task management or notifications based on time.
Workflow Object Functions in Detail
Let’s break down what each workflow component does:
- Active Link Functions: Active Links are dynamic and user-centric. They can:
- Display informational or error messages to the user.
- Visually highlight fields (e.g., changing label colors based on input).
- Push data from the current form to another, or fetch data into the current form.
- Initiate other workflow actions.
- Filter Functions: Filters are the workhorses of server-side validation and processing. They are triggered by data transactions (Submit, Modify, Delete) and can:
- Enforce business rules and data validation.
- Update related records.
- Trigger notifications.
- Perform complex data manipulations.
- Escalation Functions: Escalations are time-driven. Their primary role is to ensure that pending tasks or aging records are addressed. They can:
- Remind users of overdue tasks.
- Automatically reassign tickets that have been idle for too long.
- Trigger maintenance or cleanup processes based on time.
Forms: The Foundation for Data Representation
Before diving deeper into workflows, it’s essential to understand Forms. In AR System, Forms serve as the schema to represent data, essentially acting as tables within the underlying database. They define the structure, fields, and types of data that the system will manage.
Access Control: Safeguarding Your Data
To ensure data security and integrity, AR System employs robust Access Control mechanisms. These are typically managed through:
- Permission Groups and Roles: These are assigned to users and define what they can see and do. Access control extends to Forms (whether a user can view or interact with a form), Rows (specific records within a form), and Columns (individual fields within a form). This granular control is crucial for compliance and operational efficiency.
Deep Dive: Active Links
Active Links are the user-facing component of AR System workflows, designed to provide a dynamic and responsive user experience. They execute immediately when a user performs a specific operation or interaction on a form.
- Triggering Mechanism: Active Links are fired by client-side operations. Crucially, they cannot be triggered by API programs, ensuring they remain tied to the user’s direct interaction.
- Execution Context: They operate within the client, specifically on the current form window. This means their impact is immediate and visible to the user.
- Naming Conventions: To maintain system integrity, duplicate active link names are not permitted. The system automatically appends
_cto a name if a duplicate is attempted, ensuring uniqueness. - Core Requirement: An Active Link must have at least one “Add Action” to perform any function. Without an action, it’s an empty shell.
- Form Renaming Impact: While saving a form does not duplicate its active links, renaming a form will carry over all associated active links to the new name, maintaining the workflow’s continuity.
Deep Dive: Filters
Filters are the backbone of server-side data processing and business logic in AR System. They are fundamental to ensuring data accuracy, consistency, and adherence to business rules.
- Triggering Mechanism: Filters are triggered at the server level. They are designed to intercept and process transactions that modify data in a form.
- Database Interaction: A key function of filters is their ability to interact directly with the database to retrieve or update data.
- Execution Context: Filters execute on the AR System server, operating with administrator-level permissions. This allows them to perform critical system-level operations.
- Scope: Filters operate at the form level. Their execution is tied to specific operations performed on records within that form.
- Execution Order: Filters have a defined execution order, with a default of 500. This order is critical for managing dependencies between different filters, ensuring actions occur in the correct sequence.
Execution Options for Filters:
| Execution Option | Description |
|---|---|
Modify | Executes when a request (record) is modified. |
Submit | Executes when a new request is submitted to the server. This is a critical point for data validation. |
Delete | Executes when a request is deleted. Useful for cascading deletions or cleanup. |
Get Entry | Executes when a request is retrieved. This can be used for logging or pre-populating fields on retrieval. |
Merge | Executes when a request is merged into the database, typically via tools like BMC Remedy Data Import or the data import command-line interface. This ensures imported data also adheres to business logic. |
Service | Executes when a “Service” active link action is performed. The filter receives data from the active link, processes it, and can return output values without necessarily performing a direct database operation unless specified by actions like Set Fields. |
Submit execution option), a filter might check if the “Urgency” and “Impact” fields have been populated. If not, it could prevent the submission and display a message prompting the user to fill them in. Another filter could automatically set the “Status” to “New” upon submission.Deep Dive: Escalations
Escalations introduce a time-based dimension to AR System workflows, ensuring that processes don’t stagnate and that time-sensitive tasks are managed effectively.
- Triggering Mechanism: Like filters, escalations are server-level workflow objects. However, their trigger is not an immediate data transaction but rather a predetermined time interval.
- Database Interaction: Escalations also interact with the database to identify and process records.
- User Context: Escalations typically run under a dedicated system user, often referred to as the
ar_escalator. This user has the necessary permissions to perform operations across the system. - Key Distinction from Filters: While filters react to specific events on a request, escalations are proactive. They scan the database for all requests that meet a specified qualification at a given time. This contrasts with filters, which primarily act on the “current” request undergoing a transaction.
Audit Form Fields: Tracking System Changes
Understanding how changes are tracked is crucial for auditing and troubleshooting. The Audit form fields provide insights into the actions that trigger record logging. The values indicate the type of operation performed:
1 GET ENTRY: Indicates a record was retrieved.2 - Set: Represents a modification of an existing record.4 - Create: Signifies the creation of a new record.8 - Delete: Denotes the deletion of a record.16 - Merge: Tracks records that were merged into the database, often through import processes.
These audit flags are invaluable for reconstructing the history of a record and understanding how its state evolved over time, which is a key aspect of data archiving and governance.
Leveraging Workflow Actions
The power of Active Links, Filters, and Escalations lies in the diverse actions they can perform. These actions are the building blocks of automation, allowing you to manipulate data, interact with users, and integrate with other systems.
Here’s a breakdown of common actions and their applicability:
| Action Type | Active Links | Filters & Escalations |
|---|---|---|
Call Guide | ✔ | ✔ |
Change Field | ✔ | |
Close Window | ✔ | |
Commit Changes | ✔ | |
Distributed Server Option | ✔ | ✔ |
Direct SQL | ✔ | ✔ |
Exit Guide | ✔ | ✔ |
Go to Guide Label | ✔ | ✔ |
Goto | ✔ | ✔ |
Log to File | ✔ | ✔ |
Message | ✔ | ✔ |
Notify | ✔ | ✔ |
Open Window | ✔ | |
Push Fields | ✔ | ✔ |
Run Process | ✔ | ✔ |
Service | ✔ | ✔ |
Set Fields | ✔ | ✔ |
Action Specifics:
- Exclusive to Active Links: Actions like
DDE,Change Field,Close Window,Commit Changes,OLE Automation,Open Window,Run Macro, andWaitare client-side specific and are primarily used in Active Links to enhance the user interface and interaction. - Common to all: Actions like
Call Guide,Distributed Server Option,Direct SQL,Exit Guide,Go to Guide Label,Goto,Log to File,Message,Notify,Push Fields,Run Process,Service, andSet Fieldsare versatile and can be employed across Active Links, Filters, and Escalations to perform a wide range of operations.
Specific Action Deep Dives:
DDE Action
- Usage: Exclusively in Active Links.
- Functionality: Enables data exchange between an AR System client and other applications using Dynamic Data Exchange (DDE). This is an older technology but can still be relevant for legacy integrations.
Direct SQL Action
- Usage: Active Links, Filters, and Escalations.
- Functionality: Allows you to submit any legal SQL command directly to a non-AR System database. This is a powerful tool for integrating with external databases.
- Caution: BMC explicitly advises against using Direct SQL to modify AR System tables directly. Doing so can lead to severe data corruption and is unsupported. Its primary use case is for pushing data to or retrieving data from external systems.
Goto Action
- Usage: Active Links and Filters.
- Functionality: This action allows you to deviate from the standard execution sequence of workflows. When executed, it redirects the flow to the next workflow object with an execution order greater than or equal to a specified number (which can be static or dynamic). It’s useful for creating loops or jumping to specific sections of workflow logic.
Go to Guide Label
- Usage: Active Links and Filters.
- Functionality: Within a “Guide” workflow (a sequence of actions), this allows you to jump to a specific point marked by a “label.” This promotes modularity, enabling you to reuse sections of workflow logic or create branching execution paths based on conditions.
Run Macro Action
- Usage: Active Links only.
- Functionality: This action executes a macro that has been previously created within BMC Remedy User. It is important to note that this action only works within the BMC Remedy User client and is not supported by the web client. Macros can be used to automate almost any sequence of operations.
Run Process Action
- Usage: Active Links, Filters, and Escalations.
- Functionality: This action allows you to execute an external program or script on either the client computer or the AR System server. You specify the command line, which can be an AR System application command, another workflow process command, or an executable program. This is a crucial action for system integrations and external process automation.
Service Action
- Usage: Active Links, Filters, and Escalations.
- Functionality: This action is designed to trigger filters with an “Execute On” condition set to “Service.”
- In Active Links and Filters, it passes input field mapping and can optionally use a database request ID to provide output data for further processing without directly altering the database.
- In Escalations, it can modify database fields if output data is provided. It leverages input mappings to determine output mappings and can operate on the current or any other form. It can also interface with AR System web services.
Commit Changes Action
- Usage: Active Links only.
- Functionality: This action has two primary modes:
- With Dialog Box: When used in conjunction with
Open WindowandClose Windowactions, it captures data from a dialog box, pushes it to the parent form, but does not automatically save it to the database. - With Regular Forms/Views: For standard, join, view, or vendor forms, this action applies the changes made in the form and then performs the major form action (Submit, Search, Modify), effectively saving the data to the database.
- With Dialog Box: When used in conjunction with
Push Fields Action
- Usage: Active Links, Filters, and Escalations.
- Functionality: This is a cornerstone action for data synchronization. It automates database updates by transferring values from selected fields in the current request to another request, which can be in the same or a different form. It can be used to update existing records or create new ones. It supports most field types but cannot push data to non-data fields like table fields or panel holders. Each
Push Fieldsaction targets one other form and can update multiple records within that target form.
Both can save a request if executed in modify mode. However, “Commit Changes” is logged in system logs, while the specific action performed via
Run Process (if using PERFORM-ACTION-APPLY) might not be as explicitly detailed. For dynamic workflow generation where actions can be constructed on the fly, Run Process offers greater flexibility.Cache Modes and Their Impact
AR System utilizes cache modes that significantly influence the behavior of administrative operations and long-running tasks like escalations and archiving. Understanding these modes is critical for system performance and stability.
- Production Cache Mode (Default): In this mode, administrative operations are designed not to delay end-users. When an administrator makes changes, a copy of the cache is created, allowing regular users to continue working with the existing, shared cache. This is essential for maintaining high availability in production environments.
- Development Cache Mode: This mode is more restrictive. Administrative operations can lock other users out of the shared cache. Critically, escalation and archive threads must complete their operations before administrator changes can be finalized. Long-running tasks like escalations, Integration Engine jobs, or complex queries are incompatible with administrative changes in this mode, potentially leading to significant delays and performance bottlenecks.
The Role of Archives in System Management
While “Archive Definitions” isn’t a single configuration object, the concept of archiving is woven into the fabric of AR System workflow management. Archiving typically involves moving older, less frequently accessed data from primary operational databases to slower, more cost-effective storage. This is crucial for:
- Performance Optimization: Reducing the size of live databases speeds up queries, filters, and escalations.
- Cost Reduction: Storing historical data on less expensive storage solutions saves money.
- Compliance: Many regulations require data to be retained for specific periods.
- Data Governance: Maintaining an auditable history of records.
Archiving strategies often leverage:
- Escalations: To identify records that meet archiving criteria (e.g., closed tickets older than X years).
- Filters: To perform the actual data movement or trigger archiving processes.
arsignalutility: A command-line tool that can be used to signal the AR System server to reload or update various definitions, including archive definitions. The-bflag specifically re-caches and reloads archive definitions.
Key Utilities and Configuration
arsignal Utility: Managing Server Definitions
The arsignal utility is a command-line tool used to force an AR System server to load or reload information. It’s a powerful tool for applying configuration changes without a full server restart.
arsignal serverName[:port][sigArgument]
Common arguments include:
-a: Updates internal Alert user information.-b: Recaches and reloads archive definitions. This is directly relevant to managing archive configurations.-c: Reloads information from thear.conf(orar.cfg) configuration file.-e: Recaches and reloads escalation definitions.-g: Reloads group and data dictionary information.-l: Reloads license information.-m: Reloads computed group information.-p: Transfers the signal to an application process.-r: Recaches definitions from the database.-u: Reloads user information.
Ports and Queues Tab
This configuration area is critical for server-to-server and client-to-server communication. It allows administrators to set specific server ports and RPC numbers. The Server Queue region is particularly important in AR System’s multithreaded architecture, as it configures server queues and threads, directly impacting how efficiently workflows, including those related to archiving, are processed concurrently.
Troubleshooting Common Workflow and Archiving Issues
Troubleshooting Workflow Execution
- Workflow Not Triggering:
- Check qualifications: Ensure the conditions that trigger the workflow are met. Use
Logsactions within your workflow for debugging. - Execution Order: For filters, verify that the execution order is correct and not being overridden by another filter.
- Cache Issues: Sometimes, changes might not reflect due to caching. Use
arsignal -rto reload definitions. - User Permissions: Ensure the user running the operation has the necessary permissions to trigger the workflow.
- Check qualifications: Ensure the conditions that trigger the workflow are met. Use
- Workflow Not Performing Expected Actions:
- Action Configuration: Double-check the parameters and mappings within each action. For
Push Fields, verify source and destination fields. - Data Types: Mismatched data types can cause actions to fail silently.
- Error Logs: Review AR System server logs and the
Log to Fileactions for detailed error messages.
- Action Configuration: Double-check the parameters and mappings within each action. For
- Performance Degradation:
- Complex Workflows: Overly complex or inefficient workflows can slow down the system. Analyze and optimize them.
- Database Load: Filters and escalations that perform heavy database operations can impact performance.
- Cache Mode: Ensure you are in the correct cache mode (Production vs. Development) for your environment.
Troubleshooting Archiving Processes
- Archiving Not Occurring:
- Escalation/Filter Logic: Verify the qualifications of the escalation or filter responsible for archiving. Are records truly meeting the criteria?
ar_escalatorUser: Ensure thear_escalatoruser has the necessary permissions and is functioning correctly.arsignal -b: Reload archive definitions using this command after making changes.- Database Space/Permissions: Ensure the target archive location has sufficient space and the AR System service account has write permissions.
- Archived Data Not Accessible:
- Archive Form Configuration: Ensure the archive forms are correctly defined and accessible.
- Data Integrity: In rare cases, data corruption during archiving could occur. Investigate logs.
Interview Relevance
Interview Tips:
When discussing workflows and archiving in an interview, focus on:
- Understanding the purpose of each workflow type (Active Link, Filter, Escalation) and their execution contexts.
- Being able to explain common actions and their use cases.
- Discussing the implications of cache modes on system operations.
- Explaining how escalations and filters can be used to implement archiving strategies.
- Demonstrating knowledge of troubleshooting techniques for workflow issues.
- Mentioning the
arsignalutility and its role in refreshing definitions, especially for archiving.
Candidates are often asked to design a simple workflow or explain how they would troubleshoot a common issue, so be prepared with practical examples.
Official Documentation References
Official Documentation:
For the most accurate and in-depth information, always refer to the official BMC documentation:
- BMC Helix ITSM Documentation: BMC Helix ITSM Documentation
- AR System Documentation (often integrated within Helix ITSM): Look for sections on “Workflows,” “Forms,” “Configuration,” and “Administration.”
- Specific topics like “Working with Active Links,” “Working with Filters,” and “Working with Escalations” are crucial.
While specific “Archive Definitions” might not be a standalone object, the principles of data management, workflow configuration, and automation as described in these documents are directly applicable to archiving strategies.
In conclusion, understanding Archive Definitions is less about a single menu item and more about a comprehensive grasp of AR System’s workflow capabilities. By mastering Active Links, Filters, and Escalations, and understanding how they interact with forms and data, you equip yourself to build robust, efficient, and maintainable IT Service Management solutions. Effective archiving, driven by well-configured workflows, is a testament to a mature and high-performing IT environment.