Commit 237cbc02 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Doc pour la v6.3.0

parent 00008505
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4,7 +4,8 @@ Journal des modifications

6.3.0
-----
- Possibilité d'activer la mise en cache du tableau des rôles par privilège pour accélerer l'init du moteur d'ACL.
- Possibilité d'activer la mise en cache du tableau des rôles par privilège pour accélerer l'init du moteur d'ACL
  (cf. [migration.md](doc/migration.md#630)).

6.0.5 (19/12/2023)
------------------

doc/migration.md

0 → 100644
+37 −0
Original line number Diff line number Diff line
Migration
=========

Vous trouvez ici, les instructions permettant de passer à une version particulière qui introduit une imcompatibilité par
rapport aux précédentes versions.

6.3.0
-----

Pour passer à la version 6.3.0, vous devez intervenir dans la config globale de la bibliothèque 
(typiquement : `config/autoload/unicaen-privilege.global.php`) pour changer ceci :

```php
use UnicaenPrivilege\Service\Privilege\PrivilegeService;
//...
            'resource_providers' => [
                /**
                 * Le service Privilege peut aussi être une source de ressources,
                 * si on souhaite tester directement l'accès à un privilège
                 */
                PrivilegeService::class => [],
            ],
```

en cela :

```php
use UnicaenPrivilege\Provider\Privilege\PrivilegeProvider;
//...
            'resource_providers' => [
                /**
                 * Le PrivilegeProvider est aussi une source de Ressource, du fait que dans unicaen/auth
                 * on souhaite tester directement l'accès à un privilège (i.e. privilège === ressource).
                 */
                PrivilegeProvider::class => [],
            ],
```
+23 −4
Original line number Diff line number Diff line
@@ -120,10 +120,23 @@ La clé `'privileges_roles_cache_enabled'` permet d'activer la mise en cache :
        ],
```

Le cache choisi par défaut est `\Laminas\Cache\Storage\Adapter\Filesystem`. Le module éponyme doit être activé
dans la config de votre appli (`config/application.config.php`).
Le cache choisi par défaut est `\Laminas\Cache\Storage\Adapter\Filesystem`. Vous devez activer le module éponyme dans 
la config de votre appli (`config/application.config.php`) :

Ensuite, la config de votre appli doit fournir a minima le chemin vers le répertoire de cache :
```php

return [
    'modules' => [
        //...
        'Laminas\Cache', // celui-ci est sans doute déjà inclus
        'Laminas\Cache\Storage\Adapter\Filesystem',
        //...
    ],
];

```

Ensuite, la config de votre appli doit fournir le chemin vers le répertoire de cache :

```php
    'caches' => [
@@ -165,8 +178,14 @@ Si besoin, il est possible d'utiliser un autre nom et/ou type de cache, exemple
                'ttl' => 60*60*10, // 10h
            ],
            'plugins' => [
                ['name' => 'Serializer'],
                ['name' => 'Serializer'], // indispensable
            ],
        ],
    ],
```

Si vous obtenez l'erreur suivante, suivez le [guide de migration de la v6.3.0](doc/migration.md#630) :
`Fatal error: Uncaught TypeError: BjyAuthorize\Service\Authorize::addResourceProvider(): Argument #1 ($provider) must be
of type BjyAuthorize\Provider\Resource\ProviderInterface, UnicaenPrivilege\Service\Privilege\PrivilegeService given,
called in /app/vendor/unicaen/bjy-authorize/src/BjyAuthorize/Service/Authorize.php on line 426 and defined in
/app/vendor/unicaen/bjy-authorize/src/BjyAuthorize/Service/Authorize.php on line 127`
 No newline at end of file