-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Due to the overwhelming mess and performance issues with Features, ImageX InstallKit requires some additional .info file settings that allow for conditional loading and or sorting during installation without having to explicitly define dependencies using dependencies[]. While Features is great, the problem persists where the issue of hundreds of features causes serious degradation in performance and as a result, components (e.g. ImageX Page) should technically be built as a single feature. In its current implementation, ImageX Page and features alike have submodules such as ImageX Page Workflow which introduce the integration with ImageX Workflow.
Combining such features into a single one (collapsing code from submodules) and using conditional statements for wrapping dependencies when dependency cannot be explicitly defined through the use of Drupal core's dependencies[].
For example:
imagex_page.info
imagex_installkit[dependencies][conditional][] = imagex_workflow
During the module info loading, this information should be loaded and parsed. Using hook_system_info_alter, implementors of this hook like ImageX InstallKit can perform operations (e.g. check and see if the defined conditional module exists, if so, add it to dependencies[] at runtime). As a result, this will ensure that modules are weighted and re-ordered accurately while still allowing for a decoupled approach to the implementation.
Proposed .info settings
imagex_installkit[dependencies][conditional][]