|Arnold Schrijver 95327a7ed4||3 months ago|
|README.md||3 months ago|
Note: Roadmap features are indicative only. They merely represent ideas for future enhancement.
The table below shows the features that are available to each stakeholder. In the Outreach platform the stakeholders are represented as Roles and as such more privileged roles inherit features from more generic ones in the following ways:
Note that the actual set of features that are available to a stakehholder depends on privileges and ownership, both of which are fixed in the MVP release. E.g. an organizer cannot disband a community they do not own.
Community management is an Outreach core domain.
Communities revolve around themes. An organizer can have multiple communities, which may have multiple, maybe overlapping themes. Hence theme management is separate from community management. Furthermore there may be restrictions to the themes that can be defined on a server, so the tenant stakeholder also has a say in theme definitions.
Encompasses all activities related to community-building by the community organizer.
Feature: Launch an outreach community # Community launch is a 3-step process: handle, themes, details As an organizer seeking help for my public relation efforts, I want to launch an outreach community for campaigners, So that members can participate in my outreach campaigns. # Step 1: Unique handle # Community is referenced as @handle@hostname on the fediverse. # Once the community is launched the handle cannot be changed. Background: Given I have already defined the themes I am interested in. Scenario: Specify the community handle. When typing a unique community handle, Then I can commence to select community themes, But not if the handle already exists on the server. # Step 2: Themes # Number of themes is limited by default, to avoid spamming # fediverse feeds, and 'general-purpose' communities. Scenario: Select community themes Given the list of themes I have defined, And community theme selection is below maximum, When selecting a theme from the list, Then I can commence to launch the community. # Step 3: Details and launch # The person that launches the community becomes the owner. Scenario: Launch the community. Given I provide required community details * Community avatar * Display name * Summary text When I launch the community Then it becomes active and is publicly accessible, And I am owner and community organizer, And fedizens can now join as campaigners.
Feature: Reconfigure the community themes In order to have full control of my community presence, As a community organizer responsible for positioning, I can select different themes and change theme explainers. # Because themes are what attracted campaigners, # they must be notified about any changes. Background: Given the community is active. # Changing theme configuration should be handled with care. # When removing a theme existing followers no longer receive # updates. Existing campaigns still have the original theme. Scenario: Reconfigure community themes Given I make changes to theme configuration * Theme selection, [1..MaxThemes] * Theme explainer texts, [optional] When I save the theme changes, Then they are publicly visible directly, And campaigners are notified in detail, But existing campaigns are unaffected.
Feature: Configure how the community is presented In order to clarify how my community aligns with its themes, As a community organizer responsible for positioning, I can change community details and branding aspects. # Because the profile are what may have attracted campaigners, # they must be notified about any changes. Background: Given the community is active. Scenario: Update community profile Given I make changes to any of the community details * Community avatar, [required] * Display name, [required] * Summary text, [required] * Presentation banner, [optional] * Presentation text, [optional] * Member label, [optional] When I save the profile changes, Then they are publicly visible directly, And campaigners are notified by a summary.
Feature: Select community member role As an organizer who owns and facilitates a community, I want to be able to change member roles, So that I can select other organizers to facilitate with me. Background: Given the community is active, And the organizer is the community owner. # In the MVP community ownership cannot be changed. The # creator is the owner. Scenario: Change membership role settings Given the list of community members, And changing members' role settings, When I save the role changes, Then campaigners can be promoted to organizers, And organizers can be demoted to campaigners.
Feature: Disband a community In order to gracefully shutdown a community, As the organizer that is its owner, I can disband the community and notify community members. # This action is in the 'danger zone' given how intrusive it may be, # therefore a confirmation dialog asks to type the community handle. Background: Given the community is active, And the organizer is the community owner. # If there are no members there's no need to provide a reason, # deletion occurs immediately. Scenario: Disband a community without members Given the community has no members, And I request to disband the community, When I type the community handle and confirm the action, Then the community and all its content is deleted immediately. # If there are members, then a reason must be provided and members # are notified. After deletion a tombstone of the community remains, # that is shown to anyone navigating to old community hyperlinks. Scenario: Disband a community with members Given the community has members, And I request to disband the community, And I provide the reason for disbandment, When I type the community handle and confirm the action, Then the community members are notified with the reason, And followers of community themes are notified with the reason, And a tomstone is created to show to people requesting community content, And the community content is deleted, until only the tombstone remains.
Campaign management is an Outreach core domain.
Scope: Not part of the Minimum Viable Product.
Precondition: Requires federation with Fediverse microblogging infrastructure.
Service management is an Outreach supporting domain.