Code

Show Index

Trigger

Allows for rapid EE development via a simple command-line interface.

Developed for ExpressionEngine 2
Current Version 0.9 beta
Project Page Link

I think every developer goes through a phase when he or she wants to develop a CMS. I attempted this several times, and although each one was a fantastic learning experience, they never got far for one reason or another. In mid-2010 I had an idea for a stripped down CMS that would have one defining feature: the ability to build database structured via a command line interface.

Command lines are really cool things. I wasn't keen on the Terminal in OSX for years, but using Git heavily has gotten me into it, and I love the idea of typing in a command instead of clicking around. I was really pumped about this idea, and it wasn't until November 2010 when I thought: why not build something like this for ExpressionEngine?

Trigger has been by far the largest add-on project I've ever taken on. It was deceptively simple: have a text field and allow users to type in commands and then have EE go do that and then return the result. I actually had a basic prototype working in around an hour, turing the EE site on and off.

Months later, Trigger has grown and mutated into something I am really proud of and very excited to get out into the community. The largest challenge has been fitting the whole of EE functionality into commands, and getting those to accurately reflect EE permissions, methods, and best practices. I can't just call a controller and run the EE code, I have to replicate everything. That means I even had to write my own sync templates function that mimiced bits and pieces of what EE's is doing depending on what you tell it to sync.

Maybe the biggest feature Trigger has (and something that wasn't even a part of the plan until February 2011) is packages and sequences. These are pre-packaged sequences of items that can be run as a single item. They can do something like set every single thing you do when you install a fresh EE version to building an entire site structure.

In May 2011 I decided to open source Trigger instead of trying to sell it as a commercial product. It's available on GitHub and is starting to get some pull requests and contributions.