Site framework with optional modules
Posted: Sat Nov 29, 2003 10:01 am
I am about to make a framework for different site capabilities using a template caching template engine I wrote.
I want to create a system that can "load" modules. I plan to be able to reuse the framework for different applications.
So all intended applications have some things in common.
* user accounts, with at least one priviliged account, to admin the sites.
* other common functionality, like validators, an iterator, blah blah.
(a quite stripped down list
)
Application examples that are supposed to work standalone or as sisters in the same site:
* news system
* todo list
* e-learning
Now I want to make these modules optional, in the way that if they don't exist in the source tree, they are disabled and if they exist, they can be enabled and configured through browser by admin.
Anyone with experience?
Is this stupid?
Any arguments against building this kind of complex system?
If you think it is an idea worth its development time, how would you make these modules loadable?
I think of a core library containing everything needed to serve modules with user accounts, validation routines, template engine and such.
Then these optional modules reside in a subdirectory called modules, and all these have some kind of activation routine callable by admin that create db tables and such. Modules can depend on each other or have functionality missing if a specific module is not there.
A "registry" in the core library keeps track of these modules and interlock by dependencies and other appropriate things.
You might think I am not really sure about how I would like to do it... That's exactly the case.
I have realised that it'll take som clever brains to make this work and make it work good AND developed within reasonable time.
So, please tell me if you think this is a too ambitious project model or if you have opinions on the implementation draft.
(And oh! I am alone developing this.)
I want to create a system that can "load" modules. I plan to be able to reuse the framework for different applications.
So all intended applications have some things in common.
* user accounts, with at least one priviliged account, to admin the sites.
* other common functionality, like validators, an iterator, blah blah.
(a quite stripped down list
Application examples that are supposed to work standalone or as sisters in the same site:
* news system
* todo list
* e-learning
Now I want to make these modules optional, in the way that if they don't exist in the source tree, they are disabled and if they exist, they can be enabled and configured through browser by admin.
Anyone with experience?
Is this stupid?
Any arguments against building this kind of complex system?
If you think it is an idea worth its development time, how would you make these modules loadable?
I think of a core library containing everything needed to serve modules with user accounts, validation routines, template engine and such.
Then these optional modules reside in a subdirectory called modules, and all these have some kind of activation routine callable by admin that create db tables and such. Modules can depend on each other or have functionality missing if a specific module is not there.
A "registry" in the core library keeps track of these modules and interlock by dependencies and other appropriate things.
You might think I am not really sure about how I would like to do it... That's exactly the case.
I have realised that it'll take som clever brains to make this work and make it work good AND developed within reasonable time.
So, please tell me if you think this is a too ambitious project model or if you have opinions on the implementation draft.
(And oh! I am alone developing this.)