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

Suppression de la vilaine dépendance avec unicaen/mail. Nécessite une...

Suppression de la vilaine dépendance avec unicaen/mail. Nécessite une adpatation de votre appli ssi vous avez besoin de recevoir le mail intitulé 'le journal vient d'être débloqué' (cf. [migration.md](doc/migration.md#640)).
parent ef6a5d9c
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Journal des versions
====================

6.4.0
-----
- Suppression de la vilaine dépendance avec unicaen/mail. Nécessite une adpatation de votre appli ssi vous avez besoin de recevoir le mail intitulé 'le journal vient d'être débloqué' (cf. [migration.md](doc/migration.md#640)).

6.3.0
-----
- Déplacement de la config de la navigation dans le .global.php.dist car toutes les appli n'ont pas l'arborescence 'home' > 'administration'.
+30 −0
Original line number Diff line number Diff line
@@ -153,3 +153,33 @@ Les commandes consoles `evenement:purge` et `evenement:purge` permettent de supp
- `--etat=XXX`,  *(ou `-e XXX`)* pour ne purger que les logs dont l'état est de code `XXX`

*** dans tout les cas, on tient compte de la date de traitements des événements lors de la purge ***


Logging
=======

À partir de la version 6.4, il est possible de spécifier un logger à injecter dans les lignes de commandes Symfony.

NB : le logger est injecté dans toutes les commandes, mais seule la commande `TraiterEvenementsCommand` l'exploite 
(en cas de déblocage du journal).

Exemple de config d'un logger capable d'envoyer un mail (grâce au writer fourni par unicaen/mail) :
```php
    'unicaen-evenement' => [
        'command_logger' => 'unicaen_evenement_command_logger', // cf. config à ajouter dans 'psr_log' ci-dessous
    ],
    // ...
    'psr_log' => [
        'unicaen_evenement_command_logger' => [
            'writers' => [
                'mail' => [
                    'name' => \UnicaenMail\Log\Writer\MailWriter::class,
                    'priority' => 1,
                    'options' => [
                        'to' => 'jean.pranbonenote@univ.fr',
                    ],
                ],
            ],
        ],
    ],
```
+3 −3
Original line number Diff line number Diff line
{
    "name": "unicaen/evenement",
    "description": "Module de gestion des evenement",
    "description": "Module de gestion d'événements (tâches)",
    "repositories": [
        {
            "type": "composer",
@@ -8,9 +8,9 @@
        }
    ],
    "require": {
        "symfony/console": "*",
        "unicaen/app": "^6.0|^7.0",
        "unicaen/privilege": "^6.0",
        "unicaen/mail": "^7.0"
        "unicaen/privilege": "^6.0"
    },
    "autoload": {
        "psr-0": [],
+26 −0
Original line number Diff line number Diff line
@@ -15,7 +15,33 @@ return [
        'icone' => [
            Type::COLLECTION => 'icon icon-listing',
        ],

        // Éventuel logger injecté dans les Commands Symfony
        //'command_logger' => 'unicaen_evenement_command_logger', // cf. config à ajouter dans 'psr_log' ci-dessous
    ],

    /*
    // Config du logger mentionné ci-dessus :
    'psr_log' => [
        'unicaen_evenement_command_logger' => [
            'writers' => [
                'mail' => [
                    'name' => \UnicaenMail\Log\Writer\MailWriter::class,
                    'priority' => 1,
                    'options' => [
                        'to' => 'jean.pranbonenote@univ.fr',
                    ],
                ],
            ],
        ],
    ],
    // À ajouter, si absent de la config de votre appli :
    //'service_manager' => [
    //    'abstract_factories' => [
    //        PsrLoggerAbstractAdapterFactory::class,
    //    ],
    //],
    */

    'navigation' => [
        'default' => [
+19 −0
Original line number Diff line number Diff line
@@ -4,6 +4,25 @@ 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.4.0
-----

### Plus d'envoi de mail par unicaen/evenement

La dépendance avec unicaen/mail a été supprimée dans le but de :
- permettre l'utilisation d'unicaen/evenement dans une appli ne pouvant pas forcément installer unicaen/mail en plus ;
- mettre en oeuvre la bonne pratique de "separation of concerns (SoC)".

Auparavant, la classe `TraiterEvenementsCommand` pouvait être amenée à envoyer un mail eb cas de "débocage du journal".
Désormais, ce n'est plus le cas : charge à l'application appelante de spécifier un "logger" équipé d'un "writer" 
sachant envoyer des mails. Ce logger sera automatiquement injecté dans chaque Command Symfony qui se contentera de
faire un simple `$this->logger->warning()` par exemple.

Pour migrer, il vous faudra dans la config de votre application spécifier un logger via la nouvelle clé de config
`'command_logger'` puis configurer le logger en question via la clé de config Laminas `'psr_log'` :
reportez-vous à la config exemple [unicaen-evenement.global.php.dist](../config/unicaen-evenement.global.php.dist).


6.3.0
-----

Loading