Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Stevedore extension points should be provided for each of the common UX changes that need to be made
    • Note: see the Audit below for a comprehensive list
    • An initial list would include:
      • "Feature flag"
        • Note: this will be a ConfigurationModel derivative (which includes a built-in enabled column)
        • We recommend this over using a Django settings feature flag
        • It would be useful to allow all associated extensions obey the feature flag automatically
      • URLs for new UI and REST APIs
      • LMS tabs (although the concept should be more general as mobile won't render these items as tabs)
      • Instructor Dashboard components/tabs
  • XBlocks should be extended to provide more capabilities
    • Course-scoped fields for configuration settings
      • Jira Legacy
        serverJIRA (openedx.atlassian.net)
        serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
        keyTNL-1804
    • Studio editing tabs for xblocks
      • Jira Legacy
        serverJIRA (openedx.atlassian.net)
        serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
        keyTNL-850
      • Jira Legacy
        serverJIRA (openedx.atlassian.net)
        serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
        keyTNL-851
    • Admin views for both Studio and LMS
    • Need built-in support for RequireJS or AMD compliant dependency management - 
      • Jira Legacy
        serverJIRA (openedx.atlassian.net)
        serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
        keyPLAT-481
  • The Django asset pipeline needs to be improved
    • Have the pipeline pick up assets from all installed Django apps (to support CDNs, minification etc)
    • RequireJS Optimizer support should be added to the LMS
      • Jira Legacy
        serverJIRA (openedx.atlassian.net)
        serverId13fd1930-5608-3aac-a5dd-21b934d3a4b4
        keyTNL-1322
      • See See also RequireJS in the LMS
  • There are some interesting aspects of supporting arbitrary plug-ins
    • An order must be established for visual aspects such as tabs. Today the order is implicit in the hard-coded list.
      • If in doubt, sort the items alphabetically by name
    • How can plug-ins adopt the correct look-and-feel?
      • An initial thought is that we could document the boilerplate that each plug-in type should include
      • Miki suggests that maybe we should use inheritance to our benefit here, where the superclass renders the boilerplate
      • Eventually we might want to use a mechanism more like XBlock that can be rendered inline
    • It needs to be decided how mobile can benefit from these plug-ins
      • If they provide new UI as URLs then they won't just drop in to mobile
      • XBlocks will just appear, but only by using a web view to render the HTML
      • React, a JavaScript library from Facebook, might help with native rendering of HTML

...