Mozilla2:Profile Sharing: Difference between revisions

m
no edit summary
(More wiki syntax updates (finished). This makes the page much easier to read in the wiki. I hope I didn't step on anyone's toes.)
mNo edit summary
Line 1: Line 1:
==Proposal: A plan for profile sharing==
=Proposal: A Plan for Profile Sharing=


[mailto:darin@meer.net Darin Fisher]
[mailto:darin@meer.net Darin Fisher]


===Overview===
==Overview==


The purpose of this document is to outline a plan for enabling the sharing
The purpose of this document is to outline a plan for enabling the sharing
Line 23: Line 23:
across multiple hosts.
across multiple hosts.


===Requirements===
==Requirements==
    
    
The major requirements for profile sharing include:
The major requirements for profile sharing include:
Line 36: Line 36:
* The profile sharing scheme must be ''frozen'' to a degree sufficient to ensure compatibility with future applications.
* The profile sharing scheme must be ''frozen'' to a degree sufficient to ensure compatibility with future applications.


===Files to be shared===
==Files to be Shared==


The existing Mozilla-based applications store a number of different files
The existing Mozilla-based applications store a number of different files
Line 44: Line 44:
the files that we are most interested in sharing.
the files that we are most interested in sharing.


====Cache====
===Cache===
The web cache is by far the largest collection of files stored in the user
The web cache is by far the largest collection of files stored in the user
profile.  Because of its large footprint on disk, sharing the disk cache is
profile.  Because of its large footprint on disk, sharing the disk cache is
Line 54: Line 54:
advantage over Thunderbird when a user revisits a piece of HTML mail.
advantage over Thunderbird when a user revisits a piece of HTML mail.


====Certificates====
===Certificates===
It is common for corporations to provide certificates to employees for use
It is common for corporations to provide certificates to employees for use
to sign and seal emails as well as to access internal websites.  Therefore
to sign and seal emails as well as to access internal websites.  Therefore
Line 63: Line 63:
certificates from a central database managed by the operating system).
certificates from a central database managed by the operating system).


====Cookies====
===Cookies===
Cookies are an important part of the web-platform.  By supporting shared
Cookies are an important part of the web-platform.  By supporting shared
cookies, we enable other applications to inherit user identity when they
cookies, we enable other applications to inherit user identity when they
Line 70: Line 70:
user's preferences for that site as configured using Firefox.
user's preferences for that site as configured using Firefox.


====Preferences====
===Preferences===


Sharing preferences is perhaps the main use case for profile sharing.  The
Sharing preferences is perhaps the main use case for profile sharing.  The
Line 82: Line 82:
detail best left for another proposal ;-)
detail best left for another proposal ;-)


===What about other files?===
===What About Other Files?===


Most of the other files in the profile are application specific.  For example,
Most of the other files in the profile are application specific.  For example,
Line 108: Line 108:
  </div>
  </div>


===A scheme for profile sharing===


====The IPC daemon and the transaction manager extension====
==A Scheme for Profile Sharing==
 
===The IPC Daemon and the Transaction Manager Extension===


The [http://lxr.mozilla.org/mozilla/source/ipc/ipcd/ IPC daemon]
The [http://lxr.mozilla.org/mozilla/source/ipc/ipcd/ IPC daemon]
Line 152: Line 153:
not persisted to the profile.
not persisted to the profile.


====Supporting a shared disk cache====
===Supporting a Shared Disk Cache===


The disk cache cannot be shared easily or efficiently using the transaction
The disk cache cannot be shared easily or efficiently using the transaction
Line 175: Line 176:
This may be enough of a reason to go with this kind of solution.
This may be enough of a reason to go with this kind of solution.


====Supporting shared NSS databases====
===Supporting Shared NSS Databases===


The NSS .db files can be shared by creating a library with the name
The NSS .db files can be shared by creating a library with the name
Line 196: Line 197:
particular from the socket transport thread.
particular from the socket transport thread.


===Next steps===
==Next Steps==


* Agree on general plan for profile sharing</li>
* Agree on general plan for profile sharing</li>
30

edits