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 🙂
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:
Project:
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 🙂