IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Gestion de préférences par défaut


Sujet :

Eclipse Platform

  1. #1
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut Gestion de préférences par défaut
    Salut,

    Je suis actuellement en train de batailler avec la gestion des préférences par défaut : je souhaite que quand un utilisateur installe mon plugin A, ce plugin contribue des valeurs par défaut à des préférences définies par un plugin de la plateforme (org.eclipse.nimportequoi).
    J'ai connaissance de 3 solutions:
    - le fichier plugin_customization.ini, mais ce n'est pas viable vu que je ne déploie pas un product
    - un fichier preferences.ini dans le plugin, mais il semble n'être pas chargé car aucun changement n'apparaît dans la configuration
    - un initializer déclaré dans un point d'extension, mais lui non plus n'est jamais appelé. Il est dit dans la doc que cette classe est appelée quand le plugin demande pour la première fois des valeurs par défaut, mais vu que j'interviens sur les préférences d'un autre plugin, je vois mal comment il pourrait être appelé.

    Quelqu'un a-t-il déjà rencontré la même problématique et a su s'en sortir?

    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    J'ai mis en place un système d'affectation de préférences par défaut stockées sur une base de données, mais je m'étais basé sur un initializer personnalisé (et j'étais dans un product, donc avec plus de libertés dans la gestion du lifecycle des plugins), donc, méthode impossible à utiliser pour imposer des préférences à un plugin autre que les tiens (et en particulier à ceux d'Eclipse). J'ai toutefois mis en place un système qui permettait de recharger l'ensemble des préférences par défaut en une fois (donc toujours depuis la BD), à n'importe quel moment, en parcourant l'ensemble des bundles et leurs préférences (par exemple avec DefaultScope.INSTANCE.getNode( bundleId )). Avec un défaut toutefois : l'accès aux préférences nécessitaient le démarrage du bundle (donc tous les plugins impactés étaient démarrés lors de cette manipulation : j'avais envisagé à un moment de stocker leur état avant, et d'arrêter ceux démarrés pendant la procédure, mais je n'ai jamais poussé plus loin (bloqué par l'aspect "et si un autre bundle démarre en conséquence d'une dépendance du bundle démarré pour mettre à jour la pref ?")).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Dans mon cas précis il s'agit d'AERI pour le reporting automatique : les bundles démarrent dès le début de l'appli quoi qu'il arrive et le plugin maître instancie tous les contributeurs à ce moment. Donc je pourrais me greffer à ce moment-là peut-être en utilisant ta méthode dans le constructeur de la classe. La situation n'est pas idéale mais mérite d'être testée ! Merci pour le tuyau !
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  4. #4
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Petite update: la solution proposée marche bien: dans une class instanciée au démarrage du plugin, j'utilise l'appel à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DefaultScope.INSTANCE.getNode( bundleId )
    pour y stocker les valeurs que je souhaite mettre par défaut.
    J'ai par contre eu le cas avec une valeur qui quoiqu'il arrive n'était pas chargée selon la méthode habituelle (en allant chercher la valeur par défaut si la valeur dans l'InstanceScope n'existe pas), j'ai donc dû le mettre directement dans l'InstanceScope.
    La méthode n'est pas super élégante, mais ça fait le job, et comme le plugin dont je modifie les préférences est de toutes façons démarré immédiatement, le temps de démarrage n'est pas impacté.
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par alain.bernard Voir le message
    La méthode n'est pas super élégante, mais ça fait le job, et comme le plugin dont je modifie les préférences est de toutes façons démarré immédiatement, le temps de démarrage n'est pas impacté.
    En revanche, tu obliges celui qui veut personnaliser cette préférence à la resaisir après chaque démarrage, non ? Cela n'est peut-être pas utile (tes utilisateurs ne personnalisent jamais cette préférence),ou cela peut être voulu que cela ne soit pas possible dans ton envionnement.
    En revanche, il y a d'autres scopes, comme par exemple le ProjectScope pour les préférences de projet. Il y a le ConfigurationScope aussi, dont je n'ai pas compris exactement la fonction. Et le BundleDefaultsScope, encore plus obscur. Mais peut-être les valeurs par défaut des préférences dont tu parles sont gérées dans l'un de ces autres scopes.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des URL par défaut des WebServices
    Par helios77 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/05/2013, 13h39
  2. Réponses: 0
    Dernier message: 23/08/2011, 15h12
  3. Supprimer quelques pages de préférences par défaut
    Par RCPien dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 28/07/2009, 10h32
  4. Administration - gestion des tablespaces par défaut
    Par fga44 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/09/2008, 20h15
  5. Supprimer les préférences par défaut du menu Preferences
    Par kespy13 dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 27/04/2008, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo