Skip to content

XBlocks Install Manager

Achilleas Pipinellis edited this page Apr 2, 2015 · 10 revisions

Motivation

  • As an XBlock developer it is too difficult to install and play with an XBlock today
  • It is impossible for a course developer to install and use a new XBlock
  • There is no registry of available XBlocks to choose from
  • It would be great to have a list of edX approved XBlocks
  • Can we encourage a community of XBlock developers?

Ideas for improving ways of installing and managing XBlocks.

  • Platform developer support
    • Easily add an external XBlock to a course
    • Easily add a new XBlock repository to Studio
  • Course developer support
    • Add a pre-installed XBlock to a course (is "Advanced Modules" the right way to do this?)
    • Get documentation for an XBlock
    • Browse a list of known XBlocks
    • Search for an XBlock that provides a desired capability
  • Studio administrator
    • Register one or more known XBlocks
    • See a list of all XBlocks installed into Studio
    • Determine if newer versions are available and install them
    • Uninstall an XBlock
    • Hide an XBlock
    • Configuration option to allow or disallow course developers from adding new XBlocks
    • Block XBlocks that are known to be problematic
  • XBlock developer
    • Define XBlock dependencies that will be automatically installed with your XBlock
    • Provide a repository of XBlocks that can be consumed
    • Provide a thumbnail for an XBlock
    • Provide online help for an XBlock
    • Contribute XBlock to a public repository

UX ideas

  • Implement a 'list of XBlocks' UI
    • Could base this upon the pageable assets UI in Studio
    • Each XBlock could optionally provide a thumbnail for itself
    • Could show a grid of thumbnails instead of one XBlock per row
      • This would be better when choosing a pre-installed XBlock to add to a course
    • Spreadsheet-style UX can show useful metadata (author, version number, install date etc)

Technical challenges

  • Need all functionality to be available without code changes
  • How can XBlock installation be supported in production?
    • Is Studio authorized to execute 'pip install' or equivalent programmatically?
  • Can a course developed in Studio automatically install its required XBlocks into LMS?
    • Is there a way to know precisely which version is required of each XBlock?

Tools to look at (both for UX and for functionality)

  • WordPress plugins
    • WordPress plugins
  • Chrome extensions
    • Chrome extensions
  • Firefox add-ons
    • Fixefox add-ons
  • Apple App Stores
    • Apple Software Update

Future directions

  • Provide a plugin framework for all aspects of edX tooling (not everything can be an XBlock)
    • Custom reports
    • Custom import/export tools
    • Custom administrative scripts
Clone this wiki locally