Skip to content

InstallKit specific .info settings for conditional loading #140

@amcgowanca

Description

@amcgowanca

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][]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions