The ODC Forge-athon 2024 was a testament to the innovation and collaboration within the OutSystems community. Among the projects, the “Auditor” component, developed by a team composed of Anjali Dange, Jean Bastos, Muhammed Ibrahim, Pawan Vannal, and Vandna Vishwakarma, with the guidance of mentor Stuart Harris, secured third place. This tool is designed to track and record data changes within applications, offering a solution for audit logging.
Introducing the Auditor Component
The “Auditor” component addresses a common need in application development: the ability to track changes in data records. Whether a record is created, updated, or deleted, the Auditor captures these modifications by comparing old and new data states using JSON diff. This functionality provides detailed insights into specific changes, which are systematically logged and can be reviewed through user-friendly screens.
Key Features of Auditor
Comprehensive Change Tracking
The component tracks all data changes across different entities within an application. This feature is not limited to specific data entries but extends to any data change, making it a versatile tool for audit logging.
User-Friendly Audit Screens
The Auditor component includes two primary screens:
- Audit Screen: This screen provides an overview of all changes that have occurred in any records, offering a high-level summary of system modifications.
- Audit Detail Screen: This screen offers a detailed view of individual changes, showing which data attributes were added, updated, or deleted, along with their previous and current values.
Practical Demonstration
To illustrate the functionality of the Auditor, the team used a demo application managing product and customer records. Here’s how it works:
- Creating a Product: When a product is created, the Auditor logs the event, capturing details such as the application name, entity, record ID, and indicating a new record creation.
- Updating a Product: Upon updating a product record, such as changing the category name, the Auditor logs the update, showing the old and new values for verification.
- Deleting a Product: When a product record is deleted, the Auditor logs the deletion, providing detailed information about the attributes affected.
The Technology Behind Auditor
The Auditor component operates by calling the “audit store changes” service action whenever a create, update, or delete operation occurs. This service captures the data before and after the change and documents these modifications into the Audit and Audit Attribute entities using JSON diff.
Practical Use Cases
The Auditor component has applications across various industries:
Compliance and Accountability
In industries where data integrity and compliance are paramount, such as finance and healthcare, the Auditor ensures that all data changes are tracked and documented, facilitating audits and compliance checks.
Application Development
For developers, the Auditor provides a built-in solution for tracking changes, simplifying the process of maintaining data integrity and transparency within applications.
User Experience Enhancement
By providing detailed logs of data changes, the Auditor enhances user trust and accountability, crucial for applications handling sensitive information.
Benefits of the Auditor Component
Data Tracking
The ability to track any data change, rather than just specific entries, is a great feature and essential for robust data management.
Ease of Use
The component is designed to be user-friendly, with intuitive screens that make it easy to view and understand data changes. This simplicity ensures that both technical and non-technical users can effectively use the tool.
Broad Applicability
Every customer is interested in auditing data changes, making the Auditor a valuable tool across various applications. Its relevance spans multiple industries, highlighting its potential for widespread adoption.
The ODC Forge-athon was a great opportunity for learning how to develop components on ODC and working with peers in the industry. We extend our heartfelt thanks to the judges, OutSystems Community Manager Sahiba Gulati, the mentors (Leonardo Fernandes, John Salamat, Raphael Ranieri, Hanno Coetzee, and Stuart Harris), all participants, and OutSystems for their support and dedication.
To learn more: