Road map

shogun70 edited this page Sep 16, 2012 · 33 revisions
Clone this wiki locally

#Road map

The 1.x branches are prioritizing features over stability and bug-fixing.

##1.0 (completed) Basic functionality

##1.1 (completed) pushState() support

##1.2 (completed) A page can specify alternate decor documents

  • Using media queries:

    <link rel="decor" media="handheld" href="..." />

  • Keyed off window.frameElement.dataSet["frame-theme"] for iframes:

    <link rel="decor" data-frame-theme="simple" href="..." />

  • Keyed off sessionStorage["meeko-decor-theme"] to allow the user to influence choice of decor:

    <link rel="decor" data-user-theme="minimal" href="..." />

The decor document can specify alternate decor documents, allowing this feature to be used without modifying the real content page.

<link rel="alternate" media="handheld" href="..." />` 
<link rel="alternate" data-frame-theme="simple" href="..." />` 
<link rel="alternate" data-user-theme="minimal" href="..." />` 

##1.3 (current) pushState() transitions. With Meeko.decor.configurePaging() a script can specify handlers for pageIn, pageOut, nodeInserted and nodeRemoved. These last two allow for adding attributes or classNames to content nodes which can then be targeted with CSS transition effects.

##1.4 (and beyond)

  • provide a way to preserve execution order of scripts

  • provide access to the DOM of a new page before it is inserted.

  • provide a way to choose replaceState() instead of pushState().

  • Use <link rel="meeko-base" href="..." />. This will provide a work-around for HTTP redirects (which XMLHttpRequest can't detect) and also for aliased decor documents.

  • Working with pre-decorated pages. The raw content may not be direct children of the <body>. Probably raw content would be identified by <meta> option or <link>'s, for example

    <meta name="meeko-raw" content="page-nav main" />

or

<link rel="meeko-raw" href="#page-nav" />
<link rel="meeko-raw" href="#main" />
  • Handle the case when the next page has different decor. Currently this is done by replacing the current page, but this prevents us from handling the POSTing of forms.

  • Option for reloading the landing-page which would allow it to be pre-processed prior to parsing.

  • Allow redecorating a page.

  • implement some kind of bfcache. It may also be useful to provide access to this, and also to refresh a cached page and the current view.

  • Chaining of decor documents.

  • Delayed content loading (see hinclude and Ajax-Include-Pattern

After these milestones are reached it may be appropriate to step-up to a 2.x series that aims for more stability. The configuration and scripting API also needs more thought.