A general idea of what Mooffanka is capable of
Screenshot of sWord Editing Environment - click to enlarge
Mooffanka WCMS is a Web Content Management System, written in ASP and which uses an XML database. It is capable of managing an entire site (content, media, users and groups) in real time. Major strong points:
- Multi-user management with dynamic filtering of all contents
- User friendly web interface
- Complete separation of content (XML) and design (any output implemented by the site developer via XSLT).
- Easy to manage, with built in system tools for:
- content management (sWord)
- user management (uMan)
- group management (gMan)
- tree management (tMan)
- tool-centric developing: create site specific tools as add-ons and plugins
- modify XML database access functions to add a different DB (Oracle, SQL, etc.)
B. The History and Philosophy
Mooffanka was born on the ashes of a platform created for the call centers of a former Italian telecom with a total of over 1000 operators. Such a system required a high level of reliability, the ability to manage complex user profiles, as well as handle huge amounts of interrelated data.
Using this experience as a jumping off point, the author of the software developed a code which far surpassed the original in flexibility - Mooffanka.
The content (in XML) was separated from the graphics (rendered by XSLT), thus allowing the same document base to be reused to produce various versions of the same site - not only for web browsers, but for handhelds, WAP, Flash Applications or pure XML data exchange.
The first site based on the new technology went live in August 2001 as a multi-user online diary. The primary necessity was to offer a Content Management System which would allow even the most inexperienced web user to create and manage documents.
Mooffanka supports users and user groups with great flexibility. Every user that connects to the system is identified as a guest and can therefore access all the documents published for unregistered users. Depending on how the site is configured, the visitor may register (sign-up) directly in the site itself, or may be manually registered by the site administrator. Needless to say, once a user is registered, he/she may login to view contents tailored to his/her user group.
User profiling allows for the entire site to be filtered so that any user, at any given point, will only have access to those documents and tools permitted by the profile, without ever even realizing that there are areas being "hidden". For example, if a page contains a sentence which is linked to a reserved document, any user which does not have the right to view the reserved document will see a "normal" sentence without any link or any hint to the fact that someone else might be able to click where he/she can't. The same would hold true for any links to documents which have been removed - Mooffanka automatically filters out all broken links.
2. The Document Management System
Mooffanka provides a system tool (sWord) to handle Documents. Any user who has the right to manage documents can access the sWord interface directly from the site itself.
sWord is a web interface which essentially "wraps around" the site, adding a menu bar on top, a button bar along the side, and a status bar below. Using the menu bar (with standardized "File", "Edit", "View" etc. menus), the user can create and modify document more or less as if he/she were using any modern word processor. In fact, the strong point of the sWord interface is just that - anyone who is even slightly familiar with a common word processor can easily adapt to sWord in just a few minutes.
The web page in editing is presented to the user with the same graphic layout as it will have once published with the addition of small markers which are the tools by which the user can select and edit paragraphs and images.
For example, to show just how easy sWord is to use, to convert text to bold, the user would:
- Click the paragraph marker once to select it.
- Select the text.
- Click the bold button.
The page will refresh and the text selected will be bold.
sWord is developed for editing in-browser, and will not allow editing in non-html formats (ex. Wap/WML or Flash). Nothing inhibits you however, from developing an editor for these environments.
Mooffanka supports multilingual sites. Every site must have a default language defined. New languages may be added at any time, without any repercussions on existing documents or menus.
Mooffanka does not use templates.
In order to maintain a coherent look and feel to the entire site, users may format documents only based on styles configured during set up. For example you may limit text colors and sizes so that "graphically challenged" can't do any real harm to the site's integrity.
Users may create their own document models. Therefore, when creating a new document, the user may start from scratch (default), or optionally choose one of the available models.
For more strict control of layout, the site may be configured to contain formats. Formats, as opposed to document models, are created at system level by a developer. Formats can be used to force the page layout and may contain data fields in addition to the standard document fields.
Site-wide Library and Document Attachments
Every site can have as many site libraries as needed. Libraries can contain any type of media (images, flash, PDF, etc.) and are all accessed via the Library Manager Tool. The site administrator has full control over granting access rights to libraries and their contents.
Additionally, users may choose to upload an attachment to a single document. In this case the attachment inherits all access rights from the document and will not be shared site wide.
All files included in the document or the library are uploaded into the system database folder. The objects are then streamed into the client at run time using Mooffanka's download component. The process is completely transparent to the user but allows the system to properly filter all objects based on user permissions.
Content Types and Multimedia Support
Documents may contain text, tables, images and attachments.
All link types are supported: links to other site documents, external sites, email, mail form, attached files, library objects and page anchors.
In addition to the above, advanced users may choose to insert XHTML code directly into the document. This option allows the addition of video, flash, sound files or any other object or snippet to the document. For example, to include an MP3 from the site library in a page, simply insert the XHTML code referring to the MP3's ID. Done. When a site visitor views the published document, Mooffanka will dynamically include the music file.
To manage work groups, or hierarchical work flows, Mooffanka provides a built in document sharing engine. Documents can be shared either in read only (ex. to get a coworkers opinion before publishing), in read/write (ex. to allow a coworker to make corrections, or even co-write the document with you), or even in read/write/publish mode (ex. to give the shared user full control over the document as if it were his/her own).
Due to its multi-user nature, Mooffanka allows users to assign viewing permissions to every part of a document, right down to a single word.
The author may choose to set access restrictions to any part of the document (paragraphs, tables, images etc.). This can be especially useful when writing a document that will be viewed by a large group of users, while including small bits of tailored contents for different user groups.
Each document has its own set of properties:
- Document type and style
- The language the document is written in
- A summary to use in search results
- Reference date
- Related topics
- Include or exclude the document from site searches
- Allow other users to leave comments on the document or not
Many document properties are assigned automatically to reduce the amount of effort required of the user, however all default properties can be overridden by the user at any given point.
If commenting is enabled in the properties, this will allow other user to leave comments on that particular document. Comments can be allowed as nested or flat.
Flat commenting allows users to comment just the document. Nested comments, on the other hand, allow users to leave comments on other comments. There is no limit to the number of levels for nested comments.
One quick way to create a message board in Mooffanka is simply to create a document with nested commenting enabled. Each comment inserted directly on the document then represents a new thread.
Any user leaving a comment will have access to sWord's powerful formatting tools, attachments and images. Of course, any features deemed "not for public use" by the site administrator can simply be disabled.
The easiest, and most common, way of setting permissions for a document is at the time of publishing. A document may be published for all users, to unregistered visitors only, to any registered user, to a set of users or a set of user groups.
During publishing, the user may also choose how to handle previous versions of the document, whether to remove the last version, leave it online or archive it.
Mooffanka provides a system tool (tMan) to handle Site Trees. Trees use a node structure. Using this tool, a tree manager may:
- Select a tree to edit
- Add, modify and delete nodes to all supported link types as well as folders
- Create a sub-tree node and assign it to a user
- Organize nodes (up, down, make child, make parent, etc.)
- Publish or revert trees
There is no limit to the number of nested levels in a tree. All tree contents, like everything in Mooffanka, are filtered at runtime based on user permissions.
Trees are used most commonly to create a site's menus. They are basically XML indexes that can be manipulated by users via the web interface. As such, they may be called by a site's XSLT for any other use the developer can think of.
Mooffanka provides a system tool (gMan) to handle User Groups. Using this tool, a group manager may:
- Create new groups
- Assign Users to groups
- Manage group properties
Mooffanka provides a system tool (uMan) to handle User Permissions. Using this tool, a group manager may:
- Create new users
- Assign Users to groups
- Manage user properties
uMan and gMan are tightly integrated tools.
Mooffanka has a series of built in system tools. These tools may or may not be employed in a specific application. They are:
- internal search engine
- top ten most recent documents created
- parameterized lists of documents based on type, topic, language and/or author
- list of all links contained in the current document (child documents)
- list of all links to the current document (parent documents)
- specific information on every document (author and email, published date, etc.)
- user profile access
Mooffanka is tool-centric. This allows developers to create application specific functions without interfering with the inner workings of the system. Some add-ons which need to be developed (or packaged in) include shopping cart, forum, chat, donations, surveys, agenda, calendar, etc.
Mooffanka is highly self sufficient. It simply requires a server running MS IIS with ASP and MSXML4 or better in order to handle XML/XSLT processing. All other functionality is handled by the system itself, and does not require any third party components to be installed on the server.