Version minimum requise de PHP : 7.2
Version minimum requise de postgresql : 9.6
Navigateurs internet compatibles : Firefox ESR >= 60 ou Firefox >= 69 ou Chrome >= 79
Windows 7 n'est plus compatible car l'éditeur a mis fin au support de cette version.
apt-get install netcat (Sous Centos : yum install nmap)
La procédure ci-dessous décrit les étapes de migration de la version 19.04 à la version 20.03.
Si votre version de Maarch Courrier est antérieure à la version 19.04, il faudra exécuter tous les scripts de migration antérieurs (exemple : 1810.sql, 1904.sql et les migrates.sh).
Voir la documentation des migrations antérieures si tel est le cas.
git fetch git checkout tags/$(git tag --sort=committerdate | grep -E '20\.03\.([0-9]+)$' | tail -1) -b $(git tag --sort=committerdate | grep -E '20\.03\.([0-9]+)$' | tail -1)
L'exécution des 3 scripts suivants peut prendre beaucoup de temps (entre quelques minutes et 3 heures) en fonction du nombre d'éléments qu'il y a dans ces vues sql : res_view_letterbox, res_view_attachments, view_contacts
Cette action est à exécuter sur toutes vos instances (customs).
Cette partie doit être faite uniquement si le script précédent s'est terminé sans erreurs.
Cette action n'est à exécuter qu'une seule fois, le script migrera tous les customs présents dans le dossier custom.
Cette partie doit être faite uniquement si les 2 scripts précédents se sont terminés sans erreurs.
Cette action est à exécuter sur toutes vos instances (customs).
BREAKING CHANGES
Certains champs étaient déclarés en standard, et sont maintenant des champs personnalisables. Pour ces champs, les valeurs se trouvent maintenant dans la table resources_custom_fields. Les champs impactés sont les suivants :
Si ces variables étaient utilisées dans les clauses de bannette ou de groupes, la migration a été faite via le script migrate.sh
Les champs de fusion [resletterbox.nature_id], [res_letterbox.external_reference], [res_letterbox.reference_number], [res_letterbox.scan] ne sont plus disponible. Il faut utiliser la variable de fusion *[res_letterbox.customField
Les valeurs des champs natures sont migrées comme ceci :
Ancienne valeur | Valeur migrée |
---|---|
Courrier simple | Courrier simple |
Courriel | Courriel |
Fax, Coursier, Autre | Autre |
Chronopost, Fedex | Courrier suivi |
Courrier AR | Courrier avec AR |
Il est possible de modifier ces valeurs dans l'administration des champs personnalisés
Dans les versions précédentes, lorsqu'un pli numérique arrivait, la référence était enregistrée dans le champ N° recommandé (reference_number) et la nature était positionnée à "Pli numérique".
Maintenant, la référence du pli est enregistrée dans la colonne "external_id->>m2m" de la table res_letterbox. La nature n'est plus renseignée
Les fonctionnalités affaires, plans de classement et dossiers ont été supprimées.
Ces 3 anciennes méthodes de classement sont remplacées par une nouvelle fonctionnalité de dossiers.
Lors de la migration :
Toutes les tables et colonnes liées aux plans de classement, aux affaires et aux anciens dossiers sont supprimés.
Les champs customs liés aux types de dossiers ne sont pas conservés
Il n'est plus possible d'écrire des notes sur un dossier
Des nouveaux champs de fusion pour l'entité traitante et l'entité initiatrice du courrier ont été rajoutés ainsi que pour leur parent respectifs.
Tous les champs de fusion disponibles sont documentés ici.
Toutes les variables ont été migrées automatiquement via les scripts de migration ci-dessus.
Voici un résumé des champs ayant changé de noms :
Ancien champ | Nouveau champ |
---|---|
res_letterbox.entity_label | destination.entity_label |
res_letterbox.process_notes | notes |
resletterbox.contact{...} | sender.{...} |
contact.{...} | attachmentRecipient.{...} |
attachments.chrono | attachment.chrono |
visa.{...} | visas |
avis.{...} | opinions |
copies.{...} | copies |
user.{...} (variables de l'entité primaire) | userPrimaryEntity.{...} |
res_letterbox_contact.{...} | sender.{...} ou recipient.{...} |
Les privilèges suivants ont été supprimés :
Identifiant privilège | Nom du privilège | Nouveau comportement | |
---|---|---|---|
add_tag_to_res | Associer des mots-clés disponibles pour un courrier | Il faut avoir le privilège Modifier les métadonnées pour pouvoir ajouter des mots-clés | |
tag_view | Voir les mots-clés des courriers | Tout le monde peut voir les mots-clés associés au courrier | |
put_in_validation | Envoyer le document en validation depuis la page détails | Il faut passer par une action, ou via l'administration Changement de statut du courrier | |
print_details | Imprimer la fiche de liaison depuis la fiche détail | Tout le monde peut imprimer la fiche de liaison, et uniquement depuis les listes de résultats (bannette ou recherche) | |
print_doc_details_from_list | Imprimer les fiches de liaison depuis la recherche | Tout le monde peut imprimer la fiche de liaison, et uniquement depuis les listes de résultats (bannette ou recherche) | |
view_attachments | Voir les pièces jointes | Tout le monde peut voir les pièces jointes | |
index_attachment | Indexer une pièce jointe | Tout le monde peut créer des pièces jointes | |
modify_attachments | Modifier les pièces jointes | Il faut avoir le privilège Gérer les pièces jointes (manage_attachments). Un utilisateur peut toujours modifier ses propres pièces jointes | |
delete_attachments | Supprimer les pièces jointes | Il faut avoir le privilège Gérer les pièces jointes (manage_attachments). Un utilisateur peut toujours supprimer ses propres pièces jointes | |
edit_attachments_from_detail | Modifier les pièces jointes depuis la fiche détaillée | L'utilisateur peut tout le temps modifier ses propres pièces jointes. Pour modifier les autres pièces jointes, il faut avoir | le privilège "Gérer les pièces jointes" (manage_attachments) |
notes_restriction | Restreindre par défaut les annotations à votre entité | Par défaut, les annotations sont restreinte aux entités de l'utilisateur et à l'entité traitante | |
graphics_reports | Activer l'affichage graphique dans les statistique | L'affichage graphique des statistiques est proposé à tous les utilisateurs | |
use_date_in_signBlock | Inclure la date dans la griffe de signature | Il n'est plus possible d'inclure un horodatage lorsque l'on signe un document dans le parapheur | |
delete_document_in_detail | Supprimer un document dans la fiche détaillée | Il faut passer par une action, ou demander à un administrateur qui a les droits d'adminsitration pour modifier le statut d'un courrier |
Tous les privilèges liés au plan de classement, affaire et dossier ont été supprimés car ces 3 fonctionnalités ont été remplacés par une nouvelle fonctionnalité de dossier.
Tous les privilèges liés au thésaurus ont été supprimés, car la fonctionnalité a été intégré dans les mots-clés.
Les privilèges suivants ont été modifiés :
Identifiant privilège | Nom du privilège | Nouveau comportement |
---|---|---|
create_tag | Permet d'enregistrer à la volée des Mots-clé inexistants dans la base de données | Renommer en "Créer des mots-clés depuis les pages d'actions" (manage_tags_application) |
reopen_mail | Changement de statut de courrier | Id modifié en "update_status_mail" |
edit_document_in_detail | Modifier les métadonnées d'un courrier dans la fiche détaillée | Renommé en "Modifier les données d'un courrier. Cela dépendra aussi du paramétrage du statut" (edit_resource) |
save_numeric_package | Sauvegarder des plis numérique | Renommé en "Envoyer et enregistrer des plis numérique" (manage_numeric_package) |
Les privilèges suivants ont été supprimés car l'objectif de l'application n'est pas de constituer un annuaire de contacts, mais de répondre à une demande :
Les privilèges suivants sont supprimés, car obsolète depuis plusieurs versions :
Les colonnes considérées impactantes listées ci-après ont été supprimées de la base de données.
Colonne | Table | Informations |
---|---|---|
enabled, origin, create_id, category_id | actions | supprimés |
working_days | priorities | Jours ouvrés/calendaires est maintenant un paramétrage général de l'application. Voir le paramètre "working_days" dans administration/paramètres |
default_priorities | priorities | Utiliser les modèles d'indexation pour définir la priorité par défaut |
title, identifier, source, relation, offset_doc, is_multi_docservers, tablename, validation_date, department_number_id, external_link | res_letterbox | supprimés |
external_signatory_book_id | res_letterbox | Transféré dans external_id->signatureBookId |
updated_by | res_attachments | modifié en modified_by |
subject, description, type_id, destination, priority, initiator | res_attachments | Supprimés |
enabled | users | transféré dans status. Toutes les valeurs 'Y' présentes dans la colonne seront affiliées à un identifiant 'SPD' |
custom_t1, custom_t2, custom_t3 | users | supprimés |
La colonne user_id de la table note est maintenant renseignée par l'id technique du rédacteur.
La colonne typist de la table res_letterbox est maintenant renseignée par l'id technique du rédacteur.
L'ensemble des modifications sql sont visibles dans les scripts sql qui se situent ici : migration/20.03/
Pensez également à modifier les outils externes exploitants ces colonnes, comme Maarch AutoImport par exemple.
Voici un résumé des champs qui ont changés de noms :
Ancien champ | Nouveau champ |
---|---|
nouveau champ | modelId (id du modèle d'enregistrement), ce champ est obligatoire et influe énormément sur le courrier |
type_id | doctype |
category_id | La catégorie n'est plus renseignable, elle est liée au modèle choisi |
alt_identifier | chrono (boolean) : Si true, un numéro chrono est généré automatiquement (Le numéro chrono n'est plus renseignable) |
typist | typist (ce champ n'utilise plus le login (bbain) mais l'id (2)) |
destination | destination (ce champ n'utilise plus l'identifiant (PJS) mais l'id (5)) |
initiator | initiator (ce champ n'utilise plus l'identifiant (PJS) mais l'id (5)) |
confidentiality | confidentiality (ce champ est maintenant un boolean) |
doc_date | documentDate |
admission_date | arrivalDate |
departure_date | departureDate |
process_limit_date | processLimitDate |
Ancien champ | Nouveau champ |
---|---|
identifier | chrono : (si vide, il sera généré automatiquement) |
res_id_master | resIdMaster |
attachment_type | type |
Dans le cas où vous utilisiez des routes SOAP (via MaarchCapture par exemple), voici les nouvelles routes à utiliser :
Protocole SOAP | Protocole REST |
---|---|
storeResource (Documents) | /rest/resources |
storeExtResource | La table mlb_coll_ext a été fusionnée avec res_letterbox. Toutes les données doivent ainsi être envoyées dans la route /resources ci-dessus |
createContact | /rest/contacts |
retrieveIdentifier | /attachments/{id} |
storeResource (attachment) | /attachments |
retrieveMasterResByChrono | /attachmentsInformations |
Les Routes REST /rest/res et /rest/resExt ont été supprimées. Elles sont remplacées par une seule route /rest/resources : La documentation est disponible ici
Des routes REST ont également été modifiées :
Ancienne route | Nouvelle route |
---|---|
/res/{resIdMaster}/attachments/{resId}/content | /attachments/{resId}/content |
/res/{resIdMaster}/attachments/{resId}/thumbnail | /attachments/{resId}/thumbnail |
/rest/res/{resId}/notes | /rest/resources/{resId}/notes |
La documentation du module MaarchWSClient de MaarchCapture est disponible ici : https://docs.maarch.org/gitbook/html/MaarchCapture/1.0/conf/templates/ws_maarch_courrier.html
L'outil Maarch Capture Connector (MCC), n'est plus compatible à partir de cette version.
Il doit être remplacé par l'outil scanToMaarch. La documentation est disponible sur ce lien