Skip to content

Commit bf01ec1

Browse files
authored
docs: expand host, community, and content guides (#902)
2 parents 939faaa + fd44e8b commit bf01ec1

File tree

7 files changed

+512
-0
lines changed

7 files changed

+512
-0
lines changed

docs/community_management.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Community Management
2+
3+
This section describes how to manage communities, partners, invitations, memberships, and conversations.
4+
5+
## People
6+
7+
- **Create & Edit**: Add or modify person profiles, including name, email, profile image, and bio.
8+
- **Search & Filter**: Locate individuals by name, email, community membership, or role.
9+
- **Bulk Actions**: Import, export, or deactivate multiple person records via CSV operations.
10+
11+
## Communities
12+
13+
- **Host Community**: Register, customize, and activate new communities with unique branding, privacy, and membership settings.
14+
15+
- **Future Expansions**:
16+
- **Personal Communities**: Allow individuals to create their own private community spaces.
17+
- **Geospatial Communities**: Auto-generate communities based on geographic boundaries (regions, cities).
18+
- **Language Communities**: Segment communities by preferred language/localization.
19+
- **Nested Sub-Communities**: Enable hierarchical community structures (chapters, subgroups) under a parent community.
20+
21+
## Partners
22+
23+
- **Name & Description**: Set partner name, subtitle, and summary description for public listings.
24+
- **Images**: Upload and manage partner logo, cover image, and photo galleries.
25+
- **Contact Details**: Store multiple addresses, phone numbers, email addresses, and social links via the contact detail editor.
26+
- **Mapping & Locations**: Geolocate partners on maps, define service areas, and display interactive location markers.
27+
28+
## Invitations
29+
30+
- **Platform Invitations**: Send email invites to new users, assign default roles, and monitor acceptance rates.
31+
- **Guest Access**: Create time-limited guest tokens for one-click entry without account creation.
32+
- **Invitation Lifecycle**: Track invitation statuses (pending, accepted, expired), resend or revoke invites, and view audit logs.
33+
34+
## Memberships
35+
36+
- **Role Assignment**: Grant or revoke platform/community roles for individuals, controlling their access and capabilities.
37+
- **Join & Leave**: Manage community membership directly or require approval; bulk-add or remove members as needed.
38+
39+
## Conversations & Messaging
40+
41+
- **Conversations**: Create new conversation threads (group or one-on-one), name channels, and add participants.
42+
- **Messages**: Compose and edit rich-text messages (attachments supported) that update in real time via WebSockets.
43+
- **Notifications**: Configure in-app toast and persistent alerts, as well as email digests for unread messages and mentions.

docs/content_management.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Content Management
2+
3+
This guide covers categories, navigation, page and block editing, resources, events, and maps.
4+
5+
## Categories
6+
7+
- **Topics**, **Journey Stages**, **Events**: Define and organize content categories, sequence journey stages, and tag events for user discovery.
8+
- **Media Defaults**: Configure default card and cover images for event listings and topic thumbnails.
9+
10+
## Navigation
11+
12+
### Areas
13+
- **Named Areas**: Create header, footer, admin, or custom sidebars with support for multiple nesting levels.
14+
- **Visibility & Privacy**: Control which user roles and communities can view each navigation area and schedule publication dates.
15+
- **Performance**: Enable fragment or page caching to speed up menu rendering and reduce backend requests.
16+
17+
### Items
18+
- **Link Items**: Add external URLs, link to internal CMS pages, or reference app resources via dropdown selectors.
19+
- **Dropdowns**: Build hierarchical dropdown menus to organize related links under parent items.
20+
- **Item Settings**: Set publication schedules, role-based visibility, and caching preferences on individual navigation items.
21+
22+
## Content Blocks
23+
24+
- **Block Types**:
25+
- Rich Text: WYSIWYG editor blocks for formatted text content.
26+
- Image & Hero: Full-width and inline image banners with captions and alt text.
27+
- HTML & CSS: Custom markup and style overrides for advanced layouts.
28+
- Template: Predefined layouts with nested block placeholders.
29+
- **Future**: Multi-column layouts, embedded content (iFrame), video/audio players, maps, forms, and dynamic lists (people, communities, pages, events).
30+
- **Special Blocks**: Platform-wide CSS overrides, funder acknowledgments, and legal disclaimers.
31+
- **Editor Interface**: Assign unique identifiers, apply style presets, and configure block-specific fields (e.g. image upload, rich-text area).
32+
33+
## Pages
34+
35+
- **Page Management**: Browse, create, duplicate, or delete CMS pages with metadata (title, slug, template).
36+
- **Block Editor**: Drag-and-drop content blocks, reorder sections, and configure hero banners inline.
37+
- **Publishing Controls**: Schedule publication dates, toggle draft mode, and restrict page visibility by role or community.
38+
- **Navigation Assignment**: Attach header or sidebar navigation areas per page for context-sensitive menus.
39+
40+
## Resources
41+
42+
- **Resource Library**: Upload, tag, and categorize downloadable files; version control via uploads history.
43+
- **Access Control**: Set download permissions by role and community membership.
44+
45+
## Events
46+
47+
- **Event Setup**: Define event title, rich-text description, schedule (start/end times), and registration URL.
48+
- **Location & Mapping**: Attach physical or virtual locations, geocode addresses, and embed map widgets.
49+
- **Media & Gallery**: Upload event images or cover photos and set default display sizes.
50+
- **Visibility Settings**: Publish events immediately or schedule publishing; restrict view by community or role.
51+
52+
## Maps
53+
54+
- **Map Integration**: Embed interactive maps showing community boundaries, partner locations, or custom geospatial layers.
55+
- **Customization**: Choose map styles, clusters, and pop-up templates for location markers.
56+
57+
---
58+
59+
For more detailed API reference and code examples, see the [Models & Concerns Overview](models_and_concerns.md) and the [Mermaid diagram](models_and_concerns_diagram.mmd).

docs/guide.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Better Together Community Engine Documentation Guide
2+
3+
This set of guides walks you through the core features of the Better Together Community Engine, organized under three main areas:
4+
5+
- [Host Management](host_management.md)
6+
- [Community Management](community_management.md)
7+
- [Content Management](content_management.md)
8+
9+
Use the links above to navigate to detailed instructions and reference materials for each feature.

docs/host_management.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Host Management
2+
3+
This section covers all administrative features available to platform hosts.
4+
5+
## Host Navigation
6+
7+
The host navigation bar provides quick access to key administrative areas:
8+
9+
- **Dashboard**: View high-level metrics, recent activity logs, and shortcuts to common tasks.
10+
- **Communities**: Create and manage community instances, configure privacy and membership settings.
11+
- **Navigation Areas**: Define and publish header, footer, and sidebar menus with nesting and visibility controls.
12+
- **Pages**: Build and maintain CMS pages using the block editor, schedule publishing, and assign navigation.
13+
- **People**: Search and edit person records, manage profiles, community memberships, and special access flags.
14+
- **Platforms**: Configure platform-wide metadata (name, description, logo) and global privacy/invitation rules.
15+
- **Roles**: Establish user roles at platform and community levels, specifying purpose and default privileges.
16+
- **Resource Permissions**: Assign fine-grained CRUD permissions on resources to defined roles for access control.
17+
- **Resources**: Upload, categorize, and version downloadable assets (PDFs, images, reports) for reuse.
18+
- **Content Blocks**: Review and configure reusable block types (rich text, images, templates, etc.) for the page editor.
19+
- **Metrics Reports**: Generate CSV exports and view charts for page views, link clicks, downloads, and shares.
20+
21+
## Dashboard Overview
22+
23+
### Newcomer Navigator NL
24+
25+
- **Partners**: Onboard partners by creating profiles with names, descriptions, logos, and geo-coordinates.
26+
- **Resources**: Curate newcomer assets (guides, checklists, videos) and control download permissions.
27+
- **Journey Stages**: Outline sequential phases of the newcomer experience, assign stage labels and ordering.
28+
- **Topics**: Tag resources and pages with topic labels for easier filtering and discovery.
29+
- **Journey Maps**: Build visual flowcharts mapping stages, topics, and resource links to guide newcomers.
30+
31+
### Better Together Core
32+
33+
- **Communities**: Spin up new community sites, configure membership rules, customize branding and privacy.
34+
- **Navigation Areas**: Manage site-wide menu structures, assign them to layouts or specific pages.
35+
- **Pages**: Author content pages with drag-and-drop block editing, manage drafts and publish schedules.
36+
- **Platforms**: Update platform metadata (name, logo, description), set language/localization defaults.
37+
- **People**: Administer person records, view activity logs, reset access, and manage guest access tokens.
38+
- **Roles & Permissions**: Define role-based access rules, map permissions to resources, and cache policy for performance.
39+
- **Users, Conversations & Messages**: Monitor registered users, initiate or audit conversation threads, and review message history.
40+
- **Categories**: Create and manage taxonomy for content and events to improve discoverability.
41+
42+
## Platform Details
43+
44+
Under **Platforms**, edit these platform settings:
45+
46+
- **Name & Description**: Set the display name, subtitle, and descriptive text for the platform header and meta tags.
47+
- **Privacy Settings**: Choose whether the platform is public, private (invite-only), or hidden from unregistered users.
48+
- **Invitation Requirements**: Toggle whether users need an invitation code to register or if self-registration is open.
49+
50+
## Roles & Permissions
51+
52+
Roles and permissions are managed independently at the platform and community levels to provide scoped access control.
53+
54+
### Platform Roles & Permissions
55+
- Define global roles that apply across the entire platform, then grant or revoke specific resource permissions per role to control CRUD access.
56+
57+
### Community Roles & Permissions
58+
- Create roles scoped to individual communities and assign permissions to control access to community-specific features and content.
59+
60+
> **Note:** Permission checks are cached per role to optimize database performance and reduce authorization overhead.
61+
62+
## User Accounts
63+
64+
- **List**: View all registered users, filter by status, role, or last sign-in date.
65+
- **Registration & Sign In**: Configure email workflows for user onboarding, password resets, and account confirmations.
66+
- **Profiles**: Enable users to update personal information (avatar, contact info, preferences) and manage privacy settings.
67+
68+
## Metrics & Reporting
69+
70+
- The engine collects and visualizes these core metrics:
71+
72+
- **PageView**: Measures views on pages, people, communities, and partners. Available charts include views by page (bar) and daily totals (line).
73+
- **LinkClick**: Logs each tracked link interaction with charts for clicks by URL and daily trends.
74+
- **Download**: Records downloads of resources and exported reports with charts of downloads by file name.
75+
- **Share**: Tracks share button clicks per social platform, offering charts for shares by platform and per-URL breakdowns.
76+
77+
All metrics support date-range filtering and locale-specific breakdowns, with CSV export for offline analysis.
78+
79+
**Future reports** will include user engagement dashboards, invitation conversion analytics, partner link-click reports, and additional metric types such as search queries and journey map interactions.
80+
81+
## Search & Notifications & Caching
82+
83+
- **Search**: Full-text search powered by Elasticsearch, indexing pages, posts, people, and events with faceted filtering support.
84+
- **Notifications**:
85+
- **Email**: Configurable notification templates for actions such as invitations, mentions, and password resets.
86+
- **In-app**: Real-time alerts delivered via ActionCable with both ephemeral toast messages and persistent notification feeds.
87+
- **Caching**: Implements fragment and page caching for navigation and content blocks, with Redis-backed cache stores and optional CDN integration to speed up delivery.

0 commit comments

Comments
 (0)