Note:

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

Talk:Question editing form improvements

From MoodleDocs

Well done!

Firstly, well done to you! Paying attention to details is essential for the usability improvements. For a quick feedback, here are my answers for your questions.

  • Auto-expand all sections with required fields? NO
  • ... or just those where the required field is currently empty? YES (given that the section is marked as shown)
  • Auto-expand any section containing a validation error? (We think this is obviously 'yes'.) SURE
  • Always start with the first section of the form expanded? YES (suggests that the page actually contains a form and not a list of plus icons)
  • Are there other sections of forms which should always start expanded? If so, how do we mark them? YES (extra param for MoodleQuickForm_header constructor? or using setAdvanced() as for normal elements)
  • Do we need the bit about user-preferences to remember which sections you had expanded last time? PROBABLY, NOT SURE (but better to be prepared for such req)
  • Any objection to re-grouping the fields into sections? (We think the new grouping is just better.) NO OBJECTION (though I am not regular Quiz maker)
  • Any objection to grouping some fields on the same line? (Again, we think this is just better.) NO OBJECTION (I use it at some other places and it is really just better)
  • Is the collapsible editor a good idea? YES BUT (see below)

With regards to the collapsible editor, here is my point of view. We really need to improve TinyMCE configuration so that admins can for example decide to hide/allow offered tools etc. At my sites, I (as the admin) would for example disabled all fonts selectors and would use just structural elements (H1, H2) and classes (like "highlighted" etc) that would be configurable (so I can look after styling via the theme). This is something CMS Plone used to have and I really appreciated such approach. By disabling fonts, sizes and friends, we can protect content creators from themselves.

Now, given that we have such a config page, I can imagine there are two "profiles" of the editor to set - let's call them "full" and "light". So the admin can tweak what tools are available when the editor is displayed in the "full" mode and "light" mode (with some reasonable defaults, sure).

Then, there is an option passed when defining the "editor" form element so that it is the developer who sets the default/initial state (full or light) of the editor. No auto-detection based on size or whatever please. There is also a site option that declares what is the default state for all editor instances that do not have it defined explicitly via the element options and this is individual user preference, too (extending the current "Use textarea or editor" switcher in the profile). So again, me as the admin would switch such flag to "light" and all users could overwrite this in the their preferences. So John who prefers full TinyMCE toolset would set it to "full", Mary prefers small toolset (and have their pref set to "light"). Of course, this is all just about default state of the form when the page loads.

Keep in mind this should be done as a general API so when we have some other non-TinyMCE editor available one day (like some Markdown editor similar to what this MediaWiki has), it can take the profile option into account, too (eg light Markdown editor would be a plain textarea while full Markdown editor would have a row of Markdown syntax tools).

--David Mudrak 00:37, 22 February 2012 (WST)