Loading CHANGELOG.md +6 −0 Changes for CHANGELOG.md: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -27,3 +27,9 @@ sur 2 pages distinctes retournées par le web service. - [BUGFIX] Correction du script de la vue Apogée SYGAL_INDIVIDU qui inversait le nom usuel et le nom de naissance des acteurs. ## v1.2.0 (07/11/2018) - [FEATURE] Sygal peut désormais avoir connaissance de tous les acteurs des thèses (ex: co-directeurs sur les thèses de Rouen) tout en permettant à l'établissement source de conserver sa propre codification des rôles des acteurs. - [FEATURE] Le service Version retourne désormais la version déployée effective (à l'aide de git). doc/release-notes/v1.2.0.md 0 → 100644 +169 −0 Changes for doc/release-notes/v1.2.0.md: 169 added lines, 0 removed lines. Original line number Diff line number Diff line # v1.2.0 ## Sources PHP Sur le serveur, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez la commande git suivante pour "installer" la nouvelle version : ```bash git fetch && git fetch --tags && git checkout --force 1.2.0 ``` Selon le moteur PHP que vous avez installé, rechargez le service, exemple : - php7.0-fpm : `service php7.0-fpm reload` - apache2-mod-php7.0 : `service apache2 reload` ## Base de données Avis à ceux qui ont Apogée, pour que Sygal puisse avoir connaissance de tous les acteurs des thèses (ex: co-directeurs) tout en permettant à votre établissement de conserver sa propre codification des rôles des acteurs, plusieurs vues SYGAL_* doivent être modifiées/créées dans Apogée. La vue **`SYGAL_ROLE_TR`** doit être personnalisée pour votre établissement car elle spécifie la traduction du code de rôle utilisé dans votre établissement (`FROM_COD_ROJ`) en celui attendu par Sygal (`TO_COD_ROJ`). La version non commentée ci-dessous convient à Caen et au Havre. La version commentée convient à Rouen. ```sql -- UCN et ULHN create or replace view SYGAL_ROLE_TR(FROM_COD_ROJ, TO_COD_ROJ) as select 'A', 'A' from dual union select 'B', 'B' from dual union select 'C', 'C' from dual union select 'D', 'D' from dual union select 'K', 'K' from dual union select 'M', 'M' from dual union select 'P', 'P' from dual union select 'R', 'R' from dual / /* -- URN create or replace view SYGAL_ROLE_TR(FROM_COD_ROJ, TO_COD_ROJ) as select 'A', 'R' from dual union -- rapporteur du jury select 'C', 'K' from dual union -- co-dir select 'D', 'D' from dual union -- dir select 'E', 'M' from dual union -- examinateur => membre du jury (discutable) select 'M', 'M' from dual union -- membre du jury select 'N', 'B' from dual union -- co-encadrant select 'P', 'P' from dual union -- président du jury select 'R', 'R' from dual -- rapporteur du jury / */ create or replace view SYGAL_ROLE_NOMENC(COD_ROJ, LIC_ROJ, LIB_ROJ) as select 'A', 'Absent', 'Membre absent' from dual union select 'B', 'Co-encadr', 'Co-encadrant' from dual union select 'C', 'Chef Labo', 'Chef de laboratoire' from dual union select 'D', 'Directeur', 'Directeur de thèse' from dual union select 'K', 'Co-direct', 'Co-directeur de thèse' from dual union select 'M', 'Membre', 'Membre du jury' from dual union select 'P', 'Président', 'Président du jury' from dual union select 'R', 'Rapporteur', 'Rapporteur du jury' from dual / create or replace view SYGAL_ROLE_JURY as select distinct rtr.TO_COD_ROJ as COD_ROJ, sr.LIB_ROJ, sr.LIC_ROJ from role_jury ar join SYGAL_ROLE_TR rtr on ar.COD_ROJ = rtr.FROM_COD_ROJ join SYGAL_ROLE_NOMENC sr on sr.COD_ROJ = rtr.TO_COD_ROJ / create or replace view SYGAL_ROLE as select 'apogee' as source_id, -- Id de la source COD_ROJ as id, -- Id du rôle LIB_ROJ, LIC_ROJ from SYGAL_ROLE_JURY / create or replace view SYGAL_ACTEUR as with acteur as ( select 'D_' || rowid as id, ths.cod_ths, 'D' as cod_roj, ths.cod_per_dir as cod_per, ths.cod_etb_dir as cod_etb, ths.cod_cps_dir as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_dir is not null union select 'K1_' || rowid as id, ths.cod_ths, 'K' as cod_roj, ths.cod_per_cdr as cod_per, ths.cod_etb_cdr as cod_etb, ths.cod_cps_cdr as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_cdr is not null union select 'K2_' || rowid as id, ths.cod_ths, 'K' as cod_roj, ths.cod_per_cdr2 as cod_per, ths.cod_etb_cdr2 as cod_etb, ths.cod_cps_cdr2 as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_cdr2 is not null union select 'R_' || rowid as id, trs.cod_ths, 'R' as cod_roj, trs.cod_per, null as cod_etb, null as cod_cps, trs.tem_rap_recu, null as cod_roj_compl from ths_rap_sou trs union select 'M_' || rowid as id, tjp.cod_ths, 'M' as cod_roj, tjp.cod_per, tjp.cod_etb, tjp.cod_cps, null as tem_rap_recu, case when tjp.cod_roj in ( 'P', 'B', 'A' ) then tjp.cod_roj else null end as cod_roj_compl from ths_jur_per tjp ) select distinct act.id 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 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 nvl ( act.cod_etb, per.cod_etb ) as acteur_etablissement_id, -- Id de l'etablissement de l'acteur 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 SYGAL_ROLE_JURY roj on roj.cod_roj = act.cod_roj join personnel per on per.cod_per = act.cod_per left join corps_per cps on cps.cod_cps = nvl ( act.cod_cps, per.cod_cps ) 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 SYGAL_ROLE_JURY rjc on rjc.cod_roj = act.cod_roj_compl / ``` Loading
CHANGELOG.md +6 −0 Changes for CHANGELOG.md: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -27,3 +27,9 @@ sur 2 pages distinctes retournées par le web service. - [BUGFIX] Correction du script de la vue Apogée SYGAL_INDIVIDU qui inversait le nom usuel et le nom de naissance des acteurs. ## v1.2.0 (07/11/2018) - [FEATURE] Sygal peut désormais avoir connaissance de tous les acteurs des thèses (ex: co-directeurs sur les thèses de Rouen) tout en permettant à l'établissement source de conserver sa propre codification des rôles des acteurs. - [FEATURE] Le service Version retourne désormais la version déployée effective (à l'aide de git).
doc/release-notes/v1.2.0.md 0 → 100644 +169 −0 Changes for doc/release-notes/v1.2.0.md: 169 added lines, 0 removed lines. Original line number Diff line number Diff line # v1.2.0 ## Sources PHP Sur le serveur, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) puis lancez la commande git suivante pour "installer" la nouvelle version : ```bash git fetch && git fetch --tags && git checkout --force 1.2.0 ``` Selon le moteur PHP que vous avez installé, rechargez le service, exemple : - php7.0-fpm : `service php7.0-fpm reload` - apache2-mod-php7.0 : `service apache2 reload` ## Base de données Avis à ceux qui ont Apogée, pour que Sygal puisse avoir connaissance de tous les acteurs des thèses (ex: co-directeurs) tout en permettant à votre établissement de conserver sa propre codification des rôles des acteurs, plusieurs vues SYGAL_* doivent être modifiées/créées dans Apogée. La vue **`SYGAL_ROLE_TR`** doit être personnalisée pour votre établissement car elle spécifie la traduction du code de rôle utilisé dans votre établissement (`FROM_COD_ROJ`) en celui attendu par Sygal (`TO_COD_ROJ`). La version non commentée ci-dessous convient à Caen et au Havre. La version commentée convient à Rouen. ```sql -- UCN et ULHN create or replace view SYGAL_ROLE_TR(FROM_COD_ROJ, TO_COD_ROJ) as select 'A', 'A' from dual union select 'B', 'B' from dual union select 'C', 'C' from dual union select 'D', 'D' from dual union select 'K', 'K' from dual union select 'M', 'M' from dual union select 'P', 'P' from dual union select 'R', 'R' from dual / /* -- URN create or replace view SYGAL_ROLE_TR(FROM_COD_ROJ, TO_COD_ROJ) as select 'A', 'R' from dual union -- rapporteur du jury select 'C', 'K' from dual union -- co-dir select 'D', 'D' from dual union -- dir select 'E', 'M' from dual union -- examinateur => membre du jury (discutable) select 'M', 'M' from dual union -- membre du jury select 'N', 'B' from dual union -- co-encadrant select 'P', 'P' from dual union -- président du jury select 'R', 'R' from dual -- rapporteur du jury / */ create or replace view SYGAL_ROLE_NOMENC(COD_ROJ, LIC_ROJ, LIB_ROJ) as select 'A', 'Absent', 'Membre absent' from dual union select 'B', 'Co-encadr', 'Co-encadrant' from dual union select 'C', 'Chef Labo', 'Chef de laboratoire' from dual union select 'D', 'Directeur', 'Directeur de thèse' from dual union select 'K', 'Co-direct', 'Co-directeur de thèse' from dual union select 'M', 'Membre', 'Membre du jury' from dual union select 'P', 'Président', 'Président du jury' from dual union select 'R', 'Rapporteur', 'Rapporteur du jury' from dual / create or replace view SYGAL_ROLE_JURY as select distinct rtr.TO_COD_ROJ as COD_ROJ, sr.LIB_ROJ, sr.LIC_ROJ from role_jury ar join SYGAL_ROLE_TR rtr on ar.COD_ROJ = rtr.FROM_COD_ROJ join SYGAL_ROLE_NOMENC sr on sr.COD_ROJ = rtr.TO_COD_ROJ / create or replace view SYGAL_ROLE as select 'apogee' as source_id, -- Id de la source COD_ROJ as id, -- Id du rôle LIB_ROJ, LIC_ROJ from SYGAL_ROLE_JURY / create or replace view SYGAL_ACTEUR as with acteur as ( select 'D_' || rowid as id, ths.cod_ths, 'D' as cod_roj, ths.cod_per_dir as cod_per, ths.cod_etb_dir as cod_etb, ths.cod_cps_dir as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_dir is not null union select 'K1_' || rowid as id, ths.cod_ths, 'K' as cod_roj, ths.cod_per_cdr as cod_per, ths.cod_etb_cdr as cod_etb, ths.cod_cps_cdr as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_cdr is not null union select 'K2_' || rowid as id, ths.cod_ths, 'K' as cod_roj, ths.cod_per_cdr2 as cod_per, ths.cod_etb_cdr2 as cod_etb, ths.cod_cps_cdr2 as cod_cps, null as tem_rap_recu, null as cod_roj_compl from these_hdr_sout ths where ths.cod_ths_trv = '1' and ths.cod_per_cdr2 is not null union select 'R_' || rowid as id, trs.cod_ths, 'R' as cod_roj, trs.cod_per, null as cod_etb, null as cod_cps, trs.tem_rap_recu, null as cod_roj_compl from ths_rap_sou trs union select 'M_' || rowid as id, tjp.cod_ths, 'M' as cod_roj, tjp.cod_per, tjp.cod_etb, tjp.cod_cps, null as tem_rap_recu, case when tjp.cod_roj in ( 'P', 'B', 'A' ) then tjp.cod_roj else null end as cod_roj_compl from ths_jur_per tjp ) select distinct act.id 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 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 nvl ( act.cod_etb, per.cod_etb ) as acteur_etablissement_id, -- Id de l'etablissement de l'acteur 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 SYGAL_ROLE_JURY roj on roj.cod_roj = act.cod_roj join personnel per on per.cod_per = act.cod_per left join corps_per cps on cps.cod_cps = nvl ( act.cod_cps, per.cod_cps ) 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 SYGAL_ROLE_JURY rjc on rjc.cod_roj = act.cod_roj_compl / ```