Skip to content

Idea: Many-to-many relationship between Project and Context #5

@tempe-techie

Description

@tempe-techie

Idea

Currently the Project object and the Context object have a one-to-many relationship. Project can have many contexts, while context only belongs to one project.

Context:

{
  "name": "SGB Chat",
  "project_id": "kjzl6cwe1jw145qvssudltw3f1qxhehs4yulyntvgzbs1jeco1yy3vv7kfm5uka",
  "websiteUrl": "https://sgb.chat",
  "accessRules": [],
  "displayName": "SGB Chat",
  "integrations": {
    "discord": {
      "channel_id": "1083760838004973678"
    }
  }
}

Project:

{
  "name": "Sgb.chat",
  "website": "sgb.chat"
}

I propose switching to the many-to-many relationship between the two. This would mean that a context can be used by many projects.

Reasoning behind this idea

Let's say there's a community that has an Orbis chat frontend operated by person A. This person has very strict rules on which content to allow in the chat and regularly removes posts that do not fit these rules. Because part of the community does not agree with so strict censorship rules, a person B sets up an alternative frontend, but using the same context.

If we want person B to be able to run their own frontend with the same context, but having their own censorship rules, the many-to-many relationship between Project and Context is needed. Post removals need to occur on the Project level. Some posts can be removed in one project, but remain visible in another, even though both use the same Context.

Changes required

@baptistegreve I would love to hear your opinion on this and what kind of changes would it require. Could it be developed in a backwards compatible way? Or having both systems running in parallel? Let me know your thoughts 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions