[whatwg] Disable Offline ApplicationCache programmatically?

Hi,
I recently studied the "Offline Web app" section to investigate
whether HTML5 is a viable replacement for the gears plugin.
Sadly it is lacking a lot of functionality that we need to bring our
application offline. Following things I miss most from the spec:

1) Enable/Disable applicationCache(group) programatically from client
side javascript
2) Add a specific header when resources are fetched for offline storage
3) Add/Control URLs dynamically to the applicationCache

While I can live without 3), let me explain what makes 1) and 2) so valuable:

We have a CMS driven application that should be available offline as
well. That is not just a couple of pages but a few hundred including
resources like PDFs and images. Now some pages also have parts with
dynamic data, which is only to be shown when online. But then it need
to be accurate.

So what I would need is the ability to fetch all pages listed in a
manifest to the client. But they should NOT be served from the cache
as long as the client is online.
As a result the user can see all the dynamic data within the pages when online.
That's different from the current behaviour: Once they are available
in the cache, they are served from the cache.
The easiest thing here would be to allow cache control via a
javascript. So a user can switch on the cached version when he is
offline.

To optimize the pages for offline mode (hide login/search boxes etc),
it would be helpful to have a header that tells the server when the
resources are fetched to be displayed offline.

Finally, 3) would allow for optimization when only a single resource
is updated on the server. With the given spec after a manifest update,
all referenced pages are checked for update. If I had control over the
applicationCache entries, I could expire just the one updated entry.

The current spec reads like it is targeting mainly use cases where
only a small initial frame of resources is needed and otherwise
javascript and databases are used to provide the offline behaviour.
However with relatively small changes it could serve other purposes as well.

Regards,

 Markus Joschko

Received on Friday, 12 February 2010 03:39:12 UTC