Submissions Library: Difference between revisions
From MoodleDocs
| Line 84: | Line 84: | ||
=== submissions_instances === | === submissions_instances === | ||
Identifies all submissions. A data associated with the submission is stored by plugin. | |||
{| class="nicetable" | |||
|- | |||
! Field | |||
! Type | |||
! Default | |||
! Description | |||
|- | |||
| '''id''' | |||
| bigint | |||
| | |||
| Auto-numbered. | |||
|- | |||
| ''binding'' | |||
| bigint | |||
| | |||
| Activated plugin. Points to submissions_bindings record. | |||
|- | |||
| itemid | |||
| bigint | |||
| null | |||
| Identifies an element within area. For example, answer or user id. | |||
|- | |||
| timecreated | |||
| bigint | |||
| 0 | |||
| When the submission was created. | |||
|- | |||
| timemodified | |||
| bigint | |||
| 0 | |||
| Latest submission modification time. | |||
|- | |||
| status | |||
| int | |||
| 0 | |||
| Draft (default), Latest, Archived. | |||
|} | |||
=== submissionplugin_onlinetext === | === submissionplugin_onlinetext === | ||
Revision as of 11:26, 22 June 2015
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
- MDL-47344 - Allow usage of submission methods in other plugins
Use cases
- Assignment: no comment.
- Workshop: uses submissions but it's another code doing the same.
- 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.
- Community module: for example, Assignment with individual tasks could not re-implement all existing submission types.
- 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. |
submissions_pluginconfig
Stores plugins configuration.
| Field | Type | Default | Description |
|---|---|---|---|
| id | bigint | Auto-numbered. | |
| binding | bigint | Activated plugin. Points to submissions_bindings record. | |
| option | varchar(100) | Plugin setting name. | |
| value | text | Setting value. |
submissions_instances
Identifies all submissions. A data associated with the submission is stored by plugin.
| Field | Type | Default | Description |
|---|---|---|---|
| id | bigint | Auto-numbered. | |
| binding | bigint | Activated plugin. Points to submissions_bindings record. | |
| itemid | bigint | null | Identifies an element within area. For example, answer or user id. |
| timecreated | bigint | 0 | When the submission was created. |
| timemodified | bigint | 0 | Latest submission modification time. |
| status | int | 0 | Draft (default), Latest, Archived. |