Outils pour utilisateurs

Outils du site


public:roadmap_0.8

Roadmap de TXM 0.8.0

Planning

  • JUIN
    • vendredi 29 juin 2018 : livraison de TXM 0.8.0 alpha 1 Windows, Linux
  • OCTOBRE
    • jeudi 11 octobre 2018 : livraison de TXM 0.8.0 alpha 2 Windows, Linux
    • vendredi 19 octobre 2018 : livraison de TXM 0.8.0 alpha 3 Windows, Linux
    • vendredi 26 octobre 2018 : livraison de TXM 0.8.0 alpha 3 Mac
  • NOVEMBRE
    • livraison de TXM 0.8.0 alpha 3+ pour Linux
    • mardi 13 novembre 2018 : livraison des deux fichiers de messages EN et FR (résultats du script Export de la section scripts de gestion des chaînes)
    • vendredi 23 novembre : livraison de la section Changes (nouveautés)
    • mardi 27 novembre : fin des développements liés au nouveau scénario d'usage
    • puis livraison des deux fichiers de messages EN et FR corrigés
    • jeudi 29 novembre : fin des corrections de bugs alpha 1&2&3
    • vendredi 30 novembre : livraison des mises à jour du manuel de TXM (mode modifications)
    • mardi 4 décembre 2018 : livraison de TXM 0.8.0 beta 1
    • puis livraison du fichier de messages RU
  • DÉCEMBRE
    • lundi 17 décembre 2018 : livraison de TXM 0.8.0 avec manuel de TXM mis à jour

Discussions

Réunion 04/07/2017 : "chaines de la GUI" -- CGUI

  1. établissement du workflow (documentation et outils) : production de CGUI dans dévs → choix final (v1) pour le projet (clé+valeur) → traduction → maintenance
  2. politique de nommage des clés et outils associés
  3. construction d'une étape v1 pour viser la possibilité de donner la GUI à traduire le plus vite possible et date de livraison associée
  4. Challenge : un minimum de ré-architecturation de TXM pour pouvoir à la fois proposer des nouveautés (traduire, setups, extensions) et continuer la ré-architecturation

Compléments

  • Toute valeur vide de propriété, de structure ou de mot, sera et sera affichée : UNDEF
  • Dans Propriétés (ancien “Information”) : on prend les N premières valeurs au fil du corpus sans répétition et sans tri alphabétique

Spécifications

  • Restructuration du code de TXM : #690 #2113 wiki archi 079
    • structure des plugins :
      • core
        • structure des objets interne de TXM (résultats, corpus, etc.)
      • rcp
        • structure des UI de TXM (éditeurs, vues, page de préférence)
    • structure des préférences
    • structure du SVN
    • structure de l'externalisation des messages

Split

Le split est fini quand :

  1. split des commandes
    • on a sorti tout le code TBX+RCP dans des plugins (classes, extensions, messages)
      1. on a supprimé tous les cycles de plugins
    • les préférences sont gérées indépendamment dans chaque plugin
      1. déplacement des préférences
      2. vérifier les valeurs
      3. abandonné l'usage du fichier install.prefs
    • on peut builder la RCP
  2. split des strings
    • déplacer les strings dans les classes Messages et fichier properties des plugins
    • suppression des chaînes non-utilisées
  3. restructuration du code, hiérarchie des objets de résultat, mutualisation des commandes et éditeurs RCP
    • normaliser tous les objets en TXMResult, TXMPreferences, TXMEditor, TXMParameters, etc.
    • implémenter les méthodes abstraites des commandes TXMResult : canCompute, saveParameters, loadParameters
    • normaliser les charts avec les TXMResults
  4. normalisation de l'interface
  5. finalisation
    • la Toolbox devient le gestionnaire de corpus TXM
    • toutes les commandes fonctionnent normalement :
      • messages en console et ui (onglet editeur, boutons, etc) (voir TXMResult.getName(), getSimpleName(), getDetails(), ADAPTEURS, etc.)
      • préférences
      • calculs
    • le code de TXM 0.7.9 et ses plugins (Analec, Edition…) a été reversé dans TXM 0.8

Documentation (voir Recette 1)

  • documenter en Javadoc les “Direct Known Subclasses:” de TXMResult. Exemple : Partition, Specificities, etc.
  • documenter en Javadoc l'introduction de la classe Partition (org.txm.searchengine.cqp.corpus.Partition) :
    • actuellement “A partition on a corpus.”
    • → modifier :
      • introduire l'architecture de l'objet : une partition est composée de Part(s)
      • donner un exemple de création avec manipulation des paramètres
      • donner un exemple de manipulation de l'objet : itérer sur getParts()
      • préciser “Implements TXMResult”
      • lister les paramètres d'appel de la commande
  • documenter en Javadoc l'introduction de la classe Part

Restructuration

Formalisation du nouveau système :

  • chaque commande/plug-in contient un AbstractPreferenceInitializer étendu qui définit des clés de préférences/paramètres et des valeurs de préférences par défaut
  • chaque résultat étend TXMResult ou ChartResult qui centralisent maintenant toutes les commandes de chargement de paramètres/prefs par défaut, de computing, rendering, etc.
  • une annotation @Parameter a été créée pour automatiser un grand nombre de tâches (chargement automatique de préférences par défaut vers paramètres de l'objet ; sauvegarde auto dans le noeud de prefs et flush du fichier de persistance d'un résultat ; transfert automatique des paramètres de l'objet vers les Widget d'un éditeur (champs de paramètres) ; transfert des valeurs des Widgets d'un éditeur vers les paramètres d'un objet avant son computing ; clonage automatique des paramètres de types primitifs (boolean, int, etc.)
  • un état des paramètres d'un compute à N-1 est sauvegardé dans chaque TXMResult/ChartResult permettant de tester lors d'un compute si un paramètre de type COMPUTING ou RENDERING a changé. Ce système permet d'agir finement sur le computing ou le rendering, ex. : si la query d'une Progression a changé ⇒ faire tous les traitements ; si seulement la SUP a changé ⇒ faire seulement tel traitement ; si seulement la couleur du chart a changé ⇒ pas de computing, juste rendering (et juste changement de la couleur pas de recréation totale du chart) ; etc.
  • le système utilise maintenant une vraie hiérarchie en arbre pour les TXMResult. Chaque TXMResult possède un parent, ce qui permet des compute en cascade, clonage en cascade, lazy loading, simplification des delete en cascade et assurance des appels des méthodes de libération des ressources, etc.
  • les éditeurs ont été centralisés dans TXMEditor et ChartEditor qui gèrent le mécanisme de compute, de transfert des paramètres de Widget vers result et result vers Widgets, et pas mal d'autres choses
  • TXMResult définit des méthodes abstraites getSimpleName(), getName(), getDetails(), getValidFileName(), etc. permettant de générer des noms qui vont être utilisés à différents endroits (log, UI, etc.)
  • une commande héritant de TXMResult doit implémenter les méthodes du tableau suivant pour profiter pleinement du système
    • pour un développement progressif, une implémentation partielle des méthodes est possible

TBX

“computing fin” et “rendering fin” précisent si un passage a été fait pour vérifier et optimiser le compute et le render de la commande grâce à hasParameterChanged() à savoir : ne pas recomputer la totalité du result ou ne pas recréer le chart complet en fonction du type de paramètre qui a changé depuis le last computing ou le last rendering. Au-delà des optimisations (suppression des appels inutiles à R/CWB) cela peut permettre, pour les results de type table, de garder le tri/sélection de lignes, ou pour les charts, de conserver le zoom/pan/sélection entre deux rendus.

  • x = OK
  • - = inutile, implémentations vides
  • ? = à revérifier et optimisations ou computing/rendering fin possible
  • . = sous-classes
  • * = priorité haute
TXMResult loadParameters() @Parameter _compute() canCompute() saveParameters() computing fin rendering fin
Concordance* x x x x x -
Contrast
.AbsoluteFrequency
.Chi2
.RelativeFrequency
.Specificities2
Cooccurrence* x x x x x -
Index* x x x x - -
.TSIndex
Information/Diagnostic* - x x - - ? -
InternalView* x x x x x x -
LexicalTable* x x x x -
Lexicon* ? ? x x ? -
ParaBrowser
Preview -
QueryAutoCooccurence -
QueryCooccurence -
QueryIndex -
Referencer* x x x x x -
Selection
Specificities* - x x x - -
Summary (utilité TXMResult?)
TIGERSearch
ChartResult loadParameters() @Parameter _compute() canCompute() saveParameters() computing fin rendering fin
AHC* - - x -
CA* - x ? x - ?
Eigenvalues* - - - x - -
PartitionDimensions* - - x x - - x
Progression* - x x x - x
SpecificitiesSelection* - x - x - - x
TextsBalance x (mais bug dataset) x x x non fait
WordCloud x x x x x x
TXMObject loadParameters() @Parameter _compute() canCompute() saveParameters() computing fin rendering fin
Alignment
Base
Corpus
.Corpus
..MainCorpus
..Subcorpus
Edition
Page
Partition
Partition
Project
SavedQuery
Script
Text
Workspace

RCP

TXMEditor _createPartControl() @Parameter updateResultFromEditor() updateEditorFromResult() Infos supplémentaires
ConcordanceEditor
CooccurrencesEditor x x x x BUG: plantage si on choisit “structure” sur le corpus VOEUX, à tester car ca vient peut-être de mon corpus qui est obsolète, c'est une erreur CQP/JNI voir même un crash sur la dll JNI sur le corpus DISCOURS
IndexEditor x x - x BUG: la création d'une table lexicale depuis le noeud est la même peu importe si on choisit “use all occurrences” ou “index occurrences”, à vérifer. BUG: la fonction ne fonctionne que depuis une partition pas depuis un sous-corpus ⇒ la virer sur les sous-corpus ?
.DictionnaryEditor
InformationEditor x x - x
InternalViewEditor x x - x BUG: les cancel des PropertiesSelector ne fonctionnent pas [Matt après ton fix le cancel fonctionne mais le result est quand même recomputed, t'as moy de jeter un oeil ?]
LexicalTableEditor
QueryIndexEditor x x - x
ReferencerEditor BUG: double clic ET context menu vers Concordances plantent
SpecificitiesEditor x x - x
SVGGraphicEditor
TIGERSearchEditor
TSIndexEditor
Chartditor __createPartControl() @Parameter updateResultFromEditor() updateEditorFromResult() Infos supplémentaires
AHCChartEditor
CAFactorialMapChartEditor
EigenvaluesChartEditor - - - -
PartitionDimensionsEditor x x - -
ProgressionEditor x x x x
SpecificitiesSelectionEditor X X - -
TextsBalanceEditor x x - -
WordCloudEditor x x - -

Restauration des entrées des commandes dans les localisations RCP

Commande Toolbar “Tools” Context menu Vue Corpus Menu “Tools” Context menu Editor
AHC*
CA*
Concordance* x x x manque, lignes vers ???
Cooccurrence x x x manque lignes vers concordances
Eigenvalues* - - - -
Index* x x x x (concordance, cooccurrence, progression)
Information/Diagnostic* x x manquant -
LexicalTable* x x x x (4 commandes)
Lexicon* x x x
PartitionDimensions* x x x
Progression* x x x -
Referencer* x x x refToConc (ok mais prob de label)
Specificities* x manquant x x (lignes vers chart)
SpecificitiesSelection* - - - -
TextsBalance x x x
WordCloud x x x
les lignes étoilés sont prioritaires

Restauration de l'ordre des commandes dans les menus et toolbars

Utiliser : toolbar:org.txm.rcp.toolbartools?after=ID

où ID est l'id de la commande qui va précéder la commande actuelle, ex. de locationURI dans org.txm.ca.rcp :

toolbar:org.txm.rcp.toolbartools?after=org.txm.partition.rcp.handlers.ComputePartitionDimensionsBarChart

placera la commande APRES la commande de dimensions de partition.

Ordre des commandes 0.7.9

Toolbar :

  • Partagée result (org.txm.rcp.toolbarresult)
    1. Export chart
    2. Export data
    3. Delete

Corpus :

0.7.9 et 0.8

  • Corpus (toolbarcorpus)
    1. Edition (OK)
    2. Information/Diagnostic (OK)
    3. InternalView (Est en dernier pour l'instant)
    4. Delete (supprimé, passé dans toolbarresult)
    5. Subcorpus (OK)
    6. Partition (OK)
    7. Recode a property (En attente màj plugin)
    8. Update a corpus (En attente màj plugin)
  • Corpus (toolbartools)
    1. Lexicon (OK)
    2. Index (OK)
    3. Concordance (OK)
    4. Cooccurrence (OK)
    5. Progression (OK)
    6. Referencer (OK)
  • Corpus (à checker)
    1. Send to R
    2. Preferences
    3. Create new file
    4. Open file
    5. Rexecute last Groovy script
    6. Export
  • Sous-Corpus
    1. Edition (OK)
    2. Information/Diagnostic (OK)
    3. InternalView (Est en dernier pour l'instant)
    4. Delete (Est en premier pour l'instant)
    5. Subcorpus (OK)
    6. Partition (OK)
    7. Recode a property (En attente màj plugin)
    8. Update a corpus (En attente màj plugin)
    9. Lexicon (OK)
    10. Index (OK)
    11. Concordance (OK)
    12. Cooccurrence (OK)
    13. Progression (OK)
    14. Referencer (OK)
    15. Specificities (OK)
  • Sous-Corpus (à checker)
    1. Send to R
    2. Preferences
    3. Create new file
    4. Open file
    5. Rexecute last Groovy script
    6. Export

Partition :

0.7.9 et 0.8

  • Partition (toolbarcorpus)
    1. Information/Diagnostic
  • Partition (toolbartools)
    1. Delete (supprimé, passé dans toolbarresult)
    2. LexicalTable
    3. Recode a property (à garder sur un objet Partition ?)
    4. Update corpus (à garder sur un objet Partition ?)
    5. Index
    6. Specificities
    7. CA
    8. AHC
  • Partition (à checker)
    1. Preferences
    2. Create new File
    3. Open file
    4. Rexecute last Groovy script
  • Lexicon
    1. aucune commande spécifique
  • Index
    1. LexicalTable
  • Concordance
    1. Cooccurrence
  • Cooccurrence
    1. aucune commande spécifique
  • Progression
    1. aucune commande spécifique
  • Referencer
  1. aucune commande spécifique
  • LexicalTable
    1. Specificities
    2. CA
    3. AHC
  • Specificities
    1. aucune commande spécifique
  • CA
    1. AHC
  • AHC
    1. aucune commande spécifique

Chaînes de TXM

Pour finaliser les chaines et traduire, on a besoin :

  • d'un code stable → le split est fini (voir si dessous)
  • d'un système + ou - automatisé de diagnostic des messages de TXM (chaînes non-traduites, chaînes inutiles (properties ok mais pas de clé), chaînes non externalisées, chaînes en double, chaines cassées (clé OK mais pas de properties)
  • de chaînes stables : 1) commencer par externaliser les chaines du code 2) supprimer String inutiles 3) merger les répétitions de chaines d'un plugin
  • Messages techniques :
    • messages du logger de niveau de log inférieur à severe
    • doit-on externaliser les messages techniques (non : c'est long, oui : permet de corriger les chaines sans Eclipse) ?
    • doit-on traduire les messages techniques ? (non : c'est long et technique (encore moins de personnes dispo pour traduire)oui : est ce que tous les messages sont destinés au dev ou admin ?)
  • de clés de chaines stables à l'aide des specs : refactoriser les clés actuelles en suivant les recommandations https://groupes.renater.fr/wiki/txm-info/public/nommage_symboles_externalisation
  • d'un outil d'aide à la traduction qui : propose des trad, permet de trad toutes les langues, permet de recharger les chaines l'interface (+ ou - wysiwyg)
    • début de réponse : Ressource Bundle editor (modifie les fichiers de l'install directory, prévoir un moyen de téléverser/merger le taff) → Extension à faire pour TXM
    • début de réponse : Transifex (and co) outils externalisés → pas de maj automatique dans l'interface :'(

A FAIRE :

  • Voir quelles chaînes partager
  • Externaliser les chaînes restantes
  • Finir de traduire FR, EN et RU

Cycle de vie des objets TXM (vue Corpus, éditeurs de résultats/commandes, persistance, etc.)

Cible finale pour la BETA des nouveautés/réglages de TXM, vues les deadlines que l'on s'est imposées et pour tenir compte des retours des réunions de Besançon et de Lyon sur cette thématique :

  • Nouvelle commande : 'Conserver' un résultat → retrouver un résultat et ses descendants en relançant TXM
    • → la conservation ne se fait que sur les paramètres du dernier calcul
      • [SLH: les éditions manuelles de tables lexicales ou de concordances ne sont pas persistées1) → tout résultat (eg AFC ou Concordance) dépendant d'un tel objet ne peut pas être persisté complètement : on prévient donc l'utilisateur]
    • → les résultats doivent être synchronisés pour que la persistance fonctionne
      • → les résultats enfants sont recalculés si leur parent est recalculé
  • Nouvelle commande : désactiver/activer la modification/saisie des paramètres d'un calcul/résultat (métaphore cadenas, grisé…) → pour s'assurer qu'une branche ne sera pas recalculée
  • Nouvelle commande : 'Cloner' un résultat [SLH: pas (encore) les éditions éventuelles du résultat, e.g. suppression de certaines lignes d'une concordance]
    • → pour faire une variante de calculs
  • Nouvelle commande : 'Cloner avec descendants' (un résultat et ses descendants)
  • Nouvelle préférence : 'Conserver les nouveaux résultats par défaut' (désactivée par défaut)
  • Nouvelle préférence : 'Activer les paramètres électriques' (désactivée par défaut)
  • Nouvelle fonctionnalité : TXM rend compte de l'obsolescence des résultats précédents (éventuellement en cours d'affichage) dès la modification des paramètres de l'éditeur (qui affiche/édite à la fois les résultats et les paramètres de calcul)
    • → affichage d'une * dans l'onglet de l'éditeur et vue corpus
    • → le résultat sera persisté dans l'état de son dernier calcul (la modification d'un paramètre qui n'aura pas provoqué le re-calcul d'un résultat ne sera pas persistée)
  • Nouvelle fonctionnalité : masquage des calculs intermédiaires des raccourcis de commandes (activé par défaut)
    • → la table lexicale d'une AFC, CAH ou de Spécificités calculée sur une partition n'est pas affichée (dans la vue Corpus)
    • → les paramètres du parent masqué sont alors déportés dans l'éditeur du résultat ouvert
  • Nouvelle fonctionnalité : si il reste des résultats persistés non re-calculés ou modifiés lors de la fermeture de TXM, demander à l'utilisateur si il veut continuer et perdre les modifications et les paramètres des éditeurs

Cette première solution n'est pas la solution définitive mais établi un compromis entre l'état des développements et les attentes. Si on a le temps (ou si l'on accepte de déplacer la deadline, a priori non), on pourra ajouter aux développements :

  • Nouvelle commande : Afficher/Cacher les résultats intermédiaires de commandes
    • → les paramètres déportés ne sont plus affichés
  • Nouvelle préférence : stylage des résultats en fonction de leur état (persisté, non persisté, non-calculé, dirty, affiché dans l'éditeur courant)
  • Nouvelle préférence : désactiver la synchronisation/auto-compute des résultats/paramètres (nécessite des devs pour rendre compte de la dé-synchronisation). Par défaut, désynchronisé.
  • Nouvelle commande : Synchroniser les [résultats] descendants
  • Nouvelle commande : Propriétés d'un résultat (affiche les paramètres du dernier calcul, les paramètres sont sélectionnables [SLH: éditables ? MD: pas dans un premier temps mais déjà testable dans les vues de debug])

Etat des chaînes après split

Chaînes manquantes

(A récupérer dans 0.7.9)

  • ObjectExplorer_9
  • ConcordancesEditor_52

Chaînes non-utilisées / broken strings

(à virer, ou pas)

A FAIRE - AUTRE - ETC.

  • renommage de résultat :
    • solution possible : ajouter un userName aux TXMResult
  • liens entre commandes
    • rétablir les anciens liens, sans dépendance de plugin (avec l'API des commandes ?)
    • en rajouter
    • lier les éditeurs

Corpus exemples

Les corpus exemples sont représentatifs de la diversité des types de corpus pris en charge par TXM.

Ils peuvent aider comme support à une formation ou pour la prise en main du logiciel.

FR

On livre 4 corpus représentant les formats pris en charge par TXM :

  • corpus écrits :
    • VOEUX : finaliser une version à jour, description ?
  • corpus de transcriptions d'enregistrement :
    • P1S8 : extrait de 2 minutes (dont on est autorisé à jouer la vidéo)
  • corpus aligné :
    • UNO : extrait ?
  • corpus en tableau :
    • ANTRACT ?
    • Tweets ?
    • exemple de la documentation des macros ?

On livre des corpus représentant les capacités TEI et l'édition synoptique :

  • FR OLD : GRAAL (facettes lexicales, traduction en français moderne, mise en page personnalisée, caractères médiévaux MUFI) : 9,8 Mo le binaire
  • TDM80J (simple pagination) ?

Suivant le volume correspondant, on peut ne pas tout livrer dans l'installeur, mais documenter comment récupérer certains facilement.

EN

On livre 4 corpus représentant les formats pris en charge par TXM :

  • corpus écrits :
    • BROWN (~?)
  • corpus de transcriptions d'enregistrement :
    • ?
  • corpus aligné :
    • UNO : extrait ?
  • corpus en tableau :
    • ?

On livre des corpus représentant les capacités TEI et l'édition synoptique :

Relations avec le portail

  • Mettre à jour la TBX du portail
  • Faire fonctionner le portail en mode “lite” (sans stats et charts)
  • Faire fonctionner le portail en mode “complet”

Prototypes

  • fin mai 2018 : TXM 0.8 ALPHA
  • juillet 2018 : TXM 0.8 STABLE

Recettes

Merci de faire vos commentaires et retours de bugs dans la page de suivi https://groupes.renater.fr/wiki/txm-users/public/retours_de_bugs_logiciel/txm_0.8.0.

Recette 0 - installation multiple

  • Télécharger l'installeur de TXM 0.8 pour Windows ou Ubuntu :
    http://textometrie.ens-lyon.fr/files/software/TXM/0.8.0a
  • installer TXM 0.8
  • lancer TXM 0.8 (pour le débogage, tous les logs possibles et consoles sont activés par défaut)
  • constater qu'un nouvel espace de travail est créé dans $HOME/TXM_0.8.02)
  • récupérer les corpus de TXM 0.7.9 à l'aide de la commande “Fichier > Charger > un répertoire de corpus binaires…” et sélectionner le répertoire “$HOME/TXM/corpora” (du TXM courant, par exemple TXM 0.7.9).

Notes de release

  • sous Windows :
    • désinstallation de TXM 0.8.0
      • le répertoire d'installation ne se vide pas si on n'a pas quitté TXM 0.8.0 avant de lancer la désinstallation → pour l'instant il faut quitter TXM 0.8.0 soi-même avant de lancer la désinstallation

Recette 1 : vérification de toutes les fonctionnalités de TXM 0.8.0

Liste des fonctionnalités à vérifier

[en italique les remarques sur ce qui est en cours de finalisation]

Pour chaque commande, il faut vérifier par ailleurs les valeurs par défaut des paramètres dans les préférences de la commande.

  • menu Fichiers
    • Imports : une partie des modules a été rétabli : Presse Papier, TXT, DOC, XML, XTZ.
    • Charger
      • corpus binaire (.txm)
      • répertoire de corpus binaire pour récupérer les corpus d'un autre TXM
  • Vue Corpus
    • affiche un résultat par double-clic sur l'icone
    • export
    • suppression non disponible pour la sélection multiple
  • menu Corpus
    • Édition
    • Propriétés de corpus
      • modifier le nom affiché dans la vue corpus
      • modifier la description du corpus
      • et observer la mise à jour de la partie basse
    • Vue Interne
    • Sous-corpus
      • mode simple
      • mode assisté
      • mode avancé avec une CQL. Par exemple, '[frlemma=“mot à rechercher”] expand to s' pour construire le sous-corpus les phrases qui contiennent le mot 'mot à rechercher'
    • Partition
      • simple
      • assistée
      • avancée
    • Table lexicale
  • menu Outils
    • Lexique
    • Index
    • Concordance
    • Cooccurrences
    • Progression
      • ajouter des requêtes au fur et à mesure et visualiser l'évolution de la progression
    • Références
    • Spécificités
      • Diagramme en batons des lignes
    • Analyse factorielle
      • mise en évidence des points à partir des lignes des tableaux et vice et versa
    • Classification

Nouveautés à discuter

L'évolution de l'architecture de TXM a eu des répercussions jusque dans de nouvelles possibilités dans l'interface utilisateur.

  • Interface des commandes : intégration du paramétrage avec l'affichage des résultats
    • les fenêtres de résultats de commandes (tableau, graphique…) intègrent maintenant une zone d'outils en haut, pour notamment la saisie des paramètres obligatoires et fréquents et pour relancer le calcul/rafraichir les résultats
    • ces fenêtres intègrent également en dessous une zone rétractable réservée aux paramètres de calcul supplémentaires : on peut donc modifier tous les paramètres d'une commande pour faire évoluer les résultats sans relancer la commande
      • la majeure partie des modifications d'un paramètre dans une fenêtre de résultats entraîne un recalcul direct (avant il fallait pour certains résultats cliquer sur un bouton, par exemple 'Search')
    • pour les résultats graphiques, ces fenêtres intègrent une zone rétractable supplémentaire réservée aux paramètres graphiques : mode couleur, taille de police, etc.
      • un bouton “Open Chart Properties” permet de régler plus finement encore le rendu des graphiques si le moteur est en mode Java
  • vue Corpus :
    • le nom d'un résultat dans la vue Corpus est maintenant mis à jour en fonction de ses paramètres
    • ce nom est éditable avec le raccoucis F2 ou depuis le menu contextuel
  • suppression de boites de dialogues de paramétrages intermédiaires :
    • pour le calcul d'une progression
      • tous les paramètres ont été déplacé dans la zone de paramétrage.
      • on peut rajouter une requête directement à partir du champ requête de la toolbar
    • pour le calcul d'une table lexicale dans l'affichage de la table lexicale
      • le paramètre “propriété” est maintenant directement dans la fenêtre de résultats, est-ce qu'il manque d'autres paramètres ?
      • le fait de changer dynamiquement la propriété pose diverses questions
        • ex. est-ce qu'on remet à zéro le fmin, vmax ? etc.
        • changer la propriété fait perdre toutes les modifs faites sur la table (fusion/suppression de colonnes ou lignes)
          • en fait c'est peut-être un plus car ça permet de revenir à la table d'origine mais il faudrait synchroniser cela et le scénariser
    • pour le calcul des spécificités (le paramètre “propriété” est maintenant directement dans la fenêtre de résultats, est-ce qu'il manque d'autres paramètres ?)
  • gestion des résultats intermédiaires
    • les boîtes de dialogues des commandes AFC et CAH n'ont pas encore été intégrées dans leur fenêtre de résultats respective car cela pose pas mal de questions ergonomiques et internes au développement, notamment :
      • la visibilité ou non de certains résultats intermédiaires (eg table lexicale entre une partition et une AFC, CAH entre une table lexicale et une CAH, etc.)
      • le recalcul (ou non) ascendant et descendant de tous les résultats dépendants d'une branche dans la vue Corpus
      • interne au dev: la gestion dans le code de la modif en cascade (notamment via l'annotation @Parameter) ou déportation des valeurs de ces paramètres vers l'objet enfant final
    • le comportement actuel des AFC et CAH est le suivant :
      • 1) création de l'AFC/CAH et des résultats intermédiaires
      • 2) si l'on change un paramètre de la table lexicale, toutes les AFC/CAH enfants sont recalculées
      • MAIS: les fenêtres de résultats ne sont pas mises à jour donc il faut fermer et réouvrir l'AFC/CAH pour afficher le nouveau résultat

Bugs déjà répertoriés

  • Supprimer : le bouton “Supprimer” de la barre d'outil ne fonctionne pas pour la suppression d'un résultat [SJ: fixé]
  • AFC :
    • l'ouverture d'une AFC intermédiaire parent d'une CAH ne fonctionne pas [SJ: fixé]
  • Progression :
    • désélectionner une structure dans la combo box génère une null exception [SJ: fixé]
  • Liens hypertextes :
    • Progression et Concordance liée (double clic vers un point de progression puis sélection dans les points de la courbe) ⇒ bug: la colonne text_id ne suit pas la sélection, mettre un selection listener au lieu du listener actuel (click listener ?)
    • Progression et Edition liée (CTRL + double clic vers un point de progression puis sélection dans les points de la courbe) ⇒ bug: exception + la mise en évidence ne fonctionne pas correctement
  • Langue de l'interface :
    • certaines chaînes de caractères ne sont pas traduites en français ou en russe
    • en français, certaines chaînes n'ont pas été converties en UTF8 provoquant des bugs d'affichage des accents, etc.

Recette 2 : scriptage de la plateforme

  • écrire une macro de calcul des spécificités chronologiques
    • trouver la documentation des objets et des commandes pour réaliser le calcul :
      • trouver dans la documentation de l'API de la toolbox :
        • la documentation de l'objet Partition (ou de TableLexicale, plus tard) la signature d'appel permettant d'itérer sur les parties en récupérant pour chaque partie t, prop(i), f(i) et F(i)
        • la documentation de l'objet Part, Lexique de la Part, etc.
        • la documentation du calcul de Specificities la signature d'appel permettant de calculer une spécificité de (T, t, F, f)
      • trouver dans la documentation de l'API de la RCP :
        • la documentation de la commande Concordance
        • la documentation des liens hypertextes internes d'appel de commandes (API ?)
    • code :
      • itérer sur les regroupements de parties par niveaux en calculant les spécificités et en stockant les résultats
      • trier et filtrer les résultats (seuils en paramètres)
      • afficher un tableau HTML contenant des liens vers la Progression (la progression doit afficher des délimitations en rapport avec les parties de la partition pour pouvoir vérifier la densité chronologique)

Recette 3 : annotation de propriétés de mots en concordance

  • si il n'est pas déjà présent, charger le corpus VOEUX
  • calculer la concordance de [frpos="NOM"][frpos="NAM"] sur le corpus :
  • démarrer l'annotation de propriétés de mots en cliquant sur le bouton [crayon] qui se trouve au bout de la barre d'outils de la fenêtre de concordance, la propriété à annoter 'frlemma' est sélectionnée par défaut et sa valeur est affichée dans la concordance :
  • ouvrir une deuxième barre d'annotation avec la propriété 'frpos' en cliquant sur le bouton [+] qui se trouve au bout de la première barre d'annotation, sa valeur est ajoutée à la concordance :
  • corriger les valeurs de 'frpos' :
    • saisir la nouvelle valeur 'ADJ' dans la 2e barre d'annotation
    • sélectionner les lignes à corriger
    • cliquer sur le bouton 'OK' de la 2e barre d'annotation
  • sauver l'annotation en cliquant sur le bouton [crayon/disquette] de la barre d'outils de la concordance le corpus est mis à jour
  • recalculer la concordance de [frpos="ADJ"][frpos="NAM"] ???
  • vérifier que la propriété 'frpos' est bien corrigée en changeant les propriétés d'affichage du pivot
    	                                  left   pivot          frlemma	frpos  right
       va continuer de prêter son concours à leurs   jeunes Etats   jeune   ADJ    pour qu'ils portent leurs responsabilités et développent leurs propres pays en
                 en passant : qu'il est beau notre   vieux Paris    vieux   ADJ    rajeuni ! - ou bien de la mise en œuvre 

Recette 4 : extension installation de TreeTagger

Changes

en cours d'écriture : https://mensuel.framapad.org/p/LvdfZOCccm (à utiliser pour la mise à jour du manual, le message d'annonce, la welcome page…)

1)
voir également la fonctionnalité de sauvegarde/chargement de ces résultats
2)
HOME est le répertoire utilisateur qui dépend du système d'exploitation. Sous Windows, il s'agit habituellement du répertoire C:/Users/<login> et sous Linux du répertoire /home/<login>
public/roadmap_0.8.txt · Dernière modification : 01/12/2021 11:14 de matthieu.decorde@ens-lyon.fr