Vorheriger Artikel Nächster Artikel

Integration von SugarCRM: TYPO3 versüßt

Aus dem
t3n Magazin Nr. 4

06/2006 - 08/2006

Übersichtlich trotz vieler Informationen - SugarCRM fasst die wichtigsten Dinge auf der Startseite zusammen.

SugarCRM ist ein serverbasiertes Programm zur Verwaltung von Kundenbeziehungen, das auch in einer Open-Source-Version verfügbar ist. Eine TYPO3-Extension ermöglicht die Anbindung von SugarCRM an TYPO3-Websites.

Wie setzt SugarCRM auf als serverseitige Skriptsprache (wobei PHP 5 bisher nicht offiziell unterstützt wird) und MySQL als Datenbank, die Bedienung erfolgt über eine webbasierte Benutzeroberfläche. Im Folgenden wird davon ausgegangen, dass SugarCRM als separate Website betrieben wird, jedoch funktioniert es auch in einem Unterverzeichnis einer TYPO3-Website problemlos. Nachdem das SugarCRM-Paket entpackt und die zugehörige Website eingerichtet wurde, hilft ein Assistent bei der weiteren Konfiguration. Er untersucht die Server-Konfiguration, legt benötigte Datenbanktabellen und auf Wunsch auch Demo-Inhalte an. Nach der Installation kann man sich direkt mit dem dabei erzeugten Administrationsbenutzer anmelden und weitere Benutzer anlegen. SugarCRM deckt die Basisanforderungen eines CRM-Systems ab und enthält unter anderem:

  • Kunden-/Kontaktdatenbank
  • Kalender
  • Aktivitätenverwaltung
  • Produktkatalog
  • Angebotserstellung/-verwaltung
  • Produktverwaltung
  • Projektmanagement
  • Fehlermanagement
  • Ticketing
  • Termin-, Aufgaben- und Anrufverwaltung

Die kostenpflichtigen Professional- und Enterprise-Versionen bieten zusätzliche Funktionen wie die Unterstützung von Zugriffsrechten und ein Outlook-Plugin. Darüber hinaus stehen zahlreiche Erweiterungen zur Verfügung, etwa um Dokumente in SugarCRM zu verwalten oder Reports zu erstellen. Dank separater Sprachpakete steht die Oberfläche in den gängigen europäischen Sprachen zur Verfügung.

Der SugarCRM Web Service

Durch Eingabe der URL „http://<your url>/soap.php“ gibt SugarCRM die vom Web Service angebotenen Methoden preis. Die hier vorgestellte TYPO3-Erweiterung nutzt unter anderem die folgenden Methoden, wobei die Funktionen der Erweiterung nach den genutzten Web-Service-Methoden benannt sind.

test (in message: String, out message: String)
Bei Erfolg liefert „test“ die übergebene Zeichenfolge zurück.
login (in user_auth: Array, in application_name: String, out set_entry_result: Array)
Meldet den Benutzer bei SugarCRM an, erzeugt eine Sitzung und gibt im Rückgabe-Array unter anderem deren ID zurück.
logout (in session: String, out error_result: Array)
Schließt die angegebene Sitzung.
contact_by_email (in user_name: String, in password: String, in email_address: String, out contact_detail_array: Array)
Sucht einen Kontakt (vom Typ “Contact” oder “Lead”) und gibt bei Erfolg dessen Daten zurück.

Typischerweise besteht eine Anfrage an SugarCRM aus den Methodenaufrufen „login“, beliebigen Methoden und „logout“.

Nutzung des Web Services durch TYPO3

An einem konkreten Beispiel soll die Nutzung des Web Services zur Integration gezeigt werden.

Besucher können über ein TYPO3-Kontaktformular Terminwünsche äußern, die direkt in SugarCRM einfließen.

Besucher können über ein TYPO3-Kontaktformular Terminwünsche äußern, die direkt in SugarCRM einfließen.

Ist die E-Mail-Adresse des Besuchers bereits in SugarCRM hinterlegt, so werden die Kontaktdaten aktualisiert, andernfalls wird ein neuer Kontakt angelegt. In einem zweiten Schritt werden zu diesem Erstkontakt ein Termin und eine Aufgabe angelegt. Die Zuordnung der Daten zu einem SugarCRM-Benutzer ist fest definiert. Zur Integration von TYPO3 und SugarCRM existiert eine eigene Erweiterung, welche die folgenden Funktionalitäten zur Verfügung stellt:

  • Basisfunktionen: Login, Logout, Test, Suche nach Kontakten etc.
  • Verarbeitung von TYPO3-Mailformularen: Eingaben werden mittels eines Hook vor dem Versand der E-Mail durch TYPO3 abgefangen und gemäß Konfiguration verarbeitet.
  • Test-Plugin: Das Test-Plugin kann auf einer beliebigen TYPO3-Seite eingebunden werden und führt eine Anmeldung bei SugarCRM durch. Tritt ein Fehler auf, so wird dieser ausgegeben.

Konfiguration des TYPO3-Kontaktformulars

Um das Formular zu konfigurieren, wird dem Inhaltstyp MAILFORM ein Textfeld hinzugefügt, in dem die Einstellungen in einer TypoScript-ähnlichen Syntax eingegeben werden.

CONFIG

Erstkontakt {
	// was soll angelegt werden?
	type = Lead
	// E-mail-Adresse wird als eindeutig vorausgesetzt
	uniqueEmail = true
	default {
		lead_source = TYPO3 Online-Kontakt
		// Wem wird der Lead zugeordnet?
		assigned_user_id = jim_id
	}
	// Zuordnung SugarCRM-Feld = Formularfeld
	mapping {
		first_name = Vorname
		last_name = Name
		email1 = email
		salutation = Anrede
		phone_work = Telefon
		account_name = Firma
	}
	// lege verknüpfte Einträge an
	children {
		Aufgabe {
			type = Task
			// Aufgabe nur anlegen, wenn Checkbox aktiviert wurde
			condition = ($this->formVars['Rueckruf'] != '1')
			default {
				name = Online-Anfrage beantworten
				priority = Medium
				status = Not Started
				assigned_user_id = jim_id
				parent_type = parent.type
				parent_id = parent.id
			}
			mapping {
				description = Anfrage
			}
		}
		Anruf {
			type = Call
			condition = ($this->formVars['Rueckruf'] == '1')
			// In welchem Format wird das Datum im Formular eingetragen?
			input_dateformat = d.m.Y
			default {
				name = Online-Kontakt anrufen
				priority = Medium
				status = Planned
				direction = Outbound
				reminder_time = 600
				duration_hours = 0
				duration_minutes = 15
				assigned_user_id = jim_id
				parent_type = parent.type
				parent_id = parent.id
				date_start = now
				time_start = now
			}
			mapping {
				description = Anfrage
				date_start = DPC_Datum
				date_end = DPC_Datum
				time_start = Uhrzeit
			}
		}
	}
}

Listing 1

Das Kontaktformular kann im TYPO3-Backend konfiguriert werden.

Das Kontaktformular kann im TYPO3-Backend konfiguriert werden.

Weitere Anwendungen

Die in den vorherigen Abschnitten vorgestellte Erweiterung dient momentan in erster Linie zum Experimentieren. Interessierte Entwickler können sich gern an der Weiterentwicklung beteiligen. SugarCRM könnte beispielsweise als führendes System zur Verwaltung von TYPO3-Frontend-Benutzern eingesetzt werden. Registriert sich ein Benutzer neu, so wird er als Kontakt angelegt. Bei der Anmeldung werden die Daten mit SugarCRM abgeglichen. Ändert der Benutzer seine Daten, werden diese in das CRM-System übernommen. Die Möglichkeiten sind zahlreich.

Sicherheitsaspekte

Wird SugarCRM als produktives CRM-System eingesetzt, so sollten die folgenden potentiellen Sicherheitslücken betrachtet werden:

  • Der Web Service von SugarCRM muss von außen erreichbar sein, der interne Webserver wird also Angriffen aus dem Internet ausgesetzt.
  • TYPO3-Seiten sollten durch einen Login abgesichert und der Schutz gegen automatisierte Formularversendungen überprüft werden.
  • SugarCRM bietet in der Open-Source-Version keine Rechteverwaltung.
  • Die Kommunikation zwischen TYPO3 und SugarCRM kann über HTTPS erfolgen, Benutzername und Kennwort eines SugarCRM-Benutzers werden jedoch in der TYPO3-Datenbank gespeichert.

Eine durchdachte Installation kann die Sicherheitsrisiken mindern. Ein internes System zu exponieren stellt jedoch immer ein Risiko dar. Wer per Web-Frontend aus dem Internet auf seinen internen Mailserver zugreift, hat diese Erwägungen hoffentlich schon angestellt und kein Problem mit der Öffnung.

Newsletter

Bleibe immer up-to-date. Sichere dir deinen Wissensvorsprung!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich TYPO3
TYPO3 CMS 7.4: Besserer Upload und schöneres Backend
TYPO3 CMS 7.4: Besserer Upload und schöneres Backend

Die Entwickler des TYPO3 CMS haben wie geplant den neuesten Sprint-Release TYPO3 CMS 7.4 veröffentlicht. Der Fokus lag bei der neuen Version auf Verbesserungen des Backends. » weiterlesen

Open-Source-Slack-Alternativen: 10 Team-Messenger, die einen Blick wert sind
Open-Source-Slack-Alternativen: 10 Team-Messenger, die einen Blick wert sind

Du suchst eine Hipchat- oder Slack-Alternative, die auch noch Open Source ist? Wir haben ein paar quelloffene Team-Messenger für dich, die einen Blick wert sind. » weiterlesen

Edge-Browser: JavaScript-Engine ist jetzt Open Source – und Microsoft kündigt einen Linux-Port an [Update]
Edge-Browser: JavaScript-Engine ist jetzt Open Source – und Microsoft kündigt einen Linux-Port an [Update]

Microsoft hat wie angekündigt Hauptbestandteile seiner JavaScript-Engine Chakra unter Open-Source-Lizenz veröffentlicht. Chakra ist ein zentraler Bestandteil des Browsers Edge. Darüber hinaus ist … » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?