Skip to content

How To configure and use Mizar in SITools

Mathieu Gond edited this page Oct 27, 2015 · 6 revisions

Configurer MIZAR dans SITools2

Cette partie décrit la procédure d’installation du module Mizar en tant qu’extension au sein d’une instance de SITools2 V3.

Pre requis

Installer nodeJs

sudo apt-get install nodejs npm

Initialisation SITool2 / Mizar / Extension Astronomie

Récupération SITools V3

La première des choses à faire est de récupérer la dernière version (>= 3.0 beta3) de SITools2-core sur Github. Elle inclue notamment les scripts de build et de déploiement de Mizar :

https://github.com/SITools2/SITools2-core/releases

Les scripts se situent dans le répertoire {SITOOLS_ROOT_DIRECTORY}/workspace/client-extension-3.0/resources/scripts.

Le script build_mizar.sh permet de copier les fichiers sources de Mizar dans le répertoire d’extension de SITools2. Il va soit récupérer la version de Mizar compatible avec SITools2 à partir du dépôt Github.

Le script deploy_mizar.sh permet de copier et de remplacer les fichiers nécessaires dans le répertoire data de SITools2.

export $SITOOLS\_ROOT={**SITOOLS\_ROOT\_DIRECTORY**}          
cd $SITOOLS\_ROOT/workspace/client-extension-3.0/resources/scripts  
./build\_mizar.sh $SITOOLS\_ROOT                                    
./deploy\_mizar.sh $SITOOLS\_ROOT                                   |
Récupération de l’extension Astronomy

Télécharger le dernier installer de l’extension Astronomy (>=2.5) sur Github : https://github.com/SITools2/Astronomy-Extension-Server/releases

Lancer l’installeur AstronomyPlugin-2.5-install.jar et saisir le répertoire d’installation de SITools2 ({SITOOLS_ROOT_DIRECTORY}) au cours de l’installation.

Redémarrer SITools2.

Configuration de PostGis

Afin que postgis puisse travailler sur une sphere, il est nécessaire d’ajouter une projection particulière dans Postgis.

Exécuter la commande suivante :

insert into spatial_ref_sys values(40000, 'ME', 1,'GEOGCS["Normal Sphere (r=6370997)",DATUM["unknown",SPHEROID["sphere",6370997,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]','+proj=longlat +ellps=sphere +no_defs');

Configurer la colonne contenant la géométrie de votre table avec le srid à 40000.

Configuration Mizar

Les configurations suivantes seront effectuées depuis l’interface d’administration de SITools2.

Configuration Dataset

Dans la version actuelle de Mizar, il est nécessaire que la colonne de la clé primaire du dataset soit obligatoirement appelée identifier. Pour cela, rajouter simplement une colonne SQL dans le dataset qui référence la colonne de la vrai clé primaire.

Ce « bug » sera corrigé dans la prochaine version de Mizar.

Choisir la vue SimpleGridView comme vue du dataset.

Ajout du filtre Healpix

Depuis l’interface Request Filter sélectionné le dataset voulu. Rajouter le filtre HealpixFilter et renseigner la colonne géométrie puis la projection utilisée pour ce dataset. Dans notre cas on utilise 40000 pour utiliser la projection ajoutée précédement.

Ajout des ressources serveur et ihm

Depuis l’interface Dataset services, rajouter le service server GeoJSONPostGisResourceModel :

Saisir les colonnes contenant les informations de géométrie (obligatoire) et de quicklook, thumbnail et download (optionnel).

Rajouter également le service MocResourceModel :

Saisir la colonne contenant l’information de géométrie ainsi que l’odre de génération du moc.

Rajouter le service Mizar Mapping Service permettant de connecter un dataset au module Mizar :

Configurer les paramètres suivants ;

Nom du paramètre Description
GeoJson PostGis Url Url d’un service retournant un fichier GeoJSON « à plat »
Moc Resource Url d’un service retournant un MOC au format JSON (cf : MocResourceModel)
OpenSearch Resource Url d’un service retournant du GeoJSON et implémentant le protocol OpenSearch de recherche healpix (cf : HealpixFilter)
Starting RA (°C) Ascension droite initiale en degré
Starting DEC (°C) Déclinaison initiale en degré
Starting Zoom Zoom initial (valeur de 1 à 15)

Modules de projet

Il existe 2 modules de projet utilisant MIZAR

  • Mizar

Ce module affiche simplement MIZAR et des données peuvent être affichées dans Mizar depuis chaque dataset via l’utilisation du service IHM Mizar Mapping Service ou depuis le graphe.

  • Mizar View & Data Module

Ce module affiche MIZAR et les données d’un dataset seulement à partir de la configuration donné dans le service IHM Mizar Mapping Service.

Dans les 2 cas, il est possible de configurer quels composants graphiques seront affichés dans MIZAR, une position de départ et l’url du fichier de configuration de MIZAR. Par défaut ce fichier se trouve dans {SITOOLS_ROOT_DIRECTORY}/client-extension-3.0/resources/conf/mizarModule/sitools_mizar.json

Graphe de projet

Il est possible d’ajouter une colonne au graphe du projet pour afficher les données d’un jeu de données dans MIZAR sans avoir les données dans une grille. Pour cela, il faut suivre les informations du paragraphe 4.7.2 et configurer une colonne avec les informations suivantes :

Nom du paramètre Valeur
Column name Mizar
xtype sitools.extension.component.projectGraph.MizarGraphColumn
visible true
Colonne de graphe de projet

Sitools2 permet d’ajouter plusieurs colonnes de façon programatique à un graphe de projet. L’ajout se réalise en 2 étapes, l’implémentation de la colonne ainsi que l’action effectuée puis la configuration au niveau des paramètres du graphe de projet.

Implémentation de la colonne

L’implémentation d’une colonne de graphe de projet se présente sous la forme d’un objet ExtJs qui doit être une sous classe de « sitools.user.core.Component »

Cette classe se doit d’implémenter la méthode getAdditionalColumns qui doit retourner un tableau de colonne.

Par exemple pour l’ajout d’une colonne permettant le mapping des données dans dataset dans Mizar :

getAdditionalColumns : function () {
	return [{
		xtype:'actioncolumn',
		text : i18n.get("label.mizarMappingService"),
		flex : 1,
		name : 'mizar',
		dataIndex : "datasetId",
		items: [{
			icon : loadUrl.get('APP_URL') + loadUrl.get('APP_CLIENT_EXTENSION_URL') + '/resources/img/mizarModule/mizar.png',
			tooltip: 'Mizar Service',
			scope : this,
			handler: function(grid, rowIndex, colIndex) {
				var record = grid.getStore().getAt(rowIndex);
				var mizarServiceUrl = record.get("url") + '/services/gui';
				this.callMizarService(record, mizarServiceUrl);
			}
		}],
		renderer : function (value, metadata, record, rowIndex, colIndex, store, view) {
			var me = view.up("projectGraph");
			if(me.isNodeANode(record)) {
				metadata.style = "visibility:hidden";
			}
			return value;
		}
	}];
}
Configuration dans le graphe de projet

Une fois la colonne définie, il est nécessaire de l’ajouter au graphe de projet. La configuration se fait au niveau des paramètres du module « projectGraph » lors de la configuration d’un projet.

L’ajout d’une colonne se fait dans la partie « Additional Columns » et l’on peut configurer le nom de la colonne, le nom de la classe ExtJS (xtype) et la visibilité de la colonne.

Remarques

Par défaut le moc est calculé en utilisant la limite de 3000 enregistrements renseignée dans le fichier sitools.properties. AbstractDatabaseRequest.MAX_ROWS=3000

Afin de lever cette limite, il faut modifier cette configuration avec une valeur plus importante.

Utilisation de MIZAR

#####Mapping entre une grille de jeu de données et Mizar

Mapping à partir du graphe de projet