Changelog - Journal des modifications 2020
-
Version 0.2.21
Version 0.2.20
0.2.2052 Series : 21 – 27 décembre 2020
- ADD 171640 Widgets css : Permet le remplacement de libellés de propriétés
<label>
par une balise titre<h3>
,<h4>
ou<h5>
(pour les vues d’affichage sans<input>
) - IMP 170508 Validateur : Autorise le cumul d’annotations de propriété @validate
- FIX 171640 File outside project is forbidden à cause d’un nom de classe absolu (débutant par anti-slash)
0.2.2051 Series : 14 – 20 décembre 2020
- ADD 172114 Nouvel export toutes colonnes
- ADD 172244 Fonctions javascript modalWindow() pour ouvrir dynamiquement une fenêtre modale
- ADD 172244 Annotation de propriété @user_change : les valeurs retournées peuvent être sur réponse à question posée à l’utilisateur dans une fenêtre modale, en préfixant le nom de la propriété d’un point d’interrogation
?field[path]
- ADD 171650 Les flêches du clavier peuvent être utilisées pour déplacer le focus dans les cases à cocher de sélection des listes
- ADD 172414 Fonction générique @displays pour les templates HTML
- ADD 172414 Applique une interface utilisateur acceptable aux étapes de l’import générique
- ADD 172414 Annotation de classe @identify : déclare les propriétés dont la valeur identifient de façon absolue l’objet (complète @representative, qui est indicatif et accepte les doublons, mais sera la valeur par défaut pour @identify)
- ADD 171640 Authentification par token : l’appelant de l’authentification peut demander à récupérer le numéro de session avec
getSID
- ADD 172414 Les imports vont maintenant chercher les identifiants en priorité dans @identify, puis à défaut dans @representative
- ADD 172414 Pour tous les objets qui utilisent Has_Code, l’identifiany @identify par défaut est maintenant la propriété
$code
- ADD 171640 @default_feature n’était utilisé que pour les vues basées sur des objets : applique maintenant la même fonctionnalité aux vues basées sur le nom de classe
- ADD 171640 Http::post() facilite les appels post simples depuis PHP
- ADD 171640 Permet de joindre un numéro de session PHP, par exemple issu d’une authentification token, en variable POST pour créer une session
- ADD 171640 Les redirections via le moteur HTML peuvent maintenant être utilisées vers des URL absolues externes en protocole http/https
- ADD 171640 Permet les appels CORS, de façon généralisée pour l’instant
- IMP 171650 Annotation de propriété @filters : supporte maintenant des espaces ignorés avant
!=
,<=
et>=
- IMP 171656 Préfixe d’un
§
les paramètres de templates HTML§module
et§parent
pour éviter toute confusion avec des propriétés de l’objet contextuel - REF 171650 Widgets css plus flexibles et réutilisables :
.properties
et.property
- FIX 172128 Une régression sur les objets ordonnés Ordering depuis 0.2.205
- FIX 171640 Problème de “register filter” lorsqu’on crée des alias au script alias projet
- FIX 171640 Mise à jour automatique avec Feature\Module : la table correspondante doit être créée avant de lancer les mises à jour
- STD 171650 Retire les espaces inutiles jusqu’ici induits par l’utilisation des attributs HTML spéciaux data-begin et data-end
- STD 169554 Compatibilité PHP 8 : ignore les “warnings” et “deprecated” TCPDF, résolution d’autres problèmes de compatibilité avec PHP 8
0.2.2050 Series : 7 – 13 décembre 2020
- ADD 171598 171942 Les widgets peuvent maintenant retourner la valeur Template::ORIGIN pour demander à ce que la représentation par défaut soit utilisée. Conseillé plutôt que retourner une représentation valeur d’origine
- ADD 171652 Fonctionnalités RAD : classées automatiquement dans leur module logiciel
- ADD 171652 Templates HTML : rajoute le nom de la propriété au préfixe au lieu d’avoir des noms commençant par un entier
34235...
, pour plus de liberté de création de formulaires personnalisés sur une collection - ADD 171650 Sous-vue collection : applique correctement les annotations de propriété @representative et @display_order
- ADD 114056 Préparation de la fonctionnalité Pre_Load (non implémentée)
- IMP 171652 Le constructeur de Built_Object accepte maintenant les
$write_options
- REF 171622 Properties::have : revoit la signature de la méthode, pour qu’elle soit plus claire
- REF 171858 Permet au test unitaire HTML collection builder d’être surchargé pour des cas métiers particuliers
- REF 171766 171652 172080 Découpage des css pour que les widgets css .objects et .component-objects soient réutilisables dans des contextes plus libres
- REF 171766 171650 Retire l’étage
<div>
pour les valeurs de propriété lorsque cette valeur est simple, ou un<ul>
pour .objects et .component-objects - REF 171766 Permet le cas particulier ou le widget css .component-objects est également l’espace principal .data
- FIX 171546 Moteur d’impression : le compteur de pages ne tenai pas compte de l’espacement entre itérations ($iteration_spacing), en résultat un crash d’impression lorsqu’on arrivai pile à la capacité de la zone de page pour des données répétitives (par exemple lignes de factures)
- FIX 171550 Recherche sur une colonne de liste de type objet : les recherches “vide” doivent se traduire en objet null, pas en “l’un des @representative est nul”
- FIX 171622 171858 Des @link Collection de type classe non Component peuvent poser problème lors de l’enregistrement du composite
- FIX 171858 Problème d’incrément de compteur pour les noms de champs de formulaires avec une collection de composants de type classe de lien
- FIX 171858 Test unitaire sur recherche “vide” : doit également rechercher les chaînes vides
- FIX 171652 Notice sur un paramètre optionnel expand_property_path
- FIX 171976 Contrôle d’accès par IP : le contrôle ne marchai pas pour une URL déclarée dans plusieurs groupes d’IP, dans le cas du deuxième groupe ou suivants
- FIX 172030 160260 La prévisualisation avant imports ne fonctionnai plus depuis la v0.2.2026
- FIX 172080 169908 Les combo avec @filters ne fonctionnaient plus pour les opérateurs de filtre
<=
et>=
depuis la v0.2.2047 - STD 171546 Applique le typage fort php 7.1 au moteur d’impression
0.2.2049 Series : 30 novembre – 6 décembre 2020
- ADD 170416 Deux icônes d’actions / modules pour les graphiques (horizontal / vertical)
- ADD 168312 User_Annotation::isModifiable() teste l’ensemble des valeurs qui rendent une valeur de propriété modifiable, ou non
- ADD 168312 Fonctionnalités edit et output : limite d’un appel simple les propriétés disponibles aux propriétés modifiables ou à une liste de propriété librement définie
- ADD 168312 Les propriétés @unlocked, et seulement elles, des objets verrouillés peuvent maintenant être modifiées en formulaire de modification popup
- ADD 168206 combo.js et appels au contrôleur json : on peut maintenant récupérer les valeurs d’une liste de propriétés stockées dans l’objet associé à chaque item et au champs de saisie input visible de la combo, permettant le branchement de traitements javascript
- ADD 168206 skin pour un bouton d’action individuel
- IMP 169426 Main::redirect accepte maintenant les cibles Target::TOP et Target::NEW_WINDOW
- IMP 169562 xtarget : accepte et ignore les
<a>
sans lienhref
- IMP 168312 Permet l’ouverture de fenêtres popups par une action (css)
- REF 149508 Travail en cours sur la compatibilité avec php 8.0
- FIX 169562 Tools::extendsUse Type mismatch null pour un booléen
- STD 168312 Save\Controller::writeObject() paramètre renommé
$write_object
, pour faciliter les appels AOP
0.2.2048 Series : 23 – 29 novembre 2020
Crash Tools::extendsUse (en cas de recelcul complet du cache).
- ADD 147690 Interface utilisateur : de nouvelles icônes, fonctionnalités et modules : archive, fusion, paramètres
- ADD 167818 Journaux applicatifs : on peut maintenant exporter plusieurs entrées dans un fichier de texte unique contenant tous les logs (y compris journaux SQL et sortie)
- IMP 169952 Trigger\Action met l’action comme dernière colonne par défaut, car sa valeur peut être assez bavarde. Ainsi l’état est à gauche
- IMP 147690 build.js : accepte
{ priority: 1000; }
comme paramètre - REF 169664 Travail en cours sur la compatibilité avec php 8.0
- CNF 150480 it.rocks est maintenant sous licence LGPL v3.0 et suivante. Le but est de promouvoir l’opensource en n’autorisant pas des évolutions propriétaires du framework : les modifications au framework à partir de cette version (et suivantes) doivent maintenant rester publiées en opensource
- FIX 147690 Régression :
('feature'.@link)
ne fonctionnai plus depuis qu’est gérée la compatibilité avec(@link('feature'))
- FIX 147690 Erreur javascript lors de l’ajout de lignes dans les collections, lorsqu’il n’y a pas de modèle de ligne à ajouter (itrocks_add)
- FIX 169862 Affichage utilisateur : retour à la ligne au milieu de données numériques
- FIX 169300 La recompilation complète du cache à partir d’un dossier cache vidé provoquait des warnings : on doit pouvoir accéder aux dépendances sans fichier dependency_class.php en cache.
- STD 147690 Requêtes SQL : id et id_property_name ne devraient pas avoir de guillemet inverse en création de jointures, comme partout ailleurs
0.2.2047 Series : 16 – 22 novembre 2020
- ADD 169908 Requêtes json sur
@values @var string[]
pour les recherches dans combo : doivent utiliserFIND_IN_SET
et pas=
/LIKE
- ADD 169954 Image peut maintenant être hérité et surchargé (
static
au lieu deself
) - ADD 169954 Trigger\Action colonnes affichées par défaut dans une liste d’actions
- FIX 169954 QueryFetchAsValues : doit renvoyer des valeurs, pas des identifiants
- FIX 169954 Sql\Link::selectList doit supporter des demandes de résultat avec un alias de propriété au lieu d’une propriété qui existe
'non_property' = $func_object
- FIX 169954 Link_Table::table : Liens avec une propriété définie dans une classe abstraite : prendre la classe finale non abstraite
- FIX 169954 View\Html\Engine::link : les liens doivent être généré avec l’identifiant de l’objet, y compris pour une classe de lien, et pas
id1;id2
dans ce cas
0.2.2046 Series : 9 – 15 novembre 2020
- ADD 155980 Recherches listes : permet les recherches sur de multiples numériques à virgules, par exemple “56,64,13,92” pour recherche “56,64” ou “13,92”
- ADD 168328 Has_Validity_End_Date : valeur par défaut
Date_Time::max()
- ADD 168328 Namespaces : rajoute les fonctions module, project, vendor pour faciliter ces extractions des espaces de nommage
- ADD 168328 @filters : peut maintenant appeler une méthode qui retourne une valeur considérée comme constante sur l’IHM
- IMP 168328 Design UI des
@var string[] @values
dans la vue édition - FIX 155980 Recherches listes “vide” / “null” lorsque les fonctionnalités Implicit_Jokers ou Starts_With sont installées, ou sous chemins de propriété
- FIX 168328 Recherches listes crash sur
@var string[] @values
- FIX 168912 Problèmes de traduction de
@var string[] @values
lorsqu’utilisée dans les listes - FIX 169798 @duplicate
false
ne fonctionnai pas correctement : doit remettre la valeur par défaut pour la propriété
0.2.2045 Series : 2 – 8 novembre 2020
- ADD 168481 Date_Time + MONTH_NAME + MONTH_NAME_SHORT + toPrevious() + toNext()
- ADD 168272 Templates : {@loc} fonctionne maintenant hors d’un contexte propriété également (sous tableau, par exemple)
- FIX 169070 Export Excel : les dates sortaient toujours en 2020
- FIX 167816 @show_seconds et @show_time n’étaient pas interprétés correctement dans les vues listes
0.2.2044 Series : 26 octobre – 1 novembre 2020
- ADD 168236 List_Data::firstValue()
- ADD 168236 Date_Time : nouvelles constantes de formattage de mois
- REF 168236 Application de typage fort php 7.1 sur quelques classes
- CNF 168116 Composer-installers upgradé pour compatibilité avec Composer version 2 (gros gain de performance lors des composer update, même —no-cache)
- FIX 168552 Le reporting du Validateur ne doit pas impacter les annotations dans le cache
- FIX 168602 Import configurable : le glisser-déposer de propriétés ne retirai pas la propriété de l’ancien emplacement
- FIX 168794 Combo avec @filters ne fonctionnai plus depuis fix 167236 lorsqu’appliqué sur le formulaire principal (régression corrigée)
0.2.2043 Series : 19 – 25 octobre 2020
- ADD 167900 Contrôleur Add + initialise les sous-objets @component @mandatory comme nouveaux objets
- ADD 163288 Annotation de propriété @duplicate : permet d’activer/désactiver la duplication de certaines valeurs de propriétés
- ADD 166796 @user_getter : la callback accepte maintenant un premier argument Reflection_Property
- ADD 166796 @data_access_control est maintenant une annotation multiple, acceptant plusieurs callbacks pour la même classe
- ADD 164818 Parameters::reset() permet de remettre à zéro les paramètres (également leur forme objets)
- ADD 164818 Controller\Getter::get() peut maintenant être appelé avec un nombre minimal d’arguments (contrôleur php par défaut)
- FIX 141990 Bouton sélection de colonnes pour les listes doit être aligné à droite
- FIX 163288 Mauvais affichage des input dans les vues collections, qui devraient toujours faire 100% de leur zone contenante (problèmes d’alignements)
- FIX 164756 @update_constraint ne fonctionne potentiellement pas correctement (if inversé) : corrigé empiriquement
- FIX 165568 Anomalie “Need installer in call stack” dans les phases willInstall, willUninstall, et crash sur la désinstallation récursive de fonctionnalités interdépendantes
0.2.2042 Series : 5 – 18 octobre 2020
- ADD 166496 L’accès en lecture par défaut permet de rechercher des property.path pour sélectionner des propriétés (listes, modèles d’impression)
- ADD 99965 167506 Fonctionnalité “toujours rechercher les données commençant par le critère saisi par l’utilisateur”
- ADD 166490 xtarget peut maintenant charger une popup contenant un formulaire ou un élément de classe .form (évolutif en formulaire) dans un conteneur qui est lui-même un formulaire : la popup sera sortie du formulaire parent pour éviter tout amalgame
- ADD 166490 Notes : peuvent être ouvertes depuis la vue modification (toujours pas en création)
- ADD 167506 String_Class : nouvelles méthodes
left()
etright()
- ADD 166662 Nouvelle fonction de templates @printGetter pour obtenir une valeur formattée pour l’impression
- ADD 141990 Nouvelle icône pour l’ajout de colonnes de listes, arrondi de la barre de défilement des listes
- ADD 164866 Variante pour Builder::sourceClassName() : remonte au parent si classe construite
- ADD 167742 removeAnnotation() permet maintenant également de supprimer une annotation non-multiple
- ADD 167742 Tests unitaires : façon plus logique d’appeler les @default dans les tests
- ADD 167332 Func\Trimester pour faciliter la récupération d’un numéro de trimestre d’une date
- REF 166490 Edit : n’appelle plus le getGeneralButtons de son parent Output lorsque ce n’est pas utile
- FIX 167462 Stockage des annotations dans le cache : ne doit pas garder property.path
- FIX 167100 Stockage d’un objet en structure json avec des composants : renseigne le @composite, sous peine d’avoir des soucis avec notamment les @before_write qui en auraient besoin
- FIX 159100 Problèmes de recherches sur objets pour des expressions un peu tordues comme
'!One&!Two'
,'!One*'
,'!One*,One case'
- FIX 166496 Selection de propriétés : un Notice php sur link_class_feature
- FIX 167032 Largeur du composant HTML select parfois pas assez large
- FIX 160268 165172 Précise le nom de classe dans la jointure lorsque la classe jointe relie à l’objet courant via une propriété de type abstrait
- FIX 165172 Jointure inverse : met à jour $master_path pour que le bon alias de table soit généré (erreur SQL)
- FIX 167742 L’appel à @default peut maintenant passer la Reflection_Property comme argument
- FIX 167742 Des recherches dans les listes avec des plages de dates ne fonctionnaient pas correctement
- FIX 167742 Method_Annotation::$static n’était pas toujours correctement renseigné
- FIX 167742 Permet au framework d’initialiser une base de données applicative totalement vide (sans aucune table, même dependencies et print_models)
- FIX 167236 Les combo avec @filters dans un sous-formulaire collection ne fonctionnaient pas correctement
- STD 159100 Commence à appliquer le typage fort des paramètres aux fonctions, retire des appels
is_string()
redondants avec ce typage fort
0.2.2040 Series : 28 septembre – 4 octobre 2020
- ADD 146206 @before_write est maintenant appelé sur des objets en @store json, avant l’écriture de leur objet contenant
- ADD 166518 Recherches depuis listes : nouveaux mots-clés pour les recherches sur dates : demain, mois, année, heure, semaine
- ADD 163956 Cache en lecture sur Dependency::T_SET pour accélérer l’exécution en réduisant le nombre de requêtes SQL
- ADD 166678 Droits d’accès pour les mails
- ADD 166678 Permet de renvoyer des mails depuis l’interface utilisateur lorsque le premier envoi a été en échec
- IMP 166354 Affichage des collections : moins d’espacement pour les collections sous collections
- FIX 165362 Mauvais formattage des dates lors de l’envoi de mails
- FIX 164862 Modèles d’impression : on ne pouvait pas modifier le PDF fond de page, l’ancien restait
- FIX 165054 Listes personnalisées : la modification du texte d’entête de colonne ne fonctionnai plus
- FIX 165184 Exports depuis listes : les dates n’étaient pas détectées comme telles pour la transformation de csv en xlsx
- FIX 166518 Recherches depuis listes : la recherche vide peut signifier aussi bien une recherche sur Date_Time::min() que sur Date_Time::max(), ce dernier cas n’était pas pris en compte
- FIX 166518 Recherches depuis listes : la recherche par intervalle et la comparaison marchaient rarement correctement, tout cela a été simplifé pour mieux fonctionner dans les cas simples, et être maintenable pour la suite
- FIX 166678 L’émetteur des mails provoquait des blocages de sendinblue lorsque le nom comportai un accent
0.2.2039 Series : 21 – 27 septembre 2020
- ADD 164892 Modèles d’impression : supprime les lignes vides dans les itérations de groupes multi-lignes
- ADD 165900 redirect() accepte maintenant
<!--target
dans le contenu de page renvoyé par le serveur : sépare le découpage par<!--target
de xtarget et redirect() - ADD 165942 Patch de compatibilité pour la librairie propriétaire optionnelle setasign/fpdi-pdf-parser
- ADD 487 Serveur d’événements : le déclenchement sur présence de fichier gère les fichiers flags qui restent présent en évitant de relancer le traitement si le fichier n’est pas modifié (
$trigger_static
) - IMP 165854 Builder::createClone() : ne remplace pas d’identifiant de lien de donnée lorsqu’il est vide
- IMP 165854 Modèles d’impression avec Identical_Columns_Remover : seules les colonnes renommées dans la configuration peuvent maintenant être retirées (garde colonne montant)
- IMP 158092 Has_Ordering : la propriété
ordering
peut maintenant être utilisée en dehors d’un contexte HTML formulaire - IMP 158092
article > .data
etarticle > form > .data
peuvent être autre chose q’unul
: applique la feuille de style également euxdiv.data
(border, overflow) - FIX 165752 La modification d’un fichier File en modifiant son
$temporary_file
doit vider$content
- FIX 165854 File : empêche le recalcul du hash lorsque
$content
est vidé (null
) : vidé pour qu’il soit recalculé à la prochaine lecture - FIX 165684 Modèles d’impression multi-pages : compatibilité de Empty_Columns_Remover et Identical_Columns_Remover
- FIX 165854 Modèles d’impression avec Empty_Columns_Remover : évite les erreurs s’il n’y a pas d’entête de colonnes à retirer
- FIX 165932 Modèles d’impression avec Identical_Columns_Remover : ne retire l’entête de colonne que si au moins une colonne renommée est conservée
- FIX 164876 Bug de décalage entre l’entête et les lignes d’un tableau utilisant une barre de défilement à entêtes fixes lorsqu’on agrandit une fenêtre très étroite avec un scroll à droite
- FIX 484 Email_Flag doit s’appliquer à tous les envois de mails, pas seulement à la réinitialisation de mot de passe
- STD 163182 Préfère
trigger_error()
àuser_error()
0.2.2038 Series : 14 – 20 septembre 2020
- ADD 165088 Installation de fonctionnalités : on peut maintenant avoir des dépendances récursives (fonctionnalité A installera B, et réciproquement)
- FIX 165224 Modèle d’impression : crée la deuxième page en mode “2-n pages”, même si toutes les lignes pouvaient passer dans la première (car en général on a libéré de la place sur le première pour le pied de page qui n’apparaît que sur la dernière).
- FIX 165500 Retire les guillemets autour des noms d’émetteurs / destinataires de mails, lors du décodage MIME
- FIX 165446 Modèle d’impression : un bug de reconnaissance de groupe à cause de type entier / chaîne
- FIX 165088 Empty_Object posait problème avec des propriétés
private
: les considère comme valeur par défaut nulle - FIX 165638 Exports XLSX : les données contenant des guillemets doubles ne passent pas ssconvert, je les remplace par des guillemets simples en attendant un meilleur système d’export
- FIX 165694 Permet aux modules logiciels d’utiliser User::hasAccessTo quel que soit le module de gestion des droits d’accès (ACLs) installé, ou même si aucun n’est installé.
0.2.2037 Series : 7 – 13 septembre 2020
- ADD 164688 Will_Call : permet de planifier l’exécution de code de mise à jour dans 1, 2, ou plus, clics de l’utilisateur, et ainsi de permettre la post-installation nécessitant que les nouvelles structures objets construites soient enterrinées.
- ADD 164808 Modèles d’impression PDF : on peut maintenant utiliser des expressions conditionnelles avec des constantes comme résultat, comme
{property.path?:"Constante"}
- ADD 164794 Counter::autoDecrement() permet de décrémenter automatiquement jusqu’à la dernière valeur de compteur utilisée
- ADD 164796 Permet de nommer les fichiers PDF affichés téléchargeables avec plus de caractères spéciaux (dont espace)
- ADD 164796 Modèles d’impression PFD : nommage des fichiers PDF par défaut généralisé et personnalisable par code de surcharge
- ADD 164840 Fonction sur chaînes de caractères noQuotes()
- ADD 164840 Améliore la représentation et l’utilisation pour envoi du nom affiché des émetteurs / destinataires d’emails
- ADD 164840 On peut maintenant utiliser des objets de classe Fast_Add (ajout par saisie rapide dans la zone de texte autorisé) comme type de propriété @link Map
- ADD 164740 Il est maintenant autorisé de déclarer des
chemins.de.propriété
qui n’existent pas dans certaines configurations dans l’annotation de classe @list - ADD 164840 Email\Recipient est maintenant de type Fast_Add, permettant la saisie facile de nouveaux destinataires en envoi de mail
- IMP 164826 Ne fixe pas les dimensions des tableaus dans l’éditeur intégré Quill : traite le tableau en HTML standard
- IMP 164324 Permet de désactiver le plugin jQuery changeState pour certains composants HTML input : nécessaire notamment lorsqu’un événement change déclenche un rechargement de la page, dont le input, ou pour économiser les performances du serveur
- FIX 164778 Fichier : le nom de fichier temporaire doit être vidé lorsque le contenu du fichier est modifié
- FIX 164836 Modèles d’impression PDF : l’impression multi-pages travaillait sur des références vers les éléments communs aux valeurs différents, il en résultait une numérotation 2/2 sur toutes les pages au lieu de 1/2, 2/2. Corrigé.
- FIX 164836 Modèle d’impression PDF : l’impression multi-pages à base de modèles différents (par exemple première, dernière) voyait se multiplier les données issues de groupes (par exemple lignes de factures) : imprimées sur chaque pages, débordant, superposées. Corrigé.
0.2.2036 Series : 31 août – 6 septembre 2020
- ADD 164580 nouveau droit d’accès JSON pour faciliter la configuration des accès en modification nécessitant un accès json aux classes référencées
- FIX 164340 @conditions ne fonctionne pas pour le simples =, certains cas pouvaient donner de mauvais résultats
- FIX 163552 Email : les entêtes ne sont pas sauvegardés lors de l’archivage des mails, et génèrent un warning
- FIX 164012 L’impression utilisant des modèles d’impression ne fonctionne pas lorsque le contrôle des accès est activé : rajoute le droit
0.2.2035 Series : 24 – 30 août 2020
- ADD 163728 Permet l’authentification par token pour des connexions multiples et/ou avec une date de fin de validité
- ADD 162862 De nouvelles icônes applicatives pour les envois de mails, notamment niveaux de relances, statuts, etc.
- IMP 162862 Standardise le niveau de coloration des icônes. #333, #444, #666 : tous sont en #444 à présent.
- FIX 163880 Serveur d’événements : renouvellement du “running flag file” automatique réparé en environnement itrocksplatform
- FIX 159692 ACLs : La traduction des noms de fonctionnalités utilisateur n’a jamais fonctionné pour tous les cas, c’est maintenant corrigé
0.2.2034 Series : 17 – 23 août 2020
- STD 163472 Warnings PhpStorm sur Has_Code_And_Name
0.2.2033 Series : 28 juillet – 16 août 2020
- ADD 162208 Permet l’ajout d’un message d’information public sur le formulaire de connexion utilisateur (css)
- ADD 95855 Getter::getStringArray à définir comme
@getter
pour les propriétés@var string[]
sans@values
- REF 159670 Découpage de Print_\Model pour laisser plus de possibilités de personnalisation par des modules externes
- FIX 162302 154224 Manquent les informations à destination de l’utilisateur lorsqu’une suppression est refusée suite à un blocage pour cause de contrainte de clé étrangère au niveau du moteur de base de données
- FIX 95855 les propriétés en
@var string[]
sans@values
empêchaient l’enregistrement de formulaire : enregistrement en base de données, maintenant, avec séparateur retour à la ligneLF
(ou virgule,
)
0.2.2030 Series : 20 – 27 juillet 2020
- ADD 161690 jquery.tree.js : prémisses d’un moteur front de manipulation d’arborescence
0.2.2029 Series : 13 – 19 juillet 2020
- IMP 161336 Sérialisation json d’un objet : doit faire référence au nom de la classe source
0.2.2028 Series : 6 – 12 juillet 2020
- ADD 161006 @user_change permet maintenant la modification facile de valeurs pour un
@values ... @var string
représenté par un<select>
en HTML - FIX 161076 Une erreur sur @conditions : le compteur de ligne ne s’incrémentait pas correctement pour des conditions sur un objet
0.2.2027 Series : 29 juin – 5 juillet 2020
- ADD 159448 jquery.scrollbar.js:scroll pour bouger la barre de défilement depuis un script externe
- FIX 150530 Enregistrement d’un sous-objet json avec collection : il ne faut pas enregistrer de référence à l’objet composite du sous-objet de collection
- FIX 160692 Crash Reflection_Property sur un chemin de propriété incluant un tableau d’objets
0.2.2026 Series : 22 – 28 juin 2020
Des régressions (crashes de fonctionnalités) sur cette version, suite aux interventions élargissant le bon fonctionnement des classes abstraites, qui ont nécessité des correctifs en v0.2.2027.
- ADD 160136 Compatibilité de init.php avec l’actuelle version de Mint 19, notamment la configuration par défaut de MySQL
- ADD 159890 Permet d’affichage et la modification de sous-objets
@integrated @var Abstract_Class
- ADD 159890 Compatibilité de Reflection_Property::getParentProperty() avec un chemin comportant un objet de classe abstraite
- ADD 159890 Date_Time::isEndOf() pour savoir si une date est une fin de minute / heure / jour / mois / etc.
- ADD 159890 @user_getter est maintenant appliqué à Reflection_Property_Value::getValue(), @link Collection
- ADD 160326 Mise à jour du logo it.rocks : maintenant avec un seul point
- ADD 160330 Templates : Échapement du caractère pipe
|
dans les valeurs, pour éviter l’injection de traductions - ADD 160342 Write_Access_Control autorise maintenant la demande de réinitialisation de mot de passe par l’utilisateur
- REF 160260 Envoi de fichiers : ne crée pas d’objet de classe File dans Post_Files c’est le travail que Object_Builder_Array fait déjà
- REF 160340 Write_Access_Control plus facilement extensible, notamment personnalisation des fonctionnalités considérées comme “lecture”
- FIX 159890 Collection_As_Map sous
@integrated
: les champs de formulaire étaient mal nommés (property.path attendu) - FIX 160260 Ouverture de formulaire contenant déjà au moins 1 fichier dans une liste : problème d’index de fichier dans la liste (manque un incrément)
- FIX 160330 La parsing Textile ne doit pas doubler les
|
, maintenant échapés ailleurs (meilleure centralisation) - FIX 160340 Un cas où Write_Access_Control::checkAccessToMenuItem() est appelé avec
$items=null
- FIX 160340 Acces_Control : lorsque le plugin n’est pas activé, l’enregistrement de nouveaux utilisateurs devrait être refusé, pour l’instant, car sinon l’enregistrement est autorisé dès lors que ce plugin n’est pas activé, ce qui n’est pas un bon comportement par défaut
- FIX 160342 Patch pour protéger le nombre maximum de lignes affichées, qui se retrouvai parfois à 0, faisant crasher la liste (cas de liste consultée sans utilisateur connecté)
- STD 159890 Date_Time : préfère la notation
self::
àDate_Time::
0.2.2025 Series : 15 – 21 juin 2020
- ADD 158448 Type::asLinkClass() pour récupérer directement un objet de réflection pour une potentielle classe de lien
- ADD 159566 Permet l’appel à Loc::floatToLocale avec un nombre de décimales forcé
- ADD 159599 Applique les @conditions < > <= >= lors de l’affichage de collections
- ADD 159566 Format d’impression : permet de masquer totalement un texte libre lorsqu’une valeur de propriété est vide
{?property.path}
- ADD 159566 Format d’impression : fonctionnalité pour remplacer des valeurs de propriétés spéciales comme
--
ou==
par des dessins de lignes - ADD 159746 @after_transform_from et @after_transform_to comme variante / alias à @after_transform
- ADD 159746 @store json permet maintenant de stocker des objets plus complexes : contenant collections, Stringable, sous-objets, objets @link Map non sauvegardés
- IMP 158448 Limite les double-parrenthèses ((… OR …)) AND ((…)) dans les requêtes SQL construites
- IMP 158448 Appel à Link::query au format AS_ARRAY : n’utilise plus id pour clé du tableau résultat, mais renvoie une ligne de tableau par ligne de résultat (cas de multiples sous-lignes en cas de jointure)
- IMP 158448 Listes : force le nombre maximum de lignes à celui calculé d’après les données du navigateur, ignore le réglage qui aurait pu être enregistré comme valeur dans les listes personnalisées par l’utilisateur dans l’ancienne version (par exemple 1000 lignes)
- IMP 159566 Mises au point du format d’impression : colonne multi-champs, pas de retour à la ligne avant le premier mot,
{nom.de.propriété}
autorisé dans les textes libres, retire les champs colonnes vides au lieu de les garder/superposer, finalise Empty_Columns_Remover, - REF 159746 Method_Annotation::callAll() remplace un code répété de boucle d’appels à Method_annotation::call()
- FIX 158448 Requête multi-passe : répare la seconde passe en cas de lecture avec jointure (identifiants multiples). corrige ainsi le problème de rechargement à l’infini de la suite de liste
- FIX 158448 jquery.scrollbar.js::draw ne devrait pas recalculer la position de la barre de défilement lors de l’appel à
draw
- FIX 159568 Envoi d’un Mail en utlisant Email\Sender\File : le mail doit pouvoir être enregistré avec headers vide
- FIX 159566 Property/select : les sous-propriétés non-stockées @store false doivent être visibles pour les formats d’impression
- FIX 159746 Getter::getLink : le renvoi de valeurs par référence n’était pas possible pour certaines fonctions appelées
0.2.2024 Series : 8 – 14 juin 2020
- IMP 150540 Masque le libellé de champ contenu de mail pour alléger le formulaire
- IMP 150536 No_Escape et Displayable : type de donnée par défaut chaîne de caractères
- FIX 150536 Le nom du destinataire des mails doit être encadré et échapé, pour éviter que les noms comportant des points et autres caractères mal supportés par le protocole de messagerie passent mal
- FIX 150536 Un cas du moteur de templates où No_Escape n’était pas pris en compte pour ne pas échapper une valeur contenant du HTML ou du code
- FIX 150536 Restait un appel à
beginsWith
à remplacer par la fonction nativestartsWith
- FIX 158778 Crash du générateur d’impressions si la dernière commande est vide et à vider quand Empty_Column_Remover est activé
- FIX 159272 Zone blanche visible entre les boutons dans le formulaire de réinitialisation de mot de passe
0.2.2023 Series : 1 – 7 juin 2020
- ADD 158564 Améliore l’intégration de Quilljs (passe en v2) : modèle simple, traduction, barre de boutons toujours visible
- ADD 158808 Quilljs + tableaux
- ADD 158564 Email : formulaire d’ajout minimal, compacte à / copie à / copie cachée à
- ADD 158564 150536 Email : les $headers peuvent rester nuls jusqu’à l’envoi
- ADD 150536 Email : dates définies par défaut ($date) ou au moment de l’archivage du mail ($send_date)
- ADD 158564 Affiche les valeurs de propriétés @editor : conservation du balisage HTML, plutôt que l’échaper
- ADD 150536 Langue de la session en cours appliquée à la balise <html>
- ADD 150536 Modèles d’impression : permet maintenant de choisir la sortie d’impression : téléchargement, affichage, texte
- ADD 150536 xtarget : on peut maintenant historiser certaines URL provenant d’appels POST
- ADD 150536 Nouvelle annotation de propriété @data pour associer des données aux propriétés jusqu’aux vues
- ADD 150536 @data focus pour forcer le focus non pas à la première propriété, dans un formulaire, mais à celle choisie
- IMP 150536 Names::classToDisplays peut être appelé en désactivant la lecture du nom dans l’annotation, comme pour classToDisplay
- ADD 150536 Session::get : permet d’utiliser des identifiants non-classes stockant des tableaux
- IMP 150536 Session::set doit traduire le nom de classe en nom de classe source
- REF 150536 Sépare l’impression PDF du contrôleur d’impression
- STD 150536 javascript : Retire beginsWith, endsWith et contains au profit des implémentations standard startsWith, endsWith et includes.
0.2.2022 Series : 25 – 31 mai 2020
- ADD 158066 @widget Map_As_Collection conjointement à @link Collection et @var Link_Class : permet de conserver la fonctionnalité “modification des propriétés de la classe liée“, et pas seulement de modifier les propriétés de la classe de lien
- ADD 156096 Modèles de disposition : trie les éléments par y, x pour permettre une gestion correcte des décalages de lignes
- ADD 156096 Modèles d’impressions : retire automatiquement les colonnes vides lors de la génération de la sortie
- ADD 150536 Icône pour la fonctionnalité envoyer par mail
- IMP 156096 Modèles de disposition : Calcule automatiquement la marge entre les itérations
- REF 158564 Mails : place un getter pour la transformation json-to-array de
$headers
, nettoie l’affichage des vues / formulaires avec @display_order et des @user - FIX 157850 Les combo avec @filters ne fonctionnaient pas : pas de filtrage, un notice php était généré
- FIX 157836 Le fix 157836 pour la traduction inverse des valeurs de propriétés énumérées avec un caractère _ générait une crash des jointures avec des valeurs contenant des backslashes (jointures sur classes abstraites)
- FIX 158062 Récupérer les propriétés @integrated dans une collection récupérait toutes les propriétés, sans tenir compte des restrictions ou de la visibilité des propriétés, alors qu’il fallait récupérer les propriétés étendues seulement
- FIX 158418 Suppression en cache du code de classes construites lors de seconde demande de compilation sans réel changement
- FIX 158072 Perte de la notion de null if empty dans Object_Builder_Array, lors de la descente dans une propriété liée d’un Map_As_Collection
- FIX 156096 Modèles de disposition : lorsque la hauteur d’un élément grandit, tous les éléments de la même itération qui sont sous cet élément devraient être décalés vers le bas
0.2.2021 Series : 18 -24 mai 2020
- ADD 158054 app.debug.js permet d’afficher des piles d’appels lors d’appels à des fonctions jQuery
- ADD 155558 Permet de configurer le port MySQL et une connexion à MySQL via socket
- ADD 155558 Compatibilité avec un DOCUMENT_ROOT comportant un lien symbolique
- REF 155558 Compatibilité php-fpm : plus besoin de code de compatibilité
- FIX 157836 Rafraîchissement de la liste lorsqu’une colonne est ajoutée
- FIX 157836 La contextulisation automatique de la traduction ignore maintenant les classes non @business
- FIX 157836 La traduction des valeurs de propriétés énumérées avec un caractère _ dans le nom ne fonctionnai pas dans les listes
- FIX 157836 Le tri inversé d’une colonne traduite ne fonctionnai pas en première passe de requête de liste
- FIX 154578 Problème d’application d’@ordered_values : les valeurs continuaient d’être triées dans l’ordre de tri en anglais
- FIX 158054 Le clic sur une propriété lors de la sélection de nouvelles colonnes de listes fermait la popup de sélection, lorsqu’on avait défilé vers le bas
- STD 158054 Appels jQuery : remplace les appels
html('')
parempty()
0.2.2020 Series : 11 – 17 mai 2020
Des régressions gênantes pour l’utilisateur sur cette version, réparées en v0.2.2021.
- ADD 157332 data-each permet maintenant de générer plusieurs attributs HTML data
- ADD 157332 On peut maintenant associer des data aux boutons : ils seront générés via data-each dans les vues HTML
- ADD 157332 Parameters::firstObject pour récupérer le premier objet en paramètres, sans le retirer (shiftObject) ni l’auto-générer (mainObject)
- ADD 157332 Nouveau paramètre réservé then_target pour indiquer la cible d’un paramètre then pour la zone cible de redirection après sauvegarde
- ADD 157332 Objet métier Note : fonctionnalité qui permet d’associer des notes texte à tous les objets métiers
- ADD 156328 Permet de nouveau d’enregistrer une vue personnalisée (utile uniquement quand elles sont personnalisables, ce qui n’est pas le cas par défaut)
- ADD 155952 Le mainteneur MySQL en mode verbose n’affiche maintenant que les libellés de classes non exclues
- IMP 157242 Dossier par défaut pour la sortie de journaux, si non configurée : /tmp
- IMP 155780 Ergonomie : conserve l’ordre de tri inverse d’une colonne secondaire lorsqu’elle passe ordre de tri principal
- REF 157242 Remplacement du SQL
OR
parIN
pour la deuxième passe - REF 156958 properties.html peut maintenant être appelé avec un tableau de propriétés en contexte
- REF 157332 L’attribut spécial data-begin nécessite maintenant la pose d’accolades pour être interprétée par le parseur de gabarit HTML
- REF 156328 Sauvegarde des vues / listes personnalisées en un seul appel au lieu de deux
- REF 156328 Titre court pour les vues : uniquement leur représentation, sans ajouter le libellé de classe
- CNF 157202 Le délai pour distinguer un simple clic d’un double-clic par modifiable passe de 200ms à 300ms
- FIX 156958 Construction HTML de propriétés avec préfixe : ignore les préfixes numériques, pour éviter un nommage incorrect
- FIX 157242 @null @var string :
null
n’était pas une valeur autorisée, elle doit l’être - FIX 157242 console_script : Exécutions en mode console sous utilisateurs mixtes (par exemple root / www-data) : ne pas générer d’exception si les anciens PID ne peuvent pas être purgés : chaque utilisateur purgera ses propres anciens PID
- FIX 157242 console_script : Tous les utilisateurs doivent pouvoir retirer le fichier drapeau running file
- FIX 157638 @user_change : erreur de remplacement de composite:: par un objet technique au lieu de garder le nom de classe dans le cas d’un nouvel objet (c’est à dire ne provenant pas d’une lecture depuis l’espace de stockage)
- FIX 156328 URI générée
Class\Name
lors de l’enregistre d’une liste personnalisée, à remplacer par un chemin valideClass/Name
- FIX 156328 La vue affichée suite à l’enregistrement d’une vue / liste personnalisée ne s’affichait pas
- FIX 157204 @user_remove ne fonctionnai plus depuis le nouveau design
0.2.2019 Series : 4 – 10 mai 2020
- ADD 157074 Parameters::remove() permet maintenant de retirer une clé stockée en valeur également
- ADD 157336 Nouvel élément du DOM Italic pour la mise en italique
- REF 157174
new User
à remplacer parBuilder::create(User::class)
- FIX 156118 Has_Ordering\Group doit désactiver l’annotation de classe @business héritée de Has_Ordering
- FIX 157126 Échapement des caractères pipe || récupérées de valeurs de propriétés
0.2.2018 Series : 27 avril – 3 mai 2020
- ADD 156880 @show_seconds et @show_time : la taille d’affichage du champs date-heure est modifiée en fonction de ces annotations
- ADD 156880 Date_Time::nowMinute() pour avoir l’heure actuelle, secondes à zéro
- ADD 155966 Annotation de propriété @validate : appel de la fonction de validation même lorsque la valeur de la propriété est vide
- IMP 156956 Dao\Set : commite les ajouts indépendamment des suppressions, cette dernière opération pouvant remonter des erreurs (pour table rad_features et blocage des purges de fonctionnalités installées)
- FIX 156836 Validateur : contrôle les prioriétés @composite dans le cas où l’objet composant est enregistré indépendamment de son objet composite
- FIX 150528 Class_Builder : appel à isAbstract() toujours sur la classe à construire, et non pas sur la classe intermédiaire
- FIX 150528 Annotation de classe @feature : erreur de cumul des annotations de classes parentes et filles
- FIX 156956 Compatibilité entre la saisie rapide de dates (exemple : 011220 -> 01/12/2020) et l’annotation de propriété @user_change
- FIX 156982 Annotation de propriété @user_change : la valeur composite::methodName ne fonctionnai pas avec des propriétés abstraites génériques
- FIX 155966 Annotation de propriété @conditions : doit tenir compte des valeurs spéciales @empty et @set dans les vues d’affichage
0.2.2017 Series : 20 – 26 avril 2020
Version instable, déconseillée à cause de 150532, réparé en v0.2.2018 par 150528.
- ADD 144172 Annotation de classe @feature_build Trait_Name accepte maintenant la construction de traits
Trait_Name + Trait_Names
- ADD 144172 Objets confidentiels masqués dans les éléments de collection (POC, incomplet, la confidentialité n’est pas appliquée en jointures par exemple)
- ADD 156322 Annotation de propriété @integrated nouvelle option
@integrated parent
pour afficher le nom de la propriété de l’objet parent, idéal pour les objets représentés par un champ de saisie unique (numéro de téléphone, mails, etc.) - ADD 150532 Annotation de classe @extends nouvelle option
@extends strict
: le nom de la classe est utilisé pour la hiérarchie de construction de classe, mais le trait ne sera pas installé pour cet@extends
pour un @feature_build - IMP 150532 Permet l’affichage en collections de noms de colonnes très courts (1 caractère)
- IMP 150532 Classes construites intermédiaires SubX devraient toujours être abstraites, même si la classe construite n’est pas abstraite
- REF 150532 Préfère l’écriture
Extends_Annotation::of
etallOf
à l’écriture à l’ancienne écolegetAnnotation
- FIX 150532 Annotation de classe @feature_include : compatibilité avec
static::
perdue - FIX 155788 Contrôle d’accès : le menu et le mini-display utilisateur devraient être affichés en vide et accessibles à tous les utilisateurs, au lieu de sortir une page de connexion utilisateur
- FIX 150532 Reflection_Class::isAbstract donne un résultat faux lorsque
$name
est renseigné avant analyse du code source jusq’au nom de classe - FIX 156598 multiple / on-change-remove : trop de lignes ajoutées / supprimées lorsqu’on a des références à des champs de formulaire inexistants en retour d’un contrôleur on-change
- FIX 156674 Value::escape nécessite la donnée Reflection_Property pour repérer les propriétés sous @values et éviter la formation de mauvaises requêtes SQL sur une valeur possible numérique (l’erreur : confondue avec la représentation numérique d’un ENUM / SET)
0.2.2016 Series : 13 – 19 avril 2020
- ADD 150524 Annotation de classe @feature_uninstall pour exécuter une fonction lors de la désinstallation d’une fonctionnalité
- ADD 155976 Permet à l’annotation de propriété @impacts de fonctionner avec des propriétés qui n’existeraient pas forcément (si installées avec des traits optionnels)
- ADD 150524 Masque les date-heure de creation-modification dans les affichages : visibles en liste seulement
- ADD 156058 Droits d’accès aux modèles d’impression
- ADD 150524 Annotation de propriété @print_getter pour appeler un observateur particulier quand l’objet est destiné à l’impression
- ADD 156130 Annotation de propriété @user hide_empty fonctionne maintenant pour les éléments de collection, en affichage / modification
- ADD 155470 Nouveau design : les propriétés @multiline s’affichent avec des retours à la ligne dans l’affichage des éléments de collection
- FIX 156054 Modèles d’impression en nouveau design : répare la disposition des boutons, le drag-and-drop des propriétés,
- FIX 155042 Les annotations de classe @feature_* doivent hériter uniquement des parents qui n’ont pas d’annotation de classe @feature
0.2.2015 Series : 6 – 12 avril 2020
- FIX 155342 Les paramètres d’Uri de type float étaient arrondis en int : il faut qu’ils restent float
0.2.2014 Series : 30 mars – 5 avril 2020
- ADD 154272 Recherche par propriété de classe abstraite : ajoute la restriction par la classe
- ADD 154906 Sélection de vue personnalisée : permet le défilement par molette si plus grand que la fenêtre du navigateur
- ADD 155198 Saisie de dates : écritures raccourcies 3012 / 301220 / 30122020 / etc.
- ADD 155248 Classe css keep-scroll : xtarget.js, redirect.js, refresh.js, conservent la position du défilement vertical
- ADD 155044 Json on_change sur propriétés @values charge maintenant la valeur non traduite, pour qu’elle soit exploitable
- IMP 155248 modifiable.js : rajoute l’événement à l’appel call-back
- FIX 154790 Glisser-déposer dans collection de Has_Ordering : première ligne vers première était envoyée en dernière
- FIX 155000 Patch pour éviter ‘Access_Control could not be converted to string’
0.2.2013 Series : 23 – 29 mars 2020
- ADD 154260 Gabarits – Affichage d’un fichier : permet de cliquer sur le nom de fichier pour le télécharger
- ADD 154252 @user_change : le json retourné peut maintenant permettre de vider / ajouter des lignes dans les vues collection
- ADD 155018 xtarget.js : ctrl+click permet maintenant d’ouvrir le lien dans un nouvel onglet (comportement par défaut restauré dans ce cas)
- ADD 155018 Icônes pour les fonctionnalités lock et unlock
- ADD 155046 annotation de classe @feature : permet d’utiliser @feature à vide pour activer toutes les fonctionnalités, suivi de un ou plusieurs @feature featureName pour les fonctionnalités additionnelles
- ADD 155046 Droits d’accès pour les fonctionnalités lock et unlock
- ADD 155046 lock et unlock sont maintenant disponibles depuis les listes
- ADD 155040 Permet d’ajouter des éléménts du DOM avant un élément principal
- ADD 155040 Les @var string avec @values en lecture-seule sont maintenant représentés dans un
<input>
à la place d’un<label>
- REF 154252 Purge / ajout de lignes de collections : permis par programmation, même quand non autorisé par l’utilisateur
- REF 155160 Mise à jour de FPDI : nouveau chemin pour accéder à la classe Fpdi
- CNF 155160 Suppression de dépendances et de modules non utilisés : Gaufrette, colresizable, composer-merge-plugin
- CNF 155160 Passe le composer.json en minimum-stability: dev pour permettre les
composer update
sur le framework nu - FIX 154252 @user create_only ne foncionnai pas sur les propriétés d’objet principal : remplacer par annotation de propriété @user_add
- FIX 154252 Annotation de propriété @null false sans effet si @mandatory false ou @link Object : corrigé
- FIX 154252 Annotation de classe @representative : les méthodes
add
etremove
étaient sans effet sur la liste des propriétés - FIX 155046 Annoted::removeAnnotation re-créait une annotation : revu pour que ça supprime l’annotation dans une liste d’annotations, point
- STD 155040 Moins d’indent-hell
0.2.2012 Series : 16 – 22 mars 2020
- ADD 154258 Unlockable : permet de déverrouiller des objets
- ADD 144312 @filters peut maintenant être appliqué à des propriétés @link Map
- ADD 153566 @filters supporte maintenant des expressions de comparaison <=, >=, !=
- ADD 153568 modifiers.scss propose une visualisation prev-next pour les éléments combo avec des chevrons haut / bas
- ADD 154276 Annotation de propriété @no_autowidth pour désactiver la largeur automatique, en colonne de vue collection seulement
- ADD 154276 Les objets de classes qui utilisent Has_Ordering représentés en vue collection sont maintenant déplaçables par drag-and-drop
- ADD 154470 @user_change = data-on-change : les valeurs ne sont plus modifiées si l’utilisateur est en train de modifier la valeur manuellement (focus dans un contrôle accessible en modification)
- ADD 154428 Dao::count accepte maintenant les $options, pour l’instant Link_Property_Name
- ADD Annotation de propriété @unlocked : marque les propriétés qui ne sont pas sensibles à Lock::$locked, pour permettre l’enregistrement dans le programme, même lorsque l’objet est verrouillé, uniquement pour cette propriété.
- IMP 144312 Facilite la surcharge de Json\Controller::applyFiltersToSearch en supprimant le critère de recherche s’il est vide
- IMP 153566 Permet aux @filters de fonctionner sur les éléments combo même lorsqu’ils ne sont pas dans un formulaire HTML
- IMP 154276 Ne filtre plus les menus par chaîne vide, lorsque plusieurs critères séparés par une virgule (évite le clignottement)
- REF 154276 Remplace data-name par data-title pour le libellé de propriété traduit, et data-property pour le chemin de propriété, dans les templates HTML
- FIX 154224 Un problème de pointage d’anomalies dans le __toString lorsqu’appelé depuis la pile d’appel
- FIX 154224 Gère un cas où Reflection_Class::$use est nul, pour ne pas générer d’anomalie dans ce cas
- FIX 154224 En cas de suppression Dao::delete bloquée, il y avait un décalage de la pile de commits SQL
- FIX 154224 Manquait Reflection_Method::getParametersCall pour la classe de réflexion de méthode standard
- FIX 153692 Corrige une erreur d’incrément de compteur dans la vue collection dans les @conditions pointant sur une propriété qui suit la propriété conditionnée
- STD 153692 Utilise la notation
data('...')
à la place deattribute('data-...')
0.2.2011 Series : 9 – 15 mars 2020
- ADD 153830 Alias Dao::add pour
new Option\Add
- ADD 153830 Installer::hasMenuLink pour vérifier l’existence d’un lien
- ADD 153830 Menu::configurationOf permet maintenant de créer le lien par défaut vers un objet
- ADD 153830 Has_Default en @return_constant, afin de permettre que la valeur par défaut dans la base de données soit la valeur pour laquelle default vaut true
- ADD 154306 Hierarchical avec un limiteur de nombre d’objets lus $limit_objects
- IMP 154234 La copie par duplication d’un document Lockable doit être déverrouillée
- IMP 154234 L’ordre d’exécution des @duplicate est inversé : d’abord les classes de plus bas-niveaux, le haut-niveau en dernier, pour permettre des écrasements de valeur à plus haut niveau
- FIX 153830 150524 Certains appels à Reflection_Property::getDefaultValue(‘constant’] ne fonctionnent pas : simplifie la fonction pour qu’elle soit plus fiable
- FIX 154088 Droits plus élargis pour les fichiers créés en mode console dans le dossier proc, pour faciliter le lancement par plusieurs utilisateurs
- FIX 150524 Valeurs par défaut issus de Date_Time mal pris en compte en maintenance de base de données
- FIX 150524 Maintainer MySQL : application incomplète de l’option EXCLUDE_CLASSES
- FIX 150524 Maintainer MySQL : les classes avec une sous-classe @deprecated ou @business false n’étaient pas maintenues
- FIX 154232 Compilateur de cache : l’héritage de @override @default ne fonctionnai pas, problème d’ordre d’appels à __default
- STD 154232 Limite le if-indent-hell
- DOC 153830 Dependency\Tools::extendsUse peut accepter une valeur seule sans qu’elle soit dans un tableau
0.2.2010 Series : 2 – 8 mars 2020
- ADD 153288 Application::__toString, affiché lors de certains accès refusés
- ADD 153288 @absoluteLink : Autorise l’écriture
{
absoluteLink(‘featureName’)}@ - ADD 151078 Sécurise les recherches OR pour des valeurs récursives : tout doit rester en OR, sans alternet AND / OR, y compris lorsqu’on a des sous-tableaux intempestifs
- ADD 151040 autoWidth : Calcule une valeur plafond pour la largeur, pour éviter les zones de saisies plus grandes que leur conteneur
- ADD 150552 Call_Stack::methodMatches retrouve à présent les appels statiques
- ADD 150552 Méthode magique __maintain appelée à chaque mise à jour de la structure de base de données d’une classe métier
- ADD 150552 Has_Number_And_Name : trait pour les classes métier qui auraient besoin d’un numéro et d’un nom
- ADD 150554 Gabarits HTML :
{number.abs}
pour avoir la valeur absolue d’un numérique,{number.sign}
pour avoir le signe ‘+’ / ‘-’ - FIX 151078 Simplifie l’expression de recherche des @representative dans le contrôleur de liste en évitant les sous-tableaux intempestifs
- FIX 153514 Différentie les fichiers drapeau en les distinguant environnement par environnement, si installation sous Platform
- FIX 153580 combo : corrige des problèmes d’ergonomie sur les contrôles de saisie combo, retire les modifications d’attributs value intempestifs
- FIX 150552 Has_Code_And_Name::sameAs mal programmé
- FIX 150552 Crash des menus installables depuis version v0.2.2008 (#152762)
0.2.2009 Series : 24 février – 1 mars 2020
- ADD 150206 Balise {@absoluteLink} pour générer un lien absolu (domaine compris) vers un objet. Utile pour des templates de mails par exemple
- ADD 150206 Permet de surcharger le contrôleur output avec une autre valeur de constante FEATURE
- ADD 150206 Constructeur de Reflection_Property_Value avec uniquement un objet et un chemin de propriété
- ADD 150206 Notation
<element>{?something}</element>
pour masquer l’élément si la valeur de something est vide - ADD 150206 Image pour afficher à côté d’un lien
- ADD 153116 Retirer des colonnes de listes les retire maintenant des critères de tri de liste
- ADD 152630 Rend init.php compatible avec l’installation du framework version v0.2 et apache2-mpm-itk
- ADD 150206 Fichier de contrôle d’accès aux fonctionnalités YAML dans le même dossier qu’un trait composant la classe concernée
- ADD 150206 Lien par défaut sur les affichages de valeurs de propriétés @var object
- ADD 150206 En mode console, Paths::$script_name est maintenant vide (à la place d’une valeur invalide)
- ADD 150206 Template::ABSOLUTE_LINKS permet d’indiquer au moteur de templates qu’on ne veut que des liens absolus, serveur compris
- ADD 150206 Email\Html_Template ne génère maintenant que des liens absolus, serveur compris, sans besoin de
https://itrocks.org/wiki/
ni Template::ABSOLUTE_LINKS - ADD 153368 En-tête de représentation HTML de collection : rajoute un attribut data-name pour l’identification des cellules d’en-tête par leur chemin de propriété
- IMP 152512 Améliore les résultats de recherches multi-champs du type “prénom nom” dans les combo
- IMP 150206 Les appels fonctionnels à un niveau, par exemple
/(@link('feature'))
, sont maintenant possible en notation parenthèses, sur chaîne de caractères délimitée par simple guillemet seulement pour l’instant - IMP 151864 Annotation de propriété @search_range : à présent le search-range n’est activé par défaut que pour les numériques et date-heures
- REF 150206 Évite l’appel de fonction de traduction sur un libellé vide / non renseigné de Feature_Class
- REF 150206 Nouveau design pour le gabarit par défaut default.html : élément article et ajoute le lien vers l’affichage de l’objet
- FIX 150206 Validation d’une propriété @var object corrigée
- FIX 150206 Ne remonte pas à l’annotation de classe @widget pour une propriété @var object : elle n’a pas de classe
- FIX 152114 Warning lors d’appel récursif à Object_Builder_Array renvoyant directement null sur tableau source vide
- FIX 153050 Récursion infinie dans l’auto-expand du sélecteur de propriétés : n’étend maintenant que le premier niveau
- FIX 153156 Il fallait cliquer deux fois sur la flêche pull-down de combo pour l’ouvrir, quand le focus était dans le combo
- FIX 150206 Re-appel du déclencheur sur modification lorsque l’action déclenchée modifiait à nouveau l’objet surveillé
- FIX 150206 La notation https://itrocks.org/wiki/(@link) doit donner le bon lien absolu lors d’un appel en mode console
- FIX 151074 Traduction inverse : doit maintenant être appelée après application de Builder::sourceClassName
- FIX 151074 Traduction inverse : tient maintenant bien toujours compte de la liste de limitation des valeurs non traduites, même sans wildcards
0.2.2008 Series : 17 – 23 février 2020
- ADD 152762 Dans les templates, les paramètres d’appel à une fonction peuvent maintenant être de simples numériques sans guillemets
- ADD 152762 Trigger d’un événement jQuery à chaque sélection automatique d’un item de menu, pour faciliter la personnalisation
- ADD 152762 Prépare la fonction Group_By pour l’appel fonctionnel (WIP)
- ADD 152762 Has_Object_Class permet à vos objets de disposer d’une classe CSS calculée au niveau lignes de liste
- ADD 152762 Votre contrôleur JSON peut maintenant surcharger le tri des objets lus (jusqu’ici était remplacé par @representative)
- IMP 152762 Offre plus de possibilités de surcharge / personnalisation du menu
0.2.2007 Series : 10 – 16 février 2020
- ADD 152028 Annotation de propriété @characters : liste des caractères autorisés pour la valeur
- ADD 152314 Refait fonctionner les imports avec le nouveau design
- IMP 152510 Combo : ne sélectionne plus la première valeur dès apparition de la drop-down-liste
- IMP 152510 Combo : échape rétabli la dernière valeur saisie, au lieu de la vider
- REF 152028 Annotation de propriété @regex : meilleur choix et gestion des délimiteurs automatiques
- FIX 152314 Beaucoup d’appels à replace, en javascript, au lieu de repl : seule la première occurrence était remplacée
- FIX 152506 Combo : la valeur sélectionnée complète ne s’affichait pas lors de perte de focus et valeur incomplète saisie
- FIX 143698 Combo : problème lorsqu’on appuie sur la touche bas du clavier avec quelque chose déjà saisi : mauvaise recherche
- FIX 152508 Combo : la touche bas du clavier ne donnait pas toujours le même résultat qu’un clic sur le bouton drop-down
- FIX 152510 Combo : La touche bas du clavier doit donner toujours le même résultat d’une fois sur l’autre
- DOC 146302 Installer::addToClass accepte l’ajout d’annotations
0.2.2006 Series : 3 – 9 février 2020
- ADD 146280 l’Annotation de classe @widget permet de définir un widget au niveau classe plutôt que propriété par propriété
- ADD 146278 Annotation de classe @feature_plugin pour l’activation de plugin pendant l’installation
- ADD 146278 Annotation de classe @feature_annotate pour l’ajout d’annotations (testé avec @override) lors de l’installation
- IMP 150548 évite le clignottement de la taille des éléments HTML input et textarea lors du rafraîchissement complet de la page
- IMP 146278 Dao::read($object) maintenant disponible pour tous les liens aux données
- FIX 146280 le @representative multi-champs pour une classe issue de classe abstraite rajoutait un champs de base de données representative non souhaité
- FIX 151726 crash lors de la recherche sur critère sans résultat dans le contrôleur JSON, dans le cas classe abstraite
- FIX 150716 Largeur des champs de formulaire cassée
- FIX 146278 L’appel au mainteneur MySQL était interrompu lorsqu’appelé pendant la mise à jour : attend la fin, ne fait plus cette mise à jour sur configuration de développement.
- FIX 146278 La largeur automatique auto_width ne fonctionnait plus dans les affichages de collection / map
- FIX 146278 Plantage de @feature_build avec un nom de trait
0.2.2005 Series : 27 janvier – 2 février 2020
- ADD 150876 On peut maintenant rajouter une propriété de classe abstraite interface comme colonne d’une liste, et rechercher, et trier
- ADD 150562 jquery.modifiable.js : nouveau callback configurable
- ADD 150562 Dans l’affichage HTML des collections, remplace data-name par data-display (libellé), ajoute data-id et data-name (avec le vrai nom de la propriété)
- ADD 150562 Filtre rapide du menu : permet maintenant le filtrage multiple séparé par virgule
- ADD 150562 Syntaxe de gabarit : {Class\Name.property_name.@values} pour la liste des valeurs possibles soit issues de l’annotation de propriété @values, soit – à défaut – du résultat de Dao::readAll sur la classe de la propriété
- ADD 150620 jquery.modifiable.js : nouvelle option live : callback événementiel sur pression de touche
- ADD 150562 jquery.modifiable.js : nouvelle option select pour sélectionner la zone de saisie à la création
- ADD 151184 Objets métier standard : Brand et Model
- ADD 150562 Call_Stack::containsNamespace pour la recherche de référence à des classes d’un espace de nommage donné dans la pile d’appels
- ADD 150520 Tente une traduction de l’ensemble des titres de fonctionnalité lors de la mise à jour du logiciel (WIP : ne fonctionne pas)
- ADD 151496 Nouveau design : pas de padding dans le contrôle HTML input de type color
- ADD 151496 User\Group::hasGroup() vérifie maintenant dans les sous-groupes, récursivement
- ADD 151496 Reflection_Class::isClass() pour vérifier qu’une classe ne soit ni une interface ni un trait
- ADD 151496 Annotation de classe @feature_build pour l’ajout d’une interface ou d’un trait à une classe lors de l’installation d’une fonctionnalité définie par annotation
- IMP 150390 Pour accélérer la mise à jour différentielle : n’attend pas la réponse de Mysql/maintain avant de terminer l’exécution (WIP : effet de bord : maintain est interrompu)
- REF 150390 Cache d’invalidation pour Feature_Cache, afin d’accélérer le recalcul différentiel de cache
- FIX 151022 Un warning quand l’application n’a pas de Menu
- FIX 151022 Annotation de propriété @default : l’appel à la méthode d’initialisation de la valeur par défaut ne fonctionnai plus dans Reflection_Class::getDefaultProperties()
- FIX 150876 Erreur “Invalid object instance” lors d’un objet de classe abstraite interface non défini.
- FIX 150562 Défaut d’affichage des boutons de fenêtre modale
- FIX 151172 Export xlsx depuis une liste avec critères de recherches et sélectionner tout proposait un fichier Excel sans données
- FIX 151172 Export xlsx d’objets de classe abstraite interface : vide au lieu de leur valeur représentative
- FIX 150764 Les sous-actions popup disparaissaient lorsque la souris descendait entre le bouton et le haut de la sous-liste
- FIX 150900 Les sous-actions popup apparaissaient trop à droite lorsque le bouton est à droite d’une fenêtre popup par exemple
- FIX 151496 La désérialisation d’une ancienne version d’un objet ne devrait pas crasher l’AOP nouvellement ajouté (raw-patch)
0.2.2004 Series : 20 – 26 janvier 2020
- ADD 150406 Permet de générer des liens absolus dans les zones de menu et le menu rapide, même si préfixés par /.
- ADD 150382 Message Accès refusé plus lisible pour un humain.
- ADD 150172 Objets standards : marque, modèle.
- ADD 150632 Barre d’actions générale : retour à la ligne au lieu de masquer ce qui dépasse à droite.
- ADD 150640 Annotation de propriété @fixed_height et annotation de propriété @fixed_width, pour empêcher les zones de saisie de bouger.
- ADD 150782 150802 On peut maintenant choisir une interface comme classe abstraite pour un objet de type mixte (WIP : problème si utilisé en colonne de liste).
- ADD 150782 Les classes abstraites interface permettent d’utiliser le @representative de chaque classe comme valeur commune.
- ADD 150800 Le modificateur d’annotation @local permet de ne pas tenir compte de l’annotation dans la chaîne d’héritage des annotations.
- ADD 150172 Commandé à migrer la fonctionnalité import vers le nouveau design (WIP).
- ADD 150950 Migration vers le nouveau design du @widget Collection_As_Map et du @wiget Map_As_Collection.
- ADD 150958 L’annotation de propriété @representative autorise maintenant les chemins de propriété.
- ADD 150562 La traduction en toutes majuscules donne maintenant un résultat en toutes majuscules (conservation de la casse lors des traductions).
- ADD 150562 L’annotation de propriété @widget accepte maintenant les options envoyées au widget.
- ADD 150562 Le @widget Map_As_Collection accepte maintenant l’option
sort=false
, pour interdire le re-tri automatique. - ADD 150562 Nouveau @widget Edit pour forcer la visualisation en modification d’une propriété, même dans les vues d’affichage (output).
- ADD 145174 Différentiation des annotations de classe @assigned_feature, @built_in_feature, @installed_feature pour le référencement de fonctionnalités utilisateurs.
- IMP 150674 Meilleur positionnement relatif des fenêtres popup.
- IMP 150756 Inverse la logique des flêches ascendantes et flêches descendantes dans les listes.
- FIX 150406 Corrections et optimisations sur le rapport d’empêchement de suppression.
- FIX 150712 Warning sur valeur par défaut de type tableau.
- FIX 150674 Manquait l’astérisque sur sur les objets obligatoires en liens Map.
- FIX 150714 Les mots de passes pouvaient sortir dans les journaux d’erreurs PHP en cas d’anomalie pendant la procédure d’authentification. Maintenant masqués.
- FIX 150782 Les dépendances
implements
n’étaient pas générés si la clause suivant une clauseextends
. - FIX 150782 La lecture depuis des classes abstraites écrasaient les objets issus de tables différentes mais de même identifiant. Maintenant indicées par id et nom de classe.
- FIX 150562 View::link avec un nom de classe et une fonctionnalité output était simplifié en retirant la fonctionnalité, or sans objet la fonctionnalité par défaut est add.
0.2.2003 Series : 13 – 19 janvier 2020
- ADD 70821 En cas d’impossibilité de supprimer (contraintes d’intégrité référentielle), affiche un message explicatif à l’utilisateur, au lieu de sortir une erreur.
- ADD 148134 Les priorités vides sont maintenant supprimées du fichier de configuration lors de la désinstallation d’un plugin.
- ADD 148586 Révision des codes couleurs des modules applicatifs.
- ADD 146632 Placement optimisé des objets liés (lien map) dans les formulaires.
- ADD 146632 Restreint la hauteur (barre de défilement verticale) de la partie donnée des documents dans les popup.
- ADD 146632 Améliore le rendu graphique des documents dans les popup.
- ADD 146632 Rajoute une data inside au
<body>
lors des appels en mode inside, retire l’espace réservé pour le menu dans ce cas. - ADD 146632 Affiche une corbeille lors du glisser-déposer d’une colonne de liste à l’extérieur de la liste (pour retrait).
- IMP 42932 Retire les warnings / erreurs lors d’appels à des noms de classes invalides dans l’URI.
- IMP 146632 Message de confirmation après suppression plus lisible pour un humain.
- REF 148134 Les priorités de plugins sont stockées dans une annotation de classe @priority, et prises en compte pour l’installation de plugins.
- FIX 70821 La sauvegarde des réglages de liste ne fonctionnait plus.
- FIX 148196 Ignore une anomalie d’appel du maintainer avec une table implicite identifiée par les deux champs constituant un lien many-to-many.
- FIX 42932 L’appel au maintainer mysql, et de contrôleurs sur namespaces sans classe, ne fonctionnai plus depuis de récentes modifications : corrigé.
- FIX 146850 Des problèmes de compilation : le remplacement de la clause use de classe par une classe built ne fonctionnait pas dans certains cas.
- FIX 146632 Le bouton dupliquer n’est plus en sous-bouton de modifier depuis longtemps, mais ça n’était pas pris en compte par la
fonctionnalité verrouillage. - FIX 146632 Anomalie javascript “TypeError: target is undefined” lors de la fermeture d’une popup.
- FIX 146632 Certaines anomalies de positionnement des popup pour des composants personnalisés.
- FIX 150324 Listes : bug de largeur de la colonne de sélection lorsqu’elle ne contient pas de cases à cocher.
- FIX 146632 Lorsqu’on n’a pas accès à la suppression de liste personnalisée, le nom de la liste ne devrait pas être retiré du menu contextuel.
- FIX 146632 Retire le bouton “moins” des formulaires pour les liens map en lecture seule.
Version 0.1.20
0.1.2002 Series : 6 – 12 janvier 2020
- FIX 149519 Templates : Les URL sans fichier existant vidées plutôt que remplacées par pear/console_getopt.
Versions antérieures
- Changelog – Journal des modifications 2019
- Changelog – Journal des modifications 2018
- Changelog – Journal des modifications 2017
Notice
Type d’intervention :- ADD – Addition : ajout d’une nouvelle fonctionnalité
- IMP – Improvement : amélioration d’une fonctionnalité existante
- REF – Refactoring : refactorise l’implémentation d’une fonctionnalité
- CNF – Configuration : réglages de configuration uniquement
- DEV – Development : code ajouté uniquement et spécifiquement pour les configurations de développement (par exemple traces de débogage)
- FIX – correction d’un bogue
- STD – Standards : application de standards de programmation
- DOC – Documentation : ajout / modification de la documentation incluse dans le code
- [RAD] – Rapid Application Development : développement graphique de fonctionnalités par l’utilisateur final
- 2 premiers caractères : l’année,
- 2 caractères suivants : le numéro de semaine.
La numérotation de ticket 12345 est un numéro interne de ticket, et ne correspond pas forcément à la numérotation de tickets dans GitHub.
Le master (https://github.com/itrocks/framework/master) correspond à la version en cours de développement, et contient donc les dernières évolutions du build le plus récent.
Voir aussi
- ADD 171640 Widgets css : Permet le remplacement de libellés de propriétés