View Issue Details

IDProjectCategoryView StatusLast Update
0005938Composrcorepublic2024-09-13 02:10
ReporterPatrick SchmalstigAssigned To 
SeverityFeature-request 
Status non-assignedResolutionopen 
Product Version 
Fixed in Version 
Summary0005938: Refactor core Comcode and Tempcode symbols into hooks
DescriptionCore Comcode tags and Tempcode symbols exist within source files.

Refactor these out of the source files into appropriate hooks. The advantages include the following:

1. Saves on memory (in most cases) - We only load up code for tags and symbols that we are going to use*
2. Allows for easier overriding with custom code / addons for changing functionality (e.g. an addon which rewrites external URLs to an internal redirect URL that displays a warning / confirmation about proceeding to an external site)
3. Current core tags and symbols can be remapped to their appropriate bundled addon instead of them all being core

*Hooks are classes which by nature take up more memory. But we can optimise by only loading the hooks on-demand, and by unsetting the hooks when no longer needed (though this comes at a performance cost if the hook might be needed down the road; perhaps the hook can define a property "is_commonly_used", and if true, will not be unloaded after use [ecv_ symbols would have this true and ecv2_ ones false, for example])
Additional InformationWe should also remove ecv_* and ecv2_* functionality once this is done; won't be necessary if all Tempcode symbols will be hooks.
TagsRoadmap: Over the horizon
Time estimation (hours)
Sponsorship open

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2024-09-13 02:02 Patrick Schmalstig New Issue
2024-09-13 02:02 Patrick Schmalstig Tag Attached: Roadmap: Over the horizon
2024-09-13 02:03 Patrick Schmalstig Description Updated View Revisions
2024-09-13 02:04 Patrick Schmalstig Description Updated View Revisions
2024-09-13 02:06 Patrick Schmalstig Additional Information Updated View Revisions
2024-09-13 02:08 Patrick Schmalstig Description Updated View Revisions
2024-09-13 02:10 Patrick Schmalstig Description Updated View Revisions