diff --git a/admin/chorus.md b/admin/chorus.md new file mode 100644 index 0000000..dd25c40 --- /dev/null +++ b/admin/chorus.md @@ -0,0 +1,31 @@ +# Chorus Mode + +_This is an experimental feature._ + +Chorus Mode reconfigures the WriteFreely user interface to be optimized for the _group_, instead of the _individual_. It's perfect for writing groups and company instances, where the purpose is to share knowledge collectively, instead of on separate, distinct blogs. + +### Status + +This functionality is in a half-baked state, where it solves a certain need, but still needs to be fully fleshed-out. There are plenty of directions it could go in still, but we need more input and experimentation to figure out which one makes the most sense. Please [share any feedback](https://discuss.write.as/t/chorus-mode/2944) you have, if you use this feature! + +## Effects + +Chorus Mode changes the navigation of the instance to stay grounded in the entire instance, rather than individual blogs. For example, blogs and blog posts maintain the site-wide navigation at the top of the page, instead of featuring a single blog's personal branding there. + +It overrides the `landing` config setting and makes the **Reader** the default view for all users, so they'll always land there when first arriving on the instance, whether logged in or not. + +Hashtags also filter posts collectively, showing posts from _across the instance_ all using the same hashtag when clicked, instead of only showing posts from a single blog. + +## Uses + +### Organizations + +Chorus Mode is perfect for creating an internal knowledge-sharing space within your organization. For example, the Write.as team uses Chorus Mode on their internal WriteFreely instance, where team members share proposals, strategy, and general updates with the rest of the team. + +Start with these `[app]` configuration options for your organization's WriteFreely instance: + +| Field | Value | +| ----- | ----- | +| `single_user` | `false` | +| `chorus` | `true` | +| `private` | `true` | diff --git a/admin/config.md b/admin/config.md index ac74958..3a319f9 100644 --- a/admin/config.md +++ b/admin/config.md @@ -17,6 +17,7 @@ The following fields are valid in the `[server]` section of your configuration f | `tls_cert_path` | TLS certificate path. If supplied with `tls_key_path`, requests will be served on port 443. If `autocert` is `true`, certificates and keys will be stored in the given directory. | _None_ | | `tls_key_path` | TLS private key path. If supplied with `tls_cert_path`, requests will be served on port 443. | _None_ | | `autocert` | Enable automatic certificate generation with Let's Encrypt. Requires `tls_cert_path` and `tls_key_path` to not be empty, and running in standalone server mode, i.e. `port` set to `443`. | `false` | +| `gopher_port` | Port to run Gopher server on. If this is `0`, Gopher access will be disabled. | 0 | | `templates_parent_dir` | The parent directory containing the `templates` directory | _(current directory)_ | | `static_parent_dir` | The parent directory containing the `static` directory | _(current directory)_ | | `pages_parent_dir` | The parent directory containing the `pages` directory | _(current directory)_ | @@ -39,6 +40,7 @@ These fields only apply to instances using **MySQL**. | `database` | Database name | _None_ | | `host` | Database hostname to connect to | localhost | | `port` | Database host port to connect to | 3306 | +| `tls` | Whether or not to use TLS to connect to database | false | These fields only apply to instances using **SQLite**. @@ -55,11 +57,15 @@ The following fields are valid in the `[app]` section of your configuration file | `site_name` | Name of the website, publicly shown in several places | Our Community | | `site_description` | Site description, shown in NodeInfo | A place to write freely. | | `host` | Full hostname (including scheme) users will see | https://pencil.writefree.ly | +| `editor` | The editor template file all users will use. Default: `pad`, other options: `bare`, `classic`. | classic | | `single_user` | Whether or not the instance is for one blog | false | | `min_username_len` | Minimum required length of usernames | 3 | | `federation` | Whether or not federation via ActivityPub is enabled | true | +| `notes_only` | By default, WriteFreely federates posts as [`Article`](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-article)s and [`Note`](https://www.w3.org/TR/activitystreams-vocabulary/#dfn-note)s. This only sends them as `Note`s. | false | | `public_stats` | Whether or not usage stats are made public via NodeInfo | true | +| `monetization` | Enables monetization options for users (currently, only [Web Monetization](http://webmonetization.org/)) | true | | `disable_password_auth` | Whether or not new users can sign up via the landing page. Useful if you want to limit new users to your OAuth provider. | false | +| `wf_modesty` | When enabled, this removes much of the WriteFreely branding and explanatory text | false | These fields can always be set, but only apply to **multi-user** instances. @@ -68,11 +74,19 @@ These fields can always be set, but only apply to **multi-user** instances. | `private` | When enabled, all blogs and posts will only be readable by other authenticated users on the instance. | false | | `landing` | The default landing route for an unauthenticated user | /login | | `open_registration` | Whether or not anyone can register via the landing page | true | +| `open_deletion` | Whether or not users can delete their account on their own (via web UI) | true | | `max_blogs` | Maximum number of blogs a single user can create under one account | 5 | | `local_timeline` | Whether or not the instance reader (and the _Public_ option on blogs) is enabled | true | | `user_invites` | Who is allowed to send user invites, if anyone. A blank value disables invites for all users. Valid choices: _empty_, `user`, or `admin` | user | | `default_visibility` | The default visibility setting for newly-created blogs. Valid choices: `unlisted` (default), `public`, or `private` | public | +These fields are experimental and subject to change with little notice. _Using these? Let us know so we can make them a permanent part of WriteFreely!_ + +| Field | Description | Example value | +| ----- | ----------- | ------- | +| `forest` | When enabled, certain unimportant details ("trees") are hidden from admin view, such as the Application Monitor. Meant for managed hosting environments. | false | +| `chorus` | Indicates this instance is optimized for everyone's collective voice, rather than individuals. Meant for writing groups, company instances, etc. See Chorus docs for more info. | false | + ## OAuth There are several possible OAuth configuration blocks for different implementations.