Activity log for bug #1315205

Date Who What changed Old value New value Message
2014-05-02 00:14:39 Aaron Wells bug added bug
2014-05-02 00:20:57 Aaron Wells 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. 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. 5. Also, this might be a good time to rethink the name "sideblocks", since the term would now be exposed to our userbase and I foresee endless confusion about the difference between blocktypes and sideblocks.
2014-08-24 05:17:07 Kristina Hoeppner mahara: assignee Aaron Wells (u-aaronw)
2014-09-10 02:00:03 Aaron Wells mahara: milestone 1.10.0 1.11.0
2015-04-17 03:23:41 Robert Lyon mahara: milestone 15.04.0 15.04.1
2015-04-21 02:55:53 Aaron Wells mahara: milestone 15.04.1 15.10.0
2015-10-23 00:27:12 Aaron Wells mahara: milestone 15.10.0 16.04.0
2016-04-28 00:13:15 Aaron Wells mahara: status In Progress Confirmed
2016-04-28 00:13:18 Aaron Wells mahara: milestone 16.04.0