diff --git a/docu/Concepts/TechnicalRequirements/Federation.md b/docu/Concepts/TechnicalRequirements/Federation.md index b559da115..95b37c7a1 100644 --- a/docu/Concepts/TechnicalRequirements/Federation.md +++ b/docu/Concepts/TechnicalRequirements/Federation.md @@ -50,7 +50,24 @@ Before starting in describing the details of the federation handshake, some prer With the federation additional data tables/entities have to be created. -The following diagramm shows the first draft of a possible database-model base on the migration 0063-event_link_fields.ts +The following diagramms shows the first draft of the possible database-model base on the migration 0063-event_link_fields.ts with 3 steps of migration to reach the required entities. All three diagramms are not exhaustive and are still a base for discussions: + +![img](./image/classdiagramm_x-community-readyness_step1.svg) + +In the first step the current communities table will be renamed to communities_federation. A new table communities is created. Because of the dynamic in the communities_federation data during dht-federation the relation between both entities will be on the collumn communities.communities_federation_public_key. This relation will allow to read a community-entry including its relation to the multi federation entries per api-version with the public key as identifier. + + +![img](./image/classdiagramm_x-community-readyness_step2.svg) + +The 2nd step is an introduction of the entity accounts between the users and the transactions table. This will cause a separation of the transactions from the users, to avoid possible conflicts or dependencies between local users of the community and remote users of foreign users, who will be part of x-communitiy-transactions. + + +![img](./image/classdiagramm_x-community-readyness_step3.svg) + +The 3rd step will introduce an additional foreign-users and a users_favorites table. A foreign_user could be stored in the existing users-table, but he will not need all the attributes of a home-user, especially he will never gets an AGE-account in this community. The user_favorites entity is designed to buildup the relations between users and foreign_users or in general between all users. This is simply a first idea for a future discussion. + + + ![img](./image/classdiagramm_communities-communities_federation.png) diff --git a/docu/Concepts/TechnicalRequirements/graphics/classdiagramm_x-community-readyness.drawio b/docu/Concepts/TechnicalRequirements/graphics/classdiagramm_x-community-readyness.drawio new file mode 100644 index 000000000..bb6f896c0 --- /dev/null +++ b/docu/Concepts/TechnicalRequirements/graphics/classdiagramm_x-community-readyness.drawio @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step1.svg b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step1.svg new file mode 100644 index 000000000..28bf0d314 --- /dev/null +++ b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step1.svg @@ -0,0 +1 @@ +
X-Community-Readyness
Step 1
X-Community-Read...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step2.svg b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step2.svg new file mode 100644 index 000000000..41300d046 --- /dev/null +++ b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step2.svg @@ -0,0 +1 @@ +
X-Community-Readyness
Step 2
X-Community-Read...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step3.svg b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step3.svg new file mode 100644 index 000000000..382c9d728 --- /dev/null +++ b/docu/Concepts/TechnicalRequirements/image/classdiagramm_x-community-readyness_step3.svg @@ -0,0 +1 @@ +
X-Community-Readyness
Step 3
X-Community-Read...
Text is not SVG - cannot display
\ No newline at end of file