Outils pour utilisateurs

Outils du site


public:specs_dev_rcp:architecture_079

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

public:specs_dev_rcp:architecture_079 [2021/12/01 11:02] (Version actuelle)
matthieu.decorde@ens-lyon.fr créée
Ligne 1: Ligne 1:
 +======= Discussion TXM 0.7.9 =======
  
 +Page de discussion des changements d'​architecture à effectués pour la prochaine livraison de TXM.
 +
 +Cette version de TXM comprend beaucoup de changements non-visibles par l'​utilisateur qui concerne principalement l'​architecture du code.
 +
 +===== Partie visible pour l'​utilisateur =====
 +
 +  * Finir l'​implémentation CAH 2D avec JFreeChart
 +  * Implémenter un lien éditeur -> chart : concordance -> progression
 +  * macros de stylage d'AFC =? API stylage JFreeChart
 +
 +===== Partie non-visible =====
 +
 +==== Setup ====
 +
 +Scripts de déploiement de mise à jour (update site + zip) sur preprod -> prod
 +
 +R embarqué -> wrappé dans un plugin RCP (comme CQP) -> StatET peut aider ?
 +
 +prévoir Windows installation multi-user
 +
 +Contrôler exactement les moments de recherche de maj et les update site contactés
 +
 +==== Communication avec les utilisateurs ====
 +
 +"​what'​s new" de TXM : annonce de maj, d'​atelier,​ rappel d'​inscription aux listes, rappel page FAQ
 +
 +==== Projets ====
 +
 +tout va changer -> nouveau SVN ?
 +
 +renommer les projets :
 +  * Toolbox -> org.txm.core,​ mais on toujours dire "​Toolbox"​
 +  * RCP -> org.txm.rcp
 +  * LIB -> lib (ex: org.tmx.jfreechart,​ org.tmx.groovy-all,​ org.tmx.sqlite)
 +  * UNPLUGIN -> org.txm.unplugin.core + org.txm.unplugin.rcp
 +  * UNEEXTENSION -> org.txm.uneextension.feature (ex : org.txm.stats.feature qui contient org.txm.ca.core + org.txm.ca.rcp + org.txm.cah.core + org.txm.cah.rcp + org.txm.specif.core + org.txm.specif.rcp + ...)
 +
 +renommer les répertoires des projets avec le nom du projet
 +
 +organiser les projets dans des sous-répertoires : libs, plugins, ... ?
 +
 +organiser les projets par "​working set" -> partager le fichier de configuration du workspace dans SVN
 +
 +commencer le split des plugins par une partie RCP et une partie TBX
 +
 +définir en combien de plugins découper la Toolbox et la RCP
 +
 +==== Préférences ====
 +
 +un node par projet = un fichier .pref par plugin
 +
 +normaliser les noms des préférences : nom du projet (org.txm...) + code de la préférence
 +
 +remplacer les prefs de la Toolbox par un scope
 +
 +mettre en place les PreferenceInitializer
 +
 +==== Messages ====
 +
 +langue par défaut anglais + 2 fichiesr ​ pour le français et le russe
 +
 +Fichiers : 
 +  * partie RCP
 +    * bundle dans OSGI-INF
 +    * classes dans le package racine du projet
 +  * partie TBX
 +   * classes dans le package racine du projet
 +Nommage : 
 +  * pour les devs 
 +  * pour les traducteurs
 +  * typer les clés en fonction de l'​utilisation du message. Par exemple :
 +    * Log
 +    * Widget
 +    * Toolbar
 +    * Menu
 +    * Tooltip
 +    * Préférence
 +    * Dialog
 +    * ...
 +  * Propositions SJ
 +    * Log
 +    * EditorToolBar
 +    * PreferencesPage
 +    * Dialog
 +    * Charts
 +
 +Aide à la traduction : tester le plugin de traduction en interface
 +
 +En cours, voir si on peut mixer les fichiers bundle.properties (messages du bundle) et messages.properties (messages du code source) dans un seul fichier. Après tests ça semble fonctionner mais il faut tester au build :
 +
 +  * définir le dossier OSGI-INF en tant que dossier de source dans propriétés du projet
 +  * définir le bundle name dans la classe Messages :
 +  * private static final String BUNDLE_NAME = "​l10n.bundle";​
 +  * retester que le rollover dans le coude source dans Eclipse fonctionne bien
 +  * tester avec un build que cela fonctionne bien dans toutes les langues
 +  * actuellement ceci a été fait uniquement pour l'​extension Wordcloud
 +  * Attention il faut veiller à ce que le dossier OSGI-INF ne soit pas exporté deux fois lors du build, 1 fois en tant que source et une fois en tant que dossier d'​internationalisation,​ donc peut-être qu'il faudra le supprimer des Exported entries du projet
 +
 +Pour info : le plugin Eclipse AnyEditTools permet de trier les lignes des fichiers .properties par ordre alphabétique (ainsi que les membres statiques des classes Messages).
public/specs_dev_rcp/architecture_079.txt · Dernière modification: 2021/12/01 11:02 par matthieu.decorde@ens-lyon.fr