Personal tools
You are here: Home  
Document Actions

KSS, Ajax with style

by Balazs Ree last modified 2008-04-13 14:52

KSS is an Ajax framework that allows UI development without writing any Javascript. It uses style sheets with CSS-compliant syntax to declare and bind dynamic behaviors in the browser. The engine supports a set of generic DOM-like commands; they are computed on the server and sent back to manipulate the HTML page.

What is KSS?

KSS is an AJAX framework.

KSS has both a client-side Javascript library and server-side support.

The client-side Javascript library needs to be included in your page. It fetches Kinetic style sheets from the server, parses them and binds a set of action to browser events and/or page elements. It is clean Javascript code that can peacefully coexist with other clean Javascript libraries like JQuery or ExtJS. It is about 100k in production mode. You can integrate your own Javascript code by using its extension mechanism through plugins.

Server-side code is currently available for Zope (2 and 3, which includes Plone). The kss.base egg (which is currently in alpha) brings server-side support to other pythonic platforms, such as:
  • pylons
  • django
  • grok

The Javascript client-side code can be used independently of existing server-side support. In other words, it is usable on platforms where we have not built server-side support like PHP, Ruby or Java. (If you have interest in porting KSS to the server environment you use and need help, please contact us !)

Quick Start

Look at the tutorials.


At the 2006 Plone Conference in Seattle, we received the following feedback:

Oh no, time to go rewrite that last interface I made... That's a good thing! This seems so powerful and will help keep me from having to deal with JS. Thanks.

What can I do right now to azax-empower my products? How will this make my sites more interactive ? It made me think about how my site can become organic, behavioral, and much more interactive than a brochure. No need for FLASH either! woohoo!

I was blown away by the technology and enjoyed the simplicity of KSS, although having the code in more than one place still means hard-to-troubleshoot to me. KSS is a conceptual change that makes a lot of sense to me... and I love the idea.

Development proceedings

We write about ongoing development in our blog (RSS2 or RDF).

KSS for Zope (kss.core)

KSS for Zope builts server side support, simple resource management and product-based plugin architecture.

We support the following versions:
  • Zope 2.10
  • Zope 3.3
  • Grok (since kss.core 1.4-alpha)

(The original name of KSS for Zope was Azax, which has a branch for Zope 2.9 which is in maintenance mode.)

KSS for Plone (

The component :

  • does basic integration of KSS in Plone,
  • implements server-side code to play with other components of the Plone framework like viewlets, portlets, parts of the Plone UI,...
  • contains plone specific KSS plugins to handle JS code that existed in Plone before KSS.
It is built-in Plone version 3.0. It depends on kss.core.


A list of websites using KSS is maintained here.

    More information

    There is some documentation available. We also started a new documentation center.

    Also there are some random notes about the development.