Anleitung : Serienmails mit vTiger
Ja mich gibt es noch
…
Ich unterstütze eine Privatinitiative in der Südpfalz beim Betrieb ihres Blogs und vor allem dem Management ihrer Adresslisten und Mailing-Aktivitäten. Die Herrschaften haben mich über meinen Blog hier gefunden und angefragt, ob ich ihnen helfen kann. Da ich mich mit ihrer Zielen sehr gut identifizieren kann, freue ich mich dies zu tun: http://gruene-roundtable.de/
Dem Projekt haben wir den Namen GreenADV (ADV steht für Adressverwaltung) gegeben. Dahinter verbirgt sich ein vTiger-System, das durch die Kontaktformulare und Anmeldungen im Blog automatisch gefüllt wird. Ganz kurz das Szenario: Ein Bürger meldet sich über den Menüpunkt “Mitmachen” und gibt dabei seine Kontaktdaten und Interessen an. Beim Abschicken des Formulars bekommt der Verantwortliche von Green-Roundtable (kurz GRT) eine Mail, der Bürger bekommt eine Mail und seine Daten werden in das vTiger-System übernommen. Dies nur als Hintergrund.
Nun sind die Daten in GreenADV natürlich kein Selbstzweck. Darüber sollen zielgerichtet Informationen an die GRT-Interessenten verteilt werden. Dafür haben diese sich ja u.a. schließlich angemeldet. Mein Artikel hier beschreibt als Anleitung für meine Mitstreiter bei GRT nun diesen Vorgang. Ich denke die Information ist auch für andere ganz nützlich.
Der Prozess hat 3 Teile:
- Erzeugung einer Mailvorlage : Die Mail fertig formuliert mit Variablen für die Personalisierung (Sehr geehrte Fr. Gabi Mustermann ….)
- Die Auswahl der Mailempfänger
- Der Mailversand selbst
Klingt kompliziert, ist es aber nicht …
Alfresco auf einem Managed Server
Liebe Leser,
lange habe ich nichts mehr in meinem Blog veröffentlicht. Grund war schiere Arbeitsüberlastung. Per se ja nicht so schlecht, nicht wahr
?
Ich habe in den letzten Monaten neben Geschäftsführertätigkeiten, Marketing und Vetrieb jede freie Minute in meine Projekte und Produkte investiert. Hier ein paar Beispiele:
- Schlaustrom : Komplette IT-Unterstützung eines Energieversorgers in Österreich. Eine kurze Projektbeschreibung finden Sie hier.
- Die Initiative 2ndspring
- Webshops, wie patch-werk
- Mein Change Controlling Tool
- Mein OpenSource-Baby openTimetool
- und vieles mehr …
Bevor das Jahr 2012 jetzt zu Ende geht, habe ich meine Webseiten “system worx- enablingIT” in einem ersten Wurf überarbeitet und schreibe jetzt wenigstens eine kurzen technischen Artikel.
Heute geht es um die Installation von Alfresco auf einem Managed Server.
Extensions für Google Chrome / Chromium
Ich schreibe derzeit einige Extensions für den Google Browser und finde das ein ganzes Stück einfacher als bei Firefox. Bin zwar nach wie vor Firefox-Nutzer und schreibe auch Extensions für diesen Browser, aber hier gebührt Google wirklich Lob. Das ist sehr gut gelöst.
Hintergrund für meine Extension-Entwicklung ist das Projekt 2ndspring. Letztlich geht es um ein Entwicklung für das Tablet um ältere Mitbürger mit einer vereinfachten Bedienoberfläche den Einstieg in das Netz der Netze möglichst einfach und intuitiv zu gestalten. Dabei nutzen wir natürlich Browser-Technologie als Basis und haben uns hier für den Google-Browser entschieden. Diese Entscheidung ist maßgeblich bestimmt durch 2 Dinge
- Chrome gibt es auch als App für das iPad
- Wir werden Telefonie und Video-Conferencing im Browser anbieten und nutzen daher WebRTC (“WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs.”)
Ziel unserer Entwicklung ist eine Web-Applikation, die im Kioskmode betrieben wird. Der Anwender am Tablet sieht also eine Seite ohne Browser-Rahmen und Navigation im Vollbild-Modus. Damit er aber während des Surfens wieder zurück zu seinem Heimathafen, der 2ndspring-Startseite, findet, benötigt er als Overlay eine unaufdringliche, aber permanent verfügbare Navigation über jeder besuchten Seite. Dazu soll die 2ndspring-Extension sich bei jedem Seitenaufruf einklinken und diese Navi drüberlegen (inject html auf gut Neudeutsch).
Nun aber genug Hintergrund. Ich beschreibe jetzt einfach kurz die Komponenten einer solchen Extension und biete dann zum Schluss einen Link um sich den Source-Code herunterzuladen. Mehr…
CRM-System vTiger-Integration mittels Webservices
Habe gerade festgestellt, dass ich meinen Blog sträflich vernachlässige. Ich arbeite einfach zu viel an meinen vielen Themen
. Nun jetzt mach ich eine kurze Pause und schreibe endlich mal wieder etwas und zwar aus meiner aktuellen Bastelstube
…
Wie ich an anderer Stelle schon erwähnt habe, haben wir bei system worx haben als CRM-System das OpenSource-System vTiger im Einsatz. Warum, darüber habe ich mich an anderer Stelle schon mal ausgelassen.
Ein CRM-System muss man aber pflegen, damit es seine segensreiche Wirkung entfalten kann. Das kostet natürlich Aufwand. Um diesen zu reduzieren, zapfe ich gerade alle unsere Datenquellen mit Kundendaten an und erzeuge die CRM-Einträge per Cronjob automatisch. Ebenfalls automatisch wird dabei die Historie erzeugt.
Beispiel : Ein Kunde hat 3 Seminare bei uns besucht und unseren Newsletter abonniert. Zusätzlich hat er sich in der Free-Variante unsere Change Controlling Tools registriert. Diese Informationen definieren wir als Aktivitäten und hinterlegen sie automatisch beim Kunden. Ich denke für jeden nur etwas vertrieblich geprägten Menschen liegt der Nutzen auf der Hand.
Um dieses Ziel zu erreichen, zapfe ich jetzt in einem CronJob alle unsere Datenquellen an und erzeuge bzw update die Geschäftskontakte (Leads im Standard-vTiger) und Kunden (Personen, Organisationen in Standard-vTiger) in unserem System. Zusätzlich schreibe ich die Seminar-Buchungen, Newsletter-Anmeldungen etc. als Historie dort fort. Wenn ich nächste Woche damit fertig bin, pflegt sich unser System quasi von selbst
.
Mehr…
1000 Ideen produziert => Aber was passiert mit den ToDo’s ?
Diesmal ein etwas anderer Artikel in eigener Sache
.
Wie man weiß, wenn man die Seite “Über mich” gelesen hat, sind wir ein interdisziplinäres Team von systemischen Beratern und IT-lern. Eine seltene Kombination
. Diese außergewöhnliche Kombination hat ein Tool hervorgebracht, das sich an Führungskräfte, Berater und Change Verantwortliche richtet : Unser preisgekröntes Change Controlling Tool ® …
Die Initiative Mittelstand prämiert mit dem INNOVATIONSPREIS-IT Firmen mit innovativen IT-Lösungen und hohem Nutzwert für den Mittelstand.
Die Experten-Jury zeichnete in dieser Kategorie unser Change Controlling Tool® mit dem Prädikat BEST OF 2012 aus.
Zusätzlich war mein Tool bei einer Hausmesse eines gr0ßen Beraternetzwerks ein echter Renner.
Beide Ursachen haben mich auf die Idee gebracht den Sonntag Nachmittag zu nutzen um auch ihnen das Tool kurz nahezubringen und darauf aufmerksam zu machen, dass man es online kostenlos für kleine Projekte nutzen kann. Einfach per Selbstregistrierung ein Projekt anlegen und dann als Admin bis zu 9 Kollegen zuschalten. Ich denke dieses Angebot legitimiert diesen kleinen Marketing-Artikel
…
Um was geht es bei meinem Change Controlling Tool nun ? Nun letztlich gibt der Titel die Antwort :
Veränderungsprozess angestoßen => 1000 Ideen produziert => Aber was passiert mit den ToDo’s ?
SSH ohne Passwort ?
Ich betreue neben unserem eigenen Unternehmensserver auch eine ganze Reihe von Kundenservern (Linux). Da diese über das Internet per SSH erreichbar sind und sein müssen, empfiehlt es sich dort wirklich starke Passwörter zu verwenden, damit nicht irgendein Script-Kiddie einbricht und Unsinn macht.
Tja und starke Passwörter haben nun mal den Nachteil, dass sie nur schwer bis gar nicht im Kopf zu behalten sind. Es ist auch nicht gut, überall das gleiche Passwort zu verwenden. Gelingt tatsächlich ein Einbruch, sind gleich alle Server betroffen. Nicht klug.
Was tut man also ? Man hat ein geheimes Plätzchen (elektronisch oder Papier) um das entsprechende Passwort zu notieren, das man dann bei Bedarf raussucht und dann eintippt. Also mich nervt das und es hält auf.
Nachfolgend die Lösung, die ich verwende, um einen optimalen Kompromiss zwischen Sicherheit und Komfort zu haben. Letztlich melde ich mich lokal auf meinem PC als root ein und verwende dann immer das gleiche leicht merkbare Passwort um mich auf allen Servern mit verschiedenen und hochkomplexen langen Passwörtern per SSH anzumelden.
Ein unternehmensinterner “Twitter” : StatusNet
Unser Unternehmen system worx GmbH&Co. KG hat seinen Sitz und seine Büros in München. Ich selbst wohne und arbeite im Rhein-Main-Gebiet. ein anderer lebt seid kurzem in Berlin. Dazu kommen noch eine Reihe von unabhängigen Partnern und Unternehmen, mit denen wir eng zusammen arbeiten. Diese sind über ganz Deutschland verteilt. Wie halten wir nun engen täglichen Kontakt miteinander und halten unsere Kommunikation aufrecht ?
Natürlich gibt es Mail und Skype und wir besitzen u.a. auch einen gemeinsamen Kalender und einen Dokumenten-Backbone. Telefon gibt es natürlich auch noch
. Haben wir auch alles im Einsatz, aber so ganz zufrieden waren wir nicht. Telefon ist eine Eins-zu-eins-Angelegenheit. 2 Leute reden miteinander. Skype-Chats sind meist ähnlich angelegt. Außerdem muss man so einen Kanal auch aus Zeitgründen mal abschalten, da man sonst dauernd gestört wird. Auch Rundmails haben ihre Nachteile. Mal einfach einen “Seufzer”, einen Link oder ein Erfolgserlebnis an alle zu schicken, dafür taugt Mail nichts. Ist zu offiziell, aufdringlich und reisst die Partner aus der Konzentration. Alles nicht wirklich perfekt.
Dann kam uns die Idee Twitter zu nutzen. Für diese Zwecke perfekt, ABER nicht privat genug. Wir wollten unter uns bleiben und unsere Kommunikation verbessern, aber nicht alles was uns bewegt in die Welt posaunen
. Dann entdeckten wir einen solchen Service im Internet. Aber es war nicht so ganz klar, ob der auch kostenlos ist und was mit unseren Daten so passiert. Solche Befürchtungen sorgen auch nicht für ein sicheres Gefühl und das wirkt sich negativ auf die Kommunikation aus.
Glücklicherweise entdeckte ich dann ein geniales OpenSource-Projekt : StatusNet
vTiger und Cron-Jobs
Nach einer längeren Pause wegen hoher Arbeitslast, Kurzurlaub und Herzinfarkt melde ich mich zurück
. Mein Blog lebt also weiter. Ja so wie ich wohl auch
…
Mein Thema heute sind die Cronjobs bei vTiger, mit denen ich gerade in einem meiner Kundenprojekte viel zu tun habe. In diesem Projekt werden die Daten einer wirklich komplexen Online-Registrierung zum Wechsel des Energieanbieters (realisiert mit Joomla und CommunityBuilder) automatisch in das CRM-System vTiger gepostet. In vTiger wird dann ein Großteil des gesamten Wechselprozesses inkl. der vollständigen Rechnungslegung abgebildet. Um dies weitgehend vollautomatisch abzuwickeln, haben wir eine ganze Reihe von zeitlich abgestimmten Cron-Jobs gebaut. Das generelle Vorgehen zur Erzeugung eines solchen Jobs in vTiger möchte ich hier kurz skizzieren.
Definition : Cron-Job
Ein Programm/Ein Script auf dem Server, das in definierten Zeitabständen vom System automatisch gestartet wird.
Selenium: Test von Web-Applikationen
Welcher Entwickler kennt das nicht : Endlose langweilige manuelle Tests, auch wenn man mal gerade nur ne Kleinigkeit geändert hat.
Testen ist ein Hauptbestandteil der Entwicklungsarbeit und nimmt eine Unmenge von Zeit in Anspruch. Wenn man dann mal wochenlang gearbeitet hat und bis zum Erbrechen immer wieder die gleichen Tests durchgeführt hat, wird man leicht schlampig und die Qualität leidet darunter. Das darf nicht sein !
Oder ein anderes Szenario, das auch nicht ungewöhnlich und gerade bei einem aktuellen Projekt ein Thema ist: Es gibt einen umfangreichen Registrationsprozeß für die Nutzer. Allgemeine Daten wie Adresse etc., technische Daten, sonstige Daten. In unserem Fall eine 5-stufige Abfolge von Formularen um die notwendigen Daten abzufragen. Auch hier muss man ständig testen
. Wer 50x diese Formulare ausgefüllt hat, wird dir die Füße küssen, wenn Du ihm eine Automatisierungsmöglichkeit bietest !
Für diese beiden Fälle (und eine Menge anderer, die im Laufe der Zeit auftauchen werden), gibt es eine sehr elegante und mächtige Lösung:
Das Open-Source Test-Framework Selenium IDE
Mehr…
Mail an Alfresco : Postfix umkonfigurieren
Wie bereits an anderer Stelle beschrieben, kann man ja Alfresco so konfigurieren, dass er als Mailserver arbeitet und Mails empfangen kann. Damit ist es möglich an jeden Ordner innerhalb des Systems Mails zu senden, die dann in Anschreiben und Anhänge getrennt in diesem Ordner landen.
Es gibt nun 2 Szenarien zu beachten:
1. Es läuft bereits ein Mailserver (hier reden wir nur über Postfix) auf dem Server
2. Mail kommt von googlemail
Szenario1 : Postfix läuft auf dem Server bereits
Standardmäßig lauscht ein Mailserver auf dem SMTP-Port 25. Alfresco kann damit nicht ebenfalls auf diesem Port laufen. Heißt, wir müssen Alfresco anweisen, Mails auf einem anderen Port zu erwarten. Oder wir müssen den Standard-Mailserver abschalten.
Letzteres (Mailserver abschalten) funktioniert natürlich. Leider aber nur dann zufriedenstellend, wenn man keine Mails von Googlemail empfangen will
. Siehe dazu Szenario 2.
Szenario 2 : Mail kommt von Googlemail
Ein Alfresco-Kunde von uns wickelt seinen gesamten Mailverkehr über Google ab. Daher habe ich auf seinem Alfresco-Server den Standard-Postfix abgeschaltet. Meine Testmails von unserem Firmenserver kamen danach auch problemlos in Alfresco an.
Er sagte mir dann, dass seine Mails von Google nur mit Verzögerung (1/4h bis zu 2 Tagen) ankämen. Hat mich zwar gewundert, aber ich habe dies dann auch ausprobiert und von meinem Googlemail-Account getestet. Stimmt ! Manchmal kamen diese Mails auch gar nicht an : Mail kam als unzustellbar zurück mit “Protocol Error”.
Recherchen im Internet zeigten, dass dieses Problem auch bei anderen empfangenden Mailservern auftritt bzw auftreten kann. Ist also kein wirkliches Alfresco-Problem. In allen Fällen schiebt Google die Schuld auf den empfangenden Mailserver und die Admins dieser Server die Schuld auf Google
Catch22…
Lösung für beide Szenarien:
Postfix als Relay konfigurieren, das alle Mails lokal auf den Alfresco-Port umleitet.
Dies habe ich am Wochenende für meinen Kunden gemacht und hier die Einstellungen dafür:
Einträge in /etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
local_recipient_maps =
Es wird eine Transport-Regel definiert, die die Weiterleitung beschreibt.
Die Filterung der Mail-Empfänger (Empfänger bekannt, oder nicht) fällt weg, da sonst hier alle empfangenden Alfresco-Ordner zu nennen wären
/etc/postfix/transport:
meindomain.de smtp:127.0.0.1:425/etc/postfix/transport mit Shell-Kommando “postmap /etc/postfix/transport” in /etc/postfix/transport.db eintragen
Postfix neu starten :
/etc/init.d/postfix restart
Mit oben genannter transport-Zeile muss Alfresco auf Port 425 lauschen.



