Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Submissions Library

From MoodleDocs

Project goal

Make activity module developers (not only Assignment developers) able to use submission types: both standard and community-developed.


Project scope

A library providing API for activity module submission types support implementation. Actual proposition is to make assignsubmission plugins system-level.

The existing modules requiring submissions (Assignment, Workshop) should use this library.


Relevant tracker issues

  1. MDL-47344 - Allow usage of submission methods in other plugins


Use cases

  1. Assignment: no comment.
  2. Workshop: uses submissions but it's another code doing the same.
  3. Lesson: as well as questions the submissions could be used at lessons for a small tasks. For example, a task at the end of lesson about MS Paint: draw an your dream house, save it and upload.
  4. Community module: for example, Assignment with individual tasks could not re-implement all existing submission types.
  5. Non-mod usage? Is there is no such cases this library should only work with activity modules.


Database schema

submissions_bindings

Identifies all connected submission plugins to an activity modules.

Field Type Default Description
id bigint Auto-numbered.
context bigint Activity context.
area varchar(100) An area within activity module. A module may have a few.
method varchar(100) Submission plugin name. It is considered that the plugin is activated in these area of these activity module instance.

How it works

Backup/restore