Back to marketplace
191

Class Tasks

Create assignments for classes with submission functions and a teacher overview.

HumHub Class Tasks 🎯

A task and assignment module for HumHub. Teachers can create assignments with deadlines, students submit solutions with text and images, and teachers review submissions in a dedicated dashboard β€” all natively integrated into the HumHub stream and calendar.

The Class Tasks module turns HumHub into a lightweight assignment platform for schools. Teachers post tasks directly into the class space stream, set optional deadlines, and receive student submissions with attached images. A teacher-only dashboard provides a clear overview of all tasks and per-student submission status, including the ability to reset submissions and leave feedback comments.


✨ Key Features

  • Stream-Based Assignments: Tasks appear as rich content entries in the space stream, visible to all space members. Teachers can create, edit, and delete tasks directly from the stream or the dashboard.
  • Student Submissions: Students submit their solutions (text and images via the HumHub RichText editor) directly beneath the task in the stream. Once submitted, the task is locked for the student to prevent accidental changes.
  • Teacher Dashboard: A dedicated, teacher-only overview page lists all tasks in the space, sorted by creation date. Each task links to a detail view showing per-student submission status.
  • Submission Detail View: Teachers see a complete list of all students (from the configured student group), their submission status (submitted / pending / reopened), attached images, and text. Teachers can leave individual feedback comments and reset (reopen) submissions for revision.
  • Calendar Integration: Tasks with a deadline are automatically displayed in the HumHub calendar as orange time-block events (🎯), linking back to the task in the stream.
  • Notification System: Teachers receive automated notifications when students submit tasks, linking directly to the specific submission dashboard. Students are notified when a new task is published, when their submission is rejected for revision, and when the teacher leaves feedback.
  • Auto-Save Drafts: Student text submissions are automatically backed up in the browser every few seconds, preventing data loss if they accidentally reload or leave the page before submitting.
  • Role-Based Access Control: The module uses a configurable teacher and student group per space. Only teachers (and space admins) can access the dashboard, create/edit/delete tasks, view submissions, and leave feedback. Students can only see their own submissions.
  • Cascade Deletion: Deleting a task automatically removes all associated student submissions from the database.

βš™οΈ Installation

  1. Download the module or clone the repository.
  2. Move the class-task folder into your HumHub modules directory:
    protected/modules/class-task
  3. Log in to HumHub as an administrator.
  4. Navigate to Administration β†’ Modules.
  5. Click Install and then Enable for the "Class Tasks" module.

πŸš€ Getting Started (Quick Start)

1. Enable the Module in a Space (Teacher / Space Admin)

  • Open the desired space (e.g. "Class 8b").
  • Enable the module under Space β†’ Modules.

2. Configure Roles (Space Settings)

  • Go to Space β†’ Modules β†’ Class Tasks β†’ Configure (or click the gear icon).
  • Select the Teacher Group β€” members of this group get access to the dashboard and can manage tasks.
  • Select the Student Group β€” members of this group appear in the submission overview. Teachers within this group are automatically excluded from the student list.

3. Create a Task

  • Navigate to the Tasks menu item in the space sidebar (visible only to teachers).
  • Click Create Task and fill in:
    • Title (required) β€” the name of the assignment.
    • Description β€” detailed instructions using the RichText editor (supports images, formatting, etc.).
    • Deadline (optional) β€” a date and time by which students should submit. This deadline will appear in the calendar.
  • Save the task. It will appear in the space stream and on the teacher dashboard.

4. Student Workflow

  • Students see the task in the space stream.
  • They click the submission form, enter their solution text, attach images if needed, and submit.
  • Once submitted, the task is locked for that student (status = submitted).

5. Review Submissions

  • Teachers open the Tasks page from the space sidebar.
  • Click on a task to see the detail view with all students listed.
  • For each student, the view shows:
    • βœ… Submission status (submitted, pending, or reopened)
    • πŸ“ The submitted text and images
    • πŸ’¬ A teacher comment field for individual feedback
  • Teachers can reset a submission to allow the student to revise and resubmit.

πŸ“… Calendar Integration

When a task has a deadline, it automatically appears in the HumHub calendar as an orange time-block event with a 🎯 emoji prefix. Clicking the calendar entry navigates to the task in the stream. The calendar integration requires the official HumHub calendar module to be active β€” the module automatically enables it when activated in a space.


πŸ—„οΈ Database Schema

The module creates two database tables:

TableDescription
ct_postStores tasks with id, title, message (description), and deadline. Linked to HumHub's content system via ContentActiveRecord.
ct_submissionStores student submissions with post_id (FK β†’ ct_post), user_id (FK β†’ user), message, status (1 = submitted, 0 = reopened), teacher_comment, created_at, and updated_at.

πŸ”’ Permissions & Security

  • Teacher detection is based on a configurable HumHub user group per space. Space administrators always have teacher privileges.
  • Submission privacy: Students can only view their own submissions and attached files. Teachers can view all submissions within their space. Classmates cannot access each other's submissions.
  • Task deletion is restricted to the original creator of the task.
  • Dashboard access is restricted to teachers and space admins (HTTP 403 for unauthorized users).

πŸ› οΈ System Requirements

  • HumHub Version 1.14 or higher
  • Official HumHub calendar module enabled
  • PHP 8.0 or higher

πŸ“ License

This module is open-source and licensed under the General Public License.

Module Information

Price:
Free
Latest version release:
1.8 - May 22, 2026
Publisher:
Author(s):
Compatibility:
HumHub 1.14 - 1.18