Note:

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

Student projects/Presets for Database module

From MoodleDocs

This project aims to add some user friendly preset modes to the Database activity module to help users create useful activities quickly. Also, it is important to build a way of importing and exporting presets so admins can customize what is available to the user.

I plan to implement several presets, including a good quality image gallery, a document sharing facility and a glossary.

Goals

Presets

  • Image Gallery
  • Document Sharing
  • Glossary

Also, a preset manager will be needed to allow admins to add, remove and modify the presets available to their users. This will be part of the config page for the database module.

Import and Export

A preset will turn into a template when teachers modify it. Then they will be able to download the template, or upload one to use. This will allow users to create a custom database they can use many times.

I'm planning to use zip files to store each preset/template. XML data files and the html template files would sit inside this. Each template will be made up of several html and xml files - the ones describing the layout of the database and one containing the data in the database.

Backup and Restore

It is also important for presets to be included in backup and restore, so that modified presets are kept.

Milestones in the Project

  1. Import and Export
    • Work out an XML schema for saving the data
    • Write import and export functions
  2. Designing the Image Gallery preset, and the other presets.
    • Designing the UI
    • Maybe create a slideshow type display...
  3. Glossary Preset
    • Look to make changes to the database module to add useful features - browsing and linking
  4. Adding the admin features
    • Preset Manager page
    • Backup and Restore

Progress

  • Import and export scripts working, including proper removal of data if the field structure changes too much. Now doesn't remove data if fields are compatible.
  • New 'Presets' tab added to config page.
  • The UI is now completed.
  • The Image Gallery preset is now under development.