Anzeige
Anzeige
Software
Artikel merken

Integration von SugarCRM: TYPO3 versüßt

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.

4 Min. Lesezeit
Anzeige
Anzeige

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
Anzeige
Anzeige

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.

Anzeige
Anzeige
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“.

Anzeige
Anzeige

Nutzung des Web Services durch TYPO3

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

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:

Anzeige
Anzeige
  • 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

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:

Anzeige
Anzeige
  • 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.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige