Moderation Note

Categories

Component ID

2824147

Component name

Moderation Note

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

2009

Component created

Component changed

Component body

The Moderation Note module allows you to notate and review moderated Entities, all in the front-end. To use the project, simply install it on your site and start selecting text on your moderated content.

Requirements

This module requires Outside In, and depends on the version included in 8.3.2+. Once the offcanvas dialog becomes stable and moves to misc/, I'll drop the dependency and update our libraries definition.

You'll also need to have either Workbench Moderation or Content Moderation installed. I support both modules, but focus my support on Content Moderation. Once Content Moderation becomes stable I will remove Workbench Moderation support from the module as at that time a migration path should exist between the modules.

Notes

There are a lot of Javascript libraries that do similar things to what this module does, and I didn't use any of them! I have a few motivations for this:

  1. External Javascript dependencies make modules less accessible to users, and may scare off users who want to keep their site light-weight. Being able to install this module without any extra steps is nice.
  2. Most of the Javascript libraries that handle annotation/notation are designed to work on many different kinds of websites, and as a result implement complex methods for storing Ranges. This module only supports Entity Fields, and then only text-based Fields, and as a result has a smaller scope.
  3. Some libraries store Ranges using fuzzy logic, for example AnnotatorJS stores Ranges uses XPaths, and will re-apply a Range even if the text it was selecting changed. For editors this can be confusing as you lose context of what was being notated.
  4. Keeping everything within the module gives all the benefits of using Drupal forms, AJAX, and Entities.
  5. AnnotatorJS, which is the library I would have used, is not actively maintained anymore. It looks like the developers mostly moved to Hypothesis, but that project is focused on annotating many kinds of websites, not for Content Editors who need to review changes. If you really want to use AnnotatorJS, I started work on a module that uses it here: https://github.com/mortenson/workbench_annotations