Below is a list of noted features, enhancements and dynamic content displays determined during our discovery and definition process.
Announcements (site and groups)
Site Admins have the ability to create site-wide announcements that appear for all users on every site route. Announcements can be scheduled for publishing and un-publishing. Users viewing the announcement banners will have the option to close them permanently.
Announcements can also be created by Member user roles as long as they are a Group Owner or Group Admin. These particular announcements are contextual to the groups they manage.
Groups
A Writers Group is the only group_type necessary to build the community feature. There will be three levels of group permissions that grant access to specific group management feature. A Group Owner is automatically assigned to users that create the group. A Group Admin will have almost the same level permissions as the owner (cannot delete the group or grant/revoke other member permissions) and is manually assigned by the Group Owner to help manage the Group.
Groups will utilize various taxonomies that provide details of the groups preferences, focus, organization, and location. These same taxonomies will be provided to user profiles in order to create connections for the recommendation engine. Only specific taxonomy data may be exposed to non-owners/admins.
Member Registration and Profiles
Member registration will require the user to add details about themselves regarding preferences, focus, experience, and location. These same taxonomies will be provided to groups in order to create connections for the recommendation engine. For privacy, only specific data entered into a members profile may be exposed to others.
In order to encourage members to fill out their profile and fully take advantage of the recommendation engine the registration process may be simplified into a step-by-step workflow with heavy focus on a simple user interface, robust help text, and clear next steps.
User Dashboard
A landing page dashboard for users will provide an important overview of various activities throughout the application that are contextually important for the user. This data may include, but not limited to, Recent Writing Project Comments, Recent Group Posts, Recent Direct Messages, Most viewed/active Writing Projects, Upcoming Events.
Group/User Communication
All members with have various ways of communication with each other throughout the application. Direct member to member messages will be available when viewing a member profile. Commenting on group Posts and Writing Projects will be available to all members of a group as long as the owner of said content enables commenting.
Search and Group/Member Recommendation Engine
The initial build of the recommendation engine will rely on taxonomy term matching between a group and a member profile in order to determine “best fit” recommendations. The recommendation engine is a tool for both Group Owners/Admins as well as Members. An owner/admin may want to grow their group membership and need the ability to “search” for members that have similar preferences, focus, experience, and/or located nearby if the group meets in person. Members also need to find Groups that are best fit for the details provided in their profile. They will need to be fed results upon completing their profile but also be able to easily find groups in the future.
In addition to the recommendation aspect of this feature there is also a need for Owners/Admins and Members to browse the list of available groups/members. This will allow them to find and connect with others freely.
Collaborative Content Authoring
Users have the ability to create Writing Projects that keep track of revisions and can select a publishing state of Draft, Needs Review, and Complete. The writing project is only visible to other members of the same group. The author has the ability to post as a finalized writing or open it up to collaboration with others that encourage suggestions, comments, and general proof-reading notes.
User Interface Tour
As a community-driven web application we should optimize the user interface to support users of various backgrounds. In addition, a skip-able user interface tour should be implemented that clarifies regions, features, controls, and components. The tour will be controlled by short and simple to understand tooltips that are acknowledged by the user and then closed. At any point, the user can re-activate the UI Tour to walk through it again.
User Sign-on
User accounts should be created with Single Sign-on via OAuth2 server and validated upon a login attempt. The initial login will trigger the step-by-step profile form, recommendation results, and user interface tour. Subsequent logins will direct the user to their dashboard.
User access is solely managed by the external server.
Content Publishing Workflow
Various content will need the ability to have scheduled publishing so it’s exposed to members during times when the author of said content is not available. This includes (but not limited to) Announcements, Events, and Posts.
In addition, some authored content may need to exist in various states. Example: The initial creation of a Writing Project may need to exist in a “Draft” state so the author can bring it to a presentable state for others. The next step would be to move it to “Needs Review” which exposes it to members of a group. This status would help solicit feedback from other members of the group via comments, suggestions, or even collaborative writing. Upon reaching a satisfactory state the author can then move the Writing Project to a “Complete” state.
Dynamic content
Below are a list of features that are generally aggregated lists of content or special displays of content. We anticipate these features will be built within the Drupal Views framework. In general, these views will be grouped by their entity type and contain multiple displays. This keeps configuration organized, predicable, and extendable for future expansions.
Users
Groups
Announcements
Writing Projects
Events
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (