diff --git a/docs/index.md b/docs/index.md index 17e055208..1b23205bc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -47,6 +47,7 @@ hidden: true moderator_documentation/index moderator_documentation/reports/index moderator_documentation/internal_users/index +moderator_documentation/content/index moderator_documentation/domains/index moderator_documentation/external_users/index moderator_documentation/allow_listing/index diff --git a/docs/moderator_documentation/allow_listing/add_domain.md b/docs/moderator_documentation/allow_listing/add_domain.md index fc238783b..cf403387d 100644 --- a/docs/moderator_documentation/allow_listing/add_domain.md +++ b/docs/moderator_documentation/allow_listing/add_domain.md @@ -6,6 +6,10 @@ If you have allow-listing enabled, you need to add a domain to your allow-list t :local: ``` +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + ## Add a new domain To add a domain that is not currently in your domains list: diff --git a/docs/moderator_documentation/allow_listing/remove_domain.md b/docs/moderator_documentation/allow_listing/remove_domain.md index 163494c99..6522d0fdd 100644 --- a/docs/moderator_documentation/allow_listing/remove_domain.md +++ b/docs/moderator_documentation/allow_listing/remove_domain.md @@ -1,6 +1,12 @@ # Remove a domain from your allow-list -You can remove a domain from your {term}`pod's ` allow-list to stop communicating with it. To do this: +You can remove a domain from your {term}`pod's ` allow-list to stop communicating with it. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To remove a domain from your allow-list: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/content/delete_content.md b/docs/moderator_documentation/content/delete_content.md new file mode 100644 index 000000000..a779fc88f --- /dev/null +++ b/docs/moderator_documentation/content/delete_content.md @@ -0,0 +1,112 @@ +# Delete content from your pod + +```{warning} +Deleting content from your pod deletes the files from the server. Deleting objects like channels and libraries deletes all associated content. This action is irreversible. +``` + +Moderators can delete content from their {term}`pod` if required. Use this feature to handle content that violates your pod's rules. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration menu. +- {guilabel}`Library` – provides access to the library menu. +``` + +There are two ways to delete content: + +```{contents} +:local: +``` + +## Delete individual objects + +If you want to delete a specific object: + +```{tabbed} Desktop + +1. Log in to your pod. +2. Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select the type of content you want to delete from the top of the page: + - {guilabel}`Channels` + - {guilabel}`Artists` + - {guilabel}`Albums` + - {guilabel}`Tracks` + - {guilabel}`Libraries` + - {guilabel}`Uploads` + - {guilabel}`Tags` +5. Use the filters on the content page to find the object you want to delete. +6. Select the object to go to its moderation page. +7. Select {guilabel}`Delete`. A {guilabel}`Delete this {object}` warning appears. +8. Select {guilabel}`Delete`. + +``` + +```{tabbed} Mobile + +1. Log in to your pod. +2. Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select the type of content you want to delete from the top of the page: + - {guilabel}`Channels` + - {guilabel}`Artists` + - {guilabel}`Albums` + - {guilabel}`Tracks` + - {guilabel}`Libraries` + - {guilabel}`Uploads` + - {guilabel}`Tags` +5. Use the filters on the content page to find the object you want to delete. +6. Select the object to go to its moderation page. +7. Select {guilabel}`Delete`. A {guilabel}`Delete this {object}` warning appears. +8. Select {guilabel}`Delete`. + +``` + +That's it! You've deleted the object. + +## Delete objects in bulk + +To delete several items at once: + +```{tabbed} Desktop + +1. Log in to your pod. +2. Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select the type of content you want to delete from the top of the page: + - {guilabel}`Channels` + - {guilabel}`Artists` + - {guilabel}`Albums` + - {guilabel}`Tracks` + - {guilabel}`Libraries` + - {guilabel}`Uploads` + - {guilabel}`Tags` +5. Use the filters on the content page to find the object you want to delete. +6. Select the checkbox ({fa}`square`) next to the objects you want to delete. Selected objects show a tick ({fa}`check-square`). +7. Select {guilabel}`Delete` in the {guilabel}`Actions` dropdown. +8. Select {guilabel}`Go`. A {guilabel}`Do you want to launch delete on {count} items` warning appears. +9. Select {guilabel}`Launch`. + +``` + +```{tabbed} Mobile + +1. Log in to your pod. +2. Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select the type of content you want to delete from the top of the page: + - {guilabel}`Channels` + - {guilabel}`Artists` + - {guilabel}`Albums` + - {guilabel}`Tracks` + - {guilabel}`Libraries` + - {guilabel}`Uploads` + - {guilabel}`Tags` +5. Use the filters on the content page to find the object you want to delete. +6. Select the checkbox ({fa}`square`) next to the objects you want to delete. Selected objects show a tick ({fa}`check-square`). +7. Select {guilabel}`Delete` in the {guilabel}`Actions` dropdown. +8. Select {guilabel}`Go`. A {guilabel}`Do you want to launch delete on {count} items` warning appears. +9. Select {guilabel}`Launch`. + +``` + +You're done! You've deleted the selected objects from your pod. diff --git a/docs/moderator_documentation/content/handle_edits.md b/docs/moderator_documentation/content/handle_edits.md new file mode 100644 index 000000000..5966bae8b --- /dev/null +++ b/docs/moderator_documentation/content/handle_edits.md @@ -0,0 +1,50 @@ +# Handle edits + +```{note} +Users can edit content in their own libraries. Moderators don't need to approve these edits. The edits appear in the __Edits__ queue to give admins and moderators a full timeline of changes. +``` + +Users can suggest metadata edits on objects they can access. When a user suggests an edit, it's sent to the __Edits__ queue for review. Moderators and pod admins can accept or reject these edits. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration menu. +- {guilabel}`Library` – provides access to the library menu. +``` + +Each edit object contains the following information: + +- A {guilabel}`Modification` ID – the unique ID of the modification. Select this to show the modification in context with the edited object. +- A timestamp of when the user suggested the edit. +- The status of the edit. +- The {guilabel}`Field` that the user edited. +- The {guilabel}`Old value` that the user edited. +- The {guilabel}`New value` that the user entered. +- The user who suggested the edit. + +To review suggested edits: + +```{tabbed} Desktop + +1. Log in to your {term}`pod`. +2. Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. The {guilabel}`Library edits` section displays a list of unresolved edits. +4. Review the edit and select on of the following options: + - {guilabel}`Approve` – approve the edit and apply it to the object. + - {guilabel}`Reject` – reject the edit and leave the object in its current state. + - {guilabel}`Delete` – delete the edit suggestion without taking further action. The object remains in its current state. + +``` + +```{tabbed} Mobile + +1. Log in to your {term}`pod`. +2. Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. The {guilabel}`Library edits` section displays a list of unresolved edits. +4. Review the edit and select on of the following options: + - {guilabel}`Approve` – approve the edit and apply it to the object. + - {guilabel}`Reject` – reject the edit and leave the object in its current state. + - {guilabel}`Delete` – delete the edit suggestion without taking further action. The object remains in its current state. + +``` + +That's it! You've handled the edit request. You can use the filters on this page to search for historical requests. diff --git a/docs/moderator_documentation/content/index.md b/docs/moderator_documentation/content/index.md new file mode 100644 index 000000000..3473c4aee --- /dev/null +++ b/docs/moderator_documentation/content/index.md @@ -0,0 +1,15 @@ +# Moderate content on your pod + +If you have the __Library__ permission, you can change content on your pod. Use this permission to hide copyrighted content and remove offensive material. + +```{toctree} +--- +caption: Manage your pod's content +maxdepth: 1 +--- + +handle_edits +library_visibility +delete_content + +``` diff --git a/docs/moderator_documentation/content/library_visibility.md b/docs/moderator_documentation/content/library_visibility.md new file mode 100644 index 000000000..651a5579e --- /dev/null +++ b/docs/moderator_documentation/content/library_visibility.md @@ -0,0 +1,44 @@ +# Change the visibility of a library + +```{note} +You can only change the visibility of libraries stored on your {term}`pod`. +``` + +If a user has put copyrighted material in a public library, you can change the visibility of the library. This lets the user keep the content and protects your pod from legal issues. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration menu. +- {guilabel}`Library` – provides access to the library menu. +``` + +To change the visibility of a library: + +```{tabbed} Desktop + +1. Log in to your {term}`pod`. +2. Select the wrench icon ({fa}`wrench`) at the top of the sidebar to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select {guilabel}`Libraries` at the top of the page. The {guilabel}`Libraries` page opens. +5. Select the library you want to update. The library's moderation page opens. +6. Select one of the following options from the {guilabel}`Visibility` dropdown menu: + - {guilabel}`Private` – makes the library visible only to the owner and anyone they have shared it with. + - {guilabel}`Instance` – makes the library visible only to users who have an account on your pod. + - {guilabel}`Everyone` – makes the library visible to users across all pods. + +``` + +```{tabbed} Mobile + +1. Log in to your {term}`pod`. +2. Select the wrench icon ({fa}`wrench`) at the top of the screen to open the {guilabel}`Administration` menu. +3. Select {guilabel}`Library`. The {guilabel}`Edits` page opens. +4. Select {guilabel}`Libraries` at the top of the page. The {guilabel}`Libraries` page opens. +5. Select the library you want to update. The library's moderation page opens. +6. Select one of the following options from the {guilabel}`Visibility` dropdown menu: + - {guilabel}`Private` – makes the library visible only to the owner and anyone they have shared it with. + - {guilabel}`Instance` – makes the library visible only to users who have an account on your pod. + - {guilabel}`Everyone` – makes the library visible to users across all pods. + +``` + +That's it! You've updated the library's visibility. You should contact the user informing them of the action. diff --git a/docs/moderator_documentation/domains/add_domain.md b/docs/moderator_documentation/domains/add_domain.md index dc111785e..b34d9ed6a 100644 --- a/docs/moderator_documentation/domains/add_domain.md +++ b/docs/moderator_documentation/domains/add_domain.md @@ -1,6 +1,10 @@ # Add a domain to your pod's domain list -Funkwhale records the domains of other {term}`Fediverse` servers when users interact with them. Once a domain is in your domains list, you can [add moderation rules](add_rules.md) to it. +Funkwhale records the domains of other {term}`Fediverse` servers when users interact with them. Once a domain is in your domains list, you can [add moderation rules](add_rules.md) to it. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` You can also add domains to this list at any time to create rules before users interact with them. To do this: diff --git a/docs/moderator_documentation/domains/add_rule.md b/docs/moderator_documentation/domains/add_rule.md index 287554ca5..7e21d0fc6 100644 --- a/docs/moderator_documentation/domains/add_rule.md +++ b/docs/moderator_documentation/domains/add_rule.md @@ -6,6 +6,10 @@ Purging a domain's data removes all objects and caches associated to that domain Add moderation rules to domains to control how they can interact with your {term}`pod`. Moderation rules enable you to restrict content from a domain showing on your pod. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + To add a moderation rule to a domain: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/domains/delete_rule.md b/docs/moderator_documentation/domains/delete_rule.md index b6b5d9030..c4929beba 100644 --- a/docs/moderator_documentation/domains/delete_rule.md +++ b/docs/moderator_documentation/domains/delete_rule.md @@ -1,6 +1,12 @@ # Delete a moderation rule -If you no longer need a moderation rule, you can delete it completely. To do this: +If you no longer need a moderation rule, you can delete it completely. This allows the other server to interact with your pod normally. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To delete an existing moderation rule: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/domains/edit_rule.md b/docs/moderator_documentation/domains/edit_rule.md index 7adea322d..050ca59d3 100644 --- a/docs/moderator_documentation/domains/edit_rule.md +++ b/docs/moderator_documentation/domains/edit_rule.md @@ -4,7 +4,13 @@ Purging a domain's data removes all objects and caches associated to that domain. This impacts users who have objects from these domains in their libraries. ``` -You can change a moderation rule on a domain at any time. To do this: +You can change a moderation rule on a domain at any time. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To update an existing moderation rule: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/domains/purge_domain.md b/docs/moderator_documentation/domains/purge_domain.md index 1121a7d61..e3201f617 100644 --- a/docs/moderator_documentation/domains/purge_domain.md +++ b/docs/moderator_documentation/domains/purge_domain.md @@ -4,7 +4,13 @@ Purging a domain's data removes all objects and caches associated to that domain. This impacts users who have objects from these domains in their libraries. ``` -When users follow content from another domain that content is visible on your {term}`pod`. If a domain hosts illegal or offensive content you can purge the content associated with it. To do this: +When users follow content from another domain that content is visible on your {term}`pod`. If a domain hosts illegal or offensive content you can purge the content associated with it. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To purge content from a domain: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/external_users/add_rule.md b/docs/moderator_documentation/external_users/add_rule.md index 83791cfd2..bd34f30fe 100644 --- a/docs/moderator_documentation/external_users/add_rule.md +++ b/docs/moderator_documentation/external_users/add_rule.md @@ -6,6 +6,10 @@ Purging a user's data removes all objects and caches associated to that user. Th Add moderation rules to users to control how they can interact with your {term}`pod`. Moderation rules enable you to restrict content from a user showing on your pod. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + To add a moderation rule to a user: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/external_users/delete_rule.md b/docs/moderator_documentation/external_users/delete_rule.md index 448171ab4..02d420ad4 100644 --- a/docs/moderator_documentation/external_users/delete_rule.md +++ b/docs/moderator_documentation/external_users/delete_rule.md @@ -1,6 +1,12 @@ # Delete a moderation rule -If you no longer need a moderation rule, you can delete it completely. To do this: +If you no longer need a moderation rule, you can delete it completely. This allows the user to interact with your pod normally. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To delete an existing moderation rule: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/external_users/edit_rule.md b/docs/moderator_documentation/external_users/edit_rule.md index 5c4b1e868..5a3f677cd 100644 --- a/docs/moderator_documentation/external_users/edit_rule.md +++ b/docs/moderator_documentation/external_users/edit_rule.md @@ -4,7 +4,13 @@ Purging a user's data removes all objects and caches associated to that user. This impacts users who have objects from these users in their libraries. ``` -You can change a moderation rule on a user at any time. To do this: +You can change a moderation rule on a user at any time. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To update an existing moderation rule: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/external_users/purge_users.md b/docs/moderator_documentation/external_users/purge_users.md index 032efb606..6f90af428 100644 --- a/docs/moderator_documentation/external_users/purge_users.md +++ b/docs/moderator_documentation/external_users/purge_users.md @@ -4,7 +4,13 @@ Purging a user's data removes all objects and caches associated to that user. This impacts users who have objects from these users in their libraries. ``` -When users follow users from another domain their content is visible on your {term}`pod`. If a user posts illegal or offensive content you can purge the content associated with them. To do this: +When users follow users from another domain their content is visible on your {term}`pod`. If a user posts illegal or offensive content you can purge the content associated with them. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To purge a user's content: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/index.md b/docs/moderator_documentation/index.md index 5502f8457..d7afbdc0f 100644 --- a/docs/moderator_documentation/index.md +++ b/docs/moderator_documentation/index.md @@ -1,6 +1,11 @@ # Get started -{term}`Pod` moderators are responsible for enforcing the rules of a pod. Follow the guides in our moderator documentation to handle moderation tasks. +{term}`Pod` moderators are responsible for enforcing the rules of a pod. Moderation permissions enable moderators to provide specific tasks: + +- {guilabel}`Moderation` – enables the moderator to moderate users, domains, and the allow-list. +- {guilabel}`Library` – enables the moderator to make changes to library content. This includes deleting local objects and handling edit suggestions. + +Follow the guides in our moderator documentation to handle moderation tasks. ```{contents} :local: @@ -14,6 +19,10 @@ One of the most important duties of a moderator is handling reports. If a user f As a moderator, you are responsible for moderating the behavior of users on your pod. Funkwhale provides you with tools to help you handle users that violate your pod's rules. Check out our [Moderate your pod's users](internal_users/index.md) section for more information. +## Moderate content on your pod + +Funkwhale's moderation tools enable moderators to handle the content on a pod. This means you can update, delete, or hide content. It also enables you to approve or reject edits submitted by users on your pod. Check out the guides in the [Moderate content on your pod](content/index.md) for more information. + ## Moderate external domains As {term}`fediverse` software, Funkwhale interacts with other software over federation. Read through the [Moderate external domains](domains/index.md) section to handle content from other servers. diff --git a/docs/moderator_documentation/internal_users/handle_registration.md b/docs/moderator_documentation/internal_users/handle_registration.md index 3858295ca..c581645b3 100644 --- a/docs/moderator_documentation/internal_users/handle_registration.md +++ b/docs/moderator_documentation/internal_users/handle_registration.md @@ -2,6 +2,10 @@ {term}`Pod` admins can enable manual sign-up validation. This setting requires moderators to approve or refuse account creations. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + Requests appear in the {guilabel}`User Requests` list. Each request contains the following information: - The user the request was {guilabel}`Submitted by` diff --git a/docs/moderator_documentation/internal_users/index.md b/docs/moderator_documentation/internal_users/index.md index fb5083d86..84926821a 100644 --- a/docs/moderator_documentation/internal_users/index.md +++ b/docs/moderator_documentation/internal_users/index.md @@ -10,7 +10,7 @@ caption: Moderate users maxdepth: 1 --- -manage_users +../reports/handle_users.md ``` diff --git a/docs/moderator_documentation/internal_users/manage_users.md b/docs/moderator_documentation/internal_users/manage_users.md deleted file mode 100644 index f7eadbc0b..000000000 --- a/docs/moderator_documentation/internal_users/manage_users.md +++ /dev/null @@ -1,3 +0,0 @@ -# Manage users on your pod - -I diff --git a/docs/moderator_documentation/reports/handle_content.md b/docs/moderator_documentation/reports/handle_content.md index 10f4b6202..3a27c52ff 100644 --- a/docs/moderator_documentation/reports/handle_content.md +++ b/docs/moderator_documentation/reports/handle_content.md @@ -6,6 +6,11 @@ Deleting reported objects is irreversible. This action deletes the associated fi You can handle content reports from the {guilabel}`Reports` page or from the reported object's moderation page. You only need to open the moderation page to edit objects. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +- {guilabel}`Library` – enables the moderator to delete objects. +``` + ```{contents} :local: ``` diff --git a/docs/moderator_documentation/reports/handle_users.md b/docs/moderator_documentation/reports/handle_users.md index 109454b05..26cc6c5da 100644 --- a/docs/moderator_documentation/reports/handle_users.md +++ b/docs/moderator_documentation/reports/handle_users.md @@ -1,6 +1,12 @@ # Handle reported users -If a user has reported another user on your pod, you need to open the reported user's moderation page. To do this: +If a user has reported another user on your pod, you can make changes to the reported user's profile. Use the user's moderation page to take the appropriate steps to handle the report. + +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + +To open a user's moderation page: ```{tabbed} Desktop diff --git a/docs/moderator_documentation/reports/index.md b/docs/moderator_documentation/reports/index.md index 8a9e8896d..5861875c9 100644 --- a/docs/moderator_documentation/reports/index.md +++ b/docs/moderator_documentation/reports/index.md @@ -1,4 +1,4 @@ -# Reports +# Handle reports As a Funkwhale moderator, you have extra permissions. These permissions enable you to handle reports submitted by users and anonymous browsers. diff --git a/docs/moderator_documentation/reports/internal_notes.md b/docs/moderator_documentation/reports/internal_notes.md index 9fb0b08c9..44bee8e40 100644 --- a/docs/moderator_documentation/reports/internal_notes.md +++ b/docs/moderator_documentation/reports/internal_notes.md @@ -2,6 +2,10 @@ Use internal notes to add information to a report. This can be a summary of your actions or an update on your investigation. Internal notes are only visible to pod admins and moderators. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + ## Add notes to a report You can add notes to __Unresolved__ and __Resolved__ reports. To add an internal note: diff --git a/docs/moderator_documentation/reports/search_reports.md b/docs/moderator_documentation/reports/search_reports.md index 0cb4ff6e8..bebb9fdb7 100644 --- a/docs/moderator_documentation/reports/search_reports.md +++ b/docs/moderator_documentation/reports/search_reports.md @@ -2,6 +2,10 @@ The {guilabel}`Reports` page contains filters that enable you to search for reports. Use these filters to find reports by category, status, or key words. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + ```{tabbed} Desktop 1. Log in to your {term}`pod`. diff --git a/docs/moderator_documentation/reports/view_reports.md b/docs/moderator_documentation/reports/view_reports.md index 33aa578dd..be7cc2ec5 100644 --- a/docs/moderator_documentation/reports/view_reports.md +++ b/docs/moderator_documentation/reports/view_reports.md @@ -2,6 +2,10 @@ When a user reports an object on your {term}`pod`, the report gets sent to a moderation queue. You can check this moderation queue to handle any reports that users have submitted. +```{dropdown} Required permissions +- {guilabel}`Moderation` – provides access to the administration and moderation menus. +``` + ## Check the Reports page You can see a list of unresolved reports by going to the {guilabel}`Reports` page. To do this: