Refactoring: Move out the blocktypes that live under artefacts

Bug #1521418 reported by Aaron Wells
6
This bug affects 1 person
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/artefact/file/blocktype/image

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/package-management, and it makes a certain conceptual organizational sense, but that's about it.

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.

Aaron Wells (u-aaronw)
Changed in mahara:
status: New → Confirmed
importance: Undecided → Low
tags: added: api blocktype plugins refactoring
description: updated
Revision history for this message
Robert Lyon (robertl-9) wrote :

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

Revision history for this message
Aaron Wells (u-aaronw) wrote :

Oh yeah, this is another one of those changes that would really screw up the "copy-over" upgraders of Bug 1519516.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.