Commit a25ebb1d authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Doc de version

parent 85587c2c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
Journal des modifications
=========================

2.0.0
------------------

- Passage à Zend Framework 3 et PHP 7.4.
- Nouveau rôle 'Authentifié(e)' permettant d'ajuster les privilèges d'un simple utilisateur authentifié.

1.4.8 (01/09/2020)
------------------

+91 −0
Original line number Diff line number Diff line
# Version 2.0.0

## 1. Sur le serveur d'application
  
- L'application requiert désormais PHP 7.4. Pour y passer depuis PHP 7.0, vous pouvez 

??????????????????????????????
  
- Placez-vous dans le répertoire de l'application puis lancez la commande suivante 
pour installer la nouvelle version :

```bash
git fetch --tags && git checkout --force 2.0.0 && \
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`

## 2. Dans la base de données

```sql
--
-- Nouveau rôle 'Authentifié·e'.
--
INSERT INTO ROLE (id, CODE, LIBELLE, SOURCE_CODE, SOURCE_ID, ROLE_ID, IS_DEFAULT, ATTRIB_AUTO, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, ORDRE_AFFICHAGE) VALUES
(role_id_seq.nextval, 'user', 'Authentifié·e', 'user', 1, 'user', 0, 0, 0, 1, 1, 'a');

--
-- Nouveau privilège 'consultation-page-couverture'.
--
INSERT INTO PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES
(PRIVILEGE_id_seq.nextval, 3, 'consultation-page-couverture', 'Consultation de la page de couverture', 3026);

--
-- Associations de privilèges à des profils.
--
INSERT INTO PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID)
    with data(categ, priv) as (
        select 'these', 'consultation-page-couverture' from dual /*union
        select 'xxxxx', 'xxx' from dual*/
    )
    select p.id as PRIVILEGE_ID, profil.id as PROFIL_ID
    from data
    join PROFIL on profil.ROLE_ID in (
        'ADMIN_TECH',
        'BDD', 'BU',
        'D', 'DOCTORANT', 'K', 'M', 'R',
        'ED', 'UR'
    )
    join CATEGORIE_PRIVILEGE cp on cp.CODE = data.categ
    join PRIVILEGE p on p.CATEGORIE_ID = cp.id and p.code = data.priv
    where not exists (
        select * from PROFIL_PRIVILEGE where PRIVILEGE_ID = p.id and PROFIL_ID = profil.id
    ) ;

--
-- Affectation de profils à des rôles.
-- NB: penser à créer ensuite les ROLE_PRIVILEGE.
--
insert into PROFIL_TO_ROLE (PROFIL_ID, ROLE_ID)
    with data(PROFIL_CODE, ROLE_ROLE_ID) as (
        select 'BDD', 'Maison du doctorat UCN' from dual union
        select 'BDD', 'Maison du doctorat URN' from dual union
        select 'BDD', 'Maison du doctorat ULHN' from dual union
        select 'BDD', 'Maison du doctorat INSA' from dual
    )
    select pr.id, r.id
    from data
    join PROFIL pr on pr.ROLE_ID = data.PROFIL_CODE
    join role r on r.ROLE_ID = data.ROLE_ROLE_ID
    where not exists (
        select * from PROFIL_TO_ROLE where PROFIL_ID = pr.id and ROLE_ID = r.id
    ) ;

--
-- Attribution automatique des privilèges aux rôles (ROLE_PRIVILEGE) tel que spécifié dans :
--   - PROFIL_TO_ROLE (profils appliqués à chaque rôle) et
--   - PROFIL_PRIVILEGE (privilèges accordés à chaque profil).
--
insert into ROLE_PRIVILEGE (ROLE_ID, PRIVILEGE_ID)
select p2r.ROLE_ID, pp.PRIVILEGE_ID
from PROFIL_TO_ROLE p2r
join profil pr on pr.id = p2r.PROFIL_ID
join PROFIL_PRIVILEGE pp on pp.PROFIL_ID = pr.id
where not exists (
    select * from role_privilege where role_id = p2r.role_id and privilege_id = pp.privilege_id
)
;
```