ACTION-50: Generating URIs for Application States in dojo

Hello everyone, 
 
This mail is part of my action (ACTION-50) on investigating Ajax-enabled
javascript toolkits to see how well they support creation of URIs that can
represent intermediate states in applications. This mail relates to an
investigation of dojo[1].
 
The dojo toolkit [1] does provide some support for generating a URI that
can be used to represent the state of an application. The  
URIs that represent application state are formed by adding generated
fragment ids to the URI for a page in its initial state.
 
The mechanism primarily supports the ability to create a history stack,
allowing users to navigate between defined states of the application using
browser back and forward buttons. Fragment identifiers were chosen to
represent the state because they avoid the browser to navigating away from
the page when the URI changes.
 
Developers add entries to the history stack at appropriate points by
invoking the addToHistory() function of the dojo.back object. This causes
an entry to be added to the browser history stack. A user could bookmark
the state, for example. In addition, the application might make the URI
available to a user in other ways, allowing it to be shared.
 
Of course, the application needs to be written in such a way that on
receipt of the URI that represents a particular state, that state can be
recreated. The ability of the application to specify the fragment
identifier for a particular state, when using the addToHistory() function,
may help it in doing this.
 
Although this use of fragment identifiers is different from that normally
associated with HTML, it's not clear whether it constitutes a violation of
the specification. For example, the HTML 4.01 specification [2] describes
the use of fragment identifiers. However, it does not appear to require
normatively that that be the only use of fragment identifiers in HTML. I
might have missed something of course.
 
Best wishes
Rhys 
 
[1] http://www.dojotoolkit.org/
[2] http://www.w3.org/TR/html401/

Received on Wednesday, 28 November 2007 09:12:29 UTC