Article

Interview - John Cox of Xaraya

Page: 1 2 3 Next

What aims did you have for the project when you first set out? What made you decide to start developing this new system?

It all started as a desire to finish our “better mousetrap.”

Xaraya itself started because of fundamental disagreements in what the mousetrap should look like when it was finished during our time at PostNuke. When you put passionate people together long enough, good and bad things can and will happen. This was the case last year with PostNuke development. The folks that stayed working with PostNuke are all very competent professionals; however, change was needed in order for our original vision to be realized.

The reasons for the development remain the same today as they were nearly two years ago when Greg Allan, Sean Finkle, Harry Zink, and I began PostNuke. We wanted an extensible content management system to perform a variety of different functions on Internet and intranet applications. We wanted something that provided just the bare necessities and allowed plug-ins to do the work of the functionality. Xaraya 1.0.0 is the completion of that vision.

Why have you decided to separate the 4 elements form, function, content, and design? What advantages does this pose?

Separating the processing from the presentation allows quite a bit of flexibility not just on the output side, but on the processing side as well. We aren’t tied to displaying the strict output of a query or a function, and enjoy greater flexibility to manipulate and massage the processing to several desired effects.

The original system was designed by Jim McDonald during our time at PostNuke, but has since been extended to a new level by multiple sources within Xaraya (Paul, Marco Canini, Flavio Botelho, Michel Dalle to name a very few).

It is much easier to re-use queries from multiple input sources, rather than using inline sources to do the same job. For instance, here’s an example of a work flow for non-separated output:

The user enters information into a form. That information is sent to a function which first does checks and cleans the input, (hopefully) looks up the desired information, and then displays the result. For each other form or action, repeat this process. It’s very difficult to separate out this output and process it in multiple fashions, and it is also difficult to reuse the query to do a similar action (although not impossible). It’s a linear process which is difficult to extend.

With Xaraya, the work flow differs, as several different processes work together to produce a single, or multiple, desire effects. The form or action is still completed by the end user, and the input is still validated, but from there it can go to multiple parts of the system, in accordance with user preferences.

The queries are performed in a non-linear way, which provides the ability to reuse code, and creates true consistency throughout the Website. One query could be reused by 50 functions. In addition, one module could be called by many others (depending on preferences), allowing much accelerated development.

There is no reason to rewrite a comments system multiple times. Instead you can call the comments to display via a hook, or you can make direct API calls into the comments to gain finer control over the output that the end user sees.

Why would a Webmaster want to use Xaraya on his/her site?

I initially got interested in content management for several reasons. More frequently I needed to dynamically generate items so that I wasn’t stuck creating a static site over and over again. I am lazy, quite frankly, and I want to concentrate on my content and design, rather than constantly have to worry about manually uploading and updating html pages. Xaraya gives the Webmaster the ability to leverage their design and content skills, and no longer worry about the small mundane duties that go into maintaining a Website.

These are very general reasons of using a content management system and have been sold to most Webmasters already. CMSs are a dime a dozen now, so, to stand out from the crowd, paradigm shifts are needed in terms of understanding what actually can be done to make a Webmaster’s job easier.

The articles system, combined with the dynamic data system (both written by Michel), means a Webmaster no longer has to wait for developers to dream up new modules. All the Webmaster has to do is dream up what they want to display, and from there it’s just a matter of adding two templates into the system, and creating a new publication type to gather the data.

Here’s a recent quote from one of the people from our mailing list who has been playing with Xaraya:

“Do you guys/gals have any idea what you've achieved here? Silly question, I know. You have given me a CMS that is capable of showing almost anything in any way that I desire. This has always been the dream of other CMSs. No longer must we wait while someone modifies the guest book, No more waiting for someone to develop a recipes module. No longer waiting for someone to add categories to the reviews module and on and on...

You have given the common user the POWER to be a self sufficient Webmaster…” - Craig Hamlin 5/28/03

Xaraya is still in development. How far along the line is it? Do you have an estimated 1.0.0 release date?

Unfortunately, I can’t estimate the final stable release. I can say that I expected to find fundamental flaws with the design during the Beta process, and I am happy to say that none have been reported as yet. So, the design is for the most part, stable, but the “attention to detail” items remain. Small changes and fixes take a good deal of time to get exactly right. In addition, we have code consistency to think about on both the display and code sides, in order to give a polished feel that everyone desires.

That said, even in development process, we take time and effort to ensure we make quality changes. A good deal of work has been diverted to complete unit testing on the code base. This has been fully developed with our XML parsing routines and has the desired effect of producing higher quality code than that sometimes found in open source CMS systems. That is not a slight on anyone who spends their free time developing a tool for others to use, it’s more an indication that we’re dedicated to doing the project right.

The most popular systems, PostNuke and phpNuke, provide extensive support for customised styles. Xaraya also has this support, but what makes it worth using? How customisable is the styling system?

Every output that Xaraya shows is from a template. The *Nuke style systems allow a custom theme (there are some advanced versions for both PHP-Nuke and PostNuke) which provides the user some control over the output. Both those systems also have some style sheet control over the output, but in many cases it’s inconsistent within the modules (or even the themes themselves). All of this is moot with Xaraya.

We’ve introduced a template system that allows a designer complete control over the entire output if they want it. Each output template can be overridden within a theme so that each theme can produce a completely different style of site. Going even further, there are various other override controls within the template system that allow a designer to create a consistent UI to administer the site, while presenting a completely cutting edge design to visitors.

In addition, what’s really valuable is breaking out the output so that it can be displayed in various formats (limited only by your imagination). Need to print something, but don’t want to load extra CSS on a page view? You can do that with a theme. Want to display something in RSS format? That can be done as a theme as well. Do you want to have your Website only generate PDF documents? That can be built into a theme. Want to be really cool and amaze your friends with your XUL knowledge? Guess what? That’s as easy as building an XUL theme (which we already have a proof of concept design somewhat working).

In addition, Marty Vance (among many others) has spent a great deal of time on the CSS standards for Xaraya. His work provides even greater control, allowing the non-designer to change quickly the formats of their themes without undertaking considerable work on the presentation layer of Xaraya. We haven’t spent much time working on showcase themes to exhibit the functionality, but as we wind down development and have the time, we will be showcasing the functionality. In the meantime, we’re answering questions and hoping some of the early adopters of the technology manage to wow us first.

If you liked this article, share the love:
Print-Friendly Version Suggest an Article

Sponsored Links