Database controlled CMS Plugin Architecture

Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.

Moderator: General Moderators

Post Reply
Paul Arnold
Forum Contributor
Posts: 141
Joined: Fri Jun 13, 2008 10:09 am
Location: Newcastle Upon Tyne

Database controlled CMS Plugin Architecture

Post by Paul Arnold »

This thread extends the one in General chat regarding plugin architecture. Didn't want to hijack.

I'm writing a new CMS for our company and I want to be able to add new plugin modules as and when.
To start off with I'm going to have blog, news, page content editor plugins but I want to be able to extend the number of plugins depending on which site I'm using the CMS with.
I also want to have this controlled by the database so that ultimately we can centralise our client's CMSes and control them from one location eg, add/remove features.
Has anyone ever done anything similar or got any tips on how to implement this?
I've got a few hazy ideas at the moment myself but could do with some input.
alex.barylski
DevNet Evangelist
Posts: 6267
Joined: Tue Dec 21, 2004 5:00 pm
Location: Winnipeg

Re: Database controlled CMS Plugin Architecture

Post by alex.barylski »

I've been working on a component based CMS pretty much since I started programming in PHP...learning Joomla was probably one of the best and worst learning experiences of my life in this regard.

Go study Joomla plugin architecture, fundamentally they do it spot on, architecturally, they are better than most, implementation wise, the code is a bloody mess. :P
User avatar
allspiritseve
DevNet Resident
Posts: 1174
Joined: Thu Mar 06, 2008 8:23 am
Location: Ann Arbor, MI (USA)

Re: Database controlled CMS Plugin Architecture

Post by allspiritseve »

PCSpectra wrote:Go study Joomla plugin architecture, fundamentally they do it spot on, architecturally, they are better than most, implementation wise, the code is a bloody mess. :P
Any chance you could elaborate on the 'fundamental' aspects of their plugin architecture that are 'spot on'?
josh
DevNet Master
Posts: 4872
Joined: Wed Feb 11, 2004 3:23 pm
Location: Palm beach, Florida

Re: Database controlled CMS Plugin Architecture

Post by josh »

Its really easy to bootstrap into their MVC, use their request object, or very easy to implement your plugin as a simple procedural transaction script or bootstrap some other framework and integrate with theirs. They make a distinction between plugins which are event hooks, modules which are widgets in the page ( that can use plugins & components ) and components basically mean you are writing your own entire module for their application. The great thing is your module has a single point of entry to do it's own bootstrapping, completely freeing you to implement your own architecture if you wanted
Post Reply