Framewiki

This is a meta page describing Framewiki policies, procedures, or best practices. It is not part of Framewiki's main content, meaning it is not held to the same standards and guidelines.

Contents:
  1. Framewiki: Protection
    1. User Access Levels
      1. @framewiki/admins
      2. @framewiki/maintainers
      3. @framewiki/editors
      4. Contributors
    2. Implementation
      1. How to Protect an Article

Framewiki: Protection

Articles on Framewiki may be protected by an administrator to prevent vandalism. Pull requests that modify protected pages will not be merged automatically until someone with the appropriate access level approves the changes. Protected pages will display one of the following notices at the top of the page:

This page is protected to prevent vandalism. Changes must be approved by a maintainer or administrator before they can be deployed.

This page is semi-protected to prevent vandalism. Changes must be approved by an editor, maintainer or administrator before they can be deployed.

The admins are currently working on making it so that users with the appropriate access levels don’t need review. At this time, it is a GitHub branch protection restriction that we are working around.

User Access Levels

Framewiki user access levels are configured via GitHub teams and codeowners.

@framewiki/admins

Admins have unlimited access to Framewiki. They can:

  • Moderate comments/discussions
  • Make and approve structural and technical changes to Framewiki
  • Push changes directly (without creating a pull request)
  • Protect pages
  • Approve changes to fully- or semi-protected pages

@framewiki/maintainers

Maintainers are the highest level of non-admin editors. They can:

  • Moderate comments/discussions
  • Approve changes to fully- or semi-protected pages

@framewiki/editors

Editors are known, trusted Framewiki editors. They can:

  • Approve changes to semi-protected pages

Contributors

Anyone who has submitted changes to Framewiki is considered a contributor. Their changes are automatically published by the system, unless they modify semi- or fully-protected pages or structural/technical files.

Implementation

Protection is managed via GitHub’s CODEOWNERS feature and branch protection rulesets.

How to Protect an Article

Fully-Protected

To fully-protect an article, add the following to .GITHUB/CODEOWNERS under the appropriate section.

path/to/file @framewiki/admins @framewiki/maintainers @framewiki/editors

Then, ensure you add the protected note to the article.

Semi-Protected

To semi-protect an article, add the following to .GITHUB/CODEOWNERS under the appropriate section.

path/to/file @framewiki/admins @framewiki/maintainers

Then, ensure you add the semiprotected note to the article.