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:

  1. MyConfigurationRepositoryProfile (everything on the original page.)
  2. BugTrackerProfile
  3. ClientManagementProfile
  4. CategoryTreeProfile (if this profile is referenced in ClientManagementProfile for example)
  5. 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.