Profile dependencies can be used to build a large profile out of smaller "mini" or "sub" profiles. For example, if you want to have a more modular version of the
Company Intranet profile you can use dependencies to include the blog configuration, and then use that same blog configuration in another profile.
Dependencies Syntax
MyConfigurationRepositoryProfile
{CODE(caption=>YAML)}
dependencies: # Could also be called dummy
- $profiles.tiki.org:BugTrackerProfile:bug_tracker
- $profiles.tiki.org:ClientManagementProfile:client_tracker
- $profiles.tiki.org:SampleDataProfile:sample_page
{CODE}
By installing the
MyConfigurationRepositoryProfile profile, the following profiles would be installed:
- MyConfigurationRepositoryProfile (everything on the original page.)
- BugTrackerProfile
- ClientManagementProfile
- CategoryTreeProfile (if this profile is referenced in ClientManagementProfile for example)
- SampleDataProfile
Current Limitations
- Dependencies need to be all in one YAML block
- The referenced profiles need to be named without spaces or the words must be joined together using underscore (no spaces or dashes, ex: User_Tracker)
- If you develop a profile with dependencies, please note that newly added dependencies where the referenced profiles contain profile requests (for user input) may not appear until you freshen and re-install your database
- When there is anything changed in the dependent profile, it is not re-applied after doing the "Forget and Re-Apply" action (only newly added dependencies are applied)
Branching
See also
Branching, which is a way to insert contents of other YAML files (which need not to be complete profiles) within a profile.