Dependencies

Explicitly declare and isolate dependencies

We never relies on implicit existence of system-wide packages, even though we control and upkeep the systems are selfves, we still declare all dependencies, completely and exactly, via a dependency declaration manifest. Furthermore, we use a dependency isolation tool during execution to ensure that no implicit dependencies “leak in” from the surrounding system. The full and explicit dependency specification is applied uniformly to both production and development. By keeping this a strict policy we can guarantee the ability to transfer the project to any given environment and have it up and running in no time to the specifically declared requirements/dependencies.

 

PHP

In PHP we use php-composer which is specifically developed for the management of dependencies within the PHP environment.

Magento

Magento logo
In the case of Magento we do not only rely on php-composer but also on ModMan. With modman, we manage to keep track of the development of external modules for Magento whilst keeping the information of the original developers of the external module in our code as well. In short this comes down to the ability to update our codebase automatically every time an external developer updates their module.

Python

Python logo
In Python the industrial standard is called pip, pip is the same for Python as php-composer for PHP. All are projects contain a requirements.txt file to keep track of what packages we use so we can easily distribute the app to other environments.