More than just a CMS, ExpressionEngine becomes a platform upon which apps are designed and solutions are built. See real world examples of how ExpressionEngine transforms to meet client needs, and how some agencies have extended it further to become the basis for custom software. Interested in getting into the game? Learn how one dev transformed his business creating add-ons for the ExpressionEngine market.
Would I use the add-on? You need to build things that you use so that you know how they are being used and why they break.
Do developer versions make sense? For some items, yes. Anecdotally, it hasn’t hurt sales.
It’s not all profit
- 30% of revenue went to advertising
- 8% of revenue went to creative
- EE licenses & add-ons (compatibility testing)
The community (#eecms) loves devs.
- ExpressionEngine market is growing.
- Devot:ee lets you be a programmer
- Add-on development is more than coding. 809 forum posts asking for support.
- Create add-ons that you need or will use.
- Develop licenses work (sort of).
- The community is your best friend.
Add-on Development with Chris Newton
Concerns when App building with EE
- Should I just use CodeIgniter or PHP?
- Use templates? Or build a custom module?
- Do I have time to learn EE’s module / extension / plugin system?
- I need to do some heavy lifting… will it destroy my server?
- Do I want to maintain these 50 modules & plugins I’m going to install?
- At what point do I need to go custom?
- Is maintaining custom modules a nightmare?
- What about reuse?
Custom EE app development challenges
- No framework for doing the basics
- Have to build install & update routines in multiple places
- Making settings is difficult and messy
- Making & updating custom database tables is a recipe for disaster
- Difficult to build secure and robust forms to capture user data
- Difficult to build editable, flexible email notifications
Rule of Thumb: When to build custom apps
- “Lots of logic” forms
- If the client explains it with a diagram
- File or image manipulation, CodeIgnitor is great at image manipulation.
- Lots of email notifications
- If you think you might use this again
- If you will hand off maintenance to another developer
- If the client needs to adjust lots of settings
Methods we use to succeed
- We built an add-on dev framework
- We built a documentation generator
- We reuse code libraries
- We leverage CodeIgniter libraries and PHP libraries
- We try to build new code in a generic, flexible manner
If you can save yourself an hour, that’s free money. - Chris Newton, @barrettnewton