Package Configuration (package.yml)
The main configuration file of all packages is located at /etc/<PACKAGE>/package.yml, and consists of information on everything from basic package and CI pipeline details to menus, hashes, and configuration variables.
The below table explains all available sections within the package.yml file. Click on the links for a detailed explanation of each.
Section | Description |
---|---|
general | Overall general information on the package such as description, access level, price if commercial, etc. |
acl | The access control level of the repository, defining who has read and write access to the different parts of the repository. |
pipeline | Acceptable limits of the CI pipeline to result in a success, allowing for automated syncing to the production server. |
web_hooks | URLs to send a HTTP request to upon successful CI pipeline run. |
config | Configuration variables. |
menus | Menus to add throughout the system within admin panel, members area, public site, etc. |
hashes | Hashes which are essentially key-value pairs used to populate select / checkbox / radio lists. |
services | Mark certain classes as services, meaning the container will only ever instantiate one instance per-request. |
email_notifications | Default e-mail notifications that are created during initial package installation. |
boxlist_items | Generally used for settings pages such as Settings->Users menu, and allows for extendable list of items. |
Scan Package
Every time you make a change to the package.yml file, you must scan the package in order for the changes to take effect within the database. This can be done by simply running the scan CLI command, such as:
apex scan <PACKAGE>
This will go through all data within the package.yml file and ensure the database is up to date.