In concrete5, you can build all of the objects used in the CMS yourself. No matter if it's a block, a theme, a maintenance task, or a custom attribute, there are APIs for everything and you don't need to touch the core code of the CMS. But imagine if you have a huge project where you build some blocks as well as some jobs. If you just read the previous paragraphs, you might think that you need to put all of the elements in the top-level folders: blocks
and jobs
. This is where a package can be handy.
Before we have a closer look at the packages, here's what a package offers you:
The ability to wrap several things such as blocks, jobs, and attributes in one directory.
An installer you can use to check requirements, add default configurations, create database tables, install new attributes, add default data, add new blocks or themes, and basically manage everything your packages needs to work.
A package can be submitted and sold on the official concrete5.org...