User:Mvl

From MozillaWiki
Jump to: navigation, search

mvl on irc.mozilla.org


This is where I put random idea's and mumbling

About the permissions extension User:Mvl/permissions

About a goal and future for sunbird User:Mvl/vision

Trying to draw a calendar view User:Mvl/warOnBoxes

Sharing a calendar User:Mvl/sharing

Event dialog User:Mvl/eventDialog

The Data Server

The Problem

  1. I want to be able to sync my palm with calendar (or sunbird) while calendar isn't running. But the data might be on a caldav server or some other server. The provider is implemented in JS, and i don't want to copy that to the sync app
  2. Calendar needs a light standalone alarm notifier, for when calendar isn't running
  3. multiple instances of firefox should share non-session cookies, but session-cookies should be per instance
  4. Mailnews wants a light new-mail notifier

The Idea

What do those requests have in common? They all need to give multiple processes access to the profile data. Now my idea is to have a data-server running, and that all mozilla processes can talk to it. This would have proper locking etc. This server is the only thing with access to the profile data. This server would be extendable using xpcom and xpconnect.

Then multiple instances of firefox can run. Session cookies would only be in memory, so not in the data server. This means that the session cookies are seperate, but non-session cookies are shared. Also the rest of the settings are shared (as opposed to using multiple profiles)

For synings handelds, the conduit can just talk to the data server, even when mozilla itself isn't running. The caldav code etc can also live in this server.

For the alarm and new-mail notifiers, they can be small and only need to talk to the server.

How to get there

Step-by-step. A first step could be to only do it for calendar. Still no multiple mozilla's, but at least have syncing. Once that works, the rest of mozilla can follow. The biggest problem will be to write a reliable server.

A possible protocol could be ACAP.