CodeIgniter Forums
What do YOU do when you need CMS capability ? - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23)
+--- Thread: What do YOU do when you need CMS capability ? (/showthread.php?tid=52187)



What do YOU do when you need CMS capability ? - El Forum - 05-31-2012

[eluser]vincej[/eluser]
Over the last 9 months I have become reasonably proficient with CI having built an app with about 107 pages and 400 functions. However several of the things I did are available out of the box with any CMS. Like managing users / users / navigation / login etc etc.

So My question is what do You do when you are a comitted CI developer but you need add on CMS ability ? Do you build your own CMS with CI ? Do you use ExpressionEngine or Pyro ? or do you just use Wordpress etc ?

I would like some advice so I make the best next investment on personal education.

Many Thanks !


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]WanWizard[/eluser]
Depends a bit on the definition of "CMS capability", but in general I grab a copy of Pyro.

It's something I try to determine before starting a new project: is it basically CMS functionality with some custom functions, or is it a custom application with some functions that are common in a CMS?

In the first case I go for Pyro and write modules for the custom functionality, in the second case it's custom app that will probably re-use some of the modules I've written earlier...


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]vincej[/eluser]
Thanks Wan Wizard - sometimes it feels like I am the only person who has this dilemma or maybe is concerned about it .. how about it CroxNix , Insite ..

In your first case yes I can see that a simple CMS like Pyro is fine, but in case 2, a custom app situation, which would have applied to my situation, should I really be spending time writing CMS functions ?

My real dilemma is that I want to leverage my knowledge of CI when deploying custom apps. Do the 'experts' like yourself build their own cms modles and reuse them - never touching EE or Pyro ??

This might sound like a dumb question - but I want to learn from expert experience.

Thanks


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]WanWizard[/eluser]
I don't really see the dilemma, but maybe my clients are different from yours.

A CMS is about content and content management, by definition static by nature. Sometimes a CMS has some modules which allow for a bit of interaction with the user, but that's it. A CMS like Pyro is perfect, as it does these things out of the box, and as you said you can leverage your CI experience.

A business application on the other hand has little to do with content management. Yes, it will probably have functionality for users and user management, but I find that the ACL requirements for business apps often need to be a lot more granular then a CMS can provide.

If you work modular, and avoid dependencies (and you should), you need to write a custom module for that, and once written you can reuse it in every business app that follows.

If you keep to this routine, over time you'll end up with a large library of reusable modules which will give your custom app a flying start.

There are a lot of people out there that tend to use a CMS as a development framework. Joomla and Drupal being prime examples. And I think it's fundamentally wrong. If you do you'll have to carry the weight of the CMS with you, all the junk you don't need, and you are forced to work within the structure of the CMS framework.

I have a client that does everything with Drupal but making coffee. If I see the size of the teams programming, the progress they make, and the hardware needed to run the applications, I'm willing to bet that we can do it faster, cheaper, and produce better results. By using a development framework instead of a CMS framework.

The only issue I have with CI when it comes to custom app development, is that it lacks features required to build large scale applications fast. No support for modular programming, no namespaces, the singleton pattern, lots of third party stuff that is bolted on instead of integrated in the core (with all issues related to that), etc.

I've grown out of CI in that respect, and use another framework, but for CMS based apps Pyro is still my number one choice.


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]skunkbad[/eluser]
I have used CI to query a database that is controlled by Wordpress on a sub-domain. It doesn't allow for all of the features of Wordpress, but it allows for custom features that are easier to pull off in CI. the queries are actually quite easy, and pageload is significantly faster than Wordpress.


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]vincej[/eluser]
Thanks Guys - I'm trying to get my head around this, and perhaps I am being ham-strung by the limitations of the experience I have just had building this order processing app. You see the front end looks like so many other public websites with e-commerce built in. However, 80% of the code has gone into the back end 'Administrators' side where all the order processing occurs.

While I have built a business app on the back, the customer will for sure want to manage his front end like a website ie add pages, images, text , a blog, navigation etc etc. However, instead of using a CMS to handle this part I built it all with CI. It seems to me that I perhaps did the wrong thing.

I want to do it 'right' next time, but I feel at home in CI now and don't want to spend a bunch of time learning stuff which I might not need like EE or Pyro, but then I don't want to reinvent the wheel with a bunch of CMS-like custom code either.

I get the feeling from your posts that perhaps in the case of my order processing system I should have bolted it into Pyro ? is EE really that much harder to work with ?

Many many Thanks




What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]WanWizard[/eluser]
Always diffcult to judge from the sideline, but given your description, I would have probably written it as a Pyro module.

Which you still can do if you feel it will save you time implementing the other requirements your client might have. Afterall, Pyro just uses HMVC to add module support, each module has it's own models, controllers and views. Converting it should not be to difficult if you haven't done any crazy stuff in your app.

He, if it's not to client specific, you can even put it in Pyro's store, and make a few bucks extra from it. Wink

I can't comment on EE, I've never used it. But then we specialize in "corporate apps", which often run in an intranet context, and only perform business functions, no blogs, forums, or other public stuff.


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]vincej[/eluser]
thanks WanWizard - I get it... most / a lot of CI developers do back-end only dev's hence no need for that CMS stuff. Got it. I have to check out your products and your site, perhaps there is something there to make my life easier again ... so much to learn .. so little time.

Cheers !


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]WanWizard[/eluser]
I doubt it, we don't publish anything (most of the stuff we make is customer owned and propriatary anyway).

Stuff that is public I publish on github under my own account.


What do YOU do when you need CMS capability ? - El Forum - 06-01-2012

[eluser]vincej[/eluser]
Thanks anyway WanWizard - it makes sense now - I read your bio on your site ... we must be similar ages ... in fact I grew up in Holland ( Den Haag) , but spent 23 years on the IT consultancy side ... am now self employed / student developer. Am 5x happier ! With my background in ERP, the one thing I do not find hard is know the correct business processes and work flow.

Translating that into correct syntax can sometimes be a little harder. But I would rather have it that way as if you are a young developer and don't know business process and have to go the customer all the time to hear what next they want - well your'e screwed. In fact I am telling my customer how to run his business ! :o)

Thanks again !