View Issue Details

IDProjectCategoryView StatusLast Update
0002293Composrcorepublic2017-11-29 14:02
ReporterChris GrahamAssigned ToChris Graham 
SeverityFeature-request 
Status closedResolutionwon't fix 
Product Version 
Fixed in Version 
Summary0002293: Cleaner implementation of some particular ocProducts non-bundled addons
DescriptionThese addons are installed via dynamic code-rewrites, we should allow them to work via hooks:

comcode_whitelist
referrals
workflows

Also composr_homesite_support_credits should not need to override functions, because point functions should use hooks too.
TagsRisk: Core rearchitecting
Time estimation (hours)5
Sponsorship open

Relationships

related to 0003395 resolvedChris Graham Composr testing platform / automation goals Unit tests for hackerish addon overriding 

Activities

Patrick Schmalstig

2016-08-05 05:26

administrator   ~0004208

I would recommend the warnings bundled addon to also work via. hooks. That way, certain features / addons can have their own entries in the punishment form. For example, say if I create an addon where users earn charms for their profile... and I want staff to be able to revoke charms as a form of punishment. The addon can then create a hook for the punishment form allowing me to choose charms to revoke for that user.

Another reason would be if I decide to make and release my karma addon. It'd be much easier to implement into the warnings system via. hooks.

Chris Graham

2016-12-11 15:30

administrator   ~0004632

Last edited: 2017-11-29 03:28

View 2 revisions

We'll approach this in a number of different ways, as there's no one-size-fits-all solution here. We don't want a proliferation of hooks that only exist due to the perculiar needs of particular addons.

1) comcode_whitelist - in v11 branch I have reimplemented this using hooks

2) referrals - in v10 branch I have done something I've called "psuedo-hooks", which is search and replace still but tied to specific static comment markers in the code

3) workflows - this is awkward as there is a lot of overridden code that is too specific for hooks, and the addon really should be a fully integrated feature. For now I want us to merge some changes into core, and make it so other changes only even run if a value flag is set. The addon documentation can say that it is not being maintained and you need to enable the flag. i.e. we'll leave it to rust and turn it off even for dev installs - until we can get some sponsorship to make it a proper integrated feature.

4) composr_homesite_support_credits - change overrides to hooks

5) support hooks in the warning addon

Chris Graham

2017-11-29 14:02

administrator   ~0005283

I've done some of this, but I have also made the dynamic code-rewrite system more robust than str_replace.

Workflows and hooks for warnings will be discussed in other issues.

Issue History

Date Modified Username Field Change
2016-03-14 21:57 Chris Graham New Issue
2016-03-14 21:57 Chris Graham Tag Attached: Core rearchitecting
2016-03-14 21:59 Chris Graham Description Updated View Revisions
2016-06-08 00:15 Chris Graham Tag Renamed Core rearchitecting => Risk: Core rearchitecting
2016-08-03 12:25 Chris Graham Summary Cleaner implementation of some ocProducts non-bundled addons => Cleaner implementation of some particular ocProducts non-bundled addons
2016-08-05 05:26 Patrick Schmalstig Note Added: 0004208
2016-12-09 12:39 Chris Graham Description Updated View Revisions
2016-12-11 15:30 Chris Graham Note Added: 0004632
2017-11-29 02:17 Chris Graham Relationship added related to 0003395
2017-11-29 03:28 Chris Graham Note Edited: 0004632 View Revisions
2017-11-29 14:02 Chris Graham Note Added: 0005283
2017-11-29 14:02 Chris Graham Status non-assigned => closed
2017-11-29 14:02 Chris Graham Assigned To => Chris Graham
2017-11-29 14:02 Chris Graham Resolution open => won't fix