Note:

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

XML Administrator Settings: Difference between revisions

From MoodleDocs
m (add template)
Line 1: Line 1:
{{GSOC 09}}
__TOC__
__TOC__



Revision as of 11:42, 20 May 2009

GSOC '09

Motivation

I want to create a new administrative interface for importing and exporting site-wide configuration (tracker issue MDL-18548). At the basic level, it would allow administrators to save their site settings in an XML file, as well as import other saved configurations. Administrators will be able to select a subset of all settings to create a template. They can then apply templates to their site settings, either individually or with specified priorities. Moodle will then adjust change setting to the value in the highest-priority template, and then use either the current or default settings for whatever remains.

Other Discussion

Related Documentation

User Requested Features

This is a current list of features that have been suggested/requested. This is not the finalized list and will need a community review:

  • Selection of settings to export (grouped in a tree format as displayed in the administrator panel)
  • Naming and saving of XML files as special "templates" to be applied to a new install of Moodle for specific situations.
  • An interface listing the templates (XML exported files with the "template" attribute set)
  • A way to record the registered templates (beyond detecting the filesystem)
  • A view of the settings available for restore in a given XML file
  • Partial export/import
  • Compatibility with installation
  • Logging the settings (to allow rollbacks)
  • Comments for settings changes
  • The ability to "switch" a template on/off. While on, it overrides the original settings without replacing them. When off, the original settings are restored
  • In addition to the previous point: ability to switch several templates on/off, and to organise them by priority. If a setting is defined in two templates, the one in the template with the highest priority overrides the other one.
  • Progressive disclosure (making sure that only those who want to mess with the templates will find them, and that they will not be changed accidentally) [1]

Glossary

Term Definition
Preview The ability to see the contents of a template before applying it (either all the settings, or the settings that will be changed)
Settings tree A tree containing all Moodle settings in the same organization as the site administration page
Template An XML file containing either full or partial Moodle settings.

UI Mockups

Settings Template Creation

Settingsmockup1.png All settings are available in the tree, organized in a similar fashion as the admin navbar. Checking a setting includes it in your template. The checkbox at the bottom allows you to automatically exclude sensitive settings (like passwords). Saving a template creates the XML file, and adds the file to the list of available templates.

Applying Settings Templates

Settingsmockup2.png The debug window at the top only appears when templates have been applied. It shows which setting was taken from which template, as well as any possible errors. Beneath it is a list of available templates (with an option to import from file). There is a checkbox that determines whether to use the default or current value for unspecified settings, but we will probably end up with more user-controlled parameters for importing. You can preview a template, bringing up the screen below. The "Use Multiple" button is an advanced feature, allowing you to choose multiple templates and sort them by priority. You can also create a new template from multiple separate templates.

Settings Template Preview

Settingsmockup3.png

It allows users to collapse and expand the sub categories, view the values that are specified, as well as seeing setting descriptions. I hope to include an editor that looks similar to this, except with the ability to change the specified value (this would edit the XML file, not the site settings).


TODO

UI Mockup

Revise the UI mockup until it accounts for all decided upon features. Put this mockup on the tracker so that other users can critique and revise it. This will involve simulating and creating flowcharts for typical workflows involving settings import/explort.

Coding

Each feature will be given its own issue in the tracker. Tentative tracker issue list.

  • Basic export of all settings
  • Basic import of all settings
  • Select settings to export
  • Import partial configuration
  • Settings preview
  • Import multiple templates
  • XML/template editor