X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=helm%2Fsoftware%2Fmatita%2Fhelp%2FC%2Fsec_install.xml;h=7dc37937b7525a8e0df725a5a32eb16b337858bd;hb=f8f3f0bf31de02f543b9bb5e944ea01fd706d3a0;hp=eb4cfb17e1e804f3405c0f9b16cba4d2b2cbadf1;hpb=ce3086647682ebfa15e9e8abaacd6e817449cea2;p=helm.git
diff --git a/helm/software/matita/help/C/sec_install.xml b/helm/software/matita/help/C/sec_install.xml
index eb4cfb17e..7dc37937b 100644
--- a/helm/software/matita/help/C/sec_install.xml
+++ b/helm/software/matita/help/C/sec_install.xml
@@ -47,17 +47,24 @@
tools and libraries. They are listed below.
- Note for Debian users
-
- If you are running a Debian GNU/Linux distribution
- you can have APT install all the required tools and libraries by
- adding the following repository to your
- /etc/apt/sources.list:
- deb http://people.debian.org/~zack unstable helm
- and installing the
- helm-matita-deps package.
+ Note for Debian (and derivatives) users
+
+ If you are running a
+ Debian GNU/Linux
+ distribution,
+ or any of its derivative like Ubuntu,
+ you can use APT to install all the required tools and
+ libraries since they are all part of the Debian archive.
+
+
+ apt-get install ocaml ocaml-findlib libgdome2-ocaml-dev liblablgtk2-ocaml-dev liblablgtkmathview-ocaml-dev liblablgtksourceview-ocaml-dev libsqlite3-ocaml-dev libocamlnet-ocaml-dev libzip-ocaml-dev libhttp-ocaml-dev ocaml-ulex08 libexpat-ocaml-dev libmysql-ocaml-dev camlp5
+
+
+ An official debian package is going to be added to the
+ archive too.
+
@@ -181,9 +188,22 @@
SQL database and OCaml bindings for its client-side library
The SQL database itself is not strictly needed to run
- &appname;, but we stronly encourage its use since a lot of
- features are disabled without it. Still, the OCaml bindings of
- the library are needed at compile time.
+ &appname;, but the client libraries are.
+
+
+
+
+ &Sqlite;
+
+
+
+ OCaml Sqlite3
+
+
+
+ Sqlite database and OCaml bindings
+
@@ -227,10 +247,11 @@
- Database setup
+ (optional) &MYSQL; setup
- To fully exploit &appname; indexing and search capabilities you
- will need a working &MYSQL; database. Detalied instructions on how to do
+ To fully exploit &appname; indexing and search capabilities
+ on a huge metadata set you may
+ need a working &MYSQL; database. Detalied instructions on how to do
it can be found in the MySQL documentation. Here you
can find a quick howto.
@@ -364,5 +385,117 @@
+
+
+ Configuring &appname;
+
+ The configuration file is divided in four sections. The user and
+ matita ones are self explicative and does not need user
+ intervention. Here we report a sample snippet for these two
+ sections. The remaining db and getter sections will be explained in
+ details later.
+
+
+ $(HOME)
+ $(USER)
+
+
+ $(user.home)/.matita
+ /usr/share/matita/
+ $(user.name)
+
+]]>
+
+
+ &appname; needs to store/fetch data and metadata. Data is essentially
+ composed of XML files, metadata is a set of tuples for a relational
+ model. Data and metadata can produced by the user or be already
+ available. Both kind of data/metadata can be local and/or remote.
+
+
+ The db section tells &appname; where to store and retrieve metadata,
+ while the getter section describes where XML files have to be
+ found. The following picture describes the suggested configuration.
+ Dashed arrows are determined by the configuration file.
+
+
+ The getter
+
+ Consider the following snippet and the URI
+ cic:/matita/foo/bar.con. If &appname;
+ is asked to read that object it will resolve the object trough
+ the getter. Since the first two entries are equally specific
+ (longest match rule applies) first the path
+ file://$(matita.rt_base_dir)/xml/standard-library/foo/bar.con
+ and then file://$(user.home)/.matita/xml/matita/foo/bar.con
+ are inspected.
+
+
+ $(user.home)/.matita/getter/cache
+
+ cic:/matita/
+ file://$(matita.rt_base_dir)/xml/standard-library/
+ ro
+
+
+ cic:/matita/
+ file://$(user.home)/.matita/xml/matita/
+
+
+ cic:/Coq/
+ http://mowgli.cs.unibo.it/xml/
+ legacy
+
+
+]]>
+
+ if the same URI has to be written, the former prefix is skipped
+ since it is marked as readonly (ro).
+ Objects resolved using the third prefix are readonly too, and are
+ retrieved using the network. There is no limit to the number of
+ prefixes the user can define. The distinction between prefixes marked
+ as readonly and legacy is that, legacy ones are really read only, while
+ the ones marked with ro are considered for
+ writing when &appname; is started in system mode (used to publish user
+ developments in the library space).
+
+ The db
+
+ The database subsystem has three fron ends: library, user and
+ legacy. The latter is the only optional one. Every query is done on
+ every frontend, making the duplicate free union of the results.
+ The user front end kepps metadata produced by the user, and is thus
+ heavily accessed in read/write mode, while the library and legacy
+ fron ends are read only. Every front end can be connected to
+ backend, the storage actually.
+ Consider the following snippet.
+
+
+ mysql://mowgli.cs.unibo.it matita helm none legacy
+ file://$(matita.rt_base_dir) metadata.db helm helm library
+ file://$(matita.basedir) user.db helm helm user
+
+]]>
+
+ Here the usr database is a file (thus locally accessed trough the
+ Sqlite library) placed in the user's home directory. The library one is
+ placed in the &appname; runtime directory. The legacy fron end is
+ connected to a remote &MYSQL; based storage. Every metadata key
+ takes a path to the storage, the name of the database, the user name,
+ a password (or none) and the name of the front
+ end to which it is attached.
+
+
+