Refactoring: Move out the blocktypes that live under artefacts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mahara |
Confirmed
|
Low
|
Unassigned |
Bug Description
Mahara blocktypes that display a particular type of artefact, typically live "underneath" that artefact. For instance the "image" blocktype, for displaying images, lives under htdocs/
This causes us a lot of coding headaches, because whenever we're locating a plugin we have to take this special case into account. And, it doesn't give us much in the way of benefit. It can act as a kind of crude dependency/
So, I think it would help us straighten out our code base if we refactored the code to get rid of "live-in" blocktypes. My proposal is:
1. Move all the live-in blocktypes to the htdocs/blocktype directory
2. Remove the code that handles their special location
3. Add a sanity check that tries to detect if a live-in blocktype is present, when installing a new artefact (in order to tell people that their plugins need to be upgraded)
4. (Optionally) Add a dependency management system to the standard plugin/version.php file: Bug 1299908
Adding item #4 would help to address the one bit of functionality we lose. But it's not strictly required; you could just depend site admins to manually install the necessary plugins. And the individual plugin sanity check can be used as a makeshift dependency checker.
Changed in mahara: | |
status: | New → Confirmed |
importance: | Undecided → Low |
tags: | added: api blocktype plugins refactoring |
description: | updated |
With step 3: We would also need to check if live-in blocktype is present in both the artefact/ dir and blocktype/ dir and warn the user to remove the older /artefact/ version