Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
sygal-import-ws
Commits
f502d568
Commit
f502d568
authored
Jan 24, 2020
by
Bertrand Gauthier
Browse files
Merge branch 'release-1.3.2' into develop
parents
f46674e1
4f44f7c2
Pipeline
#6193
passed with stage
in 2 minutes and 34 seconds
Changes
38
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
f502d568
Journal des modifications
=========================
1.
3.2 (24/01/2020)
------------------
-
Thèses : ajout des dates d'abandon et de transfert.
-
Les dates d'insertion des données dans les tables
`SYGAL_*`
sont désormais retournées par le web service ;
cela permettra côté SyGAL de détecter un problème dans le CRONage du script de remplissage de ces tables).
1.
3.1 (17/01/2020)
------------------
...
...
config/autoload/version.global.php
View file @
f502d568
...
...
@@ -2,9 +2,9 @@
return
[
'unicaen-app'
=>
[
'app_infos'
=>
[
'version'
=>
'1.3.
0
'
,
'date'
=>
'2
0/1
1/20
19
'
,
'version'
=>
'1.3.
2
'
,
'date'
=>
'2
4/0
1/20
20
'
,
],
],
'comment'
=>
'Fichier généré le 2
0/1
1/20
19
à
09:43:5
5 avec /home/gauthierb/workspace/sygal-import-ws/bump-version'
,
'comment'
=>
'Fichier généré le 2
4/0
1/20
20
à
11:44:2
5 avec /home/gauthierb/workspace/sygal-import-ws/bump-version'
,
];
dist/SQL/01-tables.sql
View file @
f502d568
...
...
@@ -26,7 +26,7 @@ create table SYGAL_ACTEUR
LIB_CPS
VARCHAR2
(
40
),
TEM_HAB_RCH_PER
VARCHAR2
(
1
)
not
null
,
TEM_RAP_RECU
VARCHAR2
(
1
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -36,7 +36,7 @@ create table SYGAL_DOCTORANT
ID
NUMBER
(
8
),
INDIVIDU_ID
NUMBER
(
8
),
INE
VARCHAR2
(
12
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -45,7 +45,7 @@ create table SYGAL_ECOLE_DOCT
SOURCE_ID
VARCHAR2
(
50
char
),
STRUCTURE_ID
VARCHAR2
(
4
),
ID
VARCHAR2
(
4
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -55,7 +55,7 @@ create table SYGAL_ETABLISSEMENT
STRUCTURE_ID
VARCHAR2
(
8
),
ID
VARCHAR2
(
8
),
CODE
VARCHAR2
(
8
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -70,7 +70,7 @@ create table SYGAL_FINANCEMENT
QUOTITE_FINANCEMENT
NUMBER
(
3
),
DATE_DEBUT_FINANCEMENT
DATE
,
DATE_FIN_FINANCEMENT
DATE
,
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -90,7 +90,7 @@ create table SYGAL_INDIVIDU
DATE_NAI_IND
DATE
,
COD_PAY_NAT
VARCHAR2
(
3
),
LIB_NAT
VARCHAR2
(
40
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -101,7 +101,7 @@ create table SYGAL_ORIGINE_FINANCEMENT
COD_OFI
CHAR
(
2
),
LIC_OFI
VARCHAR2
(
10
),
LIB_OFI
VARCHAR2
(
40
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -111,7 +111,7 @@ create table SYGAL_ROLE
ID
CHAR
,
LIB_ROJ
VARCHAR2
(
21
),
LIC_ROJ
VARCHAR2
(
10
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -124,7 +124,7 @@ create table SYGAL_STRUCTURE
LIBELLE
VARCHAR2
(
100
),
CODE_PAYS
VARCHAR2
(
3
),
LIBELLE_PAYS
VARCHAR2
(
40
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -134,7 +134,7 @@ create table SYGAL_THESE_ANNEE_UNIV
ID
VARCHAR2
(
45
),
THESE_ID
NUMBER
(
8
)
not
null
,
ANNEE_UNIV
VARCHAR2
(
4
)
not
null
,
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -149,7 +149,7 @@ create table SYGAL_TITRE_ACCES
LIBELLE_ETB_TITRE_ACCES
VARCHAR2
(
100
),
CODE_DEPT_TITRE_ACCES
VARCHAR2
(
100
),
CODE_PAYS_TITRE_ACCES
VARCHAR2
(
3
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -158,7 +158,7 @@ create table SYGAL_UNITE_RECH
SOURCE_ID
VARCHAR2
(
50
char
),
STRUCTURE_ID
VARCHAR2
(
10
)
not
null
,
ID
VARCHAR2
(
10
)
not
null
,
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -171,7 +171,7 @@ create table SYGAL_VARIABLE
PAR_VAP
VARCHAR2
(
100
),
DATE_DEB_VALIDITE
DATE
,
DATE_FIN_VALIDITE
DATE
,
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
...
...
@@ -200,7 +200,7 @@ create table SYGAL_THESE
ETA_RPD_THS
VARCHAR2
(
1
),
CORRECTION_POSSIBLE
VARCHAR2
(
11
),
COD_ANU_PRM_IAE
VARCHAR2
(
20
),
INSERT
ED_ON
DATE
default
sysdate
not
null
SOURCE_
INSERT
_DATE
DATE
default
sysdate
not
null
)
/
dist/SQL/apogee/01-vues-apogee-communes.sql
View file @
f502d568
...
...
@@ -201,104 +201,105 @@ select distinct
and
cod_etu
is
not
null
/
create
view
V_SYGAL_THESE
as
with
inscription_administrative
as
(
create
or
replace
view
V_SYGAL_THESE
as
with
inscription_administrative
as
(
select
distinct
ths
.
cod_ind
,
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
ths
.
cod_ind
,
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
from
these_hdr_sout
ths
join
ins_adm_etp
iae
on
iae
.
cod_ind
=
ths
.
cod_ind
and
(
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
)
in
(
(
ths
.
cod_dip
,
ths
.
cod_vrs_vdi
),
(
ths
.
cod_dip_anc
,
ths
.
cod_vrs_vdi_anc
)
)
join
diplome
dip
on
dip
.
cod_dip
=
iae
.
cod_dip
join
typ_diplome
tpd
on
tpd
.
cod_tpd_etb
=
dip
.
cod_tpd_etb
join
ins_adm_etp
iae
on
iae
.
cod_ind
=
ths
.
cod_ind
and
(
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
)
in
(
(
ths
.
cod_dip
,
ths
.
cod_vrs_vdi
),
(
ths
.
cod_dip_anc
,
ths
.
cod_vrs_vdi_anc
)
)
join
diplome
dip
on
dip
.
cod_dip
=
iae
.
cod_dip
join
typ_diplome
tpd
on
tpd
.
cod_tpd_etb
=
dip
.
cod_tpd_etb
where
ths
.
cod_ths_trv
=
'1'
-- Exclusion des travaux
and
iae
.
eta_iae
=
'E'
-- Inscription administrative non annulee
and
iae
.
eta_pmt_iae
=
'P'
-- Inscription administrative payee
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
),
hierarchie_structures
as
(
select
cod_cmp_inf
,
cod_cmp_sup
from
cmp_cmp
where
connect_by_isleaf
=
1
connect
by
prior
cod_cmp_sup
=
cod_cmp_inf
),
ancienne_these
as
(
select
distinct
cod_ind
,
cod_dip_anc
,
cod_vrs_vdi_anc
,
'A'
eta_ths
from
these_hdr_sout
where
cod_ths_trv
=
'1'
and
cod_dip_anc
is
not
null
)
),
hierarchie_structures
as
(
select
cod_cmp_inf
,
cod_cmp_sup
from
cmp_cmp
where
connect_by_isleaf
=
1
connect
by
prior
cod_cmp_sup
=
cod_cmp_inf
),
ancienne_these
as
(
select
distinct
cod_ind
,
cod_dip_anc
,
cod_vrs_vdi_anc
,
'A'
eta_ths
from
these_hdr_sout
where
cod_ths_trv
=
'1'
and
cod_dip_anc
is
not
null
)
select
'apogee'
as
source_id
,
-- Id de la source
select
'apogee'
as
source_id
,
-- Id de la source
---------- Enregistrement de la these --------
ths
.
cod_ths
as
id
,
-- Identifiant de la these
case
when
ths
.
eta_ths
=
'S'
and
nvl
(
ths
.
dat_sou_ths
,
sysdate
+
1
)
>
sysdate
---------- Enregistrement de la these --------
ths
.
cod_ths
as
id
,
-- Identifiant de la these
case
when
ths
.
eta_ths
=
'S'
and
nvl
(
ths
.
dat_sou_ths
,
sysdate
+
1
)
>
sysdate
then
'E'
else
ths
.
eta_ths
end
eta_ths
,
-- Etat de la these (E=En cours, A=Abandonnee, S=Soutenue, U=Transferee)
ind
.
cod_etu
as
doctorant_id
,
-- Identifiant du doctorant
ths
.
cod_dis
,
-- Code discipline
dis
.
lib_int1_dis
,
-- Libellé discipline
ths
.
lib_ths
,
-- Titre de la these
ths
.
cod_lng
,
-- Code langue etrangere du titre
ths
.
dat_deb_ths
,
-- Date de 1ere inscription
null
as
cod_anu_prm_iae
,
-- DEPRECATED (cf. V_SYGAL_THESE_ANNEE_UNIV)
ind
.
cod_etu
as
doctorant_id
,
-- Identifiant du doctorant
ths
.
cod_dis
,
-- Code discipline
dis
.
lib_int1_dis
,
-- Libellé discipline
ths
.
lib_ths
,
-- Titre de la these
ths
.
cod_lng
,
-- Code langue etrangere du titre
ths
.
dat_deb_ths
,
-- Date de 1ere inscription
ths
.
dat_abandon
,
-- Date d'abandon
ths
.
dat_transfert_dep
,
-- Date de transfert
edo
.
cod_nat_edo
as
ecole_doct_id
,
-- Identifiant de l'ecole doctorale
ths
.
cod_eqr
as
unite_rech_id
,
-- Identifiant de l'unité de recherche principale
edo
.
cod_nat_edo
as
ecole_doct_id
,
-- Identifiant de l'ecole doctorale
ths
.
cod_eqr
as
unite_rech_id
,
-- Identifiant de l'unité de recherche principale
----------- Cotutelle ----------
pay
.
lib_pay
,
-- Denomination pays de cotutelle
nvl
(
etb
.
lib_web_etb
,
etb
.
lib_etb
)
lib_etb_cot
,
-- Denomination etablissement de cotutelle
ths
.
tem_avenant
,
-- Avenant a la convention de cotutelle (O/N)
----------- Cotutelle ----------
pay
.
lib_pay
,
-- Denomination pays de cotutelle
nvl
(
etb
.
lib_web_etb
,
etb
.
lib_etb
)
lib_etb_cot
,
-- Denomination etablissement de cotutelle
ths
.
tem_avenant
,
-- Avenant a la convention de cotutelle (O/N)
------- Organisation de la soutenance ------
ths
.
dat_prev_sou
,
-- Date previsionnelle de soutenance
ths
.
tem_sou_aut_ths
,
-- Soutenance autorisee (O/N/null)
ths
.
dat_aut_sou_ths
,
-- Date d autorisation de soutenance
ths
.
dat_sou_ths
,
-- Date de soutenance de la these
------- Organisation de la soutenance ------
ths
.
dat_prev_sou
,
-- Date previsionnelle de soutenance
ths
.
tem_sou_aut_ths
,
-- Soutenance autorisee (O/N/null)
ths
.
dat_aut_sou_ths
,
-- Date d autorisation de soutenance
ths
.
dat_sou_ths
,
-- Date de soutenance de la these
---------- Confidentialite --------
ths
.
dat_fin_cfd_ths
,
-- Date de fin de confidentialite de la these
---------- Confidentialite --------
ths
.
dat_fin_cfd_ths
,
-- Date de fin de confidentialite de la these
---------- Jury et resultats --------
tre
.
cod_neg_tre
,
-- Resultat positif (1) ou non (0)
ths
.
eta_rpd_ths
,
-- Reproduction de la these ( O=Oui / C=Oui avec corrections / N=Non )
decode
(
ths
.
eta_rpd_ths
,
'N'
,
'obligatoire'
,
'C'
,
'facultative'
,
null
)
as
correction_possible
-- Témoin de corrections attendues
---------- Jury et resultats --------
tre
.
cod_neg_tre
,
-- Resultat positif (1) ou non (0)
ths
.
eta_rpd_ths
,
-- Reproduction de la these ( O=Oui / C=Oui avec corrections / N=Non )
decode
(
ths
.
eta_rpd_ths
,
'N'
,
'obligatoire'
,
'C'
,
'facultative'
,
null
)
as
correction_possible
-- Témoin de corrections attendues
from
inscription_administrative
iae
join
individu
ind
on
ind
.
cod_ind
=
iae
.
cod_ind
join
version_diplome
vdi
on
vdi
.
cod_dip
=
iae
.
cod_dip
and
vdi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
join
these_hdr_sout
ths
on
ths
.
cod_ind
=
iae
.
cod_ind
and
ths
.
cod_dip
=
iae
.
cod_dip
and
ths
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
left
join
ancienne_these
anc
on
anc
.
cod_ind
=
ths
.
cod_ind
and
anc
.
cod_dip_anc
=
ths
.
cod_dip
and
anc
.
cod_vrs_vdi_anc
=
ths
.
cod_vrs_vdi
and
anc
.
eta_ths
=
ths
.
eta_ths
left
join
annee_uni
ans
on
ans
.
cod_anu
=
ths
.
daa_fin_ths
left
join
ecole_doctorale
edo
on
edo
.
cod_edo
=
ths
.
cod_edo
left
join
secteur_rch
ser
on
ser
.
cod_ser
=
ths
.
cod_ser
left
join
equipe_rch
eqr
on
eqr
.
cod_eqr
=
ths
.
cod_eqr
left
join
resultat_vdi
rvi
on
rvi
.
cod_ind
=
iae
.
cod_ind
and
rvi
.
cod_dip
=
iae
.
cod_dip
and
rvi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
and
rvi
.
cod_ses
=
'0'
and
rvi
.
cod_adm
=
'1'
and
rvi
.
cod_tre
is
not
null
left
join
annee_uni
anr
on
anr
.
cod_anu
=
rvi
.
cod_anu
left
join
typ_resultat
tre
on
tre
.
cod_tre
=
rvi
.
cod_tre
left
join
mention
men
on
men
.
cod_men
=
rvi
.
cod_men
left
join
hierarchie_structures
ccm
on
ccm
.
cod_cmp_inf
=
ths
.
cod_cmp
left
join
composante
cmp
on
cmp
.
cod_cmp
=
nvl
(
ccm
.
cod_cmp_sup
,
ths
.
cod_cmp
)
left
join
diplome_sise
dis
on
dis
.
cod_dis
=
ths
.
cod_dis
left
join
etablissement
etb
on
etb
.
cod_etb
=
ths
.
cod_etb
left
join
pays
pay
on
pay
.
cod_pay
=
ths
.
cod_pay
left
join
etablissement
sou
on
sou
.
cod_etb
=
ths
.
cod_etb_sou
left
join
etablissement
ori
on
ori
.
cod_etb
=
ths
.
cod_etb_origine
left
join
langue
lng
on
lng
.
cod_lng
=
ths
.
cod_lng
where
from
inscription_administrative
iae
join
individu
ind
on
ind
.
cod_ind
=
iae
.
cod_ind
join
version_diplome
vdi
on
vdi
.
cod_dip
=
iae
.
cod_dip
and
vdi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
join
these_hdr_sout
ths
on
ths
.
cod_ind
=
iae
.
cod_ind
and
ths
.
cod_dip
=
iae
.
cod_dip
and
ths
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
left
join
ancienne_these
anc
on
anc
.
cod_ind
=
ths
.
cod_ind
and
anc
.
cod_dip_anc
=
ths
.
cod_dip
and
anc
.
cod_vrs_vdi_anc
=
ths
.
cod_vrs_vdi
and
anc
.
eta_ths
=
ths
.
eta_ths
left
join
annee_uni
ans
on
ans
.
cod_anu
=
ths
.
daa_fin_ths
left
join
ecole_doctorale
edo
on
edo
.
cod_edo
=
ths
.
cod_edo
left
join
secteur_rch
ser
on
ser
.
cod_ser
=
ths
.
cod_ser
left
join
equipe_rch
eqr
on
eqr
.
cod_eqr
=
ths
.
cod_eqr
left
join
resultat_vdi
rvi
on
rvi
.
cod_ind
=
iae
.
cod_ind
and
rvi
.
cod_dip
=
iae
.
cod_dip
and
rvi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
and
rvi
.
cod_ses
=
'0'
and
rvi
.
cod_adm
=
'1'
and
rvi
.
cod_tre
is
not
null
left
join
annee_uni
anr
on
anr
.
cod_anu
=
rvi
.
cod_anu
left
join
typ_resultat
tre
on
tre
.
cod_tre
=
rvi
.
cod_tre
left
join
mention
men
on
men
.
cod_men
=
rvi
.
cod_men
left
join
hierarchie_structures
ccm
on
ccm
.
cod_cmp_inf
=
ths
.
cod_cmp
left
join
composante
cmp
on
cmp
.
cod_cmp
=
nvl
(
ccm
.
cod_cmp_sup
,
ths
.
cod_cmp
)
left
join
diplome_sise
dis
on
dis
.
cod_dis
=
ths
.
cod_dis
left
join
etablissement
etb
on
etb
.
cod_etb
=
ths
.
cod_etb
left
join
pays
pay
on
pay
.
cod_pay
=
ths
.
cod_pay
left
join
etablissement
sou
on
sou
.
cod_etb
=
ths
.
cod_etb_sou
left
join
etablissement
ori
on
ori
.
cod_etb
=
ths
.
cod_etb_origine
left
join
langue
lng
on
lng
.
cod_lng
=
ths
.
cod_lng
where
ths
.
cod_ths_trv
=
'1'
and
-- Exclusion des travaux
anc
.
cod_dip_anc
is
null
/
...
...
doc/apigility.md
0 → 100644
View file @
f502d568
Utiliser l'interface d'admin Apigility
======================================
Ouvrir l'interface d'admin
--------------------------
-
Lancer si besoin le web service dans Docker :
`docker-compose up sygal-import-ws`
-
Passer en mode développement :
`docker-compose exec sygal-import-ws vendor/bin/zf-development-mode enable`
-
Ouvrir l'interface d'admin dans un navigateur, exemple :
`https://localhost:8443`
NB: le numéro de port dépend de la config
`docker-compose.yml`
, faites un
`docker ps`
pour le connaître.
-
Autoriser l'interface d'admin à écrire dans les fichiers de config
du web service :
`docker-compose exec sygal-import-ws chown -R www-data:www-data module/ImportData/config`
Modification de l'API
---------------------
-
Le cas échéant, faire les modifications nécessaires sur l'API.
Fermer l'interface d'admin
--------------------------
-
Rétablir les autorisations d'accès au fichiers :
`sudo chown -R ${USER}:${USER} module/ImportData/config`
-
Ne pas oublier de désactiver le mode développement :
`docker-compose exec sygal-import-ws vendor/bin/zf-development-mode disable`
Test
----
-
Interroger l'API pour vérifier les modifs, exemple :
`curl --insecure --header "Accept: application/json" --header "Authorization: Basic c3lnYWwtYXBwOmF6ZXJ0eQ==" https://localhost:8443/doctorant`
doc/developpement.md
View file @
f502d568
...
...
@@ -8,52 +8,35 @@ Ajouter un champ dans un service
Exemple : ajouter l'INE des doctorants.
Marche à suivre
:
###
Marche à suivre
-
Dans la base de données :
-
Dans la base de données
source (ex: Apogée)
:
- Modifier dans la base de données source (ex: Apogée) la vue `SYGAL_DOCTORANT` pour ajouter la
colonne.
- Modifier la vue `V_SYGAL_DOCTORANT` pour ajouter la nouvelle colonne.
- Modifier la vue `SYGAL_DOCTORANT` pour ajouter la nouvelle colonne, exemple :
`alter table SYGAL_DOCTORANT add INE VARCHAR(20);`
-
Dans les sources PHP :
- Mettre à jour le mapping Doctorant dans le fichier
`module/ImportData/src/V1/Entity/Db/Mapping/ImportData.V1.Entity.Db.Doctorant.dcm.xml`
-
Mettre à jour l'entité Doctorant dans le fichier
-
Ajouter la nouvelle propriété `$ine` ainsi que son getter associé `getIne()` dans la classe d'entité
`module/ImportData/src/V1/Entity/Db/Doctorant.php`
NB: pas besoin d'accesseurs, les colonnes étant découvertes automatiquement
via le mapping.
NB: pas besoin de setter puisqu'il s'agit d'une vue en base de données.
-
Via l'interface graphique d'admin Apigility
-
Lancer le web service dans Docker :
`docker-compose up sygal-import-ws`
-
Passer en mode développement :
`docker-compose exec sygal-import-ws vendor/bin/zf-development-mode enable`
-
Ouvrir l'interface d'admin dans un navigateur :
`https://localhost:8443`
NB: le numéro de port dépend de la config
`docker-compose.yml`
.
-
Autoriser l'interface d'admin à écrire dans les fichiers de config
du web service :
`sudo chown -R www-data:ww-data module/ImportData/config`
-
Sélectionner le service "Doctorant" et aller dans l'onglet "Fields"
pour ajouter le champ
`ine`
.
-
Rétablir les autorisations d'accès au fichiers :
`sudo chown -R gauthierb:gauthierb module/ImportData/config`
-
Ne pas oublier de désactiver le mode développement :
`docker-compose exec sygal-import-ws vendor/bin/zf-development-mode disable`
### Tests
-
En ligne de commande :
- Lancer si besoin le web service dans Docker :
`docker-compose up sygal-import-ws`
-
Lancer le script PHP de remplissage des tables
`SYGAL_*`
à partir des vues
`V_SYGAL_*`
:
`docker-compose exec sygal-import-ws php public/index.php update-service-tables --services=these --verbose`
-
Vérifier que le nouveau champ figure dans la réponse du web service, ex :
`curl --insecure --header "Accept: application/json" --header "Authorization: Basic c3lnYWwtYXBwOmF6ZXJ0eQ==" https://localhost:8443/doctorant`
...
...
doc/release-notes/v1.3.2.md
0 → 100644
View file @
f502d568
Version 1.3.2
=============
Sources PHP
-----------
Sur le serveur, placez-vous dans le répertoire du web service (sans doute
`/var/www/sygal-import-ws`
)
puis lancez les commandes suivantes pour installer la nouvelle version :
```
bash
git fetch
&&
git fetch
--tags
&&
git checkout
--force
1.3.2
&&
bash install.sh
```
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
---------------
### Dates d'abandon et de transfert des thèses
Il faut corriger la vue
`V_SYGAL_THESE`
ainsi que la table
`SYGAL_THESE`
pour inclure ces 2 dates.
#### Apogée
-
Voici le nouveau script de la vue
`V_SYGAL_THESE`
:
```
sql
create
or
replace
view
V_SYGAL_THESE
as
with
inscription_administrative
as
(
select
distinct
ths
.
cod_ind
,
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
from
these_hdr_sout
ths
join
ins_adm_etp
iae
on
iae
.
cod_ind
=
ths
.
cod_ind
and
(
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
)
in
(
(
ths
.
cod_dip
,
ths
.
cod_vrs_vdi
),
(
ths
.
cod_dip_anc
,
ths
.
cod_vrs_vdi_anc
)
)
join
diplome
dip
on
dip
.
cod_dip
=
iae
.
cod_dip
join
typ_diplome
tpd
on
tpd
.
cod_tpd_etb
=
dip
.
cod_tpd_etb
where
ths
.
cod_ths_trv
=
'1'
-- Exclusion des travaux
and
iae
.
eta_iae
=
'E'
-- Inscription administrative non annulee
and
iae
.
eta_pmt_iae
=
'P'
-- Inscription administrative payee
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
),
hierarchie_structures
as
(
select
cod_cmp_inf
,
cod_cmp_sup
from
cmp_cmp
where
connect_by_isleaf
=
1
connect
by
prior
cod_cmp_sup
=
cod_cmp_inf
),
ancienne_these
as
(
select
distinct
cod_ind
,
cod_dip_anc
,
cod_vrs_vdi_anc
,
'A'
eta_ths
from
these_hdr_sout
where
cod_ths_trv
=
'1'
and
cod_dip_anc
is
not
null
)
select
'apogee'
as
source_id
,
-- Id de la source
---------- Enregistrement de la these --------
ths
.
cod_ths
as
id
,
-- Identifiant de la these
case
when
ths
.
eta_ths
=
'S'
and
nvl
(
ths
.
dat_sou_ths
,
sysdate
+
1
)
>
sysdate
then
'E'
else
ths
.
eta_ths
end
eta_ths
,
-- Etat de la these (E=En cours, A=Abandonnee, S=Soutenue, U=Transferee)
ind
.
cod_etu
as
doctorant_id
,
-- Identifiant du doctorant
ths
.
cod_dis
,
-- Code discipline
dis
.
lib_int1_dis
,
-- Libellé discipline
ths
.
lib_ths
,
-- Titre de la these
ths
.
cod_lng
,
-- Code langue etrangere du titre
ths
.
dat_deb_ths
,
-- Date de 1ere inscription
ths
.
dat_abandon
,
-- Date d'abandon
ths
.
dat_transfert_dep
,
-- Date de transfert
edo
.
cod_nat_edo
as
ecole_doct_id
,
-- Identifiant de l'ecole doctorale
ths
.
cod_eqr
as
unite_rech_id
,
-- Identifiant de l'unité de recherche principale
----------- Cotutelle ----------
pay
.
lib_pay
,
-- Denomination pays de cotutelle
nvl
(
etb
.
lib_web_etb
,
etb
.
lib_etb
)
lib_etb_cot
,
-- Denomination etablissement de cotutelle
ths
.
tem_avenant
,
-- Avenant a la convention de cotutelle (O/N)
------- Organisation de la soutenance ------
ths
.
dat_prev_sou
,
-- Date previsionnelle de soutenance
ths
.
tem_sou_aut_ths
,
-- Soutenance autorisee (O/N/null)
ths
.
dat_aut_sou_ths
,
-- Date d autorisation de soutenance
ths
.
dat_sou_ths
,
-- Date de soutenance de la these
---------- Confidentialite --------
ths
.
dat_fin_cfd_ths
,
-- Date de fin de confidentialite de la these
---------- Jury et resultats --------
tre
.
cod_neg_tre
,
-- Resultat positif (1) ou non (0)
ths
.
eta_rpd_ths
,
-- Reproduction de la these ( O=Oui / C=Oui avec corrections / N=Non )
decode
(
ths
.
eta_rpd_ths
,
'N'
,
'obligatoire'
,
'C'
,
'facultative'
,
null
)
as
correction_possible
-- Témoin de corrections attendues
from
inscription_administrative
iae
join
individu
ind
on
ind
.
cod_ind
=
iae
.
cod_ind
join
version_diplome
vdi
on
vdi
.
cod_dip
=
iae
.
cod_dip
and
vdi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
join
these_hdr_sout
ths
on
ths
.
cod_ind
=
iae
.
cod_ind
and
ths
.
cod_dip
=
iae
.
cod_dip
and
ths
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
left
join
ancienne_these
anc
on
anc
.
cod_ind
=
ths
.
cod_ind
and
anc
.
cod_dip_anc
=
ths
.
cod_dip
and
anc
.
cod_vrs_vdi_anc
=
ths
.
cod_vrs_vdi
and
anc
.
eta_ths
=
ths
.
eta_ths
left
join
annee_uni
ans
on
ans
.
cod_anu
=
ths
.
daa_fin_ths
left
join
ecole_doctorale
edo
on
edo
.
cod_edo
=
ths
.
cod_edo
left
join
secteur_rch
ser
on
ser
.
cod_ser
=
ths
.
cod_ser
left
join
equipe_rch
eqr
on
eqr
.
cod_eqr
=
ths
.
cod_eqr
left
join
resultat_vdi
rvi
on
rvi
.
cod_ind
=
iae
.
cod_ind
and
rvi
.
cod_dip
=
iae
.
cod_dip
and
rvi
.
cod_vrs_vdi
=
iae
.
cod_vrs_vdi
and
rvi
.
cod_ses
=
'0'
and
rvi
.
cod_adm
=
'1'
and
rvi
.
cod_tre
is
not
null
left
join
annee_uni
anr
on
anr
.
cod_anu
=
rvi
.
cod_anu
left
join
typ_resultat
tre
on
tre
.
cod_tre
=
rvi
.
cod_tre
left
join
mention
men
on
men
.
cod_men
=
rvi
.
cod_men
left
join
hierarchie_structures
ccm
on
ccm
.
cod_cmp_inf
=
ths
.
cod_cmp
left
join
composante
cmp
on
cmp
.
cod_cmp
=
nvl
(
ccm
.
cod_cmp_sup
,
ths
.
cod_cmp
)
left
join
diplome_sise
dis
on
dis
.
cod_dis
=
ths
.
cod_dis
left
join
etablissement
etb
on
etb
.
cod_etb
=
ths
.
cod_etb
left
join
pays
pay
on
pay
.
cod_pay
=
ths
.
cod_pay
left
join
etablissement
sou
on
sou
.
cod_etb
=
ths
.
cod_etb_sou
left
join
etablissement
ori
on
ori
.
cod_etb
=
ths
.
cod_etb_origine
left
join
langue
lng
on
lng
.
cod_lng
=
ths
.
cod_lng
where
ths
.
cod_ths_trv
=
'1'
and
-- Exclusion des travaux
anc
.
cod_dip_anc
is
null
/
```
-
Et voici de quoi mettre à jour la table
`SYGAL_THESE`
:
```
sql
alter
table
SYGAL_THESE
add
DAT_ABANDON
DATE
/
alter
table
SYGAL_THESE
add
DAT_TRANSFERT_DEP
DATE
/
```
#### Physalis
-
Concernant la vue
`V_SYGAL_THESE`
, les colonnes à ajouter doivent se nommer
`DAT_ABANDON`
et
`DAT_TRANSFERT_DEP`
.
-
Et voici de quoi mettre à jour la table
`SYGAL_THESE`
:
```
sql
alter
table
SYGAL_THESE
add
DAT_ABANDON
DATE