TYPO3 versüßt

Integration von SugarCRM

Wie TYPO3 setzt SugarCRM auf PHP 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.
Übersichtlich trotz vieler Informationen - SugarCRM fasst die wichtigsten Dinge auf der Startseite zusammen.

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

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.

- Anzeige-

Dieser Artikel stammt aus:

 

Weitere Artikel dieser Ausgabe

2 + 2 = 5

Or how an excellent jam session could be a collaborative effort

St. Augustin, Florida, January 20th 2001. Rie and I are walking through the main street of the... »

Bilderflut im Griff

Vergleich der TYPO3-Erweiterungen für Bildergalerien

Wer schon einmal Hunderte von Bildern auf einer Webseite veröffentlichen wollte, weiß... »

Das Landesportal www.sachsen-anhalt.de

Umstellung eines Landesauftritts auf TYPO3

Das deutsche Bundesland Sachsen-Anhalt bietet mit dem Landesportal eine umfassende Informations-... »

Das Optimum herausholen

TYPO3 mit Extensions erweitern

TYPO3 lässt sich auf einfache Art und Weise mit Extensions erweitern. Bei Extensions handelt... »

E-Payment

Ein Wegweiser durch den Dschungel der Anbieter

Für Händler und Shop-Entwickler ist das große E-Payment-Angebot gleichermaßen... »

E-Payment aktuell

Bezahlen über elektronische Netze

Wenn jemand Waren oder Dienstleistungen verkauft, greift ein anderer dafür seit dreitausend... »

Eclipse

Eine universelle Entwicklungsumgebung

In den Jahren seiner Entstehung und Verbreitung hat Eclipse eine hohe Resonanz erreicht. Rund... »

Einmal um die ganze Welt mit TYPO3

Internationaler Großeinsatz für die österreichische Wirtschaftskammer

Benutzer und Entwickler wissen um die Leistungsfähigkeit von TYPO3. Man kennt viele Einsatzmöglichkeiten... »

Frisiert und aufgebohrt

Bessere Performance mit TYPO3

Idealerweise sollte die Performance einer Website so lange kein Thema sein, wie ihre Anwendung... »