Open salmad3 opened 5 days ago
[20-11-24]:
Criteria continues to evolve.
Ownership and Roles:
Owner
can be seen as a special Admin
member with additional privileges, such as removing other admins. However, if owners remove themselves, the board can become autonomous, relying on admins to manage it.Permissions
interface should be adaptable to support both individual and DAO-based ownership models. This includes ensuring that permission checks can handle scenarios where a DAO might assume roles traditionally held by individual users.Governance:
Owner
, it would for an Admin
. The system should allow flexibility in whether actions require proposals based on user roles.AdminDAO
in approving upgrades or changes should be clarified, as current discussions suggest that governance might shift from admins to a more chain-centric model.Versioning:
Moderation
AdminDAO
that can oversee boards was discussed. This entity could freeze boards or inject Moderators
in cases of inappropriate content or governance issues.
Context:
"boards" serves as a demo and reference implementation for social media-like boards with posts and interactions. The goal is to fully realize the previous r/demo/boards initiative and use it as the foundation for a social interaction dApp on gno.land. For mainnet, "boards" will provide immediate functionality and connect users from day one to drive user enablement and acquisition. "boards" is also an opportunity to test Gno and gno.land as both a dogfooding exercise and a stress test to strengthen the chain's elements.
This META issue maps out the development plan for boards2, including creation, management, moderation, governance, and forking.
To-Do
System Relationships:
Control Flow:
Dependency Hierarchy:
Acceptance Criteria:
Creation & Management:
Includes:
CreateBoard()
function that uses the permissions system and AdminDAO interaction to control board creation.FreezeBoard()
function that allows the boards AdminDAO to freeze all activity on a board, except for Admin actions.SetNotificationMessage()
function that allows the boards realm AdminDAO to set a notification message for all board renderings, useful for communicating upgrades or important information.Permissions:
Includes:
Permissions
interface with methods likeWithPermission(user, action, args)
andHasPermission(user, action, args)
.UserDirectory
interface to look up user information.Moderation:
Includes:
Forking:
Includes:
ForkBoard()
function to create new boards based on existing ones.Considerations:
Current State of Related Components: