Difference between revisions of "Fed"

From Wikili
Jump to: navigation, search
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 à oeuvre de tsearch pour l'ensemble d'un base de données postgresql===
+
===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

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

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