Principle
A component’s history is made up of a set of facts. Each fact logs an action performed by a user on a component and stores the following information:
Name | Automatic | Description |
---|---|---|
id |
yes | Unique identifier |
creationDate |
yes | Completion date |
user |
yes | Identifier of the user who performed the operation |
requestId |
yes | Identifier of the request at the origin of the action |
technical |
yes | Determines whether the fact is technical or business |
action |
no | Action performed |
objectId |
no | Object identifier in question |
objectType |
no | Object type in question |
Technical facts
Technical facts are generated automatically by FlowerDocs Core when a historical operation is executed. For each component category, fact logging for a given action can be enabled or disabled.
Action | Default | Description |
---|---|---|
create |
yes | Creation |
read |
no | Access |
get_content |
no | Content access |
update |
yes | Update |
add_content |
no | Adding content |
delete_content |
no | Deleting content |
revert |
yes | Restoring a version |
delete |
yes | Physical removal |
Action | Default | Description |
---|---|---|
create |
yes | Creation |
read |
no | Access |
update |
yes | Update |
assign |
yes | Assignment |
add_content |
yes | Add attachment(s) |
delete_content |
yes | Deleting attachments |
answer |
yes | Application of an answer |
delete |
yes | Physical removal |
Action | Default | Description |
---|---|---|
create |
yes | Creation |
read |
no | Access |
update |
yes | Update |
add_content |
yes | Adding component(s) |
delete_content |
yes | Deleting component(s) |
delete |
yes | Physical removal |
Action | Default | Description |
---|---|---|
create |
yes | Creation |
read |
no | Access |
update |
yes | Update |
delete |
yes | Physical removal |
To modify historical actions, the core.properties
file must be modified using the default configuration:
fact.registrations.document=create,update,delete,version,revert
fact.registrations.folder=create,update,add_content,delete_content,delete
fact.registrations.virtual.folder=create,update,delete
fact.registrations.task=create,update,delete,answer,assign,add_content,delete_content
Business facts
A business fact is generated programmatically to record a particular state or action for a component. This generation must be configured or developed specifically for the situations concerned thanks to:
- APIs exposed for each component category
- the [ContextUtil] object(https://documentation.flowerdocs.com/en/documentation/config/core/appendices/context-util/)
The user responsible for generating a business fact must have the ADMIN
role.
In the graphical user interface, a technical fact is linked to a business fact if they have the same request identifier (requestId
).
Technical facts generated before and linked to a business fact are displayed in detail.
POST {core}/rest/documents/{id}/facts HTTP/1.1
token: {token}
Content-Type: application/json
{
"action": "custom",
"description": "Generated by REST API.”,
"updatedFields": [
{
"name": "tag",
"value": "text
}
]
}
//ScriptOperationHandler
var builder = com.flower.docs.common.fact.FactBuilder.objectId(component.getId()).type('DOCUMENT');
builder.action('custom').description('Generated by script operation handler.').field('tag', 'text');
util.createFact(builder.build());
History configuration
FlowerDocs provides a document class FactFieldsConfiguration
that lets you simply define the tags to be historised on generated facts.
This document allows you to define:
- the object type:
DOCUMENT
,TASK
,VIRTUAL_FOLDER
,FOLDER
- component class identifiers
- tag identifiers
This configuration document is accessible from the FlowerDocs administration interface: Configuration > Historical facts.