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

Exécution et industrialisation Discussion :

Créer un composant configuré commun à tous les projets


Sujet :

Exécution et industrialisation

  1. #1
    Membre régulier
    Créer un composant configuré commun à tous les projets
    Bonjour à tous,

    Je voudrais savoir s'il était possible de créer un composant à partir d'un existant et de le préconfigurer pour être commun à tous les projets ?
    Je ne parle pas d'un fichier externe de variables de context mais bien d'un composant dont certaines option sont cochées ou pas et donc personnalisés et qui sera le même dans tous projets.
    Quand on voudra modifier un paramètre de ce composant, la modification serait donc répercuté dans tous les projets faisant appelle à ce composant.

    Merci d'avance de vos réponses

    David

  2. #2
    Membre expérimenté
    Citation Envoyé par davelop Voir le message

    Je voudrais savoir s'il était possible de créer un composant à partir d'un existant et de le préconfigurer pour être commun à tous les projets ?
    Tu peux forker un composant et du coup modifier ça configuration par Default, ajouter supprimer des paramètre, modifier le code qu'il génère.
    Tu pourras trouver tous les composant fournis par Talend dans le dossier TOS_DI-#BUILD-DATE#-#BUILD-VERSION#\plugins\org.talend.designer.components.localprovider_#BUILD-VERSION#\components

    Par contre il faut ajouter un dossier de composant personnalisé dans la configuration de chacun de tes projets.
    KrQ/72A7tcaCNHQtjM9KZU33Uw" target="_blank">https://help.talend.com/reader/q9sID...NHQtjM9KZU33Uw
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  3. #3
    Membre régulier
    Bonjour supergeoffrey,

    Merci de ta réponse.

    Peux-tu me sire comment on fork un composant ?

    Merci d'avance
    David

  4. #4
    Membre expérimenté
    Tu copies le dossier du composant dans ton dossier de composant perso.
    Tu change l'initiale t de Talend par d'autres initiale

    Par exemple pour forker un tFileInputDelimeted
    tu copies le dossier tFileInputDelimeted
    tu renommes le dossier tFileInputDelimeted en ycFileInputDelimeted (yc = your compagnie)
    tu renommes tous les fichiers du dossier ycFileInputDelimeted prefixé par tFileInputDelimeted pour les préfixé avec yc (profites en pour virer les fichier properties des langues exotiques)
    Selon la version de Talend tu as un des import vers un dossier commun, je n'ai plus le nom de tête. Tu peux avoir à la copier dans le dossier de composant perso.

    La tu as un fork identique. Qui sera detecté par Talend au redémarage.


    Après tu modifies le fichier de configuration ycFileInputDelimeted_java.xml si veux modifier des valeur par défaut.
    Après c'est du développement de composant.
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  5. #5
    Membre régulier
    Super !
    Merci pour ces informations très claires.

    J'ai pas trop compris cette partie là :
    "Selon la version de Talend tu as un des import vers un dossier commun, je n'ai plus le nom de tête. Tu peux avoir à la copier dans le dossier de composant perso."

    J'ai une version 5.8.xx de Talend pour info

    Encore merci
    David

  6. #6
    Membre régulier
    J'ai essayé sur le composant TsendMail que j'ai personnalisé (serveur SMTP, comptes d'authentification..etc)

    Cela fonctionne bien pour insérer ce composant forké.

    Mais cela ne répond vraiment pas à mon besoin car si je modifie une caractéristique dans le fichier de configuration XML (le nom du serveur SMTP par exemple) cela ne le change pas la caractéristique du composant dans le projet existant mais uniquement pour les nouveaux TsendMail ajoutés.
    C'est seulement un composant préconfiguré (ce qui est déjà pas mal ceci dit)

    Ce que j'aurai voulu c'est qu'en modifiant la caractéristique dans le XML unique cela modifie tous les TsendMail de tous les projets, voir même dans tous les "build jobs" générés sans avoir à revoir tous les projets.

    Il y a quelque chose que j'ai mal compris ?

    Merci
    David

  7. #7
    Membre expérimenté
    J'ai répondu à ça : Le but est d'avoir des composant préconfiguré
    Je voudrais savoir s'il était possible de créer un composant à partir d'un existant
    Après pour que ce soit rétro-actif c'est une chose. Après je suis d'accord par le fait de remplacer tous tes tSendMail par des otherSendMail est relou.
    Mais ce sont deux composant différent.

    ET si tu patch ton Talend, ce que je te déconseille fortement il ne sera pas rétro actif non plus
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

  8. #8
    Membre régulier
    Oui le problème n'est pas de devoir remplacer tous les TsendMail par celui préconfiguré même si c'est relou.
    Mon besoin principal est la mise à jour d'un paramètre du composant pour l'ensemble des projets utilisant ce nouveau composant.
    Par exemple changer le paramètre du serveur SMTP dans le fichier xml qui serait automatiquement répercuté sur tous les projets.
    Mais d'après ce que je comprend ce n'est pas possible..

    Pour le paramètre du nom du serveur SMTP, la solution serait je pense d'utiliser une variable de context chargé depuis un fichier csv externe.
    Mais pour les paramètres de type cases à cocher (par exemple STARTTLS pour ce composant TsendMail) ça ne sera pas possible avec une variable de context.

    Merci quand même pour le temps passé à m'expliquer.

    David