Allow external users to view recently opened/viewed links
Description
Add the ability for external users to view shared links history from external share account.
Current build
If an external share is accessed using a link and not shared with specific external user, external user may only view this page again if the user subscribes to the share; otherwise user must find the link in order to access the share.
Future build
There is an option for external user to view history of viewed links, for example as,
-
History
-
Recently viewed
Database design
Table: external_user_activity
We could use it to save information about all action types:
Added attachments, added comments, subscribe/unsubscribe actions
column name |
column type |
opts |
---|---|---|
id |
bigserial |
autincrement |
external_user_id |
int |
required |
activity_type |
External_User_Activity_Type |
required |
share_id |
bigint |
required |
create_date |
timestamp_with_timezone |
required |
title |
string |
Confluence page name |
page_id |
int |
required |
External_User_Activity_Type:
Page View, Attachement Add, Comment Add, Comment Remove, Comment Update. Subscribe, Unsubscribe.
@Igor Hercer
* changelog.xml → change set → add table
* JOOQ - generate
* collect page view data → nerby increaseOpen
Create Dao → insert, list
Create service → dao
* add dashboard tab
* render recent activity (based on subscription / shared-with-me)
Create Controller → service-list activity
* Pagination
// Example enum type
<sql>
CREATE TYPE document_email_status AS ENUM ('SEND', 'DELIVERED', 'ERROR');
--rollback DROP TYPE document_email_status;
</sql>
service.increaseOpen(share);
externalUserService.collectActivity(ExternalUserActivityType.PAGE_VIEW,
shareId,
content.id(),
spc.user().id()
)
AFTER: Make activity not clickable if share was deleted.