SlideShare une entreprise Scribd logo
1  sur  22
How to track user activities
without using the audit
functions.
Kaz Kono
Learn. Connect. Collaborate.
Available Functions
- Audit (Disabled by default)
- Activity_feed (Already running)
Learn. Connect. Collaborate.
Available Functions
- Audit (Disabled by default)
- Activity_feed (Already running)
Learn. Connect. Collaborate.
Available Functions
- Audit (Disabled by default)
- Activity_feed (Already running)
Learn. Connect. Collaborate.
# SiteServiceImpl.java
// Add the user to the new permission group
String newGroup = getSiteRoleGroup(shortName, role, true);
authorityService.addAuthority(newGroup, authorityName);
return null;
...
activityService.postActivity(
ActivityType.SITE_USER_JOINED, shortName,
ACTIVITY_TOOL, getActivityUserData(authorityDisplayName, role)
, authorityName);
1
How to capture the user events
- Audit (Disabled)
Set “Annotation” as @Auditable
# SiteService.java
@Auditable
(parameters = {"shortName", "authorityName", "role"})
void setMembership(String shortName, String authorityName, String role);
- Activity_feed (Running)
It adds the method
acvititySerivce.postActivity
to each action in each Java class.
Event list is predefined in
ActivityType.java
Learn. Connect. Collaborate.
How to capture the user events
- Audit (Disabled)
Set “Annotation” as @Auditable
# SiteService.java
@Auditable
(parameters = {"shortName", "authorityName", "role"})
void setMembership(String shortName, String authorityName, String role);
- Activity_feed (Running)
It adds the method
acvititySerivce.postActivity
to each action in each Java class.
Event list is predefined in
ActivityType.java
# SiteServiceImpl.java
// Add the user to the new permission group
String newGroup = getSiteRoleGroup(shortName, role, true);
authorityService.addAuthority(newGroup, authorityName);
return null;
...
activityService.postActivity(
ActivityType.SITE_USER_JOINED, shortName,
ACTIVITY_TOOL, getActivityUserData(authorityDisplayName, role)
, authorityName);
Learn. Connect. Collaborate.
The pre-defined events list
public interface ActivityType{
// pre-defined alfresco activity types
public static final String SITE_USER_JOINED = "org.alfresco.site.user-joined";
public static final String SITE_USER_REMOVED = "org.alfresco.site.user-left";
public static final String SITE_USER_ROLE_UPDATE = "org.alfresco.site.user-role-changed";
public static final String SITE_GROUP_ADDED = "org.alfresco.site.group-added";
public static final String SITE_GROUP_REMOVED = "org.alfresco.site.group-removed";
public static final String SITE_GROUP_ROLE_UPDATE = "org.alfresco.site.group-role-changed";
public static final String SUBSCRIPTIONS_SUBSCRIBE = "org.alfresco.subscriptions.subscribed";
public static final String SUBSCRIPTIONS_FOLLOW = "org.alfresco.subscriptions.followed";
public static final String FILE_ADDED = "org.alfresco.documentlibrary.file-added";
public static final String FILE_UPDATED = "org.alfresco.documentlibrary.file-updated";
public static final String FILE_DELETED = "org.alfresco.documentlibrary.file-deleted";
public static final String FILES_ADDED = "org.alfresco.documentlibrary.files-added";
public static final String FILES_UPDATED = "org.alfresco.documentlibrary.files-updated";
public static final String FILES_DELETED = "org.alfresco.documentlibrary.files-deleted";
public static final String FOLDER_ADDED = "org.alfresco.documentlibrary.folder-added";
public static final String FOLDER_DELETED = "org.alfresco.documentlibrary.folder-deleted";
public static final String FOLDERS_ADDED = "org.alfresco.documentlibrary.folders-added";
public static final String FOLDERS_DELETED = "org.alfresco.documentlibrary.folders-deleted";
public static final String FILE_LIKED = "org.alfresco.documentlibrary.file-liked";
public static final String FOLDER_LIKED = "org.alfresco.documentlibrary.folder-liked";
public static final String COMMENT_CREATED = "org.alfresco.comments.comment-created";
public static final String DOCLINK_CREATED = "org.alfresco.doclink.link-created";}
Learn. Connect. Collaborate.
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
#alf_activity_feed
The differences between Audit and Activity_feed
SELECT
entry.id as Id,
entry.audit_time as Time,
user_string.string_value as User,
act_string.string_value as Application,
sv.string_value as Value
FROM alf_audit_entry as entry
INNER JOIN alf_prop_value user_prop ON (entry.audit_user_id = user_prop.id)
INNER JOIN alf_prop_string_value user_string ON ((user_prop.persisted_type = 3 OR user_prop.persisted_type
= 5) AND user_prop.long_value = user_string.id)
INNER JOIN alf_audit_app app ON (entry.audit_app_id = app.id)
INNER JOIN alf_prop_value act ON (app.app_name_id = act.id)
INNER JOIN alf_prop_link pl on (pl.root_prop_id = entry.audit_values_id)
INNER JOIN alf_prop_value pv on (pl.value_prop_id = pv.id)
INNER JOIN alf_prop_string_value act_string ON (act_string.id in (select ALF_PROP_STRING_VALUE.id from
ALF_PROP_STRING_VALUE where string_value like '%/alfresco-access/%'))
LEFT JOIN alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type =
5))
WHERE sv.string_value is NOT NULL
ORDER BY entry.audit_time;
select * from alf_activity_feed where activity_type like '%file-deleted%' and feed_date like '%2018-11-13%'
Complicated Query
Simple Query
- audit
uses multiple database tables
VS
- activity_feed
uses just one table.
Learn. Connect. Collaborate.
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
#alf_activity_feed
The differences between Audit and Activity_feed
SELECT
entry.id as Id,
entry.audit_time as Time,
user_string.string_value as User,
act_string.string_value as Application,
sv.string_value as Value
FROM alf_audit_entry as entry
INNER JOIN alf_prop_value user_prop ON (entry.audit_user_id = user_prop.id)
INNER JOIN alf_prop_string_value user_string ON ((user_prop.persisted_type = 3 OR user_prop.persisted_type
= 5) AND user_prop.long_value = user_string.id)
INNER JOIN alf_audit_app app ON (entry.audit_app_id = app.id)
INNER JOIN alf_prop_value act ON (app.app_name_id = act.id)
INNER JOIN alf_prop_link pl on (pl.root_prop_id = entry.audit_values_id)
INNER JOIN alf_prop_value pv on (pl.value_prop_id = pv.id)
INNER JOIN alf_prop_string_value act_string ON (act_string.id in (select ALF_PROP_STRING_VALUE.id from
ALF_PROP_STRING_VALUE where string_value like '%/alfresco-access/%'))
LEFT JOIN alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type =
5))
WHERE sv.string_value is NOT NULL
ORDER BY entry.audit_time;
select * from alf_activity_feed where activity_type like '%file-deleted%' and feed_date like '%2018-11-13%'
Complicated Query
Simple Query
- audit
uses multiple database tables
VS
- activity_feed
uses just one table.
2
Learn. Connect. Collaborate.
Another difference
- Audit
• Filenames, Event Names, Paths, dateTime, UserID.
- activity_feed
• Filenames, Event Names, Paths, dateTime, UserID, NodeRefs
VS
select activity_type as EventName, feed_date as dateTime, feed_user_id as UserID, activity_summary as nodeRef from alf_activity_feed where feed_date like '%2018-11-13%';
+--------------------------------------------------------------------------------------------------------------------------------------------
|EventName. |dateTime |UserID |nodeRef
+--------------------------------------------------------------------------------------------------------------------------------------------
| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://SpacesStore/ad556167-cb16-
433c-bd1b-f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-8674-b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.css"}
Stores NodeRefs
| Id | Time | User | Application | Value
| 137 | 1542678927538 | admin | /alfrescoaccess/transaction/aspects/delete |updateNodeProperties |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete |/sys:system/sys:people/cm:admin |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | updateNodeProperties |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | cm:person |
No nodeRefs
to be stored
Learn. Connect. Collaborate.
Another difference
- Audit
• Filenames, Event Names, Paths, dateTime, UserID.
- activity_feed
• Filenames, Event Names, Paths, dateTime, UserID, NodeRefs
VS
select activity_type as EventName, feed_date as dateTime, feed_user_id as UserID, activity_summary as nodeRef from alf_activity_feed where feed_date like '%2018-11-13%';
+--------------------------------------------------------------------------------------------------------------------------------------------
|EventName. |dateTime |UserID |nodeRef
+--------------------------------------------------------------------------------------------------------------------------------------------
| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://SpacesStore/ad556167-cb16-
433c-bd1b-f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-8674-b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.css"}
Stores NodeRefs
| Id | Time | User | Application | Value
| 137 | 1542678927538 | admin | /alfrescoaccess/transaction/aspects/delete |updateNodeProperties |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete |/sys:system/sys:people/cm:admin |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | updateNodeProperties |
| 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | cm:person |
No nodeRefs
to be stored
Learn. Connect. Collaborate.
The main requirement of auditing
select * from alf_audit_entry;
+-----+--------------+---------------+---------------+-----------------+
| id | audit_app_id | audit_time | audit_user_id |
audit_values_id |
+-----+--------------+---------------+---------------+-----------------+
| 1 | 3 | 1539555445655 | 1810 | 1868 |
| 2 | 3 | 1539556032941 | 1810 | 1887 |
| 3 | 3 | 1539556032960 | 1810 | 1888 |
| 4 | 3 | 1539556066851 | 1835 | 1892 |
| 5 | 3 | 1539556536452 | 1810 | 1907 |
| 6 | 3 | 1539556588656 | 1810 | 1909 |
| 7 | 3 | 1539556590207 | 1810 | 1910 |
| 8 | 3 | 1539556590318 | 1810 | 1911 |
| 9 | 3 | 1539556597726 | 1810 | 1912 |
| 10 | 3 | 1539556597878| 1810 | 1913
select * from alf_audit_app;
+----+---------+-------------+----------------+-------------------+
| id | version | app_name_id | audit_model_id | disabled_paths_id
|
+----+---------+-------------+----------------+-------------------+
| 1 | 0 | 5 | 3 | 2 |
| 2 | 0 | 7 | 4 | 3 |
| 3 | 0 | 1769 | 5 | 1838 |
| 4 | 0 | 4396 | 1 | 4639 |
| 5 | 0 | 4779 | 6 | 5041 |
| 6 | 0 | 4780 | 7 | 5042 |
| 7 | 0 | 4781 | 7 | 5043 |
select * from alf_prop_value;
+-------+----------------+----------------+---------------+
| id | actual_type_id | persisted_type | long_value |
+-------+----------------+----------------+---------------+
| 1 | 1 | 3 | 1 |
| 2 | 1 | 3 | 2 |
| 3 | 2 | 0 | 0 |
| 4 | 3 | 4 | 1 |
| 5 | 1 | 3 | 3 |
| 6 | 4 | 5 | 4 |
| 7 | 1 | 3 | 5 |
| 8 | 1 | 3 | 6 |
| 9 | 1 | 3 | 7 |
| 10 | 1 | 3 | 8 |
select * from alf_prop_link;
+--------------+------------+--------------+-------------+---------------+
| root_prop_id | prop_index | contained_in | key_prop_id |
value_prop_id |
+--------------+------------+--------------+-------------+---------------+
| 1 | 0 | 0 | 4 | 4 |
| 2 | 0 | 0 | 6 | 6 |
| 3 | 0 | 0 | 6 | 6 |
| 8 | 0 | 0 | 19 | 19 |
| 22 | 0 | 0 | 49 | 49 |
| 1838 | 0 | 0 | 6 | 6 |
| 1849 | 0 | 0 | 1777 | 1777 |
| 1850 | 0 | 0 | 1779 | 1779 |
| 1851 | 0 | 0 | 1781 | 1781 |
| 1859 | 0 | 0 | 1787 | 1787 |
| 1859 | 1 | 0 | 1788 | 1788 |
select * from alf_prop_string_value
+-----+------------------------------------------------------------------------------
| id | string_value | string_end_lower | string_crc |
+-----+-----------------------------------------------------------------------------
| 1 | keyCheck | keycheck | 644688069 |
| 2 | metadata | metadata | 1326724116 |
| 3 | Alfresco Tagging Service | tagging service | 590014304 |
| 4 | java.util.HashSet | ava.util.hashset | 1058840703 |
| 5 | Alfresco Sync Service | sco sync service | 2298493025 |
| 6 | .repoUsages | .repousages | 2000607251 |
| 7 | current | current | 3706926091|
| 8 | lastUpdateUsers | lastupdateusers | 1353234476 |
| 9 | authorizedUsers | authorizedusers | 3011678754 |
| 10 | lastUpdateDocuments
- Audit
We have to keep the records for years
The audit data in
these tables are
accumulating day
by day
for years
--- AUDIT tables ----
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
Learn. Connect. Collaborate.
3
The main requirement of auditing
select * from alf_audit_entry;
+-----+--------------+---------------+---------------+-----------------+
| id | audit_app_id | audit_time | audit_user_id |
audit_values_id |
+-----+--------------+---------------+---------------+-----------------+
| 1 | 3 | 1539555445655 | 1810 | 1868 |
| 2 | 3 | 1539556032941 | 1810 | 1887 |
| 3 | 3 | 1539556032960 | 1810 | 1888 |
| 4 | 3 | 1539556066851 | 1835 | 1892 |
| 5 | 3 | 1539556536452 | 1810 | 1907 |
| 6 | 3 | 1539556588656 | 1810 | 1909 |
| 7 | 3 | 1539556590207 | 1810 | 1910 |
| 8 | 3 | 1539556590318 | 1810 | 1911 |
| 9 | 3 | 1539556597726 | 1810 | 1912 |
| 10 | 3 | 1539556597878| 1810 | 1913
select * from alf_audit_app;
+----+---------+-------------+----------------+-------------------+
| id | version | app_name_id | audit_model_id | disabled_paths_id
|
+----+---------+-------------+----------------+-------------------+
| 1 | 0 | 5 | 3 | 2 |
| 2 | 0 | 7 | 4 | 3 |
| 3 | 0 | 1769 | 5 | 1838 |
| 4 | 0 | 4396 | 1 | 4639 |
| 5 | 0 | 4779 | 6 | 5041 |
| 6 | 0 | 4780 | 7 | 5042 |
| 7 | 0 | 4781 | 7 | 5043 |
select * from alf_prop_value;
+-------+----------------+----------------+---------------+
| id | actual_type_id | persisted_type | long_value |
+-------+----------------+----------------+---------------+
| 1 | 1 | 3 | 1 |
| 2 | 1 | 3 | 2 |
| 3 | 2 | 0 | 0 |
| 4 | 3 | 4 | 1 |
| 5 | 1 | 3 | 3 |
| 6 | 4 | 5 | 4 |
| 7 | 1 | 3 | 5 |
| 8 | 1 | 3 | 6 |
| 9 | 1 | 3 | 7 |
| 10 | 1 | 3 | 8 |
select * from alf_prop_link;
+--------------+------------+--------------+-------------+---------------+
| root_prop_id | prop_index | contained_in | key_prop_id |
value_prop_id |
+--------------+------------+--------------+-------------+---------------+
| 1 | 0 | 0 | 4 | 4 |
| 2 | 0 | 0 | 6 | 6 |
| 3 | 0 | 0 | 6 | 6 |
| 8 | 0 | 0 | 19 | 19 |
| 22 | 0 | 0 | 49 | 49 |
| 1838 | 0 | 0 | 6 | 6 |
| 1849 | 0 | 0 | 1777 | 1777 |
| 1850 | 0 | 0 | 1779 | 1779 |
| 1851 | 0 | 0 | 1781 | 1781 |
| 1859 | 0 | 0 | 1787 | 1787 |
| 1859 | 1 | 0 | 1788 | 1788 |
select * from alf_prop_string_value
+-----+------------------------------------------------------------------------------
| id | string_value | string_end_lower | string_crc |
+-----+-----------------------------------------------------------------------------
| 1 | keyCheck | keycheck | 644688069 |
| 2 | metadata | metadata | 1326724116 |
| 3 | Alfresco Tagging Service | tagging service | 590014304 |
| 4 | java.util.HashSet | ava.util.hashset | 1058840703 |
| 5 | Alfresco Sync Service | sco sync service | 2298493025 |
| 6 | .repoUsages | .repousages | 2000607251 |
| 7 | current | current | 3706926091|
| 8 | lastUpdateUsers | lastupdateusers | 1353234476 |
| 9 | authorizedUsers | authorizedusers | 3011678754 |
| 10 | lastUpdateDocuments
- Audit
We have to keep the records for years
The audit data in
these tables are
accumulating day
by day
for years
--- AUDIT tables ----
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
Learn. Connect. Collaborate.
The reason why we get performance issues
#alf_activity_feed
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
#ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT
#ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST
#ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER
#ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR
#ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE
#alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member
#alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app
#alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority
#alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url
#alf_content_url_encryption #alf_encoding #alf_locale #alf_lock
#alf_lock_resource #alf_mimetype #alf_namespace #alf_node
#alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission
#alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root
#alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname
#alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction
#alf_usage_delta
Audit Query
All the other
out of the
box database
queries
The audit query is
running on top of
all the other out
of the box
database queries.
Learn. Connect. Collaborate.
The reason why we get performance issues
#alf_activity_feed
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
#ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT
#ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST
#ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER
#ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR
#ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE
#alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member
#alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app
#alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority
#alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url
#alf_content_url_encryption #alf_encoding #alf_locale #alf_lock
#alf_lock_resource #alf_mimetype #alf_namespace #alf_node
#alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission
#alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root
#alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname
#alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction
#alf_usage_delta
Audit Query
All the other
out of the
box database
queries
The audit query is
running on top of
all the other out
of the box
database queries.
Learn. Connect. Collaborate.
#alf_activity_feed
#alf_audit_entry
#alf_audit_app
#alf_prop_value
#alf_prop_link
#alf_prop_string_value
#ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT
#ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST
#ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER
#ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR
#ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE
#alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member
#alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app
#alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority
#alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url
#alf_content_url_encryption #alf_encoding #alf_locale #alf_lock
#alf_lock_resource #alf_mimetype #alf_namespace #alf_node
#alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission
#alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root
#alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname
#alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction
#alf_usage_delta
Audit Query
All the other
out of the
box database
queries
The audit query is
running on top of
all the other out
of the box
database queries.
The reason why we get performance issues
Learn. Connect. Collaborate.
4
Activity Feed table is well maintained.
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 |
admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"worksp
ace://SpacesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-
4713-8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSim
pleStyle.css"}
#alf_activity_feed
Scheduled
Job
Learn. Connect. Collaborate.
2018
2017
How to use Activity Feed for an audit purpose
#alf_activity_feed
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jan
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Feb
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Mar
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Apr
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
May
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jun
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
July
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Aug
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Sep
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Oct
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Nov
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Dec
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jan
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Feb
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Mar
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Apr
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
May
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jun
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
July
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Aug
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Sep
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Oct
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Nov
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Dec
Keep each of exported
table on a monthly basis
for years
mysqldump -p --user=username
dbname tableName > tableName.sql
Learn. Connect. Collaborate.
2018
2017
How to use Activity Feed for an audit purpose
#alf_activity_feed
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jan
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Feb
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Mar
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Apr
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
May
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jun
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
July
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Aug
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Sep
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Oct
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Nov
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Dec
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jan
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Feb
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Mar
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Apr
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
May
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Jun
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
July
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Aug
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Sep
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Oct
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Nov
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
Dec
Import each on per
Auditor requests
mysql -u username -p
-D dbname < tableName.sql
Learn. Connect. Collaborate.
How to use Activity Feed for an audit purpose
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
#alf_activity_feed
2018
Oct
GET
/alfresco/service/api/activities/
feed/user/{userId}?format=json
Learn. Connect. Collaborate.
How to use Activity Feed for an audit purpose
+-------------------------------------------------------------------------------------|
org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin |
{"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp
acesStore/ad556167-cb16-433c-bd1b-
f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-
8674-
b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.
css"}
#alf_activity_feed
2018
Oct
GET
/alfresco/service/api/activities/
feed/user/{userId}?format=json
How to track user activities
without using the audit
functions.
Thank you!

Contenu connexe

Tendances

Tendances (20)

Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Storage and Alfresco
Storage and AlfrescoStorage and Alfresco
Storage and Alfresco
 
Alfresco CMIS
Alfresco CMISAlfresco CMIS
Alfresco CMIS
 
Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the Trade
 
Architectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyondArchitectural changes in the repo in 6.1 and beyond
Architectural changes in the repo in 6.1 and beyond
 
From zero to hero Backing up alfresco
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfresco
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...
 
Alfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in ActionAlfresco DevCon 2019 - Alfresco Identity Services in Action
Alfresco DevCon 2019 - Alfresco Identity Services in Action
 
Alfresco Security Best Practices Guide
Alfresco Security Best Practices GuideAlfresco Security Best Practices Guide
Alfresco Security Best Practices Guide
 
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseHow to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Deploying Flink on Kubernetes - David Anderson
 Deploying Flink on Kubernetes - David Anderson Deploying Flink on Kubernetes - David Anderson
Deploying Flink on Kubernetes - David Anderson
 
Alfresco - You probably didn't know that
Alfresco - You probably didn't know thatAlfresco - You probably didn't know that
Alfresco - You probably didn't know that
 
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora  - Benchmark ...
The Alfresco ECM 1 Billion Document Benchmark on AWS and Aurora - Benchmark ...
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Exactly-once Stream Processing with Kafka Streams
Exactly-once Stream Processing with Kafka StreamsExactly-once Stream Processing with Kafka Streams
Exactly-once Stream Processing with Kafka Streams
 

Similaire à Alfresco devcon 2019: How to track user activities without using the audit functions.

How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30
fiyuer
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
NAVER D2
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
NAVER D2
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
Yehuda Katz
 
Ruby on Rails : RESTful 和 Ajax
Ruby on Rails : RESTful 和 AjaxRuby on Rails : RESTful 和 Ajax
Ruby on Rails : RESTful 和 Ajax
Wen-Tien Chang
 
Django Class-based views (Slovenian)
Django Class-based views (Slovenian)Django Class-based views (Slovenian)
Django Class-based views (Slovenian)
Luka Zakrajšek
 

Similaire à Alfresco devcon 2019: How to track user activities without using the audit functions. (20)

ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgniter
 
How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30
 
What's new in Rails 4
What's new in Rails 4What's new in Rails 4
What's new in Rails 4
 
Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5
 
An Introduction to Ruby on Rails
An Introduction to Ruby on RailsAn Introduction to Ruby on Rails
An Introduction to Ruby on Rails
 
E2 appspresso hands on lab
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
 
E3 appspresso hands on lab
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
 
Building Lithium Apps
Building Lithium AppsBuilding Lithium Apps
Building Lithium Apps
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
Controller
ControllerController
Controller
 
Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013Workshop quality assurance for php projects - ZendCon 2013
Workshop quality assurance for php projects - ZendCon 2013
 
Ruby on Rails : RESTful 和 Ajax
Ruby on Rails : RESTful 和 AjaxRuby on Rails : RESTful 和 Ajax
Ruby on Rails : RESTful 和 Ajax
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference Client
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Workshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfastWorkshop quality assurance for php projects - phpbelfast
Workshop quality assurance for php projects - phpbelfast
 
Django Class-based views (Slovenian)
Django Class-based views (Slovenian)Django Class-based views (Slovenian)
Django Class-based views (Slovenian)
 
TYPO3 Flow 2.0 (International PHP Conference 2013)
TYPO3 Flow 2.0 (International PHP Conference 2013)TYPO3 Flow 2.0 (International PHP Conference 2013)
TYPO3 Flow 2.0 (International PHP Conference 2013)
 
Taming Core Data by Arek Holko, Macoscope
Taming Core Data by Arek Holko, MacoscopeTaming Core Data by Arek Holko, Macoscope
Taming Core Data by Arek Holko, Macoscope
 
Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8Unit testing after Zend Framework 1.8
Unit testing after Zend Framework 1.8
 

Dernier

Dernier (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Alfresco devcon 2019: How to track user activities without using the audit functions.

  • 1. How to track user activities without using the audit functions. Kaz Kono
  • 2. Learn. Connect. Collaborate. Available Functions - Audit (Disabled by default) - Activity_feed (Already running)
  • 3. Learn. Connect. Collaborate. Available Functions - Audit (Disabled by default) - Activity_feed (Already running)
  • 4. Learn. Connect. Collaborate. Available Functions - Audit (Disabled by default) - Activity_feed (Already running)
  • 5. Learn. Connect. Collaborate. # SiteServiceImpl.java // Add the user to the new permission group String newGroup = getSiteRoleGroup(shortName, role, true); authorityService.addAuthority(newGroup, authorityName); return null; ... activityService.postActivity( ActivityType.SITE_USER_JOINED, shortName, ACTIVITY_TOOL, getActivityUserData(authorityDisplayName, role) , authorityName); 1 How to capture the user events - Audit (Disabled) Set “Annotation” as @Auditable # SiteService.java @Auditable (parameters = {"shortName", "authorityName", "role"}) void setMembership(String shortName, String authorityName, String role); - Activity_feed (Running) It adds the method acvititySerivce.postActivity to each action in each Java class. Event list is predefined in ActivityType.java
  • 6. Learn. Connect. Collaborate. How to capture the user events - Audit (Disabled) Set “Annotation” as @Auditable # SiteService.java @Auditable (parameters = {"shortName", "authorityName", "role"}) void setMembership(String shortName, String authorityName, String role); - Activity_feed (Running) It adds the method acvititySerivce.postActivity to each action in each Java class. Event list is predefined in ActivityType.java # SiteServiceImpl.java // Add the user to the new permission group String newGroup = getSiteRoleGroup(shortName, role, true); authorityService.addAuthority(newGroup, authorityName); return null; ... activityService.postActivity( ActivityType.SITE_USER_JOINED, shortName, ACTIVITY_TOOL, getActivityUserData(authorityDisplayName, role) , authorityName);
  • 7. Learn. Connect. Collaborate. The pre-defined events list public interface ActivityType{ // pre-defined alfresco activity types public static final String SITE_USER_JOINED = "org.alfresco.site.user-joined"; public static final String SITE_USER_REMOVED = "org.alfresco.site.user-left"; public static final String SITE_USER_ROLE_UPDATE = "org.alfresco.site.user-role-changed"; public static final String SITE_GROUP_ADDED = "org.alfresco.site.group-added"; public static final String SITE_GROUP_REMOVED = "org.alfresco.site.group-removed"; public static final String SITE_GROUP_ROLE_UPDATE = "org.alfresco.site.group-role-changed"; public static final String SUBSCRIPTIONS_SUBSCRIBE = "org.alfresco.subscriptions.subscribed"; public static final String SUBSCRIPTIONS_FOLLOW = "org.alfresco.subscriptions.followed"; public static final String FILE_ADDED = "org.alfresco.documentlibrary.file-added"; public static final String FILE_UPDATED = "org.alfresco.documentlibrary.file-updated"; public static final String FILE_DELETED = "org.alfresco.documentlibrary.file-deleted"; public static final String FILES_ADDED = "org.alfresco.documentlibrary.files-added"; public static final String FILES_UPDATED = "org.alfresco.documentlibrary.files-updated"; public static final String FILES_DELETED = "org.alfresco.documentlibrary.files-deleted"; public static final String FOLDER_ADDED = "org.alfresco.documentlibrary.folder-added"; public static final String FOLDER_DELETED = "org.alfresco.documentlibrary.folder-deleted"; public static final String FOLDERS_ADDED = "org.alfresco.documentlibrary.folders-added"; public static final String FOLDERS_DELETED = "org.alfresco.documentlibrary.folders-deleted"; public static final String FILE_LIKED = "org.alfresco.documentlibrary.file-liked"; public static final String FOLDER_LIKED = "org.alfresco.documentlibrary.folder-liked"; public static final String COMMENT_CREATED = "org.alfresco.comments.comment-created"; public static final String DOCLINK_CREATED = "org.alfresco.doclink.link-created";}
  • 8. Learn. Connect. Collaborate. #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value #alf_activity_feed The differences between Audit and Activity_feed SELECT entry.id as Id, entry.audit_time as Time, user_string.string_value as User, act_string.string_value as Application, sv.string_value as Value FROM alf_audit_entry as entry INNER JOIN alf_prop_value user_prop ON (entry.audit_user_id = user_prop.id) INNER JOIN alf_prop_string_value user_string ON ((user_prop.persisted_type = 3 OR user_prop.persisted_type = 5) AND user_prop.long_value = user_string.id) INNER JOIN alf_audit_app app ON (entry.audit_app_id = app.id) INNER JOIN alf_prop_value act ON (app.app_name_id = act.id) INNER JOIN alf_prop_link pl on (pl.root_prop_id = entry.audit_values_id) INNER JOIN alf_prop_value pv on (pl.value_prop_id = pv.id) INNER JOIN alf_prop_string_value act_string ON (act_string.id in (select ALF_PROP_STRING_VALUE.id from ALF_PROP_STRING_VALUE where string_value like '%/alfresco-access/%')) LEFT JOIN alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5)) WHERE sv.string_value is NOT NULL ORDER BY entry.audit_time; select * from alf_activity_feed where activity_type like '%file-deleted%' and feed_date like '%2018-11-13%' Complicated Query Simple Query - audit uses multiple database tables VS - activity_feed uses just one table.
  • 9. Learn. Connect. Collaborate. #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value #alf_activity_feed The differences between Audit and Activity_feed SELECT entry.id as Id, entry.audit_time as Time, user_string.string_value as User, act_string.string_value as Application, sv.string_value as Value FROM alf_audit_entry as entry INNER JOIN alf_prop_value user_prop ON (entry.audit_user_id = user_prop.id) INNER JOIN alf_prop_string_value user_string ON ((user_prop.persisted_type = 3 OR user_prop.persisted_type = 5) AND user_prop.long_value = user_string.id) INNER JOIN alf_audit_app app ON (entry.audit_app_id = app.id) INNER JOIN alf_prop_value act ON (app.app_name_id = act.id) INNER JOIN alf_prop_link pl on (pl.root_prop_id = entry.audit_values_id) INNER JOIN alf_prop_value pv on (pl.value_prop_id = pv.id) INNER JOIN alf_prop_string_value act_string ON (act_string.id in (select ALF_PROP_STRING_VALUE.id from ALF_PROP_STRING_VALUE where string_value like '%/alfresco-access/%')) LEFT JOIN alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5)) WHERE sv.string_value is NOT NULL ORDER BY entry.audit_time; select * from alf_activity_feed where activity_type like '%file-deleted%' and feed_date like '%2018-11-13%' Complicated Query Simple Query - audit uses multiple database tables VS - activity_feed uses just one table. 2
  • 10. Learn. Connect. Collaborate. Another difference - Audit • Filenames, Event Names, Paths, dateTime, UserID. - activity_feed • Filenames, Event Names, Paths, dateTime, UserID, NodeRefs VS select activity_type as EventName, feed_date as dateTime, feed_user_id as UserID, activity_summary as nodeRef from alf_activity_feed where feed_date like '%2018-11-13%'; +-------------------------------------------------------------------------------------------------------------------------------------------- |EventName. |dateTime |UserID |nodeRef +-------------------------------------------------------------------------------------------------------------------------------------------- | org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://SpacesStore/ad556167-cb16- 433c-bd1b-f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-8674-b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.css"} Stores NodeRefs | Id | Time | User | Application | Value | 137 | 1542678927538 | admin | /alfrescoaccess/transaction/aspects/delete |updateNodeProperties | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete |/sys:system/sys:people/cm:admin | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | updateNodeProperties | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | cm:person | No nodeRefs to be stored
  • 11. Learn. Connect. Collaborate. Another difference - Audit • Filenames, Event Names, Paths, dateTime, UserID. - activity_feed • Filenames, Event Names, Paths, dateTime, UserID, NodeRefs VS select activity_type as EventName, feed_date as dateTime, feed_user_id as UserID, activity_summary as nodeRef from alf_activity_feed where feed_date like '%2018-11-13%'; +-------------------------------------------------------------------------------------------------------------------------------------------- |EventName. |dateTime |UserID |nodeRef +-------------------------------------------------------------------------------------------------------------------------------------------- | org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://SpacesStore/ad556167-cb16- 433c-bd1b-f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713-8674-b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle.css"} Stores NodeRefs | Id | Time | User | Application | Value | 137 | 1542678927538 | admin | /alfrescoaccess/transaction/aspects/delete |updateNodeProperties | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete |/sys:system/sys:people/cm:admin | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | updateNodeProperties | | 137 | 1542678927538 | admin | /alfresco-access/transaction/aspects/delete | cm:person | No nodeRefs to be stored
  • 12. Learn. Connect. Collaborate. The main requirement of auditing select * from alf_audit_entry; +-----+--------------+---------------+---------------+-----------------+ | id | audit_app_id | audit_time | audit_user_id | audit_values_id | +-----+--------------+---------------+---------------+-----------------+ | 1 | 3 | 1539555445655 | 1810 | 1868 | | 2 | 3 | 1539556032941 | 1810 | 1887 | | 3 | 3 | 1539556032960 | 1810 | 1888 | | 4 | 3 | 1539556066851 | 1835 | 1892 | | 5 | 3 | 1539556536452 | 1810 | 1907 | | 6 | 3 | 1539556588656 | 1810 | 1909 | | 7 | 3 | 1539556590207 | 1810 | 1910 | | 8 | 3 | 1539556590318 | 1810 | 1911 | | 9 | 3 | 1539556597726 | 1810 | 1912 | | 10 | 3 | 1539556597878| 1810 | 1913 select * from alf_audit_app; +----+---------+-------------+----------------+-------------------+ | id | version | app_name_id | audit_model_id | disabled_paths_id | +----+---------+-------------+----------------+-------------------+ | 1 | 0 | 5 | 3 | 2 | | 2 | 0 | 7 | 4 | 3 | | 3 | 0 | 1769 | 5 | 1838 | | 4 | 0 | 4396 | 1 | 4639 | | 5 | 0 | 4779 | 6 | 5041 | | 6 | 0 | 4780 | 7 | 5042 | | 7 | 0 | 4781 | 7 | 5043 | select * from alf_prop_value; +-------+----------------+----------------+---------------+ | id | actual_type_id | persisted_type | long_value | +-------+----------------+----------------+---------------+ | 1 | 1 | 3 | 1 | | 2 | 1 | 3 | 2 | | 3 | 2 | 0 | 0 | | 4 | 3 | 4 | 1 | | 5 | 1 | 3 | 3 | | 6 | 4 | 5 | 4 | | 7 | 1 | 3 | 5 | | 8 | 1 | 3 | 6 | | 9 | 1 | 3 | 7 | | 10 | 1 | 3 | 8 | select * from alf_prop_link; +--------------+------------+--------------+-------------+---------------+ | root_prop_id | prop_index | contained_in | key_prop_id | value_prop_id | +--------------+------------+--------------+-------------+---------------+ | 1 | 0 | 0 | 4 | 4 | | 2 | 0 | 0 | 6 | 6 | | 3 | 0 | 0 | 6 | 6 | | 8 | 0 | 0 | 19 | 19 | | 22 | 0 | 0 | 49 | 49 | | 1838 | 0 | 0 | 6 | 6 | | 1849 | 0 | 0 | 1777 | 1777 | | 1850 | 0 | 0 | 1779 | 1779 | | 1851 | 0 | 0 | 1781 | 1781 | | 1859 | 0 | 0 | 1787 | 1787 | | 1859 | 1 | 0 | 1788 | 1788 | select * from alf_prop_string_value +-----+------------------------------------------------------------------------------ | id | string_value | string_end_lower | string_crc | +-----+----------------------------------------------------------------------------- | 1 | keyCheck | keycheck | 644688069 | | 2 | metadata | metadata | 1326724116 | | 3 | Alfresco Tagging Service | tagging service | 590014304 | | 4 | java.util.HashSet | ava.util.hashset | 1058840703 | | 5 | Alfresco Sync Service | sco sync service | 2298493025 | | 6 | .repoUsages | .repousages | 2000607251 | | 7 | current | current | 3706926091| | 8 | lastUpdateUsers | lastupdateusers | 1353234476 | | 9 | authorizedUsers | authorizedusers | 3011678754 | | 10 | lastUpdateDocuments - Audit We have to keep the records for years The audit data in these tables are accumulating day by day for years --- AUDIT tables ---- #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value
  • 13. Learn. Connect. Collaborate. 3 The main requirement of auditing select * from alf_audit_entry; +-----+--------------+---------------+---------------+-----------------+ | id | audit_app_id | audit_time | audit_user_id | audit_values_id | +-----+--------------+---------------+---------------+-----------------+ | 1 | 3 | 1539555445655 | 1810 | 1868 | | 2 | 3 | 1539556032941 | 1810 | 1887 | | 3 | 3 | 1539556032960 | 1810 | 1888 | | 4 | 3 | 1539556066851 | 1835 | 1892 | | 5 | 3 | 1539556536452 | 1810 | 1907 | | 6 | 3 | 1539556588656 | 1810 | 1909 | | 7 | 3 | 1539556590207 | 1810 | 1910 | | 8 | 3 | 1539556590318 | 1810 | 1911 | | 9 | 3 | 1539556597726 | 1810 | 1912 | | 10 | 3 | 1539556597878| 1810 | 1913 select * from alf_audit_app; +----+---------+-------------+----------------+-------------------+ | id | version | app_name_id | audit_model_id | disabled_paths_id | +----+---------+-------------+----------------+-------------------+ | 1 | 0 | 5 | 3 | 2 | | 2 | 0 | 7 | 4 | 3 | | 3 | 0 | 1769 | 5 | 1838 | | 4 | 0 | 4396 | 1 | 4639 | | 5 | 0 | 4779 | 6 | 5041 | | 6 | 0 | 4780 | 7 | 5042 | | 7 | 0 | 4781 | 7 | 5043 | select * from alf_prop_value; +-------+----------------+----------------+---------------+ | id | actual_type_id | persisted_type | long_value | +-------+----------------+----------------+---------------+ | 1 | 1 | 3 | 1 | | 2 | 1 | 3 | 2 | | 3 | 2 | 0 | 0 | | 4 | 3 | 4 | 1 | | 5 | 1 | 3 | 3 | | 6 | 4 | 5 | 4 | | 7 | 1 | 3 | 5 | | 8 | 1 | 3 | 6 | | 9 | 1 | 3 | 7 | | 10 | 1 | 3 | 8 | select * from alf_prop_link; +--------------+------------+--------------+-------------+---------------+ | root_prop_id | prop_index | contained_in | key_prop_id | value_prop_id | +--------------+------------+--------------+-------------+---------------+ | 1 | 0 | 0 | 4 | 4 | | 2 | 0 | 0 | 6 | 6 | | 3 | 0 | 0 | 6 | 6 | | 8 | 0 | 0 | 19 | 19 | | 22 | 0 | 0 | 49 | 49 | | 1838 | 0 | 0 | 6 | 6 | | 1849 | 0 | 0 | 1777 | 1777 | | 1850 | 0 | 0 | 1779 | 1779 | | 1851 | 0 | 0 | 1781 | 1781 | | 1859 | 0 | 0 | 1787 | 1787 | | 1859 | 1 | 0 | 1788 | 1788 | select * from alf_prop_string_value +-----+------------------------------------------------------------------------------ | id | string_value | string_end_lower | string_crc | +-----+----------------------------------------------------------------------------- | 1 | keyCheck | keycheck | 644688069 | | 2 | metadata | metadata | 1326724116 | | 3 | Alfresco Tagging Service | tagging service | 590014304 | | 4 | java.util.HashSet | ava.util.hashset | 1058840703 | | 5 | Alfresco Sync Service | sco sync service | 2298493025 | | 6 | .repoUsages | .repousages | 2000607251 | | 7 | current | current | 3706926091| | 8 | lastUpdateUsers | lastupdateusers | 1353234476 | | 9 | authorizedUsers | authorizedusers | 3011678754 | | 10 | lastUpdateDocuments - Audit We have to keep the records for years The audit data in these tables are accumulating day by day for years --- AUDIT tables ---- #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value
  • 14. Learn. Connect. Collaborate. The reason why we get performance issues #alf_activity_feed #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value #ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT #ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST #ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER #ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR #ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE #alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member #alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app #alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority #alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url #alf_content_url_encryption #alf_encoding #alf_locale #alf_lock #alf_lock_resource #alf_mimetype #alf_namespace #alf_node #alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission #alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root #alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname #alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction #alf_usage_delta Audit Query All the other out of the box database queries The audit query is running on top of all the other out of the box database queries.
  • 15. Learn. Connect. Collaborate. The reason why we get performance issues #alf_activity_feed #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value #ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT #ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST #ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER #ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR #ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE #alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member #alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app #alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority #alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url #alf_content_url_encryption #alf_encoding #alf_locale #alf_lock #alf_lock_resource #alf_mimetype #alf_namespace #alf_node #alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission #alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root #alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname #alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction #alf_usage_delta Audit Query All the other out of the box database queries The audit query is running on top of all the other out of the box database queries.
  • 16. Learn. Connect. Collaborate. #alf_activity_feed #alf_audit_entry #alf_audit_app #alf_prop_value #alf_prop_link #alf_prop_string_value #ACT_EVT_LOG #ACT_GE_BYTEARRAY #ACT_GE_PROPERTY #ACT_HI_ACTINST #ACT_HI_ATTACHMENT #ACT_HI_COMMENT #ACT_HI_DETAIL #ACT_HI_IDENTITYLINK #ACT_HI_PROCINST #ACT_HI_TASKINST #ACT_HI_VARINST #ACT_ID_GROUP #ACT_ID_INFO #ACT_ID_MEMBERSHIP #ACT_ID_USER #ACT_PROCDEF_INFO #ACT_RE_DEPLOYMENT #ACT_RE_MODEL #ACT_RE_PROCDEF #ACT_RU_EVENT_SUBSCR #ACT_RU_EXECUTION #ACT_RU_IDENTITYLINK #ACT_RU_JOB #ACT_RU_TASK #ACT_RU_VARIABLE #alf_access_control_entry #alf_access_control_list #alf_ace_context #alf_acl_change_set #alf_acl_member #alf_activity_feed #alf_activity_feed_control #alf_activity_post #alf_applied_patch #alf_audit_app #alf_audit_entry #alf_audit_model #alf_auth_status #alf_authority #alf_authority_alias #alf_child_assoc #alf_content_data #alf_content_url #alf_content_url_encryption #alf_encoding #alf_locale #alf_lock #alf_lock_resource #alf_mimetype #alf_namespace #alf_node #alf_node_aspects #alf_node_assoc #alf_node_properties #alf_permission #alf_prop_class #alf_prop_date_value #alf_prop_double_value #alf_prop_link #alf_prop_root #alf_prop_serializable_value #alf_prop_string_value #alf_prop_unique_ctx #alf_prop_value #alf_qname #alf_server #alf_store #alf_subscriptions #alf_tenant #alf_transaction #alf_usage_delta Audit Query All the other out of the box database queries The audit query is running on top of all the other out of the box database queries. The reason why we get performance issues
  • 17. Learn. Connect. Collaborate. 4 Activity Feed table is well maintained. +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"worksp ace://SpacesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567- 4713-8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSim pleStyle.css"} #alf_activity_feed Scheduled Job
  • 18. Learn. Connect. Collaborate. 2018 2017 How to use Activity Feed for an audit purpose #alf_activity_feed +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jan +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Feb +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Mar +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Apr +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} May +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jun +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} July +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Aug +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Sep +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Oct +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Nov +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Dec +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jan +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Feb +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Mar +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Apr +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} May +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jun +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} July +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Aug +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Sep +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Oct +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Nov +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Dec Keep each of exported table on a monthly basis for years mysqldump -p --user=username dbname tableName > tableName.sql
  • 19. Learn. Connect. Collaborate. 2018 2017 How to use Activity Feed for an audit purpose #alf_activity_feed +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jan +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Feb +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Mar +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Apr +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} May +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jun +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} July +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Aug +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Sep +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Oct +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Nov +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Dec +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jan +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Feb +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Mar +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Apr +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} May +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Jun +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} July +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Aug +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Sep +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Oct +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Nov +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} Dec Import each on per Auditor requests mysql -u username -p -D dbname < tableName.sql
  • 20. Learn. Connect. Collaborate. How to use Activity Feed for an audit purpose +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} #alf_activity_feed 2018 Oct GET /alfresco/service/api/activities/ feed/user/{userId}?format=json
  • 21. Learn. Connect. Collaborate. How to use Activity Feed for an audit purpose +-------------------------------------------------------------------------------------| org.alfresco.documentlibrary.file-deleted | 2018-11-13 09:45:30 | admin | {"firstName":"Administrator","lastName":"","parentNodeRef":"workspace://Sp acesStore/ad556167-cb16-433c-bd1b- f71886e83e85","nodeRef":"workspace://SpacesStore/4505c224-2567-4713- 8674- b4c852aa88e6","page":"documentlibrary?path=/","title":"ChangesSimpleStyle. css"} #alf_activity_feed 2018 Oct GET /alfresco/service/api/activities/ feed/user/{userId}?format=json
  • 22. How to track user activities without using the audit functions. Thank you!