Skip to content

Commit

Permalink
Merge pull request #17 from PnX-SI/preparation-010
Browse files Browse the repository at this point in the history
Preparation 0.1.0
  • Loading branch information
joelclems authored Jun 6, 2020
2 parents d5d189f + a116e5f commit 03268c3
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 15 deletions.
35 changes: 23 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ Les données spécifiques à chaque protocole sont stockées en base de données
:alt: Liste des sites du protocole de test
:width: 800

Le module permet de générer des sous-modules (stockés dans la table ``gn_commons.t_modules``) pour chaque protocole de suivi. Ils s'appuient sur les champs fixes des 3 tables ``gn_monitoring.t_base_sites``, ``gn_monitoring.t_base_visits`` et ``gn_monitoring.t_observations`` qui peuvent chacunes être étendues avec des champs spécifiques et dynamiques stockés dans des champs de type ``jsonb``.

Les champs spécifiques de chaque sous-module sont définis dans des fichiers de configuration au format json.

Pour chaque sous-module, correspondant à un protocole spécifique de suivi, il est ainsi possible d'ajouter dynamiquement des champs de différent type (liste, nomenclature, booléen, date, radio, observateurs, texte, taxonomie...). Ceux-ci peuvent être obligatoires ou non, affichés ou non et avoir des valeurs par défaut. Les listes d'observateurs et d'espèces peuvent aussi être définies au niveau de chaque sous-module, en fonction du contexte du protocole de suivi.

Des fonctions SQL ainsi qu'une vue définie pour chaque protocole permettent d'alimenter automatiquement la synthèse de GeoNature à partir des données saisies dans chaque sous-module.

.. image:: docs/2020-06-MCD-monitoring.jpg
:alt: MCD du schema gn_monitoring


* `Installation du module de suivi générique`_
* `Configuration du module de suivi générique`_
* `Installation du sous-module de test`_
Expand All @@ -25,8 +37,8 @@ Les données spécifiques à chaque protocole sont stockées en base de données
Installation du module de suivi générique
=========================================

* Installez GeoNature (https://github.com/PnX-SI/GeoNature)
* Téléchargez la dernière version stable du module (``wget https://github.com/PnX-SI/gn_module_monitoring/archive/X.Y.Z.zip`` ou en cliquant sur le bouton GitHub "Clone or download" de cette page)
* Installez GeoNature (https://github.com/PnX-SI/GeoNature).
* Téléchargez la dernière version stable du module (``wget https://github.com/PnX-SI/gn_module_monitoring/archive/X.Y.Z.zip`` ou en cliquant sur le bouton GitHub "Clone or download" de cette page) et dézippez-le.
* Placez-vous dans le répertoire ``backend`` de GeoNature et lancez les commandes suivantes :

::
Expand Down Expand Up @@ -241,7 +253,7 @@ Chaque entrée de la variable ``generic`` est le nom d'une variable (``"id_base_
Définir une nouvelle variable
-----------------------------

Pour définir une nouvelle variable ou aussi redéfinir une caractéristique d'une variable générique, il faut créer un variable nommée ``specific`` dans le fichier ``site.json`` afin de définir le schéma spécifique pour cet objet.
Pour définir une nouvelle variable ou aussi redéfinir une caractéristique d'une variable générique, il faut créer une variable nommée ``specific`` dans les fichiers ``site.json``, ``visit.json`` ou ``observation.json`` afin de définir le schéma spécifique pour cet objet.

* **texte** : une variable facultative

Expand All @@ -252,7 +264,7 @@ Pour définir une nouvelle variable ou aussi redéfinir une caractéristique d'u
"attribut_label": "Nom du contact"
}
* **entier** : le numéro du passage compris entre 1 et 2 est obligatoire
* **entier** : exemple avec un numéro du passage compris entre 1 et 2 est obligatoire

.. code-block:: JSON
Expand All @@ -264,7 +276,7 @@ Pour définir une nouvelle variable ou aussi redéfinir une caractéristique d'u
"max": 2
}
* **utilisateur** : choix de plusieurs noms utilisateurs dans une liste :
* **utilisateur** : choix de plusieurs noms utilisateurs dans une liste

.. code-block:: JSON
Expand Down Expand Up @@ -318,7 +330,7 @@ Il est possible de définir une valeur par défaut pré-selectionnée avec le pa
"values": ["Oui", "Non"]
},
* **taxonomie** : un choix dans une liste de taxons :
* **taxonomie** : une liste de taxons

.. code-block:: JSON
Expand Down Expand Up @@ -377,10 +389,10 @@ Pour renseigner la valeur de la nomenclature, on spécifie :
Nomenclature
------------

Ce fichier permet de renseigner la nomenclature spécifique au sous-module.
Elle sera insérée en base lors de l'installation du module.
Le fichier ``nomenclature.json`` permet de renseigner les nomenclatures spécifiques à chaque sous-module.
Elles seront insérées dans la base de données lors de l'installation du sous-module (si elles n'existent pas déjà).

Un exemple de fichier :
Exemple de fichier :

.. code-block:: JSON
Expand Down Expand Up @@ -427,8 +439,7 @@ Synchronisation avec la synthèse
Configuration du module
-----------------------

Dans le dossier de configuration du module.
S'il n'existe pas déjà, créer le fichier ``custom.json`` ajouter le paramètre ``__SYNTHESE``:
Dans le dossier de configuration du module, s'il n'existe pas déjà, créer le fichier ``custom.json`` et ajouter le paramètre ``__SYNTHESE`` :

.. code-block:: JSON
Expand All @@ -442,7 +453,7 @@ S'il n'existe pas déjà, créer le fichier ``custom.json`` ajouter le paramètr
Création d'une vue pour la synthèse
-----------------------------------

Dans le fichier ``synthese.sql``, créér une vue qui agrège les informations des visites et des observations, afin de pouvoir les insérer dans la syntèse.
Dans un fichier nommé ``synthese.sql`` placé dans le dossier de configuration du module, créér une vue qui agrège les informations des visites et des observations, afin de pouvoir les insérer dans la syntèse.

La convention de nommage de la vue est ``gn_monitoring.vs_<module_path>``, par exemple ``gn_monitoring.vs_test`` pour le module de test.

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.0.0
0.1.0.dev0
Binary file added docs/2020-06-MCD-monitoring.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@

Première version fonctionelle du module Monitoring de GeoNature

**TOCHECK**

* vues.sql basculé dans install_gn_module.py (https://github.com/PnX-SI/gn_module_monitoring/commit/05634743112e2ba9f0cd96d5d6c69d9db603a1f8). A virer de https://github.com/PnX-SI/gn_module_monitoring/blob/develop/install_db.sh#L21 ?
* https://github.com/PnX-SI/gn_module_monitoring/blob/develop/data/delete_synthese.sql à exécuter à l'installation ? Partie à basculer dans GN ? Voir https://github.com/PnX-SI/gn_module_monitoring/issues/14#issuecomment-639671708
* config_custom.json à renommer custom.json dans le README ?
* Commande remove_monitoring_module_cmd() à indiquer dans le README ?
* Lancer la commande d'alimentation de la Synthèse ?
* Table gn_monitoring.t_observation_details à virer ?

**Fonctionnalités**

* Génération dynamique de sous-modules de gestion de protocoles de suivi
* Saisie et consultation de sites, visites et observations dans chaque sous-module
* Génération dynamique des champs spécifiques à chaque sous-module au niveau des sites, visites et observations (à partir de configurations json et basé sur le composant ``DynamicForm`` de GeoNature)
* Ajout de tables complémentaires pour étendre les tables ``t_base_sites`` et ``t_base_visits`` du schema ``gn_monitoring`` permettant de stocker dans un champs de type ``jsonb`` les contenus des champs dynamiques spécifiques à chaque sous-module
* Mise en place de fonctions SQL et de vues permettant d'alimenter la Synthèse de GeoNature à partir des données des sous-modules des protocoles de suivi
* Ajout d'une commande d'installation du module ``flask monitoring install <module_dir_config_path> <module_path>``
* Documentation de l'installation et de la configuration d'un sous-module de protocole de suivi
4 changes: 2 additions & 2 deletions manifest.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package_format_version = '1'
module_code = 'MONITORINGS'
module_version = '1.0.0'
min_geonature_version = '2.0.0'
module_version = '0.1.0'
min_geonature_version = '2.3.2'
max_geonature_version = '3.0.0'
exclude_geonature_versions = [ ]

0 comments on commit 03268c3

Please sign in to comment.