I have a question I hope some people can give some insight on. I have been using codeignitor for almost 2 years now but I am new to EE. I am building a web application that the client wants a cms with. I have decided to use EE as the CMS and codeignitor for the app. I am aware of EE 2.0 coming out mid january which will support codeignitor apps.
I was wondering what is the best way to write my app that it will have the best chance of working with EE 2.0?
I don’t mind refactoring to get it to work when EE 2.0 comes out but I want to decrease my refactoring as much as possible by creating it in a way that translates to EE 2.0 with the least work.
I definitely want to tie into the EE user system, authentication, authorization and I don’t mind coupling it with the routing for EE. The client wants the app to be loosely coupled with the cms and possible to be quickly refactored to work with just codeignitor.
Are there any resources on the EE site that discuss EE 2.0 Extensions and Modules?
Thanks for the help!
The ExpressionEngine API will still be the ExpressionEngine API; that is to say, ExpressionEngine add-ons will only work within the context of ExpressionEngine, and not in external applications. The integration with the CodeIgniter framework would certainly make migration and sharing easier, since the codebase is right there, and you would be coding with shared libraries. But unless your app is written specifically to work within ExpressionEngine as an add-on, it would be no different than running any other two separate apps side-by-side, except for the sharing of files. So the short answer is, if you want tight integration with ExpressionEngine, you’ll be writing a plugin, module, or extension. If the integration is loose, you could simply run the two applications side-by-side.
Thanks Derek, that makes sense.
I do want to tie into the user authentication and authorizations and groups. I guess I could write an authentication and authorization library that interacts with those database elements. Or, I could write a library for my codeignitor app that just wraps the core EE functions that deals with sessions and users or can I load EE classes from CI?.
I also want to use the EE site template for the application so I don’t have to create it in two places.
Other then those Items I will keep the entire application independent.
Any thoughts on this approach and how does EE know to serve the CI App instead of an EE page? I would imagine their must be some flag in the url to do this?
A CodeIgniter app built specifically to run alongside 2.0 could easily utilize ExpressionEngine’s member module and session libraries, so that you could in effect let ExpressionEngine handle all of that for you. The details of how you would accomplish this and run separate apps side by side will become more clear after the developer preview is released.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.