From 3ddac34b016eabb0214e13293b84b4f26ab01b1d Mon Sep 17 00:00:00 2001 From: Bertrand Gauthier <bertrand.gauthier@unicaen.fr> Date: Thu, 13 Sep 2018 15:00:18 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20des=20docs=20et=20script?= =?UTF-8?q?s=20SQL.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INSTALL.md | 75 +++++++++ README.md | 75 +-------- data/sql/vues-apogee-ucn.sql | 11 +- data/sql/vues-apogee-ulhn.sql | 19 +-- data/sql/vues-apogee-urn.sql | 19 +-- data/sql/vues-apogee.sql | 278 ++++++++++++++++++++++------------ data/sql/vues-physalis.sql | 81 ++++++---- doc/release-notes/v1.1.0.md | 22 +++ doc/vues-sources.md | 22 +-- 9 files changed, 360 insertions(+), 242 deletions(-) create mode 100644 INSTALL.md create mode 100644 doc/release-notes/v1.1.0.md diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..606a14c --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,75 @@ +# Installation + +## Obtention des sources + +S'il s'agit de la première installation du ws, vous devez lancer la commande suivante pour obtenir les sources : + +```bash +git clone git@git.unicaen.fr:dsi/sygal-import-ws.git +cd sygal-import-ws +``` + +## Installation d'une version précise + +Lancer la commande suivante pour obtenir la liste des versions disponibles du ws. +```bash +git fetch && git fetch --tags && git tag +``` + +Et si la version la plus récente est par exemple la `1.1.0`, utilisez la commande suivante pour "installer" sur cette version : +```bash +git checkout 1.1.0 +``` + +## Installation des dépendances + +Installez les packages requis par le ws via [Composer](https://getcomposer.org/) comme ceci : +```bash +composer install --no-suggest --optimize-autoloader +``` + +## Fichier "users.htpasswd" + +Ce fichier contient les utilisateurs/mot de passe autorisés à appeler le ws. + +S'il s'agit d'une mise à jour du ws, vous avez déjà fait la manip, inutile de lire ce paragraphe. + +S'il s'agit de la première installation du ws, placez-vous dans le répertoire [`config`](config) des sources et lancer la +commande suivante pour créer le fichier "users.htpasswd" contenant un utilisateur `sygal-app` dont le mot de passe +va vous être demandé : +```bash +htpasswd -c users.htpasswd sygal-app +``` + +Si vous manquez d'idée pour le mot de passe, utilsez la commande suivante : +```bash +pwgen 16 1 --symbols --secure +``` + +## Fichiers de config + +S'il s'agit d'une mise à jour du ws, vous avez déjà fait la manip, inutile de lire ce paragraphe. +Reportez-vous au "release notes" de la version choisie (ex: [1.1.0](https://git.unicaen.fr/dsi/sygal-import-ws/tags/1.1.0)). + +S'il s'agit de la première installation du ws, 2 fichiers situés dans le répertoire `config/autoload` ont besoin d'être +complétés puis renommés : + + - **local.php.dist** : qui est notamment utilisé pour l'authentification. + - clé `htpasswd` qui désigne le chemin du fichier "users.htpasswd" évoqué plus haut + - **database.local.php.dist** : qui est utilisé pour la connection à la BDD. + - clés `host`, `dbname`, `port`, `user`, `password` : les infos d'accès à la BDD. + +Une fois ces fichiers complétés, changer leur extension `.php.dist` en `.php`. + +## Interface d'admin Apigility + +Cette interface de modification du WS est réservée aux développeurs et est **INTERDITE EN PRODUCTION**. +Assurez-vous de bien désactiver le mode développement : +```bash +composer development-disable +``` + +Pour passer en mode développement et ouvrir l'accès à cette interface de modification du WS : +```bash +composer development-enable +``` diff --git a/README.md b/README.md index 8703ec6..473da7e 100644 --- a/README.md +++ b/README.md @@ -16,80 +16,7 @@ et les met à disposition pour leur lecture via des requêtes GET. ## Installation -### Obtention des sources - -S'il s'agit de la première installation du ws, vous devez lancer la commande suivante pour obtenir les sources : - -```bash -git clone git@git.unicaen.fr:dsi/sygal-import-ws.git -cd sygal-import-ws -``` - -### Installation d'une version précise - -Lancer la commande suivante pour obtenir la liste des versions disponibles du ws. -```bash -git fetch && git fetch --tags && git tag -``` - -Et si la version la plus récente est par exemple la `1.0.0`, utilisez la commande suivante pour "installer" sur cette version : -```bash -git checkout 1.0.0 -``` - -### Installation des dépendances - -Installez les packages requis par le ws via [Composer](https://getcomposer.org/) comme ceci : -```bash -composer install --no-suggest --optimize-autoloader -``` - -### Fichier "users.htpasswd" - -Ce fichier contient les utilisateurs/mot de passe autorisés à appeler le ws. - -S'il s'agit d'une mise à jour du ws, vous avez déjà fait la manip, inutile de lire ce paragraphe. - -S'il s'agit de la première installation du ws, placez-vous dans le répertoire [`config`](config) des sources et lancer la -commande suivante pour créer le fichier "users.htpasswd" contenant un utilisateur `sygal-app` dont le mot de passe -va vous être demandé : -```bash -htpasswd -c users.htpasswd sygal-app -``` - -Si vous manquez d'idée pour le mot de passe, utilsez la commande suivante : -```bash -pwgen 16 1 --symbols --secure -``` - -### Fichiers de config - -S'il s'agit d'une mise à jour du ws, vous avez déjà fait la manip, inutile de lire ce paragraphe. -Reportez-vous au "release notes" de la version choisie (ex: [1.0.0](https://git.unicaen.fr/dsi/sygal-import-ws/tags/1.0.0)). - -S'il s'agit de la première installation du ws, 2 fichiers situés dans le répertoire `config/autoload` ont besoin d'être -complétés puis renommés : - - - **local.php.dist** : qui est notamment utilisé pour l'authentification. - - clé `htpasswd` qui désigne le chemin du fichier "users.htpasswd" évoqué plus haut - - **database.local.php.dist** : qui est utilisé pour la connection à la BDD. - - clés `host`, `dbname`, `port`, `user`, `password` : les infos d'accès à la BDD. - -Une fois ces fichiers complétés, changer leur extension `.php.dist` en `.php`. - -### Interface d'admin Apigility - -Passez en mode développement pour ouvrir l'accès à l'interface Apigility de modification du WS : -```bash -composer development-enable -``` - -Cette fonctionnalité est réservée aux développeurs du WS et est **INTERDIT EN PRODUCTION**. -Assurez-vous de bien désactiver le mode développement : -```bash -composer development-disable -``` - +Cf. [`INSTALL.md`](INSTALL.md). ## Lancement du web service *pour le dévelopement* diff --git a/data/sql/vues-apogee-ucn.sql b/data/sql/vues-apogee-ucn.sql index b192e92..91740a5 100644 --- a/data/sql/vues-apogee-ucn.sql +++ b/data/sql/vues-apogee-ucn.sql @@ -6,15 +6,10 @@ -- Web Service d'import de données -- ------------------------------- -- --- Vues APOGEE : Caen +-- Vues APOGEE spécifiques à Caen. -- - ------------------------------ VARIABLES ------------------------------ - --- VARIABLES définies manuellement : - -create view APOGEE.SYGAL_VARIABLE_MANU AS +create or replace view SYGAL_VARIABLE_MANU as select 'apogee' as source_id, 'EMAIL_ASSISTANCE' as id, @@ -44,4 +39,4 @@ create view APOGEE.SYGAL_VARIABLE_MANU AS to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual -; +/ diff --git a/data/sql/vues-apogee-ulhn.sql b/data/sql/vues-apogee-ulhn.sql index 1a5bf6e..4df2597 100644 --- a/data/sql/vues-apogee-ulhn.sql +++ b/data/sql/vues-apogee-ulhn.sql @@ -6,21 +6,17 @@ -- Web Service d'import de données -- ------------------------------- -- --- Vues APOGEE : Le Havre +-- Vues APOGEE spécifiques à Le Havre. -- - ------------------------------ VARIABLES ------------------------------ - --- VARIABLES définies manuellement : - -create view APOGEE.SYGAL_VARIABLE_MANU AS +/* +create or replace view SYGAL_VARIABLE_MANU as select 'apogee' as source_id, 'EMAIL_ASSISTANCE' as id, 'EMAIL_ASSISTANCE' as cod_vap, 'Adresse mail de l''assistance utilisateur' as lib_vap, - 'assistance-sygal@univ-lehavre.fr' as par_vap, + 'assistance-sygal@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual @@ -30,7 +26,7 @@ create view APOGEE.SYGAL_VARIABLE_MANU AS 'EMAIL_BU' as id, 'EMAIL_BU' as cod_vap, 'Adresse mail de contact de la BU' as lib_vap, - 'scd.theses@univ-lehavre.fr' as par_vap, + 'scd.theses@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual @@ -40,8 +36,9 @@ create view APOGEE.SYGAL_VARIABLE_MANU AS 'EMAIL_BDD' as id, 'EMAIL_BDD' as cod_vap, 'Adresse mail de contact du bureau des doctorats' as lib_vap, - 'recherche.doctorat@univ-lehavre.fr' as par_vap, + 'recherche.doctorat@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual -; +/ +*/ \ No newline at end of file diff --git a/data/sql/vues-apogee-urn.sql b/data/sql/vues-apogee-urn.sql index 184e04a..c069466 100644 --- a/data/sql/vues-apogee-urn.sql +++ b/data/sql/vues-apogee-urn.sql @@ -6,21 +6,17 @@ -- Web Service d'import de données -- ------------------------------- -- --- Vues APOGEE : Rouen +-- Vues APOGEE spécifiques à Rouen. -- - ------------------------------ VARIABLES ------------------------------ - --- VARIABLES définies manuellement : - -create view APOGEE.SYGAL_VARIABLE_MANU AS +/* +create or replace view SYGAL_VARIABLE_MANU as select 'apogee' as source_id, 'EMAIL_ASSISTANCE' as id, 'EMAIL_ASSISTANCE' as cod_vap, 'Adresse mail de l''assistance utilisateur' as lib_vap, - 'assistance-sygal@univ-rouen.fr' as par_vap, + 'assistance-sygal@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual @@ -30,7 +26,7 @@ create view APOGEE.SYGAL_VARIABLE_MANU AS 'EMAIL_BU' as id, 'EMAIL_BU' as cod_vap, 'Adresse mail de contact de la BU' as lib_vap, - 'scd.theses@univ-rouen.fr' as par_vap, + 'scd.theses@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual @@ -40,8 +36,9 @@ create view APOGEE.SYGAL_VARIABLE_MANU AS 'EMAIL_BDD' as id, 'EMAIL_BDD' as cod_vap, 'Adresse mail de contact du bureau des doctorats' as lib_vap, - 'recherche.doctorat@univ-rouen.fr' as par_vap, + 'recherche.doctorat@unicaen.fr' as par_vap, to_date('2017-01-01', 'YYYY-MM-DD') as DATE_DEB_VALIDITE, to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual -; +/ +*/ \ No newline at end of file diff --git a/data/sql/vues-apogee.sql b/data/sql/vues-apogee.sql index 61e4b21..8d83460 100644 --- a/data/sql/vues-apogee.sql +++ b/data/sql/vues-apogee.sql @@ -6,29 +6,10 @@ -- Web Service d'import de données -- ------------------------------- -- --- Vues APOGEE. +-- Vues -- - ------------------------------ SOURCE ------------------------------ - -create view APOGEE.SYGAL_SOURCE as - select - 'apogee' as id, - 'apogee' as code, - 'Apogée' as libelle, - 1 as importable - from dual -; - - ------------------------------ VARIABLES ------------------------------ - --- VARIABLES définies manuellement : cf. script "vues-apogee-{etab}.sql". - --- VARIABLES isssues d'Apogée : - -create view APOGEE.SYGAL_VARIABLE AS +create or replace view SYGAL_VARIABLE as select 'apogee' as source_id, -- Id de la source cod_vap as id, @@ -55,14 +36,19 @@ create view APOGEE.SYGAL_VARIABLE AS DATE_DEB_VALIDITE, DATE_FIN_VALIDITE from - APOGEE.SYGAL_VARIABLE_MANU -; + SYGAL_VARIABLE_MANU +/ +create or replace view SYGAL_SOURCE as + select + 'apogee' as id, + 'apogee' as code, + 'Apogée' as libelle, + 1 as importable + from dual +/ ------------------------------ INDIVIDU ------------------------------ - -create view APOGEE.SYGAL_INDIVIDU as - -- doctorants +create or replace view SYGAL_INDIVIDU as select distinct 'apogee' as source_id, -- Id de la source 'doctorant' as type, @@ -169,23 +155,18 @@ create view APOGEE.SYGAL_INDIVIDU as --left join etablissement etb on etb.cod_etb = nvl ( act.cod_etb, per.cod_etb ) --left join role_jury rjc on rjc.cod_roj = act.cod_roj_compl ) -; - - ------------------------------ ROLE ------------------------------ +/ -create view APOGEE.SYGAL_ROLE as +create or replace view SYGAL_ROLE as select 'apogee' as source_id, -- Id de la source COD_ROJ as id, LIB_ROJ, LIC_ROJ - from role_jury; - - ------------------------------ DOCTORANT ------------------------------ + from role_jury +/ -create view APOGEE.SYGAL_DOCTORANT as +create or replace view SYGAL_DOCTORANT as select distinct 'apogee' as source_id, -- Id de la source ind.cod_etu as id, -- Identifiant du doctorant @@ -209,13 +190,10 @@ create view APOGEE.SYGAL_DOCTORANT as and dip.cod_tpd_etb in ( '39', '40' ) and tpd.eta_ths_hdr_drt = 'T' -- Inscription en these and tpd.tem_sante = 'N' -- Exclusion des theses d exercice - and cod_etu is not null -- oui, oui, ça arrive -; + and cod_etu is not null +/ - ------------------------------ THESE ------------------------------ - -create view APOGEE.SYGAL_THESE as +create or replace view SYGAL_THESE as with inscription_administrative as ( select iae.cod_ind, @@ -377,12 +355,9 @@ create view APOGEE.SYGAL_THESE as left join langue lng on lng.cod_lng = ths.cod_lng where ths.cod_ths_trv = '1' -- Exclusion des travaux and anc.cod_dip_anc is null -; - - ------------------------------ ACTEUR ------------------------------ +/ -create view APOGEE.SYGAL_ACTEUR as +create or replace view SYGAL_ACTEUR as with acteur as ( select ths.cod_ths, @@ -439,20 +414,20 @@ create view APOGEE.SYGAL_ACTEUR as ) select distinct rownum as id, - 'apogee' as source_id, -- Id de la source - act.cod_ths as these_id, -- Identifiant de la these - roj.cod_roj as role_id, -- Identifiant du rôle - cast(act.cod_roj_compl as varchar2(1 char)) as cod_roj_compl, -- Code du complement sur le role dans le jury - rjc.lib_roj as lib_roj_compl, -- Libelle du complement sur le role dans le jury + 'apogee' as source_id, -- Id de la source + act.cod_ths as these_id, -- Identifiant de la these + roj.cod_roj as role_id, -- Identifiant du rôle + cast(act.cod_roj_compl as varchar2(1 char)) as cod_roj_compl, -- Code du complement sur le role dans le jury + rjc.lib_roj as lib_roj_compl, -- Libelle du complement sur le role dans le jury coalesce(regexp_replace(per.num_dos_har_per,'[^0-9]',''), 'COD_PER_'||act.cod_per) as individu_id, -- Code Harpege ou Apogee de l acteur - act.cod_etb, -- Code etablissement - etb.lib_etb, -- Libelle etablissement - case when etb.cod_dep = '099' then etb.cod_pay_adr_etb else null end as cod_pay_etb, -- Code pays etablissement - case when etb.cod_dep = '099' then pay.lib_pay else null end as lib_pay_etb, -- Libelle pays etablissement - cps.cod_cps, -- Code du corps d'appartenance - cps.lib_cps, -- Libelle du corps d'appartenance - per.tem_hab_rch_per, -- HDR (O/N) - act.tem_rap_recu -- Rapport recu (O/N) + nvl ( act.cod_etb, per.cod_etb ), -- Code etablissement + etb.lib_etb, -- Libelle etablissement + case when etb.cod_dep = '099' then etb.cod_pay_adr_etb else null end as cod_pay_etb, -- Code pays etablissement + case when etb.cod_dep = '099' then pay.lib_pay else null end as lib_pay_etb, -- Libelle pays etablissement + cps.cod_cps, -- Code du corps d'appartenance + cps.lib_cps, -- Libelle du corps d'appartenance + per.tem_hab_rch_per, -- HDR (O/N) + act.tem_rap_recu -- Rapport recu (O/N) from acteur act join role_jury roj on roj.cod_roj = act.cod_roj join personnel per on per.cod_per = act.cod_per @@ -460,12 +435,9 @@ create view APOGEE.SYGAL_ACTEUR as left join etablissement etb on etb.cod_etb = nvl ( act.cod_etb, per.cod_etb ) left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb left join role_jury rjc on rjc.cod_roj = act.cod_roj_compl -; +/ - ------------------------------ STRUCTURE ------------------------------ - -create view APOGEE.SYGAL_STRUCTURE as +create or replace view SYGAL_STRUCTURE as select 'apogee' as source_id, -- Id de la source 'ecole-doctorale' as TYPE_STRUCTURE_ID, -- Type de structure @@ -487,7 +459,7 @@ create view APOGEE.SYGAL_STRUCTURE as null as libelle_pays -- from equipe_rch eqr union - -- Etablissements + -- Etablissements de cotutelle select 'apogee' as source_id, -- Id de la source 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure @@ -500,34 +472,101 @@ create view APOGEE.SYGAL_STRUCTURE as join these_hdr_sout ths on ths.cod_etb = etb.cod_etb and -- établissements de cotutelle ths.cod_ths_trv = '1' -- travaux exclus left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb -; - - ------------------------------ ECOLE_DOCT ------------------------------ + union + -- Etablissements des directeurs de theses + select + 'apogee' as source_id, -- Id de la source + 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure + etb.cod_etb as id, -- Id unique + null as sigle, -- + etb.lib_etb as libelle, -- Libelle + pay.cod_pay as code_pays, -- Code pays + pay.lib_pay as libelle_pays -- Libelle pays + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_dir = etb.cod_etb and -- établissements des directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des co-directeurs de theses + select + 'apogee' as source_id, -- Id de la source + 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure + etb.cod_etb as id, -- Id unique + null as sigle, -- + etb.lib_etb as libelle, -- Libelle + pay.cod_pay as code_pays, -- Code pays + pay.lib_pay as libelle_pays -- Libelle pays + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_cdr = etb.cod_etb and -- établissements des co-directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des seconds co-directeurs de theses + select + 'apogee' as source_id, -- Id de la source + 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure + etb.cod_etb as id, -- Id unique + null as sigle, -- + etb.lib_etb as libelle, -- Libelle + pay.cod_pay as code_pays, -- Code pays + pay.lib_pay as libelle_pays -- Libelle pays + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_cdr2 = etb.cod_etb and -- établissements des seconds co-directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des rapporteurs + select + 'apogee' as source_id, -- Id de la source + 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure + etb.cod_etb as id, -- Id unique + null as sigle, -- + etb.lib_etb as libelle, -- Libelle + pay.cod_pay as code_pays, -- Code pays + pay.lib_pay as libelle_pays -- Libelle pays + from etablissement etb + join personnel per on per.cod_etb = etb.cod_etb -- établissements des rapporteurs + join ths_rap_sou trs on trs.cod_per = per.cod_per + join these_hdr_sout ths on ths.cod_ths = trs.cod_ths and + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + where per.tem_ext_int_per = 'X' -- personnels exterieurs uniquement + union + -- Etablissements des membres du jury + select + 'apogee' as source_id, -- Id de la source + 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure + etb.cod_etb as id, -- Id unique + null as sigle, -- + etb.lib_etb as libelle, -- Libelle + pay.cod_pay as code_pays, -- Code pays + pay.lib_pay as libelle_pays -- Libelle pays + from etablissement etb + join personnel per on per.cod_etb = etb.cod_etb -- établissements des membres du jury + join ths_jur_per tjp on tjp.cod_per = per.cod_per + join these_hdr_sout ths on ths.cod_ths = tjp.cod_ths and + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + where per.tem_ext_int_per = 'X' +/ -create view APOGEE.SYGAL_ECOLE_DOCT as +create or replace view SYGAL_ECOLE_DOCT as select distinct 'apogee' as source_id, -- Id de la source edo.cod_nat_edo as structure_id, -- Id de la structure edo.cod_nat_edo as id -- Id ecole doctorale from ecole_doctorale edo -; - - ------------------------------ UNITE_RECH ------------------------------ +/ -create view APOGEE.SYGAL_UNITE_RECH as +create or replace view SYGAL_UNITE_RECH as select distinct 'apogee' as source_id, -- Id de la source eqr.cod_eqr as structure_id, -- Id de la structure eqr.cod_eqr as id -- Id unite de recherche from equipe_rch eqr -; - - ------------------------------ ETABLISSEMENT ------------------------------ +/ -create view APOGEE.SYGAL_ETABLISSEMENT as +create or replace view SYGAL_ETABLISSEMENT as select distinct 'apogee' as source_id, -- Id de la source etb.cod_etb as structure_id, -- Id de la structure @@ -537,16 +576,65 @@ create view APOGEE.SYGAL_ETABLISSEMENT as join these_hdr_sout ths on ths.cod_etb = etb.cod_etb and -- établissements de cotutelle ths.cod_ths_trv = '1' -- travaux exclus left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb -; - - - ----- Supression des vues mal nommées ! - -drop view APOGEE.OBJECTH_SOURCE ; -drop view APOGEE.OBJECTH_VARIABLE ; -drop view APOGEE.OBJECTH_INDIVIDU ; -drop view APOGEE.OBJECTH_ROLE ; -drop view APOGEE.OBJECTH_DOCTORANT ; -drop view APOGEE.OBJECTH_THESE ; -drop view APOGEE.OBJECTH_ACTEUR ; + union + -- Etablissements des directeurs de theses + select + 'apogee' as source_id, -- Id de la source + etb.cod_etb as structure_id, -- Id de la structure + etb.cod_etb as id, -- Identifiant unique établissement + etb.cod_etb as code -- Code unique établissement + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_dir = etb.cod_etb and -- établissements des directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des co-directeurs de theses + select + 'apogee' as source_id, -- Id de la source + etb.cod_etb as structure_id, -- Id de la structure + etb.cod_etb as id, -- Identifiant unique établissement + etb.cod_etb as code -- Code unique établissement + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_cdr = etb.cod_etb and -- établissements des co-directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des seconds co-directeurs de theses + select + 'apogee' as source_id, -- Id de la source + etb.cod_etb as structure_id, -- Id de la structure + etb.cod_etb as id, -- Identifiant unique établissement + etb.cod_etb as code -- Code unique établissement + from etablissement etb + join these_hdr_sout ths on ths.cod_etb_cdr2 = etb.cod_etb and -- établissements des seconds co-directeurs de theses + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + union + -- Etablissements des rapporteurs + select + 'apogee' as source_id, -- Id de la source + etb.cod_etb as structure_id, -- Id de la structure + etb.cod_etb as id, -- Identifiant unique établissement + etb.cod_etb as code -- Code unique établissement + from etablissement etb + join personnel per on per.cod_etb = etb.cod_etb -- établissements des rapporteurs + join ths_rap_sou trs on trs.cod_per = per.cod_per + join these_hdr_sout ths on ths.cod_ths = trs.cod_ths and + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + where per.tem_ext_int_per = 'X' -- personnels exterieurs uniquement + union + -- Etablissements des membres du jury + select + 'apogee' as source_id, -- Id de la source + etb.cod_etb as structure_id, -- Id de la structure + etb.cod_etb as id, -- Identifiant unique établissement + etb.cod_etb as code -- Code unique établissement + from etablissement etb + join personnel per on per.cod_etb = etb.cod_etb -- établissements des membres du jury + join ths_jur_per tjp on tjp.cod_per = per.cod_per + join these_hdr_sout ths on ths.cod_ths = tjp.cod_ths and + ths.cod_ths_trv = '1' -- travaux exclus + left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb + where per.tem_ext_int_per = 'X' +/ diff --git a/data/sql/vues-physalis.sql b/data/sql/vues-physalis.sql index 7ee851d..d9645b2 100644 --- a/data/sql/vues-physalis.sql +++ b/data/sql/vues-physalis.sql @@ -6,38 +6,55 @@ -- Web Service d'import de données -- ------------------------------- -- --- Vues PHYSALIS : INSA Rouen +-- Vues APOGEE spécifiques à INSA Rouen. -- - --- Changement de préfixe des vues existantes : - -rename OBJECTH_SOURCE to SYGAL_SOURCE ; -rename OBJECTH_VARIABLE to SYGAL_VARIABLE ; -rename OBJECTH_INDIVIDU to SYGAL_INDIVIDU ; -rename OBJECTH_ROLE to SYGAL_ROLE ; -rename OBJECTH_DOCTORANT to SYGAL_DOCTORANT ; -rename OBJECTH_THESE to SYGAL_THESE ; -rename OBJECTH_ACTEUR to SYGAL_ACTEUR ; - - - --- 4 nouvelles vues à écrire : - /* -create view SYGAL_STRUCTURE as -... -; - -create view SYGAL_ECOLE_DOCT as -... -; - -create view SYGAL_UNITE_RECH as -... -; - -create view SYGAL_ETABLISSEMENT as -... -; -*/ +create or replace view SYGAL_VARIABLE_MANU as + select ... +/ + +create or replace view SYGAL_VARIABLE as + select ... +/ + +create or replace view SYGAL_SOURCE as + select ... +/ + +create or replace view SYGAL_INDIVIDU as + select ... +/ + +create or replace view SYGAL_ROLE as + select ... +/ + +create or replace view SYGAL_DOCTORANT as + select ... +/ + +create or replace view SYGAL_THESE as + select ... +/ + +create or replace view SYGAL_ACTEUR as + select ... +/ + +create or replace view SYGAL_STRUCTURE as + select ... +/ + +create or replace view SYGAL_ECOLE_DOCT as + select ... +/ + +create or replace view SYGAL_UNITE_RECH as + select ... +/ + +create or replace view SYGAL_ETABLISSEMENT as + select ... +/ +*/ \ No newline at end of file diff --git a/doc/release-notes/v1.1.0.md b/doc/release-notes/v1.1.0.md new file mode 100644 index 0000000..8939104 --- /dev/null +++ b/doc/release-notes/v1.1.0.md @@ -0,0 +1,22 @@ +# v1.1.0 + +## Mise à jour des vues sources + +### Pour ceux qui ont Apogée + +1. Récupérez le script `data/sql/vues-apogee-{etab}.sql` où `{etab}` correspond à votre établissement, +personnalisez la requête pour votre établissement puis exécutez le script. + +2. Exécutez ensuite le script [`data/sql/vues-apogee.sql`](data/sql/vues-apogee.sql). + +**Important!** Pour mettre à jour sur le dépôt git le script `data/sql/vues-apogee-{etab}.sql` de votre établissement, +merci de faire un "merge request" comme suit : +- Ouvrez dans gitlab le script `data/sql/vues-apogee-{etab}.sql` correspond à votre établissement, +- Cliquez sur le bouton `Edit` puis sur `Fork`. +- Editez le script. +- Cliquez sur `Commit changes` puis sur `Submit merge request`. + +### Pour ceux qui ont Physalis + +Les scripts des vues ne sont pas encore écrites. +:-( diff --git a/doc/vues-sources.md b/doc/vues-sources.md index 9c97a15..928399b 100644 --- a/doc/vues-sources.md +++ b/doc/vues-sources.md @@ -9,17 +9,17 @@ Elle interroge soit la base de données Apogée (Caen, Le Havre, Rouen), soit Ph Il existe une vue par "service" : - Service "acteur" : vue SYGAL_ACTEUR - Service "doctorant" : vue SYGAL_DOCTORANT - Service "ecole_doct" : vue SYGAL_ECOLE_DOCT - Service "etab" : vue SYGAL_ETAB - Service "individu" : vue SYGAL_INDIVIDU - Service "role" : vue SYGAL_ROLE - Service "source" : vue SYGAL_SOURCE - Service "structure" : vue SYGAL_STRUCTURE - Service "these" : vue SYGAL_THESE - Service "unite_rech" : vue SYGAL_UNITE_RECH - Service "variable" : vue SYGAL_VARIABLE + Service "acteur" : vue SYGAL_ACTEUR + Service "doctorant" : vue SYGAL_DOCTORANT + Service "ecole-doctorale" : vue SYGAL_ECOLE_DOCT + Service "etablissement" : vue SYGAL_ETAB + Service "individu" : vue SYGAL_INDIVIDU + Service "role" : vue SYGAL_ROLE + Service "source" : vue SYGAL_SOURCE + Service "structure" : vue SYGAL_STRUCTURE + Service "these" : vue SYGAL_THESE + Service "unite-recherche" : vue SYGAL_UNITE_RECH + Service "variable" : vue SYGAL_VARIABLE ## Colonnes -- GitLab