Release note
Dynacase Platform 3.2
Anakeen Labs <labs@anakeen.com>
1.5 Licences et distribution
Les précédentes versions de Dynacase et ses modules étaient distribuées :
- sous licence LGPL, AGPL ou autres sur les dépôts1 privés EEC
- sous licence AGPL dans les dépôts publics
D'autre part, les releases de maintenance étaient buildées dès leur disponibilité sur les dépôts EEC. Ce build était différé de quelques mois sur les dépôts publics.
À partir de la version 3.2 de Dynacase, le mode de distribution évolue.
Les version des modules et les releases de maintenance sont publiés simultanément dans les dépôts publics et privés.
Sur les deux dépôts, les modules sont publiés sous licence licence LGPL 3.0.
Les sources sont accessibles via Github.
Ce fonctionnement concerne les modules standards de Dynacase, c'est à dire ceux existant en version 3.1 et conservés en version 3.2.
Les dépôts privés EEC mettent à disposition de nouveaux modules.
Ces modules sont distribués sous licence Anakeen.
Les sources de ces modules sont accessibles via les dépôts EEC.
Ces nouveaux modules sont :
- Dynacase Tags : gestion de tags sur les documents
- Dynacase Search Criteria : Widget JQuery de construction d'un requèteur
- Dynacase Dashboard : Widget JQuery pour le développement de tableau de bord
- Dynacase Document Grid : Widget JQuery pour la mise en oeuvre de grilles de documents
- Dynacase CKEditor Plugins : Extensions de l'éditeur HTML CKEditor
1.6 Quelques chiffres
-
15 mois
-
12 sprints traitant chacun environ 70 issues (anomalie ou évolution)
-
5 release candidate
-
1824 fichiers modifiés pour le seul module Core
-
951 issues traitées dont
-
76 évolutions
-
206 améliorations
-
(951 - 76 - 206) anomalies
-
1027 tests automatisés de fonctionnalités réalisant 5334 vérifications
-
1140 ETP1
-
226 litres de café2 (approximation)
Le tout en image 15 mois en 42 secondes.
1.7 Points majeurs
1.7.1 Administration
Pour simplifier le travail de développement, il a été décidé de séparer les éléments systèmes et d'administration de la partie utilisateur afin de faciliter le travail des développeurs pour la mise en place des interfaces homme-machine des applications produites.
Les familles techniques ou système Dynacase ne sont plus présentées par défaut aux utilisateurs.
Les applications d’administration sont regroupées dans une interface accessible par une URL spécifique.
Le développeur peut rajouter ses propres interfaces d'administration au Centre d'Administration Dynacase.
1.7.2 Performance
D'importants travaux d'optimisation ont permis d'améliorer les performances de Dynacase, en particulier pour traitement de listes importantes de document (recherche, affichage, etc.). Les principaux points traités par ces travaux sont :
- le fonctionnement avec PostgreSQL 9.1
- la suppression des messages de niveau NOTICE (PHP)
- la mise en place des rôles et suppression des droits négatifs
- l'optimisation des algorithmes de calcul des droits et permissions
1.7.3 Normalisation
Un travail de normalisation a été entrepris sur le version 3.2 pour faciliter le travail de développement et de mise au point.
- Contrôle des spécifications de famille (importation)
- Ceci garantit aux développeurs que les spécifications de familles sont valides
et simplifie le travail de mise au point ultérieur
- Formalisation de l'API Core
- Les méthodes de l'API ont été renommées afin d'être plus explicites et homogènes.
Les méthodes obsolètes ont été mises en évidence et les alternatives indiquées.
Ces méthodes sont amenées à disparaître dans les futures versions de Dynacase.
- Gestions des erreurs
- Les erreurs détectées sont journalisées et identifiées par un code unique. Selon leur gravité, une exception peut être déclenchée.
- Auto-loader
- Les classes PHP sont maintenant inclues lors de l'utilisation des objets.
1.8 Modules EEC
1.8.1 CKEditor Plugins
En complément à CKEditor (éditeur HTML) utilisé dans les documents pour les textes avec mise en forme, ce plugin ajoute une interface utilisateur pour insérer des liens vers d'autres documents Dynacase.
Un mécanisme de marquage (tags) utilisateur des documents est proposé. Il permet à l'utilisateur, selon les droits d'accès au document et la stratégie retenue lors de la conception de l'application Dynacase, de poser un tag en le créant ou en utilisant un existant, et éventuellement de supprimer des tags sur un document. A partir des tags du document, l'utilisateur accède à une interface de recherche permettant de consulter la liste des documents marqués par le tag choisi.
L'administration des tags permet de rapprocher ou de supprimer des tags. Le rapprochement consiste à remplacer deux ou plusieurs tags par un seul. Par exemple pour si les tags 'Qualité' et 'qualite' sont présents sur des documents, l'administrateur peut demander à ce qu'ils soit remplacé par le tag 'qualité' globalement.
Cette fonction est implémentée en deux parties distinctes :
- les mécanismes de manipulation des tags (classe PHP)
- les interfaces standards utilisateur et administrative.
Cette architecture a été retenue pour permettre aux développeurs de mettre en place leurs propres interfaces de gestion des tags.
1.8.3 DocumentGrid
Le module Dynacase DocumentGrid installe un widget jQuery UI1 permettant d'afficher des listes de documents. Cette liste est présenté sous forme d'une grille :
- chaque ligne est un document;
- chaque colonne représente un attribut ou un propriété (titre, état, auteur, etc...);
Le développeur paramètre le mode d'alimentation de la grille, les colonnes présentées, les actions proposées et l'intègre dans une page HTML de l'application.
1.8.4 SearchCriteria
Ce widget JQuery UI permet de construire une interface de recherche de document Dynacase en s'appuyant sur les attributs des documents. La collection résultant de l'exécution de la recherche peut être manipulée via le widget DocumentGrid ou toutes autres présentations de liste de documents.
La capture d'écran ci-dessous présente une page combinant l'utilisation des widgets SearchCriteria (partie haute) et DocumentGrid.
1.8.5 Dashboard
Ce module apport les mécanismes pour la mise en oeuvre de portail métier via un widget JQueryUI.
1.9 Organisation des modules
1.9.1 Nouveau modules
- Admin*
-
Ensemble de modules apportant les interfaces d'administration
- API HTTP Core
-
Voir la note de release 13
- AppSwitcher
-
Le module Webdesk mettait en avant deux mécanismes : la barre de changement d'application et le portail utilisateur.
Pour rendre modulaire et faciliter l'utilisation de la barre de changement d'application, cette fonction a été retirée du module Webdesk et a donnée naissance au module Dynacase AppSwitcher.
Il propose en plus des anciennes fonctionnalités (changement d'application, déconnexion), l'accès direct pour l'utilisateur au changement de mot de passe.
- Bootstrap Installer
-
Voir la note de release 3.2.4
- Backbone Installer
-
Voir la note de release 3.2.4
- CKEditor Plugins
-
Voir la description du module EEC
- Dashboard
-
Voir la description du module EEC
- DocumentGrid
-
Voir la description du module EEC
- Document UI 3.2 R14
-
Voir la note de release 14
- Onefam
-
L'application ONEFAM a été extraite du module cœur de Dynacase et donne naissance au module Dynacase Onefam.
La gestion des recherches et rapports a été reprise.
Un tourne-page paramétrable est disponible.
- SearchCriteria
-
Voir la description du module EEC
- Tags
-
Voir la description du module EEC
- Themes *
-
Themes proposé à l'installation (actuellement Blue Sky seulement).
- Tipsy Installer
-
Voir la note de release 3.2.4
- Underscore Installer
-
Voir la note de release 3.2.4
1.9.2 Nouveau module non supportés
Ces modules sont distribués par Anakeen sans support dans le cadre des contrats EEC.
- Contacts
-
L'application Carnet d'adresse et les familles USER/GROUP/SOCIETE ne sont pas utilisées par Dynacase Plateform.
Pour des raisons de compatibilités elles sont maintenant livrées par le module Dynacase Contact
.
1.9.3 Modules abandonnés
Les modules suivants ne sont plus disponibles à partir de la version 3.2 de Dynacase Platform :
- Thème, non remplacé pas Thème Blue et Thème Ultra Modern
- SearchSheet, remplacé par DocumentGrid
- ZendFramework, non utilisé
- Virtual Desktop, module d’exemple basé sur ExtJS
- FckEditor, remplacé par CKEditor
- OpenId. Les mécanismes d'intégration de provider d'authentification proposés par Dynacase permettent de mettre en place une authentification dédiée plus simplement que par paramétrage et surcharge de ces deux anciens modules.
1.9 Synthèse des modules 3.2
1.9.1 Modules EEC
Ces modules développés par Anakeen, sous Licence Anakeen, sont disponibles sur les dépôts EEC et supportés par Anakeen dans le cadre des contrats EEC.
- Ckeditor Plugins
-
Dashboard UI
- Dashboard Widgets
- Documents Grid UI
- Search Criteria UI
- Tags
- Tags UI
1.9.2 Modules supportés
Ces modules développés par Anakeen, sous Licence LGPL 3.0, sont supportés par Anakeen dans le cadre des contrats EEC.
-
Admin
- Admin Access UI
- Admin Appmng UI
- Admin Docadmin UI
- Admin Fusers UI
- Admin UIs
- Admin Vault UI
-
API HTTP Core v1 3.2 R13
- App Switcher
-
Book
- Core
- CAS
- Datajs
-
Document UI 3.2 R14
-
Fileconnector
- Mailconnector
- Mailconnector Services
-
Networkuser
-
Onefam
- Theme Blue
- Theme Ultra Modern
-
Thesaurus
- Webdesk
-
Webdesk Services
- Workspace
1.9.3 Modules non supportés
Ces modules développés et distribués par Anakeen, sous Licence LGPL 3.0.
Anakeen ne les supporte pas, sauf mention contraire dans votre contrat EEC.
- Contacts
-
Extui
-
Freeevent 3.2 R11
-
Onefam Ext
-
Url
1.9.4 Modules tiers (installer)
Ces modules permettent d'installer des logiciels tiers non développés ni maintenus par Anakeen.
-
Backbone Installer
-
Bootstrap 2 Installer
-
Bootstrap 3 Installer 3.2 R14
-
Ckeditor 3 Installer
-
Ckeditor 4 Installer 3.2 R11
-
Extjs Installer
-
Font Awesome 3.2 R14
-
Jquery Datable Installer
-
Jquery Installer
-
Jquery UI Installer
-
Json2
-
Kendo UI 3.2 R14
-
Less 3.2 R14
-
Mustache.js 3.2 R14
-
Mustache.php 3.2 R14
-
PhpCas Installer
-
Require JS 3.2 R14
-
Tipsy Installer
-
Unserscore 3.2 R14
Chapitre 2 Mises à jour de maintenance
Ce chapitre recense les différentes release produites dans la cadre de maintenance de la plateforme.
À compter de mars 2018, ces mises à jour sont réalisées par module. Elles sont listées par date ou par module.
Les versions des modules sont marquées en fonction de la criticité des issues, et par conséquent de l'intérêt ou l'urgence de réaliser leurs mise à jour :
- La mise à jour peut être faite en fonction de votre application.
- La mise à jour est recommandée suite à des correctifs de dysfonctionnement pouvant dégrader le fonctionnement de la plateforme ou de son environnement.
- Les corrections traitent un problème critique : application non opérationnelle, corruptions de données par exemple.
- La mise à jour est nécessaire pour fixer un problème de sécurité.
Nous préconisons une analyse des notes de release qui doit vous permettre de déterminer si une mise à jour est nécessaire au regard de l'utilisation que vous faites de la plateforme.
Un contrôle du fonctionnement de vos applications doit être effectué suite à une mise à jour avant mise en production.
Les précédentes notes de release de maintenance (3.2 R17 et précédentes) sont disponibles à l'annexe 3
La date de fin de support de la version 3.2 est fixée au 20 mai 2019 (hors accord commercial particulier).
2.1 Par date
22 mai 2019
Liste des modules concernés :
18 février 2019
Liste des modules concernés :
1 août 2018
Liste des modules concernés :
5 mars 2018
Liste des modules concernés :
2.2.1 Dynacase Control
Version : 1.5.5
- date : 5 mars 2018
- description : corrections de bugs pouvant entraîner la corruption d'un contexte.
- criticité : mise à jour recommandée
- issues traitées :
-
7234: Script de migration
migr/X.Y.Z-R
ne fonctionnent pas
-
7233: Error getting registration info: Error writing file '/var/www/foo bar/conf/params.xml': Transaction error renaming temporary file '/tmp/tmp.params.xml.XXXXXXfsPBhF' to '/var/www/foo%20bar/conf/params.xml'.
-
7232: Problème sauvegarde valeur des paramètres suite à mise à jour dynacase-control v1.5.4
2.2.2 Dynacase Admin DocumentAdmin UI
Version : 3.2.13
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7258: Attribut : Affichage erroné de l'ordre
2.2.3 Dynacase CKEditor 4 installer
Version : 4.9.2
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7269: Problème CSS notification (et traduction) message "Press CTRL+V to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option."
-
7260: Ckeditor 4.9.2
2.2.4 Dynacase Core
Version : 3.2.26
- date : 22 mai 2019
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7309: Suppression de la limite de lignes à 16384 caractères pour l'import de documents par CSV
-
7312: Correction de l'accès à une propriété sur un objet NULL dans certains cas dans la classe
UserToken
-
7313: Correction XSS dans le sélectionneur d'images dans les champs htmltext
-
7314: Correction du téléversement d'images dans les champs htmltext
Version : 3.2.25
- date : 18 février 2019
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7240: Support PHP 7.2
-
7283: Erreur "Can't find free entry in vault. [reason Tous les coffres de fichiers sont saturés]"
-
7289: Le script d'API
setApplicationParameter
ne retourne pas de code erreur
-
7298: Double envoi du formulaire de sauvegarde
Version : 3.2.24
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7261: Problème "path" vide sur cookie dcpsession
-
7256: Mauvais placement des attribute order
-
7245: doctitle=xxx non pris en compte sur famille fille/hérité
-
7240: Support PHP 7.2
-
6336: Échec tests unitaires dans docker
2.2.5 Dynacase Dashboard UI
Version : 1.0.9
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7073: Incompatibilité avec PHP >= 7.0 (JSON_ERROR_SYNTAX : ())
2.2.6 Dynacase Document UIs
Version : 1.1.1
- date : 18 février 2019
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7236: lorsque les tabs sont fixed, le passage de la position fixed à la position float fait clignoter le formulaire
-
7237: Permettre l'utilisation de ckeditor sans iframe
2.2.7 Dynacase Fileconnector
Version : 1.1.7
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7268: Ne pas logger le mot de passe FTP dans error_log()
-
7267: Accès FTP avec mot de passe n'est pas fonctionnel
-
370: Accès FTP avec mot de passe dans FileConnector ne fonctionne pas
2.2.8 Dynacase HTTPAPI v1
Version : 1.0.5
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7271: La sauvegarde d'un document temporaire échoue
-
7270: Problème authentification sur appel API v1
-
7266: Route pour contenu de recherche temporaire
-
7265: slice all et casse
Version : 1.0.4
- date : 1 août 2018
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7235: permettre l'utilisation des hooks sur \Dcp\HttpApi\V1\Crud\DocumentFormatter
-
7231: Enum : Retour des enumérés désactivés
2.2.9 Dynacase TEngine Client
Version : 1.0.3
- date : 18 février 2019
- description : corrections de bugs
- criticité : mise à jour recommandée
- issues traitées :
-
7263: query error: ERREUR: une valeur NULL viole la contraint NOT NULL de la colonne « tid » DÉTAIL : insert into taskrequest(tid,fkey,uid,uname,status,comment) values (null, [...])
Chapitre 3 Évolutions et changements
Ce chapitre dresse un panorama des évolutions ou changements apportés par la version 3.2.
Bien que pouvant concerner l'utilisateur final (utilisateur de l'application développée à l'aide de Dynacase Platform), l'administrateur ou le développeur, leur description se veut abordable par un public non averti.
Le détail des changement, des impacts sur le développement et la mise en place d'application sont décrits au chapitre suivant Le coin du développeur.
3.1 Administration
Cf. présentation du module
Lors de l'installation de Dynacase, le centre d'administration propose :
- Gestion des accessibilités
-
paramétrage des accès (ACL) aux applications et actions
- Gestion des applications
-
paramétage des applications
- Gestion des documents
-
fonction de gestion du fonds documentaire : minuteurs, profils, modèles de mail, etc.
- Gestion des utilisateurs
-
utilisateurs, groupes et rôles
- Gestion du coffre
-
surveillance et gestion des coffres (vault)
3.2 Rôles
Évolution majeure d'un point de vue fonctionnel, le rôle permet de définir quels sont les utilisateurs pouvant agir.
Pour cela, les paramétrages de familles de document peuvent maintenant utiliser le mot-clé ACCOUNT
pour caractériser une relation de type acteur -équivalent à l'ancienne notation DOCID(IUSER)
-. Ce mot-clé est complété par la caractérisation du rôle.
Par exemple, si votre attribut rédacteur est de type ACCOUNT(role=chimist)
, cela signifie que vous avez sur votre document désigné le rédacteur -via l'attribut- et de plus, l'utilisateur fait partie de ceux ayant le rôle chimist
.
Un rôle est affecté à un utilisateur. D'un point de vue utilisation, cette affectation est réalisée via une interface similaire à celle utilisée pour ajouter les utilisateurs à un groupe. Il est aussi possible d'ajouter un rôle à un groupe. Cette méthode est un raccourci pour exprimer l'affectation du rôle à tous les utilisateurs du groupe. D'autre part, ce mécanisme est dynamique : les utilisateurs du groupe à un instant t ont le rôle.
A compter de la version 3.2 de Dynacase, nous préconisons l'utilisation des rôles pour l'utilisation des profilages dynamiques. L'utilisation des groupes pour les profilages dynamique est dépréciée.
3.3 Droits et profilages
3.3.1 Droits documentaires : interface et optimisation des algorithmes de calcul
- Interface utilisateur
-
L'interface de consultation des droits calculés sur un document est disponible. Elle permet, depuis un document, de connaître directement les droits appliqués et cela pour un utilisateur. Les droits résultant d'un calcul (profil dynamique en particulier) sont expliqués en fonction du profil associé au document, des rôles de l'utilisateur et tout autre paramétrage intervenant dans le calcul des droits.
- Optimisation des algorithmes de calcul
-
Nous avons revu et optimisé les calculs des droits pour améliorer les performances de Dynacase sur des contextes comportant plusieurs millions de documents et nécessitant des arborescences de groupes complexes.
L'expression de droit «négatif» n'est plus supportée.
Ces optimisations utilisent de manière optimale les mécanismes PostgreSQL 9. Le fonctionnement avec la version 8.4 reste possible.
3.3.2 Droits Applicatifs
Les interfaces de gestion des droits applicatifs ont été améliorée pour faciliter l'accès par utilisateur, groupe et rôle.
3.4 Titulaires et suppléants
Un utilisateur peut agir sur une application Dynacase et ses documents. Ceci est contrôlé par des droits applicatifs (ACL) et des droits documentaires (Profils et privilèges).
Lorsqu'un suppléant est désigné pour cet utilisateur (le titulaire), il peut agir comme le titulaire lui même. Dynacase lui octroie les mêmes droits applicatifs et documentaires.
La désignation du suppléant est gérée par des droits applicatifs (ACL) :
- désignation de son propre suppléant
- désignation du suppléant d'un utilisateur Dynacase.
En désignant son suppléant, l'utilisateur lui transmet seulement ses droit, et non pas ceux qu'il acquiert en étant désigné suppléant d'un tiers.
Par exemple, Martin désigne comme suppléant Éric. Éric peut donc agir comme Martin. Éric désigne Paul comme son suppléant. Paul agit donc en lieu et place d'Éric mais ne peut pas agir comme Martin.
3.5 Connexion utilisateurs
3.5.1 Sécurité et login
Afin de sécuriser les accès à Dynacase lorsqu'il est lui même utilisé comme backend d'authentification, les mots de passe sont maintenant cryptés avec l'algorithme SSHA256 (Salted SHA 256 bits).
Des contraintes de saisie du mot de passe peuvent être imposées à l'utilisateur ( longueur, caractères utilisés, etc...). Ce mécanisme est disponible quel que soit le backend d'authentification.
Il est maintenant possible de modifier le login d'un utilisateur.
3.5.2 Accès anonyme et authentification
Un nouveau mécanisme permet de gérer la demande d'authentification de manière dynamique.
Tant que l'utilisateur non authentifié déclenche des actions ne nécessitant pas d'ACL (ou avec ACL donnant l'accès à Anonymous) les pages sont affichées. Par contre dès qu'une action est liée à une ACL ne permettant pas l'accès anonyme, l'utilisateur est redirigé vers la bannière d'authentification. Après que l'utilisateur se soit signé, l'action est exécutée (les contrôles d'accès par ACL sont toujours réalisés).
De manière similaire, lors de l'accès anonyme à un document invalidé par le profil, l'utilisateur est redirigé vers la bannière d'authentification.
3.7 Importation
3.7.1 Structure : famille, cycle de vie, profil, etc...
L'objectif de cette évolution est de faciliter le paramétrage de Dynacase.
Jusqu'à la version 3.1 de Dynacase Platform, il était possible d'importer des paramétrages comportant des erreurs
ou incohérences. Dynacase ne les signalant pas, ces paramétrages pouvaient générer des dysfonctionnements ou tout
au moins des fonctionnements inattendus.
Pour éviter cela nous avons rendu plus rigoureux les contrôles réalisés lors de l'importation de paramétrage. Dynacase demande à ce que les paramétrages soient conformes.
Lors de l'importation de fichier ODS de paramétrage, si une anomalie est constatée dans le paramétrage elle est signalée et l'importation n'est pas faite. Chaque erreur est indiquée par un code unique la catégorisant. Ces codes seront définis et détaillés en ligne sur la documentation de l'API Dynacase.
3.7.2 Contenu : documents
Lors des importations en masse par CSV, il est maintenant possible d'ajouter des colonnes supplémentaires à celle obligatoires (famille, attributs, etc...). Les valeurs de ces colonnes sont accessibles et utilisables dans les méthodes du document déclenchées lors de l'import (post et pre-import).
Par exemple, si vous souhaitez initialiser des documents créés dans un état précis du cycle de la famille, il suffit de rajouter colonne 'état' dans le CSV d'import et dans la méthode de post import positionner l'état du document à la valeur fournie.
3.8 Cycles de vie documentaires
3.8.1 Nouveau hook
Les cycles de vie Dynacase ont évolués pour introduire de nouveau hook (hameçon) pour déclencher des traitements lors de changement d'état. Pour mémoire, il existe le m1 et m2 respectivement appelés avant et après le changement d'état.
Les m0 et m3 ont été ajoutée, ils permettent :
- m0 : de tester si l'état suivant est accessible. S'il m0 retourne une erreur le menu de changement d'état est grisé, l'erreur est affichée dans un tooltip, et la suite du traitement (m1) de changement d'état n'est pas réalisé. Il permet par exemple de pré-vérifier des conditions de passage liées au contenu du document;
- m3 : de lancer un traitement lorsque le changement d'état a été réalisé (i.e. tous les traitements liés au changement d'état ont été exécutés).
3.8.2 Nombre de transitions
Le nombre de transitions et d'états étaient limités à 20. Cette limite passe à 200.
3.8.3 Interface utilisateur
Pour simplifier l'utilisation des cycles de vie et améliorer l'expérience utilisateur, une modification de l'interface pour le pilotage des workflows :
- le menu présent sur les documents est maintenant libellé (en français) :
Étapes
- lorsque les activités sont définies lors de la conception du workflow elles sont présentées aux utilisateurs en remplacement des états dans les fenêtre popup de changement d'étape
- si une transition est autorisée par le profilage, elle peut être invalidée par la pré-condition m0. Dans ce cas, la transition est présentée dans le menu mais est grisée et inactive
3.9 Le document
La présentation du document a été améliorée.
En édition, les valeurs modifiables via des aides à la saisie sont présentées maintenant avec un style dédié pour éviter les possibles confusions avec des attributs en lecture seule.
Et surtout, en consultation, le titre du document est un hyperlien vers lui-même. Ceci permet deux choses :
- recharger le document en cliquant sur son titre;
- obtenir l'URL directe d'accès au document en utilisant le menu contextuel du navigateur.
3.10 Historique
La présentation de l'historique du document est modernisée. Elle permet une meilleure visualisation de l'historique du document.
L'accès à l'historique du document est désormais contrôlé par l'ACL HISTO
. Par défaut, le fonctionnement reste identique à l'actuel : l'ACL
est positionnée et l'utilisateur peut consulter l'historique du document.
3.11 Interface de paramétrage des familles et application
Il est maintenant possible de créer simplement des interface au moyen de zones pour accéder (consultation et modification) aux paramètres des familles et applications.
Cette évolution permet de simplifier l'accès aux paramètres jusqu'à là accessible via la famille ou l'interface générale des paramètres applicatifs, en les intégrant dans des pages conçues en réponse à des besoins fonctionnels.
Le développeur utilise des zones spécifiques qui peuvent être incluses dans des actions ou zones en indiquant quel paramètre est proposé.
3.12 Menus de l'application générique ONEFAM
La barre de menu, présente au dessus de la liste des documents, peut être personnalisée :
- ajout de nouveau items;
- suppression des items proposés par défaut.
Cette personnalisation est paramétrable par instance de ONEFAM et par famille. Il est donc possible de proposer des menus différents pour une même famille en fonction de l'application ONEFAM dans laquelle elle est présentée.
3.13 Attributs HTMLTEXT
Une version récente de CKEditor est intégrée. Cette version permet d'intégrer plus simplement des plugins à l'éditeur HTML.
3.14 Recherches
3.14.1 Familles visibles pour l'utilisateur dans les recherches
Via les interface de recherche standards (simple, détaillée, rapport et recherche générale), l'utilisateur ne peut que sélectionner les familles fonctionnelles. Par défaut, les familles techniques Dynacase (Rapport, Mailtemplate, etc...) livrées avec Platform sont marquées 'système'. Seul un droit permet de les utiliser dans les recherches (droit alloué aux utilisateurs administrateurs par défaut). Par paramétrage, il est possible d'indiquer si une famille est système ou pas.
3.14.2 Attributs utilisés dans les recherches
Le paramétrage permet de préciser le comportement des recherches accessibles par l'interface standard (simple, détaillée et générale) vis à vis des attributs.
Un attribut peut :
- être masqué lors d'une recherche détaillée ou générale : les documents ayant un attribut contenant le mot recherché ne seront pas remontés. Ceci implique des les valeurs de ces attributs ne seront pas stockées dans les propriétés exploitées par les recherches (svalues, fulltext).
- être pris en compte par la recherche générale, sans pouvoir être explicitement utilisé dans une recherche détaillée. Par exemple, une recherche générale sur 'paul' donnera comme résultat les documents contenant le mot 'paul' y compris pour la famille personne si l'attribut 'prénom' vaut 'paul', mais l'utilisateur ne pourra pas réaliser de recherche détaillée sur la famille 'personne' en fournissant un critère sur l'attribut 'prénom'. Cette option est sans effet pour la programmation de recherche via la classe searchDoc.
- être visible, la valeur de l'attribut est exploitée par les recherches et l'attribut peut être utilisé comme critère de recherche.
3.14.3 Critère des recherches détaillées
Les critères dynamiques proposées à l'utilisateur dans le cadre des recherches détaillées sont présentés sont implémentés par des méthodes de document (getDate()
, getUserId()
, etc.). La liste de ces méthodes peut-être augmenté par celles définies lors du paramétrage. Les méthodes proposées sont annotées (commentaire) de manière particulière de sorte que par introspection du code Dynacase puisse les identifier et les proposer à l'utilisateur comme critère de recherche.
3.14.4 Aide
L'aide à la recherche a été modifiée pour être plus précise pour l'utilisateur.
Jusqu'alors accessible depuis la recherche générale, elle est maintenant présente sur la recherche proposée dans l'application Onefam.
3.15 Modification par lot
La modification par lot permet de traiter de manière performante une liste de documents pour traiter (modification de valeur, suppression de valeur, etc...) un attribut de manière identique sur tous les documents de la liste.
Des options permettent de préciser le comportement : création d'une révision des documents, traitement transactionnel, historisation, etc.
Ce mécanisme est proposé au travers de la classe technique UpdateAttribute
.
3.16 Attribut DOCID : matérialisation des relations
Actuellement une relation (attribut de type docid) est représentée par un hyperlien permettant d'accéder au document cible.
Ce lien est présent y compris si le document cible n'est pas accessible pour l'utilisateur consultant le document source. L'utilisateur pouvait donc voir le titre de la relation (titre du document pour lequel il n'a pas le droit de consultation) et cliquer sur le lien qui l'amenait vers une page d'erreur lui indiquant qu'il n'avait pas le droit de consulter le document.
Sur cette nouvelle version, si l'utilisateur n'a pas accès au document cible, au lieu du titre est affiché le libellé Information non disponible
. Ce libellé n'est pas cliquable.
Une option permet de paramétrer le libellé présenté à l'utilisateur si la cible n'est pas consultable.
3.17 Portail (application WEBDESK)
Cette application a subie de profonds remaniements.
La barre de menu supérieure offrant en particulier le menu de changement d'application et le bouton de déconnexion peut maintenant être utilisée indépendemment de la page d'affichage des services RSS.
La barre de menu est fournie par le module AppSwitcher
. Son apparence a été modernisée (utilisation de JQuery et JQuery UI).
L'ancien module Webdesk
ne propose plus que la page d'affichage des RSS (services). Les Services ont été isolés dans un nouveau module WebDesk Services
. Leur installation n'est plus nécessaire, et seul seront disponibles les services mis en oeuvre dans le cadre du développement d'une application.
3.18 Paramétrage des familles
3.18.1 Valeur des paramètres
Il est maintenant possible d'affecter la valeur (statique) d'un paramètre de famille lors de son importation (création). Pour cela le mot clé INITIAL
a été introduit.
Les options force=yes
dans le fichier de déclaration ou l'option –reinitattr=yes
en mode de commande permettent de forcer l'affectation de la valeur lors d'un import en mise à jour.
3.18.2 Valeurs par défaut des attributs array
La directive DEFAULT
est maintenant utilisable pour les tableaux.
3.19 Autres
- Thèmes
- Les mécanismes de gestion des thèmes ont évolués. Le développeur peut maintenant installer des éléments de thèmes (CSS, Images) et indiquer comment ils sont appliqués.
- Supervision
- L'ancienne page d'accès aux outils d'analyse Dynacase est maintenant accessible par l'URL <...URLDynacase...>/supervisor/.
- Traduction
- Amélioration des traductions en anglais.
Chapitre 4 Le coin du développeur
Cette partie présente la version 3.2 du point de vue du développeur.
Cette version 3.2 est l'aboutissement d'une forte démarche d'amélioration de la robustesse et
des performances, au travers de plusieurs axes :
-
tests automatisés sur la plate-forme : Dynacase n'a jamais été couvert
par autant de tests qu'avec cette version 3.2.
-
test du paramétrage lors de l'import : lors de l'import du paramétrage,
les fichiers sont analysés et toute incohérence est directement remontée au
développeur.
-
documentation : le manuel de référence est en cours de réécriture pour
couvrir l'intégralité des fonctionnalités de cette version, tout en étant
plus clair et de navigation plus facile.
-
performance : cette version améliore de manière significative les performances notamment
par le refactoring du système de droits, et plusieurs autres optimisations.
-
nettoyage du code :
-
suppression des notices : le code ne devrait quasiment plus lever de
notices en php 5.4.
-
homogénéisation des noms : les hooks et méthodes majeures de l'API
ont été renommées pour les rendre plus explicites et homogènes.
Chacun des changements majeur est présenté dans cette partie. Pour avoir le
détail de chaque fonctionnalité, il est recommandé de se référer à la partie
correspondante du manuel de référence.
4.1 Pré-requis de fonctionnement
4.1.1 php
4.1.1.1 Versions supportées
Cf. Support de PostgreSQL & PHP
4.1.1.2 Modules
le module suhosin doit être désactivé.
Le module apache "header" doit être activé.
4.1.1.3 Configuration
les magic quotes doivent être désactivées.
4.1.2 Postgresql
Cf. Support de PostgreSQL & PHP
4.1.3 Autres prérequis système
La commande ldapdelete n'est plus nécessaire.
Les dictionnaires français et anglais, respectivement aspell-fr et aspell-en, utilisés par php-spell doivent être installés. Leur présence est controlée lors de l'installation.
4.2 Modification au niveau des utilisateur, groupes et rôles
4.2.1 Utilisateur
Les mots de passes sont maintenant cryptés au format SHA256.
Des paramètres pour exiger des mots de passes "fort" ont été ajoutés (nombre minimum de lettre, nombre de chiffre, ...)
Lors d'un changement de mot de passe d'un utilisateur par l'administrateur toutes les sessions de l'utilisateur sont invalidées. Il doit se reconnecter avec le nouveau mot de passe.
La notion de "suppléant" a été ajouté. Le suppléant désigné reçoit tous les droits du responsable. Il peut ainsi réaliser le même travail que le responsable.
Le login d'un utilisateur est maintenant modifiable par l'administrateur. Il peut aussi maintenant contenir des caractères spéciaux et des espaces.
La classe Account
remplace la classe User
. Elle s'occupe de la gestion système des utilisateurs, groupes et rôles.
La famille IUSER
(Utilisateur) n'est plus dérivée de USER
(Personne). Elle n'a plus les attributs comme le téléphone. La famille IUSER
ne conserve que les attributs systèmes nécessaire à l'établissement d'un compte (login, password, mail, firstname et lastname).
L'interface d'envoi de document par courriel s'appuyait sur la famille "personne" pour choisir les destinataires. Maintenant, elle recherche toutes les familles qui ont le tag MAILRECIPIENT
pour produire la liste des destinataires possibles. Ces familles doivent implémenter l'interface IMailRecipient
. Par défaut la famille IUSER
n'a pas ce tag mais implémente l'interface. Il suffit d'ajouter le tag par paramétrage pour avoir les utilisateurs comme destinataire de mail dans l'interface d'envoi de documents.
4.2.2 Groupes
Le terme login
a été remplacé par identifiant
.
4.2.3 Rôles
La notion de "rôle" a été ajoutée. Elle permet de définir plus facilement les règles de sécurités sans s'occuper a priori des groupes existants dans la société.
4.2.4 SearchAccount
Une classe de recherche de comptes SearchAccount
(utilisateur, rôles et groupes) a été ajoutée afin de faciliter la recherche de compte : recherche dans les groupes, recherche d'utilisateurs ayant un rôle donné par exemple.
4.3 Modifications de code
4.3.1 La classe Application
La classe application
a connu quelques évolutions mineures :
- ajout des méthodes
getJSLink
et getCSSLink
qui retournent les paths des assets d'une page. Cela permet par exemple de connaître le path d'un fichier JS associé à une application.
4.3.2 La classe ApplicationParameterManager
Une nouvelle classe a été introduite : ApplicationParameterManager
. Comme son nom l'indique cette classe est dédiée à la manipulation des paramètres applicatifs. Elle permet de manipuler notamment :
- les paramètres applicatifs globaux,
- les paramètres applicatifs par application,
- les paramètres applicatifs par application par utilisateur,
- les valeurs par défaut des paramètres applicatifs.
4.3.3 Classe SearchDoc
4.3.3.1 generalFilter
Une nouvelle méthode addGeneralFilter
a été ajoutée à la classe SearchDoc afin
de permettre de générer un filtre directement à partir d'une saisie utilisateur.
Il est également possible de spécifier des critères de pertinence.
4.3.3.2 FormatCollection
Une nouvelle classe permet de gérer la mise en forme de collections de
documents : FormatCollection
. Cette classe est utilisée comme backend pour
l'export des rapports et l'alimentation des grilles de documents (datatable).
4.3.4 Dossiers
Le hook preInsertMultipleDocuments
a été ajouté sur la famille Dir.
4.4 Modifications d'IHM
4.4.1 Familles et documents
Les messages affichés à l'aide de la fonction addWarningMsg
sont affichés maintenant à l'aide d'un fenêtre de dialogue jquery-ui.
Sur les interfaces de consultation des documents, les liens vers les documents liés (les relations) n'affichent plus le titre de la cible si l'utilisateur n'a pas accès en lecture à la cible.
L'interface de consultation de l'historique a été refaite en montrant de manière plus explicite la révision courante et les révisions passées du document.
4.4.2 Vues et représentations
4.4.2.1 Vues OpenDocument Text
La génération d'une vue odt lève maintenant des erreurs plus compréhensibles.
Ces erreurs passent par une exception, qui peut être catchée pour analyse du
fichier corrompu.
4.4.2.2 vues spécialisées avec contrôleur
La méthode associée à une vue doit obligatoirement porter le commentaire
@templateController
. Dans le cas contraire, son exécution sera interdite.
cela permet de se prémunir d'une faille permettant l'exécution arbitraire de
code.
4.4.2.3 pied de document
Les documents sont maintenant découpés en 3 zones :
- un header fixe
- un footer fixe
- le body
Il est possible d'ajouter des zones personnalisées dans le footer.
4.4.3 Nouvelles IHM d'administration
Les interfaces spécifiques à l'administration de Dynacase platform ont été
isolées pour
- les dissocier des interfaces utilisateurs,
- améliorer leur sécurisation
Cette isolation passe maintenant par un index spécifique (admin.php
).
Au cours de cette migration, les interfaces ont été modernisées, notamment
grâce à l'inclusion de jQuery et jQuery UI.
Les modules concernés sont :
- ACCESS
- APPMNG
- FREEDOM
- FUSERS
- VAULT
Enfin, il est à noter que vous pouvez dorénavant intégrer de nouvelles
interfaces d'administration, spécifiques à votre projet, à ce nouvel index.
Pour plus de précisions, vous pouvez vous reporter à la documentation des
modules dynacase-admin-ui*
4.4.4 Traduction
L'ensemble des interfaces et des familles ont été entièrement traduites en
français et en anglais. Que ce soit du coté utilisateur, administrateur, ou
encore développeur, tout s'accorde à la locale choisie lors
de l'authentification.
De plus, les libellés des vues dans les contrôle de vue sont devenus
traduisibles.
4.4.5 Intégration de jQuery et de jQuery UI
jQuery et jQuery UI sont dorénavant chargés dans la page d'un document, que
ce soit en consultation ou en modification.
Cela permet notamment à dynacase d'utiliser des overlays pour l'affichage
- des mini-vues
- des ask
- des message générés par
addWarningMessage
4.4.6 Gestion des styles
Un nouveau mécanisme de gestion des styles a été mis en place. Le style est
maintenant global et n'est plus personnalisable par utilisateur. le nouveau
mécanisme permet en outre d'indiquer des règles définissant quand et comment
sont générés les fichiers CSS.
Enfin, le style MODERN a été mis à jour pour respecter ce nouveau mécanisme.
4.5 Modifications dans le paramétrage
4.5.1 Importation des familles, profils et cycles
Les vérifications sur la conformités des fichiers de description des familles ont été fortement améliorées (plus de 300 points de contrôles).
Chaque erreur d'importation est identifiée par un code unique qui permet d'identifier de manière non ambiguë l'origine de l'erreur. La liste des code est fournie dans la documentation de l'API.
De même tous les éléments de paramétrage indiqués dans les fichiers d'importation sont soumis à des contrôles de conformité.
Si un seul point de contrôle indique une erreur, l'importation de la famille est abandonnée.
De nombreux contrôles ont aussi été ajoutés sur l'importation des profils et des cycles de vie.
4.5.1.1 Valeurs par défaut
Le mot-clef d'importation INITIAL
a été ajouté afin d'indiquer une valeur initiale à un paramètre de famille qui est différent de la valeur par défaut qui elle, indique la valeur a utiliser lorsque la valeur du paramètre est vide.
Le mot-clef RESET
peut prendre les nouvelles valeurs suivantes
-
DEFAULT
: supprimer les valeurs par défaut
-
PARAMETERS
: supprimer les valeurs des paramètres
-
PROPERTIES
: supprimer les valeurs de la configuration des paramètres (lié à la nouvelle clef PROP
)
Le mot-clef DEFAULT
pour les éléments de tableaux indique maintenant la valeur par défaut d'une nouvelle rangée et non du tableau en général. Pour remplir un tableau par défaut, il faut maintenant indiquer le DEFAULT
sur l'attribut tableau.
4.5.1.2 Nouveau type d'attribut
Le type d'attribut account
a été ajouté afin de différencier les liens vers les comptes et les liens vers les documents généraux. Le type 'account' est équivalent à docid("IUSER")
avec l'option isuser=yes pré-définie. Des options spécifiques sur ce nouveau type sont aussi disponibles.
4.5.1.3 Nouvelles options d'attributs
- Option
noaccesstext
: pour les types docid
et account
: texte à afficher lorsque le document pointé n'est pas
accessible en lecture. Par défaut il est écrit "Information non disponible".
- Option
searchcriteria
: Permet de spécifier si l'attribut est indexé pour la recherche plein texte, et s'il est utilisable pour la composition de recherches détaillées et rapports.
- Option
sortable
: Permet d'indiquer que l'attribut peut faire l'objet d'un tri. Par défaut les attributs ne sont plus triables.
- Option
esort
: Les enumérés peuvent être présentés suivant leur déclaration, leur clef ou leur libellé.
4.5.1.4 Modification des liens
Dans la déclaration des hyperliens (colonne link
), des parties variables optionnelles peuvent être déclarées. Auparavant, si une partie variable avait une valeur vide le lien n'était pas affiché.
4.5.1.5 Document système
La plupart des familles livrées par dynacase-core sont déclarées systèmes. Ces familles ne sont pas présentées par défaut dans les interfaces de recherches. Pour déclarer une famille "système" il faut mettre la clef USEFOR;S
dans les déclarations de familles.
4.5.1.6 Exposition des méthodes
Les méthodes qui peuvent être utilisées directement via un menu doivent être taguées avec le mot-clef @apiExpose
dans son commentaire associée. Ceci permet d'éviter l'accès à toute méthode du document à partir de la définition d'un menu. Une méthode non exposée ne peut plus être appelable directement depuis un menu.
4.5.2 Paramétrage et importation des cycles de vie
La notion d'étape a été introduite. Une étape correspond à un état et, le cas
échéant, une activité. Le graphe de workflow a également été revu en
conséquence.
Le nombre de transitions sur les cycles de vie a été porté de 20 à environ 200
(le mode de calcul de cette limite étant complexe, vous pouvez vous reporter au
manuel de référence pour une valeur plus précise).
Les transitions bénéficient maintenant des hooks m0
(déclenché à l'affichage
de la transition) et m3
(déclenché à la toute fin de la transition).
Enfin, les propriétés nosave
, autonext
et viewlist
ne sont plus
utilisables. Il n'est notamment plus possible de changer d'état depuis le mode
modification.
4.5.3 Importation et exportation de documents
4.5.3.1 Importation de documents
Le script wsh importDocuments
doit être utilisé pour l'importation de documents. Il remplace le script obsolète freedom_import qui est déprécié.
Le code d'importation a été remodelé et la nouvelle classe ImportDocument
est en charge de l'importation. Elle peut être utilisée pour des besoins spécifiques d'importation de documents.
La vérification de l'importation de documents a été renforcée. Si une erreur est détectée dans le fichier d'importation, aucun des documents de ce fichier ne sera importé.
Il est possible de rajouter des données supplémentaires lors de l'importation afin de réaliser des traitement spécifique en fonction de ces données dans les hameçons de preImport
et postImport
.
En ce qui concerne l'importation XML, l'attribut optionnel folder
a été ajouté afin de spécifier le dossier dans lequel le document doit être inséré après son importation.
4.5.3.2 Exportation de documents
L'exportation de document a été optimisé pour exporter des volumes plus importants de documents. L'exportation par l'IHM indique maintenant l'état de l'avancement de l'exportation.
4.5.4 Actions et zone de référence
Une interface de modification du mot de passe de l'utilisateur est disponible. Elle est utilisée par les modules dynacase-appswitcher
et dynacase-admin
.
De nouvelles zones FDL:EDITAPPLICATIONPARAMETER
et FDL:EDITFAMILYPARAMTER
permettent de réaliser des interfaces d'administration dont le but est de modifier les paramètres de familles ainsi que les paramètres applicatifs.
Le nouveau mot-clef [CSS:CUSTOMREF]
permet d'indiquer dans les layout html qu'on ne souhaite pas inclure automatiquement les css systèmes à la différence de [CSS:REF]
qui inclus les css systèmes liées au style.
La fenêtre de login HTML a été refaite. En cas de personnalisation de cette fenêtre il faut ajouter un nouveau champ du formulaire HTML permettant la redirection d'url.
L'url de déconnexion a été modifiée : ?authent.php?app=AUTHENT&action=LOGINFORM
Les algorithmes de recherches sur la recherche générale et sur ONEFAM sont basées sur la même interprétation des mots à chercher. Cette interprétation privilégie la recherche de mot entier.
Des aides sur la recherche générale (FGSEARCH) et dans ONEFAM ont été ajoutées.
4.5.5 Liens vers les documents dans un mail
Il est possible de paramétrer de lien généré dans les mails émis via Dynacase (modèles de mail et envoi de documents) pour réaliser un traitement sécifique.
- Exemple
- Si le paramètre
CORE_MAILACTION
est valorisé avec http://www.example.net/dynacase/?app=MY_APP&action=MY_ACTION
, l'URL dans le mail sera http://www.example.net/dynacase/?app=MY_APP&action=MY_ACTION&id=<id document>&...
.
4.5.6 Date au format ISO
La version 3.1 préconisait le stockage de date au format ISO (paramétrage du datestyle
en BDD).
Le format ISO pour les dates est rendu obligatoire à partir de la version 3.2.
4.5.6.1 Format interne et manipulation des dates
Les dates sont stockées au format ISO complete date
: YYYY-MM-DD
1.
La manipulation des dates, lecture et écriture des valeurs d'attributs, est faite par les méthodes Doc::getRawValue()
et Doc::setValue()
:
-
Doc::getRawValue()
retourne la valeur brute des attributs, la valeur de la date au format ISO dans notre cas.
-
Doc::setValue()
accepte une date au format ISO ou bien une date formatée selon la locale de l'utilisateur2. La méthode réalise si nécessaire la conversion avant de stocker la date.
4.5.6.2 Importation des familles
Les déclarations de familles (CSV ou ODS) doivent obligatoirement contenir des dates au format ISO (valeurs par défaut, paramètres, etc.).
4.5.6.3 Importation de documents
Les valeurs des attributs de type date sont notés au format ISO.
Bien que le format ISO soient fortement recommandé, il reste possible d'importer des documents pour lesquels les dates sont fournies dans le format de la locale de l'utilisateur réalisant l'import.
4.6 Modifications dans les familles système
4.6.1 Contrôles de vues
Les libellés des contrôles de vue sont maintenant traduisibles.
De plus, ils sont affichés tels que saisis (Dynacase ne les préfixe plus par
modifier ou par voir).
Enfin, lorsque la première vue de modification accessible à l'utilisateur est
affichable, alors le menu modifier n'est plus affiché et le libellé de la vue concernée est
affichée à sa place.
4.6.2 Modèles de mail
Il est maintenant possible de choisir comme destinataire un groupe désigné par
un paramètre de famille, ou encore de manière statique.
4.6.3 Minuteurs
Les minuteurs dynamiques ont été revus pour offrir davantage de souplesse : il
est maintenant possible de définir un décalage entre la date de référence du
minuteur, et la date de calcul de la première exécution, simplifiant le
paramétrage des cas tels que : « envoyer un mail 2 semaines avant la date de
revue ».
4.6.4 Les recherches
Les familles "système" (USEFOR;S) ne sont plus cherchées par défaut. Une option sur l'interface de recherche permet de rechercher aussi dans ces documents si l'utilisateur a l'autorisation.
Les recherches prennent en compte l'option d'attribut searchCriteria
.
4.6.4.1 Recherches détaillées
Il est possible de créer des méthodes particulières qui permettent d'être utilisées comme critère de filtre. Par exemple la méthode "demain()" ou la méthode "plafondMensuel()" qui sont dépendantes de la famille recherchée. L'utilisateur peut ainsi construire une recherche "les documents dont la date de publication est demain".
4.6.4.2 Les rapports
Les attributs "triable" sont liés à l'option sortable
. Par défaut les attributs ne sont plus triables.
Les attributs docid
et account
peuvent être présentés avec leur identifiant (nombre) ou leur titre. L'utilisateur a le choix de la représentation lors de la constitution du rapport.
Les propriétés triables sont titre, date de modification, date de création. Ceci est modifiable par famille avec le mot-clef PROP
.
L'exportation CSV des rapports a été optimisée pour exporter plus rapidement de nombreux documents. Un indicateur d'avancement est maintenant visible lors de la constitution du fichier d'exportation.
4.7 Autres modifications
4.7.1 Aides à la saisie
Les aides à la saisies par défaut sur les types docid
ne sont plus sensibles aux accents (ceci est aussi valable pour le type account
).
Il est possible de retourner des valeurs dans les aides à la saisie pour les docid multiple
et les enum multiple
.
4.7.2 Authentification
Un nouveau paramètre applicatif permet d'autoriser/refuser l'accès en mode anonyme (accès à "guest.php").
Le mode anonyme n'est plus utilisé pour la bannière d'authentification. C'est l'application AUTHENT
via son script authent.php
qui a en charge l'authentification.
Un nouveau paramétrage permet d'autoriser le mode anonyme dans les parties accessibles et permet le basculement en mode authentifié lorsque l'utilisateur demande l'accès à des parties soumise à authentification. Ceci n'impose pas à l'utilisateur de s'authentifier tant qu'il reste dans des parties publiques.
Les variables de session d'authentification et de paramétrage ont été fusionnées. Un seul cookie dcpSession
est maintenant utilisé pour l'authentification.
La page d'authentification HTML a été refaite.
4.7.3 Sécurité et profils
4.7.3.1 Droits des documents
L'algorithme de calcul des droits documentaire a été refait. Les performances liés aux calculs des droits dynamiques sont maintenant équivalentes à ceux des droits statiques.
Les droits négatifs sur les documents ne sont plus pris en compte et ne sont plus autorisés.
Les profils de documents prennent en compte les rôles définis par la gestion des utilisateurs.
Les interfaces de présentation détaillées des droits indiquent l'origine des droits obtenus.
Les codes couleurs indiqués dans les interfaces de profils ont été changés pour les utilisateurs et une légende indiquant les correspondances est maintenant disponible.
Les attributs de type docid
liés au profil dynamique doivent avoir l'option isuser=yes
pour être pris en compte. Les attributs de type account
ont par défaut l'option isuser=yes
et sont pris compte pour les profils dynamiques.
4.7.3.2 Acl applicatives
Le droit HISTO
sur l'application FDL
a été ajouté afin d'indiquer l'accès aux historiques des documents de manière globale. Par défaut les utilisateurs n'ont plus accès à l'historique.
4.7.4 Modification de masse
Une nouvelle classe a été mise à disposition : UpdateAttribute
. Cette classe
permet de mettre à jour un volume important de documents sans devoir itérer
sur les documents en question. Cette approche répond à des besoins très
spécifique et permet de tenir compte des problématiques de révision,
commentaires d'historique, profils, etc.
4.8 Éléments dépréciés
4.8.1 Type d'attribut de document
Le type d'attribut float
est déprécié au profit de double
Le type d'attribut integer
est déprécié au profit de int
4.8.2 Propriétés de l'application
Suppression des propriétés non utilisées depuis la version 2
-
access_free
=> déclaration d'une application sans droit
-
ssl
=> forcer le mode ssl pour afficher l'application
-
machine
=> répartition d'une application sur un autre serveur
-
objectclass
=> non utilisé
4.8.3 Paramètre de log niveau deprecated
Le paramètre CORE_LOGLEVEL
s'il est mis à 'O' (O comme Obsolète) logue l'accès aux méthodes dépréciées dans le fichier de log. Par défaut, il n'est pas activé.
4.8.4 Méthode et hameçons des documents
De nombreux hameçons (hook) sur le document ont été renommés (specRefresh devient preRefresh() par exemple. La compatibilité avec les anciens nommages est assurée par la version 3.2, mais sera progressivement supprimée dans les versions suivantes.
De même de nombreuses méthodes du document sont dépréciées (par exemple Doc::getValue
)
La liste des deprecated, avec leur méthode de remplacement est disponible sur le site Documentation de l'api.
Un script est mis à disposition, il permet aux développeurs de parser leur code pour détecter ces obsolescences.
4.8.5 Api wsh
les scripts
-
freedom_refresh
est déprécié et est remplacé par refreshDocuments
-
freedom_import
est déprécié et est remplacé par importDocument
-
freedom_clean
est déprécié et est remplacé par dynacaseDbCleaner
-
fdl_cronexec
est déprécié et est remplacé par processExecute
-
import_style
a été supprimé et remplacé par setStyle
4.8.6 Utilisateurs
La famille IUSER
(Utilisateur) ne dérive plus de USER
(Personne). Lors d'une migration les attributs issus de personne
sont gardés si des documents ont des valeurs sur ces attributs. Sinon tous les attributs de "personne" qui ne sont pas utilisés dans les documents "utilisateur" sont enlevés.
Le module dynacase-contacts
fournit la famille USER
.
4.8.7 API wsh importDocument
L'option --reinitattr=yes
est dépréciée.
Elle est remplacée par l'option --reset=attributes
.
Pour plus de précision, reportez vous au chapitre Importation et exportation de documents du manuel de référence.
4.9 Exploitation
4.9.1 Page supervisor
La page de contrôle du bon fonctionnement de Dynacase (anciennement
/admin/index.html
) a été déplacée vers /supervisor/index.html
.
- Elle est protégée par un htaccess / htpasswd dont le mot de passe est
synchronisé avec celui du compte admin de Dynacase.
- Elle a été entièrement retravaillée pour être plus lisible.
- Elle contrôle maintenant que les cron DbCleaner sont bien exécutés.
- Elle donne une estimation de la volumétrie de la base de données.
- Il est maintenant possible d'ajouter des services à cette interface.
4.9.2 Gestion des logs
La classe Log
a été mise à jour.
- Les différents niveaux de log sont maintenant portés par des constantes
- Le niveau
Log::TRACE
a été ajouté pour le développeur :
ce niveau ne sera jamais utilisé par la plate forme, permettant donc au
développeur de différencier ses logs pendant le développement de ceux de
la plate forme
- Le reporting par défaut des logs a été changé de
WEIF
à WEF
(suppression
des messages d'information)
- Les erreurs de la plate forme sont dorénavant gérées sous forme de codes
d'erreur, permettant d'identifier plus clairement les erreurs
- Le niveau de log
Log::DEPRECATED
a été ajouté
Les exécutions périodiques (cron et minuteurs) font maintenant l'objet d'une
entrée dans les logs.
4.9.3 Répertoires de travail
Les répertoires de travail sont maintenant gérés sous l'arborescence du serveur.
Ils sont sous le répertoire var
. cela concerne :
- ./var/cache
- ./var/cache/file
- ./var/cache/image
- ./var/session
- ./var/tmp
- ./var/upload
4.9.4 Autres modifications de répertoires
Le répertoire admin
a été renommé supervisor
.
Le répertoire context
a été renommé en config
. Il inclut toujours le fichier dbaccess.php
et local-dbaccess.php
.
Le répertoire context/FDLGEN
a été déplacé à la racine du contexte.
4.9.5 Mots de passe
Les mots de passe sont maintenant cryptés en SHA-256.
4.10 Évolutions des modules complémentaires
Cette partie liste les évolutions étant intervenue dans les modules
complémentaires
4.10.1 ONEFAM
4.10.1.1 Introduction
ONEFAM est maintenant devenu un module de Dynacase.
L'essentiel de l'application et de son fonctionnement n'évolue pas mais il faut maintenant faire la démarche d'installer ONEFAM et il n'est plus installé par défaut.
4.10.1.2 Évolution
Les points suivants ont été modifiés :
- reprise du look and feel et du markup pour utiliser jQuery UI,
- la gestion des recherches a été repensée pour être plus facilement accessible par les utilisateurs,
- la recherche dans les fiches résumé a été modifiée pour être plus simple et utiliser le même backend que la recherche générale,
- un mode d'emploi in-situ a été ajouté pour expliquer la syntaxe des recherches,
- le tri sur un attribut de type docid ou enum est maintenant fait par ordre alphabétique,
- le tri par défaut de la liste des fiches est maintenant la date de révision de la plus récente à la plus ancienne
- possibilité de personnaliser la barre de menu affichée au dessus des listes de documents
- introduction d'un mécanisme de tourne page par instance et par famille
4.10.2 Module dynacase-fileconnector
Ajout d'une option pour faire une connexion ftp passive lors de la récupération des fichiers à intégrer.
4.11 Scripts API (WSH)
4.11.1 Utilisation de actionUsage et ApiUsage
La mise à jour des ApiUsage / ActionUsage implique que les arguments multiples ne sont plus acceptés.
Pour utiliser des arguments multiples, il faut les signaler comme tel au moyen du troisième paramètre addRequired
, qui peut être :
- un
array
avec les valeurs que peut prendre l'argument (mais dans ce cas, l'argument ne peut être multiple)
- un
callable
qui valide l'argument.
La méthode statique ApiUsage::isArray peut être utilisée pour vérifier que la valeur est multiple. Dans le cas où la vérification est plus complexe, il est nécessaire d'écrire sa propre fonction.
Chapitre 5 Migration
5.1 Session
Les variables de session d'authentification et de paramétrage ont été fusionnées.
L'appel à $action->parent>session->close()
entraîne maintenant une déconnexion.
Le nom du cookie de session est maintenant dcpsession
au lieu de freedom_auth
et freedom_param
Le nom du cookie de session n'est plus configurable dans les paramètres d'authentification.
5.2 Wsh
Le paramètre max_execution_time
de PHP est maintenant mis à 0 pour le script wsh (pas de temps minimum).
5.3 DEFAULT et tableau
Dans les fichiers de description de famille, le mot-clef DEFAULT
sur les éléments de tableau ne concerne que les valeurs par défaut des nouvelles lignes et non plus celles du tableau dans sa globalité.
5.4 Sécurité
Le droit HISTO
sur l'application FDL
a été ajouté afin d'indiquer l'accès aux historiques des documents de manière globale. Par défaut les utilisateurs n'ont plus accès à l'historique.
Les droits négatifs dans les profils de documents ne sont plus autorisés.
5.5 Vue de document
Les contrôleurs de vue de document (méthode) doivent être marqués avec @templateController
pour être autorisé à servir de contrôleur.
Dans le mode édition de document, les attributs docid
ne sont plus grisé lorsqu'il sont remplis mais reste non modifiable. L'utilisateur est incité à utiliser le bouton 'x' pour modifier sa valeur.
5.6 Libellé des menus
Les libellés des menus ajoutés sur le document sont maintenant affichés tels qu'ils sont définis dans le fichier de description. La première lettre n'est plus transformée en majuscule.
5.7 Renommage et découpage des modules
Les modules renommés sont :
Le nouveau module dynacase-appswitcher
remplace la barre principale d'applications.
Lors d'une migration en plus de mettre à jour dynacase-core
, il faut installer les différentes parties découpées afin de bénéficier des mêmes fonctions.
5.8 Application au démarrage
L'application WEBDESK n'est plus nécessaire à l'installation de dynacase-core
. Le paramètre CORE_START_APP
vaut maintenant CORE
sur une installation. Si dynacase-appswitcher
est installé et que le paramètre vaut toujours CORE
alors il est changé en APPSWITCHER
.
5.9 Format de date ISO
Le format ISO pour les dates étant obligatoire en version 3.2, il devient nécessaire de mettre à jour :
- le code manipulant des dates
- les CSV ou ODS de déclaration de famille
- les fichiers d'importation de documents
La procédure fournie en annexe permet de migrer les bases installées -SQL DMY
, version de Dynacase Core < 3.2.8-.
Annexe A2 Procédure de migration dates ISO
A2.1 Objectif
Cette procédure décrit comment migrer une base de données stockant les dates au format DMY
(français) vers le format ISO, seul supporté par Dynacase 3.2.
Les valeurs des attributs date
timestamp
, les valeurs par défaut et les valeurs de paramètre de famille sont modifiées.
A2.2 Applicabilité
- Base Dynacase dont les dates sont stockées au format DMY 1
- Version de Dynacase Core 3.2 < 3.2.8 2
A2.3 Procédure
Nous préconisons une sauvegarde de la base de données au préalable.
- Installer dans le répertoire
<racine du contexte>/API
le script de migration.
- Lancer le script
<racine du contexte>/wsh.php --api=migrDates2iso
Plus de détail : <racine du contexte>/wsh.php --api=migrDates2iso --help
Annexe A3 Précédentes releases de maintenance
A3.1 Release 17
A3.1.1 Support de la version 3.2
La date de fin de support de la version 3.2 est fixée au 20 mai 2019
(hors accord commercial particulier).
Fin de support
A3.1.2 Changement de mode de distribution des mise à jour.
Actuellement, Dynacase est releasé globalement : l'ensemble des modules composant la plateforme
sont mis à jour.
Pour améliorer la réactivité, les modules seront maintenant distribués indépendamment selon un rythme
liés à leurs éventuelles anomalies.
A3.1.3 Note de release
Cette release fournit une nouvelle version des modules principaux dynacase-core, dynacase-http-api-v1
et dynacase-document-uis.
Elle fournit également des mises à jour pour la plupart des bibliothèques additionnelles (modules third-party)
A3.1.3.1 Changements marquants
A3.1.3.1.1 Core et api HTTP
Les accès aux requêtes de l'api HTTP est maintenant possible via des jetons
d'authentification. Un nouveau module pour le centre d'administration permet
de configurer ces jetons.
Le support de PHP 7.1 est officialisé.
Possibilité d'ajouter un tag applicatif sur un document par un fichier de configuration (DOCATAG)
Les erreurs systèmes ne sont plus remontées par défaut sur l'interface utilisateur.
Un paramêtre "CORE_DISPLAYERROR" permet d'afficher un code erreur à la place de l'erreur système afin
que l'utilisateur ne soit pas perplexe sur ces erreurs technique et afin que
l'administrateur puisse à l'aide de ce code retrouver les informations plus détaillées sur le serveur.
La commande "wsh" envoi un mail en cas d'erreur.
Ceci permet notamment d'être informé des dysfonctionnements lorsqu'on utilise ce script dans des crontab par exemple.
Cette adresse est configurable par paramètre applicatif (CORE_WSH_MAILTO).
A3.1.3.1.2 Interface du document HTML5
Le modules "dynacase-document-uis" a fait l'objet de nombreuses corrections et améliorations.
La gestion des requêtes a été optimisée. De même, les gestions des événements a été améliorée.
Ceci a permis des gains performance pour l'affichage des documents.
Le widget de document est maintenant aussi plus robuste par rapport à la version initiale.
La déclaration des "listener" a été harmonisée.
De nouveaux événements ont été introduits afin de mieux contrôller les interactions.
La documentation de référence a été complétée afin de mieux guider le développeur.
A3.1.3.2 Dynacase Control
La nouvelle release de Dynacase Control apporte un ensemble de correction mineures.
Plus de détail : Version 1.5.4
A3.1.4 Mises à jour
A3.1.4.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.1.4.2 Depuis une version 3.1
Voir le chapitre Migration
A3.1.5 Liste complète des demandes par module
A3.1.5.1 Admin Authentication Manager, version 1.0.0
Lien vers le tracker de développement pour Admin Authentication Manager version 1.0.0
-
[6636] : Création du module
-
[6628] : Interface de gestion des jetons d'accès
A3.1.5.2 Admin Center, version 1.0.4
Lien vers le tracker de développement pour Admin Center version 1.0.4
-
[6639] : Affichage application sans action
A3.1.5.3 Admin Document Manager, version 3.2.12
Lien vers le tracker de développement pour Admin Document Manager version 3.2.12
-
[6570] : Intégrer la version 2.2.0 Mustache.js
-
[6525] : Prise en compte des modattr dans présentations des attributs
-
[6524] : Prise en compte ordre relatif
A3.1.5.4 Admin Users Manager, version 3.2.11
Lien vers le tracker de développement pour Admin Users Manager version 3.2.11
-
[6649] : [I18N/En] Traduction anglaise manquante
A3.1.5.5 Admin Vault Manager, version 3.2.9
Lien vers le tracker de développement pour Admin Vault Manager version 3.2.9
-
[6897] : Ajustement pour calcul de la taille
A3.1.5.6 Backbone.js Installer, version 1.2.3-0
Lien vers le tracker de développement pour Backbone.js Installer version 1.2.3-0
-
[6082] : shebang : la notation choisie n'est pas portable
-
[6009] : L'installer ne retourne pas un status différent de 0 en cas d'erreur
-
[5899] : Intégrer la version 1.2.3
A3.1.5.7 Core, version 3.2.23
Lien vers le tracker de développement pour Core version 3.2.23
-
[7202] : PHP Notice: Only variables should be passed by reference in /.../vendor/Anakeen/WHAT/Crontab/Class.CrontabParser.php on line 34
-
[7194] : ImportXml: Doc id multuiple
-
[7185] : Erreur propagation de l'option avec les ordres relatifs
-
[7174] : Fuites d'information technique
-
[7132] : Introduire un mécanisme pour autoriser/interdire le téléchargement inline par type MIME
-
[7127] : les logins numériques sont acceptés par IUSER, masi ne passent pas correctement l'authentification
-
[7125] : MailTemplate : récupérer les messages générés
-
[7123] : Tous les suppléants ne sont pas ajoutés en destinataire lors de l'envoi d'un modèle de mail
-
[7088] : PHP Notice: Undefined index: custom in /var/www/dynacase/GENERIC/family_barmenu.php on line 70
-
[7087] : Authentification depuis un CAS via un jeton passé sur l'URL
-
[7070] : [PHP7] Notice
-
[7062] : [Changement d'état] le verrou n'empêche pas les changements d'état
-
[7061] : [Changement d'état] Erreur lorsqu'un tableau est vide et qu'une de ses colonnes est obligatoire
-
[7052] : Dynacase got an uncaught exception 'Error' with message '[] operator not supported for strings' in file /var/www/dynacase/FDL/Lib.Dir.php at line 296
-
[7050] : Doctitle::getTitle n'affiche pas les titres pour l'utilisateur master default
-
[7045] : Problème enregistrement multiple de crontab suite à mise à jour dynacase-core 3.2.21
-
[7038] : XSS sur le formulaire de renouvellement de password
-
[7037] : XSS sur FDL_CARD
-
[7028] : Problème CORE_MAILACTION sur titre
-
[7018] : Gdoc: add possibility to force add doument
-
[7017] : Doctitle requête non nécessaire
-
[7015] : Attribution d'un identifiant d'issue
-
[7014] : mails : utilisation du reply-to à la place du from
-
[7012] : ERROR: cannot change name of view column "a" to "b"
-
[7011] : Doctitle sur famille hérité
-
[7009] : Suppression de
./var/tmp/.htaccess
par cleanContext
-
[6998] : [sécurité] XSS par nom de fichiers
-
[6997] : [ImportDocument] Lors de l'import d'archive aucune erreur n'est remontée dans control
-
[6996] : [Import] Les imports de documents portant des fichiers en XML ne fonctionnent plus
-
[6995] : Méthode de génération des jetons
usertoken
cryptographiquement faible
-
[6994] : Corruption table
usertoken
par CORE_premigr_3.2.23
et API/updateclass
-
[6987] : [SearchDoc] setSlice et onlyCount ne semblent pas compatibles
-
[6984] : Doctitle sur account
-
[6972] : Html to Ooo : erreur abusive sur les ancres
-
[6970] : [Processus/Crontab/CleanContext] Les processus peuvent parfois créer plusieurs instances d'eux-même
-
[6969] : [cleanContext/docname] Le clean de table docname ne fonctionne plus si jamais il existe un nom logique dupliqué
-
[6963] : Ooo : Dans les tableaux caactères '
-
[6962] : [performance/getAttributeValue] Le [get|setAttributeValue] est très consommateur en recalcul de masque => Introduction de la notion d'objet attribut léger
-
[6952] : [Doc/Contrôle de vue/Masque/gdocs] Problème d'application de masque lors de l'instanciation de plusieurs documents sur le même état du cycle de vie
-
[6950] : Vérification timestamp ISO avec T
-
[6946] : Style: erreur lors de la recherche de surcharge de css
-
[6943] : Format Collection & money
-
[6938] : [lockPoint] Contrôle en entrées
-
[6936] : impossible de générer le graphe d'un cycle dont le titre contient le caractère "
-
[6923] : PHP Fatal error: require_once(): Failed opening required 'System.php' (include_path='/var/www/dynacase:/var/www/dynacase/WHAT:.:/usr/share/php') in /var/www/dynacase/DAV/Class.FdlDav.php on line 17
-
[6921] : Support PHP 7.1
-
[6916] : Reset enum avec fichier sur refresh
-
[6913] : Divulgation de la valeur de paramètres applicatifs CORE
-
[6912] : [wsh/listapi] La liste des API est fausse si certaines d'entre elle contiennent des . dans leur nom
-
[6909] : [sécurité] Exécution de code shell arbitraire dans PHPMailer < 5.2.19
-
[6905] : Ajouter TAG applicatif par importation
-
[6904] : Le Set-Cookie pour supprimer le cookie ne spécifie pas de path
-
[6901] : Restauration document avec nom logique
-
[6899] : Vault : Date d'accès au fichier
-
[6896] : Vault : Blocage enregistrement concurrent
-
[6890] : Image dans les mails
-
[6886] : Faute dans message traduit : "La nom [%s] est invalide ..."
-
[6664] : Évolution du contrôle de vue pour l'intégration DDUI
-
[6654] : pg_copy_from(): Copy command failed: ERROR: missing data for column 'sicon'
-
[6652] : [Contrôle de vue] La fiche d'édition est difficile à utiliser
-
[6647] : [Sécurité] XSS via argument authtype
-
[6646] : [Sécurité] XSS dans l'édition de MAILTEMPLATE
-
[6637] : Point "." ajouté au token de l'URL de changement de mot de passe dans le modèle de mail "Changement de mot de passe"
-
[6635] : [Import de document/Chrome/Window 10] Le sélecteur de fichier ne montre pas les CSV
-
[6634] : [User/xml] Le fichier produit n'est pas réimportable
-
[6629] : [htaccess/asset de nouvel génération] Autoriser les less et les maps dans des répertoires css et STYLE
-
[6626] : [I18N/En] Traduction anglaise manquante
-
[6622] : [Renouvellement de mot de passe] Le modèle de mail n'est pas localisé
-
[6621] : [authent basic/actions] authent basique et parsing des paramètres des actions
-
[6619] : [RecordApplication] le record peut échouer sans remonter les informations correspondantes à control
-
[6615] : [Installation] Ajouter le test sur la version de PHP supérieure à 5.6
-
[6614] : [Rapport/Bouton choisir les colonnes] Impossible d'afficher la fenêtre de sélection des colonnes
-
[6613] : PHP Notice: Trying to get property of non-object in /var/www/dynacase/FDL/Class.Doc.php on line 3453
-
[6610] : Template Ooo: Caractère invalide
-
[6606] : [Export/Profil] L'export des profils dédiés de cycle de vie ne fonctionne plus
-
[6604] : [Modèle de mail/sendMail] sendMail provoque des dysfonctionnement dans l'interface d'admin
-
[6603] : [Modèle de mail] Destruction des clefs suite à la sauvegarde du document
-
[6594] : [sécurité] Divulgation de la version d'ImageMagick et des chemins du contexte dans les thumbnails d'images
-
[6566] : Action Usage et $_FILE
-
[6564] : La classes OOoLayout() ne vérifie pas le retour d'erreur de la commande "unzip"
-
[6563] : PHP Fatal error: Call to a member function appendChild() on a non-object in /…/WHAT/Class.OOoLayout.php on line 1614
-
[6549] : Icon avec image privée du vaultl
-
[6548] : Suppression des fichiers mis en cache
-
[6547] :
post_max_size
et upload_max_filesize
déclarés en dur dans .htaccess
et Lib.Prefix.php
-
[6536] : PHP Fatal error: Class 'ErrorCode' not found in /var/www/test/WHAT/Lib.Common.php on line 511
-
[6535] : WSH : Mail en cas d'erreur
-
[6528] : [Import/Masque] Contrôle de cohérence
-
[6527] : [Import] Libellé trompeur
-
[6520] : [Duplicate] Si le doc qu'on duplique n'existe pas le résultat n'est pas probant
-
[6509] : [Stubs/Class/Param/Wdoc] Les stubs indiquent les param comme étant des constantes, core ne le fait pas
-
[6504] : [DocRel] DocRel provoque une exception et crash le script si il n'existe pas au moins une relation
-
[6503] : [Doc] getAttributes retourne un faux attribut
-
[6502] : [Doc] getSystemUserId ne respecte pas la signature de sa fonction
-
[6501] : [Recherche] La description en lecture ne reflète entièrement le contenu de la recherche
-
[6498] : Affichage du titre en cas de non accès
-
[6497] : [Document temporaire] Les documents temporaires peuvent être très temporaire
-
[6493] : Ordonnancement des attributs dans la famille : ajout des relations 'previous sibling'
-
[6485] : ./programs/toolbox_reconfigure: line 61: log: command not found
-
[6478] : [SearchDoc et recherche spécialisée] Si dans un searchDoc on utilise une recherche spécialisée comme base (useCollection) alors les addFilter n'ont pas d'effet
-
[6476] : Fuite de fichiers ouverts (file descriptor leak)
-
[6465] : [Traduction] Certains titres de familles systèmes ne sont pas traduis en anglais
-
[6449] : PHP Fatal error: Call to a member function getOption() on boolean in /var/www/dynacase/FDL/Class.DocHtmlFormat.php on line 74
-
[6444] : Class \Dcp\Mail\Message et version erroné de Dynacase Platform dans champs "X-Mailer:"
-
[6443] : PHP Notice: Undefined offset: 107 in /var/www/dynacase/FDL/Class.Doc.php on line 4310
-
[6429] : [Traduction] Icone et icône
-
[6428] : Accès aide en ligne
-
[6384] : Possible erreur de logique dans getTmpDir()
-
[6336] : Échec tests unitaires dans docker
-
[6331] : PHP Notice: Undefined property: Dcp\Family\File::$dfldid in /var/www/dynacase/GENERIC/generic_duplicate.php on line 37
-
[6310] : [sécurité] XSS dans GENERIC:GENERIC_EDIT (DocFormFormat ?)
-
[6307] : [performance] API setStyle déclenche systématiquement la régénération de l'autoloader
-
[6292] : Contradiction dans le fonctionnement de l'argument $distinct
-
[6291] : Problème mise à jour vue family.XXX lors de l'ajout d'un attribut sur une famille XXX
-
[6223] : processExecute et blocage de l'exécution sur document remontant une exception
-
[4746] : [UserToken] Non prise en compte du contexte
-
[4741] : [Echec d'authentification/authtype=open] Lors d'un échec d'authent par token le code http renvoyé est 200
A3.1.5.8 Document UIs, version 1.1.0
Lien vers le tracker de développement pour Document UIs version 1.1.0
-
[7212] : [Test/ Voir test 355] au clic sur le bouton création de document, une erreur apparaît dans la console
-
[7211] : [array/appendArrayRow/docid multiple] Le appendArrayRow ne fonctionne pas sur un attribut docid multiple
-
[7196] : permettre la spécification d'un widget personnalisé par attribut
-
[7193] : [docid] - setDisplay(list) - Chrome
-
[7192] : [account] - setDisplay(list) - 0351 - Chrome
-
[7187] : [Account] - setPlaceHolder - Lors de l'affichage pour la première fois, tous les caractères ne sont pas affichés - Chrome
-
[7184] : [array/change] Le paramètre index est faux
-
[7180] : [array/setValue] un setValue sur un attribut file colonne d'un array ne met pas à jour l'array
-
[7178] : Widget int : max & min
-
[7168] : impossible de quitter une vue de modification si un autre utilisateur a posé un verrou
-
[7165] : Non Affichage en Édition d'un attribut Array avec setTemplate
-
[7163] : [array] Colonne visibilité statique non affichée en création
-
[7160] : [vAttribute] Les vues ne sont plus détruites
-
[7158] : [template] Les attributs dans un template ne sont plus bindés
-
[7155] : [htmltext] Le htmltext en mode full screen n'est plus relié à la vue
-
[7152] : [Sauvegarde/Changement d'état] Sauvegarde coinjointe avec un changement d'état
-
[7151] : Erreur js lors du dépôt de fichier dans un paramètre de cycle de type tableau de fichiers
-
[7150] : [Changement d'état] Lors d'un changement d'état refusé (m1) le message n'est pas affiché, il y a forbidden à la place
-
[7149] : appendArrayRow lève une erreur lorsque l'une des colonnes est un htmltext
-
[7147] : documentController.getAttribute() pour un attribut inexistant retourne un objet jquery
-
[7144] : [HTMLText] setvalue avant l'initialisation de CKEditor déclenche une exception
-
[7143] : [asset] Parfois le téléchargement des assets (css, js) est envoyé par erreur dans l'api REST
-
[7133] : les custom templates sont ignorés lorsque l'attribut est lui même affiché dans un élément avec un template personnalisé
-
[7122] : Problème de redirection via les boutons de menu sur IE9 et IE10
-
[7121] : suite à #7081, lorsqu'un attribut est obligatoire, '*:' passe systématiquement à la ligne
-
[7120] : différencier les customtemplates aux niveau des sections, des attributs structurants, et des feuilles
-
[7119] : Ajouter les renderOptions dans les variables mustache utilisables dans les templates d'attribut
-
[7118] : les événements des descriptions se déclenchent sur trop d'éléments
-
[7117] : [Attribut/event] Lorsqu'un attribut est dans une vue personnalisée, il ne trigger plus son event attributeReady
-
[7116] : Dans certains cas, la barre d'onglets reste en mode fixed
-
[7095] : Ask: Libellé des input fichier non traduit
-
[7094] : [Sauvegarde] Le beforeSave devrait permettre de modifier les données à sauver
-
[7091] : Les documents "confidentiel" sont visibles
-
[7083] : L'option de rendu "addCreateDocumentButton" ne fonctionne plus
-
[7082] : ne pas afficher un espace blanc à côté des htmltext lorsque le bouton de suppression est désactivé
-
[7081] : lorsque les libellés font plus d'une ligne, les ":" passent en dessous
-
[7079] : garder la barre d'onglets à l'écran
-
[7078] : si un template d'array ne contient pas la une balise avec la classe dcpArray__table, alors l'array n'a plus de libellé
-
[7076] : Les options des attributs ne sont pas accessibles
-
[7075] : la méthode setOption de l'objet attribut crée une boucle infinie
-
[7069] : [Tab] Il manque les éléments permettant de manipuler/customiser la barre de tabs
-
[7068] : lorsqu'il y a des onglets, le ready est déclenché trop tôt
-
[7067] : gestion des onglets améliorée lorsqu'il y a trop d'onglets pour la largeur de l'affichage
-
[7066] : ajouter une data permettant d'identifier les boutons des énumérés en vue verticale ou horizontale
-
[7065] : Ajouter une option collapsible pour les frame et les array
-
[7049] : Les valeurs par défaut des attributs dans un tableau ajoutent une ligne au tableau
-
[7039] : erreur dans isDisplayable pour les attributs multiples
-
[7035] : mauvaise vérification des attributs multiples obligatoires dans les tableaux
-
[7034] : message d'erreur manquant sur .saveDocument()
-
[7031] : [Changement d'état/ask/message d'erreur dans les choux] Lorsqu'on demande un changement d'état avec un ask alors que le document a déjà changé d'état le message d'erreur n'est pas en rapport avec l'erreur
-
[7030] : [title] Title flottant
-
[7027] : [getAttribute] getAttribute ne respecte la convention des get
-
[7026] : Bug router
-
[7005] : Enum : Url absolue
-
[7002] : Attribut obligatoire non visible
-
[6991] : [Date picker] Le date picker en anglais sous EDGE ne fonctionne pas
-
[6988] : [SaveDocument] Le saveDocument n'attend pas la fin des upload de fichiers avant de se déclencher
-
[6982] : Emblème confidentiel
-
[6979] : getContextController: modification de la fonction offsetGet afin de renvoyer la référence de la variable au lieu d'une copie
-
[6948] : Problème lors de la construction de tableaux avec enum (entre autre)
-
[6940] : Correction appel aide à la saisie pour thésaurus
-
[6933] : Suppression donnée dans les tableaux en cas de colonne vide
-
[6928] : Contrainte attributeCheck
-
[6927] : Submenu : Utiliser l'api REST
-
[6925] : Autocomplete : Utiliser l'api REST
-
[6892] : [Controller] Uniformiser les API get* et set*
-
[6679] : le file n'est pas passé aux événements uploadFile
-
[6677] : la target des événements anchorClick doit être _blank
-
[6676] : les événements actionClick qui ferment le document ne prennet pas tous la vue en paramètre
-
[6674] : [htmltext] Anchor link
-
[6671] : [downloadFile, uploadFile] Sont des événements attributs
-
[6670] : Less : éviter la modification systématique du fichier variable
-
[6666] : [Promises] lorsque l'on preventDefault, les promises ne sont jamais résolues ni rejetées
-
[6665] : [Template et Array] Les templates d'attribut dans les array sont mal pris en compte
-
[6660] : [Base et URL] La balise base est utilisées dans les documents HTML5 cela casse les liens "inline" (#toto)
-
[6659] : Lorsqu'un attribut utilise un template personnalisé, les écouteurs sont quand même attachés
-
[6653] : traitement des liens dans les attributs htmltext
-
[6645] : [Menu/_self] Les menus en _self corrompe le document sur IE/Edge
-
[6631] : [css/map] correction de la génération des map et compression de la CSS
-
[6601] : [Docid et aide à la saisie] La notation CT[] n'est plus prise en compte
-
[6597] : [Docid & aide à la saisie] Le cache provoque des problèmes
-
[6596] : [docid & array] La croix génère une erreur et une fausse entrée dans la liste....
-
[6595] : [event:attribute] Lorsque qu'un eventAttribute est dans un attribut dans un array il faut aussi retourner l'index de la ligne concernée
-
[6593] : [Docid & aide à la saisie liée] Tester et patcher les cas particuliers des aides à la saisie CT[], "", " ", "?"
-
[6592] : [docid & array] Suppression de lignes
-
[6590] : [docid & array] IHM instable
-
[6586] : i18n traduire l'ensemble de l'application
-
[6585] : [i18n] la barre de loading n'est pas toujours traduite en anglais
-
[6584] : [i18n] La fenêtre d'historique n'est pas traduite en anglais
-
[6583] : [i18n] La fenêtre de propriétés n'est pas traduite en anglais
-
[6577] : Méthode de récupération/Génération des URL de document
-
[6571] : Url des documents => ajout des éléments manquants et découpage en parties logiques
-
[6568] : Ajout "index" dans les clef de template tableau
-
[6546] : Ajout setDocumentIconSize
-
[6545] : Ajout setMimeIconSize
-
[6542] : Permettre l'injection de js et de css depuis le contrôleur externe
-
[6541] : [LoadDocument] Le loadDocument de vDocument fait appel à une fenêtre kendo
-
[6539] : [Erreur] Toute erreur serveur affiche le cadre de reload
-
[6538] : [document] désactiver le routeur par défaut
-
[6534] : Menu dupliqué : contrôle de rendu
-
[6532] : Echecs tests karma : {DOC0102} vault error "Tous les coffres de fichiers sont saturés" to import file "1089-Document_de_test_1_D/web api.pdf" for attribute "test_document_all__file" in "TEST_DOCUMENT_1" document
-
[6531] : Echec tests karma : TypeError: undefined is not an object (evaluating '$(this).data("kendoComboBox").close')
-
[6523] : LockView: exclure les vues de création des vues nécessitant un lock
-
[6514] : [document] la page 0.html ne doit pas être dans la pile d'historique
-
[6507] : sur les formulaires html, les ":" peuvent sortir des frames
-
[6506] : au beforesave, les customClientData doivent être un {} (et pas un [])
-
[6495] : Téléchargement image sur IE en édition
-
[6490] : propager l'événement actionClick pour tous les liens concernés
-
[6480] : [http/https] Le mélange des genres
-
[6474] : [changement d'état] un changement d'état unatented sans valeur (via l'api js cliente) échoue systématiquement
-
[6473] : [changement d'état] Lorsque le changement d'état échoue suite à json corrompu l'interface plante
-
[6472] : [Changement d'état] Le changement d'état fait appel à des méthodes dépréciés (en js)
-
[6471] : impossible de passer des customClientData lors de l'initialisation du widget
-
[6470] : 0.html est vide à partir du second appel
-
[6469] : Configuration de rendu et contrôle de vue
-
[6467] : [Traduction] Aucune traduction anglaise n'est faite
-
[6464] : [Gestion erreur] Unexpected error 200
-
[6458] : ajout de la méthode tryToDestroy
-
[6430] : [DocumentController] SetValue
-
[6400] : Notification : Voir plus ...
-
[6399] : [HideAttribute] Cacher un attribut colonne d'un tableau ne cache pas le header du tableau
-
[6398] : [Contraintes] Les contraintes ne permettent plus de retourner un message par ligne de tableau
-
[6397] : [aide en ligne] Error log et erreur
-
[6396] : Affichage label de tableau
-
[6395] : Affichage erreur sur cadre plié
-
[6394] : Problème tableau transposé
-
[6393] : Homogénéiser affichage historique et propriété
-
[6392] : Notifier : Effacement automatique
-
[6388] : [Widget] Exporter les options en même temps que les templates
-
[6382] : PHP Notice: Undefined index: REQUEST_SCHEME in /var/www/dev/DOCUMENT/Crud/HtmlDocument.php on line 184
-
[6354] : [JS] ajouter la méthode restore
-
[6342] : Aide à la saisie dans les tableaux avec template personnalisé
-
[6341] : IE10 : customCss ne sont pas prises en compte
-
[6337] : ajout d'un wrapper autour de window.dcp.i18n
-
[6325] : [Router] Le routeur provoque des erreurs javascript lorsque le document a été chargé en mode preload (sans document initial)
-
[6324] : [Contrôle de rendu] La fiche d'édition DCP est difficile à utiliser
-
[6323] : [CVDOC/Création] Le vue de création du contrôle de vue n'est pas prise en compte alors qu'elle l'est dans l'ancienne interface
-
[6322] : Simplification des url d'affichage HTML de document
-
[6302] : [AutoTest] Les tests unitaires ne fonctionnent plus sur la plateforme d'autotest
-
[6290] : Router: Le router réécrit les URL
-
[6289] : Render : Vérification des retours de getOptions et getTemplate
-
[6288] : Menu : ajout affectation de propriété
-
[6285] : [REST/Vue] Warning lorsque le document recherché n'existe pas
-
[6236] : Licence [Anakeen]
-
[6226] : [Docid/Account] Warning dans l'action d'aide à la saisie
-
[6225] : [Docid/Account] Lorsque l'utilisateur choisit une entrée non existante "undefined" est sélectionné
-
[6214] : Prise en compte du document d'aide associé
-
[6212] : Widget : option "elabel"
-
[6211] : Enum: prise en compte option esort
-
[6210] : HTMLText : Prise en compte option allowedContent
-
[6205] : Problème drag&drop firefox dans les tableaux
-
[6199] : [Enum/Docid] Fusionner l'implémentation des énumérés
-
[6198] : [File/Image] Impossible d'ouvrir la popup de sélection de fichier par le clavier sous firefox
-
[6193] : il manque les événements beforeRestore et afterRestore
-
[6190] : [File/Image] Si on accède au champ via tab alors le filepicker ne s'ouvre pas
-
[6189] : [Date] Sous chrome si la date est invalide 12/05 alors la date suivante est complétée 05/12/2001
-
[6188] : [Docid/Account] Si on clique directement dans le champ et sur flèche vers le bas le champ retourne undefined si simple et vide si multiple
-
[6187] : impossible d'initialiser le widget de document avec seulement l'initid
-
[6186] : [\Dcp\Ui\Utils::getCustomClientData] La méthode va chercher directement dans les variables GET et POST son fonctionnement
-
[6178] : [Traduction] Ressource i18n ajouter la version dans le etag
-
[6173] : scope et paramètres des fonctions de callback
-
[6168] : les énumérés simples et multiples n'ont pas la même hauteur
-
[6167] : sur les integer, le bouton permettant d'incrémenter / décrémenter la valeur est à droite, alors que les boutons sont à gauche sur les autres widgets
-
[6166] : les éléments d'interaction personnalisés ont une bordure, contrairement aux éléments d'interaction kendo
-
[6165] : les docid simples utilisent un chevron vers le bas alors que les widgets kendo utilisent un triangle vers le bas
-
[6164] : les éléments choisis dans un énuméré multiple restent trop visibles dans la liste
-
[6163] : le bouton + n'est pas présent sur les énumérés multiples
-
[6162] : exclure les boutons (croix, etc.) de la navigation au clavier
-
[6161] : le placeholder n'est pas affiché sur les énumérés multiples serveur
-
[6160] : l'interaction est déclenchée lorsqu'on clique sur le label, ou à gauche du label de certains attributs
-
[6151] : [Traduction/i18n] rendre i18n accessible dans les js injectés via getJsReferences
-
[6150] : ajouter une option force à fetchDocument, reinitDocument
-
[6148] : incohérence de nommage entre \Dcp\Ui\RenderDefault::setCustomClientData et \Dcp\Ui\RenderDefault::$clientCustomData
-
[6147] : méthode de demande de changement d'état
-
[6145] : les customClientData ne sont pas transmis sur le save
-
[6111] : [Code] Convertir les variables less de bootstrap utilisée dans les less de ddui en variables ddui
-
[6107] : le panel-heading des frames contient un data-id au lieu du data-attrid
-
[6106] : Dans le cas d'une erreur de parsing de la réponse du serveur, le message affiché est incohérent
-
[6105] : Lorsqu'on définit un template vers un fichier qui n'existe pas, traiter le cas
-
[6102] : problèmes d'affichage des cadres dans le contrôle de rendu
-
[6094] : [Test] Modifier les dépendances pour les tests
-
[6068] : [Kendo] La dernière version de kendo modifie le système de require
-
[6047] : Ajout setFormat pour docid
-
[6039] : Intégration test selenium
-
[6031] : [PopUp] Il reste des pop up bloquées
-
[6019] : [loading] JavaScript OnNeed
-
[6013] : [Datatable] Les dépendances bootstrap n'ont pas été installées dans le bon répertoire
-
[6007] : [Mustache] Mustache.js ne tolère plus les templates undefined
-
[5997] : Prise en compte option etype sur enum
-
[5994] : Prise en compte option create
-
[5993] : Prise en compte option docrev
-
[5938] : Mise en conformité avec le linter
-
[5932] : [Edition/HTMLText] Mise en forme pas toujours prise en compte
-
[5930] : [Enum / Edition / intitulé long] Lorsque l'écran est petit les énumérés sont affichés sur la droite
-
[5928] : [Account/Multiple/Ask] Message d'erreur dans les logs qui n'affecte pas l'utilisation
-
[5927] : [Account/multiple/Consultation] Un account multiple est affiché en consultation même si sa valeur est vide
-
[5925] : Array : empty : il n'existe plus d'option équivalente
-
[5921] : Le menu restaurer ne fonctionne pas
-
[5893] : Mise à jour des installers
-
[5889] : Architecture Kendo
-
[5887] : Modification des widgets pour permettre leur chargement sans RequireJS
-
[5870] : [ObjetInterne/MenuController] Le getProperties n'a pas de mode strict et échoue si il est effectué sur un menu non existant
-
[5869] : [DocumentController/Gestion des menus] Lever une exception lorsque le menu n'existe pas et que l'option strict est à true
-
[5835] : [Widget/Money] Pas de prise en compte des montants élevés
-
[5789] : Adaptation pour Kendo 2015-Q3
-
[5772] : généraliser l'option setPlaceHolder à tous les types d'attributs
-
[5768] : dans les variables Mustache, ajouter une variable indiquant si un attribut est vide
-
[5763] : [gettext] utilisation des contextes lors de la récupération des traductions dans les template Mustache
-
[5746] : embarquer une promise dans les actions (saveDocument,fetchDocument,deleteDocument,resetDocument)
-
[5667] : suppression des setCustomClientData
-
[5666] : Il faut une méthode addCustomClientData
-
[5665] : lors de l'ajout des customClientData dans le fetch, elles écrasent celles du document en cours
-
[5646] : le footer de document n'est pas englobé dans sa section
-
[5523] : [Widget/Docid/Array/Link] En consultation un widget de docid avec l'option link propose des liens invalides
A3.1.5.9 Font Awesome Installer, version 4.7.0
Lien vers le tracker de développement pour Font Awesome Installer version 4.7.0
-
[6966] : uniformiser l'updater
-
[6965] : il manque le .htaccess
A3.1.5.10 HTTP API v1, version 1.0.3
Lien vers le tracker de développement pour HTTP API v1 version 1.0.3
-
[7213] : [Droit/Searches] La branche searches de l'api ne contrôle pas le droit execute /searches//documents/
-
[7183] : Anonymisation des retour d'exception
-
[7172] : XSS
-
[7139] : permettre l'utilisation de l'exception complète dans les loggers d'erreur
-
[7085] : Directive AddType redondante
-
[7043] : [Sécurité] Désactiver l'auto doc de l'appli
-
[7036] : [Sécurité] Api fichier temporaire
-
[7022] : Erreur dans le retour d'erreur pour temporaryFiles
-
[7021] : Suppression de la limitation sur le content type
-
[7006] : Enum ajout URL relative
-
[7004] : Valeur par défaut avec méthode
-
[6986] : Homogénéisation des exceptions
-
[6945] : Document List : erreur sur tri
-
[6929] : Erreur sur méthode non autorisé
-
[6900] : DocumentFile : date d'accès
-
[6888] : dynacase-http-api-v1 requiet dynacase-core >= 3.2.22
-
[6638] : Gestion de l'authentification
-
[6544] : Utilisation de middleware
-
[6526] : Honorer l'option "rn" pour les fichiers
-
[6499] : Test Unitaire :: erreur dans l'ordre de la famille
-
[6492] : resizeimg doit être une ressource REST
A3.1.5.11 JQuery UI Installer, version 1.12.0
Lien vers le tracker de développement pour JQuery UI Installer version 1.12.0
-
[6573] : Intégration version stable 1.12
A3.1.5.12 Less Installer, version 1.7-2
Lien vers le tracker de développement pour Less Installer version 1.7-2
-
[6630] : Ajouter l'instruction sourceMapBasepath pour avoir les url relative dans les sources map
-
[6513] : permettre le recalcul d'un unique élément de style
A3.1.5.13 Mustache.js Installer, version 2.2.0-0
Lien vers le tracker de développement pour Mustache.js Installer version 2.2.0-0
-
[7008] : /var/www/dynacase/programs/mustache.js_install: /usr/bin/php: bad interpreter: No such file or directory
-
[6273] : Licence [LGPL]
-
[6218] : Check ZipArchive dependency
-
[6090] : shebang : la notation choisie n'est pas portable
-
[6010] : L'installeur ne retourne pas un exit code d'erreur en cas d'erreur
-
[5894] : Intégrer la version 2.2.0
A3.1.5.14 Mustache.php Installer, version 2.9.0-0
Lien vers le tracker de développement pour Mustache.php Installer version 2.9.0-0
-
[6274] : Licence [LGPL]
-
[6219] : Check ZipArchive dependency
-
[5895] : Intégrer la version 2.9.0
A3.1.5.15 Require JS Installer, version 2.1.20-0
Lien vers le tracker de développement pour Require JS Installer version 2.1.20-0
-
[6359] :
programs/RequireJS_install
ne vérifie pas le retour d'erreur de extractTo()
-
[6275] : Licence [LGPL]
-
[6091] : shebang : la notation choisie n'est pas portable
-
[6014] : L'installer ne retourne pas un status différent de 0 en cas d'erreur
-
[5897] : Intégrer la version 2.1.20
A3.1.5.16 Search Criteria UI, version 1.0.12
Lien vers le tracker de développement pour Search Criteria UI version 1.0.12
-
[6920] : Les énumérés "OFF" sont retournés
A3.1.5.17 TEngine, version 1.4.2
Lien vers le tracker de développement pour TEngine version 1.4.2
-
[7136] : [Logs et supervision] Améliorer le système de log et supervision du TE
-
[7135] : Lorsque le serveur OOO échoue les moteurs libreoffice du TE tombent en panne et nécessitent une manipulation manuelle pour être relancé
-
[6974] : Problème script
ted
avec systemd
-
[6971] :
service ted stop
ne stoppe pas correctement les process sur Debian 7.11
A3.1.5.18 TEngine Client, version 1.0.2
Lien vers le tracker de développement pour TEngine Client version 1.0.2
-
[6625] : Test de configuration - accès par token échoue
A3.1.5.19 TraceKit Installer, version 0.3.1-0
Lien vers le tracker de développement pour TraceKit Installer version 0.3.1-0
-
[6276] : Licence [LGPL]
-
[6221] : Check ZipArchive dependency
-
[6092] : shebang : la notation choisie n'est pas portable
-
[6012] : L'installeur ne retourne pas un status différent de 0 en cas d'erreur
-
[5896] : Intégrer la version 0.3.0
A3.1.5.20 Underscore Installer, version 1.8.3-0
Lien vers le tracker de développement pour Underscore Installer version 1.8.3-0
-
[6277] : Licence [LGPL]
-
[6093] : shebang : la notation choisie n'est pas portable
-
[6011] : L'installeur ne retourne pas un exit code d'erreur en cas d'erreur
-
[5900] : Intégrer la version 1.8.3
A3.2 Release 16
A3.2.1 Note de release
Cette release fournit une nouvelle version du module Core Dynacase pour corriger 2 anomalies détectées
sur la récente release 3.2 R15.
A3.2.2 Mises à jour
A3.2.2.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.2.2.2 Depuis une version 3.1
Voir le chapitre Migration
A3.2.3 Liste complète des demandes par module
A3.2.3.1 Core, version 3.2.22
Lien vers le tracker de développement pour Core version 3.2.22
-
[6488] : Champ "fulltext" lors de l'ajout d'un fichier
-
[6486] : Titre d'une relation sans lien
A3.3 Release 15
A3.3.1 Note de release
A3.3.1.1 Dynacase Control
La nouvelle release de Dynacase Control vérifie en préalable à sa mise à jour
les prérequis à son installation, en particulier la présence de php-intl̀
.
A3.3.1.2 Socle technique
A3.3.1.2.1 PHP
La version 7 est désormais supportée.
3.2R15
Cette version apporte des gains de performance significatif sur l'exécution
de PHP.
Si vous migrez depuis une version inférieure à PHP 5.6, il vous faut d'abord
migrer Core et ses modules, puis réaliser la montée en version de PHP.
Les versions PHP 5.4 et 5.5 sont plus supportées par Anakeen.3.2R14
A3.3.1.2.2 PostgreSQL
La versions 9.1 de PostgreSQL n'est plus supportée.3.2R14
A3.3.1.3 Points particuliers
A3.3.1.3.1 Licence
Tous les modules ont été modifiés pour faire évoluer le système de gestion
de la licence entre les sources et le webinst. Ils vous seront donc proposés
lors d'une mise à jour via Dynacase Control.
Ceci n'a strictement aucun impact sur le fonctionnement du module.
Les licences, LGPL ou Anakeen selon les modules, restent les mêmes.
A3.3.1.3.2 Sécurité
Corrections de failles XSS
Identifiant des fichiers du coffre
➡ Cf. § ci-dessous.
-
Identifiant de session
L'algorithme de génération de l'identifiant de session a été revu. Il s'appuie
désormais sur les fonctions de cryptographie SSL. L'identifiant est maintenant
aléatoire. Par conséquent, il devient quasi impossible de le déduire par force
brute et fixe un éventuel problème de collision d'ID de session (génération de
2 IDs dans la même seconde).
A3.3.1.3.3 Recherche générale
Par défaut les recherches effectuées depuis les applications ONEFAM et ses
dérivées, la recherche générale (barre des applications) FGSEARCH et GENERIC_SEARCH
utilisent une recherche par mot sauf utilisation des caractères \" ou *.
Un paramètre applicatif pour chacune des applications permet de modifier
le comportement des recherches :
- pour ONEFAM : paramètre
ONEFAM_SEARCHMODE
- pour GENERIC : paramètre
GENERIC_SEARCHMODE
- pour FGSEARCH : paramètre
FGSEARCH_SEARCHMODE
Deux valeurs sont possibles :
-
words
: (mode actuel) la recherche est réalisée par mots, par exemple "cheval"
retournera les documents contenant les mots "cheval", "chevaux", mais pas
"chevalerie";
-
characters
: la séquence de caractères saisie est recherchée. Par exemple,
"cha" fera remonter les documents contenant "château", "télécharger",
"trichant", etc...
Par défaut, le comportement actuel est inchangé (mode words
).
A3.3.1.3.4 Enregistrement des valeurs affichées
Les titres des relations, les libellés des énumérés et les dates (avec le nom du
mois) pour les traductions configurées, sont enregistrés.
Ce fonctionnement permet de lever la limitation sur les recherches plein texte
qui n'avaient pas connaissance de ces valeurs 'traduites' mais seulement des
valeurs brutes (le code d'un énuméré, la date au format ISO). Du point de vue
utilisateur, il devient donc possible de rechercher des termes correspondant aux
valeurs affichées (libellé traduit pour un énuméré, date formatée).
➡ plus de détails, issue #6379
A3.3.1.3.5 Option d'importation de droits
Lors de l'affection des droits sur un profil, il est possible de référencer les
comptes (account
).
Ceci permet d'éviter l'utilisation des id
système ou des noms logiques des
documents liés aux comptes.
➡ plus de détails dans le manuel de référence de Core
A3.3.1.3.6 Format XML importation / exportation des comptes
L'importation et l'exportation des comptes disposent maintenant d'un format XML
spécifique. Ce format permet de fournir les seules informations nécessaires
pour la description du compte en distinguant les valeurs systèmes des valeurs
fonctionnelles.
➡ plus de détails dans le manuel de référence de Core
A3.3.1.3.7 Échappement dans les layouts
La méthode Layout::eSet
échappe maintenant les crochets. Ceci permet d'éviter
une double interprétation de variables.
Le méthode Layout::set
, reste inchangée et permet d'indiquer une valeur brute
qui sera remplacée et interprétée si elle contient des références à des zones ou
des paramètres applicatifs.
➡ plus de détails dans le manuel de référence de Core
A3.3.1.3.8 Vault
A3.3.1.3.8.1 Identifiant des fichiers du coffre
L'algorithme de génération des identifiants internes des fichiers a été changé :
l'identifiant est un nombre tiré au hasard dans l'espace [1, 2^63].
Cette modification permet de rendre impossible un accès à
un fichier non autorisé à un utilisateur ayant des privilèges modérés.
Suite à une mise à jour, les identifiants sont calculés avec le nouvel
algorithme, ceux existants sont laissé tel quels.
Une API est disponible pour recalculer les identifiants établis avec l'ancien
algorithme :
./wsh.php --api=renameVaultKeys --help
Set Vault Big Keys
Usage :
Options:
--userid=<user system id or login name to execute function - default is (admin)>, default is '1'
--vaultid=<restrict to single Vault id>, default is '0'
--help (Show usage)
--dry-run (Only verify)
Pour information la durée d'exécution de ce script dépend du nombre de fichiers
et peut varier selon les caractéristiques de votre système.
À titre indicatif, nous avons mesuré une durée de 7 heures pour 400 000 fichiers
sur un serveur (VM) avec 4Go de RAM et 1 CPU Intel Xeon 3Ghz.
A3.3.1.3.8.2 Robustesse dans la procédure de nettoyage du coffre
La procédure (cleanVaultOrphan
), permettant de supprimer les fichiers
orphelins a été revue. Elle contrôle l'utilisation des fichiers (documents, paramètres, etc.)
et supprime les fichiers seulement si le coffre est intègre.
➡ plus de détails dans le manuel de référence de Core
Attention : l'API checkVaultIndex
ne peut plus être utilisée pour supprimer
les orphelins.
A3.3.1.3.8.3 Utilisation de l'espace disque
L'espace physique disponible est affiché.
A3.3.1.3.9 Suppression des références interne dans la BD
Afin de réduire les adhérences entre un contexte Dynacase et son environnement
d'exécution, les paramètres CORE_DB
, FREEDOM_DB
, CORE_PUBDIR
, et
WEBDAV_DB
sont supprimés.
Ils sont désormais positionnés dans le fichier dbaccess.php
sauf CORE_PUDIR
qui est calculé en fonction de l'installation du contexte.
Pour compatibilité, Un fallback
est mis en place lors de l'utilisation de la
méthode ApplicationParameterManager::getParameter()
. Ce mécanisme journalise
l'appel en indiquant que le paramètre est obsolète.
A3.3.1.3.10 Lien document dans les mail
Le paramètre CORE_MAILACTION
permettant de configurer les liens par défaut,
envoyés dans les mail, permet une configuration plus fine de l'URL afin de ne
plus être limité à des liens d'action Dynacase.
➡ plus de détails dans le manuel de référence de Core
A3.3.1.3.11 Include Path
L'include path
donne maintenant la priorité aux fichiers de l'espace
d'installation.
Auparavant, la priorité été donnée à la configuration PHP du serveur.
A3.3.1.3.12 API HTTP
Ajout d'une méthode de restauration d'un document supprimé.
➡ plus de détails dans le manuel de référence de l'API HTTP Core
A3.3.1.3.13 Moteur de transformation
Il est désormais possible d'utiliser LibreOffice 5.
La configuration d'accès au serveur LibreOffice a été simplifiée.
A3.3.1.3.14 Recherche générale
Les recherches générales (barre d'application et Onefam) peuvent être
configurées selon 2 modes de fonctionnements :
- "mots", la recherche est faite pour rechercher des mots avec des variances
sur la pluralité et le genre. Ce mode ne permet de retrouver des séquences
de caractère que s'ils sont entre double quote.
- "caractère", la recherche est faite pour rechercher des séquences de
caractères. Dans ce cas, la pluralité et le genre ne sont pas pris en compte.
A3.3.1.3.15 Suppression d'actions
Un ensemble d'actions non utilisées ou présentant des problèmes de sécurité ont
été supprimées.
- AUTHENT
- FDL
- FDL:ALLEDITCSS
- FDL:FREEDOM_INIT
- FDL:VCONSTRAINT
- FREEDOM
- FREEDOM:CTRLDOC
- FREEDOM:FREEDOM_UPDATETITLE
- FREEDOM:FREEDOM_INIT
- FREEDOM:EDIT_STATE
- FREEDOM:EDIT_SEARCH
- FREEDOM:EDIT_SEARCH_FULLTEXT
- FREEDOM:FREEDOM_EDITPREFFAM
- FREEDOM:FREEDOM_PREVIEW
- FREEDOM:GENCSS
- FREEDOM:POPUPCARD
- GENERIC
- GENERIC:GENERIC_ADDCATG
- GENERIC:GENERIC_TABV
- GENERIC:GENERIC_CARD
- GENERIC:POPUPCARD
- GENERIC:GENERIC_EDITCATG
- GENERIC:GENERIC_EDITCHANGECATG
- GENERIC:GENERIC_CHANGECATG
- GENERIC:GENERIC_EDITFAMCATG
- GENERIC:GENERIC_CHOOSEENUMATTR
- GENERIC:GENERIC_EDITNEWCATG
- GENERIC:GENERIC_INIT
- GENERIC:GENERIC_MEMOSPLIT
- GENERIC:GENERIC_ROOTV
- GENERIC:VCARD
A3.3.2 Documentation
L'ensemble de la documentation a été mise à jour pour faciliter son utilisation :
- la table des matière complète est affichée au regard de la page
- la recherche dans un manuel est mémorisée si vous accéder à une page résultat.
Les documents mis à jour pour une évolution de leur contenu sont :
A3.3.3 Mises à jour
A3.3.3.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.3.3.2 Depuis une version 3.1
Voir le chapitre Migration
A3.3.4 Liste complète des demandes par module
A3.3.4.1 Admin Access Manager, version 3.2.8
Lien vers le tracker de développement pour Admin Access Manager version 3.2.8
-
[6242] : Licence [LGPL]
-
[5969] : suppression des paramètres *_DB de la base de données
A3.3.4.2 Admin Application Manager, version 3.2.11
Lien vers le tracker de développement pour Admin Application Manager version 3.2.11
-
[6243] : Licence [LGPL]
-
[5970] : suppression des paramètres *_DB de la base de données
A3.3.4.3 Admin Center, version 1.0.3
Lien vers le tracker de développement pour Admin Center version 1.0.3
-
[6410] : Echappement nom de l'utilisateur
-
[6240] : Licence [LGPL]
A3.3.4.4 Admin Document Manager, version 3.2.11
Lien vers le tracker de développement pour Admin Document Manager version 3.2.11
-
[6368] : [Admin/Editer les attributs] Reprise de l'interface et correction du bug énuméré.
-
[6244] : Licence [LGPL]
A3.3.4.5 Admin UIs, version 1.0.7
Lien vers le tracker de développement pour Admin UIs version 1.0.7
A3.3.4.6 Admin Users Manager, version 3.2.10
Lien vers le tracker de développement pour Admin Users Manager version 3.2.10
-
[6408] : suppression des paramètres *_DB de la base de données
-
[6245] : Licence [LGPL]
-
[6216] : Check ZipArchive dependency
-
[6063] : Exportation des utilisateurs
A3.3.4.7 Admin Vault Manager, version 3.2.8
Lien vers le tracker de développement pour Admin Vault Manager version 3.2.8
-
[6445] : Admin Vault : la taille affichée est invalide
-
[6246] : Licence [LGPL]
-
[5971] : suppression des paramètres *_DB de la base de données
-
[5513] : affichage de l'espace physique disponible
A3.3.4.8 App Switcher, version 1.0.3
Lien vers le tracker de développement pour App Switcher version 1.0.3
A3.3.4.9 Backbone.js Installer, version 1.1.2-1
Lien vers le tracker de développement pour Backbone.js Installer version 1.1.2-1
A3.3.4.10 Book, version 0.4.4
Lien vers le tracker de développement pour Book version 0.4.4
A3.3.4.11 Bootstrap 3 Installer, version 3.3.6-0
Lien vers le tracker de développement pour Bootstrap 3 Installer version 3.3.6-0
-
[6261] : Licence [LGPL]
-
[5898] : Intégrer la version 3.3.6
-
[5242] : programs/bootstrap3_install ne retourne pas un exit code d'erreur en cas d'erreur
A3.3.4.12 CKEditor 3 installer, version 3.6.3-4
Lien vers le tracker de développement pour CKEditor 3 installer version 3.6.3-4
A3.3.4.13 CKEditor 4 installer, version 4.5.7
Lien vers le tracker de développement pour CKEditor 4 installer version 4.5.7
A3.3.4.14 CKEditor Plugins, version 1.0.4
Lien vers le tracker de développement pour CKEditor Plugins version 1.0.4
A3.3.4.15 Cas, version 1.0.1
Lien vers le tracker de développement pour Cas version 1.0.1
A3.3.4.16 Core, version 3.2.21
Lien vers le tracker de développement pour Core version 3.2.21
-
[6448] : [Image] Logo has been
-
[6436] : Enum type free: Modification de la valeur après sauvegarde
-
[6434] : [sécurité] Authentification, fixation de session et elevation de privilèges
-
[6433] : Authentification et redirection cross-site par "redirect_uri"
-
[6411] : checkVault : API obsolète
-
[6404] : [sécurité] XSS dans le Layout FDL:VIEWPROPERTIES
-
[6403] : [sécurité] XSS dans les postits
-
[6402] : PHP Catchable fatal error: Argument 2 passed to Dcp\Core\MailTemplate::checkAttributeExistsInRelation() must be of the type array, boolean given, called in /var/www/dynacase/FDL/Class.MailTemplate.php on line 110 and defined in /var/www/dynacase/FDL/Clas
-
[6389] : Menu "Ajouter un post-it" inopérant si pas le droit de modifier le document
-
[6387] : Problème de masque lors de l'application de setState() sur les documents retournés par un SearchDoc
-
[6385] : PHP Notice: Undefined index: us_whatid in /.../FDL/Class.DocCtrl.php on line 458
-
[6383] : Profil : Importation par login/référence de compte
-
[6380] : Remplacement menu "éditer les attributs" par "voir les attributs"
-
[6379] : [Recherche PleinText] Ajout des valeurs affichées
-
[6372] : Supprimer paramètre applicatif CORE_LCDATE
-
[6367] : Ajouter le check de "standard_conforming_string" dans la checklist de supervisor
-
[6366] : Positionner les paramètres PostgreSQL lors du wstart
-
[6362] : Problème avec opérateur "global" accessible en mode de condition "personnalisée"
-
[6349] : Suppression Action non utilisée
-
[6348] : Suppression type idoc
-
[6340] : [SearchDoc] addGeneralFilter et titre
-
[6328] : Authentification HTML : Redirect page de login
-
[6304] : Famille HELP : Sélection des attributs encadrants
-
[6239] : Licence [LGPL]
-
[6217] : [test] Check ZipArchive dependency
-
[6204] : [sécurity] Arbitrary code execution with SSEARCH documents
-
[6202] : [sécurité] Divulgation des valeurs des attributs docid
-
[6201] : [sécurité] Bypass droit voir et escalade avec droit de modification via FREEDOM:FREEDOM_PREVIEW
-
[6200] : [sécurité] FDL:WORKFLOW_INIT accessible aux utilisateurs non-privilégiés
-
[6197] : [sécurité] XSS dans FREEDOM:FOLDERS
-
[6196] : [sécurité] Bypass des contrôles d'accès dynacase sur les documents et les familles
-
[6195] : [sécurité] Arbitrary code execution in FDL:VIEW_WORKFLOW_GRAPH
-
[6194] : [sécurité] Bypass droit de voir avec FDL:VIEWXML
-
[6192] : PHP Fatal error: Call to a member function getOption() on a non-object in /…/FDL/Class.Doc.php on line 6954
-
[6184] : [CVDOC] Il y a une incohérence dans la définition de la famille
-
[6182] : Layout variable/zone injection (bis)
-
[6181] : [sécurité] Bypass contrôle d'accès de FDL:EXPORTFILE
-
[6180] : [Paramètre applicatif et template d'action] Si le paramètre n'a jamais été valué, sa valeur est fausse dans les templates
-
[6179] : [Paramètre applicatif et template d'action] Si le on définit un eSet de template ayant la même clef qu'un paramètre applicatif celui-ci n'est pas pris en compte
-
[6153] : Layout: Problème interprétation du IF suivi de BLOCK
-
[6146] : VAULT: création répertoire si non existant
-
[6144] : Problème suppression valeur paramètre obligatoire sur un cycle de vie
-
[6143] : Collision identifiant de session
-
[6116] : Apiusage::setText is really deprecated
-
[6114] : Indexation Fichier Fulltext dans les tableaux
-
[6112] : [MASQUE] la surcharge du caractère obligatoire d'une feuille sans surcharge de sa visibilité empêche la propagation de la visibilité du grand parent
-
[6088] : Postit et date du cadre
-
[6087] : Configuration de la recherche générale
-
[6081] : Race condition dans l'exécution concurrente de "whattext" (depuis FDL:EDITONEENUMITEMS lors de la sauvegarde avec FDL:MODENUMITEMS)
-
[6080] : Problème tokenizer requête GENERIC_SEARCH
-
[6079] : Locale '.UTF-8' is not supported by the operating system
-
[6078] : Layout variable/zone injection
-
[6072] : GET /DEFAULT/Images/tabvig.png : "404 Not Found"
-
[6071] : Http_download content disposition
-
[6070] : ActionUsage : type file
-
[6065] : Erreur/typo dans condition dans SearchDoc::normalizeFromId()
-
[6064] : Le ulink de la vue FDL:VIEWSCARD est à présent obligatoire
-
[6060] : PHP Notice: Undefined index: REQUEST_URI in /var/www/test/FDL/viewcard.php on line 74
-
[6059] : Problème génération layout HTML
-
[6058] : [sécurité] Remote code execution via FDL:ENUM_CHOICE
-
[6034] : formatCollection : Enum exists
-
[6029] : Import : les attributs "invisible" ne peuvent pas être importé en XML
-
[6028] : [sécurité] Mise à jour PHPMailer
-
[6024] : exportation avec profil dynamique
-
[5999] : formatCollection ajouter revision sur docid
-
[5998] : API setStyle appelle deployStyleFiles() avec un mauvais nombre d'arguments
-
[5996] : [sécurité] XSS dans APP_SWITCHER:APP_SWITCHER
-
[5995] : [sécurité] Path traversal dans CORE:HELPVIEW en mode guest
-
[5988] : Correction Commentaire et notice et avertissement
-
[5984] : [CLI] Gestionnaire d'exception par défaut et exit code toujours à 0 si pas de $action disponible
-
[5966] : API checkVault appel de addRequiredParameter avec mauvais nombre d'arguments
-
[5965] : [sécurité] XSS dans GENERIC:GENERIC_LOGO
-
[5964] : GENERIC:GENERIC_ISEARH appel de freedom_view() erroné avec 2 arguments
-
[5963] : [Update/FGSEARCH] Si on désactive FGSEARCH on ne peut plus mettre à jour CORE
-
[5962] : [sécurité] XSS dans GENERIC:GENERIC_CHOOSEENUMATTR
-
[5961] : [sécurité] XSS dans GENERIC:GENERIC_CARD
-
[5960] : [sécurité] XSS dans FREEDOM:REVCOMMENT
-
[5959] : FREEDOM:REFRESHDIR Call to undefined method QueryDir::RefreshDir()
-
[5958] : [sécurité] XSS dans FREEDOM:OPENFOLIO
-
[5956] : FREEDOM:MODEXPORTCHGOOSECOLS appelle deleteFamilyParameter() avec mauvais nombre d'arguments
-
[5955] : [sécurité] XSS dans FREEDOM:HISTO
-
[5954] : [sécurité] XSS dans FREEDOM:FREEDOM_CARD
-
[5953] : [sécurité] XSS dans FREEDOM:EDITDFLD
-
[5952] : FREEDOM:CHANGEICON accessible à tout utilisateur authentifié
-
[5948] : [sécurité] XSS dans FGSEARCH:FULLSEARCHRESULT
-
[5947] : FGSEARCH:FULLSEARCHRESULT date affiché en ISO et appel erroné à Doc::getDate()
-
[5946] : [sécurité] XSS dans FDL:WORKFLOW_GRAPH
-
[5945] : [sécurité] XSS dans FDL:VIEWTIMERS
-
[5944] : [sécurité] XSS dans FDL:VIEWDESTROYDOC
-
[5943] : [sécurité] XSS dans FDL:IMPCARD
-
[5942] : [sécurité] XSS dans FDL:GOTOWASK
-
[5940] : [sécurité] XSS dans FDL:DIFFDOC
-
[5939] : Suppression du paramètre CORE_PUBDIR (base)
-
[5937] : Expression result unused in modcard.php at line 641
-
[5936] : Problème suppression des fichiers des paramètres de familles de type fichier par
cleanVaultOrphans
-
[5935] : Le script d'API cleanVaultOrphans supprime les icônes des familles changés manuellement
-
[5934] : Problème mise en cache du document tardive dans Doc::postInsert() et taille du cache
-
[5933] : Mot de passe oublié : mauvais choix d'utilisateur
-
[5931] : [Layout/htmltext] Les layouts ne savent plus systématiquement retranscrire les htmltext
-
[5926] : [CORE_MAILACTION] le paramètre CORE_MAILACTION ne permet de pas de construire de manière standard des url compatible avec ddui
-
[5924] : [poubelle] Ne présenter que les documents supprimés en dernière révision.
-
[5923] : Le contenu présenté par la recherche spécialisée "la poubelle" n'est pas correct
-
[5918] : Avertissements "unreachable code after return statement" dans console Firefox
-
[5917] : PHP Warning: array_keys() expects parameter 1 to be array, string given in /var/www/test/FDL/CheckWorkflow.php on line 205
-
[5916] : Typo s/Ressource/Resource/
-
[5915] : [DIR/Add a document] Erreur JS au démarrage de cette interface
-
[5910] : Recherche groupée (contrôle d'accès)
-
[5909] : Nombre d'éléments sur les listes ONEFAM erronné
-
[5908] : Pb message locale sur demande de mot de passe
-
[5876] : Redirection ExtUi
-
[5848] : Support PHP 7
-
[5829] : suppression des paramètres *_DB de la base de données
-
[5825] : [Sécurité] Ajouter et donner un moyen simple de configurer le Content-Security-Policy
-
[5824] : [Sécurité] Ajouter et rendre configurable le header "X-Frame-Options" pour pouvoir configurer les possibilités d'inclusion des pages DCP et limiter le clickjacking
-
[5821] : Problème de sécurité du include_path par défaut et optimisation inclusion de fichiers par PHP
-
[5792] : setter le nom logique sur toutes les révisions
-
[5788] : export des documents, noms logiques et documents révisés
-
[5784] : Problèmes avec les actions FREEDOM_BGIMPORT et FREEDOM_IMPORT_DIR
-
[5703] : Problème empreinte mémoire du script initViewPrivileges.php
-
[5450] : utiliser un schéma explicite partout
-
[5316] : [FGSEARCH] Requête invalide avec le caractère '
-
[4797] : Supprimer les dépendances et le code liés aux modules Pear
-
[4297] : Réflexion sur la sécurité des sessions
-
[4155] : [Import/Export Role] L'import/export des rôles n'est pas robuste
-
[1708] : Suppression anciens fichiers de code PHP
-
[1327] : Pertinence du paramètre apacheuser
-
[866] : Label/tooltip incorrect sur le nom de l'état sur un document en édition
A3.3.4.17 Dashboard UI, version 1.0.8
Lien vers le tracker de développement pour Dashboard UI version 1.0.8
A3.3.4.18 Dashboard Widgets, version 1.0.5
Lien vers le tracker de développement pour Dashboard Widgets version 1.0.5
A3.3.4.19 Data js, version 3.2.8
Lien vers le tracker de développement pour Data js version 3.2.8
-
[6432] : Erreur de la requête SQL visible dans la réponse et type MIME invalide dans
notifier.php
-
[6250] : Licence [LGPL]
A3.3.4.20 Document Grid UI, version 1.0.13
Lien vers le tracker de développement pour Document Grid UI version 1.0.13
-
[6409] : suppression des paramètres *_DB de la base de données
-
[6230] : Licence [Anakeen]
A3.3.4.21 Document UIs, version 1.0.0-1
Lien vers le tracker de développement pour Document UIs version 1.0.0-1
A3.3.4.22 Fileconnector, version 1.1.6
Lien vers le tracker de développement pour Fileconnector version 1.1.6
-
[6251] : Licence [LGPL]
-
[5975] : suppression des paramètres *_DB de la base de données
A3.3.4.23 Font Awesome Installer, version 4.5.0
Lien vers le tracker de développement pour Font Awesome Installer version 4.5.0
-
[6265] : Licence [LGPL]
-
[6083] : shebang : la notation choisie n'est pas portable
A3.3.4.24 Freeevent, version 3.0.1
Lien vers le tracker de développement pour Freeevent version 3.0.1
-
[6278] : Licence [LGPL]
-
[5976] : suppression des paramètres *_DB de la base de données
-
[5657] : PHP Strict Standards: Declaration of Dcp\Freeevent\Dcalendar::ComputeQuery() should be compatible with Dcp\Core\DetailSearch::ComputeQuery($keyword = '', $famid = -1, $latest = 'yes', $sensitive = false, $dirid = -1, $subfolder = true, $full = false)
A3.3.4.25 HTTP API v1, version 1.0.2
Lien vers le tracker de développement pour HTTP API v1 version 1.0.2
-
[6352] : Enum: prise en compte option esort
-
[6327] : Prise extension html
-
[6252] : Licence [LGPL]
-
[6171] : une requête post à /api/v1/documents//workflows/states/ sans paramètres lève un warning
-
[6103] : [Restauration] L'api http ne permet pas de restaurer une ressource dans trash
-
[6077] : [access_compat:error] [pid 21843] [client 10.11.12.13:4567] AH01797: client denied by server configuration: /var/www/dynacase/documents
-
[6022] : Conformité test core 3.2.21
-
[6015] : Ajouter WVERSION dans les etag
-
[6005] : Prise en compte revision state
-
[5941] : Création docid multiple dans tableaux
-
[5929] : [Log] L'api HTTP produit beaucoup de log inutile
-
[5877] : [Search/Directory] Si la famille n'est pas précisée les ajouts d'attributs ne fonctionnent pas
A3.3.4.26 JQuery UI Installer, version 1.8.21-7
Lien vers le tracker de développement pour JQuery UI Installer version 1.8.21-7
A3.3.4.27 JQuery installer, version 1.7.2-1
Lien vers le tracker de développement pour JQuery installer version 1.7.2-1
-
[6267] : Licence [LGPL]
-
[6191] : PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /…/programs/jquery_installdynacase-jquery-1.7.2-installer:21
-
[6154] : shebang : la notation choisie n'est pas portable
A3.3.4.28 Jquery Datatable Installer, version 1.10.11-0
Lien vers le tracker de développement pour Jquery Datatable Installer version 1.10.11-0
-
[6270] : Licence [LGPL]
-
[5901] : Intégrer la version 1.10.11
A3.3.4.29 Json2 Installer, version 1.0.2
Lien vers le tracker de développement pour Json2 Installer version 1.0.2
A3.3.4.30 Kendo UI Installer, version 2015.3.390-0
Lien vers le tracker de développement pour Kendo UI Installer version 2015.3.390-0
-
[6280] : Licence [LGPL]
-
[5884] : [Fichiers inutiles] Les fichiers de builder sont publiés alors qu'ils n'ont pas d'utilité
-
[5882] : [Path d'installation] La version actuelle de kendo est 2015.3 et elle est installée dans le répertoire 2014.3
-
[5881] : [Correction de dépendances] Kendo dépend de jquery 1.7 alors que les deux paquets n'ont aucune dépendances réelle
A3.3.4.31 Less Installer, version 1.7-1
Lien vers le tracker de développement pour Less Installer version 1.7-1
-
[6320] : [Autoloader] L'autoloader est inutile et ralenti la génération des CSS
-
[6272] : Licence [LGPL]
-
[6004] : Suppression du paramètre CORE_PUBDIR
A3.3.4.32 Mailconnector, version 0.6.4
Lien vers le tracker de développement pour Mailconnector version 0.6.4
-
[6253] : Licence [LGPL]
-
[5977] : suppression des paramètres *_DB de la base de données
A3.3.4.33 Mustache.js Installer, version 0.8.1-1
Lien vers le tracker de développement pour Mustache.js Installer version 0.8.1-1
A3.3.4.34 Mustache.php Installer, version 2.6.0-1
Lien vers le tracker de développement pour Mustache.php Installer version 2.6.0-1
A3.3.4.35 Network User, version 1.3.7
Lien vers le tracker de développement pour Network User version 1.3.7
-
[6254] : Licence [LGPL]
-
[5978] : suppression des paramètres *_DB de la base de données
A3.3.4.36 Onefam, version 3.2.12
Lien vers le tracker de développement pour Onefam version 3.2.12
-
[6255] : Licence [LGPL]
-
[6174] : Restauration prise en compte parametre ONEFAM_BGCOLOR
-
[6170] : Paramétrage de la recherche par mot-clef
-
[5979] : suppression des paramètres *_DB de la base de données
A3.3.4.37 Require JS Installer, version 2.1.13-1
Lien vers le tracker de développement pour Require JS Installer version 2.1.13-1
A3.3.4.38 Search Criteria UI, version 1.0.11
Lien vers le tracker de développement pour Search Criteria UI version 1.0.11
-
[6391] : Safari 8: Yosemite
-
[6231] : Licence [Anakeen]
-
[5980] : suppression des paramètres *_DB de la base de données
A3.3.4.39 TEngine, version 1.4.1
Lien vers le tracker de développement pour TEngine version 1.4.1
-
[6260] : Licence [LGPL]
-
[6095] : Intégration de LibreOffice 5
-
[6037] : les services démarrés par ted run … ne sont pas visibles dans ted status
-
[3566] : sortie d'erreur des engins
A3.3.4.40 TEngine Client, version 1.0.1
Lien vers le tracker de développement pour TEngine Client version 1.0.1
-
[6257] : Licence [LGPL]
-
[5439] : Détection d'une version précédente incompatible du TE
A3.3.4.41 TEngine Configuration, version 1.0.1
Lien vers le tracker de développement pour TEngine Configuration version 1.0.1
A3.3.4.42 TEngine Monitor, version 1.0.1
Lien vers le tracker de développement pour TEngine Monitor version 1.0.1
A3.3.4.43 Tags, version 1.1.5
Lien vers le tracker de développement pour Tags version 1.1.5
A3.3.4.44 Tags UI, version 1.1.4
Lien vers le tracker de développement pour Tags UI version 1.1.4
A3.3.4.45 TraceKit Installer, version 0.1.0-1
Lien vers le tracker de développement pour TraceKit Installer version 0.1.0-1
A3.3.4.46 Underscore Installer, version 1.7.0-1
Lien vers le tracker de développement pour Underscore Installer version 1.7.0-1
A3.3.4.47 Webdesk, version 2.0.3
Lien vers le tracker de développement pour Webdesk version 2.0.3
-
[6446] : [sécurité] Le service
svcrss.php
évalue les séquences "[XXX]"
-
[6440] : [sécurité] XSS dans
freedomrss_edit.php
-
[6439] : [sécurité] Injection SQL dans
freedom_rss_search.php
-
[6438] : [sécurité] Inclusion et exécution arbitraire de fichiers PHP
-
[6258] : Licence [LGPL]
-
[6086] : Running 'Check php class XML_Parser'... PHP Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/share/php/XML/Parser.php on line 616
-
[5982] : suppression des paramètres *_DB de la base de données
A3.3.4.48 Workspace, version 1.1.4
Lien vers le tracker de développement pour Workspace version 1.1.4
-
[6361] : Correction pour core (getsearchmode)
-
[6259] : Licence [LGPL]
-
[5983] : suppression des paramètres *_DB de la base de données
A3.4 Release 14
A3.4.1 Note de release
A3.4.1.1 Dynacase Control
Une mise à jour de Dynacase Control vous est proposée lorsque vous vous connectez sur son interface.
Des bugs sont corrigés, mais et une fonction majeure est ajoutée pour exporter les informations relatives aux contextes.
Ce mécanisme est décrit dans le Manuel d'installation et d'exploitation, au § 5.4 Enregistrement d'un contexte.
Pour plus de détail, vous pouvez consulter le tracker de développement pour la version 1.5 release 2.
A3.4.1.2 Socle technique
A3.4.1.2.1 PHP
La version 5.6 est désormais supportée.
Les versions PHP 5.4 et 5.5 ne seront plus supportées à compter de la release de maintenance publiée en mai 2016.
Elle sont maintenues par les développeurs de PHP uniquement pour corriger des failles de sécurité.
Pour plus de détails, vous pouvez vous référer à la roadmap PHP.
Si une anomalie Dynacase est détectée et qu'elle se trouve être liée à un dysfonctionnement de PHP, la montée en version 5.6 deviendra nécessaire.
La version 7 de PHP est annoncée pour la fin de l'année 2015 (actuellement en Release Candidate).
Le fonctionnement de Dynacase est en cours de validation sur cette version.
Elle sera supportée à compter de la release de maintenance publiée en mai 2016.
A3.4.1.2.2 PostgreSQL
La version 9.4 est désormais supportée.
La versions 9.1 (fin de vie septembre 2016) de PostgreSQL ne sera plus supportée à compter de la release de maintenance publiée en mai 2016.
A3.4.1.3 Points particuliers
A3.4.1.3.1 Document UI
Le module Dynacase Document User Interface (DDUI) est développé par Anakeen pour apporter aux documents Dynacase
une interface graphique moderne profitant des avancées du standard web HTML5.
Le module DDUI est une stack Front-End utilisant l’API HTTP de Dynacase.
Cette Stack est composée de bibliothèques robustes et éprouvées
(Require, Backbone, Underscore, Mustache, KendoUI et Bootstrap).
Le module DDUI peut être utilisé tel que ou facilement personnalisé.
DDUI est assemblé à partir de widgets, eux mêmes paramétrables et permet ainsi de composer le document à façon.
DDUI permet de créer une interface graphique selon les principes du Responsive Design pour que l’IHM s’adapte
aux différentes tailles d'écrans (ordinateur, portable, tablette).
Grace à sa conception (modularité) et le respect des 'standards' HTML5 (appcahe, storage),
DDUI peut être utilisé pour réaliser des applications offline. Ces applications sont destinés
à des usages nomades (train, avion,..), à des utilisations en environnement contraint (mauvaise connexion internet)
ou fournissent une résilience aux pannes serveurs (les utilisateurs pouvant continuer à travailler en attendant que
les serveurs soient de nouveau Up).
DDUI fonctionne avec des navigateurs récents (IE11, Chrome 40, Firefox 35 et suivants).
Pour résumer, le module éditeur DDUI apporte :
- une IHM moderne pour les utilisateurs;
- une base de développement d’IHM sur mesure facilité;
- une IHM basée sur stack HTML5;
- une IHM prévue pour etre adaptée au Responsive Design;
- une IHM prévue pour intégrer un fonctionnement en offline.
Vous trouverez plus d'information sur son architecture et son fonctionnementen consultant la documentation de référence.
A3.4.1.3.1.1 Exemple d'utilisation de DDUI
Ci-dessous, une application classique utilise DDUI (partie de droite) sans customisation particulière
et présente une liste de documents (partie de gauche).
On peut noter quelques changement dans la présentation du document.
L'apparence générale reste suffisamment proche des documents classique pour ne pas perturber
les utilisateurs actuels.
La capture suivante présente le même application sur un écran de largeur réduite.
On peut noter que la liste de documents n'est plus affichée et devient accessible par une icône (repère 1),
mais surtout un exemple de prise en compte 'responsive' de la largeur allouée au document : au repère 2,
le dernier onglet affiche le nombre d'onglet supplémentaires accessibles.
Le module est distribué sous licence Anakeen. Il est disponible sur votre dépôt privé selon votre contrat EEC.
A3.4.1.3.2 Nouveaux 'installer'
Comme nous l'avons vu précédemment, le fonctionnement de Dynacase Document UI utilise une stack nouvelle.
Ces divers composants sont fournis au travers de modules Dynacase de type 'installer' :
- Bootstrap 3, version 3.2.0
- Font Awesome, version 4.4.0
- Kendo UI, version 2015.3.390
- Less, version 1.7
- Mustache.js, version 2.6.0
- Mustache.php, version 1.7
- Require JS, version 2.1.13
- Underscore, version 1.7.0
A3.4.1.3.3 Core
Cette release apporte un nombre important de corrections (voir la liste complète des issues traitées).
Quelques améliorations de mécanismes internes sont identifiées dans la note d'édition du manuel de référence, édition 9.
A3.4.1.3.3.1 Vérification de la validité du HTML (attributs HtmlText)
Lors de la manipulation des valeurs d'attributs de type HTMLTEXT, Dynacase s'assure de la validité du HTML
(pour plus de détail cf. les issues [5595] & [5695].
A3.4.1.3.3.2 Connexion persistante à la base PostgreSQL
Nous avons désactivé la possibilité de mettre en place une connexion persistante entre Dynacase et PostgreSQL
via un paramètre applicatif Core. À noter que ce mode de connexion a toujours été déconseillé et n'est pas supporté.
Ce mode de fonctionnement peut devenir problématique et nécessite des précautions particulières pour la gestions de transactions, verrous, configuration PostgreSQL, etc. (Pour plus d'information).
A3.4.1.3.4 API HTTP
Une mise à jour propose quelques améliorations de l'API; une nouvelle édition du manuel de référence est publiée.
A3.4.2 Documentation
Documentations mises à jour :
A3.4.3 Mises à jour
A3.4.3.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.4.3.2 Depuis une version 3.1
Voir le chapitre [Migration]
A3.4.4 Liste complète des demandes par module
A3.4.4.1 CKEditor 4 installer, version 4.5.3
Lien vers le tracker de développement pour CKEditor 4 installer version 4.5.3
-
[5820] : Montée en version CKEditor
-
[5075] : Les fichiers PHP de
samples
sont exécutables
A3.4.4.2 Core, version 3.2.20
Lien vers le tracker de développement pour Core version 3.2.20
-
[5842] : [Import IHM/Import XML] Le fichier suivant ne s'importe pas
-
[5841] : [ImportXML/Import Manuel] XML en erreur d'import => aucun affichage dans l'interface
-
[5840] : [ExportXML/Export ZIP] Lors de l'utilisation de la fonction d'export de document en XML le fichier téléchargé par chrome s'appelle admin.php
-
[5828] : suppression du mode de connexion persistante
-
[5816] : Erreur "Error: Permission denied to access property "Ext"" quand on utilise Dynacase dans une iframe
-
[5805] : addLogMsg tronqué
-
[5804] : WSH: Action administration
-
[5797] : Corruption valeurs importés par importDocuments et options csv-enclosure=auto
-
[5760] : Typo s/enought/enough/ in ErrorCodeATTR.php
-
[5742] : Symlink de DocumentRoot et erreur "403 Forbidden" de resizeimg
-
[5740] : Correction Commentaire et notice et avertissement
-
[5739] : Nom du téléchargement de fichier
-
[5738] : Image : autorotation
-
[5723] : Message d'erreur DFLT0004/ATTR1260 pas clair sur l'origine réelle du problème
-
[5716] : Ecrasement de valeurs d'attributs par Doc::getMoreValues()
-
[5714] : Code JS erroné généré par
popup_util.php
-
[5713] : Le script d'API
importDocuments
ne remonte pas d'erreur lorsque --file n'est pas valide
-
[5710] : [Login] La page de login ne fait pas un redirect vers l'url entière qui était demandée à l'origine
-
[5695] : Erreur JS Uncaught HierarchyRequestError: Failed to execute 'appendChild' on 'Node': The new child element contains the parent.moveFieldset
-
[5694] : API destroyFamily ne supprime pas la séquence
seq_docxxx
-
[5692] : Check "attribute orphean" de supervisor
-
[5688] : Problème supervisor/index.html suite à migration
-
[5656] : PHP Fatal error: Call to a member function read() on a non-object in /var/www/test/WHAT/Class.Application.php on line 742
-
[5653] : [htmltext] Il n'est plus possible de créer des images via l'ihm
-
[5642] : Erreur "vous n'avez pas le droit de modifier cet attribut : attr_xxx" sur colonne de array avec visibilité "I"
-
[5632] : [Rapport/Recherche] La propriété date de création est source de confusion
-
[5595] : [Layout/OOO] HTMLTEXT invalide : en cas de texte html invalide une fatal error est remontée et bloque l'exécution du programme
-
[5584] : {DB0001} query error : ERROR: duplicate key value violates unique constraint "pg_type_typname_nsp_index" DETAIL: Key (typname, typnamespace)=(session_conf, 43891) already exists.
-
[5581] : i18n : génération des catalogue javascript
-
[5566] : Message d'erreur non-approprié [{ATTR1271} key must not have accent characters in enum declaration "|N/A" for "s_enum" attribute]
-
[5538] : SearchDoc ne réinitialise pas correctement les valeurs des attributs des familles filles si ceux-ci sont dans un array
-
[5520] : Substitution LOGDATE de configure.in et problème de build non déterministe
-
[5499] : [sécurité] RCE via FDL:EXPORTFILE
-
[5498] : [sécurité] XSS avec la fonction d'export d'images ("file/.../.../?inline=yes" et "app=FDL&action=EXPORTFILE&...&inline=yes")
-
[5496] : [sécurité] XSS dans FDL:EDITICON
-
[5495] : [sécurité] XSS dans DOCADMIN
-
[5494] : [sécurité] XSS dans FREEDOM:OPENFOLIO
-
[5493] : [sécurité] XSS dans FDL:EDITINSERTDOCUMENT
-
[5492] : Perte de style/police HTML dans l'éditeur des modèles de mail
-
[5487] : Double indexation des attributs calculés de type fichier.
-
[5461] : [URL file] url file et accès non connecté
-
[5431] : [wstart] Ajout d'options
-
[5430] : Problème avec CORE_TMPDIR et FREEDOM_UPLOADDIR après restauration d'une archive de contexte
-
[5421] : Doc::Affect et nettoyage des valeurs
-
[5362] : [Rapport] Contrainte sur les dates vide
-
[5277] : [Rapport/Texte] Phrase d'erreur en cas de colonnes absentes
-
[5092] : Problème de titre sur le bouton quicksave CKEditor
A3.4.4.3 Document UIs, version 1.0.0
Lien vers le tracker de développement pour Document UIs version 1.0.0
-
[5839] : [Widget/docid/array] Le flash après sélection est présent sur l'ensemble de la colonne et pas uniquement le docid qui vient d'être valué
-
[5838] : [Widget/Docid/Multiple] Le widget docid multiple dans un tableau enregistre en double l'information
-
[5837] : [Widget/Int] Dans un tableau le widget n'est pas affiché correctement
-
[5830] : [Kitchensink] Les widgets unitaires ne sont plus affichés correctement
-
[5814] : Ajout kendo Configuration sur aide à la saisie
-
[5810] : Menu position fixed
-
[5808] : Configuration renderAccess pour les transitions
-
[5807] : Affichage de la transition déborde
-
[5806] : Break message tooltip
-
[5803] : Uniformisation des options sur les liens
-
[5800] : [TU] Réparer les TU
-
[5795] : [IHM] Changement d'état sans les droits
-
[5778] : renommer setDisplayedLineNumber en setMaxDisplayedLineNumber
-
[5776] : refactorer la gestion des onglets pour la porter au niveau du document
-
[5774] : renommer setDownloadInline en setContentDispositionInline
-
[5770] : regrouper les options permettant de définir les différents messages sur les attributs dans une unique option
-
[5764] : Ajouter la classe dcpDocument--create lors des créations
-
[5749] : [IHM] Doubler la taille des sous menus
-
[5741] : Option windowheight dans les attributs
-
[5736] : Evénement "change" sur attribut ne permet pas la modification
-
[5735] : Retour d'erreur de l'aide à la saisie
-
[5728] : Widget Date : copy/paste
-
[5724] : Event beforeChangeState si pas de paramètre
-
[5722] : [Save] En cas d'erreur de contrainte le fail n'est pas déclenché
-
[5720] : Menu interface
-
[5718] : Prise en compte option heigth et width dans menu target window
-
[5717] : Faciliter la surcharge d'etag
-
[5715] : [Edition/Fichier/Tooltip] Les tooltips ne s'effacent pas toujours après avoir déposé un fichier et ils persistent sur les autres onglets
-
[5709] : [Lock] Lorsque la requête de lock échoue au passage en édition le document est bloqué
-
[5708] : [File] Lorsque des fichiers sont dans un tableau en édition en upload concurrente le premier à arriver sur le serveur annule toutes les autres upload
-
[5706] : Message d'erreur encodé
-
[5705] : Double ready sur beforeRender
-
[5704] : Message d'erreur de transition
-
[5702] : [Event] Les properties ne sont pas récupérables lorsque le document n'est pas initialisé
-
[5700] : [Event] Les events sont déclenchés en double s'ils sont insérés plus d'une fois
-
[5699] : Les labels ne sont plus responsive en petite résolution
-
[5698] : Encapsulation jQuery
-
[5691] : [Erreur] Erreur lors de l'insertion d'event trop tôt
-
[5690] : les callback de fetch, save, etc. doivent être déferés
-
[5687] : [Attribut/hidden] Lorsqu'un attribut hidden est dans un template le widget ne peut pas se rendre
-
[5686] : [attributeInterface] Ajouter un change label
-
[5685] : [Suppression] message: "Cannot read property 'requestAnimationFrame' of null"
-
[5684] : [BeforceClose] Les valeurs du model en cours ne sont plus ré-injectées au beforeClose
-
[5683] : [fetch/lock] Lorsque l'on fetch un autre document en partant d'une vue d'édition vers une vue d'édition le lock n'est pas supprimé
-
[5682] : ajouter une méthode setLabel dans les common options
-
[5679] : Accès à la structure même si la famille n'est pas visible
-
[5678] : [Document/Properites] Il y une confusion entre les propriétés courantes du model et celles reçues par le serveur
-
[5677] : [attributeInterface] L'attributeInterface laisse leaker des objets backbone (collection d'enfants)
-
[5676] : Menu : ajout getter pour la closure des menus dynamiques
-
[5675] : Retour erreur dans menu dynamique
-
[5674] : Affichage des contraintes dans les tableaux personnalisés
-
[5673] : Menu parasite en création
-
[5671] : [DocumentController/deleteDocument] Impossible de supprimer un document en édition avec l'api
-
[5670] : [toJSON] Le toJSON du modèle échoue si les attributs ne sont pas déjà présent
-
[5669] : [Event/Register] Si l'enregistrement des premier événement est fait pendant le fetch cela lève une exception
-
[5668] : [beforeAttributeRender/attributeReady/Array] Ajouter l'index
-
[5663] : [loader] 850 nuances de milliseconds : delay sur la suppression du masque
-
[5662] : [showEmpty] Ajout de la gestion du booléen true
-
[5661] : le loading du widget document ne masque pas l'intégralité du document
-
[5660] : ajout d'une méthode permettant de "désactiver le document"
-
[5659] : Les contraintes donnent l'impression d'être asynchrones alors qu'elles ne le sont pas
-
[5655] : [Template] Array il manque la classe dcpAttribute__content sur les templates dans les array
-
[5652] : [Widget/Event] Identifier le documentloaded du widget empty (pré chargé sans document) de celui chargé
-
[5651] : [Aide à la saisie/Widget custom] Les aides à la saisie ne fonctionnent pas sur les widgets custom
-
[5650] : [Reinit] Le reinit n'est pas complet
-
[5649] : [Document] Firefox only : quand le document est chargé dans une iframe de même url au sein d'un document rien ne se passe
-
[5648] : [View] Il n'y a pas de mot clef pour la vue de création par défaut
-
[5647] : [Evenement] Si on ajoute des événements sur contrôleur externe en mode sans document alors ça plante
-
[5644] : Pouvoir ajouter customData au fetch
-
[5643] : Controlleur externe show message
-
[5641] : Catalogue de langue client
-
[5640] : Tooltip persitant
-
[5639] : Gestion des erreurs : gérer les erreurs réseau
-
[5638] : [IHM] Page de fallback
-
[5637] : Menu: Accès au label de menu
-
[5635] : Menu: ajout des getter sur les items
-
[5634] : Accès documentController sur check de listener
-
[5630] : le collapse des frames replie les arrays customisés à la place de la frame
-
[5629] : la détection des templates de tableau échoue dans certains cas
-
[5627] : Evénement uploadFile
-
[5626] : Mauvaise prise en compte de l'option inline
-
[5625] : Pas de retour sur triggerEvent dans le contrôleur externe
-
[5624] : Ajout événement downloadFile
-
[5618] : Workaround for upload file for IE9
-
[5615] : l'événement beforeAttributeRender n'est pas déclenché pour les attributs dans un array
-
[5613] : [Initialisation des widgets] Initialisation des widgets ne se fait pas bien sur les colonnes de array
-
[5612] : ajouter le attrid dans les td des arrays
-
[5611] : [i18n] Le path de la ressource contient un / de trop
-
[5610] : [Widget/attibute] Utiliser la getValue pour la génération de l'event change du widget
-
[5609] : [Injection du JS] L'injection du JS doit être faite avant le rendu de la page
-
[5608] : La détection de changement d'attribut n'est pas toujours juste
-
[5607] : uniformisation des noms d'événement sur les attributs
-
[5606] : ajout d'un événement avant le rendu d'un attribut
-
[5605] : Ajoout d'une méthode permettant de récupérer les données d'initialisation du widget pour un objet attribute
-
[5604] : [Widget/Array] Le header de toolcell est en fontsize 0.8
-
[5603] : les énumérés en verticalDisplay ne sont pas correctement sélectionnés
-
[5602] : renommer \Dcp\Ui\EnumRenderOptions::display en \Dcp\Ui\EnumRenderOptions::setDisplay
-
[5601] : Supprimer dépendance kendo sur le modèle de document
-
[5600] : Typage des modèles Backbone
-
[5599] : il est difficile de cacher les tools sur un tableau en U avec un template spécifique
-
[5598] : impossible de mettre en place le mode responsive sur un tableau qui a un template spécifique
-
[5597] : Les classes nécessaires ne sont pas ajoutées à la table lors de l'utilisation de template de tableau
-
[5596] : Ajout d'un etag sur la page de préchargement
-
[5594] : [Controlleur Externe] Le contrôleur ne délivre pas l'événement documentunloaded
-
[5589] : Require dataTable path
-
[5583] : Intégrer le lancement de karma pour les autotests
-
[5578] : l'événement load du widget n'est pas prefixé
-
[5577] : race condition sur firefox: le load de l'iframe est déclenché avant qu'on l'écoute
-
[5576] : l'enregistrement des événements ne doit pas dépendre du chargement de l'iframe
-
[5575] : [Action/View] Supprimer les traitements sur les paramètres
-
[5573] : Renommer documentLinkSelected en actionClick
-
[5572] : le « nouveau document » contient des valeurs de l’ancien (au beforeclose notamment)
-
[5570] : l'événement changedocument du widget docid est mal nommé
-
[5569] : les événements documentLinkSelected ne se déclenchent pas lors du clic sur un docid en consultation
-
[5554] : Ressource Structure
-
[5547] : View et refresh
-
[5546] : Aiguillage du Contrôle de render
-
[5545] : Custom Data : client -> serveur
-
[5544] : Custom Data : serveur -> client
-
[5543] : renommer la méthode addEvent du widget document en addEventListener
-
[5542] : Lock et vue d'édition
-
[5541] : Ajout événement custom
-
[5539] : [Document] La sélection ne fonctionne pas
-
[5528] : Menu de consultation par défaut
-
[5527] : Page de chargement
-
[5526] : Document Controller : Contrainte colonne
-
[5525] : Document Controller : hideAttribute column
-
[5524] : Document Controller : setValue multiple
-
[5519] : [Widget/array/enum] Valeur bloquée
-
[5518] : [Array/Enum/Focus] Un array avec une colonne d'enuméré vide déclenche le focus sur les non déjà rempli
-
[5517] : [IHM/Tooltip] Les tooltip bootstrap sont perturbant en tactile
-
[5516] : [Widget/tab] Ajouter un throbber pendant la construction du contenu de la tab
-
[5515] : [IHM/Tab] Gestion des tabs sur les petites résolutions
-
[5514] : [IHM/Menu] Gestion des menus
-
[5512] : [IHM/Array] Avoir une option pour paramétrer les breakpoints
-
[5509] : [Contrôle de rendu] Possibilité d'avoir à la fois un contrôle de vue et un contrôle de rendu sur le même document.
-
[5508] : [Fenêtre|Propriétés] La fenêtre est trop étroite.
-
[5507] : [UI|Menu] L'encodage des entrées dans le menu est parfois problématique
-
[5506] : [UI|Array|HtmlText] Les htmltext débordent de leur case
-
[5505] : [IHM|Array] Entête des tableaux
A3.4.4.4 Fileconnector, version 1.1.5
Lien vers le tracker de développement pour Fileconnector version 1.1.5
-
[5712] : Directive d'import erronée lors pour l'upgrade
A3.4.4.5 API HTTP Core v1, version 1.0.1
Lien vers le tracker de développement pour HTTP API v1 version 1.0.1
-
[5801] : Ressource States
-
[5787] : [Compat::3.2] Ajouter le cache de l'api HTTP dans le $gdocs
-
[5701] : ajout de l'id de la transition dans les informations de workflow
-
[5672] : Message d'information sur la documentation
-
[5619] : Retour en HTML
-
[5564] : Ajout trace pour le temps d'éxécution et mémoire
-
[5563] : ordre des règles du router
-
[5559] : Définition du status code
A3.5 Release 13
A3.5.1 Note de release
A3.5.1.1 Points particuliers
A3.5.1.1.1 Core
Cette release traite 45 issues, dont certaines notables :
-
#4931 la notion d'obligatoire est introduite pour les attributs Array : elle permet de
spécifier que chaque ligne du tableau (pour l'attribut obligatoire) doit être non vide;
-
#5322 Le mécanisme de style permet d'ajouter des règles qui sont appliquées globalement,
qui surchargent tous les styles;
-
#5325 les destinaires des mails (mailtemplate) peuvent être des documents implémentant
l'interface IMailRecipient;
-
#5372 Lors d'une importation, les documents suivant une instruction ORDER invalide sont
ignorés et une erreur signalée;
-
#5408 lors de l'importation de documents (CSV) si un nom logique référançant un document
inexistant est utilisé pour valuer un attribut relation, un warning est émis (auparavant aucun signalement n'était fait);
-
#5420 l'API refreshDocument est munie de 2 arguments supplémentaires qui permettent de
demander la production d'un journal et préciser le comportement du traitement global en cas d'erreur sur un document;
-
#5444 l'IHM d'export CSV permet d'indiquer si les nombres doivent être exportés
formatés (1 428,50 €) ou non formatés (1428.5);
A3.5.1.1.2 API HTTP Core
En vue de la prochaine publication du module Document UIs (interface HTML 5 du document), l'API HTTP Core est publiée en version 1.0. Cette version stable est désormais supportée dans le cadre de vos contrats EEC.
Le documentation a été mise à jour, elle introduit de nouvelles ressources relatives aux workflows.
A3.5.1.1.3 Dynacase Transformation Engine, interface d'administration et de surveillance
L'URL de callback déclenchée lors de la fin du l'exécution du moteur est désormais systématiquement appelée,
et ce quelque soit le statut final (erreur, interruption, OK).
Les conversions en texte (extraction) sont réalisées par Tika qui est désormais lancé en mode serveur
pour optimisation de la charge du serveur.
Des interfaces d'administration et de surveillance de Dynacase TEngine sont proposées depuis la page
d'administration de la plateforme. Elles permettent de :
Pour plus de détail, nous vous invitons à vous reporter à la note de version relative à la version 1.4.0.
Le passage à la version 1.4 de Dynacase TEngine nécessite de reprendre des éléments de configuration.
Ceci est décrit dans la note de version mentionnée ci-dessus.
A3.5.2 Documentation
A3.5.3 Mises à jour
A3.5.3.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.5.3.2 Depuis une version 3.1
Voir le chapitre Migration
A3.5.4 Liste complète des demandes par module
A3.5.4.1 Admin Users Manager, version 3.2.9
Lien vers le tracker de développement pour Admin Users Manager version 3.2.9
-
[5441] : Ouvrir la liste des groupes avec les groupes pliés par défaut
A3.5.4.2 Core, version 3.2.19
Lien vers le tracker de développement pour Core version 3.2.19
-
[5500] : Recherche détaillé et enum vide
-
[5483] : ODT: Les contenu des cellules ne supporte pas le format.
-
[5482] : PHP Notice: Undefined index: text/x-shellscript in /var/www/test/WHAT/Lib.FileMime.php on line 225
-
[5474] : [FormatCollection] Notice => quelques notices sur FormatCollection
-
[5447] : Problème critères rapport/recherche détaillée et aide à la saisie avec plusieurs arguments en entrée
-
[5444] : Exportation des nombres dans les rapports en CSV
-
[5443] : notices : deux notices dans generic_usort
-
[5432] : po2js : les double-quote sont backslashées
-
[5427] : CORE_LOGLEVEL mal interprété
-
[5422] : Boucle infinie lors de l'import avec message PHP Warning: readdir() expects parameter 1 to be resource, boolean given in /var/www/dynacase/FDL/import_tar.php on line 361
-
[5420] : indiquer un rapport à la fin de l'api refreshDocuments
-
[5413] : Extraction du code client de TE dans un module distinct
-
[5409] : 18n : Gestion des contextes dans les messages js
-
[5408] : Lors d'un import, lister les docid en erreur
-
[5406] : Blocage acccès dynacase lors d'un blocage serveur TE/OOo ?
-
[5404] : Corruption de rôles (et us_t_roles) par UserAccount::refreshDocUser()
-
[5398] : Problème layout attributs dans ask
-
[5390] : DocHtmlFormat::formatPassword() révèle la longueur du mot de passe
-
[5386] : FormatCollection: paramètre image et file
-
[5385] : Workflow: les valeurs des ask ne sont pas inscrites dans l'historique lorsque la ask est un tableau
-
[5383] : [Document/Aide à la saisie] Attribut inutilisable
-
[5382] : au retour d'une contrainte, les attributs disabled deviennent enabled
-
[5381] : [Profil] Erreur lors de la mise à jour des profils avec l'interface des rôles
-
[5377] : [Profil] Erreur lors de la mise à jour des profils
-
[5376] : Erreur changement recherche par défaut d'une famille (app=FREEDOM&action=MODDFLD)
-
[5372] : [importDocuments] stopper l'import lors d'erreurs de la ligne ORDER
-
[5361] : Problème structure array avec addArrayRow() et attributs de type htmltext
-
[5354] : [Interface/Attribut invisible] Les invisibles se montrent
-
[5351] : File does not exist: /…/var/cache/image/20-mime-pdf.png.png
-
[5350] : Problème Zone/Fdl/editapplicationparameter.php
-
[5348] : [sécurité] XSS dans FDL_CARD par argument "zone" invalide
-
[5347] : [sécurité] Création de fichiers hors du répertoire temporaire + SQL injection par app=FDL&action=INSERTFILE
-
[5344] : [Interface/I/Attribut Calculé] Les attributs invisibles affichent des messages d'erreur si ils sont calculés
-
[5339] : [sécurité] XSS par affectation de "->lay->template"
-
[5334] : [contraintes d'import] la contrainte d'import ATTR1401 n'indique pas quelle aide à la saisie est en erreur
-
[5333] : en création, les vues d'attribut ne tiennent pas compte des valeurs passées par l'url
-
[5331] : Les images des champs de type htmltext n'apparaissent pas dans dans la vue ODT
-
[5327] : erreur lorsque la première frame affichée a une vue d'attribut
-
[5325] : [mailtemplate] spécifier n'importe quel document comme destinataire
-
[5322] : [styles] Mise en place d'un mécanisme de règles additionnelles quelque soit le thème
-
[5295] : [sécurité] XSS HTML5
-
[5287] : Retour sur le client de fin anormale
-
[5280] : [Rapport/Echec de visualisation] Un rapport qui porte sur une famille qui n'existe plus provoque une erreur
-
[4931] : Gestion du caractère obligatoire dans les tableaux
-
[4915] : [Workflow] les messages de m0 lorsqu'on clique sur une transition en erreur doivent passer par window.dcp.displayWarningMessage
A3.5.4.3 Document Grid UI, version 1.0.12
Lien vers le tracker de développement pour Document Grid UI version 1.0.12
A3.5.4.4 TEngine, version 1.4.0
Lien vers le tracker de développement pour TEngine version 1.4.0
-
[5480] : Modifications fonctionnement
-
[5475] : abortTransformation() et kill de process arbitraire
-
[5437] : Pas d'erreur en cas d'absence de base de données
-
[5436] : Retour d'erreur lancement de openoffice/libreoffice en headless
-
[5341] : Supprimer (si possible) la dépendance sur Xvfb
-
[5340] : TIKA : fonctionnement mode serveur
-
[5202] : [tar.gz] Le TE publie des fichiers inutiles à son fonctionnement.
-
[5201] : [te.conf] Le fichier te.conf requiert des dépendances qui ne sont plus utiles
-
[4702] : Terminaison des travaux
-
[4688] : Mise en place de constante pour les états TE
-
[4676] : Conversion UTF-8 TXT -> PDF
-
[4670] : Mettre un contrôle de la présence de php-
-
[4656] : Requête de récupération de la liste des selftests
-
[4579] : Requête de récupération de la liste des tâches
-
[4577] : Requête de récupération de l'historique d'une tâche
-
[4576] : Requête de purge de la liste des taĉhes
-
[4575] : Requête de vidange de la liste des taĉhes
-
[4573] : Requete Liste des moteurs
-
[4570] : Requete Handshake
-
[4500] : Correction des PHP Notice:
-
[1618] : erreur non tracée au démarrage
-
[650] : Détection charset par moteur de transformation txt2txt
A3.5.4.5 TEngine Client, version 1.0.0
Lien vers le tracker de développement pour TEngine Client version 1.0.0
-
[5481] : Modifications API client TE
-
[5465] : Test de connexion
-
[5464] : Ajouter description
-
[4735] : Suppression des UIs
-
[4711] : Traduction anglaise
-
[4710] : Détecter la version de TE server
-
[4703] : Gestion des terminaisons des travaux
-
[4650] : Reverse engineering du protocole TE
-
[4578] : Consultation et gestion des travaux
-
[4574] : Commandes d'administration de TE
-
[4572] : Test moteur unitaire
-
[4571] : Tests connectivité et moteurs standards TE
-
[4568] : Mise en place de l'application d'administration et exploitation TE
A3.5.4.6 TEngine Configuration, version 1.0.0
Lien vers le tracker de développement pour TEngine Configuration version 1.0.0
-
[5484] : Modifications fonctionnement
-
[5463] : Ajouter description
-
[4733] : Initialisation de l'application
A3.5.4.7 TEngine Monitor, version 1.0.0
Lien vers le tracker de développement pour TEngine Monitor version 1.0.0
-
[5479] : Modifications interfaces
-
[5470] : Surveillance : fichier/document/propriétaire
-
[5466] : Surveillance : message aucun job
-
[5462] : Ajouter description
-
[4730] : Création à partir du TEngine Client
A3.5.5 Installers
La liste des installers utilisés par la plateforme est la suivante :
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 :
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
A3.7 Release 11
A3.7.1 Note de release
A3.7.1.1 Support des navigateurs
Cette release apporte le support du navigateur Internet Explorer en version 10 et 11 (Manuel d'installation et d'exploitation > Pré-requis > Poste client).
Nous avons intégré la version 4 de CKEditor supportant les navigateurs modernes.
La version 3 est conservée pour assurer une compatibilité avec les anciennes versions de navigateurs (en particulier avec les versions Internet Explorer inférieures à la 9).
A3.7.1.2 Socle technique
Côté serveur, le fonctionnement de Dynacase sur PHP et PostgreSQL évolue : les versions PHP 5.5 et PostgreSQL 9.2 et 9.3 sont supportées à compter de cette release:
Les dépendances de Core sur les modules PEAR ont été supprimées Manuel d'installation > Pré-requis > PHP > Composants PEAR.
A3.7.1.3 Fin de support de PHP 5.3 et PostgreSQL 8.4
Dynacase peut fonctionner avec les versions 5.3 de PHP et 8.4 de PostreSQL, conservées pour compatibilité.
À compter de la release de Dynacase 3.2 publiée en début d'année 2015, ces versions ne seront plus compatibles.
Cette décision est nécessaire pour nous permettre, ainsi qu'aux développeurs Dynacase, de suivre l'évolution de PHP et de bénéficier des apports des nouvelles versions (introduits principalement en version 5.4). Leur utilisation améliore la qualité du code et, en particulier, sa maintenabilité. Le fonctionnement intrinsèque de PHP progresse aussi (performance, robustesse, gestion de la mémoire) et profite à toutes les applications Dynacase.
Enfin, la dernière release de maintenance de la version 5.3 a été publiée en août 2014 et aucune mise à jour n'est prévue (communiqué du PHP devlopement team).
La version 8.4 de PostgreSQL n'est plus supportée depuis juillet 2014 : PostgreSQL versioning policy.
A3.7.1.4 Issues traitées
Cette version corrige des anomalies détectées sur les modules Core, Document Grid.
Pour plus de détails, merci de vous reporter au paragraphe Liste complète des demandes par module.
Outre les travaux de correction d'anomalie et ceux nécessaires pour le support des navigateurs IE 10 & 11, nous soulignons l'issue [Import] Ne pas effectuer le re-calcul des droits lorsque le profil n'a pas été modifié. L'introduction du mot-clef SET
lors de l'importation de profil permet de demander le recalcul seul du profil dont la définition est modifié. Actuellement, le mot-clef RESET
était utilisé à cette fin. Il entrainait une réinitialisation complète et un recalcul de tous les profils. Ce traitement pouvait durer jusqu'à plusieurs heures sur des bases volumineuses. Le ciblage du profil modifié, par le mot-clef SET
, permet un gain de temps important, chose appréciable lors des phases de développement ou de migration.
A3.7.2 Documentation
L'édition 6 du manuel de référence Core a été publiée. Nous vous invitons à parcourir le chapitre Historiques des modifications pour prendre connaissance des changements apportés.
Le Manuel d'installation et d'exploitation est mis à jour (édition 7) suite au changement pour le support des versions IE côté client et PHP/PostgreSQL pour le socle technique. Un paragraphe précise la procédure de restauration de contexte.
La documentation de paramétrage de l'aide en ligne a été ajoutée.
Le Quick Start, tutoriel de développement avec Dynacase est nouveau. Pour plus de détail, rendez vous sur la page Dynacase dédiée.
L'ensemble des documentations sont disponibles sous 3 formats :
- site web : pour une consultation en ligne (intégrant la recherche);
- mono page, plus destiné à l'impression
- archive au format
zip
du format site web, consultable hors ligne.
A3.7.3 Mise à jour
A3.7.3.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.7.3.2 Depuis une version 3.1
Voir le chapitre Migration
A3.7.4 Liste complète des demandes par module
A3.7.4.1 CKEditor 3 installer, version 3.6.3-3
-
[4966] : Modification install pour avoir 2 versions
A3.7.4.2 CKEditor 4 installer, version 4.4.4
-
[4967] : Modification install pour avoir 2 versions (version 4)
-
[4879] : Mise à jour ckeditor 4.4.3
A3.7.4.3 CKEditor Plugins, version 1.0.3
-
[4972] : Adaptation pour ckEditor 4.4
A3.7.4.4 Core, version 3.2.17
-
[5076] : API/ Déclaration des méthodes de gestion de timer
-
[5071] : En consultation, mauvais alignement titre et icone pour les fichiers
-
[5066] : [SearchDoc] Tri avancé et attribut multiple
-
[5065] : [SearchDoc] Tri avancé setOrder et énuméré
-
[5064] : Menu : les confirmations ne sont plus prise en compte
-
[5063] : [Page Welcome] Liens vers dynacase.org
-
[5056] : Affichage des énumérés ayant un label vide
-
[5055] : Erreur de addArrayRow avec des fichiers
-
[5045] : enum: LinkEnum n'échappe pas les clefs contenant des virgules
-
[5042] : [Document/IHM] Sécurisation de la fermeture par erreur : document dirty
-
[5017] : [Po/Application] Il n'est pas possible d'utiliser la notion de contexte dans le cadre de la définition d'une application
-
[5015] : [Doc:setLogicalName] Un setLogicalName sur un document ayant déjà un nom logique ne marche pas
-
[5014] : [Doc:setLogicalName] Un setLogicalName sur un document créé et pas commité ne fonctionne pas
-
[5008] : Améliorer l'affichage du sélecteur de date dans une fenêtre "ask" de transition
-
[5001] : Echec test unitaire testSetValueWithHistory si le nom (ou le prénom) de l'utilisateur a une apostrophe
-
[4999] : [Import/Export] Paramétrage du CSV
-
[4997] : Les images d'un MailTemplate ne sont pas présente dans le mail reçu
-
[4994] : Correction de Notices
-
[4993] : Problème de valeur pour les énumérés comportant des points dans leur valeur
-
[4992] : Message d'erreur vide en cas d'erreur sur la zone EDITFRAME
-
[4991] : Duplication code js dans la barre de menu de document
-
[4983] : Modifier les familles systèmes qui ont des PARAM avec l'ancienne aide à la saisie
-
[4980] : Supprimer wcheck et les références à wcheck
-
[4970] : Corruption antislash final des attributs de type texte en édition
-
[4968] : Incohérence dans la validation de la syntaxe des noms logique
-
[4961] : Suppression dépendance Pear Crypt_chap
-
[4949] : Empêcher l'import de familles dont un PARAM a un phpfunc avec une indirection
-
[4948] : [portfolio] Les onglets du paramètre pfl_idlinktab ne sont pas liés lors de la création d'un document
-
[4947] : [portfolio] Valeurs des paramètres et erreur "la référence logique '%PFL_IDLINKTAB%' est inconnue"
-
[4945] : getOption() traite la valeur "0" d'une option comme s'il n'y avait pas de valeur
-
[4939] : [Import] Ne pas effectuer le re-calcul des droits lorsque le profil n'a pas été modifié
-
[4938] : [Gestion des erreurs] Attrape exception
-
[4937] : Problème consultation de documents dans "Explorateur de documents" avec IE 11
-
[4935] : SearchDoc onlyCount ne retourne pas d'erreur si la famille n'existe pas
-
[4933] : [TRANSITIONS] Image loading.gif non trouvée lors de la première connexion d'un utilisateur
-
[4930] : AttrToPhp et retour d'erreur si le nom de la famille "fromid" n'est pas trouvé dans "docread"
-
[4929] : la table dochisto ne trace pas certaines suppressions
-
[4928] : [Internationalisation] Respect de la norme RFC 3066
-
[4924] : [Import] Message d'erreur à préciser
-
[4921] : [supervisor] strict error lors de la récupération des services
-
[4914] : les menus cassent lorsque la chaîne à afficher contient \r
-
[4912] : lors de l'envoi d'un mail, une erreur stricte est levée
-
[4910] : Problème sélection valeur paramètre applicatif de type enum avec IE 11
-
[4908] : Problème copier/coller avec champs htmltext sur IE 11
-
[4907] : Problème champs htmltext vide maldetecté à la sauvegarde avec IE 11
-
[4904] : Aide à la saisie non fonctionnelle sur IE 11
-
[4899] : lorsqu'il y a un htmltext qui déborde de la fenêtre de ask, les boutons ne sont pas atteignables
-
[4890] : [Document : Rapport/Recherche] Meilleure gestion des erreurs
-
[4889] : [Document DSEARCH/Recherche détaillée//REPORT] L'interface de recherche permet de faire des requêtes invalides : parenthésage
-
[4888] : [Document DSEARCH/Recherche détaillée] L'interface de recherche permet de faire des requêtes invalides propriété date de création
-
[4887] : [Document DSEARCH/Recherche détaillée] L'interface de recherche permet de faire des requêtes invalides opérateur contient
-
[4883] : PHP Notice: Undefined index: DOCUMENT in /.../WHAT/Lib.WCheck.php
-
[4851] : [Document/IHM] Affichage du nombre de lignes dans un tableau
-
[4807] : Action --app=FREEDOM --action=MODDFLD --docid=
-
[4765] : Problème isolation test unitaires
-
[4759] : mauvaise redéfinition de addAttachment dans sendmail
-
[4747] : [Token] L'infini dure 20 ans
-
[4527] : Header du document : IHM
A3.7.4.5 Document Grid UI, version 1.0.10
-
[5073] : [Filtre/Enuméré] Si les clefs contiennent toutes un morceau des autres clefs alors elles sont toutes trouvées.
-
[5067] : [Critères] Si l'énuméré à pour clef 0 il n'est pas pris en compte
-
[5061] : [Critères] Échappement des critères produisant du SQL utilisant les regexp
-
[5058] : [Filtre] Erreur dans la correction des échappements pour les énumérés
-
[5005] : [Tri] Le tri par docid n'est pas alphabétique
-
[5004] : [Tri] Ordre lors d'un tri l'ordre des documents n'est pas respecté
-
[4973] : Problème d'encodage des filtres texte
A3.8 Release 10
A3.8.1 Note de release
Cette version corrige des anomalies détectées sur les modules Core et DocumentGrid.
Pour plus de détails, merci de vous reporter au paragraphe Liste complète des demandes par module.
Quelques précisions importantes :
- Issue #4840
- Lors de l'utilisation de la méthode
exitForbidden
de la classe Class.Action.php
le code retour 401
était retourné au client. Pour être conforme au protocole HTTP, le code HTTP 403 Forbidden
est désormais retourné.
- Issue #4860
- Une régression sur la version 3.2.6 du module Core rendait les sessions bloquantes lors de traitement parallèle de requètes HTTP sous un même utilisateur Dynacase. Ce dysfonctionnement était pénalisant pour les requêtes activé via XHR Asynchrone (elles étaient de fait traitées de manière synchrone). Cette issue corrige ce point.
- Issue #4875
- Dans le cadre d'un itérateur de document (voir l'exemple de code sur la demande), les propriétés privées n'étaient pas nettoyées. Ce point est fixé.
Important Nous rappelons toutefois que lors des itérations l'utilisation d'un disableEditControl
sur un objet document avant d'en modifier le contenu doit être suivi d'un enableEditControl
. Le cas échéant, les droits ne sont plus contrôlés sur les documents accédés lors des itérations suivantes.
La modification de ce fonctionnement (application de l'invalidation des droits limité au seul document) ne peut pas être traitée sur cette version : son impact sur les développements réalisées étant trop important lors de manipulation de documents et de révisions.
-
Issue #4838, Issue #4844, Issue #4847, Issue #4925, Issue #4927
- Des travaux d'amélioration de la sécurité ont été réalisés. Ils traitent des problèmes potentiels XSS. Toutefois, ces mécanismes auraient pu être utilisés de manière volontaire dans le cadre de développements. Les contrôles mis en oeuvre peuvent donc perturber le fonctionnement d'applications basées sur ces développements.
A3.8.2 Documentation
Un paragraphe a été rajouté dans ce document (Versions des navigateurs supportés) pour préciser les versions de navigateur officiellement supportés par la plateforme. Il reprend les informations disponibles dans le manuel d'installation et d'exploitation.
A3.8.2.1 Mise à jour
A3.8.2.1.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.8.2.1.2 Depuis une version 3.1
Voir le chapitre Migration
A3.8.3 Liste complète des demandes par module
A3.8.3.1 Core, version 3.2.16
-
[4927] : [SetHttpVar] Impossible de passer le deuxième paramètre à SetHttpVar
-
[4926] : [CONSTRAINT] Problème d'affichage de l'erreur d'une contrainte portant sur un attribut R
-
[4925] : Problème sur SetHttpVar('redirect_act')
-
[4909] : Bouton "Ajouter un post-it" ne fonctionne plus
-
[4902] : Erreur sauvegarde document avec image sur IE 10
-
[4901] : Erreur import d'archive de documents avec attribut dans array
-
[4896] : La colonne "views" n'est pas déclarée explicitement dans docread
-
[4885] : Document : affichage du date picker
-
[4875] : Affect ne nettoie pas les propriétés privées
-
[4856] : Problème corruption attribut htmltext en visibilité S
-
[4850] : [Famille/Modif des paramètres] Le bouton annuler redirige vers une page invalide
-
[4849] : Remontée d'erreur sur generic_search
-
[4848] : Création d'un cookie PHPSESSID par
pack.php
-
[4847] : Lecture cookie XSS
-
[4845] : Changement d'état avec modification d'un document en attente de sauvegarde
-
[4844] : [sécurité] XSS dans viewcard.php
-
[4840] : Double appel header() dans Classs.Action.php:exitForbidden() et mauvais code HTTP
-
[4839] : Warning lors de l'utilisation d'un array sans valeur par défaut dans un ask
-
[4838] : [sécurité] Faille XSS dans app GENERIC action GENERIC_SEARCH
-
[4830] : [TYPO] Message à reprendre "DFLT0008 net return a valid array"
-
[4828] : [setAttributeValue] erreur lors de l'affectation d'un tableau contenant des dateTime
-
[4825] : Les sessions sont bloquantes
-
[4824] : Interfaces dégradées sous IE9
-
[4744] : [Import] lors de l'import des paramètres, l'attribut encadrant n'est pas checké
-
[4388] : getDate n'ajoute pas des minutes si c'est le seul ajout qui est fait
A3.8.3.2 DocumentGrid, version 1.0.9
-
[4919] : [Filtres] Oubli d'un échappement de caractère sur les filtres
A3.9 Release 9
A3.9.1 Note de release
Cette version corrige des anomalies détectées sur les modules Core, Dashboard UI, Network Users et Search Criteria.
Pour plus de détails, merci de vous reporter au paragraphe Liste complète des demandes par module.
Un changement significatif a été introduit sur l'interface en modification du document, pour les attributs de type file
.
Suite à des dysfonctionnements détectés et à des retours utilisateurs, nous avons décidé d'améliorer l'interface de l'aide à la saisie des types files.
Pour des raisons de compatibilité, l'ancienne interface est conservée lors de mise à jour de Dynacase.
En cas d'installation, la nouvelle interface est proposée par défaut.
Il est possible d'agir sur ce comportement via le paramêtre applicatif FDL_OLDFILEINPUTCOMPAT
: lorsqu'il est positionné à yes
, l'ancienne interface est proposée.
Voici quelle est cette nouvelle interface pour les type file
:
La présentation de l'interface tient maintenant sur une seule ligne.
Elle se compose du nom du fichier et des trois boutons permettant :
- l'ouverture du sélecteur de fichier
- de revenir à la valeur initiale après une modification
- d'effacer le contenu (l'attribut n'est plus valué).
Le comportement des boutons dépend des actions de l'utilisateur et du contenu initial de l'aide à la saisie :
-
(1) un fichier est déjà présent
- le fichier et un lien de téléchargement et il est possible d'en sélectionner un nouveau ou de le supprimer.
-
(2) le fichier précédent a été remplacé
- le fichier n'est plus un lien et tous les boutons sont actifs.
-
(3) le fichier précédent a été effacé
- le précédent fichier est
barré
et il est possible d'en sélectionner un nouveau ou rétablir l'ancien.
-
(4) aucun fichier n'est fourni
- il est possible d'en sélectionner un.
Le fonctionnement de la restauration de la valeur précédente s'applique seulement à l'édition en cours.
Elle permet de revenir à la valeur de l'attribut avant la modification du document.
À noter que cette interface n'est disponible pour Internet Explorer à partir de la version 9.
Le type image
(hérité de file
) est lui aussi concerné.
A3.9.2 Documentation
Le Manuel d'installation et d'exploitation de Dynacase a été mis à jour pour préciser les versions des modules PEAR utilisables.
A3.9.2.1 Mise à jour
A3.9.2.1.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.9.2.1.2 Depuis une version 3.1
Voir le chapitre Migration
A3.9.3 Liste complète des demandes par module
A3.9.3.1 Core, version 3.2.15
-
[4813] : erreur lors de la définition de la valeur par défaut d'un array dans un ask
-
[4808] : Jointures: la famille n'est remplacée que lors de sa première occurence
-
[4806] : [Enumérés] option eunset et visibilité S
-
[4803] : Attribut fichier interface lors de la suppression et de l'ajout d'un fichier
-
[4787] : [SearchDoc] La méthode useCollection ne fonctionne pas correctement avec le type de collection recherche groupée
-
[4780] : Htmltext dans les tableaux : première rangée non interprété
-
[4778] : OooLayout : Prise en compte des Htmltext dans les cellules de tableau
-
[4776] : Vues d'édition en :U ne rien insérer avant la zone FDL:EDITCARD
-
[4774] : Titre de la fenêtre EDITCHANGESTATE est tronqué si le titre de la transition contient une apostrophe
-
[4771] : Droit dynamique sur les controles de vues
-
[4760] : \Dcp\AttributeValue::setTypedArrayValue corromp Doc::_oldvalue
-
[4758] : Problème eunset=yes sur des attributs enum dans des arrays avec IE 8/9
-
[4753] : Valeurs des paramètres 'ask' de type password des transitions dans dochisto
-
[4716] : [ADMIN] L'interface de gestion des énumérés ne fonctionne pas si l'énuméré n'a pas déjà au moins une clef
-
[4715] : Colonne lien, calculé par une méthode. Attribut des tableaux non géré.
-
[4713] : [autoloader] l'autoloader ne gère pas correctement les traits
A3.9.3.2 Dashboard UI, version 1.0.7
-
[4608] : [DASHBOARD] Erreur de sprintf dans la classe DashboardManager
A3.9.3.3 Network User, version 1.3.6
-
[4790] : Traduction : de nombreux éléments ne sont pas traduits
-
[4789] : Les networkuser n'ont pas accès au menu change substitute
A3.9.3.4 Search Criteria, version 1.0.9
-
[4788] : [Account] : il manque la CSS pour le critère de type account
-
[4731] : Erreur traduction msgid "dcpui:no one contain"
A3.10 Release 8
A3.10.1 Note de release
Cette version corrige des anomalies détectées sur les modules Core et Dashboard UI.
Pour plus de détail, merci de vous reporter au paragraphe Liste complète des demandes par module.
A3.10.2 Documentation
De nouvelles éditions des documents sont disponibles :
A3.10.2.1 Mise à jour
A3.10.2.1.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.10.2.1.2 Depuis une version 3.1
Voir le chapitre Migration
A3.10.3 Liste complète des demandes par module
A3.10.3.1 Core version 3.2 release 14
-
[4679] : [WDoc] Document Cycle de vie en édition : Les listes déroulantes des familles ne prend pas en compte les traductions des titres des familles
-
[4677] : [Documentation] Suppression de la documentation obsolète
-
[4675] : Enuméré et clef accentuée
-
[4672] : Enuméré et apostrophe
-
[4667] : Doc::specRefresh ne peut plus retourner de html
-
[4660] : Problème valeur par défaut d'attribut avec valeur "0"
-
[4658] : [IGROUP:Menu] 'Gérer les membres' apparaît systématiquement dans le menu d'un document de IGROUP même sans droit modify
-
[4639] : Envoi d'un document par sendCard() et URL en double dans mail généré
-
[4605] : L'Autoloader ne gére pas les Traits.
-
[4582] : [Exportation] Parfois la fenêtre d'exportation se cache
-
[4567] : Impossible d'affecter la valeur de plusieurs colonnes d'un tableau en création
-
[4566] : getDocValue ne supporte pas correctement un paramètre de famille initialisé avec un nom logique.
-
[4552] : Bouton "Importation spécifiques au format CSV" non fonctionnel dans interface "Informations sur les formats d'importation"
-
[4548] : [WDOC] Erreur lorsqu'une transition/état contient ::
-
[4539] : [IGROUP] GroupAccount::clear ne fonctionne pas comme attendu
-
[4536] : Problème import fichier ODS avec formules suite à sauvegarde avec LibreOffice 4.2
-
[4532] : Impossible d'utiliser des Fully Qualified Class Name pour l'appel d'une méthode statique d'une classe pour une valeur par défaut
-
[4530] : Code couleur des recherches enregistrées
-
[4529] : Problème affichage sélecteur de date dans fenêtre ask de changement d'état
-
[4528] : Zone : "ZONE FDL:VIEWSCARD?zone=FDL:EDITBODYCARD"
-
[4518] : [regression] Erreurs de génération de classe lorsque le fichier méthode est vide
-
[4509] : La méthode
Doc::updateDomains()
n'est pas compatible avec la correction #4447 de Offline Server
-
[4502] : export des familles cassé
-
[4474] : PHP Strict standards: Declaration of Fdl_Mail_mime::addAttachment() should be compatible with Mail_mime::addAttachment($file, $c_type = 'applicatio...', $name = '', $isfile = true, $encoding = 'base64', $disposition = 'attachment', $charset = '', $langua
-
[4473] : PHP Notice: Uninitialized string offset: 0 in /var/www/c0/GENERIC/generic_usort.php on line 82
-
[4472] : PHP Notice: Undefined property: Dcp\Family\Zoo_animal::$localid in …/FDL/Class.DocWaitManager.php on line 40
-
[4465] : Mauvaise déclaration du type du retour dans DocWait::getWaitingDocument()
-
[4442] : Erreur "pas de fichier trouvé pour le document mon_fichier.doc" lors du clic sur le menu PDF d'un document Fichier
-
[4440] : Document partiellement enregistré
A3.10.3.2 Dashboard UI version 1.0 release 6
-
[4514] : au retour de RELOAD_WIDGET, dashboardUUID n'est pas passé à l'action de consultation
A3.11 Release 7
A3.11.1 Note de release
Cette version corrige des anomalies détectées sur les modules Core et Onefam.
Pour plus de détail, merci de vous reporter au paragraphe Liste complète des demandes par module.
La documentation d'intégration du module Onefam a fait l'objet d'une mise à jour.
A3.11.1.1 Mise à jour
A3.11.1.1.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.11.1.1.2 Depuis une version 3.1
Voir le chapitre Migration
A3.11.2 Liste complète des demandes par module
Core, version 3.2.13
-
[4432] : [GENERIC] Message utilisateur d'erreur lorsque la collection par défaut n'existe plus
-
[4425] : Problème de test de profil du contrôle de vue
-
[4430] : [Generic] Traduction des recherches
-
[4431] : Problème envoi par mail au format PDF d'un document Dynacase
Onefam, version 3.2.11
-
[4433] : Permettre de paramétrer les familles de rapport et de recherche
A3.12 Release 6
Date de publication : 16 janvier 2014
A3.12.1 Note de release
A3.12.1.1 Présentation
Documentation
Un travail important a été fourni sur la documentation.
Le manuel de référence de Dynacase Core est maintenant complet.
Le manuel intègre maintenant un chapitre Historique présentant les changements introduits dans cette édition.
D'autre part, nous avons publié sous le nouveau format de documentation,
les manuels d'intégration des modules Dynacase Book, MailConnector et FileConnector.
La mise en forme des documents a été modernisée.
Chacun des documents intègre maintenant une recherche.
Changelog
À l'occasion de cette release, nous présentons la première version d'un changelog Dynacase.
Cette application détaille chacune des releases Dynacase, les modules qui la compose
et les issues traitées dans les différentes versions de modules.
Pour l'instant cette version beta ne répertorie que les modules supportés, à terme
elle recensera l'ensemble des modules disponibles (non supportés et les *-installer).
Control
Une amélioration de Control (version 1.4.4) permet désormais depuis son interface d'accéder au changelog des modules
qu'ils soient installés, proposés pour l'installation ou disponibles pour une mise à jour.
Modules
La modification de Control (accès au changelog) a nécessité une reprise de la description du paquet
pour la majorité des modules (suppression des anciens changelog).
D'autre part, de nombreux modules ont été traités pour valider les entrées utilisateurs.
Les demandes sont intitulées Correction XSS,
car cette protection contre des entrées invalides involontaires
prémunit les applications de risques liés à des actions volontaires.
La liste des issues traitées sur cette release est fournit ci-dessous.
Changements notables
Administration des documents (Centre d'administration)
La fonction d'importation de document a été intégrée via une interface dédiée dans le Centre d'administration.
Tranformation Engine
Le manuel d'installation et d'exploitation de TEngine a été mis à jour pour préconiser l'utilisation des versions 4.0 de OpenOffice et 1.4 de Tika.
À cette occasion, les éléments de configuration vers des versions figées de ces outils ont été supprimés de la configuration par défaut et doivent faire l'objet d'un paramétrage.
Core
À noter comme correction ou amélioration :
- suppression de la limite sur les noms de classe de document (
classname
)
- l'export de fichier (attribut fichier) en visibilité
i
n'est plus possible
- amélioration de la gestion des visibilités de frame imbriqués
- possibilité de déployer sur le serveur des catalogues de langue source
- l'importation de document à partir de fichiers CSV a évoluée pour simplifer le traitement
-sans paramétrage- des formats courants et permettre de spécifier si nécessaire des paramétrages spéciaux
- correction de plusieurs dysfonctionnement de SearchDoc
A3.12.1.2 Mise à jour
A3.12.1.2.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.12.1.2.2 Depuis une version 3.1
Voir le chapitre Migration
A3.12.2 Liste complète des demandes par module
Admin Access Manager, version 3.2.7
-
[4312] : Correction XSS
-
[4372] : Suppression changelog dans info.xml
Admin Application Manager, version 3.2.10
-
[4314] : Correction XSS
-
[4373] : Suppression changelog dans info.xml
Admin center, version 1.0.2
-
[4339] : Affichage / Masquage de la barre latérale
-
[4371] : Suppression changelog dans info.xml
Admin Document Manager, version 3.2.9
-
[4315] : Correction XSS
-
[4338] : Importation des documents
-
[4374] : Suppression changelog dans info.xml
Admin UIs, version 1.0.6
-
[4342] : 1 module = 1 dépôt
-
[4376] : Suppression changelog dans info.xml
Admin Users Manager, version 3.2.8
-
[4313] : Correction XSS
-
[4375] : Suppression changelog dans info.xml
Admin Vault Manager, version 3.2.6
-
[4377] : Suppression changelog dans info.xml
Book, version 0.4.3
-
[4378] : Suppression changelog dans info.xml
CKEditor Plugins, version 1.0.2
-
[4310] : Correction XSS
-
[4330] : Uncaught ReferenceError: $ is not defined admin.php?app=FDL&action=ALLEDITJS:4513
Contacts, version 1.0.2
-
[4317] : Correction XSS
-
[4379] : Suppression changelog dans info.xml
Control, version 1.4.4
-
[4345] : Dépôt par défaut lors de l'installation de Dynacase Control
-
[4346] : Changelog des modules installés ou disponible
-
[4231] : Check dépendances de dynacase-control (e.g. PHP class "Collator" not found.)
Core, version 3.2.12
-
[4285] : [FDL:EXPORTFILE]
-
[4281] : Message d'erreur (ou d'information) "Ne peut être suppléant de soi" dans "Gestion du compte" > "Modifier le suppléant"
-
[4286] : Exportation de fichier avec attribut visibilité I
-
[4274] : visibilité de frame et vue de frame
-
[4389] : Enlever la limite de longueur sur le classname
-
[4292] : [SearchDoc] getNextDoc
-
[4273] : [traductions] permettre à whattext de générer les catalgues directement à partir des po
-
[4261] : Erreurs SQL de API cleanContext non remonté
-
[4268] : Modifier la valeur par défaut des énumérés
-
[4272] : Call to undefined function vault_store() in /var/www/c2/FDL/Class.Doc.php on line 4027
-
[4279] : getLatestTDoc et famille polymorphe
-
[4352] : [WFL] Ajouter de la persistance sur la représentation sous forme de cycle des workflow
-
[4355] : Blocage des sessions
-
[4357] : Attribut résumé de MAILTEMPLATE
-
[4351] : Ajout icone de fichier pour docx
-
[4284] : [FDL:IMPCARD] Supprimer l'option "opt"
-
[4137] : Importation document en CSV paramétrable
-
[4348] : [FDL/EDITCHANGESTATE] Le texte dans .askExplanation est échappé alors qu'il contient du HTML
-
[4358] : Pas d'identifiant avec getDocumentList en mode raw
-
[4328] : [SearchAccount::getLoginFromDocName] La phpDoc n'est pas correcte
-
[4368] : Attribut
us_group
reste vide lors de l'insertion d'un utilisateur dans un groupe
-
[4370] : Suppression changelog dans info.xml
-
[4366] : [SearchAccount] Le phpDoc de useViewControl est récursif
-
[4367] : [SearchAccount] setTypeFilter ne fonctionne pas comme attendu avec le couple userType, groupType
-
[4360] : retour simpleQuery non homogène avec singleresult et singlecolumn
-
[4359] : Incohérence d'argument lors de l'appel de Dir::preInsertMultipleDocuments() par Dir::insertMultipleDocuments()
-
[4331] : [sécurité] Exécution arbitraire de code PHP
-
[4350] : Problème graphe workflow sur transition commune
-
[4304] : [sécurité] resizeimg.php et divulgation du contenu de certains fichiers
-
[4290] : [sécurité] XSS avec GENERIC_EDIT
-
[4305] : [SearchDoc] Un count exécuté avant le search corrompt le count exécuté après le search
-
[4283] : [FDL_CARD] Code obsolète
-
[4299] : [SearchDoc] join et retour d'erreur
-
[4195] : [SearchDoc] setRecursiveSearch and onlyCount
-
[4300] : [SearchDoc] join et vérification de la chaîne.
-
[4303] : [SearchDoc] search retour incohérent
-
[4307] : Protection des accès au contenu du Vault
-
[4282] : [FDL_CARD] Paramètre inline
-
[4276] : [DSEARCH] Les recherches détaillées ne fonctionnent pas avec la famille "de base" en mode "Sans les sous famille"
-
[4309] : PHP Notice: Use of undefined constant ANONYMOUS_ID - assumed 'ANONYMOUS_ID' in /…/WHAT/Class.Application.php on line 1266
-
[4302] : [SearchDoc] onlyCount fonctionne différemment avant et après le lancement de la méthode search
-
[4298] : Le retour de postDuplicate/postDelete n'est pas pris en compte
-
[4221] : [CVDOC] Export du profil après suppression d'une vue
Dashboard UI, version 1.0.5
Data js, version 3.2.7
-
[4380] : Suppression changelog dans info.xml
DocumentGrid, version 1.0.8
-
[4320] : l'utilisation des filters enum soumet les formulaires
-
[4318] : bPaginate et iDisplayLength
-
[4321] : Entête : problème dans la DOM générée
-
[4322] : Permettre de faire un destroy avant la fin du load
-
[4319] : Filtres et colonnes cachées
-
[4323] : Améliorer la CSS pour que la grille supporte mieux les faibles résolutions
json2, version 1.0.1
-
[4381] : Suppression changelog dans info.xml
Mailconnector, version 0.6.3
-
[4382] : Suppression changelog dans info.xml
Network User, version 1.3.5
-
[4270] : Problème calcul adresse mail utilisateur NU
Onefam, version 3.2.10
-
[4383] : Suppression changelog dans info.xml
Tags, version 1.1.3
Tags UI, version 1.1.3
-
[4364] : 2 modules => 2 dépôts
TEngine, version 1.3.4
-
[3089] : shell-init : erreur de détermination du répertoire actuel : getcwd : ne peut accéder aux répertoires parents : Aucun fichier ou dossier de ce type
-
[4207] : PHP Warning: _() expects exactly 1 parameter, 2 given in /opt/te/lib/TE/Class.TEServer.php on line 415
-
[4334] : Mise à jour tika-app
-
[4341] : Configuration TE pour Libre/Open Office
Thesaurus, version 1.1.5
-
[4384] : Suppression changelog dans info.xml
-
[4316] : Correction XSS
Webdesk, version 2.0.2
-
[4385] : Suppression changelog dans info.xml
Workspace, version 1.1.3
-
[4386] : Suppression changelog dans info.xml
A3.13 Release 5
Date de publication : 21 octobre 2013
A3.13.1 Note de release
A3.13.1.1 Présentation
Cette release propose la mise à jour des modules Core, Document Grid et Search Criteria suite à des corrections d'anomalies.
A3.13.1.2 Mise à jour
A3.13.1.2.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.13.1.2.2 Depuis une version 3.1
Voir le chapitre Migration
A3.13.2 Modules
A3.13.2.1 Modules modifiés
Nous mettons en évidence les changements importants. Nous vous invitons à utiliser le tracker de développement pour connaitre le détail des travaux effectués.
A3.13.2.1.1 Dynacase Core
→ version : 3.2.11 (détail de la release)
Cette release permet de corriger des anomalies, en particulier :
- suppression de la limite de 20 vues dans les contrôles de vue
- correction d'une anomalie empêchant de créer un dossier depuis les interfaces homme-machine standard
A3.13.2.1.2 Dynacase Document Grid
→ version : 1.0.6 ( → tracker)
Correction de diverses anomalies mineures.
A3.13.2.1.3 Dynacase Search Criteria UI
→ version : 1.0.8 ( → tracker)
Correction de diverses anomalies mineures.
A noter la correction du fonctionnement de la recherche sur un intervalle de date [#4248].
A3.14 Release 4
Date de publication : 16 septembre 2013
A3.14.1 Note de release
A3.14.1.1 Présentation
Cette release, essentiellement destinée à la correction d'anomalies, apporte son lot de travaux de normalisation et d'amélioration des paradigmes de développement -nommage des méthodes des classes Core, dépréciation de mécanismes inutilisés en vue d'un prochain retrait entre autres- dans l'objectif de simplifier les développements et améliorer la prise en main de Dynacase.
Les mécanismes identifiés comme dépréciés restent compatibles en version 3.2 (y compris pour les futures release de maintenance).
Le développement d'interfaces homme-machine modernes nécessite l'utilisation de nouveaux frameworks. Cette release introduit de nouveaux modules de types installer pour intégrer Bootstrap, underscore, backbone et Tipsy.
A3.14.1.2 PHP & PostgreSQL
Le support de la version PHP 5.5 et de PostgreSQL sont en cours de validation.
A3.14.1.3 À lire
Ce paragraphe signale des points ajoutés ou complétés dans la suite de ce document (précision suite à des retour de développeurs, compléments d'information, etc.)
A3.14.1.4 Mise à jour
A3.14.1.4.1 Depuis une release 3.2 précédente
Pas d'instruction particulière.
A3.14.1.4.2 Depuis une version 3.1
Voir le chapitre Migration
A3.14.2 Documentation
A3.14.2.1 Manuel de référence
Le manuel de référence Dynacase Core a été mis à jour :
- description des classes Doc et DocFam dans la documentation de l'API.
- pour la classe ApiUsage, description des callbacks de vérification
- mise à jour du chapitre relatifs aux scripts CLI WSH
- ajout d'un chapitre avancé sur les mécanismes de recherche
- ajout d'un chapitre sur l'autoloader
Ces changements sont mis en évidence dans manuel via les marques new et updated.
A3.14.3 Modules
A3.14.3.1 Modules créés
Des outils de développement d'interface client WEB modernes sont maintenant disponibles. Ces nouveaux modules, installer, permettent l'installation de ces logiciels tiers sur les contextes Dynacase.
A3.14.3.1.1 Dynacase Backbone Installer
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
→ http://backbonejs.org/
→ version : 1.0.0
A3.14.3.1.2 Dynacase Bootstrap Installer
Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
→ http://getbootstrap.com/
→ version : 2.3.2
A3.14.3.1.3 Dynacase Tipsy Installer
Tipsy is a jQuery plugin for creating a Facebook-like tooltips effect based on an anchor tag's title attribute.
→ http://onehackoranother.com/projects/jquery/tipsy/
→ version : 1.0.0
A3.14.3.1.4 Dynacase Underscore Installer
Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux, and Backbone.js's suspenders.
→ http://underscorejs.org
→ version : 1.5.1
A3.14.3.2 Modules modifiés
Nous mettons en évidence les changements importants. Nous vous invitons à utiliser le tracker de développement pour connaitre le détail des travaux effectués.
A3.14.3.2.1 Dynacase DocAdmin UI
→ version : 3.2.8 (détail de la release)
Ajout d'une interface permettant d'accéder aux documents système par type (familles, cycles de vie, profils, etc.).
A3.14.3.2.2 Dynacase Ckeditor Installer
→ version : 3.6.3
Les sources ne sont pas modifiés. La release est liée à une reprise du packaging.
A3.14.3.2.3 Dynacase Core
→ version : 3.2.10 (détail de la release)
Les travaux de normalisation et d'amélioration des paradigmes de développement continuent :
- dépréciation de l'instruction
METHOD
, remplacée par CLASS
.
- renommage de méthode et de fonction
Ces modifications marquent comme dépréciées les anciens mécanismes qui restent toutefois opérationnels en version 3.2.
Une nouvelle interface homme-machine de gestion des valeurs d'énuméré est proposée.
Correction de diverses anomalies.
A3.14.3.2.4 Dynacase DataJS
→ version : 3.2.6 (détail de la release)
Mise en conformité Core.
A3.14.3.2.5 Dynacase DocumentGrid
→ version : 1.0.6 (détail de la release)
Prise en compte de l'attribut de type Thesaurus.
A3.14.3.2.6 Dynacase ExtJs
→ version : 3.1.1
Les sources ne sont pas modifiés. La release est liée à une reprise du packaging.
A3.14.3.2.7 Dynacase ExtUi
→ version : 1.1.2 (détail de la release)
Adaptation pour l'autoloader Dynacase.
A3.14.3.2.8 Dynacase FileConnector
→ version : 1.1.4 (détail de la release)
Mise en conformité Core.
A3.14.3.2.9 Dynacase JQuery DataTables Installer
→ version : 1.9.1
Les sources ne sont pas modifiés. La release est liée à une reprise du packaging.
A3.14.3.2.10 Dynacase JQuery Installer
→ version : 1.8.21
Les sources ne sont pas modifiés. La release est liée à une reprise du packaging.
A3.14.3.2.11 Dynacase MailConnector
→ version : 0.6.2 ( → tracker)
Mise en conformité Core.
A3.14.3.2.12 Dynacase NetworkUser
→ version : 1.3.4 ( → tracker)
Mise en conformité Core.
A3.14.3.2.13 Dynacase OneFam
→ version : 3.2.9 ( → tracker)
Correction d'un anomalie d'affichage.
A3.14.3.2.14 Dynacase Search Criteria UI
→ version : 1.0.7 ( → tracker)
Prise en compte des attributs de type Thesaurus.
A3.14.3.2.15 Dynacase Thesaurus
→ version : 1.1.4 ( → tracker)
Amélioration et correction de l'intégration des thésaurus.
A3.14.3.2.16 Dynacase Webdesk
→ version : 2.0.1 ( → tracker)
Mise en conformité Core.
A3.14.3.2.17 Dynacase Workspace
→ version : 1.12 ( → tracker)
Mise en conformité Core.
A3.15 Release 3
Date de publication : 21 juin 2013
A3.15.1 Modules
- Modules modifiés
A3.15.2 Principales modifications
Cette mise à jour permet de corriger deux anomalies :
- visibilité des paramètres applicatifs hérités (applications dérivées de Onefam),
- tri des documents dans l'application Onefam.
Pour plus de précisions, nous vous invitons à utiliser les liens vers le tracker de développement fournis au paragraphe précédent.
A3.16 Release 2
Date de publication : 14 juin 2013
A3.16.1 Modules
- Nouveau module
-
- Modules modifiés
A3.16.2 Principales modifications
Nous mentionnons ici les changements pouvant simplifier ou améliorer les développements.
Nous vous invitons à prendre de connaissance de la liste des issues traitées via les liens vers les trackers ci-dessus.
- Migration des dates en BD
- Cette mise à jour procède à la migration des dates stockées en BD si elles ne sont pas déjà stockées au format ISO
( → plus de précision ici).
Une procédure manuelle permet de réaliser cette migration sans
installer cette mise à jour.
L'application de cette procédure est fortement conseillée. Dans le cadre d'une utilisation d'application Dynacase en langue
anglaise elle est obligatoire pour éviter des erreurs d'interprétation de dates (logiciel et utilisateur).
- Importation des documents
- L'API d'importation de document
importDocument
accepte la nouvelle option --reset
pour préciser
le comportement de Dynacase de l'importation : suppression des attributs n'étant plus définis, des valeurs,
etc.
- Nettoyage des familles en BD
- L'API
cleanFamily
permet de supprimer les attributs de famille non définis en base de donnée. Elle supprime
aussi leurs valeur (documents).
- Cookies d'authentification
-
Le cookie d'authentification a été renommé.
Ceci concerne plus particulièrement les développements de backend d'authentification.
- option
importDocument
-
dépréciation de l'option reinitattr.
Licence
Ce document est publié sous licence CC http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
Vous êtes libres :
- de reproduire, distribuer et communiquer cette création au public
- de modifier cette création
Selon les conditions suivantes :
-
Paternité — Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'œuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'œuvre).
-
Pas d'Utilisation Commerciale — Vous n'avez pas le droit d'utiliser cette création à des fins commerciales.
-
Partage des Conditions Initiales à l'Identique — Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci.
Édition
Release note
© Anakeen, Anakeen Labs <labs@anakeen.com>
Module Dynacase Platform, version 3.2
Édition 2019.05.22
Publié le 10/10/2019
Ce livre a été produit avec easybook 4.8,
logiciel libre et open source développé par Javier Eguiluz
à l'aide de différents composants Symfony.
Anakeen
Créé en 1998, Anakeen est un éditeur expert dans l'amélioration de la gestion des processus et de l'information avec pour objectif principal : valoriser les fonctions support en les libérant des tâches à faible valeur ajoutée. Le résultat opérationnel a toujours été recherché par toutes les entreprises et particulièrement aujourd'hui où le moindre détail peut faire la différence afin d'être ou de rester compétitif sur son marché. Pour chaque fonction support, être en situation de valoriser sa contribution au résultat global de l’entreprise est plus que jamais devenu une nécessité.
Impliqué depuis 1998 dans le logiciel libre, Anakeen est un acteur majeur de la gestion de l'information. Nos contributions pour l'utilisation des standards ouverts, la garantie de l'accès au code source et la grande diversité de nos partenaires vous assure pérennité et réversibilité.
L'ensemble du code PHP de Dynacase Platform est disponible sous licence Open Source, le modèle de données est documenté et public. Mais plus que ça, le code source est commenté dans l'objectif de faciliter sa compréhension pour la réutilisation ou la modification. Aussi toute la documentation concernant le produit est mise en ligne sur www.dynacase.org.
En choisissant un logiciel Open Source, vous faites le choix de la sécurité, car vous avez l'assurance de vérifier le fonctionnement du logiciel et la qualité du code.
Nos offres et services, nous permettent d'assurer le financement du développement produit mais aussi de contribuer chaque jour à l'adoption du business model Open Source.