Repository Event Log
Bloomreach Content logs all workflow invocations as nodes in the Java Content Repository (JCR). Each log entry records which user performed a workflow operation, the type of operation, the timestamp, and the affected document. The system uses this log to display the activity stream on the CMS dashboard. You can also build custom plugins for advanced reporting or statistics based on this log. Because the log data is stored as JCR content, you can run complex queries against it. Applications can monitor these logs and trigger custom logic in response to workflow events using the Event Bus service.
The event log is not designed for direct visual inspection by administrators or developers. The log nodes are stored in a non-linear tree structure, making it impractical to browse them using the console. To inspect log entries, use the repository servlet and run a query. Open http://localhost:8080/cms/repository and execute the following SQL query:
SELECT * from hippolog:item ORDER BY hippolog
To maintain the event log, use the event log cleanup module.
Basic Properties
Workflows in the repository are organized into categories. When client code requests a workflow, it specifies a category and a target node. The system matches a workflow based on the node type and user permissions within the specified category. Each workflow also has a unique name within its category. The event log records the following information for each workflow invocation:
- Workflow category
- Workflow name
- Location of the subject node
- Name of the workflow method invoked
Contextual Properties
Each log entry also includes:
- The username of the user who executed the workflow
- The Unix timestamp of the event
Workflow Interactions
A workflow invocation is a low-level event that may be part of a higher-level workflow action. For example, copying a document triggers several sub-workflows, such as depublishing the copied document. To distinguish between similar events in different contexts, the log includes the hipposys:interaction property. This property combines the category, name, and method of the root workflow invocation. For example, a depublish event that is part of a copy action will have hipposys:interaction set to default:handle:copy.
The property hipposys:interactionId identifies a specific instance of an interaction. All events belonging to the same interaction instance share the same interaction ID.
Advanced Properties
The log also records:
- The JCR identifier of the handle node
- A string representation of the workflow invocation's return value