# Moodle Rubric2Feedback

> Inserts aggregated feedback into Moodle feedback editors based on rubric selections.

Canonical page: [https://chrome-stats.com/d/moodle-rubric2feedback](https://chrome-stats.com/d/moodle-rubric2feedback)

## Overview

- **ID:** `moodle-rubric2feedback`
- **Platform:** Firefox
- **Type:** Firefox add-on
- **Status:** Removed
- **Publisher:** Trev Wood
- **Version:** 1.0
- **Last updated:** 2025-04-03
- **First published:** 2025-03-31
- **Size:** 21 KB
- **Data as of:** 2025-05-26
- **Store listing:** [Firefox Add-ons Store](https://addons.mozilla.org/firefox/addon/moodle-rubric2feedback/)

## Description

Moodle Rubric2Feedback is a Firefox extension designed to streamline the feedback process for Moodle assignments. When grading assignments, Moodle often uses a rubric with multiple criteria, each with a set of selectable levels. This extension:

<code>Reads the rubric: It scans the rubric on the assignment grader page, resets each criterion’s level numbering so that every criterion starts at level 1, and then determines the selected level.

Uploads feedback mappings: Using an uploaded, tab‑delimited text file, it aggregates feedback messages corresponding to each criterion’s selected level.

Supports simple markup: The extension converts specific syntax in your feedback messages into HTML formatting—allowing bold text and clickable links.

Personalizes feedback: It prepends a greeting that includes the student’s first name, which it extracts from the page.

Inserts feedback: Finally, it inserts the combined, sanitized HTML feedback into the active Moodle feedback editor (whether that is a rich text (Tox/Atto) editor or a plain textarea).
</code>

.txt File Format

Your feedback file should be a plain text file that is tab-delimited. It must have a header row followed by one row per rubric criterion. Here’s how to structure it:

<code>Header Row:
The first row must define the columns. It should include:

    Criterion

    level 1

    level 2

    level 3

    level 4

    level 5

Example:
</code>

Criterion   level 1 level 2 level 3 level 4 level 5

Data Rows:
Each subsequent row represents a single rubric criterion. The first column contains the criterion’s name, and the following columns contain the feedback message for each level (from 1 to 5).

Example:

<code>Technical Sound Design Skills   Your work is missing basic technical skills. I'd recommend reviewing [[text:week 1 resources; link:<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/7342a3f6a6053e187519ee837f5e2872c7ccfb4d3f83962408c6bd69bf438b7b/http%3A//example.com/week1" rel="nofollow">http://example.com/week1</a>]].  There are some syncing issues; try revisiting [[text:week 2 techniques; link:<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/319e4b9e1fc722327b6fdba0d75eace2b495d6bbcbb7512ced8e7217665b3a86/http%3A//example.com/week2" rel="nofollow">http://example.com/week2</a>]].    You've demonstrated a good understanding of the DAW.    Strong work overall—your integration is excellent.  **Outstanding technical execution.** Your sound elements are flawless.
Collaboration &amp; Teamwork    There’s limited evidence of teamwork; review [[text:group roles; link:<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/c0a3b168fd3a2ddaf953beecf79f4c7e75a6f34ff878b28459c91b100e2b5294/http%3A//example.com/group" rel="nofollow">http://example.com/group</a>]].   Coordination could be stronger. Good job on distributing roles. Excellent teamwork was evident. **Exceptional collaboration.** Your group worked seamlessly together.

In this example, there are two criteria:

    Technical Sound Design Skills with feedback messages for levels 1–5.

    Collaboration &amp; Teamwork with its own set of feedback messages.
</code>

Supported Markup Syntax

The extension supports a couple of simple markup conventions within your feedback messages:

<code>Bold Text:
Any text enclosed in double asterisks will be converted to bold text.

    Input: **Outstanding technical execution.**

    Output: &lt;strong&gt;Outstanding technical execution.&lt;/strong&gt;

Clickable Links:
Use the following syntax to create clickable links:

    Format: [[text:Link Text; link:<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/2141eac2eacda036b00afc30fd0a7e6f24e9bddf402cf4393fe5144f468147e8/http%3A//example.com" rel="nofollow">http://example.com</a>]]

    Example Input: [[text:week 1 resources; link:<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/7342a3f6a6053e187519ee837f5e2872c7ccfb4d3f83962408c6bd69bf438b7b/http%3A//example.com/week1" rel="nofollow">http://example.com/week1</a>]]

    Output: &lt;a href="<a href="https://prod.outgoing.prod.webservices.mozgcp.net/v1/7342a3f6a6053e187519ee837f5e2872c7ccfb4d3f83962408c6bd69bf438b7b/http%3A//example.com/week1" rel="nofollow">http://example.com/week1</a>" target="_blank"&gt;week 1 resources&lt;/a&gt;
</code>

How It Works

<code>Upload:
Click the "Upload Feedback" button to select and upload your .txt file. The file is stored (using a namespaced key to avoid conflicts with other extensions).

Aggregation:
When you click "Insert," the extension reads the rubric on the page, normalizes the level numbering for each criterion (so each criterion starts at 1 regardless of the raw numbering), and matches the selected level to the corresponding feedback message in your file.

Markup Conversion &amp; Sanitization:
The aggregated feedback is converted from plain text using the simple markup rules (bold and links) into HTML. The HTML is then sanitized using DOMPurify to prevent any unsafe content from being injected.

Personalized Greeting:
The extension extracts the student's first name from the user info on the page and prepends a greeting to the aggregated feedback.

Insertion:
The final HTML is inserted into the active Moodle feedback editor (whether it's a rich text editor like Tox/Atto or a fallback plain textarea).
</code>

This description, along with the file format and markup guidelines, should help users understand how to properly use the Moodle Rubric2Feedback extension. Let me know if you need any further details or adjustments!

## Permissions and access

### Permissions

- `storage`

### Content script matches

- `*`

## Safety

- **Risk impact:** Moderate risk impact
- **Risk likelihood:** High risk likelihood

### Analysis details

- Allows access to all websites, posing a significant security risk as it can monitor and modify data from any visited site.
- This extension is not longer available in the store

> Some risk analysis details are omitted from this free response. [Upgrade to view the full analysis](https://chrome-stats.com/pricing).

## Similar extensions and apps

- [Moodle Rubric2Feedback-Summary](https://chrome-stats.com/d/moodle-rubric2feedback-summary) — 3 users
- [Moodle Criteria Grading Fix](https://chrome-stats.com/d/moodle-criteria-grading-fix)
- [Evaluation Automation](https://chrome-stats.com/d/evaluation-automation)
- [Moodle Tweaks](https://chrome-stats.com/d/moodle-tweaks) — 3 users
- [Moodle Buddy](https://chrome-stats.com/d/moodle-buddy) — 771 users, 4.91 / 5
- [Quiz Solver for Moodle](https://chrome-stats.com/d/quiz-solver-for-moodle) — 17 users
- [Feedback Helper](https://chrome-stats.com/d/feedback-helper) — 5.00 / 5
- [Moodle Downloader](https://chrome-stats.com/d/moodle_downloader) — 57 users
- [Auto Feedback Filler](https://chrome-stats.com/d/auto-feedback-filler) — 1 users
- [CU Course Evaluator](https://chrome-stats.com/d/cu-course-evaluator)
- [Moodle Master (Dubai Edition)](https://chrome-stats.com/d/moodle-master-dubai-edition)
- [course evaluation](https://chrome-stats.com/d/course-evaluation) — 1 users

---

Source: [Chrome-Stats](https://chrome-stats.com/d/moodle-rubric2feedback)
