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

W4 Express Java Discussion :

Leonardi - participez ici [FAQ]


Sujet :

W4 Express Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 63
    Points
    63
    Par défaut
    Bonjour à tous,

    Nous vous invitons à participer à la F.A.Q. de Leonardi. N'hésitez pas à poster vos questions et réponses dans cette enfilade.

    Si vous proposez une question, vous devez impérativement proposer la réponse qui va avec... (les questions sans réponses seront supprimées).

    Ce sujet vient en complément de la F.A.Q. de Studio. Les questions/réponses de ce sujet n'ont pas forcément d'équivalence sous Studio.

    Sommaire
    1. Suppression des boutons appliquer dans les formulaires
    2. Paramétrer les variables d'une application
    3. Désactiver les tables éditables pour les relations multiples
    4. Réduire la taille des applications Leonardi
    5. Affichage des erreurs à l'utilisateur ou dans un fichier de log
    6. Gestion de profils utilisateurs
    7. Dégrouper les actions d'une dashboard
    8. Prise en compte de modifications dans une méthode propagate
    9. Connecteur ODBC pour Access avec espaces dans les noms


    Merci à tous pour vos contributions...
    Bonne rédaction.
    FAQ Studio et FAQ Leonardi pour les outils W4

  2. #2
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Comment supprimer les boutons 'appliquer' dans les formulaires
    Suppression des boutons appliquer dans les formulaires

    dans les ressources studio , il y a deux ressources dans l'onglet paramètres,
    vous pouvez surcharger dans les parametres par défaut (en bas à droite):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # Enable/disable Apply button everywhere
    LY_APPLY_BUTTON=true
     
    # Enable/disable Apply button in creation forms
    LY_APPLY_BUTTON_IN_CREATION=true
    Le mettre à 'false' : le premier si on veut supprimer partout, le second dans les formulaires de création seulement.

    Remarque 1 :
    en dehors de studio ajouter les paramètres dans le fichier properties/resources_<appli>.properties

    Remarque 2 : ces resources peuvent être aussi positionnées comme resources spécifiques sur une action : dans ce cas seule cette action est concernée.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Si on fabrique une application Leonardi avec Studio,
    les paramètres de la base sont stockés dans le fichier
    <monappli>/info/monappli.xml
    Or une fois livré ce fichier est dans un .jar : monappli.jar
    Pas très pratique à modifier...

    Fermer Studio

    Editer le fichier
    monappli/info/monappli.xml

    et remplacer les paramètres en "dur" par des variables (les noms sont au choix)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <L_SQL id="conn_mysql"
    			url="$JDBC_URL"
    			driver="com.mysql.jdbc.Driver"
    			user="$JDBC_USER"
    			password="$JDBC_PASSWORD"
    			dbName="$JDBC_DATABASE"
    			valueSep=""/>
    Relancer Studio
    Cliquer en haut sur l'item "Propriétés" dans la barre d'outils, puis "Environnement" et renseigner les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $JDBC_USER=root
    $JDBC_PASSWORD=xxxxx
    $JDBC_URL=jdbc:mysql://myserver:3306/test
    $JDBC_DATABASE=test
    Remarque : ces valeurs d'environnement vont dans le .ini que l'on peut aussi éditer avec un éditeur de texte.

    Dès que la relation est de composition multiple l'interface graphique par défaut de Leonardi propose des tables éditables dans les formulaires.
    Dans certains cas on souhaite désactiver completement ou partiellement cette option et retrouver des tables normales.

    1. Pour supprimer globalement : mettre la resource
      LY_EDIT_TABLE_FOR_RELATIONS=false

      Voici comment procéder dans studio (hors de studio il suffit de le mettre dans le fichier resources_xxx .properties)
      dans Studio cliquer en haut sur "ressources" puis onglet "paramètres"
      puis sélectionner : "LY_EDIT_TABLE_FOR_RELATIONS"
      cliquer dans la barre d'outil sur "surcharger..." et choisir false.
      Les objets dans les tables se saisissent à l'aide la barre d'outils.
    2. Il est possible comme toujours de ne positionner la resource que sur une action particulière pour ne changer le comportement que localement.
      (par exemple mettre false globalement et true sur une action que l'on veut garder en mode éditable).
      Studio : sélectionner une action > resources spécifiques > type paramètre et meme chose qu'en 1)
    3. Il est aussi possible de créer un comportement de classe (LyClassBehavior)
      et de traiter au cas par cas relation par relation dans la méthode :
      Code java : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      public boolean useEditTable(LySetController controller, LyRelationFieldInfo relation)
      {
      }

  4. #4
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Le Zip d'une application Leonardi fait plus de 10Mo et donc peut être difficilement envoyé par email.

    En fait dans le projet Leonardi si il a été créé et testé avec Studio,
    contient en général dans le répertoire _studio un fichier .jar et parfois un fichier .war :
    ce sont les fichier de déploiment générés par Studio incluant le projet + les lib leonardi + les librairies tièrces.
    Ils ne sont pas utiles pour quelqu'un qui possède déjà Leonardi sur son poste.
    En supprimant ce .war et le .jar on obtient un fichier zip de quelques centaines de Ko.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2007
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Affichage des erreurs à l'utilisateur ou dans un fichier de log.
    Leonardi, pour toute erreur ou exception levée, effectue un appel à la classe leon.misc.LyEnvironment
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    	/**
             * This method logs fatal errors.
             * @param message Message to log.
             */
    	public void logFatal(String message)
     
    	/**
             * This method logs errors.
             * @param message Message to log.
             */
    	public void logError(String message)
     
    	/**
             * This method logs warnings.
             * @param message Message to log.
             */
    	public void logWarning(String message)
     
    	/**
             * This method logs info.
             * @param message Message to log.
             */
    	public void logInfo(String message)
     
    	/**
             * This method logs traces.
             * @param message Message to log.
             */
    	public void logTrace(String message)
     
     
    	/**
             * Writes an exception to the error stream. DEBUG_ERROR level must be set to produce the stack
             * trace.
             * @param t The exception to write.
             */
    	public void writeException(Throwable t)
    Ces appels sont traités par la classe leon.misc.LyLogger

    Il est possible de fournir sa propre implémentation de la classe LyLogger :
    dans le .ini de l'application (dans Studio ces valeurs sont dans "Propriétés" / onglet "environment") : fournir le nom complet (avec les packages par exemple com.monappli.MyLogger) d'une classe héritant de LyLogger pour traiter à volonté ces erreurs.

  6. #6
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Points : 57
    Points
    57
    Par défaut
    Comment faire pour que les actions commençant par la même lettre ne soient pas groupées dans un menu de ma dashboard ?

    Mettre (ou ajouter) la ressource LY_TOOLBAR_GROUP_ACTIONS_BY_IMAGE a false sur l'action, car en réalité ces actions sont groupées par image, et l'image par défaut est la représentation de la première lettre de l'action.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 63
    Points
    63
    Par défaut Prise en compte de modifications dans une méthode propagate
    Je change les propriétés d'un ou plusieurs champs dans la méthode propagate de mon behavior mais les modifications ne sont pas prises en compte en client lourd.

    Certaines modifications de propriétés peuvent générer beaucoup d'actions de rafraichissement, c'est pour cela qu'elles ne sont pas activées par défaut. Pour les utiliser, il faut faire un appel à la méthode resetFormContent() du LySetController.
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void propagate(LySetController set, LyFieldInfoValue newValue)
    {
    	LyApplication app = set.getApplication();
    	LyFieldInfo changing_field = (LyFieldInfo)app.getInfo("my_field");
    	...
    	set.setHidden(changing_field, bool_value);
    	set.setOptional(changing_field, bool_value);
    	set.resetFormContent();
    }
    FAQ Studio et FAQ Leonardi pour les outils W4

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 63
    Points
    63
    Par défaut Connecteur ODBC pour Access avec des espaces dans les noms de tables et de colonnes
    J'utilise le connecteur ODBC pour accéder à une base Access dont certaines tables et certaines colonnes contiennent des espaces. Les requêtes SQL générées ne sont pas valides.

    Il faut entourer les noms contenant des espaces avec des crochets [ ] :
    Dans les fichiers XML des classes posant problèmes, on aura donc le CBIND suivant :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <C_BIND value="[Spaced Class]" location="MySQLLocation"/>
    Idem pour les FBIND des champs :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <DATE id="order_date" type='DATE'>
    	<F_BIND value="[Order Date]" cbind="[Spaced Class]"/>
    	<NAME value="NAME_ORDER_DATE"/>
    </DATE>
    FAQ Studio et FAQ Leonardi pour les outils W4

Discussions similaires

  1. FAQ Général Java - participez ici
    Par Mickael Baron dans le forum Général Java
    Réponses: 1
    Dernier message: 27/04/2015, 09h17
  2. Participez à la FAQ NetBeans
    Par mlny84 dans le forum NetBeans
    Réponses: 27
    Dernier message: 21/07/2011, 16h30
  3. Page Sources Java libres - participez ici
    Par Mickael Baron dans le forum Format d'échange (XML, JSON...)
    Réponses: 109
    Dernier message: 26/06/2011, 17h34
  4. Studio - participez ici
    Par Eric Mounhem dans le forum W4 Express
    Réponses: 5
    Dernier message: 03/08/2007, 15h00

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