The Official Xanjax Blog

AJAX Client Side CMS

July 11th, 2009 by chappo, in Xanjax Chat

Xanjax XHR/AJAX Client Side CMS is here!

I like to call it C two MS or C squared MS (C2MS). I’ve dubbed it C2MS because not only do I predict that client side CMS will be the second generation of CMS, but that incredible flexibility will result from the combined deployment of server side CMS and client side CMS. That’s the C squared bit!

I predict here and now that C2MS, or whatever you want to call it, will be yet another generational leap in Web interaction. Xanjax’s own C2MS is just a tiny step towards this new generation.

Xanjax C2MS uses JSON template files. Denoted by a file extension of .ctx, under Xanjax these are called context files, or simply contexts. These need to be manually edited at this time, ruling out beginners until Xanjax includes an authoring tool. For the seasoned Web Designer however, the power of C2MS is well worth the editing effort. Just as a CSS style can be changed site wide with a single property change, C2MS sub-content such as an advertisement,  menu, link list, or image, can be changed, either site wide or selectively, by a single change in a JSON Contexts file.

With C2MS, a single change in a single place can alter how sub-content is viewed site wide or by page. The contexts are fully processed client side, perhaps reducing server load by up to 90% compared to server side CMS systems. With C2MS, the server only has to do what servers do best; that is, serve files and authenticate users.

Download the Xanjax sitekit and have a play with this new technology.

Xanjax C2MS is so new that you can even have a hand in how the technology is developed. Use it, send feedback about what else you think it should do, or what should be changed, and it will probably morph with users wishes.

I’d like some developement help with Xanjax too. If after you have used Xanjax, you understand it, like what you see, and have the discipline to write or maintain tiny fast code and/or understandable documentation I’d like to hear from you. I’m interested in people who can organise and maintain, just as much as I am in people who can implement tight, fast code from novel ideas. Of course, because Xanjax is Free Software, you’ll be doing this entirely as a volunteer, or for the good of the world, or for status, or whatever…  unless of course you come with a huge funding donation – and then I get paid first…  :-)

No Comments »

Xanjax Update 10/07/09

July 11th, 2009 by chappo, in Xanjax Chat

Xanjax Release Candidate 1 is now ready for download.

Client Side CMS is now an integral feature of Xanjax, which has developed way beyond the AJAX History framework it once set out to be. Other features include Server Pushlets, AJAX based Webmail, and AJAX PHP support.

The core Javascript code of Xanjax remains tiny at about 10 kilobytes. An extra 4K gets you Client Side CMS using JSON templates, and a further 5K gets other extras including Dynamic Font Scaling and Dynamic AJAX Conversion of Legacy PHP Forms.

In other words, you get all the functionality of Xanjax for a mere 20 kilobytes of Javascript code. And that’s not compressed or minified. Compressed, total Javascript size shrinks to around 7 kilobytes. Supporting PHP code, if used, is similarly tiny.

To understand what Xanjax is really about, you need to download and use the Xanjax Sitekit, which is a combined Xanjax demo and tutorial.

NOTE: Because Xanjax is an XHR/AJAX framework it must be served by a web server, otherwise it will not operate.

Note that library and function names are still subject to change until release of version 1.0 and there may be minor function parameter alterations also.

No Comments »

Xanjax Release Approaches

July 9th, 2009 by chappo, in Xanjax Chat

I’ll soon be confident to give Xanjax the thumbs up for version 1.0 official release.

There’s still work to be done defining API’s and finalising library and function names so it’ll still take some time, but the code seems to be stable now. If you find any bugs, please report them as soon as possible so they can be corrected prior to version 1.0 release.

There are two main areas I want to address in the short term, post version 1.0 release, with Xanjax. The first is a code tidy-up with an emphasis on further code size reduction and performance improvements, and the second is a super fast and compact widget library to put Xanjax firmly in the Web Application space.

I’d be very keen to get some coding and documenting assistance, so if you support free software philosophy, and are technically able to assist, please contact me. This would make a superb study project for anyone wanting a real challenge because the total Javascript code size of Xanjax including all extensions is still way under 20 kilobytes, so the bar is high. As far as I know, there is nothing coming anywhere near as small and fast as Xanjax, and as the technical director of the project, I intend to keep up the size/performance pressure, so it’s lots of fun trying to do the impossible!

I’ll be scaling back my own contributions to Xanjax for a while, because I’ve got business projects to attend to; but as these other projects will be based on Xanjax, any problems that arise should be noticed and fixed in due course. Then of course there’s always the possibility that there’ll be something that I need to do that Xanjax still doesn’t – leading to more development….

1 Comment »

Client Side CMS Emerges

July 9th, 2009 by chappo, in Xanjax Chat

Xanjax has now morphed into a client side content managment system. The core code size is still only 10K uncompressed!

As you may remember, Xanjax started out just being an XHR/AJAX navigation/history framework. It all came about as a bit of a surprise after I wanted to create programmable menus, which I decided on using JSON for. While I was nutting this out, I had something of an epiphany leading me to a very compact method of processing JSON objects, which in turn led to the CMS template support that Xanjax now offers.

This should be very useful to web designers converting static websites into dynamic ones, and also to organisations needing to host as cheaply as possible because server load is outstripping revenue growth. By processing client side all content associations, or contexts as I call them, the web server only has to serve files, which is very efficient. Client Side CMS should outperform Server Side CMS dramatically on low end servers, and due to a reduction in caching granularity there should be an improvement even on high end servers.

I already have enhanced SEO/Accessibility degradeability working on the templated content, using a supplementary PHP module. This will be available for release very soon, and it simply processes the same JSON format template file. This means you can have SEO readable content with no additional design effort.

Not everyone will be comfortable at first with JSON template files, but I can promise that the efficiency is worth the initial struggle with JSON syntax. You only need a few days to get over the unfamiliarity. I have kept the template keywords as simple as possible consistent with flexibility. Templates can be nested, so there should not be problems with scalability. Look at the commented root.ctx file in the Xanjax sitekit for more information, and for an output example navigate to json contexts (#contexts.xml) in the sitekit.

2 Comments »

footer