[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sharing an environment




	I have developed under my home directory an environnement for a
	given language (all the hierarchy centaur/tables/etc.). Now This
	environment is  to  be  used by another user (other workstation,
	other home  directory).  What  information exactly is needed in
	the home directory of the new user in order to  reference my own
	database?  It  seems  that  the .centaur.rdb  file  is  not 
	sufficient ( message "file .t not found" during environment
	loading).

	Thanks in advance.

	-- Guy DURRIEU.

From our own experience, the best thing to do is to install your software
where the Centaur system is located, preferably in a subdirectory of
contrib. That way, you may modify your environment in your home dir while
others use the stable version.

In order to limit the installation process to a copy, you must avoid any
absolute path in your resource files.

For example the Centaur menumode, which is installed in contrib, is
accessible for any user which adds the FORM language to its own list of
languages, and specifies where is located the root database for this
language.

In the centaur.rdb, add the line :

*FORM.database.appDefaults : contrib/menumode/form/FORM.rdb

(The resource appDefaults searches for files relative to the
#:system:app-path roots, while the resource userDefaults searches for files
relative to the #:system:user-path roots. Both resources may be specified,
this lets you have standard resources and custom resources loaded during
your centaur session)

The language must also be declared. There are 3 ways of declaring a
language:
	- set the resource <_.appFormalisms|Centaur.AppFormalisms> (where _
is the centaur core name, this resource is reserved to system languages
(METAL SDF PPML TYPOL ...) and should generally not be modified.

	- set the resource <_.userFormalisms|Centaur.UserFormalisms>. This
resource is reserved to local and contrib languages, and is the best place
where FORM may be declared.

	- call (#:centaur:user-language 'FORM). Strictly equivalent to
resource settings, but less convenient.


A few words about the formalism resources:

	-excepted the root resource database location, no resource
specification concerning the formalism should be kept in the centaur.rdb
file, they would have to be copied by each user eager to use the formalism.

	- the formalism is located near the system, all root resources are
to be set to app. A convenient specification is 

*FORM*Root:     app

This resource applies to the formalism, parser and pretty printer locations.

It also lets a user copy the whole hierarchy in its work space and have it
work just by specifying a single line resource in its centaur.rdb file :

Centaur.FORM*Root: user

(The second resource overrides the previous one.)



A trick we often use to temporarily point to a language in a colleague's
working environment consists in installing a symbolic link to the language
root :

mkdir -p ~/centaur/tables/

ln -s ~durrieu/centaur/tables/FORMALISM ~/centaur/tables/FORMALISM

The formalism must be declared and the centaur.rdb file msu contain the
line:

*FORMALISM.database.userDefaults: centaur/tables/FORMALISM/F.rdb

All other resources are kept in the F.rdb file and sub database files.


At last, It is also possible to extend the user and app paths, to let the
application know a new root. This must be done in the .lelisp file in your
home directory.

(newl #:system:app-path "/the/root/of/our/software/hierarchy/")
(newl #:system:user-path "/the/root/of/my/private/software/hierarchy/")

Do not forget the trailing "/"


	Vincent Prunet