Wave me: thomasfriebel @ googlewave . com
Tutorial
Video: Talend MDM Community Edition Installations-Tutorial
13. Mrz
Jim Walker, der Talend MDM Produktmarketing Manager, erklärt in diesem Tutorial-Video, wie man die Open Source MDM-Lösung von Talend installiert und konfiguriert.
Weitere Videos zu Talend findet man im TalendChannel auf youtube.
Possibly related posts: (automatically generated)
- Related posts on howto
- How to use SoftBank prepaid on your US iPhone « chris.ivarson
- HOW TO MAKE PLUM WINE FROM SCRATCH – using 5 gallon demijohns …
- Howto: Make Firefox Load Faster | Fix Mozilla Firefox
Mit Google automatisch twittern
18. Jan
Twitter spielt eine zunehmend größere Rolle im Word Wide Web. Der Erfolg des Mircoblogging-Dienstes ist einfach enorm. Tweets, also die 140 Zeichen langen Nachrichten, werden tausendfach jede Sekunde geschrieben und gelesen. Es ist kaum leichter, auf so einfache Art und Weise soviele Menschen anzusprechen. Es gibt bereits erste Werbe-Netze wie be-a-magpie.com, die es einem erlauben Werbetweets gegen Bezahlung in seine Timeline einfließen zu lassen. Andere “vermieten” ihren Twitter-Background (also die Grafik auf der Profilseite von Twitter) als Werbefläche. Auch sind viele Twitter-User potentielle Besucher der eigenen Website, wenn sie denn nur darüber bescheid wissen.
Um jetzt eine möglichst große Followership auf Twitter zu haben, muss man viel Zeit investieren, sein Netzwerk auszubauen. Das geht am Besten, indem man relevanten Content twittert. Das ist natürlich nicht immer so ganz einfach, denn einmal pro Woche einen Tweet abzusetzen, wird nur selten zum gewünschten Erfolg führen.
Es gibt auch Dienste, wie TweetSpinner, die unter dem eigenen Twitter-Account, vorher gesammelte Tweets nach bestimmten (zeitlichen) Regeln absetzen. Das hilft dann, die gewünschte Kontinuität zu erreichen, auch wenn man zum entsprechenden Zeitpunkt gar nicht vor dem Rechner sitzt.
Einen ganz anderen Weg Tweets zu generieren, die themenrelevant sind, habe ich vorgestern (mit Erfolg) ausprobiert.
Google hat alles was man dazu benötigt: Google Alerts und Google Feedburner
Wie soll das nun gehen? Ganz einfach, zuerst legt man sich in Google Alerts einen Alert an, der nach News ,Blogs, etc. sucht, die einen Themenbezug haben. Diesen Alert lässt man sich nun als RSS-Feed bereitstellen, anstatt ihn sich zumailen zu lassen. Danach trägt man den RSS-Feed in seinem Google Feedburner ein und socialized ihn.
Ganz einfach eigentlich. Und hier kurz anhand eines Beispiels:
Zunächst sollten wir einen Google Alert- und einen Google Feedburner-Account besitzen. Das setze ich jetzt einfach mal voraus, ohne darauf weiter einzugehen.
Alert einrichten
Richten wir also fürs Erste einen Alert ein. Google Alerts ist ein Benachrichtigungsdienst, der einem per EMail oder eben per RSS-Feed aktuelle Treffer aus dem Suchmaschinenindex zu einem bestimmten Query liefert. Würde man heute nach Haiti suchen lassen, wäre die Liste der Treffer sicherlich unendlich lang.
Google Alert ist über die URL http://www.google.com/alerts/ erreichbar. Voraussetzung ist ein Google-Account.
Ich nehme hier fürs Beispiel lieber “twitter content”. Das passt irgendwie besser.
Ganz wichtig an dieser Stelle, “Senden an” auf Feed umzustellen, denn sonst bekommt man die Treffer zugemailt. Bei “Typ” muss man sich überlegen, welche Quellen herangezogen werden. Multi bedeutet, Google wählt Treffer aus Blogs, News, Groups und dem Web aus. Man kann sich aber auch auf eine diese Suchmaschinen festlegen.
Wenn man den Alert erstellt hat, sieht man die Liste der Google Alerts, die den neuen Eintrag zeigt.
Jetzt hat man seinen Alert eingerichtet. Es kann nun ein paar Stunden dauern, bis erste Einträge im Feed erscheinen. Das lässt sich mit dem Link Feed leicht prüfen. Die URL zum Feed brauchen wir im nächsten Schritt, daher hier einfach über das Kontextmenü gleich die Feed-URL ins Clipboard holen.
Als nächstes müssen wir im Google Feedburner einen neuen Feed anlegen.
Feed in Feedburner einrichten
Um Google Feedburner verwenden zu können braucht man natürlich einen Google-Account. Feedburner findet man unter http://feedburner.google.com/
Dazu einfach die im Clipboard befindliche URL des Feeds in die Textbox, wie abgebildet, reinkopieren. Mit Klick auf den Button Next geht es dann durch das Setup des Feeds. Über mehrere Seiten hinweg wird man zu Statistikerhebung und Ähnlichem abgefragt. Ist das Setup vollzogen, wird einem das in etwa so angezeigt.
Jetzt holt sich Google Feedburner in regelmäßigen Abständen den Alert-Feed ab. Was nun noch fehlt, ist die Weitergabe der Feed-Items an Twitter. Feedburner bringt dafür alles mit, was notwendig ist. Es verbirgt sich hinter dem Tab Publicize. Da taucht links in der vertikalen Tab-Liste der Eintrag Socialize auf.
Hier gilt es nun zu allererst, seinen Twitter-Account für Feedburner freizugeben. Einfach auf Add a Twitter account klicken. In einem neuen Fenster kommt der Twitter-Auth-Bildschirm, in dem man seinen Twitter-Benutzernamen und das Passwort einträgt.
Mit diesen Informationen ist Google Feedburner nun in der Lage, unter dem eigenen Twitter-Account Tweets abzusetzen.
Im Bereich Socialize hat man nun noch diverse Konfigurationsmöglichkeiten. Ich habe zum Beispiel nochmal einen Keyword filter “twitter content” eingetragen, einfach um 100%ig sicher zu sein, dass die Items, die getweetet werden, meinen Vorgaben entsprechen.
Die Einstellungen sind eigentlich weitestgehend selbsterklärend, daher verzichte ich hier mal auf eine genaue Beschreibung jedes einzelnen Feldes.
Ist das Setup vollzogen, muss man nur noch unten auf den Activate-Button klicken, um endlich automatisch Tweets schreiben zu können. Bis der erste Tweet auftaucht, können aber durchaus Stunden vergehen, daher hier etwas Geduld mitbringen.
Zum Schluss noch eine kleine Warnung: Man hat keine Kontrolle über die Inhalte, die man auf diesem Wege per Twitter verbreitet. Sowas kann natürlich auch mal in die Hose gehen. Dessen sollte man sich bewusst sein!
Possibly related posts: (automatically generated)
- Related posts on alert
- Yellow Flag Alert Issued for Sierra Madre | Sierra Madre Weekly
- race42008.com » Blog Archive » Poll Alert: PJM Massachusetts …
- Related posts on content
- content spooling network article stat » realtalkro.com
- Just SEO Tips | Viral Content – The Underrated Elements Of SEO
- Just SEO Tips | How to create content that gives high ranking to …
- Related posts on feedburner
- Top Websites in Ireland – December 2009 | Barry Hand
Google Wave – Suche mit Operatoren
19. Nov
Mit Google Wave suchen ist ganz leicht, wenn man die verschiedenen Möglichkeiten kennt. Prinzipiell funktioniert die Suche wie auch bei der normalen Google-Websuche. Man kann einzelne Begriffe suchen, in dem man diese im Suchfeld der Reihe nach auflistet. Möchte man, dass ein Suchbegriff NICHT in den Treffern auftaucht, dann stellt man ein Minus davor.
Generell scheint es, als ob Google Wave ein hohes Maß an “Intelligenz” mitbringt. Sucht man zum Beispiel nach Waves, deren Inhalt mit Datenintegration zu tun hat, dann reicht es, wenn eine Wave-Nachricht nur einen Link zu www.talend.com enthält. Google scheint hier also auch sein Wissen um die Inhalte verlinkter Websites in die Trefferbewertung mit einfließen zu lassen.
Um Google Waves noch besser finden zu können, gibt es eine ganze Menge von Spezial-Operatoren für die Suche in Google Wave. Die folgende Tabelle listet alle auf, die ich bisher kennengelernt habe. Auf Vollständigkeit gebe ich natürlich keine Gewähr.
| Operator | Beschreibung | Beispiel |
| title:Suchbegriff | Findet alle Waves mit Suchbegriff im Titel | title:google, title:“google wave“ |
| lang:code | Findet alle Waves, deren vermeintliche Sprache dem code entspricht | lang:de, lang:fr, lang:en |
| caption:Suchbegriff | Findet alle Waves, die Bilder mit Suchbegriff in der Beschreibung enthalten | caption:bmw, caption:“bmw X5“ |
| creator:Name oder from:Name | Findet alle Waves, die von Name erzeugt wurden | creator:thomas, from:georg |
| participant:Name oder with:Name | Findet alle Waves, in die Name direkt involviert ist | participant:thomas, with:public |
| contributor:Name oder by:Name | Findet alle Waves, bei denen Name etwas geschrieben hat | contributor:thomas, by:claudia |
| to:Name | Findet alle Waves, bei denen Name ein Teilnehmer, aber nicht der Ersteller ist | to:thomas |
| dfrom:Name | Findet alle Waves, in denen Name eine Direct Message geschrieben hat | dfrom:meisterpropper |
| dto:Name | Findet alle Waves, in denen Name mit einer Direct Message angeschrieben wurde | dto:Palmolive |
| is:note | Findet alle eigenen Waves, die keine weiteren Teilnehmer haben (gelten als Notiz) | is:note |
| is:read | Findet alle Waves, die vollständig gelesen wurden | is:read |
| is:unread | Findet alle Waves in denen mindestens eine Nachricht nicht gelesen wurde | is:unread |
| has:tag | Findet Waves mit mindestens einem gesetzten Tag | has:tag |
| tag:Name | Findet alle Waves, die das Tag Name gesetzt haben | tag:urlaub |
| has:attachment | Findet Waves, die ein bel. Attachment enthalten | has:attachment |
| has:image | Findet alle Waves in denen Bilder eingefügt wurden | has:image |
| has:document | Findet alle Waves in denen Dokumente hinzugefügt wurden | has:document |
| onlyto:Name | Findet alle Waves bei denen Name der ausschließliche Empfänger ist | onlyto:thomas, onlyto:me |
Da sich Google Wave noch im Beta-Stadium befindet, wird sich diese Liste sicherlich noch verändern. Wer auch jetzt schon einen Operator kennt, der hier nicht aufgelistet ist, darf mir das gerne in einem Comment mitteilen.
Possibly related posts: (automatically generated)
- Related posts on google wave
- New 'Wave' of Communication and Collaboration – Google Wave
- 10 Tips to Better Google Wave Conversations
tFileFetch: HTTP-Zugriff in Talend Jobs
18. Nov
Mit tFileFetch kann man in seinen ETL-Prozessen auf beliebige HTTP-Server zugreifen, entweder um Dateien herunterzuladen, oder Daten zu übermitteln. Auch der Upload von Dateien ist dabei möglich. Ausserdem bietet tFileFetch auch den lesenden Zugriff auf Dateien auf einem FTP- sowie auf einem Samba (SMB)-Server. FTP und SMB-Zugriff werde ich jedoch in diesem Beitrag außenvorlassen.
![]()
Die Komponente tFileFetch, deren Name zugegebenermaßen nicht unbedingt auf die ganze dahinterliegende Funktionalität schließen lässt, befindet sich im Bereich Internet der Komponenten-Palette.
Wenn das Protokoll http ausgewählt ist, kann man zum einen Dateien und Seiten aus Talend herunterladen und zum anderen auch HTML-Formulare ausfüllen, ja sogar Dateien hochladen.
Im Feld URI muss man dazu die vollständige Adresse samt Protokoll (also http://) angeben. Das Destination Directory sollte auf das Verzeichnis zeigen, in dem das Ergebnis des Aufrufs abgelegt werden soll. Je nachdem, ob man nun eine Datei herunterlädt, eine Seite aufruft oder ein Formular abschickt, wird das Ergebnis des Aufrufs dort unter dem entsprechenden Namen abgelegt (also bei http://www.meinserver.de/xyz/index.html als index.html).
Möchte man dies nicht, so kann man im Feld Destination Filename auch einen eigenen Namen explizit vergeben.
Beim Zugriff auf HTTP-Server werden für das Öffnen eines Dokuments normalerweise die Methode GET und beim Versenden von Formulardaten die Methode POST verwenden. Auch wenn es noch weitere Zugriffsmethoden (wie z.B. PUT oder DELETE) gibt, werden diese von tFileFetch nicht unterstützt. Der Zugriff über GET bedingt, dass evtl. zu übertragende Formulardaten in der URL übergeben werden. Daher ist der Upload von Dateien nur mit POST möglich. Auch ist die Anzahl der Zeichen, die in einer URL enthalten sein dürfen auf unter 4000 beschränkt. Aus diesem Grund ist standardmäßig die Checkbox POST method aktiviert. Möchte man keine Formulardaten an den Server übermitteln, empfiehlt es sich daher, diese Checkbox abzuwählen.
In der Tabelle Parameters können die einzelnen Formularfelder in Form von Key-Value-Paaren ausgefüllt werden. Für jedes Feld fügt man einfach mit dem grünen Plus eine neue Zeile in der Tabelle hinzu. Die Spalte Name muss den Feldbezeichner enthalten während in Value der zu übertragende Wert eingetragen wird.
Möchte man Dateien mit dem Formular hochladen, so muss dies im Reiter Advanced settings eingerichtet werden. Hat man die Checkbox Upload ausgewählt, so erscheint darunter eine Tabelle. In dieser Tabelle trägt man nun wieder die Namen der File-Upload-Felder ein und unter File den absoluten Pfad zur Datei.
Beim Upload von Dateien ist es erforderlich, dass die Übertragungsmethode POST unter Basic settings aktiviert ist.
Ist beim Zugriff auf die angegebene URI eine HTTP-Authentifizierung erforderlich, so kann man die entsprechende Checkbox anwählen und dann den Benutzernamen und das Passwort angeben.
Seit der Version 3.2 von Talend Open Studio und Talend Integration Suite lassen sich Proxy-Einstellungen job-weit mit der Komponente tSetProxy einrichten, daher verzichte ich auf die Beschreibung der Proxy-Settings in tFileFetch.
Beim Zugriff auf einen Server kann natürlich auch einmal ein unerwünschter Zustand eintreten, wie z.B. eine Überlastung oder Downtime des Servers. Damit der Talend-Prozess dann nicht endlos wartet, bis seine Anfrage beantwortet wird, gibt es das Feld Timeout. Hier kann man die maximale Zeit, die die Komponente geduldig auf Response wartet, in Millisekunden angeben.
In diesem Beispielszenario wird ein Formular per POST an eine URL geschickt und, mit den per File-Upload übermittelten Transaktionen, aus der Datei transaktionen_2009_11.csv, eine CSV-Datei erzeugt. Diese wird als Ergebnis des Aufrufs im Verzeichnis /var/temp/result/ als umsaetze.csv abgelegt.
Da es sich bei dieser URL um einen geschützten Bereich auf dem Web-Server handelt, werden der Benutzername und das Passwort für die Authentifizierung mit übertragen. War der Aufruf erfolgreich, so werden die heruntergeladenen Daten mit der Komponente tFileInputDelimited eingelesen und mit tMysqlOutput in die Zieltabelle einer MySQL-Datenbank übertragen.
Aber auch eine Spam-Maschine lässt sich mit dieser Komponente relativ schnell und unkompliziert erstellen. Nur wie das geht werde ich hier sicherlich nicht vormachen.
Possibly related posts: (automatically generated)
- Related posts on komponente
- Hirnfasching.de» Blogarchiv » Neues aus den Niederlanden
- Alexander Ambronn » Coaching bei Umstrukturierungen stoppt …
- Rolf.Aschenbeck » Blog Archiv » Riesterrente rechnet sich nicht
tServerAlive: Lebt denn der Server noch?
16. Nov
Beim Design von Datenintegrationsprozessen macht man sich oftmals viele Gedanken im Vorfeld. So werden Schwächen in der Datenqualität meist schon vorab ermittelt (z.B. mit Talend Open Profiler) und dann im ETL-Prozess eine entsprechende Optimierung umgesetzt.
Auch zur Laufzeit auftretende Fehler, wie der Klassiker, die NullPointer-Exception werden bereits berücksichtigt und z.B. mit tSchemaComplianceCheck verhindert. Aber eine Prüfung auf Verfügbarkeit eines entfernten Rechners (z.B. dem Datenbank- oder dem FTP-Server) wird eher selten explizit vorgenommen. Meistens laufen die entsprechenden Komponenten dann eben in eine entsprechende Exception und der Prozess wird (durchaus auch kontrolliert) beendet.
Dumm nur, wenn bis dahin schon andere System angezapft oder z.B. temporäre Dateien angelegt wurden. Viel Aufwand, der letztlich umsonst war und u.U. aber entsprechende Last verursacht hat.
Mit tServerAlive hat man die Chance, diese unnötige Last zu vermeiden. tServerAlive befindet sich in der Komponenten-Palette im Bereich Misc bzw. Verschiedenes. Die Komponente tServerAlive pingt ein entferntes System entweder über das Ping- oder das Telnet-Protokoll an.
Erhält tServerAlive im definierten Zeitraum (siehe das Feld Timeout) keine entsprechende Antwort vom Zielsystem, so ist das Ergebnis des Aufrufs false und wird in der globalMap abgelegt. Antwortet der angepingte Rechner hingegen, so schreibt tServerAlive true in die globalMap (z.B. tServerAlive_1_SERVER_ALIVE_RESULT).
Der Zugriff auf das Ergebnis erfolgt dann einfach via ((Boolean)globalMap.get(“tServerAlive_1_SERVER_ALIVE_RESULT”)).
Dieses Szenario pingt meinen Server an. Das Ergebnis des Ping-Versuchs wird mit Hilfe von tFixedFlowInput in einen künstlich generierten Datensatz übertragen.
Hier sieht man den vollständigen Zugriff auf das Ergebnis, in Form eines Boolean-Objekts (true/false), aus der globalMap.
Dieser Datensatz wird anschließend mit tLogRow auf die Konsole ausgegeben. Wie dieser Output dann aussieht, zeigt das Bild links.
Somit hat man ein einfaches Instrument an der Hand, um sicherzustellen, das entfernte Systeme, auf welche man in seinen ETL-Jobs zugreifen möchte, auch wirklich verfügbar sind.
Oder man programmiert sich mit tServerAlive und einer tInfiniteLoop einen Wächter, der einfach in regelmäßigen Intervallen prüft, ob noch alle Systeme laufen und ggfs. eine Status-EMail verschickt.
Possibly related posts: (automatically generated)
- Related posts on komponente
- Wir haben das Rauchverbot gelockert, so please stop smoking …
- In Israel wurde der Raketenabwehrschild der NATO geschmiedet und …
- Social Media – Spiegel der Gesellschaft « Totterturm
Öffentliche Google-Waves
12. Nov
Mir war bisweilen gar nicht bewusst, dass man Google-Waves auch öffentlich machen kann. Dabei geht das eigentlich relativ einfach, auch wenn einem das Googlewave-Webinterface da in keinster Weise entgegenkommt. Hier muss Google noch ein wenig nachlegen.
Wenn man aber in der Searchbox with:public eingibt, dann listet GWave alle öffentlichen Waves auf. Will man nur deutschsprachige Waves sehen, dann fügt man einfach noch ein lang:de hinzu. Et voilà:
Angeblich erkennt Google die Sprache in den Waves selbst, was aber nicht wirklich verwundert, da Google ja ausreichend Kompetenz im Bereich Sprachübersetzung hat.
Okay, damit kann man öffentlichen Waves teilhaben. Wie aber schafft man es, dass die eigene Wave auch öffentlich auffindbar wird?
Entweder man erstellt auf dem Account mit der Erdkugel eine neue Wave, welche dann automatisch public wird. Oder aber, und das ist sicherlich der bevorzugte Weg, man fügt den speziellen Kontakt public@a.gwave.com zu seiner eigenen Kontaktliste hinzu.
Das geht leider auch nicht so, wie man es sich vorstellt. Google-Wave quittiert die Anfrage mit einem “User does not have a Google Wave account”. Hier einfach mit Enter unsere lieben Freunde von Google überlisten. Der Kontakt wird dann trotzdem angelegt.
Um jetzt eine neue öffentliche Wave anzulegen, reicht es diese auf dem User Public zu erzeugen.
Am Ende ist das doch alles gar nicht so schwer, oder? Trotzdem hoffe ich, dass Google hier noch ein wenig nachlegt.
Und wer jetzt nach “with:public talend” sucht, sollte auf eine gerade von mir initiierte Wave stossen.
Lesenswert in diesem Zusammenhang ist übrigens der Artikel Die besten Wave-Erweiterungen auf www.waveinside.de, sowie meine Auflistung der Suchoperatoren im Post Google Wave - Suche mit Operatoren.
Possibly related posts: (automatically generated)
- Related posts on google wave
- Initial thoughts on Google Wave « Meng Bomin
- Enter to Win One of Three Google Wave Invite Packs | The Sapience …
- Google Wave Account | The KPaquay BLOG
- Related posts on gwave
- Fiddles in Wave… « Overgeeked
- Raccourcis pour google wave | Marseillan plage Cap d’Agde infos et …
- @4talesa » Google Wave (GWave) – visão veral
- Related posts on public
- Looking at Los Angeles: The Public School | Art21 Blog
tApacheLogInput: Apache Logfiles in TOS einlesen
12. Nov
Der einfachste Weg, um standardformatierte Log-Files des Apache HTTP-Servers in einem Talend-Job einzulesen, ist es die Komponenten tApacheLogInput zu verwenden.
tApacheLogInput geht davon aus, dass das Logfile in dem Format vorliegt, in welchem Apache HTTP es standardmäßig erzeugt. Sobald man an der Konfiguration der Logfile-Generierung seitens Apaches Änderungen vornimmt, ist die Kompontene tApacheLogInput nicht mehr zu verwenden. Dann heißt es, mit tFileInputPositional die Struktur nachzubauen.
Das Standard-Schema der Komponente tApacheLogInput sieht wie hier dargestellt aus und ist nicht veränderbar.
Einzustellen gibt es bei dieser Komponente nicht all zu viel. Lediglich der Pfad zum Logfile muss entsprechend angepasst werden.Optional kann die Job-Ausführung auch abgebrochen werden, sobald ein Eintrag im Logfile nicht dem Schema entspricht bzw. das Logfile nicht gelesen werden kann.
Sind die Daten des Apache Logfiles erstmal im Job, dann kann man damit ganz normal verfahren. Zum Beispiel liesse sich über die Spalte agent herausfinden, ob der Eintrag von einem normalen Website-Besucher oder aber von einem der vielen Robots und Spider (wie googlebot, googleadsense, yahooslurp!, etc.) stammt.
Possibly related posts: (automatically generated)
- Related posts on apache
- GET DOWN TONIGHT – Setting up a basic web server using Ubuntu 9.10 …
- Young guns and surprise guests turn Firebird Raceway into an …
- Related posts on howto
- How to configure Grub2 in Ubuntu 9.10 | Linuxers | Crazy Crispy’s Blog
Talend Open Studio: Syntax-Fehler schon während des Designs erkennen
29. Okt
Wer viel mit Talend Open Studio oder der Talend Integration Suite arbeitet, wird sich sicherlich manchmal darüber ärgern, dass der ein oder andere syntaktische Fehler beim Parametrisieren der Komponenten erst beim „Ausführen“ bzw. dem zuvor durchgeführten Kompiliervorgang als solcher erkannt wird.
Gerade wenn Jobs mal etwas umfangreicher sind, macht sich dieser Umstand störend bemerkbar, da vom Klick auf „Ausführen“ hin zum Start einige Sekunden ins Land gehen können.
Tatsächlich gibt es aber in den Preferences (oder Benutzervorgaben) im Menü Fenster, die Möglichkeit, das Talend
Studio so zu konfigurieren, dass es schon während der Bearbeitung die Syntaxprüfung durchführt. Diese Option ist im Einstellungsdialog unter „Talend/Performance“ zu finden, und wie hier im Bild rot umrandet, als Checkbox schnell aktiviert. Aber Vorsicht: Talend hat diese Option nicht ohne Grund standardmäßig deaktiviert. Wer also sein Talend Studio auf einer eher gemächlichen Maschine betreibt, sollte sich genau überlegen, ob er diesen Haken setzt. Aber Probieren geht bekanntlich über Studieren.

Ist die Funktion erst mal aktiviert, designed es sich ganz ungeniert.
Wie man in den beiden folgenden Bildern sehr schön erkennen kann, zeigt einem der Job-Designer nun direkt während des Editierens an, ob man Syntaxfehler, Type-Mismatches oder unbekannte Bezeichner verbaut hat.

TMap mit eingeschalter Fehlerprüfung
Hier sehr schön im TMap-Editor zu erkennen, wo die Zelle rot hinterlegt wird, wenn darin ein (Compile-Time-) Fehler enthalten ist.
Das folgende Beispiel zeigt eine Typenunverträglichkeit in einem Feld in den Komponenteneinstellungen. Statt den geforderten Tabellenbezeichner als String einzugeben, hab ich hier aus Versehen einen Integer-Wert 123 eingetragen, was mir der Designer auch direkt mit einer roten Fehlerbox um die Komponente quittiert.

Type-Mismatch Fehler in den Komponenten-Einstellungen
Also, kleine Einstellung, große Wirkung.
Einführung zu Talend Open Studio
30. Apr
Markus Klimaschewski hat im Entwicklerforum eine bebilderte Dokumentation zu Talend Open Studio verfasst.
Er zeigt darin die ersten Schritte mit TOS anhand vieler Screenshots auf und erklärt grundlegende Funktionen, wenn auch relativ knappgehalten. Aber sicherlich hat sich seine Mühe gelohnt, wenn er damit dem ein oder anderen helfen kann, die ersten Gehversuche mit Talend Open Studio zu bewältigen.
Fazit: Lesenswert für all diejenigen, die einen einfachen (deutschsprachigen) Einstieg in Talend Open Studio benötigen.
Tutorial: Eigene Talend-Komponenten entwickeln (Teil 1)
17. Mrz
Es gibt zwei Möglichkeiten, eigene Komponenten für Talend Open Studio bzw. Talend Integration Suite zu entwickeln.
Die erste – dass ist die, welche ich bisher selbst angewandt hatte – sieht wie folgt aus:
Besser ist der zweite, der einzig richtige Weg:
Die Talend-Entwicklungsabteilung versucht der Community nämlich soweit wie möglich, bei der Erstellung neuer Komponenten entgegen zu kommen. Dafür wurde die Component Designer-Perspektive in Talend eingebaut.

Der Komponenten-Designer zeigt die, in Entwicklung befindlichen, Komponenten als Ordnerstrukur an. Es gibt ausserdem noch einen Wizard zum Erstellen neuer Komponenten, auf den ich weiter unten noch einmal eingehen werden.
Damit man diese Perspektive sinnvoll verwenden kann, sind ein paar Einstel
lungen nötig.
Zuerst muss man in den Preferences “Talend Component Designer” öffnen, und ein Entwicklungsverzeichnis festlegen. Dieses sollte ausserhalb der TIS/TOS-Installation liegen. Somit kann man seine Arbeiten problemlos sichern oder in einem SVN-Repository verwalten.
Anschliessend sollte man, ebenfalls in den Preferences unter “Talend”/”Components”, ein Deployment-Verzeichnis für selbstentwickelte Komponenten angeben. Dieses Verzeichnis kann auch ein Verzeichnis innerhalb Talends sein, aber darf auch gerne extern liegen. Alle Komponenten in diesem Verzeichnis erscheinen in der Komponentenpalette, so dass man sie gleich ausprobieren kann.

Wenn man nun alle Einstellungen vorgenommen hat, dann kann man in die Component Designer-Perspektive wechseln.

Hier hat man nun die Wahl, ob man eine neue Komponente von Grund auf erstellen, oder eine Bestehende als Vorlage verwenden möchte.
Dazu braucht man nur einen Rechts-Klick auf das COMPONENT_PROJECT im Designer tätigen.
Zum Erstellen einer komplett neuen Komponente einfach auf “New/New Component” gehen. Es öffnet sich der Wizard.
Jetzt kann man anfangen, seine Komponente zu entwickeln.
Die Programmierung von Komponenten soll nicht teil dieses Tutorials sein, deshalb hebe ich mir das für einen weiteren Post auf.
Hat man dann also seine Komponente programmiert, braucht man nur noch zu wissen, wie man diese wieder zurück in die Palette bekommt:
Einfach Rechts-Klick auf Ordner der Komponente und “Push components to palette” aus dem Kontextmenü. Damit wird die Komponente aus dem Entwickler-Verzeichnis in das Deployment-Verzeichnis übertragen und die komplette Palette neu geladen. Die Komponente befindet sich nun in der Palette und kann benutzt werden.
Das ist der erste Teil einer Tutorial-Reihe, deren Umfang ich im Moment selbst noch nicht abschätzen kann. Aber es wird sicherlich noch einiges kommen.





