← Back to team overview

mahara-contributors team mailing list archive

[Bug 1315205] [NEW] Make sideblocks into a normal plugin type

 

Public bug reported:

Sideblocks are the blocks that show up in the side column of the page.
These include the login form, the user file quota, the tag cloud, etc.
For more information about what sideblocks are and how they're currently
implemented, see the developer's docs:
https://wiki.mahara.org/index.php/Developer_Area/Sideblocks_API

I'm filing this bug because sideblocks are currently implemented as an
API, and there's no easy way for a 3rd-party dev to add additional
sideblocks without patching core code. Gregor has supplied a patch in
https://bugs.launchpad.net/mahara/+bug/1314465 that adds a /local
function for adding sideblocks, but this is still a little clunky
because it requires the user to manually paste PHP code into their
/local/lib.php file.

I think the best thing to do, would be to turn sideblocks into a full-
featured plugin type, like blocktypes, artefacts, interactions, etc.
Then admins could install new sideblocks the same as they install any
other plugin, by simply copying it into the correct directory.

Some implementation ideas:

1. All the existing core sideblocks would also get turned into sideblock
plugins.

2. Sideblocks, like blocktypes, could live inside other plugin types. So
for instance an artefact plugin could include one or more sideblock
plugins.

3. Each sideblock class would have a static method that gets called on
each pageload and returns a boolean to indicate whether or not the
sideblock should be displayed on that page. (Tricky to figure out what
data should be passed to this method, though...)

4. Additionally, sideblocks could be added to page by the page itself
using the existing $sideblocks param to the smarty() method.

** Affects: mahara
     Importance: Wishlist
         Status: In Progress


** Tags: plugins sideblocks

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1315205

Title:
  Make sideblocks into a normal plugin type

Status in Mahara ePortfolio:
  In Progress

Bug description:
  Sideblocks are the blocks that show up in the side column of the page.
  These include the login form, the user file quota, the tag cloud, etc.
  For more information about what sideblocks are and how they're
  currently implemented, see the developer's docs:
  https://wiki.mahara.org/index.php/Developer_Area/Sideblocks_API

  I'm filing this bug because sideblocks are currently implemented as an
  API, and there's no easy way for a 3rd-party dev to add additional
  sideblocks without patching core code. Gregor has supplied a patch in
  https://bugs.launchpad.net/mahara/+bug/1314465 that adds a /local
  function for adding sideblocks, but this is still a little clunky
  because it requires the user to manually paste PHP code into their
  /local/lib.php file.

  I think the best thing to do, would be to turn sideblocks into a full-
  featured plugin type, like blocktypes, artefacts, interactions, etc.
  Then admins could install new sideblocks the same as they install any
  other plugin, by simply copying it into the correct directory.

  Some implementation ideas:

  1. All the existing core sideblocks would also get turned into
  sideblock plugins.

  2. Sideblocks, like blocktypes, could live inside other plugin types.
  So for instance an artefact plugin could include one or more sideblock
  plugins.

  3. Each sideblock class would have a static method that gets called on
  each pageload and returns a boolean to indicate whether or not the
  sideblock should be displayed on that page. (Tricky to figure out what
  data should be passed to this method, though...)

  4. Additionally, sideblocks could be added to page by the page itself
  using the existing $sideblocks param to the smarty() method.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1315205/+subscriptions


Follow ups

References