SURFscz / SBS

Samenwerking Beheer Systeem ↣ Collaboration Management System
Apache License 2.0
3 stars 2 forks source link

updated entity diagram #61

Open tsmeele opened 3 years ago

tsmeele commented 3 years ago

I would like to contribute an updated entity diagram, specified in the open source tool plantuml.

Below is the specification: @startuml ' 1-Aug-2021 TSM ' to obtain a diagram in png format, process this textfile ijn plantuml ' run your own plantuml server or use: http://www.plantuml.com/plantuml

entity users { id uid name username nick_name edu_members address affiliation scoped_affiliation entitlement schac_home_organisation family_name given_name email second_factor_auth created_by created_at updated_by confirmed_super_user eduperson_principal_name application_uid last_accessed_date last_login_date suspended mfa_reset_token }

entity services { id entity_id name description logo uuid4 address identity_type uri accepted_user_policy contact_email public_visible automatic_connection_allowed access_allowed_for_all white_listed research_scholarship_compliant code_of_conduct_compliant sirtfi_compliant created_by updated_by created_at }

entity organisations { id name identifier short_name category description logo uuid4 on_boarding_msg services_restricted created_by created_at updated_by collaboration_creation_allowed }

entity collaborations { id identifier name description logo uuid4 short_name global_urn accepted_user_policy status last_activity_date expiry_date created_by updated_by created_at disable_join_requests disclose_member_information disclose_email_information website_url } collaborations --> organisations

entity services_organisations { id } services_organisations --> organisations services_organisations --> services

entity groups { id name identifier short_name global_urn description auto_provision_members created_by updated_by created_at } groups --> collaborations

entity invitations { id hash message invitee_email accepted denied intended_role expiry_date membership_expiry_date created_by created_at } invitations --> collaborations invitations --> users

entity groups_invitations { } groups_invitations --> groups groups_invitations --> invitations

entity collaboration_memberships { id role status expiry_date created_by updated_by created_at } collaboration_memberships --> users collaboration_memberships --> invitations collaboration_memberships --> collaborations

entity collaboration_memberships_groups collaboration_memberships_groups --> groups collaboration_memberships_groups --> collaboration_memberships

entity organisations_services { } organisations_services --> organisations organisations_services --> services

entity services_collaborations { id } services_collaborations --> collaborations services_collaborations --> services

entity organisation_memberships { id role created_by updated_by created_at } organisation_memberships --> users organisation_memberships --> organisations

entity join_requests { id message reference rejection_reason status hash created_at } join_requests --> users join_requests --> collaborations

entity organisation_invitations { id hash message invitee_email accepted denied intended_role expiry_date created_by created_at } organisation_invitations --> organisations organisation_invitations --> user

entity api_keys { id hashed_secret description created_by created_at updated_by } api_keys --> organisations

entity aups { id au_version agreed_at } aups --> users

entity suspend_notifications { id sent_at is_primary } suspend_notifications --> users

entity collaboration_requests { id name short_name description message rejection_reason accepted_user_policy status logo uuid4 website_url created_by updated_by created_at } collaboration_requests --> organisations collaboration_requests --> users

entity service_connection_requests { id message hash is_member_request created_by updated_by created_at } service_connection_requests --> users service_connection_requests --> services service_connection_requests --> collaborations

entity ip_networks { id network_value created_by created_at updated_by } ip_networks --> services

entity schac_home_organisations { id name created_by created_at updated_by } schac_home_organisations --> organisations

entity ssh_keys { id ssh_value created_at } ssh_keys --> users

entity user_names_history { id username created_at }

entity user_mails { id name recipient created_at } user_mails --> users

' below directives are used to influence placement on diagram page ' they may need some tweaking when (relations between) entities are changed

organisations -[hidden]> collaborations collaborations -[hidden]> groups groups -[hidden]> collaboration_memberships collaboration_memberships -[hidden]> users 'users -[hidden]> services organisations -[hidden]> organisation_invitations users -[hidden]> user_names_history

@enduml

tsmeele commented 3 years ago

SRAM-entities

tsmeele commented 3 years ago

above is the png version of the diagram, generated from the text specification provided.

baszoetekouw commented 3 years ago

Dank je @tsmeele ! Is deze automatisch gegenereerd uit de database models?

tsmeele commented 3 years ago

Het diagram wordt vol-automatisch gegenereerd uit het model. Extractie van het model uit de Python code heb ik nu nog handmatig gedaan, zou je natuurlijk nog een script voor kunnen maken, maar de vraag is of dat de moeite loont.

baszoetekouw commented 3 years ago

Het risico is anders dat het uit sync gata laopen denk ik. Ik zal eens kijken of ik het er automatisch uit kan pulken.

Welke tool gebruik jij voor de vertaling naar plantuml?

tsmeele commented 3 years ago

Je kunt plantuml installeren als Linux open source en met commandline aansturen met het gegeven tekstbestand.

On 6 Aug 2021, at 12:26, Bas Zoetekouw @.***> wrote:



Het risico is anders dat het uit sync gata laopen denk ik. Ik zal eens kijken of ik het er automatisch uit kan pulken.

Welke tool gebruik jij voor de vertaling naar plantuml?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/SURFscz/SBS/issues/61#issuecomment-894165228, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACW3545AYP6HZJ674DTAPKLT3O2FHANCNFSM5BMI5COQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.