View Issue Details

IDProjectCategoryView StatusLast Update
0003856Composrcorepublic2020-02-23 00:02
ReporterChris GrahamAssigned To 
Status non-assignedResolutionopen 
Product Version 
Fixed in Version 
Summary0003856: Addon isolation via virtual subtrees
DescriptionComposr installs all addons into a shared file tree.

This is good to create one maximally simple integrated system, and good for performance.

There are cases where you may instead want to keep addons apart:
1) so that they can easily be enabled/disabled
2) so that conflicting overridden files don't overwrite each other
3) just so you can better see what files are in an addon without having to reference the addon_registry hook (perhaps in your IDE for example)

Instead we could optionally have many virtual subtrees automatically merged into the main tree using a PHP virtual filesystem.

I think new addons could be picked up automatically be analysing the subtree. This would be off by default, except perhaps in development mode.

Also when addons are installed it could give the option to install them into a subtree instead of the main tree, with a precedence.

Regardless of whether addons are installed in the main tree or a virtual subtree, a virtual filesystem would allow us to toggle addons on/off.

Regarding point '2', the system of setting addon precedence is a basic resolution to it. But it's not a perfect solution. .php and .ini files can be merged by Composr at a function/class/string level. This is only good if the same functions aren't overridden of course. And for .tpl files, there's no way to merge. What would be really smart is if Composr could diff overrides against a .editfrom file, and then apply themselves as patches to the original files. It would not be perfect, but it'd help.
TagsNo tags attached.
Attach Tags
Time estimation (hours)100
Sponsorship open


related to 0003147 non-assigned Review of cloud filesystem support 
related to 0004052 non-assigned Logging framework 


Chris Graham

2020-02-23 00:02

administrator   ~0006439

Perhaps we wouldn't give the option for addons to be in a virtual subtree - they always would be, including on git. That would definitely make things less overwhelming to developers. Right now there are a lot of files under sources/.

We could make it an option in the installer whether to have a small number of important addons enabled, or all bundled addons. That way new users can avoid being overwhelmed.

Issue History

Date Modified Username Field Change
2019-07-22 19:15 Chris Graham New Issue
2019-07-22 19:25 Chris Graham Relationship added related to 0003147
2020-01-26 22:55 Chris Graham Relationship added related to 0004052
2020-02-23 00:02 Chris Graham Note Added: 0006439