The Symfony's Console Component (see http://symfony.com/doc/current/components/console/introduction.html) is great way of boosting productivity. It allows to easily create commands to perform various common tasks and invoke them from Shell (Bash/Zsh) with an argument auto-complete support and automatic help page generation for command usage out of the box.
What can be automated:
Direct execution of events
Right now events can be executed from command line using "php tools/run_event.php prefix-special:OnEventName secret-per-instance-hash". This can be automated into following command:
in-portal run-event prefix-special:OnEventName
Unit creation
Unit concept is very powerful, but when it comes to creating new unit there is always place for human error. It turns out that we've created a lot of units over the years and you can automate most of the process to get developer right on track faster. Following command might help:
in-portal unit:create --prefix widget
We can do this to make is super helpful:
- create stub files for event handler, tag processor, unit config
- automatically determine used labels and DB table name based on prefix (will also ensure that prefix is named according to coding guidelines)
- automatically put correct Fields array definition based on database (no need to manually use "System Tools" and copy paste from there)
- with the help of additional command options fine-tune unit to be generated, e.g.:
- add change tracking fields, e.g. CreatedOn, UpdatedOn
- connect to Priority Helper
- make sub-item of other unit (automatic setup of foreign key and stuff)
- you name it
Possibilities are limit-less.