Skip to content
Snippets Groups Projects
MIGRATION.md 8.43 KiB

Migration 2.0 vers 2.1

Configuration

Toutes les modifications qui vont suivre seront à effectuer dans le fichier configuration.ini. Afin de vous aider dans votre migration, le fichier configuration.ini.default peut vous servir de modèle.

Conf.d

Dans le but de regrouper la configuration dans un même fichier, nous avons copié le contenu des fichiers suivants dans le fichier principal configuration.ini :

  • dependency#datasource.ini
  • dependency#filesystem.ini
  • dependency#html.ini
  • dependency#json.ini
  • dependency#localisation.ini
  • dependency#logger.ini
  • dependency#notification.ini
  • dependency#repository.ini
  • dependency#sdo.ini

Tous ces fichiers sont présents dans le dossier conf.d.

Black list

L'option blackList a été ajoutée dans la configuration. Cette option permet de désactiver une ou plusieurs route(s) de service.

Voici le paramétrage par défaut. Ce paramétrage désactive les routes inutiles pour l'archivage sphère publique.

; Blacklist of user stories
blacklistUserStories = "[
   'archiveDeposit/deposit',
   'adminArchive/descriptionField',
   'archiveManagement/modifyDescription'
]"

CSRF (facultatif)

Afin de nous protéger des attaques de "Cross-Site Request Forgery", nous avons ajouté une dépendance.

La dépendance "csrf" doit être ajoutée dans vos deux vhost (présentation et service) comme ci-dessous.

SetEnv LAABS_DEPENDENCIES repository;xml;html;localisation;datasource;sdo;json;fileSystem;notification;csrf

La dépendance amène une configuration associée. Si cette configuration n'est pas ajoutée cela n'empêche en rien le bon fonctionnement de l'application.

[dependency.csrf]
whiteList = "['user/login']"
config = "{
              'CSRFP_TOKEN' : '',
              'logDirectory' : '/tmp',
              'failedAuthAction' : {
                  'GET' : 0,
                  'POST' : 0
              },
              'errorRedirectionPage' : '',
              'customErrorMessage' : '',
              'jsUrl' : '/public/js/csrf/csrfprotector.js',
              'tokenLength' : 10,
              'cookieConfig' : {
                  'path' : '',
                  'domain' : '',
                  'secure' : false
              },
              'disabledJavascriptMessage' : 'This site attempts to protect users against <a href='https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29'> Cross-Site Request Forgeries </a> attacks. In order to do so, you must have JavaScript enabled in your web browser otherwise this site will fail to work correctly for you. See details of your web browser for how to enable JavaScript.',
              'verifyGetFor': {}
          }"

Public user story

Nous avons déplacé des informations techniques de la BDD vers le fichier de configuration. Ces informations ne sont plus censées être modifiées après l'installation.

Le contenu doit être identique à la table "auth"."publicUserStory".

Voici un exemple de contenu:

publicUserStory = "['app/*']"

Voir sous-menu "Base de données" pour la suppression de la table "auth"."publicUserStory".

Task

Nous avons déplacé des informations techniques de la BDD vers le fichier de configuration.

Le contenu doit être identique à la table "batchProcessing"."task".

Voici un exemple de contenu:

[batchProcessing]
tasks = "[
            {
                'taskId': '01',
                'route' : 'audit/event/createChainjournal',
                'description' : 'Chainer le journal de l\'application'
            },
            {
                'taskId': '02',
                'route' : 'lifeCycle/journal/createChainjournal',
                'description' : 'Chainer le journal du cycle de vie'
            },
            {
                'taskId': '03',
                'route' : 'recordsManagement/archiveCompliance/readPeriodic',
                'description' : 'Intégrité périodique'
            },
            {
                'taskId': '04',
                'route' : 'medona/ArchiveDelivery/updateProcessBatch',
                'description' : 'Traiter les communications'
            },
            {
                'taskId': '05',
                'route' : 'medona/ArchiveDestruction/updateProcessAll',
                'description' : 'Traiter les destructions'
            },
            {
                'taskId': '06',
                'route' : 'medona/ArchiveRestitution/updateProcessBatch',
                'description' : 'Traiter les restitutions'
            },
            {
                'taskId': '07',
                'route' : 'medona/ArchiveTransfer/updateProcessBatch',
                'description' : 'Traiter les transferts'
            },
            {
                'taskId': '08',
                'route' : 'medona/ArchiveTransfer/updateValidateBatch',
                'description' : 'Valider les transferts'
            },
            {
                'taskId': '09',
                'route' : 'medona/message/deleteMessageDirectoryPurge',
                'description' : 'Purge des bordereaux'
            }
        ]"

Voir sous-menu "Base de données" pour la suppression de la table "batchProcessing"."task".

Menu

Le menu a été restructuré. Il vous suffit de remplacer le fichier "menu.ini" utilisé par votre application par celui livré par défaut dans le répertoire data.

Base de données

Un fichier de migration a été mis en place pour faciliter la migration de données. Ce fichier se nomme apv2_v2.1.sql et se situe dans le dossier src/ext/archivesPubliques/data/sql/pgsql.

Voici le detail des opérations réalisées dans ce script :

  • Ajout d'une relation d'association entre le profil et le niveau de service. La fonctionnalité n'est pas disponible pour l'archivage public.
  • Modification du type de la colonne "size" pour accepter les fichiers volumineux
  • Ajout du processus de transfert sortant et distinction entre les transferts entrants et sortants
  • Suppression des tables correspondants à la liste des tâches et des routes publiques.
  • Ajout de la description d'événement pour la fonctionnalité "Reprise sur bordereaux" sur les transferts entrants.
  • Modification des vues pour l'archivage public.

Migration 2.2 vers 2.3

Configuration

Toutes les modifications qui vont suivre seront à effectuer dans le fichier configuration.ini. Afin de vous aider dans votre migration, le fichier configuration.ini.default peut vous servir de modèle.

Menu

Le menu général a été modifié.

Accès à l'accueil

Un nouveau point de menu permet de revenir à la page d'accueil, alors qu'auparavant il fallait cliquer sur le logo dans la barre de navigation.

Accès aux échanges de données d'archive

Les points de menu correspondant aux 6 transactions d'échange de données d'archives doivent être remplacés par un seul élément de menu qui amène à un nouvel écran de suivi des transactions :

  • Transferts entrants,
  • Communication,
  • Restitution,
  • Elimination,
  • Notifications,
  • Transferts sortants

Ces 6 éléments de menu pour accéder aux transactions sont déplacés vers la directive menu ajoutée à la section [medona].

Le menu général avant :

menu = "[
    {
        'label' : 'Registre',
        'href'  : '/archivesPubliques/contentDescription',
        'class' : 'fa fa-search fa-fw'
    },
    {
        'label' : 'Transferts entrants',
        'href'  : '#',
        'class' : 'fa fa-sign-in fa-fw',
        'submenu' : [
            {
                'label' : 'Importer un bordereau',
                'href'  : '/transfer'
            },
   ...

Le menu après, où tous les menus d'échange ont été "déplacés" vers la section "medona" et l'accueil est accessible :

menu = "[
    {
        'label' : '',
        'title' : 'Accueil',
        'href'  : '/',
        'class' : 'fa fa-home fa-fw'
    },
    {
        'label' : '',
        'title' : 'Registre',
        'href'  : '/archivesPubliques/contentDescription',
        'class' : 'fa fa-search fa-fw'
    },
    {
        'label' : '',
        'title' : 'Echanges',
        'href'  : '/medona/list',
        'class' : 'fa fa-exchange fa-fw'
    },