diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4ef4fa7439079b4518e66074865645e658ca03c2..ac72576baf07a16b5120016074f16b324e574229 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,19 +1,12 @@ -image: localhost:5000/unicaen-dev-php7.0-apache +image: localhost:5000/unicaen-dev-php7.4-apache stages: - - test - release cache: paths: - vendor/ -test: - stage: test - script: - - composer install --dev - - composer test module/ImportData - release_job: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 22a7efacd8c0ab2b29151755644400e3c039ea2d..87917f60def8429f534cf5c4f35c67648223df8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ Journal des modifications ========================= +2.3.0 +----- +- Correction du mapping de l'entité Doctorant. +- Mise à jour de vues dans la base de données Apogée/Physalis. + +2.2.0 +----- +- Migration apigility => laminas-api-tools. + 2.1.0 ----- - Service 'thèse' : ajout du code SISE de la discipline. diff --git a/dist/SQL/apogee/01-vues-apogee-communes.sql b/dist/SQL/apogee/01-vues-apogee-communes.sql index 348d7673ec1169b107085f6c56560fc3eef663a1..2fa130068aa991965a0f1d9ff21e40686332a121 100644 --- a/dist/SQL/apogee/01-vues-apogee-communes.sql +++ b/dist/SQL/apogee/01-vues-apogee-communes.sql @@ -45,19 +45,6 @@ where cod_vap in ( 'ETB_LIB_TIT_RESP', 'ETB_LIB_NOM_RESP' ) - -- + variables définies manuellement : -union all -select - id as source_code, - source_id, -- identifiant unique de la source - id, - cod_vap, - lib_vap, - par_vap, - DATE_DEB_VALIDITE, - DATE_FIN_VALIDITE -from - V_SYGAL_VARIABLE_MANU / create or replace view V_SYGAL_INDIVIDU_V2 as diff --git a/dist/SQL/apogee/02-vues-apogee-etab.sql b/dist/SQL/apogee/02-vues-apogee-etab.sql index 7a3d14411e05a7ee8802cddc4eb4c7900e5edbb0..9b416973f10d30acb57d468fcedebed49024b4ed 100644 --- a/dist/SQL/apogee/02-vues-apogee-etab.sql +++ b/dist/SQL/apogee/02-vues-apogee-etab.sql @@ -11,41 +11,6 @@ -- ATTENTION: script à personnaliser! -- --- --- Vue fournissant les "variables d'environnement" requises. --- -create view V_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.fr' as par_vap, -----------------------------> à personnaliser - 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 - union all - select - 'apogee' as source_id, - 'EMAIL_BU' as id, - 'EMAIL_BU' as cod_vap, - 'Adresse mail de contact pour les aspects BU' as lib_vap, - 'bu@univ.fr' as par_vap, ------------------------------------------> à personnaliser - 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 - union all - select - 'apogee' as source_id, - 'EMAIL_BDD' as id, - 'EMAIL_BDD' as cod_vap, - 'Adresse mail de contact pour les aspects Doctorat' as lib_vap, - 'doctorat@univ.fr' as par_vap, -----------------------------------------> à personnaliser - 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 -/ - -- -- Vue traduisant les codes rôles en usage dans votre établissement vers les codes compris par SyGAL. -- diff --git a/dist/SQL/physalis/02-vues-physalis-etab.sql b/dist/SQL/physalis/02-vues-physalis-etab.sql index 3b14a119ea3289075717ac9349740c1af11c1e01..983edf140fec2c9fc584cf7309d906cf57067585 100644 --- a/dist/SQL/physalis/02-vues-physalis-etab.sql +++ b/dist/SQL/physalis/02-vues-physalis-etab.sql @@ -59,39 +59,6 @@ select to_date('9999-12-31', 'YYYY-MM-DD') as DATE_FIN_VALIDITE from dual union all -select - 'physalis' as source_id, - 'EMAIL_ASSISTANCE' as SOURCE_CODE, - 'EMAIL_ASSISTANCE' as id, - 'EMAIL_ASSISTANCE' as cod_vap, - 'Adresse mail de l''assistance utilisateur' as lib_vap, - 'assistance-sygal@univ-exemple.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 -union all -select - 'physalis' as source_id, - 'EMAIL_BU' as SOURCE_CODE, - 'EMAIL_BU' as id, - 'EMAIL_BU' as cod_vap, - 'Adresse mail de contact de la BU' as lib_vap, - 'bu-sygal@univ-exemple.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 -union all -select - 'physalis' as source_id, - 'EMAIL_BDD' as SOURCE_CODE, - 'EMAIL_BDD' as id, - 'EMAIL_BDD' as cod_vap, - 'Adresse mail de contact du bureau des doctorats' as lib_vap, - 'doctorat-sygal@univ-exemple.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 -union all select 'physalis' as source_id, 'TRIBUNAL_COMPETENT' as SOURCE_CODE, diff --git a/doc/release-notes/2.3.0/apogee.sql b/doc/release-notes/2.3.0/apogee.sql new file mode 100644 index 0000000000000000000000000000000000000000..a193db0490dd298979fb78f6baa85dc10984facb --- /dev/null +++ b/doc/release-notes/2.3.0/apogee.sql @@ -0,0 +1,23 @@ +-- +-- Apogée. +-- + +create or replace view V_SYGAL_VARIABLE_V2 as +select + cod_vap as source_code, -- Id unique + 'apogee' as source_id, -- identifiant unique de la source + cod_vap as id, + cod_vap, + lib_vap, + 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 variable_appli +where cod_vap in ( + 'ETB_LIB', + 'ETB_ART_ETB_LIB', + 'ETB_LIB_TIT_RESP', + 'ETB_LIB_NOM_RESP' +); + +drop view V_SYGAL_VARIABLE_MANU; diff --git a/doc/release-notes/2.3.0/physalis.sql b/doc/release-notes/2.3.0/physalis.sql new file mode 100644 index 0000000000000000000000000000000000000000..a1cf970d07c6e002db7bd598c58ec9bc18218a7c --- /dev/null +++ b/doc/release-notes/2.3.0/physalis.sql @@ -0,0 +1,9 @@ +-- +-- Physalis. +-- + +-- Dans la vue V_SYGAL_VARIABLE_V2, supprimez les 3 lignes correspondant aux SOURCE_CODE suivants : +-- - 'EMAIL_ASSISTANCE' +-- - 'EMAIL_BU' +-- - 'EMAIL_BDD' +-- \ No newline at end of file diff --git a/doc/release-notes/v2.2.0.md b/doc/release-notes/v2.2.0.md new file mode 100644 index 0000000000000000000000000000000000000000..ea67acac1a5c6b4362764243890a172bc2847761 --- /dev/null +++ b/doc/release-notes/v2.2.0.md @@ -0,0 +1,40 @@ +Version 2.2.0 +============= + +Sources PHP +----------- + +Sur le serveur d'application, 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 2.2.0 && rm -rf vendor/* && bash install.sh +``` + +Rechargez le service PHP-FPM : +```bash +service php7.4-fpm reload +``` + + +Tests +----- + +Vérifiez que l'API répond bien en lançant les commandes suivantes après les avoir adaptées à votre situation +(cf. éventuellement le [README.md](../../README.md)). + +- Interrogation du service `version` (base de données non sollicitée) : +```bash +TOKEN=$(echo -n 'sygal-app:motdepasse' | base64) +curl --insecure --header "Accept: application/json" --header "Authorization: Basic ${TOKEN}" https://localhost/v2/version/current + +# Réponse attendue du genre : +# {"id":"2.1.0","number":"2.1.0","date":"13\/06\/2022 09:53:53","_links":{"self":{"href":"https:\/\/localhost\/v2\/version\/2.1.0"}}} +``` + +- Interrogation du service `variable` (base de données sollicitée) : +```bash +curl --insecure --header "Accept: application/json" --header "Authorization: Basic ${TOKEN}" https://localhost/v2/variable/ETB_LIB_NOM_RESP + +# Réponse attendue du genre : +# {"sourceCode":"ETB_LIB_NOM_RESP","sourceId":"apogee",[...],"id":"ETB_LIB_NOM_RESP","_links":{"self":{"href":"https:\/\/localhost\/v2\/variable\/ETB_LIB_NOM_RESP"}}} +``` diff --git a/doc/release-notes/v2.3.0.md b/doc/release-notes/v2.3.0.md new file mode 100644 index 0000000000000000000000000000000000000000..0fe94d136a0311571a1a01b53484de5b32c508c3 --- /dev/null +++ b/doc/release-notes/v2.3.0.md @@ -0,0 +1,26 @@ +Version 2.3.0 +============= + +Base de données +--------------- + +### Apogée +Cf. [2.3.0/apogee.sql](2.3.0/apogee.sql). + +### Physalis +Cf. [2.3.0/physalis.sql](2.3.0/physalis.sql). + + +Sources PHP +----------- + +Sur le serveur d'application, 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 2.3.0 && rm -rf vendor/* && bash install.sh +``` + +Rechargez le service PHP-FPM : +```bash +service php7.4-fpm reload +``` diff --git a/install.sh b/install.sh index 32b1490a7ec7c65701268789338a203d9aa78ad8..a788b3ccbe9d667601de540c0aaeb2ffe77b9f84 100755 --- a/install.sh +++ b/install.sh @@ -1,18 +1,27 @@ #!/usr/bin/env bash # -# This script runs required operations in order to set up the application. +# Script d'installation des pré-requis de l'application. # +# Usages : +# ./install.sh + +set -o errexit CURDIR=$(cd `dirname $0` && pwd) + cd ${CURDIR} # Composer install composer install --no-interaction --no-suggest --prefer-dist --optimize-autoloader +vendor/bin/doctrine-module orm:generate-proxies vendor/bin/doctrine-module orm:clear-cache:query vendor/bin/doctrine-module orm:clear-cache:metadata vendor/bin/doctrine-module orm:clear-cache:result -vendor/bin/doctrine-module orm:generate-proxies -composer development-disable +vendor/bin/laminas-development-mode disable + +# Création ou vidange des répertoires de cache +mkdir -p data/cache && chmod -R 777 data/cache && rm -rf data/cache/* +mkdir -p data/DoctrineModule/cache && chmod -R 777 data/DoctrineModule/cache && rm -rf data/DoctrineModule/cache/* diff --git a/module/ImportData/src/V2/Entity/Db/Mapping/ImportData.V2.Entity.Db.Doctorant.dcm.xml b/module/ImportData/src/V2/Entity/Db/Mapping/ImportData.V2.Entity.Db.Doctorant.dcm.xml index 4121fd2e9e1958206cefe9c6d79ea0a7f8de8fe7..9de669a3e6dc3808af8d4f92b7dca63590b49272 100644 --- a/module/ImportData/src/V2/Entity/Db/Mapping/ImportData.V2.Entity.Db.Doctorant.dcm.xml +++ b/module/ImportData/src/V2/Entity/Db/Mapping/ImportData.V2.Entity.Db.Doctorant.dcm.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> <entity name="ImportData\V2\Entity\Db\Doctorant" table="SYGAL_DOCTORANT_V2"> <id name="id" column="ID"/> - <field name="sourceCode" type="integer" column="SOURCE_CODE"/> + <field name="sourceCode" column="SOURCE_CODE"/> <field name="sourceId" column="SOURCE_ID" length="64"/> <field name="individuId" column="INDIVIDU_ID"/> <field name="ine" length="64" column="INE"/>