Nous sommes heureux d'annoncer la version 2.6 de Tryton.
Cette version apporte de nombreux changements dans l'API avec l'introduction du patron Active Record. L'interface graphique a elle aussi reçu son lot d'améliorations. Comme d'habitude, la nouvelle version s'accompagne de corrections de bogues, de nouveaux modules (que nous annoncions précédemment) et de améliorations de modules existants.
Évidemment la migration depuis une version précédente est entièrement fonctionnelle.
Les changements majeurs dans l'interface graphique
•Gestion des droits d'accès au niveau du modèle et des champs.
Le client est maintenant capable de désactiver le bouton ‘Enregistrer’ quand un utilisateur n'a pas le droit de l'utiliser.
Cette fonctionnalité est aussi présente sur les champs relation pour la création/l'effacement d'enregistrements distants.
•Limitation dynamique de la taille des champs One2Many, Many2Many et Char.
Il est possible de limiter la taille de ces champs tant au niveau du serveur que du client.
•Suppression de la boite « Patientez … ». Cette fenêtre pop-up était ennuyante car elle entraînait une perte de focus.
•Le copier/coller en vue ‘liste éditable’ peut mettre à jour une sélection carrée depuis par exemple un logiciel de type tableur.
Changements majeurs apportés au serveur
•Les champs ‘Reference’ sont utilisables pour les One2Many et Many2Many.
En plus de pouvoir utiliser un Many2One comme lien inverse de la relation, il est à présent possible d'utiliser un champ ‘Reference’.
À l'avenir le lien entre les mouvements de stock (‘Move’) et les livraisons (‘Shipment’) utiliseront ce principe plutôt que quatre Many2One mutuellement exclusifs.
•Tous les boutons ont été fusionnés dans un seul concept bien plus simple.
•Les vues peuvent être stockée dans un fichier XML au lieu de la base de données. Ceci permet la modification des vue sans mise à jour de la base de données et accélère leur conception.
•Un nouveau genre de validation a été ajouté la pre_validation. Cette nouvelle pre_validation permet de valider l'enregistrement sans le sauver. Elle est utilisée par le client pour valider les lignes du One2Many. Avec la pre_validation, il est possible de fournir un retour à l'utilisateur au plus tôt et ce avant la sauvegarde.
•Patron Active Record: Ceci est le résultat d'un travail de refactorisation commencé il y a 2 ans.
Voici quelques uns des bénéfices que nous en tirons:
◦La taille du code a été réduite (à peu près 2200 lignes de code retirées) par exemple les on_change_with et les getter des champs Function peuvent être fusionnés.
◦Unification de la manière d'accéder aux valeurs d'un enregistrement qu'il soit ou non dans la base de données. Ceci permet par exemple de simplifier les appels à la méthode on_change.
◦Suppression de la boucle sur les ids dans les getter des champs
◦Rationalisation du processus d'enregistrement des Model (copie des champs etc.)
◦Suppression du paramètre session dans les ‘wizard’. Maintenant l'instance du ‘wizard’ est la session.