Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
@ lead

Target release

Type // to add a target release dateTBD

Epic

Type /Jira to add Jira epics and issues

Jira Legacy
serverSystem Jira
serverId8382ec9d-abb6-3a29-8d72-95b9a5732a63
keyLINKCLOUD-630

Document status

Status
titleDRAFT

Document owner

@ mention owner

Designer

@ designer

Tech lead

Lava Kumar Dukanam

Engineering Manager

Lava Kumar Dukanam

Architect

Volodymyr Pryimak

Engineering Team

Volodymyr Pryimak Mohit Varma Durgaprasad Jamanjyothi

Technical writers

@ writersKarina Zoin

QA

🎯 Objective

There are plenty of bugs from customers that existing logic is not working well.

...

Requirement

User Story

Importance

Jira Issue

Notes

We would like to use FUSE for SQS registration.

Need to implement a new feature on the FUSE side for supporting SQS registration without EventBridge

Status
colourRed
titleHIGH

Jira Legacy
serverSystem Jira
serverId8382ec9d-abb6-3a29-8d72-95b9a5732a63
keyLINKCLOUD-629

As a temporal workaround we can create it manually.

 Implement Lambda webhooks handler.

 Most of the events will be handled using lambdas but some of them(app installed & uninstalled) should be redirected to the SQS.

 

Status
colourRed
titleHIGH

  

 Update page relations based on the following events(confluence webhooks) on the backend side:

  • page_created

  • page_updated

  • page_restored

  • page_removed

  • page_moved

  • page_copied

  • page_archived

  • page_unarchived

Implement ECS service.

Need to scan all Confluence pages and update link references.

Status
colourRed
titleHIGH

Background job must scan all confluence pages since the last re-index date if exists and update page relations.

\uD83C\uDFA8 New design high level architecture:

...

Lambda webhooks handler

This is an entry point for the whole scheme and there two key ideas.

[1] When we receive page content related updates

Page content related webhooks that we plan to support:

Status
colourPurple
titlepage_created
,
Status
colourPurple
titlepage_updated
,
Status
colourPurple
titlepage_restored
,
Status
colourPurple
titlepage_removed
,
Status
colourPurple
titlepage_moved
,
Status
colourPurple
titlepage_copied
,
Status
colourPurple
titlepage_archived
,
Status
colourPurple
titlepage_unarchived

we need to check a content of a page and identify external links and if there any we need to update storage through a REST API.

[2] Long running events

When we receive:

Status
colourPurple
titleconnect_addon_enabled
&
Status
colourPurple
titleconnect_addon_disabled
events, we need to send them to SQS.

Event example:

Code Block
languagejson
connect_addon_enabled {
key: 'net.customware.confluence.plugin.linking',
clientKey: 'f...8',
publicKey: 'MIIBI...AB',
serverVersion: '6452',
pluginsVersion: '1000.0.0.df206a1a35d4',
baseUrl: 'https://appfire-supercat.atlassian.net/wiki',
productType: 'confluence',
description: 'Atlassian Confluence at https://appfire-supercat.atlassian.net/wiki',
eventType: 'enabled',
displayUrl: 'https://appfire-supercat.atlassian.net/wiki'
}

ECS service

The idea is to

(question) Open Questions

Question

Answer

Date Answered

Do we need to keep links for archived pages?

[most likely no, but…]

(warning) Out of Scope