My ideas
Adrián Ribao <[email protected]> Fri, 21 Apr 2006 18:13:21 +0100
| Newsgroups | gmane.comp.cms.bitflux.general |
|---|---|
| Message-ID | <[email protected]> |
Hello everybody. In this mail I just want to explain my ideas about a CMS and
especially a CMS based on XML. I don't want to bother anyone with my
commentaries, I know that there are a lot of developers working in this
project and with great skills. I repeat, this is only an opinion.
First of all, I want to congratulate everybody with their job. BitFlux seems
to be fantastic.
I wanted to start a project, something like a CMS but based on XML, the
problem was my lack of time and experience, so I decided to look for something
that was already started to colaborate. I only found Bitflux.
I have been trying to learn about it the las days, above all, the plugin
system, because is one of the most important things in a CMS. Let the people
have what they want to have.
After read about it, I think that it's very complicated to start, and maybe
develop if you don't know how BX(bitflux) works deeply.
My ideas about a XML based CMS are these:
1-) Plugins must be as independent of the CMS as possible. That's the big
philosophy in XML, do everything independent. Data and Format. A plugin is
only a module that has some inputs and one output, so a plugin should return a
XML file with a XSLT associated. I had in my mind a universal module for
whatever is the CMS as everybody can use XML and XSLT to do whatever the want
inside the CMS.
- The configuration:
Create a directory with the plugins i.e. "./plugins/" and a directory for
each plugin i.e. "./plugins/quotes/". After, create a XML inside of the
plugin directory ("./plugins/quotes/config.xml") that configures the plugin,
("./plugins/quotes/output.xml"./plugins/quotes/,
"./plugins/quotes/template_X.xslt" and "./plugins/quotes/render.xhtml") for
the output. In there "./plugins/quotes/index.php" perhaps with one common
function as "plugin($args)" or something different that creates the XML file
and the XHTML file, so depending of the arguments, can render the questions
of one poll, or the results.
In "./plugins/quotes/admin/" it would be the admin functions, XML, XSLT and
XHTML or just definitions similar than dbforms2.
To include the functions of the framework inside the plugin just include in
the index.php the functions, "include('dbforms2');" This way, the plugins
could be adapted to the framework and get resources from it.
One of the keys it would be the "./plugins/config.xml" where all the plugins
give the information to the CMS, i.e. Name, if it's activated, position of
the render (left, center, right...),path.
"<plugin activated="1" name="quotes" >
<path>./quotes/</path>
<position>left</position>
<weigh>1<weigh>
</plugin>"
And the best of this is that install plugins is very easy, just modify this
XML file, copy the plugin to the diretory in the right place and that's it.
One file called install.php can do the job easily, and of course uninstall is
almost the same.
The CMS only should "look" at this file, and call the function of each of the
activates modules, give them the inputs, take the xhtml or the xml and set it
in the right place.
As xhtml is XML, it's easy to modify some things with a good XML framework. We
can use our CSS styles or Javascript files in our XSLT if we need it, then,
take it out from the xhtml rendered file, and setting it again in the final
xhtml file, and this way, the plugins are fully customizable, and or the
installation is not necessary modify any template! Modifying templates and
files in the installation is not good, with the time, the maintenance becomes
harder and harder.
2-)SVG is XML! I think that SVG graphics will be something very interesting in
the near future, we can create easily with GPL software as Inkscape, and we
already have a good open library open http://www.openclipart.org. The idea of
a XML CMS, is to take advantage of all the technologies based on XML such as
SVG. The logos could be created for everyone, and then, with a XSLT template,
change the text of the logo and replace it for the title of our CMS
automatically! So for the first time, maybe it's possible run a repository
with themes, modules and logos!Let's see.
3-)Repository. Using XML, it's very easy to keep everything updated. It's
possible create a repository with an XML file of information for everything,
controlling the version of the module/file/theme, download the newest and
install automatically. And even in collaboration with openclipart.org, we can
use a search engine to search images in the server (All the SVG files have
tags), download to our own server and use it. That's one of the point of the
XML, easy interaction.
4-)Find everything related with XML and use it. Jabber is a good example.
Maybe at this moment is difficult to find some good utility, but we'll do it.
The admin of the CMS could know what's going on immediately using jabber.
Don't forget that Google Talk is based on Jabber.
The conclusion is that we have to take adventage of this technology, BX is the
first CMS using it (I think), and those who hit first, hit twice! Finally we
could have everything we need.
These are only my ideas. And I have a lot of them more, and also I know how to
make them possible.
What about yours? What do you think?
Thank you.
--
bitflux-cms mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bitflux-cms