What's New

Page-View Design Pattern

Raxan Beta 3 introduced a switchboard page handler that was designed to manage actions requested by the client. In RC1, the Switchboard Page Handler and Action has been replaced with individual Page view handlers and view mode. Learn more about Page Views.

Flash Messages

With the new flash message API, developers will be able to quickly display messages within a web page.

    protected function speak($word){
        if ( !$word) {
            $this->flashmsg('I have nothing to say.');

To display flash messages within the page, you only need to insert an HTML element with the class attribute set to flash-message:

<div class="flash-message"></div>

Server-Side HTML5 Validation

Basic HTML5 validation has been added to the framework to make it easier to validate client inputs. With just a few line of code, you can check for valid inputs:

    protected function addItem($e){
        $frm = $this->webForm;
        if ( !$frm->checkValidity(true,'required') ) {
            $this->flashmsg('Invalid input values');
        } else {
            $v = $frm->validValues();
            // some code here....
            $this->flashmsg('New item added');

Since we're doing HTML5 Form validation on the server-side you only need to type the HTML once:

<input type="text" name="itemname" id="itemname" value="" maxlength="50" required />
<textarea name="description" id="description" cols="10" rows="5" maxlength="250" required></textarea>
<input type="submit" name="submit1" id="submit1" value="Submit" />

Supported HTML5 Validation constraints:

• Maxlength
• Required
• Min / Max (only works with type=number )
• Email
• Number
• Date
• Month
• Pattern

Improved CSS theme

Designing great looking web pages and applications has been made easier with the new integrated jQuery UI CSS theme-able classes. Just include the default theme or create your own and you're ready to go.

Improved Sanitizer

The new web page "post" and "get" properties makes it easier to get access to all your HTTP POST and GET values while being able to filter and sanitize values.

    protected function saveData() {
        $id = $this->post->intVal('id');
        $name = $this->post->textVal('name');
        $email = $this->post->emailVal('email');
        $age = $this->post->intVal('age');
        // code to save data...

Improved Template Binder

New Template Binder optional make it possible to add CSS classes while rendering a template. It's also possible to dynamically format display values from a callback function.


The UI support for Raxan has been overhauled to support new components and widgets. New features include support for inline properties (e.g. xt-ui-background, etc), new event handlers and a new RaxanUIContainer class.

Asynchronous Data Conduits (experimental)

Data Conduits are special data links between the client and the server. With these data links you can easily control the flow of data from a web page on the server. Learn more about Data Conduits.

Up Next Change log