[ 
https://issues.apache.org/jira/browse/WICKET-5290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrea Del Bene reassigned WICKET-5290:
---------------------------------------

    Assignee: Andrea Del Bene

> History API support for navigable AJAX pages/components
> -------------------------------------------------------
>
>                 Key: WICKET-5290
>                 URL: https://issues.apache.org/jira/browse/WICKET-5290
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>    Affects Versions: 7.0.0-M1
>            Reporter: Hendy Irawan
>            Assignee: Andrea Del Bene
>
> I wonder if Wicket 6/7 has or planned for good history API support, i.e. 
> navigable ajax updates a la Twitter/Facebook?
> If not then I'd like to propose... It'd make Wicket not only very relevant 
> but a breakthrough in a *post*-HTML5 world.
> Originally posted at 
> https://issues.apache.org/jira/browse/WICKET-3813?focusedCommentId=13720564&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13720564
> [~mgrigorov] responded:
> > Do you know of a good JS History library ?
> > All I have tried have issues for different browsers.
> What I ever used is Backbone. Which is a great all around library. 
> Snippet from http://backbonejs.org/#Router : 
> <blockquote> 
> Web applications often provide linkable, bookmarkable, shareable URLs for 
> important locations in the app. Until recently, hash fragments (#page) were 
> used to provide these permalinks, but with the arrival of the History API, 
> it's now possible to use standard URLs (/page). Backbone.Router provides 
> methods for routing client-side pages, and connecting them to actions and 
> events. For browsers which don't yet support the History API, the Router 
> handles graceful fallback and transparent translation to the fragment version 
> of the URL. 
> </blockquote> 
> Breadcrumb components would benefit greatly from History API support (and is 
> probably its main use case).
> Although any parameterizable page will benefit from this.  For example we're 
> developing an analytics app so the parameters include date range, precision, 
> and selected sections. Those can be encoded in URI. Although while selecting 
> these things we immediately perform AJAX updates, with bookmarkable URI it'd 
> great. So the page stays "stateless" instead of stateful. Just like how 
> Google Analytics UI does it.
> **Use Cases**
> 1. **Page parameters** (usually for stateless pages). Most probably very 
> common use case, why make a page stateful just to save a few variables? Just 
> define a few page params and let LoadableDetachableModel load the rest. 
> Instead of storing the page in the session, store the page state in the URL 
> and let history API manage that "state".
> 2. **BreadCrumb(Panel) components**. Navigable components, but still inside a 
> single page
> 3. **Inter-page navigation**. Page navigation but only target several 
> components. Perhaps via whitelisting or blacklisting or a combination of 
> both. This seems most challenging compared to the two cases above.
> History API libraries include:
> 1. http://backbonejs.org/#Router
> 2. https://github.com/browserstate/history.js/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to