Difference between revisions of "Fed"
Line 51: | Line 51: | ||
Et voici quelques outils que Raymond a rajoutés depuis | Et voici quelques outils que Raymond a rajoutés depuis | ||
− | ===Mise | + | ===Mise en oeuvre de tsearch pour l'ensemble d'un base de données postgresql=== |
+ | Il suffit de lancer (il est dans le menu WebTools/WebSite). Voir [[CheckTsearch]] | ||
+ | |||
+ | http://lbgi.igbmc.fr/gx/phpRR/CheckTsearch.php?database=gx | ||
+ | |||
+ | En gros on affiche toutes les tables avec toutes leurs colonnes et on demande lesquelles doivent être sous tsearch. | ||
+ | La colonne idxfti est créée si nécessaire. | ||
Attention la suite "Il suffit... " marche mais il fallait d'abord que je fasse | Attention la suite "Il suffit... " marche mais il fallait d'abord que je fasse |
Revision as of 08:20, 19 June 2009
Fed : Federating data by Guillaume Berthommier and Raymond Ripp
Contents
What is Fed
Fed consits of
- a PHP based website using Html and Javascript
- a PostgreSQL Relational Database
It allows to manage (see more with Fed Web Architecture)
- Teams
- people
- workpackages
- components
- centres
- Data
- within a Gallery of documents
- or fully integrated in the Relational Database
- Thematics (or Projects)
- corresponding to one or several workpackages
- transversal to the whole database
The Gallery is organized as a hierachical tree of Galleries, each Gallery contains Datafiles and other Galleries.
The people can upload their Datafiles in a Gallery. These data are then especially processed to be integrated in the Relational Database.
Advantages of Fed
- A unique common set of PHP programs controls all Fed instances.
- These programs are developped and maintained by Guillaume and Raymond.
- A copy of them can be used on a distant computer.
- Each Fed instance has its own private look and feel and relational database as well as specific programs.
- The web site and pecific programs can also work without Fed
Several Feds can be federated
One interesting point is that several 'independant' Fed can be federated.
- only the people are known everywhere
- groups of people are defined independently in each Fed.
This can be easily done if the creation of new users is centralized on the unique FedLord. The information concerning the new user is then transferred to the local Fed especially the Pk which has to be the unique Id of the user.
Projects federated with Fed
- EVI-Genoret Database
- RetinoBase the transcriptomic database
- GenoretGenes (very soon)
- DBGS Département de Biologie et Génomique Structurales
- Gx the website of GxDb the Gene eXpression DataBase
- IdV the Genoret database like website for the Institut de la Vision in Paris
- ImAnnoWeb the self consistant website for ImAnno
Installation
Guillaume a pu automatiser quelques étapes de l'installation.
voir dans phpWebGB/wizard
Et voici quelques outils que Raymond a rajoutés depuis
Mise en oeuvre de tsearch pour l'ensemble d'un base de données postgresql
Il suffit de lancer (il est dans le menu WebTools/WebSite). Voir CheckTsearch
http://lbgi.igbmc.fr/gx/phpRR/CheckTsearch.php?database=gx
En gros on affiche toutes les tables avec toutes leurs colonnes et on demande lesquelles doivent être sous tsearch. La colonne idxfti est créée si nécessaire.
Attention la suite "Il suffit... " marche mais il fallait d'abord que je fasse
CREATE OR REPLACE FUNCTION t_tsearch_trigger()
RETURNS trigger AS
$BODY$
set tscol [lindex $args 0]
set tsconf [lindex $args 1]
set nbargs [llength $args]
set fullstr ""
for {set i 2} {$i <= $nbargs-1} {incr i} {
set col [lindex $args $i]
spi_exec "SELECT f_replace_chars('[quote $NEW($col)]') AS texte"
append fullstr $texte " "
}
spi_exec "SELECT to_tsvector('[quote $tsconf]','[quote $fullstr]') AS vect"
set NEW($tscol) $vect
return [array get NEW]
$BODY$
LANGUAGE 'pltcl' VOLATILE
COST 100;
ALTER FUNCTION t_tsearch_trigger() OWNER TO ripp;
Il suffit de lancer (il est dans le menu WebTools/WebSite).
http://lbgi.igbmc.fr/gx/phpRR/CheckTsearch.php?database=gx
En gros on affiche toutes les tables avec toutes leurs colonnes et on demande lesquelles doivent être sous tsearch. La colonne idxfti est créée si nécessaire.
Attention idxfti n'est pas mis à jour. Il faut faire, pour toutes les tables t, colonnes c.
update t set c=c