-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Idea: Many-to-many relationship between Project and Context #5
Comments
Hey! Thank you for sharing your thoughts here :) This is an important discussion and after your initial comment the other day I gave it some thoughts but I don't have a precise solution in mind yet. My first intuition is that this should be done with a sort of What are your thoughts on this? Edit: While it's not a #1 priority it would definitely be implemented in a backward compatibility way once finalized. |
@baptistegreve If I understand correctly, forking would mean that from the forking point on, the community chat is split into two different contexts that do not share future posts anymore. So whatever group B posts in their own frontend would not be visible on the A frontend. Did I understand correctly? I would rather see that both groups share the same context, and posts from both frontends are posted to that same context. The only difference would be the moderation part. Each group would have their own moderation. May I ask how is moderation currently implemented? If I remove some post from my project, does this get written into Ceramic? I couldn't find that info on Cercscan 🙂 |
What I have in mind would be a version of forking in which those twin-contexts would share future posts but have a different set of moderators so some posts might be visible in Context A but not in Context B but most of the posts would be available in both contexts.
Moderation as well as all of the logical tasks (gating mechanism for examples) are implemented at the Orbis infrastructure layer which is the layer being queried by front-ends (which we intend to decentralize at some point to let anyone run their own architecture). |
Oh, okay, in that case that would fine. 🙂
I wonder if moderation could be done (in a scalable way) on Ceramic... Perhaps metadata added to a post that would signify that post has been censored in a certain project. Or a Moderation model for censored posts (although I'm not sure how scalable would that be). Anyway, just some thinking out loud here. Hope it helps you find the best solution 😎 |
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 🙂
The text was updated successfully, but these errors were encountered: