Butterfly--a web-oriented content management system based on Web 2.0 concepts and technologies.
Kristaly, Dominic Mircea ; Sisak, Francisc ; Bujdei, Catalin 等
Abstract: In recent years, the World Wide Web has been flooded with
many new kinds of web-oriented applications, which changed the role
played by the user, from spectator to actor. The web-sites /
web-applications became more friendly, more stylish, with many new
useful features and a high level of interactivity. New web-oriented
techniques were developed on the existing HTTP protocol, the old ones
were reinterpreted, to offer to the user exciting, new experiences.
Content management systems, thanks to their modularity and
scalability, permits a rapid development of complex, but very easy to
manage, web-oriented applications (websites). The existing content
management systems, however, are somewhat limited when it comes to the
graphical interface with the user and to the effects that can be used
when creating one. They impose some restrictions and a creative
developer must use all sorts of tricks to achieve his vision.
This paper is set to present the architecture for a web-based
content management system that uses the new concepts and techniques
introduced by WEB 2.0.
Key words: web, website, cms, ajax, butterfly.
1. CONSIDERATIONS ON WEB 2.0
Lately there were many discussions, in various circles, and
sometimes controversy about the term Web 2.0 and its true meaning.
Although there can be found thousands of articles on the web, none of
them seems to cover all its aspects, or clear the fog surrounding the
phrase "Web 2.0".
The first conference concerning Web 2.0 was held in 2004 by
O'Reilly Media, the same entity that coined the phrase one year
earlier, and presented the term as a new way to look at existing web
related/oriented technologies rather than a technical evolution of the
World Wide Web (WWW).
The phrase Web 2.0 was actually used before as a synonym for
Semantic Web, a concept presented by the director of W3C (World Wide Web
Consortium), Sir Tim Berners-Lee, which envisioned the future of WWW as
the universal medium for data, information and knowledge exchange. The
main idea behind the Semantic Web it's the creation of web content
using, beside natural language, a form that can be understood by
software agents in order to allow them to find, share or integrate
information more easily.
Web 2.0, as described by Tim O'Reilly, refers to web-oriented
application and services that use the internet as a platform, with its
unique features, relying on its strengths rather than trying to make the
internet suit a particular application. Web 2.0 should change the way
the web it's seen and used by developers and users alike. Stephen
Fry describes the concept, as "Web 2.0 is an idea in people's
heads rather than a reality It's actually an idea that the
reciprocity between the user and the provider is what's emphasized.
In other words, genuine interactivity if you like, simply because people
can upload as well as download".
The recent techniques and services that appeared on the web are
used to develop web applications (websites) that are very similar, as
interaction and features, with desktop, stand alone applications.
The figure 1, constructed by Markus Angermeier, highlights the
concepts, ideas, techniques and technologies behind Web 2.0.
The idea of a presentation-only website, with rigid layout and
styles and many limitations regarding the content and interactivity has
been replaced with that of web-oriented application, or short--web
application.
A web application offers to its users a high level of
interactivity, a dynamic environment, customizable view and the chance
to intervene on the content level.
In conclusion, some of the most important concepts in Web 2.0 are:
* usability: the application must be easy (natural) to use;
* standardization: compliance with current standards in web
applications development (i.e. XHTML for source code, WAI for
accessibility, etc.);
* design: a web-application must have a pleasant, yet practical,
look-and-feel for its user-interface;
* participation: the application allows the user to intervene at
content level (i.e. edit, tagging, sharing, etc.);
* convergence: the web-application makes use of many different
technologies, yet it must present to the user a unique, coherent
interface.
2. CONTENT MANAGEMENT SYSTEMS FOR WEB
A content management system (CMS) is an application that allows the
user to manage data and information from/in a system, through a
user-friendly interface, usually a GUI (Graphic User Interface).
[FIGURE 1 OMITTED]
A web-oriented CMS manages the content of a website. There are
specialized CMSs, that manages only a part of the data present on the
website (i.e. the products of an online store, user data, feedback from
users) and general-purpose content management systems that manages all
the information contained in a website. The later are complex systems
that manage not only the data, but the structure of pages from a site,
the templates (the look-and-feel) and the features they are providing.
These CMSs are usually modular and offer APIs (Application Programming
Interface) for developing new modules to suite every developer needs.
But their complexity determines some drawbacks when it comes to the
look-and-feel of the website--not all templates can be applied as they
were designed. Also, writing new modules can prove to be quite
complicated and for the majority of existing CMSs there is no complete
documentation available. The lack of documentation is also the reason
for the long time needed to learn to program- or better said, to
configure--such a CMS.
The web-oriented CMSs come with many built-in features that do not
use the latest web technologies or techniques, so using them on a
website can be prove to be difficult if not impossible.
3. BUTTERFLY--A BETTER WEB-ORIENTED CMS
3.1 The idea
Butterfly is the name of a web-oriented CMS which is being
developed by the Automatics Department of "Transilvania"
University of Brasov, and set its goal to offer a framework for a
complex web-application for the Electrical Engineering and Computer
Science faculty. This application will include features requested by the
faculty's students, such as:
* student's community with blogs, wikis, chat rooms, files
repository, forums;
* online academic situation for each student;
* personal pages for students and teachers, including an online
tool for creating CVs
* presentation site for the EECS faculty an its curricula.
3.2 The technologies
The CMS is organized as a three layered application: server, client
and data layer.
The server uses the PHP script language, running on an Apache web
server. On the client side, HTML and JavaScript it's used. The
styles are controlled by CSS files (Cascaded Stylesheet).
The data layer is composed from XML files and one database. The
database management system used is PostgreSQL, but another one can be
used. The CMS has a module--DBA (Database Abstraction)--that offers
standard methods to access any SQL-compatible database management system
(i.e. MySQL, Microsoft SQL, etc.).
The HTTP requests are made using AJAX technique.
3.3 The features
The Butterfly CMS must have the following features (Fritz et al.,
2002):
* easy to use for users and developers alike;
* error-proof and error-safe;
* security;
* XHTML compatible;
* WYSIWYG editor;
* page scheduler;
* includes a tool for management of pages;
* includes a template editor (using a script language or a web
interface);
* offers a search engine;
* offers a programming API;
* support for multilingual sites;
* platform-neutral: must be portable on different operating
systems;
* scalable in term of content;
* management of files: uploads and downloads;
* offer support for extensions (plug-ins) that can be developed
using a script language;
* integrated statistics;
* rights management;
* support for graphic files creation;
* support for RSS feeds;
* support for metadata;
* offers documentation for users and developers.
3.4 The implementation
The CMS has two sections: the frontend--destined for the users of
the website and the backend--used only by the administrators, editors
and teachers.
The frontend's look-and-feel is controlled by a configurable
XHTML template, through a script language. The CMS has a built-in search
engine that can be added to the template (to the frontend) using the
script language. The access to the backend will be granted after an
authentication process based on username and password.
The template is a XHTML file with special markings in the places
where content elements will be inserted, each marking baring a name that
is used when content of pages is created, to identify the sections.
The web pages are generated accordingly to the template, from one
or more articles. Each article is composed from content elements
positioned according to a customizable layout.
The content elements can be any type of HTML elements: formatted
text, tables, images, flash movies, java applets, multimedia files. Each
of the content element types is managed by one content extension--a
module of the CMS. Where needed, the formatted text is edited by a
WYSIWYG (What you see is what you get) editor.
An extension registry keeps track of all the installed extensions
in the CMS.
All the extensions offer backend and frontend means to edit and
render the content.
Each page can be scheduled to be visible in the website in a time
interval or for a specific type of frontend users.
The pages can have multiple versions for each language supported by
the developed website.
4. CONCLUSION
The development of the Butterfly CMS is in progress, including the
application for the EECS faculty site (the Student's Community).
The whole architecture (concept) is finished and the development is
underway.
There are a number of features that need developing, like: the
database abstraction layer, the extension registry and manager and the
template editor (with its own script language).
5. REFERENCES
Fritz, R.; Hinderink, D. & Altmann, W. (2002). Typo3:
Enterprise Content Management, Electronic format
Internet resources available from:
http://www.w3.org/ Accessed: 2007-08-30
http://www.cmswiki.com/ Accessed: 2007-08-30
http://www.cmsreview.com/ Accessed: 2007-08-30
http://www.roxen.com Accessed: 2007-08-30
http://www.typo3.org/ Accessed: 2007-08-30