Article
Interview - John Cox of Xaraya
What can you tell us about the module/block system?
The module/block system is where the functionality of Xaraya is plugged in. By itself, Xaraya doesn’t do a whole lot. It manages users, and provides the backend so that the functionality can be tailored from site to site. The modules provide the functionality that you see when you visit any site built with Xaraya. They process information, then send it back to the screen to be displayed.
The blocks are very similar, except I look at them as “helpers”. At this time we can process on module instance (plans are in place to move to a more page-type display), but you can introduce blocks to help the functionality along. Blocks get their name from the *Nukes, but despite their name, they have nothing to do with the display feel they need to take.
For instance, we use the blocks to process Meta information. By doing this we created a header block that’s displayed in the <head> to </head> portion of a page, and adds to the dynamic processing of that page. Any module can send its content to the Meta block, and the Meta block can generate dynamic Meta keywords.
Usually, there are similar design elements to any Web page. You have some sort of navigation, maybe an advertisement, possibly a small reminder or teaser note, and finally you have the content. Xaraya makes it possible to dynamically generate these individual design elements. If we take the example above, the module would process the content while the blocks handle the rest.
What are your plans for the future in regards to this site management tool? And how will it develop after the initial release?
Marcel and Paul have been working on the vision document for the 2.0.0 release cycle. We will have another election for the PMC around the 1.0.0 release, and we’ll go from there. We’ll make the 1.0.0 release the benchmark by which others are measured (and that’s tough, considering the market, but everyone needs goals!), all the while tearing down our “better mousetrap” and creating an even better one.
As to how that will look when it’s finished, I can’t say. My plans are to step back from the PMC, spend more time on the code after 1.0.0, and let someone else have the fun of guiding us.
We will, more than likely, follow the same path we did when we started, except now we will have a stable release to support. Incremental releases and benchmarks are fun, but they tend to slow development, as we have needs for feature freezes and support issues directly following a release. Hopefully, we’ll have a stable tree, while parallel development occurs with the development tree. It alleviates the boredom of staring at the same code every day.
You've spent endless hours coding and supporting customers for free. What's your motivation for doing this? Do you plan to ever make money out of this project?
I enjoy having a hobby. If I wasn’t doing a CMS, I’d be collecting stamps, building model airplanes, or one of the myriad of hobbies that others have. For me, this is just fun. At times it can be tedious dealing with the occasional troll, but on the whole I wouldn’t trade the experience for anything.
As for money, I’m like anyone else, and would love to spend all my time doing what I find most enjoyable. I may attempt to consult, or find some other opportunity after someone else is running the show, but for now I’m pretty content and look at the time I’ve spent as a learning experience. I’ve made many new friends, and money just can’t buy that.
The Xaraya project is currently at version 0.9.0.4 and is therefore almost complete. You can download the system and set it up on your own site. A number of users have already done this. You can see their sites here.
SitePoint thanks John for his time!