~ubuntu-branches/ubuntu/lucid/sabayon/lucid

« back to all changes in this revision

Viewing changes to doc/format.html

  • Committer: Bazaar Package Importer
  • Author(s): Scott Balneaves
  • Date: 2009-12-28 16:58:21 UTC
  • mfrom: (1.1.16 upstream)
  • Revision ID: james.westby@ubuntu.com-20091228165821-38riqcxr41abmelj
Tags: 2.29.5~rc1-0ubuntu1
* New upstream release
  - Depend on Pessulus
  - Added manual
  - Fixed several crasher bugs
  - Added apply by group
  - Symlinks now saved in zipfile
* debian
  - Updated deps in control
  - removed sabayon.8, sabayon-apply.8, install.manpages (upstream man)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="ISO-8859-1"?>
2
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
 
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="sabayon.css" /><title> The profile files format </title></head><body><div id="main"><div id="top"><img src="title01.jpg" border="0" height="229" width="432" alt="Sabayon: user profiles made simple" /><img src="title02.jpg" border="0" height="229" alt="Small screenshot of sabayon" /></div><div id="left"><div class="box"><h2 class="box_title">Download</h2><h4 class="box_header">RPMs</h4><ul><li>RPMs for Fedora Core 4 are available from <a href="http://download.fedora.redhat.com/pub/fedora/linux/extras/">Fedora Extras</a></li></ul><h4 class="box_header">Source</h4><ul><li><a href="http://ftp.gnome.org/pub/GNOME/sources/sabayon/">tarball</a></li><li><a href="http://cvs.gnome.org/viewcvs/sabayon/">CVS Repository</a></li></ul></div><div class="box"><h2 class="box_title">Contribute</h2><p>There are several ways to contribute to the Sabayon project.</p><p><a href="testing.html">Testing</a>, go here if you want to install sabayon and try it out.</p><p><a href="developing.html">Developing</a>, get the code and try to fix errors and send patches to the maintainers.</p><p><a href="helping.html">Helping out</a> on the <a href="http://mail.gnome.org/mailman/listinfo/sabayon-list/">mailing list</a> and <a href="irc://irc.gnome.org/sabayon">IRC</a> for people having problems, letting them know where to go and what to do.</p></div><div class="box"><h2 class="box_title">Contact</h2><p>You can contact developers <a href="mailto:sabayon-list@gnome.org">sending a mail</a> to the <a href="http://mail.gnome.org/mailman/listinfo/sabayon-list/">Sabayon mailing list</a>. You do not need to be subscribed.</p><p>We are also often available to <a href="irc://irc.gnome.org/sabayon">chat on IRC</a>.</p><p><strong>Server:</strong> irc.gnome.org<br /><strong>Channel:</strong> #sabayon</p></div><div class="box"><h2 class="box_title">Documentation</h2><p>Format and deployement of the <a href="config.html">config
4
 
         files</a></p><p>Technical informations on the <a href="format.html">profile
5
 
         format</a></p></div></div><div id="right"><p> The following is a description of the requirement and the choices
6
 
    made when designing the user profile files. The existing format may
7
 
    change in the future but unless some of the requirement were missing
8
 
    it seems the existing choice is simple and flexible enough that no
9
 
    big change should be needed in the future.</p><h4>Format requirements</h4><ul>
10
 
      <li> incremental update</li>
11
 
      <li> container for sets of settings of different apps</li>
12
 
      <li> associate apps with settings</li>
13
 
      <li> independent update of one set of settings</li>
14
 
      <li> ability to store full file</li>
15
 
      <li> ability to save path with the content</li>
16
 
      <li> provide metadata for the whole set and for each apps settings</li>
17
 
      <li> possibility to merge and detect potential clashes on merges</li>
18
 
      <li> possibility to extract or remove a simple set of data</li>
19
 
      <li> allow to process with as standard tools as possible </li>
20
 
    </ul><h4>Design choices</h4><p>Use ZIP for the container format:</p><ul>
21
 
      <li> platform ubiquity Linux/Windows/Mac...</li>
22
 
      <li> free software tools and libraries</li>
23
 
      <li> compressed</li>
24
 
      <li> allows to access a single stream without exploding everything like a compressed tar or cpio requires</li>
25
 
      <li> allow to store name/paths</li>
26
 
    </ul><p>Add an XML metadata section as the first entry:</p><ul>
27
 
      <li> classic design (jar)</li>
28
 
      <li> allow to store all metadata informations associated</li>
29
 
      <li> easy to extend in a backward and forward compatible way</li>
30
 
      <li> open source tools and local knowledge</li>
31
 
      <li> a lot of configuration data already require XML handling so this doesn't add an extra dependancy</li>
32
 
      <li> load/modify subpart/save operations are easy on an XML tree</li>
33
 
    </ul><h4>Internal structure</h4><p> The container is a Zip, its content can be viewed using the command
34
 
    <b>unzip -l /etc/desktop-profiles/test.zip</b></p><p> The first entry is the metadata part, it is an XML file describing the
35
 
    content of the archive. It can be viewed using the command
36
 
    <b>unzip -p /etc/desktop-profiles/test.zip metadata</b>:</p><ul>
37
 
      <li> general description for the whole set of settings e.g. "Configuration for developers in project foo":
38
 
        <ul>
39
 
          <li> administrative informations</li>
40
 
          <li> last change timestamp</li>
41
 
          <li> contact</li>
42
 
          <li> changelog</li>
43
 
        </ul>
44
 
      </li>
45
 
      <li> per stream description
46
 
        <ul>
47
 
          <li> name of the stream in the archive</li>
48
 
          <li> associated application</li>
49
 
          <li> description for settings e.g. "Mozilla starts full screen"</li>
50
 
          <li> administrative info</li>
51
 
        </ul>
52
 
      </li>
53
 
    </ul><p> Then in the ZIP, each update has its own stream, the format is left to
54
 
    the corresponding user profile writer module. It can potentially be a
55
 
    full raw file, or a more synthetic description recognized by the specific
56
 
    profile module.</p><p> Note that an application can have one
57
 
    stream per different configuration file for example
58
 
    .rhopenoffice1.1/user/registry/data/org/openoffice/Inet.xcu and
59
 
    .rhopenoffice1.1/user/registry/data/org/openoffice/Office/Common.xcu
60
 
    would be 2 different streams maintained by the OpenOffice reader
61
 
    writer module. An application may have both raw configuration files
62
 
    and digested name/values pairs, but in different files. </p></div><div id="copyright"></div></div></body></html>