home mail me! syndication

overthinkings

by Ruben Daniels

Ajax.org Platform 3.0 beta2 Released!

Ten weeks after the release of beta1, Ajax.org Platform (APF) 3.0 beta2 is released. Ajax.org Platform, the collaborative application platform, offers an easy to use API to create online applications where users can work together. This release brings APF a big step closer to it’s goal of providing developers with easy to use libraries and tools in order to make the browser the dominant application platform.

Since last release the Ajax.org Platform core team worked very hard to improve the stability of APF3.0. Besides the code itself, the docs and tools on Ajax.org are more complete and less error prone. For this release more than a hundred jira issues were solved and about 500 issues never made it to jira and were solved immediately.

A couple of highlights of this release are:

  • The Property Editor is reimplemented with APF native components
  • Actions with auto-undo is fixed
  • Transaction support is fixed
  • Sync http support is fixed
  • All the skins are cleaned up and new windows skins are introduced
  • Many documentation issues, that were mostly due to doc parse errors, are fixed. This includes all functions on the apf object and parameter descriptions of methods.
  • Overall stability has increased a lot

Please find the downloads at the new download page: http://www.ajax.org/#download.
And the improved documentation at http://www.ajax.org/#docs.

I hope you will enjoy this release and find many of the reported problems solved. Any suggestions and comments are highly appreciated, either below this article or on the Ajax.org forum.

me @ JSConf.eu

Weird angle!

http://www.flickr.com/photos/ipom/4098347932/in/set-72157622643717073/

My presentation on real-time collaborative apps with Ajax.org Platform

I did a presentation with www.mikedeboer.nl at www.jsconf.eu on doing real-time collaborative apps with Ajax.org Platform.

jsconf.eu was really great

Here are some pics:

of me and mike (www.mikedeboer.nl)
http://www.flickr.com/photos/blank22763/4089181805/in/photostream/
http://www.flickr.com/photos/blank22763/4089174871/in/photostream/

and here of Douglas, Malte and Kris in front of our stand
http://www.flickr.com/photos/blank22763/4089174871/in/photostream/

More pictures/videos coming soon, but first, sleep!

Ascii art Ajax logo

I just logged in to the ajax.org server today to find someone made a cool ascii art ajax.org logo as the motd, awesome!

                  MMMMMMM
                MMMMMMMMMMM
               MMMM     MMMM
               MMM      MMMM
               MMM
               MMM       MMM
               MMM      MMMMM
               MMM    MMMMMMMMM
      MMM      MMM       MMM      MMM        MMMM     MMMM
     MMMMM  MMMMMMMMM    MMM     MMMMM        MMMM   MMMM
    MMM MMM   MMMMM      MMM    MMM MMM        MMMM MMMM
   MMM   MMM   MMM       MMM   MMM   MMM        MMMMMMM
  MMMM   MMMM            MMM  MMMM   MMMM       MMMMMMM
  MMMMMMMMMMM  MMMM      MMM  MMMMMMMMMMM      MMMM MMMM
 MMMMMMMMMMMMM MMMM     MMMM MMMMMMMMMMMMM    MMMM   MMMM
MMMM       MMMM MMMMMMMMMMM MMMM       MMMM  MMMM     MMMM
                  MMMMMMM                                   .org

Live Markup, preview of an amazing new technology!

Ajax.org Platform 3.0 will come with a crazy new language, we call Live Markup. It’s a small addition to javascript that introduces two new elements. Live markup is an easy templating language that updates your UI live when data and properties update.

As you might’ve read somewhere, APF3.0 will make it easy to create collaborative applications. Think google wave, but now you have full control over the UI. The big thing about collaborative is the real time factor. When realtime data comes in you want to see the changes live coming into your user interface. This is where live markup comes in.

We’re currently integrating live markup in the new version of the www.ajax.org demo section. The following snippet shows how I use it to create a user interface based on example data coming from the server. I’ll go into more details in another blog article. For the moment notice the following things that live markup introduces:

  • xPath literal using [ and ]
  • XML literal using < and > (remember E4X ?)
  • Auto-concatenation and Auto-output

There’s more to it, but thats the gist of it. Check out the example below. I hope you can appreciate the elegance that Live Markup brings to creating real time user interfaces for collaborative applications. More information to follow soon. We’re planning to release a first beta of 3.0 next week.

<?lm
  <h1>[@name]</h1>

  var i = 0;
  foreach([example]) {
    <h2>Example {++i}</h2>
    <div class="description">
      [description]
    </div>

    <a:tab skin="demos_lowtab" width="653">
      <a:page caption="Demo">
        {"*[source/node()]"}
      </a:page>
      <a:page caption="Code (AML)" render="runtime">
        <pre class="code">
          {apf.highlightCode("*[source/node()]")}
        </pre>
      </a:page>
      <a:page caption="Code (JS)" render="runtime">
        <pre class="code">
          {convertToJsonApi(%[.])}
        </pre>
      </a:page>
      {
        foreach([xml]) {
          <a:page caption="[caption]" render="runtime">
            <pre class="code">
              {apf.highlightCode("*[source/node()]")}
            </pre>
          </a:page>
        }
        foreach([js]) {
          <a:page caption="[caption]" render="runtime">
            <pre class="code">
              [source/text()]
            </pre>
          </a:page>
        }
      }
    </a:tab>
  }
?>

This snippet would operate on a piece of xml like this.

Imagine the data updating live from the server and being automatically reflected in your UI. That’s the type of application we aim to make easy to build.

Will be talking at jsconf.eu, next month!

I’ll have a talk at jsconf.eu next month together with Mike on “Building collaborative applications with Ajax.org platform”. Check out the official announcement.

Hope to see you there!

Simple authentication for complex Ajax applications

Can I do this? Who are you? Yes you can do it.

Authentication is always a hard problem for any web application. For an Ajax application it’s even more complex. Imagine you make a request which gives you an access denied, what state should the application be in? And when the user logs in again, how can the request - or requests that happened while not being logged in - be retried?

This is where jpf.auth comes in. It helps you to set up authentication for your entire application in a declarative manner. First, let’s look at how to set-up basic login and logout teleport methods, to which the auth element can connect to.
Read the rest of this entry »

How to add items to a list

This week’s snippet discusses two methods of adding items to a list.

First we create a list with some inline binding rules. For this example we are using a list with mode=”check” and mode=”radio” set. The mode sets the behaviour of the list, “check” to function as a list of checkboxes, “radio” to function as a list of radiobuttons.

<j:list id="lstExample1"
    mode     = "check"
    model    = "mdlData:question1"
    caption  = "text()"
    traverse = "item" />
<j:list id="lstExample2"
    mode     = "radio"
    model    = "mdlData:question2"
    caption  = "text()"
    traverse = "item" />

We can now add the model to our application:
Read the rest of this entry »

How to integrate crappy banner javascript with your neat ajax application

Many banner companies are using dynamic javascript loading to insert their banners in a website. Most of these companies grew big before the Ajax term was coined and recognized as the future technology of the web. So the scripts they are using assume the page is loading while the script is inserted; they use document.write() to add html to the page. As many of you might know, using document.write on an already loaded page will clear all it’s html and leave you with a white page containing only the banner. In this week’s snippet I’ll show you how to work around this.
Read the rest of this entry »

Next entries »


Movies online

movies online, click here