Skip to content
Freehold CMSSelf-hosted PHP website software.
Downloads soon

Modules and Dependencies

A Freehold CMS module package declares what it is, which Core line it supports and which other Freehold modules must already be available.

Test the missing-requirement case

A module is not ready merely because its files copied successfully. Test installation with a required module absent, with an unsupported version present and with setup unfinished. The administrator should receive a useful explanation before a route or data operation depends on that capability.

Package checks

  • Stable module identity.
  • Exact version information.
  • Declared Core compatibility.
  • Direct Freehold module requirements.
  • Readiness and setup checks.
  • Controlled enable and disable lifecycle.

Package identity

The manifest identifies the module slug, version, entry points and compatibility information. Package inspection rejects unsafe paths and unexpected package structure before installation reaches the enablement stage.

Dependency behavior

Direct requirements are resolved before enablement. A public destination becomes available only when the supplying module is installed, set up and enabled. Bundles package complete dependency chains for buyers.

Next: developer security

Dependency checks protect readiness; request and data checks protect the work after enablement.

Read Developer Security.