A3.6 Release 12

A3.6.1 Dynacase Control 1.5

Une version majeure de Dynacase Control est disponible. Comme toujours, cette version est proposée en mise en jour lors de la connexion sur l'interface WEB de Dynacase Control.

L'ensemble des phases des installations et mises à jour réalisées par Dynacase Control sont maitenant journalisées ainsi que les différents messages d'erreur ou d'avertissement. Cette journalisation utilise syslog en standard.
Il est possible d'activer une journalisation locale (sur le serveur Control) et de consulter ce journal via l'interface WEB. Pour plus de détail, vous pouvez vous reporter au Manuel d'installation et d'exploitation, chapitre 3.6, Journal des messages d'erreur.

Le mode CLI a été complété. Il permet désormais de réaliser l'ensemble des opérations Control jusqu'à alors accessibles via l'interface WEB, principalement la manipulation des contextes et des archives. Le CLI est document dans le Manuel d'installation et d'exploitation, chapitre 9, Dynacase Control en mode CLI

Enfin, le format des paquets webinst est amélioré : une schéma XML décrit les fichiers infos.xml. Actuellement la conformité à ce schéma n'est pas stricte. Un avertissement est journalisé lors de l'installation de modules dont le fichier infos.xml ne déclare pas le schéma. Si le schéma est déclaré, le fichier doit être conforme, le cas échéant l'installation est interrompue. Pour plus de détail, consultez le Manuel d'installation et d'exploitation, Annexe 2, chapitre A2.2, Fichier info.xml.

L'ensemble de ces points sont détaillés dans l'édition 8 du manuel d'installation et d'exploitation de Dynacase Platform (cf. chapitre Historique des modifications).

A3.6.2 Nouveauté, une API REST pour Dynacase Core

La version beta de la l'API HTTP Dynacase (REST) v1 est disponible.

Elle offre un accès HTTP aux ressources Dynacase (documents, familles principalement) via une architecture REST.

Le manuel de référence de l'API en détaille son fonctionnement et son contenu. Nous vous invitons à en prendre connaissance.

Cette version est en beta, la première version sera publiée avant l'été 2015 en même temps que la version beta du widget Document UI que nous avons présenté sur le blog Dynacase (Roadmap Dynacase).

A3.6.3 Note de release

A3.6.3.1 Socle technique

À compter de cette release, les versions PHP 5.3 et PostgreSQL 8.4 ne sont plus supportées. Pour plus de détail, vous pouvez consulter les paragraphes du manuel d'installation et d'exploitation :

A3.6.3.2 Organisation des dépôts

​Précédemment, les dépôts fournissaient à la fois les modules Dynacase et les paquets de tests. À compter de cette version, les paquets de test sont distribués via un dépôt dédié.

Par exemple, pour la version 3.2 :

  • modules Dynacase : https://eec.anakeen.com/<...>/3.2/webinst
  • modules de Test : https://eec.anakeen.com/<...>/3.2/tests/webinst

À noter : ces modules de tests sont utilisés en interne pour automatiser la validation des modules. Ils peuvent éventuellement être utilisés par un développeur pour vérifier le fonctionnement d'un module mais n'ont pas vocation à être installés sur des machines de production.

Cette modification des dépôts n'entraîne aucun changement sur la configuration de Dynacase Control (les paquets des modules Dynacase ne sont pas déplacés).

A3.6.3.3 Points particuliers

A3.6.3.3.1 Transaction et verrous PostgreSQL

Les mécanismes de verrou et transaction PotsgreSQL utilisés par Dynacase et mis à disposition des développeurs ont fait l'objet d'améliorations.

Elles optimisent le fonctionnement de Dynacase et PostgreSQL lors de manipulation de volumes de documents importants, typiquement lors d'importation en masse de documents et permettent en interne une réduction de potentiels interblocages ralentissant la mise à jour de documents (calcul des droits et stockages des fichiers associés).

Nous invitons les développeurs à prendre connaissance de ce chapitre qui de plus décrit l'utilisation par Dynacase de ces mécanismes lors de traitements particuliers (importation, profilage, etc.).

Manuel de référence Dynacase Core, Transactions et savePoint § 17.5.3

A3.6.3.3.2 Interface de modification des valeurs par défaut

La modification des valeurs par défaut d'une famille était réalisée en utilisant l'interface générique du document. Une interface dédiée a été mise en place. Toujours accessible depuis la famille, elle permet maintenant de modifier chaque valeur par défaut individuellement et surtout permet la modification de valeur par défaut dynamique en proposant soit une saisie via une aide classique ou une saisie de la valeur brute.

L'exemple typique est la modification de la valeur par défaut d'une date via l'interface :

  • l'aide à la saisie permet de positionner une date statique en utilisant le picker de date.

    Modification de la valeur par défaut, utilisation de l'aide à la saisie

    Figure 7. Modification de la valeur par défaut, utilisation de l'aide à la saisie

  • la zone de saisie permet elle de renseigner une méthode ::getDate() par exemple.

    Modification de la valeur par défaut, saisie d'une valeur brute

    Figure 8. Modification de la valeur par défaut, saisie d'une valeur brute

A3.6.3.3.3 Divers

Visibilité I
Les visibilités sont appliquées sur les rapports et prises en compte par la classe formatCollection.
Minuteur et date dynamique
Lors de son attachement, si la date dynamique d'un minuteur est invalide, il n'est pas déclenché #5250.
Aide au développement
Les exceptions sont systématiquement journalisées #5194
Rapport et exportation : mise en forme
La classe formatCollection est enrichie de propriétées (#5180) et de hook (#5195) ajoutant de nouvelles fonctionalitées de formatage des données.
Authentification
Amélioration du formulaire de connexion #5270
Vault
Fourniture d'une API de purge #5125
Empaguetage
Les modules Dynacase Document Grid, Search Criteria et Tags ont fait l’objet d’une adaptation de leur procédure de build sans modification de leur code. Cette modification n’a aucun impact.

A3.6.4 Documentation

Le manuel de référence de l'API HTTP de Dynacase Core est publié en version beta : API HTTP : Manuel de référence.

Les documents suivants ont été mis à jour :

A3.6.5 Mises à jour

A3.6.5.1 Depuis une release 3.2 précédente

Pas d'instruction particulière.

A3.6.5.2 Depuis une version 3.1

Voir le chapitre Migration

A3.6.6 Liste complète des demandes par module

A3.6.6.1 Admin Document Manager, version 3.2.10

Lien vers le tracker de développement pour Admin Document Manager version 3.2.10

  • [5278] : Timer: Date de référence dynamique sans valeur
  • [5182] : Interface d'exportation avec visibilité "I"

A3.6.6.2 Admin Vault Manager, version 3.2.7

Lien vers le tracker de développement pour Admin Vault Manager version 3.2.7

  • [5043] : Optimisation temps de recherche des orphelins

A3.6.6.3 Core, version 3.2.18

Lien vers le tracker de développement pour Core version 3.2.18

  • [5323] : [Rapport] Contraintes et dates dans des tableaux
  • [5309] : Maitrise de nombre de lock par la pose d'un verrou maitre (global)
  • [5308] : Maitrise de nombre de lock lors du recalcul d'un profil dynamique
  • [5306] : Problème formattage de plusieurs messages de warning
  • [5299] : [Installation] Si lors de l'installation la locale fr n'est pas générée l'installation échoue
  • [5296] : SearchDoc->search() retourne des documents supprimés
  • [5293] : Tooltip affiche "0Ko" sur un attribut fichier alors que la taille du fichier n'est pas de 0 Ko
  • [5291] : [guest.php] Plus de cookies lors des requêtes avec guest
  • [5286] : Verrouillage table docrel
  • [5282] : [taskrequest] PostgreSQL Error : {DB0001} query error : ERROR: null value in column "tid" violates not-null constraint
  • [5276] : [IHM/Document/Ajouter au porte document] Action exporter le dossier
  • [5273] : Dépendance PG 9.1 OU 92. OU 9.3 et PHP 5.4 ou 5.5
  • [5272] : Remonté des erreurs UPLOAD_ERR_* dans modcard.php
  • [5270] : [loginform] Rendre le formulaire de login plus responsive
  • [5255] : [packaging] Différentiation des cibles webinst webinst-test
  • [5254] : Doc::setLogicalName() ne retourne pas toujours une erreur quand le nom logique est incorrect
  • [5250] : Timer: Date de référence dynamique sans valeur
  • [5249] : Traduire CORE_TMPDIR_MAXAGE et préciser son unité
  • [5234] : dans un ask, les aides à la saisie sont trop courtes
  • [5232] : Migration 3.2 - Conversion de date et MODATTR
  • [5223] : [PU] [Test/Import des fixture] L'import des fixture en CSV est en mode auto
  • [5218] : Effacement oldValues lors affectation de fichier
  • [5217] : [Document/Int] Contraintes sur les nombres entier
  • [5216] : [Document/HTMLText] HTMLText impossible à éditer
  • [5215] : Intégrer une API de purge du Vault
  • [5209] : problème écriture session en mode open
  • [5208] : Concurrence sur docVaultIndex
  • [5207] : [Indexation] Log d'erreur
  • [5206] : Concurrence sur docperm
  • [5200] : Recherche détaillée : méthode ::getDate()
  • [5195] : [FormatCollection] Hook de render
  • [5194] : Logger les exceptions
  • [5193] : [Document/htmltext] L'option toolbarexpand=no ne fonctionne plus
  • [5191] : PHP Fatal error: Uncaught exception 'Dcp\DirectoriesAutoloaderException' with message 'Cannot read from [./]' in /.../WHAT/classAutoloader.php:554
  • [5190] : Optimisation FDL_postmigr_3.2.12
  • [5189] : Erreur SQL dans script de migration API/migrDates2iso.php
  • [5188] : [Notice] Une notice est parfois levée à la ligne 89 de la classe Class.Mask
  • [5180] : [FormatCollection] Propriétés et mise en forme
  • [5178] : PHP Notice: Trying to get property of non-object in /…/FDL/Class.Mask.php on line 89
  • [5168] : /.../programs/account_init: line 27: [: -ne: unary operator expected
  • [5163] : FormatCollection et Longtext
  • [5162] : [SearchDoc] onlyCount ne lève pas d'exception
  • [5158] : Importation et visibilité I
  • [5151] : Support notation '{FAM_NAME}' dans les aides à la saisie
  • [5140] : [Rapport] Pré-visualisation de la recherche incomplète
  • [5136] : Corruption valeur par défaut des attributs longtext lors de l'ajout d'une nouvelle ligne dans un tableau
  • [5088] : [Exportation/CSV/enclosure et séparateur] Incohérence dans l'interface graphique et entre les paramètres applicatif et l'interface graphique
  • [5086] : [Type/Fichier] La fonction changeFile ne fait pas appel à des sélecteurs utilisables dans le cas de l'édition de tableau (rowviewzone, roweditzone)
  • [5079] : [Visibilité/Rapport/FormatCollection] I pas très confidentiel
  • [5078] : [Traduction] Faute d'orthographe
  • [5074] : L'option elabel et vlabel=up
  • [5072] : Autonomie de la classe Log
  • [5053] : htmltext erreur 500 lorsque l'utilisateur n'a pas le droit create sur la famille IMAGE
  • [5052] : Chemin des fichiers pour les tests unitaires
  • [5051] : Path des sessions
  • [5049] : Fichier temporaire dans le coffre (vault)
  • [5048] : Ajout options formatCollections
  • [5046] : [Core/register_shutdown_function] Le register_shutdown_function de core fait un exit et empêche l'ajout d'autres shutdown_function
  • [5044] : Orthographe dans MailTemplate
  • [5039] : [Import:Contrôle] Lorsque la valeur initiale d'un paramètre et sa définition sont dans le même bloc BEGIN/END le test d'import échoue
  • [5038] : [CVDOC] erreur lorsque les vues ne contiennent pas de zone
  • [5036] : [Document/Export] La fonctionnalité "Ajouter au porte document" n'est pas toujours présente.
  • [5034] : Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
  • [5033] : Call to a member function getOption() on a non-object
  • [5028] : Remote exploit vulnerability in bash CVE-2014-6271
  • [5016] : WebDAV authentifié ne fonctionne plus
  • [4559] : Classe d'exportation de document
  • [2295] : Affichage infos du vault extrêmement long

A3.6.6.4 Document Grid UI, version 1.0.11

Lien vers le tracker de développement pour Document Grid UI version 1.0.11

  • [5252] : [packaging] Différentiation des cibles webinst webinst-test

A3.6.6.5 HTTP API v1, version 0.0.1

Lien vers le tracker de développement pour HTTP API v1 version 0.0.1

  • [5320] : Version beta 0.0.1-beta
  • [4812] : Les actions constituant l'API REST devrait être en openaccess=Y
  • [4811] : Les différents types d'authentification ne sont pas supportés par l'api REST

A3.6.6.5.1 Search Criteria UI, version 1.0.10

Lien vers le tracker de développement pour Search Criteria UI version 1.0.10

  • [5256] : [packaging] Différentiation des cibles webinst webinst-test

A3.6.6.6 Tags, version 1.1.4

Lien vers le tracker de développement pour Tags version 1.1.4

  • [5257] : [packaging] Différentiation des cibles webinst webinst-test
×