Skip to content

Conversation

@St4NNi
Copy link
Member

@St4NNi St4NNi commented Jul 5, 2023

Draft for V2.0.0

This is not finished full PR, instead it is a Draft for all API Changes that are proposed for 2.0.0 and can be discussed below.

Changes

Refactor all internals

  • Remove all internal services, these should not exist anymore -> Prep for multi-site
  • Embed notifications in server ?! This should not need to be a micro-service and will be a lot easier with direct db access.

Remove Objectgroups, add Relations, "empty" objects as "Datasets" to combine all data that belongs together

  • Remove Objectgroups, add "Relations" between objects OR external sources, this will also doubles down as "origin" and "source"
  • Completely remove bundler service, this will be accomplished by Objects that do not contain data itself, instead they mark "datasets" that combine multiple objects that belong together via Relations.
  • Datasets cannot be part of another dataset -> No nesting
  • Dataset ObjectIDs == BundleIDs -> No need for "special" bundle magic.
  • Benefit: Added access control
  • Question: Public "dataproxy" service to query pubkeys etc. ?
  • Question: How should permissions for adding/removing relations be handled ?

Path updates

  • Allow only one path per collection & object_id, this path should be changeable and is bound to ObjectReference
  • Add a permanent Path by ULID that should be returned for objects. -> Decouple "Path" with "Object can be persistently reached via XYZ"

Misc

  • LabelOntologies are now objects -> Rego files
  • Finally rename "Modify" to "Write"

Open questions:

  • How shall we handle permissions that modify all objects in a collection without the collection itself ?
  • Which dataproxy specific requests are also needed ?
  • Should the dataproxy public API be designed here or in a separate repo ?
  • Dataproxy specific events ?
  • How to query, add update Relations ?

Ideas:

Sessions

  • Remove session tokens (for web)
  • Allow oidc tokens to be used for this -> Move session management to oidc provider
  • Only manage aruna sessions

@St4NNi St4NNi changed the base branch from dev to main July 5, 2023 22:30
@St4NNi St4NNi force-pushed the feat/preparation-v2 branch from b5ba225 to eab0b6c Compare July 13, 2023 09:43
@St4NNi St4NNi merged commit f10d4c7 into main Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants