60
Sugar CRM MIRCO MÜLLER, RALF KÜHL Professionelles Kundenmanagement im Sugar Universum Für Entscheider aus I�, Marke�ng und Vertrieb Sugar Editionen Bedienung und Kernfunktionen Administration und Konfiguration Sugar Framework Systemintegration und Setting

Sugar MIRCO MÜLLER, RALF KÜHL CRM · SugarCRM gehört haben und nun endlich wissen wollen, was diese professionelle CRM-Software für ein Unternehmen leisten kann. Ein 360-Grad-Rundumblick

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

KAP 2 | SUGAR EDITIONEN IM ÜBERBLICK Vier Sugar Edi� onen zur freien Wahl sorgen dafür, dass jedes Unternehmen (vom KMU bis Großkon-zern� die individuell passende Edi� on für das eige-ne Geschä� fi ndet. Erweiterungen sind dabei pro-blemlos möglich, sei es über Plug-in-Komponenten oder Branchen Templates.

KAP 3 | SUGAR CRM ALS BROWSER VARIANTE UND SMARTPHONE VARIANTEIn erster Linie wird Sugar über die Browservarian-te genutzt. In diesem Kapitel erfahren die Nutzer mehr über Bedienung und Kernfunk� onen der So� ware. Dabei wird ausführlich erklärt, wie Dash-boards und Dashlets angelegt und verwaltet wer-den können. Abschließend lernt der Nutzer weitere Sugar CRM-Module und die Sugar Mobile-App näher kennen.

KAP 4 | ADMINISTRATION UND KONFIGURATION VON SUGAR Ein leistungsstarkes CRM-Tool benö� gt eine klar strukturierte Arbeitsumgebung, nicht zuletzt, da-mit Teams schnelle und zielgerichtete Entscheidun-

CRM ist ein unverzichtbares Tool für professionelles, voll integriertes Kundenmanagement. Das Sugar CRM-System glänzt mit einem sehr breiten Spektrum leistungsfähiger Komponenten. Abgerundet wird Sugar durch die sehr gelungene visuelle Arbeitsoberfl äche, die sich durch ein bewusst leichtes, hoch individualisierbares Nutzerhandling, eine starke Suchfunk� on sowie aussagekrä� ige Dashboards für verschiedene Unternehmensak� onen und Rollenträger auszeichnet.

gen treff en können. Über den Ansatz der Customer Journey ermöglicht Sugar einen Zugriff auf sämt-liche kundenrelevante Daten und befähigt somit zu vielfäl� gen Vertriebsmöglichkeiten. Zusätzlich wird Entwicklern mit dem Sugar Studio ein Werk-zeugkasten gegeben, um Individualisierungen vor-zunehmen und Module zu konfi gurieren.

KAP 5 | KURZANLEITUNG ENTWICKLUNGDas Sugar Framework bietet vor allem Profi s im Sugar Umfeld die Möglichkeit, technische Anpas-sungen an der Benutzeroberfl äche vorzunehmen. Durch eigene Module kann jedem Nutzer im CRM eine spezifi sche Rolle zugewiesen werden.

KAP 6 | SUGAR BETRIEBIm CRM-Alltag braucht es für jede Unternehmens-größe ein passendes Se� ng der CRM-Umgebung. Technische Setups sind dabei besonders wich� g, weil sie unterschiedliche Systemintegra� onen er-möglichen. Aber auch die Serverleistung muss für ei-nen stabilen Betrieb passen. Erfahren Sie mehr über Entwicklungszyklen, rich� g dimensionierte Stages und Backup- beziehungsweise Ausfallstrategien.

Mirco Müller ist geschä� sführender Gesellscha� er der Insignio CRM Gmb�. Na� onal als auch inter-na� onal konnte er bereits als Entwickler, Projekt-manager und Management-Berater überzeugen. Als Autor zahlreicher Ar� kel und Mitglied der CRM-Expert-Site ist er immer am Puls der Zeit.

Prof. Dr. Ralf Kühl ist Projektmanager, Buchautor und Strategieberater. Er ist Ideengeber für digitale Geschä� sprozesse und IT-Business-Analysen vom KMU bis zum Großkonzern. Dafür kombiniert er seine wissenscha� lichen Qualifi ka� onen mit seiner lang-jährigen Unternehmenspraxis und erfrischenden Art.

MIRCO MÜLLER RALF KÜHL

ISBN 978-3-00-062537-4

SugarCRMMIRCO MÜLLER, RALF KÜHL

Professionelles Kundenmanagement im Sugar Universum

Für Entscheider aus I�, Marke� ng und Vertrieb • Sugar Editionen• Bedienung und Kernfunktionen• Administration und Konfiguration• Sugar Framework• Systemintegration und Setting

Mirco Müller, Ralf Kühl

SugarCRM

Professionelles Kunden-

management im Sugar

Universum

6

Inhalt

Inhalt1 Einleitung ..........................................................................................................................12

1.1 Für wen ist dieses Buch geschrieben? .....................................................................12

1.2 Warum ein Buch über Sugar? ...................................................................................14

1.3 Was ist neu in der vierten Auflage? ..........................................................................14

1.4 SugarCRM Navigator ...............................................................................................15

1.4.1 Geschäftsführer ...........................................................................................16

1.4.2 IT-Leiter ........................................................................................................17

1.4.3 CRM-Projektleiter .........................................................................................17

1.4.4 Administratoren ............................................................................................17

1.4.5 Fachliche Leiter Service ............................................................................. 18

1.4.6 Fachliche Leiter Vertrieb.............................................................................. 18

1.4.7 Fachliche Leiter Marketing ......................................................................... 18

1.4.8 IT-Entwicklung ............................................................................................ 18

2 Sugar im Überblick ..........................................................................................................192.1 Sugar Editionen ........................................................................................................19

2.1.1 Sugar Professional ....................................................................................... 20

2.1.2 Sugar Enterprise ..........................................................................................21

2.1.3 Sugar Ultimate ..............................................................................................21

2.1.4 Sugar Productivity Suite .............................................................................. 22

2.2 Sugar Editionen-Vergleich ....................................................................................... 22

2.3 SugarCRM Zusatzprodukte ..................................................................................... 28

2.3.1 Sugar Customer Journey Plug-in .................................................................. 28

2.3.2 Sugar Hint .................................................................................................... 33

2.4 Sugar Erweiterungen............................................................................................... 34

2.4.1 Sugar Exchange ........................................................................................... 34

2.4.2 Sugar Outfitters ........................................................................................... 35

2.4.3 Branchen Templates .................................................................................... 35

2.5 Sugar Support ......................................................................................................... 38

2.5.1 Get started ................................................................................................... 38

2.5.2 Dokumentation ............................................................................................ 39

2.5.3 Resources .................................................................................................... 40

2.5.4 Knowledge Base ...........................................................................................41

2.5.5 Sugar University .......................................................................................... 42

2.5.6 Sugar Community ........................................................................................ 43

2.5.7 Case Portal .................................................................................................. 44

3 Kurzanleitung Sugar ....................................................................................................... 453.1 Browser-Variante .................................................................................................... 46

3.1.1 Aufruf des Systems, Login und Sprachauswahl ........................................... 46

Hein
Rechteck

7

Inhalt

3.1.2 Erste Anmeldung .......................................................................................... 48

3.1.3 Grundlegende Funktionen ............................................................................51

3.1.4 Benutzer-Dashboard/Startseite .................................................................. 59

3.1.5 Übersicht über die wichtigsten Dashlets ..................................................... 64

3.1.6 Masken/Ansichten in Sugar ..........................................................................76

3.1.7 Pflichtfelder ................................................................................................. 94

3.1.8 Die wichtigsten Sugar Module ..................................................................... 95

3.2 Smartphone-Variante .............................................................................................162

3.2.1 Unterschied zur Browser-Variante ..............................................................162

3.2.2 Generelle Bedienung .................................................................................. 163

3.2.3 Specials in der Sugar Mobile-App ...............................................................173

3.2.4 Offline-Funktionalität .................................................................................175

3.3 Tablet-Variante ...................................................................................................... 177

4 Überblick Administration und Konfiguration von Sugar .......................................... 1784.1 Benutzer .................................................................................................................179

4.1.1 Benutzer verwalten .................................................................................... 180

4.1.2 Teams verwalten ........................................................................................ 183

4.1.3 Rollen verwalten ........................................................................................ 186

4.1.4 Teambasierte Berechtigungen ................................................................... 190

4.1.5 Passwortverwaltung .................................................................................. 192

4.2 Sugar Connect .......................................................................................................194

4.2.1 Online-Dokumentation ...............................................................................194

4.2.2 Sugar Updates ............................................................................................195

4.3 System ...................................................................................................................196

4.3.1 Systemeinstellungen ...................................................................................196

4.3.2 Regionseinstellungen ................................................................................. 199

4.3.3 Währungen ................................................................................................. 200

4.3.4 Sprachen .................................................................................................... 202

4.3.5 Globale Suche ............................................................................................ 203

4.3.6 Konnektor-Einstellungen ............................................................................ 204

4.3.7 Zeitplaner ................................................................................................... 205

4.3.8 Mobile Einstellungen .................................................................................. 207

4.3.9 OAuth-Schlüssel ........................................................................................ 208

4.3.10 Import-Assistent ........................................................................................ 209

4.3.11 Upgrade-Assistent ......................................................................................213

4.3.12 Backups ......................................................................................................214

4.3.13 Reparieren ..................................................................................................215

4.3.14 Diagnose-Tool .............................................................................................216

4.3.15 Tracker-Einstellungen .................................................................................216

4.3.16 PDF-Manager ..............................................................................................218

4.3.17 Web Logic Hooks ....................................................................................... 220

Hein
Rechteck
Hein
Rechteck

8

Inhalt

4.4 E-Mail .....................................................................................................................221

4.4.1 System-E-Mail-Einstellungen ......................................................................221

4.4.2 Verknüpfte Kontakte E-Mail ....................................................................... 222

4.4.3 E-Mail-Warteschlange ................................................................................ 223

4.4.4 Eingehende E-Mails ................................................................................... 223

4.4.5 Kampagnen-E-Mail-Einstellungen .............................................................. 225

4.4.6 E-Mail-Archivierung ................................................................................... 226

4.5 Entwickler-Tools .................................................................................................... 227

4.5.1 Studio......................................................................................................... 227

4.5.2 Modul-Ersteller .......................................................................................... 240

4.5.3 Module verwalten ...................................................................................... 244

4.5.4 Sugar Portal ............................................................................................... 245

4.5.5 Styleguide (Labor) ...................................................................................... 246

4.5.6 Workflows verwalten ................................................................................. 246

4.5.7 Module umbenennen ................................................................................. 247

4.5.8 Module und Subpanels anzeigen ............................................................... 248

4.5.9 Konfiguration der Schnellzugriffsleiste ...................................................... 249

4.5.10 API-Plattformen konfigurieren ................................................................... 250

4.5.11 Drop-down-Listen bearbeiten ....................................................................251

4.6 Produkt und Angebote .......................................................................................... 252

4.6.1 Produktkatalog .......................................................................................... 252

4.6.2 Produktkategorien ..................................................................................... 252

4.6.3 Produktarten .............................................................................................. 252

4.6.4 Konfiguration von Angeboten .................................................................... 253

4.6.5 Hersteller ................................................................................................... 254

4.6.6 Versender .................................................................................................. 254

4.6.7 Steuersätze ................................................................................................ 254

4.7 Fehlerverfolgung ................................................................................................... 255

4.8 Prognose ............................................................................................................... 255

4.9 Verkaufschancen .................................................................................................. 256

4.10 Verträge ................................................................................................................ 257

4.11 Advanced Workflow .............................................................................................. 258

4.11.1 Prozessverwaltung ..................................................................................... 258

4.11.2 Protokoll-Viewer ........................................................................................ 258

4.12 Weitere Administrationsbereiche ......................................................................... 259

5 Einblick in das Sugar Developer Framework ............................................................. 2605.1 Anpassungen der Oberfläche ............................................................................... 262

5.1.1 Sidecar ....................................................................................................... 263

5.1.2 Events ........................................................................................................ 266

5.1.3 Routes ........................................................................................................ 268

5.1.4 Handlebars................................................................................................. 269

Hein
Rechteck

9

Inhalt

5.1.5 Layouts ...................................................................................................... 269

5.1.6 Views ..........................................................................................................271

5.1.7 Fields ......................................................................................................... 272

5.1.8 Subpanels .................................................................................................. 273

5.1.9 Dashlets ......................................................................................................274

5.1.10 Drawers ..................................................................................................... 275

5.1.11 Alerts ......................................................................................................... 275

5.1.12 Language ....................................................................................................276

5.1.13 MegaMenu ..................................................................................................276

5.1.14 Administration Links .................................................................................. 277

5.1.15 Legacy MVC ............................................................................................... 277

5.2 Data Framework ................................................................................................... 278

5.2.1 Modules ..................................................................................................... 278

5.2.2 Models ....................................................................................................... 280

5.2.3 Vardefs ....................................................................................................... 282

5.2.4 Fields ......................................................................................................... 284

5.2.5 Relationships ............................................................................................. 284

5.2.6 Subpanels .................................................................................................. 284

5.2.7 Database .................................................................................................... 287

5.3 Architektur ............................................................................................................ 289

5.3.1 Platform ..................................................................................................... 289

5.3.2 Frontend Framework ................................................................................. 290

5.3.3 Autoloader ................................................................................................. 292

5.3.4 Caching ...................................................................................................... 292

5.3.5 Uploads ...................................................................................................... 293

5.3.6 Logging ...................................................................................................... 293

5.3.7 Logic Hooks ............................................................................................... 293

5.3.8 Languages .................................................................................................. 297

5.3.9 Extensions ................................................................................................. 298

5.3.10 Filter ........................................................................................................... 301

5.3.11 Duplicate Check......................................................................................... 302

5.3.12 Global Search ............................................................................................ 303

5.3.13 Sugar Logic ................................................................................................ 303

5.3.14 Administration ........................................................................................... 304

5.3.15 Configurator ............................................................................................... 304

5.3.16 Module Loader ........................................................................................... 304

5.3.17 Module Builder ........................................................................................... 304

5.3.18 Quotes ....................................................................................................... 304

5.3.19 Advanced Workflow ................................................................................... 305

5.3.20 Entry Points ............................................................................................... 305

5.3.21 Job Queue .................................................................................................. 305

5.3.22 Access Control Lists .................................................................................. 306

Hein
Rechteck

10

Inhalt

5.3.23 Teams ......................................................................................................... 306

5.3.24 Tags ............................................................................................................ 307

5.3.25 TinyMCE ..................................................................................................... 307

5.3.26 SugarPDF ................................................................................................... 308

5.3.27 DateTime .................................................................................................... 308

5.3.28 Shortcuts ................................................................................................... 308

5.3.29 Themes ...................................................................................................... 309

5.3.30 Validation Constraints ............................................................................... 309

5.3.31 CLI ...............................................................................................................312

5.3.32 Performance Tuning ....................................................................................312

5.3.33 Backward Compatibility ..............................................................................313

5.4 REST-Schnittstelle .................................................................................................313

5.4.1 Einstieg .......................................................................................................313

5.4.2 Zugriff auf den REST-Service ......................................................................314

5.4.3 Authentication ............................................................................................314

5.4.4 Avoiding Login Conflicts .............................................................................315

5.4.5 Input / Output Data Types ..........................................................................315

5.4.6 Date Handling .............................................................................................315

5.4.7 Endpoints ....................................................................................................315

5.4.8 Extending Endpoints ...................................................................................316

5.4.9 API Exceptions ............................................................................................316

5.5 Security ..................................................................................................................317

5.5.1 Endpoints and Entry Points .........................................................................317

5.5.2 Web Server Configuration ...........................................................................317

5.5.3 XSS Prevention ...........................................................................................317

5.6 OnDemand Deployment .........................................................................................318

5.7 Mobile SDK ............................................................................................................318

6 Sugar Betrieb ................................................................................................................ 3226.1 Häufige Szenarien ................................................................................................. 322

6.1.1 KMU OnDemand ........................................................................................ 322

6.1.2 Mittelstand OnDemand.............................................................................. 323

6.1.3 Mittelstand Partner Hosting ...................................................................... 324

6.1.4 Konzern OnPremise ................................................................................... 325

6.2 Technische Setups bei OnPremise-Betrieb ........................................................... 327

6.2.1 LAMP Stack ............................................................................................... 327

6.2.2 Microsoft Stack ......................................................................................... 327

6.2.3 Oracle und DB2 .......................................................................................... 328

6.2.4 Elasticsearch.............................................................................................. 328

6.2.5 Caching ...................................................................................................... 328

6.2.6 Mehrere Webserver und DB-Cluster .......................................................... 329

6.3 Größenbestimmung .............................................................................................. 330

11

Inhalt

6.3.1 Sugar Cloud ............................................................................................... 330

6.3.2 OnPremise KMU ........................................................................................ 330

6.3.3 OnPremise Standard .................................................................................. 331

6.3.4 OnPremise Large ....................................................................................... 332

6.4 Weitere Themen .................................................................................................... 333

6.4.1 Anzahl Stages ............................................................................................ 333

6.4.2 Sugar Entwicklungszyklen verstehen ........................................................ 334

6.4.3 Backup-Strategien .................................................................................... 334

6.4.4 Ausfallstrategien ........................................................................................ 335

7 Praxisbeispiele .............................................................................................................. 3367.1 WeberHaus ............................................................................................................ 336

7.2 SVH24 ....................................................................................................................341

7.4 DekaBank (Deutsche Girozentrale) ....................................................................... 344

8 Über SugarCRM ............................................................................................................ 350

9 Über Insignio ................................................................................................................ 352

Stichwortverzeichnis ........................................................................................................ 353

Abbildungsverzeichnis ...................................................................................................... 357

12

Einleitung

1 Einleitung

1.1 Für wen ist dieses Buch geschrieben?

Dieses Buch richtet sich an alle Leser, die vielleicht schon des Öfteren von Sugar oder SugarCRM gehört haben und nun endlich wissen wollen, was diese professionelle CRM-Software für ein Unternehmen leisten kann. Ein 360-Grad-Rundumblick führt dazu, das CRM-System vollständig zu verstehen und einen gezielten Einsatz im Unter-nehmen sicherzustellen.

Diese vierte Auflage des Buchs haben wir für unterschiedliche Interessentengruppen geschrieben, die folgende Perspektiven einnehmen:• CRM-Anwender lernen die bemerkenswerte Funktionsvielfalt von Sugar kennen

und bekommen hier ein klares Look-and-Feel vermittelt. • CRM-Planer (Projektleiter, Entscheider in mittelständischen und großen Unterneh-

men) finden eine Vielzahl von Anregungen für das eigene CRM-Projekt, erfahren Wesentliches über die hohe Flexibilität und Individualisierbarkeit des Systems, die von der Anpassung der Benutzeroberfläche bis zur Integrationsschnittstelle in Microsoft Office-Anwendungen reicht.

• Technikaffine Leser (Entwickler, Administratoren und IT-Leiter) finden in diesem umfangreichen Werk vielfältige Basisinformationen, beginnend mit einer initialen Konfiguration über die Weiterentwicklung bis zum dauerhaften Betrieb von Sugar im eigenen Unternehmen.

Dieses Buch stellt dabei keine Schritt-für-Schritt-Anleitung dar und ist auch nicht als umfangreiches Handbuch zu verstehen, sondern repräsentiert vielmehr einen 360-Grad-Blick unterschiedlicher Perspektiven auf das komplette Sugar Spektrum und ermöglicht einen Schnelleinstieg in die direkten Funktionsfähigkeiten der Software.

Das vorliegende Buch erleichtert somit den Einstieg in alle relevanten Themen rund um Sugar und dient als schnelle Orientierungshilfe innerhalb des komplexen Sugar Universums.

13

Einleitung

BESONDERHEITIn ausgewählten Kapiteln erfolgen Verweise auf weiterführende Informationen, die online

zur Verfügung stehen. Diese Informationen werden immer passend zu den jeweiligen Ka-

piteln personalisiert angezeigt. Die Informationen umfassen Demozugang, Benutzerhand-

bücher, Administrationsanleitungen, Sizing-Guides und weitere Informationen.

Sie können die Links entweder manuell eingeben oder z. B. mit einem Smartphone abfoto-

grafieren und über den QR-Code direkt die Seite öffnen.

SugarHandbuch.de

Auf dieser Microsite halten wir Sie rund um das Sugar Handbuch auf dem Laufenden.

Hier können Sie Hinweise und Tipps zum Buchinhalt und Informationen zu Updates und Neuauflagen finden.

DATENSCHUTZHINWEISUm diese Art der besonderen Verbindung zwischen gedrucktem Buch und digitalen Hilfs-

mitteln sowie weiterführender Unterstützungen umsetzen zu können, möchten wir an

dieser Stelle darauf hinweisen, dass die Aufrufe der Online-Seiten personalisiert erfolgen

und wir diese Daten zur Bearbeitung der Prozesse und Erkenntnisgewinne (z. B. welche

Themen sind besonders interessant für die Leser) vorhalten.

Sie können unsere Online-Dienste daher nur verwenden, wenn Sie den Double-Opt-in-

Prozess durchlaufen. Dieser startet beim ersten Aufruf eines Links automatisch und kann

direkt durchlaufen werden.

Ihr persönlicher Code ist bereits entnommen?

Wenden Sie sich bitte an [email protected].

1

14

Einleitung

1.2 Warum ein Buch über Sugar?

Dieses Buch resultiert als Ergebnis langjähriger Erfahrungen in vielen kleinen und großen Projekten, die wiederholt sowohl die Leistungsfähigkeit als auch die Flexibili-tät von Sugar bestätigen.

In den USA entwickelt, richtet sich Sugar auch stark in den deutschsprachigen Raum aus und gewinnt in den letzten Jahren zunehmend Aufmerksamkeit.

Anfang des Jahres 2016 verzeichnete Sugar bereits weit über eine Million Anwender weltweit, von denen etwa zehn Prozent in Europa vorzuweisen sind, die sich sowohl auf kleine und mittelständische Unternehmen als auch auf Großunternehmen erstrecken. Das Leistungsspektrum stellt sich sehr vielfältig dar. Angefangen beim einfachen Sa-lesCRM (oft auch SFA genannt), in dem der Standard-Leistungsumfang der Sugar Pro-fessional Edition passend ausreicht, sind in weiterführender Komplexität verschiedene Spezialanwendungen im analytischen CRM, Kampagnenmanagement, Beschwerde-management, Mini-Call-Center, Redaktionssystem, eCRM, E-Business-Portal und Part-ner-Portal integrierbar. Abgerundet wird die Sugar Welt durch ein voll integriertes CRM-Cockpit mit 360-Grad-Blick auf die Marketing-, Vertriebs- und Serviceaktivitäten.

Sugar lebt von Erfahrungen und bewusst kritischen Anwendern: Feedback, Fehler, Anregungen und Produktwünsche werden über die E-Mail-Adresse: [email protected] dankend angenommen.

1.3 Was ist neu in der vierten Auflage?

Die vorliegende Auflage zeichnet sich dadurch aus, dass weitere Detaildarstellungen rund um die unterschiedlichen Editionen von Sugar aufgenommen sind. Premiere er-fahren dabei Ausführungen zu weiteren Produkten aus der SugarCRM Welt und Dritt-anbietern, um eine noch bessere Abbildung kundenrelevanter, individueller Prozesse zu ermöglichen.

Eine bedeutsame Erweiterung bezieht sich auf Sugar im Enterprise-Umfeld, nimmt einen noch vollständigeren Überblick über die funktionalen Möglichkeiten von Sugar vor und geht vertieft auf Besonderheiten bezüglich der Projektdarstellungen in die-sem Segment ein.

In Versionsstufen ausgedrückt, finden generelle neue Funktionalitäten und Änderun-gen seit dem Major-Release-Wechsel auf die Version 7.0 und die damit einhergehende modifizierte Oberfläche besondere Beachtung. Abschließend folgt eine Funktionali-tätsbeschreibung bis zur aktuellen Version 9.0.

15

Einleitung

1.4 SugarCRM Navigator

Wozu ein Sugar? Die Beantwortung dieser Frage orientiert sich an der Anforderung der Zielgruppe, die im Unternehmen mit CRM zu tun hat. Innerhalb dieses Buches werden die folgenden Perspektiven bzw. Nutzerrollen unterschieden:

• Geschäftsführer • IT-Leiter• CRM-Projektleiter• Administratoren• Fachliche Leiter Service • Fachliche Leiter Vertrieb• Fachliche Leiter Marketing • IT-Entwicklung (für Systemanbindung)

Allen gemein ist dabei, dass Sugar als CRM eine Komplettlösung für alle Anforde-rungen rund um das Kundenmanagement darstellt. Konkret bedeutet es, dass eine systemseitige Integration wesentlicher vertriebsorientierter Aktivitäten ermöglicht wird. Neben klassischen Online- und Offline-Marketing- und Vertriebsimpulsen fun-giert das Sugar als webbasierte Umgebung für alle wesentlichen Kundeninformatio-nen. Was auf den ersten Blick wenig spektakulär erscheint, nimmt allerdings schnell an Komplexität zu, wenn folgende Alltagssituationen aus Unternehmen angeschaut werden:

• Mitarbeiter im Unternehmen dokumentieren eingehende Anrufe und Mails nur unsystematisch an verschiedenen Speicherorten. Mögliche Konsequenz: Ein poten-ziell wertvoller Interessent wird nicht zurückgerufen und platziert keinen Auftrag im Unternehmen.

• Im Unternehmen geht täglich eine sehr hohe Anzahl an Mails in einem Gruppen-postfach ein. Mangels Ablagestruktur und eindeutiger Zuständigkeit ist unklar, wer sich um diese Anfragen kümmert und diese an die fachlich zuständigen Kolle-ginnen und Kollegen mit einem klaren Auftrag weitergibt.

• In den Funktionsbereichen Marketing, Vertrieb und PR werden Kunden betreut, ohne dass eine Kopplung der Aktivitäten mittels einer zentralen Schnittstelle er-folgt. In verschiedenen Systemen stecken wichtige Kundendaten, die nicht mitei-nander synchronisiert sind und somit den Status des Kunden unklar lassen.Ver-schiedene Vertriebsteams arbeiten nach unterschiedlichen Zeitplänen, so dass unklar ist, in welchem tagesaktuellen Status sich das Kundenprojekt tatsächlich befindet. Ein Kunde wird unterschiedlich bedient und empfängt abweichende Response-Qualitäten auf seine einfachen Anfragen.

16

Einleitung

Mittels des Einsatzes des leistungsfähigen Sugar CRM-Systems können alle diese kun-denfokussierten Fragestellungen gezielt in einem System zusammengefasst werden.

Das CRM einsetzende Unternehmen kann somit eigenständig festlegen, welche Va-riante konkrete Unternehmensanforderungen am besten löst. So leistet beispielsweise CRM für den Vertrieb eine Rundumsicht auf alle Vertriebsaktivitäten im Unterneh-men und zielt auf eine optimale Vertriebssteuerung ab. Die Komponente CRM für das Marketing sorgt für eine übersichtliche Planung, Durchführung und Kontrolle der Marketingaktionen. CRM für eine Nutzung im Kundenservice richtet sich auf eine hohe Kundenzufriedenheit und Begeisterung auf Kundenseite. Im Funktionsbereich des Kundendienstes kann eine CRM-Systemlösung dafür sorgen, dass die Bearbeitung eingehender Anfragen an den Kundendienst zielgerichtet und konform zu definierten Organisations- und Kommunikationsprozessen erfolgt. Nicht zuletzt profitieren auch Support- und Helpdesk-Einheiten von CRM-Funktionalitäten, insbesondere einer zeit-nahen, strukturierten und transparenten Kundenbetreuung, die zugleich einen hohen Servicestandard sicherstellen.

Für eine reibungslose Nutzung im Unternehmensalltag hält SugarCRM wertvolle Do-kumentation bereit. Je nach ausgewählter Edition und Version finden sich Nutzungshin-weise in Form eines User Guide, Administrator Guide, Developer Guide, Release Notes sowie Additional Guides [Plug-in-Elemente; SugarCRM Mobile] in englischer Sprache.

Je nach ausgeführter Rolle im Unternehmen finden sich konkrete Inhalte zur profes-sionellen Nutzung von Sugar in folgenden Kapiteln wieder:

1.4.1 Geschäftsführer

Für den Geschäftsführer sollten folgende Kapitel besonders relevant sein:• Kapitel 2.1 Sugar Editionen für den schnellen Überblick der möglichen Einsatz-

varianten.• Kapitel 2.2 Sugar Editionen-Vergleich, um einen detaillierten Vergleich der Editio-

nen zu erhalten.• Kapitel 2.3 SugarCRM Zusatzprodukte vermittelt einen Überblick der vorhandenen

Zusatzprodukte.• Kapitel 2.4 Sugar Erweiterungen führt Möglichkeiten auf, Sugar über Module von

Drittanbietern zu erweitern.• Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung des

CRM-Systems.• Kapitel 7 Praxisbeispiele zeigt Praxisbeispiele auf Basis des Sugar CRM-Systems auf.• Kapitel 8 Über SugarCRM und Kapitel 9 Über Insignio für einen kurzen Überblick

des Herstellers und Projektpartners.

17

Einleitung

1.4.2 IT-Leiter

Für den IT-Leiter sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung des

CRM-Systems.• Kapitel 6 Sugar Betrieb zeigt Möglichkeiten auf, wie man Sugar einsetzen, inte-

grieren und betreiben kann.• Kapitel 7 Praxisbeispiele zeigt Praxisbeispiele auf Basis des Sugar CRM-Systems auf.• Kapitel 8 Über SugarCRM und Kapitel 9 Über Insignio für einen kurzen Überblick

des Herstellers und Projektpartners.

1.4.3 CRM-Projektleiter Für den CRM-Projektleiter sollten mit Blick auf SugarCRM nahezu alle Kapitel inter-essant sein. Ggf. könnte das sehr technische Kapitel 5 Einblick in das Sugar Developer Framework ausgelassen werden.

1.4.4 Administratoren Für Administratoren sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Ggf. Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung

des CRM-Systems.• Kapitel 4 Überblick Administration und Konfiguration von Sugar zeigt, wie man

Sugar konfigurieren und ohne Programmierkenntnisse anpassen kann.• Ggf. Kapitel 5 Einblick in das Sugar Developer Framework zur Übersicht, wie man

Sugar programmatisch erweitern kann. • Kapitel 5.4 REST-Schnittstelle für die Integrationsmöglichkeiten mit Drittsystemen

über REST.• Kapitel 5.5 Security für eine Einführung in Basissicherheitsmaßnahmen bei der

programmatischen Anpassung.• Kapitel 6 Sugar Betrieb zeigt Möglichkeiten auf, wie man Sugar einsetzen, inte-

grieren und betreiben kann.

18

Einleitung

1.4.5 Fachliche Leiter Service Für den fachlichen Leiter Service sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung des

CRM-Systems.

1.4.6 Fachliche Leiter Vertrieb Für den fachlichen Leiter Vertrieb sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung des

CRM-Systems.

1.4.7 Fachliche Leiter Marketing Für den fachlichen Leiter Marketing sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Ggf. Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung

des CRM-Systems.

1.4.8 IT-Entwicklung Für den Bereich IT-Entwicklung sollten folgende Kapitel besonders relevant sein:• Kapitel 2 Sugar im Überblick für einen übergeordneten Überblick über das SugarCRM

Universum.• Ggf. Kapitel 3 Kurzanleitung Sugar zur generellen Einführung in die Bedienung

des CRM-Systems.• Kapitel 4.5 Entwickler-Tools für die Anpassungen an Sugar über die Oberfläche.• Kapitel 4.3.13 Reparieren für das Reparieren der Oberfläche bei programmati-

schen Anpassungen.• Kapitel 5 Einblick in das Sugar Developer Framework zur Übersicht, wie man Sugar

programmatisch erweitern kann. • Kapitel 6 Sugar Betrieb zeigt Möglichkeiten auf, wie man Sugar einsetzen, inte-

grieren und betreiben kann.

64

Kurzanleitung Sugar

3.1.5 Übersicht über die wichtigsten Dashlets

In diesem Abschnitt erhalten Sie einen Überblick über die zumeist verwendeten Dashlets.

Dashlet „Geplante Aktivitäten“Das Dashlet der geplanten Aktivitäten zeigt alle Termine und Anrufe.

Abbildung 40: Dashlet „Geplante Aktivitäten“

Das Dashlet ist in die beiden wesentlichen Bereiche Termine und Anrufe unterteilt.

Diese werden in Sugar als unterschiedliche Objekte behandelt. Der Nachteil an dieser

Ansicht ist, dass man keine einheitliche Historie hat.

Sie können im Bereich der Termine und Anrufe direkt zusagen oder ablehnen, falls Sie

eingeladen wurden.

Sie können die Ansicht über zwei Ebenen filtern:

• über die zeitliche Eingrenzung „Heute“ oder „Zukunft“,

• über Ihre eigenen Einträge oder die Ihrer Teams (in der Abbildung die Symbole in der

rechten oberen Ecke).

65

Kurzanleitung Sugar

Tipp

Die Eingrenzungsmöglichkeiten dieses Dashlets finden Sie bei vielen anderen Dashlets

ebenfalls.

Dashlet „Verlauf“Das Verlaufs-Dashlet zeigt alle durchgeführten Termine, abgeschlossenen Anrufe und gesendete und empfangene E-Mails.

Abbildung 41: Dashlet „Verlauf“

Sie sehen in diesem Dashlet Tätigkeiten, die abgeschlossen wurden, plus E-Mail. Sie

können wieder die einzelnen Bereiche wählen und über vorgegebene Zeiträume ein-

grenzen.

Weitere Möglichkeiten siehe auch Abschnitt Dashlet „Geplante Aktivitäten“.

66

Kurzanleitung Sugar

Dashlet „Aktive Aufgaben“Zeigt alle ausstehenden und überfälligen Aufgaben an. Das Dashlet ist in drei wesent-liche Bereiche unterteilt:• Aufgaben, die sofort fällig sind (auch überfällig, diese werden rot markiert)• Aufgaben, die noch offen sind und ein Fälligkeitsdatum in der Zukunft haben• Aufgaben, die kein Fälligkeitsdatum haben (an dieser Stelle ist die deutsche Über-

setzung „zu tun“ nicht wirklich eindeutig)

Abbildung 42: Dashlet „Aktive Aufgaben“

67

Kurzanleitung Sugar

Dashlet „Inaktive Aufgaben“Zeigt alle zurückgestellten und erledigten Aufgaben an.

Abbildung 43: Dashlet „Inaktive Aufgaben“

Der Status der Aufgabe entscheidet dabei, ob diese als „Zurückgestellt“ oder „Abge-

schlossen“ gilt. Zeitliche Abhängigkeiten spielen dabei keine Rolle.

Weitere Möglichkeiten siehe auch Abschnitt Dashlet „Geplante Aktivitäten“.

68

Kurzanleitung Sugar

Dashlet „Mein Activity Stream“Dieses Dashlet zeigt Ihnen eine Liste der Tätigkeiten an, die auf Datensätze ange-wendet wurden. Sie können diese automatisch oder manuell ausgelösten Nachrichten dann kommentieren und zurückschreiben.

Abbildung 44: Dashlet „Mein Activity Stream“

HINWEISMan sollte den ACTIVITY STREAM nicht mit einem Chat verwechseln. Es geht eher dar-

um, sich an einem Objekt (z. B. einem wichtigen Interessenten) einzuklinken, um ab dann

alle Änderungen mitzubekommen. Zusätzlich können Sie sich dann aktiv dazu äußern.

Mehr Informationen zum Activity Stream finden Sie später in der Modulbeschreibung.

69

Kurzanleitung Sugar

Dashlet „Meine Listenansicht“Das Dashlet „Meine Listenansicht“ ist neben dem Dashlet „Gespeicherte Dashlet für grafische Auswertungen“ sicherlich das leistungsfähigste. Die Leistungsfähigkeit liegt dabei in dem generischen Ansatz begründet. Sie können über dieses Dashlet eine Liste aus einem beliebigen Modul abbilden, mit allen Feldern und Filtermöglichkei-ten, die Ihnen zur Verfügung stehen. Dadurch können Sie sich auf der Startseite sehr schnell völlig individuelle Ansichten erstellen.

Abbildung 45: Dashlet „Meine Listenansicht“

70

Kurzanleitung Sugar

Da dieses Dashlet viele Einstellungen zulässt, wird die Konfiguration an dieser Stelle etwas genauer erläutert, um die Liste der vorangegangenen Abbildung zu erlangen:

Abbildung 46: Konfiguration Dashlet „Meine Listenansicht“

Wie in der Abbildung zu sehen, können Sie Ihr gewünschtes Modul frei wählen, wie in

diesem Beispiel das Firmenmodul. In der Folge können Sie die gewünschten Spalten zur

Anzeige auswählen und die Sortierung per Drag-and-Drop ändern. Eine weitere wich-

tige Einstellungsmöglichkeit sind die Filter. Diese erlauben es Ihnen, den angezeigten

Datentopf über jedes Feld, welches für die Filterung aktiviert wurde, einzugrenzen.

Tipps für Enduser

Grenzen Sie die Listen Ihrer Dashlets über die Filter so weit wie möglich ein. Wenn die

Listen zu groß sind, also zu viele Einträge enthalten, verliert man sonst den Überblick.

Am besten ist es, wenn die Listen über die Filter übersichtlich gehalten werden, z. B.

einen Filter auf „Anrufe nur von heute“.

Tipps für Administratoren

Die Freiheit, in dem Dashlet jedes Modul, die Spalten und die Filter verwenden zu kön-

nen, überfordert den normalen Benutzer häufig. Vor allem dann, wenn er die Daten-

struktur und Relationen nicht kennt. Daher ist es manchmal ratsam, Dashboards/Start-

seite vorzukonfigurieren und diese dann zu verteilen.

Hinweis: Das standardmäßige verteilen von Dashboards/Startseiten ist nur ab der

Enterprise Edition möglich.

71

Kurzanleitung Sugar

Dashlet „Gespeichertes Dashlet für grafische Berichte“Neben dem Dashlet „Meine Listenansicht“ ist dieses Dashlet das mit dem höchsten Umfang und der größten Individualität. Das Dashlet ermöglicht es Ihnen, Summen-berichte (siehe dazu Modulerklärung Berichte), die Sie sich in Sugar erstellt haben, schnell und einfach auf die Startseite zu legen.

Dadurch können Sie sich Ihr eigenes Vertriebs-, Marketing- oder Service-Cockpit zu-sammenstellen und haben alle relevanten Daten immer aktuell vor Augen.

Da jede Sugar Instanz im Standard bereits vorkonfigurierte Berichte beinhaltet, kön-nen Sie den Mechanismus recht einfach ausprobieren, ohne die genaue Erstellung von Berichten zu kennen.

Wählen Sie einfach das Dashlet aus, und suchen Sie darin einen Bericht wie in dieser Abbildung:

Abbildung 47: Dashlet „Grafischer Bericht“ konfigurieren

178

Überblick Administration und Konfiguration von Sugar

4 Überblick Administration und Konfiguration von Sugar

In diesem Kapitel finden Sie einen Überblick, wie Sugar konfiguriert und angepasst werden kann.

Der Aufbau der Abschnitte orientiert sich an der Struktur im Administrationsbereich (siehe folgende Abbildung).

Abbildung 171: Tablet-Ansicht auf eine Firma in der App

1. Auflistung aller administrativen Möglichkeiten mit Kurzbeschreibung

2. Aufruf des Administrationsbereichs. Der Benutzer muss dafür als Administrator in

Sugar festgelegt sein.

1 2

Administrationshandbuch

Das Sugar Administrationshandbuch (Sugar Professional Administration Guide) steht Ihnen online immer aktuell in englischer Sprache zur Verfügung.

Dafür scannen Sie bitte den QR-Code, oder geben Sie den Link in Ihren Webbrowser ein. Sie werden sofort zum Administrationshandbuch weitergeleitet.

Hinweis: Gegebenenfalls müssen Sie noch Ihre Kontaktdaten eingeben und den Double-Opt-in-Prozess durchlaufen. Siehe Datenschutzhinweis in Kapitel 1.1.

Ihr persönlicher Code ist bereits entnommen?

Wenden Sie sich bitte an [email protected].

6

179

Überblick Administration und Konfiguration von Sugar

4.1 Benutzer

Der Abschnitt Benutzer enthält alles rund um die Einstellungen bezüglich der Rechte-verwaltung.

Abbildung 172: Administrationsstruktur Benutzer

Bevor die einzelnen Module genauer beschrieben werden, gilt es, zunächst den Zu-sammenhang zwischen den Modulen Benutzer, Teams und Rollen zu verstehen. Die folgende Abbildung illustriert dieses.

Modul Firmen

Abbildung 173: Zusammenhang Benutzer, Teams und Rollen

Benutzer

Teams

Rollen

Standardteams,Privates Team

Angelegt von, geändert von, zugeordnet zu

Zugeordnete Teams

Das Modul Benutzer beinhaltet alle Basismerkmale zu den Benutzern, die hierüber grundsätzlich verwaltet werden können, einschließlich der Steuerung der Zugriffs-rechte auf das System.

Jeder Datensatz eines gängigen Moduls wie Firmen, Kontakte und Verkaufschancen verfügt jeweils über einen zugeordneten Benutzer sowie die Kennung, wer in Person den Datensatz erstellt und welcher Benutzer diesen zuletzt verändert hat.

180

Überblick Administration und Konfiguration von Sugar

Das Modul Teams übernimmt dagegen die Aufgabe, unterschiedliche Teams im Sys-tem abzubilden. Ein Standardbenutzer kann nur Datensätze seiner Teams einsehen. Dieses Modul entscheidet also, welche Datensätze ein Benutzer sehen kann.

Jeder Benutzer verfügt über ein oder mehrere Standard-Teams. Legt dieser einen Datensatz an, so werden diese Teams automatisch dem Datensatz zugeordnet. Darü-ber hinaus hat jeder Benutzer ein privates Team. Diese Zuordnung dient als Rückfall-sicherheit, falls der der Benutzer keinem anderen Team zugeordnet werden kann. Das Modul Rollen definiert, über welche Funktionen ein Benutzer in einem Modul verfügt, so beispielsweise, ob der Benutzer innerhalb eines Moduls löschen oder Datensätze exportieren darf.

4.1.1 Benutzer verwalten

Über die Benutzerverwaltung werden die Sugar Benutzer des Systems verwaltet. Bei den Benutzern erscheint eine klassische Listenansicht, wobei der Bereich BENUTZER nicht in der Bereichsnavigation erscheint, da diese Darstellung nur auf der Adminis-trationsseite zur Verfügung steht.

In Sugar gibt es unterschiedliche Benutzertypen, die erstellt werden können: reguläre Benutzer, Systemadministrator, Gruppenbenutzer oder Portal-API-Benutzer.Bei dem regulären Benutzer handelt es sich um einen Standardbenutzer, der sich anmelden kann und bestimmte Aufgaben in Sugar übernimmt, z. B. in der Rolle eines Vertriebs-mitarbeiters, eines Marketingmitarbeiters oder eines Call-Center-Agenten. Dieser Be-nutzer verfügt über keine Administratorenrechte.

Der Systemadministrator hingegen kann Veränderungen hinsichtlich der Grundkon-figuration, Sichtbarkeit, anderer Benutzer(gruppen), Teams und Rollen vornehmen. Dieser Benutzer sieht den ADMIN-Link in der übergeordneten Navigation. Der Sys-temadministrator darf auf alle Module und Datensätze zugreifen.

Ein Gruppenbenutzer ist ein Systembenutzer, der für E-Mail-Konten verwendet wird. Dieser Benutzer kann sich nicht über die Oberfläche am System anmelden; zugleich muss für diesen Benutzertyp bei der Professional- und Enterprise-Variante aber auch keine Lizenzgebühr bezahlt werden. Sugar benötigt diesen Benutzer, da eine E-Mail-Inbox immer einen Benutzer bedingt.

181

Überblick Administration und Konfiguration von Sugar

Abbildung 174: Benutzerverwaltung

Die Nur-Portal-Benutzer können in Sugar angelegt werden, um z. B. Kunden den Zu-

griff auf ein angebundenes Portal zu ermöglichen. Nur-Portal-Benutzer erhöhen dabei

nicht die Zahl der angewendeten Lizenzen bei der Professional- und/oder Enterprise-

Variante.

Mit dem Anlegen eines neuen Benutzers wird automatisch auch ein Mitarbeiter ange-

legt, da dieses auf dem identischen Datensatz aufbaut. Es können auch nur Mitarbeiter

angelegt werden, wenn diese sich nicht im System anmelden müssen, sondern lediglich

deklaratorisch zur Verfügung stehen sollen.

Tipp

Einem Mitarbeiter oder einem inaktiven Benutzer können keine Datensätze zugewiesen

werden.

182

Überblick Administration und Konfiguration von Sugar

Neben der standardisierten Benutzerverwaltung stehen in diesem Modul folgende, wesentliche Funktionen zur Verfügung:• Benutzer erstellen, ändern und löschen• Grundeinstellungen bei Benutzern konfigurieren (insbesondere Adressdaten,

Kommunikationsdaten sowie regionale Einstellungen wie die Zeitzone, Sprache sowie ähnliche Parameter)

• Benutzer importieren • Passwortvergabe bei Benutzern• Einsehen aller Berechtigungen an einem Benutzer• Datensätze neu zuweisen (Fall: Wird ein Benutzer gelöscht, so können dessen Da-

tensätze verteilt werden.)• Teams zuordnen (dieses kann auch direkt im Team-Modul durchgeführt werden)• Rollen zuordnen (dieses kann auch direkt im Rollen-Modul durchgeführt werden)

Weitere, wichtige Einstellungsmöglichkeiten am Benutzerprofil sind hier zusammengestellt:• Angabe, welche Module ein Benutzer grundsätzlich sehen darf oder einsehen möchte• Angabe, ob ein Benutzer bei der Zuweisung zu einem Datensatz per E-Mail hierü-

ber informiert werden will• Externe Konten (wichtig für den Zugriff auf externe Anwendungen wie WebEx, die

diesen Mechanismus unterstützen)• Einrichtung des Mailpostfaches für die E-Mail-Integration

In der folgenden Abbildung ist verdeutlicht, wie Datensätze von einem Benutzer zu einem oder mehreren (über Teams) anderen Benutzern zuzuordnen sind. Dabei ist bei ausge-wählten Modulen wählbar, ob beispielsweise nur Einträge mit einem bestimmten Status umgelegt werden sollen, beispielsweise ausschließlich nicht abgeschlossene Aktivitäten.

Abbildung 175: Datensätze von einem Benutzer neu zuordnen

183

Überblick Administration und Konfiguration von Sugar

4.1.2 Teams verwalten

Der Zusammenhang der Teams mit anderen Modulen wurde bereits im Abschnitt 4.1 Benutzer erklärt. Dieses Modul zeichnet sich durch einen sehr einfachen Aufbau aus,der auf die Funktionen „Teams anlegen“ und diesen Teams Benutzer zuordnen limi-tiert ist.

Abbildung 176: Teams verwalten

Über die Teams kann beispielsweise sehr einfach eine Vertriebsstruktur aufgebaut wer-

den. Ein Teamaufbau kann dabei exemplarisch in der folgenden Struktur erfolgen:

- Team Deutschland

• Team Süd

Team Bayern

Team Baden-Württemberg

• Team Nord

Team Hamburg

Team Berlin

• …

Die Teams können in Sugar nicht kaskadiert werden. Die Funktionalität folgt der Logik,

dass einem Benutzer die unterschiedlichen Ebenen zuzuordnen sind.

HINWEISDie Konzepte nehmen hierbei sehr schnell erhöhte Komplexität an. Somit empfiehlt sich

zu Beginn eine genaue Planung, um im weiteren Nutzungsverlauf auch kombinierte Rollen

hinzuzufügen.

184

Überblick Administration und Konfiguration von Sugar

Private TeamsPrivate Teams stellen eine besondere Funktion im System dar. Jeder Benutzer, der an-gelegt wird, erhält automatisch ein privates Team mit dem identischen Namen wie der Benutzer selbst. Zum einen können in dieser Form Datensätze genau der Person zu-geordnet werden, die auch das private Team verwendet. Zum anderen wird das private Team automatisch bei Datensätzen gesetzt, die man einem Team zuordnet, in dem man selbst nicht Mitglied ist und zugewiesener Benutzer des Datensatzes ist. So wird der Zugriff auf diesen Datensatz nicht unterbrochen.

Abbildung 177: Zuordnung eines privaten Teams

Zudem kann in Sugar eine Benutzerhierarchie über das Feld „Berichtet an“ erstellt

werden. Durch das Setzen dieses Feldes wird der übergeordnete Benutzer automa-

tisch dem privaten Team des untergeordneten Benutzers zugeordnet, wodurch alle

individuellen Daten automatisch einsehbar bleiben.

StandardteamsStandardteams werden bei der Neuanlage von Datensätzen automatisch gesetzt. Kon-kret bedeutet es, dass an einem Benutzer definiert wird, welche Standardteams zuge-hörig sind. Jeder Benutzer verfügt über mindestens ein Standardteam. Bei der Anlage von Datensätzen kann der Benutzer die Teams aber verändern (siehe hierzu die vor-stehende Abbildung).

185

Überblick Administration und Konfiguration von Sugar

Die Festlegung von Standardteams an einem Benutzer zeigt sich in der nachstehenden Abbildung:

Abbildung 178: Standardteams an einem Benutzer

Team GlobalEs gibt eine weitere Besonderheit bei Einstellungen zu Teams. Bei jeder Sugar Installa-tion liegt im Standard das Team Global vor. Sofern in Sugar nichts weiter konfiguriert wird, sind alle Datensätze und Benutzer dem Team Global zugeordnet. Dieses Team sollte demnach nicht entfernt werden. Bei gewünschter eingeschränkter Sicht der Be-nutzer werden ausgewählte Nutzer aus dem Team genommen und in andere Standard-teams gesetzt.

260

Einblick in das Sugar Developer Framework

5 Einblick in das Sugar Developer Framework

Zu Beginn dieses Kapitels ist anzumerken, dass autorenseitig versucht wird, einen kompletten Überblick über das Sugar Universum zu geben, jedoch keine Schritt-für-Schritt-Anleitung. Dadurch, dass es alle drei Monate eine neue Sugar Version gibt, ver-ändern sich jeweils auch die Entwicklermöglichkeiten. Daher ist es wie in den anderen Bereichen: Das vorliegende Buch soll einen möglichst vollständigen Überblick geben, ohne jedoch jede einzelne Schraube zu beschreiben und damit das Risiko einzugehen, dass das Buch schon veraltet ist, wenn es erscheint.

Developer Guide

Der Sugar Developer Guide steht Ihnen online immer aktuell in englischer Sprache zur Verfügung.

Dafür scannen Sie bitte den QR-Code, oder geben Sie den Link in Ihren Webbrowser ein. Sie werden sofort zum Developer Guide weitergeleitet.

Hinweis: Gegebenenfalls müssen Sie noch Ihre Kontaktdaten eingeben und den Double-Opt-in-Prozess durchlaufen. Siehe Datenschutzhinweis in Kapitel 1.1.

Ihr persönlicher Code ist bereits entnommen?

Wenden Sie sich bitte an [email protected].

7

261

Einblick in das Sugar Developer Framework

Tipp

Für das Grundlagenverständnis der nächsten Kapitel sind ein gewisses technisches Ver-

ständnis sowie Sachkenntnisse in diesem Bereich mitzubringen.

HINWEISEs ist entscheidend, dass der Leser sich im ersten Schritt mit dem grundsätzlichen Ver-

halten und Aufbau von Sugar vertraut macht, um dann zur individuellen Anpassung von

Sugar überzuleiten. Der dringende Rat lautet somit, unbedingt die vorangegangenen Ka-

pitel zuerst zu lesen. Dieses bildet die Vorleistung, um dem in der Folge verwendeten

Wording folgen zu können!

SUGAR ENTWICKLERFolgende Eigenschaften ermöglichen es einem Sugar Entwickler, wichtige Systemeinstel-

lungen vorzunehmen. Diese Grundkomponenten sind wie folgt dargestellt:

• Sehr gute PHP-Kenntnisse

• Sehr gute JavaScript-Kenntnisse

• Sehr gute Kenntnisse in der generellen Backend-Entwicklung

• Gute Kenntnisse in HTML5 und CSS3

• Möglichst sicherer Umgang mit Frameworks (z. B. jQuery, bootstrap)

• Erfahrung in der Implementierung von APIs auf Basis von REST, SOAP

• Sicherer Umgang mit Datenbanken (vor allem MySQL)

• Kenntnisse zu Elasticsearch sind von Vorteil

Die folgenden Abschnitte werden verdeutlichen, wie umfangreich Sugar an eigene Unternehmensbedürfnisse angepasst werden kann bzw. welche Möglichkeiten das System bietet, ohne dabei einen upgradefähigen Pfad zu verlassen. Selbst wenn nicht so viele Anpassungen durchgeführt werden sollen, wird die Vielfalt aufzeigen, wie leistungsfähig diese CRM-Plattform ist.

262

Einblick in das Sugar Developer Framework

HINWEISAlle folgenden Abschnitte stellen Mechanismen dar, um Sugar individuell anzupassen

(Customizing).

GIT & STUDIOANPASSUNGENWenn Änderungen über die Programmierung erstellt und diese dann beispielsweise über

ein Repository verwaltet werden, um diese z. B. auf mehrere Instanzen (z. B. Entwicklung,

Testing, Integration, Produktion) zu verteilen, ist darauf zu achten, auch Studioanpassun-

gen in diesem Vorgang mit aufzunehmen, um diese nicht zu verlieren. Das Kombinieren

dieser beiden Anpassungsmöglichkeiten stellt durchaus eine Komplexität im Projekt dar.

5.1 Anpassungen der Oberfläche

Innerhalb des Kapitels 4.5.1 Studio wurde bereits erklärt, wie Sugar über die Oberflä-che angepasst und/oder erweitert werden kann. In diesem Abschnitt wird erläutert, wie Anpassungen im Studio oder dem Modul Builder auch über die Programmierung erfolgen können. Anpassungen im Studio oder den Modul Builder lösen die Erstellung von Konfigurationsdateien und Skripten aus, die Sie sonst durch Programmierung erstellen würden. Dabei leistet die Programmierung deutlich mehr als ein reines Um-konfigurieren über die Drag-and-Drop-Funktion innerhalb der Oberfläche.

263

Einblick in das Sugar Developer Framework

5.1.1 Sidecar

Sidecar stellt ein individuelles Sugar Framework dar, welches die Verarbeitung von Eingaben und Aufrufen weitestgehend auf die Clientseite bzw. auf die Browserseite verlagert, um Seiten als Single-Web-Apps zu rendern und quasi das Gefühl einer Desktop-App zu vermitteln. Sidecar enthält ein vollständiges Model-View-Control-ler-Framework (MVC), das auf der Backbone.js-Bibliothek basiert.

Durch das Erstellen einer einseitigen Web-App verringert sich die Serverlast erheb-lich, während die Leistung des Clients steigt, da die Anwendung reine JSON-Daten anstelle von HTML sendet. Die JSON-Daten, die von der API der Version 10 zurückge-geben werden, definieren die Module, Datensätze und ACLs der Anwendung, so dass die Verarbeitung der Benutzeroberfläche auf der Clientseite erfolgen kann und die zu übertragende Datenmenge erheblich reduziert wird.

Bootstrap/jQuery

Backbone.js

Route

Controller

Context

Metadata Manager

Sugar API

Metadata

Handlebars

DataManager

View

Layout

Field

Bean Collection

Bean

Abbildung 264: Aufbau Sidecar Framework für Single-Page-Web-App

264

Einblick in das Sugar Developer Framework

CompositionSidecar enthält die folgenden Elemente, die in den folgenden Abschnitten kurz erläu-tert werden:• Backbone.js• Komponenten (Layouts, Ansichten und Felder)• Kontext

Backbone.jsBackbone.js ist ein JavaScript-Framework, das auf dem MVP-Anwendungsdesign ( Model-View-Presenter) basiert. Entwickler können damit problemlos mit einer REST-ful-JSON-API interagieren, um Modelle und Sammlungen für die Verwendung in ihrer Benutzeroberfläche abzurufen.

ComponentsAlles, was auf der Seite gerendert werden kann, stellt eine Komponente dar. Ein Layout ist eine Komponente, die als Canvas/Container für eine oder mehrere Ansichten und andere Layouts dient. Alle Seiten haben mindestens ein Master-Layout, wobei dieses Master-Layout mehrere verschachtelte Layouts enthalten kann.

LayoutsLayouts sind Komponenten, die die gesamte Seite darstellen. Sie definieren Zeilen, Spal-ten und fließende Bereiche von Inhalten, die an den Endbenutzer gesendet werden.

Beispiel-Layouts umfassen hierbei:• Reihen• Spalten• Bootstrap Fluid Layouts• Drawers und Drop-downs

LINKWeitere Informationen zu Backbone.js finden sich in der zugehörigen Dokumentation

unter Backbone.js: http://backbonejs.org/.

265

Einblick in das Sugar Developer Framework

Tipp

Drawer ist ein besonderer Begriff innerhalb von Sugar. Es handelt sich dabei um eine

Zwischenseite, die eingeblendet wird, um z. B. eine Schnelleingabe zu tätigen und da-

nach wieder automatisch zur Ausgangsstelle zurückzukehren. Dabei sind oft noch we-

sentliche Daten der Ausgangsstellen sichtbar, um diese bei der Eingabe berücksichtigen

zu können (siehe bitte die folgende Abbildung).

Abbildung 265: Drawer-Beispiel zur Anlage eines Anrufs zu einer Firma

ViewsViews/Ansichten sind Komponenten, die Daten aus einem Kontext darstellen, und selbst Feldkomponenten enthalten können. Beispielansichten umfassen dabei nicht nur Datensatz- und Listenansichten, sondern auch Widgets wie:• Grafiken oder andere Datenvisualisierungen,• externe Datenansichten wie Twitter, LinkedIn oder andere Webservice-Integra-

tionen,• globales Menü.

FieldsFelder stellen Widgets für einzelne Werte dar, die aus den Modellen abgerufen wer-den und behandeln dabei insbesondere die Formatierung von Feldwerten. Wie Layouts und Ansichten auch, so erweitern Felder die Backbone-Ansichten.

Die wichtigsten Felder bzw. Feldtypen sind innerhalb des Kapitels 3.1.6 Masken / Ansichten in Sugar / Standardfelder in der Detailansicht illustriert.

266

Einblick in das Sugar Developer Framework

ContextEin Context stellt einen Container für die relevanten Daten einer Seite dar und be-inhaltet drei Hauptattribute:• Modul: Der Name des Moduls, auf dem dieser Kontext basiert.• Modell: Das primäre oder ausgewählte Modell für diesen Kontext.• Collection: Die in diesem Context aktuell geladene Modellgruppe.

Contexte werden verwendet, um verwandte Daten zu laden oder durch diese zu navi-gieren.

5.1.2 Events

Die Backbone-Events stellen ein einfaches Pub/Sub-Pattern, das in jeder Back-bone-Klasse (Modell, Ansicht, Sammlung, Router usw.) quasi enthalten ist. Das be-deutet, dass benutzerdefinierte/benannte Ereignisse von jedem Backbone-Objekt aus-gelesen oder ausgelöst werden können.

Backbone-Ereignisse sind dabei nicht mit jQuery-Ereignissen zu verwechseln. Es kann zunächst verwirrend wirken, da beide Schnittstellen neben anderen Ähnlich-keiten eine on()-Funktion enthalten und es ermöglichen, einen Ereignishandler anzu-hängen. Die Ziele für jQuery-Ereignisse sind DOM-Elemente, während hingegen das Ziel für Backbone-Ereignisse Backbone-Objekte sind.

Sidecar-Klassen erweitern diese Basis-Backbone-Klassen. Daher unterstützt jedes Sidecar-Objekt (Layouts, Ansichten, Felder, Beans, Kontexte usw.) Backbone-Ereignis-se grundlegend.

Global Application EventsAnwendungsereignisse werden im app.events-Objekt (Sugar.App.events) ausgelöst. Nachfolgend findet sich eine Liste von Anwendungsereignissen mit einer Beschreibung, die erläutert, wann von einer positiven Auslösung dieser Ereignisse ausgegangen werden kann. Zu beachten ist hierbei, dass diese Ereignisse an mehre-ren Stellen ausgelöst werden können. Einige Ereignisse wie z. B. app: sync: error können Ereignisse wie z. B. app: logout auslösen.

Nachstehend werden verschiedene Ereignisse kurz erläutert: app: init: wird ausgelöst, nachdem die Sidecar-Anwendung initialisiert wurde. Eine wichtige Anmerkung hier-zu lautet: Durch die Initialisierung werden Ereignisse registriert, Sidecar-API-Objekte erstellt, öffentliche Metadaten und Konfigurationen geladen und Module initialisiert.

267

Einblick in das Sugar Developer Framework

app: start: Wird ausgelöst, nachdem die Sidecar-Anwendung gestartet wurde.

app: sync: wird ausgelöst, wenn Metadaten mit der Benutzeroberfläche synchronisiert werden, z. B. nach dem Anmeldevorgang.

app: sync: complete: Wird ausgelöst, nachdem die Metadaten vollständig synchronisiert wurden.

app: sync: error: Wird ausgelöst, wenn die Metadaten-Synchronisierung fehlschlägt.

app: sync: public: error: Wird ausgelöst, wenn die Synchronisierung der öffentlichen Metadaten während der Initialisierung fehlschlägt.

app: view: change: Wird ausgelöst, wenn eine neue Ansicht geladen wird.

app: locale: change: Wird ausgelöst, wenn sich die Lokation ändert.

lang: direction: change: Wird ausgelöst, wenn sich das Gebietsschema ändert und die Richtung der Sprache unterschiedlich ist.

app: login: Wird ausgelöst, wenn die Route „Login“ aufgerufen wird.

app: login: success: Wird nach einem erfolgreichen Login ausgelöst.

app: logout: Wird ausgelöst, wenn sich die Anwendung abmeldet.

app: Logout: success: Wird nach einem erfolgreichen Logout ausgelöst.

268

Einblick in das Sugar Developer Framework

cl: change: Wird ausgelöst, wenn sich die ACLs für dieses Modul ändern.

acl: change: <Feldname> : Wird ausgelöst, wenn sich die ACLs für ein bestimmtes Feld in diesem Modul ändern.

validation: success: Wird ausgelöst, wenn die Bean-Validierung gültig ist.

validation: complete: Wird ausgelöst, wenn die Bean-Validierung abgeschlossen ist.

error: validation: Wird ausgelöst, wenn die Bean-Validierung einen Fehler aufweist.

error: validation: <Feldname> wird ausgelöst, wenn ein bestimmtes Feld einen Bean-Validierungsfehler aufweist.

attributes: revert: Wird ausgelöst, wenn das Bean zu den vorherigen Attributen zurückgesetzt wird.

Context EventsDas Kontextobjekt wird verwendet, um die Kommunikation zwischen verschiedenen Sidecar-Komponenten auf der Seite mithilfe von Ereignissen zu erleichtern. Zum Bei-spiel wird das Ereignis „save_button: click“ ausgelöst, wenn ein Benutzer auf die Schaltfläche „Speichern“ klickt. Die Datensatzansicht verwendet dieses Ereignis, um Save-Routinen auszuführen, ohne eng mit einer bestimmten Save-Schaltfläche ge-koppelt zu sein. Eine Liste dieser kontextabhängigen Ereignisse ist nicht plausibel, da sich die Benutzeroberfläche ständig zwischen den Versionen ändert und es aufgrund der Ansichten und Layouts in jeder Version viele weitere Optionen gibt.

5.1.3 Routes

Routen legen fest, wohin Benutzer aufgrund von Mustern/Teilbereichen in der URL geleitet werden.

Routen, die in ./include/javascript/sugar7.js definiert sind, zeigen URL-Muster/Teilbereiche, die durch einen Hashtag ("#") in der URL gekennzeichnet sind. Ein Beispiel für ein URL-Muster für die Sugar Anwendung ist dabei: http://{site url}/#<module>. Diese Route führt einen Benutzer zur Listenansicht für ein bestimmtes Modul. Dabei können Routen durch Konfigurationsdateien erweitert werden.

Bean EventsIn der folgenden Tabelle sind wichtige Bean-Objektereignisse aufgeführt:

269

Einblick in das Sugar Developer Framework

5.1.4 Handlebars

Die Handlebars-Bibliothek in ./sidecar/lib/handlebars/ ist eine JavaScript-Bi-bliothek, mit der Sugar semantische Vorlagen erstellen kann. Handlebars helfen beim Rendern von Inhalten für Layouts, Ansichten und Felder für Sidecar. Mit Hilfe von Handlebars können Änderungen an der Anzeige von Inhalten vorgenommen werden, wie beispielsweise das Hinzufügen von HTML oder CSS.

Weitere Informationen zur Handlebars-Bibliothek finden sich auf der Website unter http://handlebarsjs.com.

Die Handlebars-Vorlagen werden als .hbs-Dateien im Dateisystem gespeichert. Diese Dateien werden zusammen mit den Ansichts-, Layout- und Feldmetadaten abgelegt und entsprechend der innerhalb des Controllers ausgewählten Vererbung geladen. Um die Liste der verfügbaren Vorlagen anzuzeigen oder einsehen zu können, ob eine benutzerdefinierte Vorlage verfügbar ist, kann das Konsolenfenster des Browsers ge-öffnet werden und der Namespace Handlebars.templates geprüft werden.

Wenn mit Handlebar-Vorlagen gearbeitet wird, kann es unter Umständen schwierig sein, herauszufinden, wo ein Problem konkret auftritt oder welche Inhalte in einer Variablen vorhanden sind. Als Hilfe bei der Problembehandlung dient der Log-Helper. Dieser gibt den Inhalt von this und die an ihn übergebene Variable in der Konsole des Browsers aus.

Handlebars stellen eine Möglichkeit dar, den Vorlagen benutzerdefinierte Funktionen hinzuzufügen. Helfer finden sich hierzu an folgenden Stellen:• /sidecar/src/view/hbs-helpers.js: Sidecar verwendet diese Helfer stan-

dardmäßig.• /include/javascript/sugar7/hbs-helpers.js: Hierbei handelt es sich

um zusätzliche, vom Basisclient verwendete Helfer.

5.1.5 Layouts

Layouts repräsentieren Komponenten-Plug-ins, die das Gesamtlayout sowie die Posi-tionierung der Seite definieren. Layouts ersetzen das bisherige Konzept von MVC-An-sichten und werden systemweit verwendet, um Zeilen, Spalten, Bootstrap-Layouts und Pop-ups zu erstellen, indem mehrere Ansichten oder verschachtelte Layouts auf einer Seite dargestellt werden.

270

Einblick in das Sugar Developer Framework

Tipp

In vielen der folgenden Abschnitte werden Hierarchien in der Dateiverarbeitung auf-

gezeigt. Dabei handelt es sich um die Erläuterung, in welcher Reihenfolge Dateien ver-

wendet werden, wenn zum Beispiel bestehende Dateien individualisiert werden (Custo-

mizing).

Das grundsätzliche Customizing erfolgt im Verzeichnis /custom.

View 1

Page

Row Layout

Column Layout

View 2 View 3

Abbildung 266: Layout-Schema

271

Einblick in das Sugar Developer Framework

Layoutkomponenten bestehen normalerweise aus einer Controller-JavaScript-Datei (.js) und einer PHP-Datei (.php). Dabei sind Layouttypen jedoch voneinander unabhän-gig, so dass nicht beide Dateien zwingend vorhanden sein müssen.

Die Layoutkomponenten werden in folgender Reihenfolge geladen:

./custom/modules/<module>/clients/<client>/layouts/

./modules/<module>/clients/<client>/layouts/

./custom/clients/<client>/layouts/

./clients/<client>/layouts/

If not fount, loads

If not fount, loads

If not fount, loads

Abbildung 267: Reihenfolge Laden der Layoutdateien

5.1.6 Views

Views sind Komponenten-Plug-ins, die Daten aus einem Kontext heraus darstellen. View-Komponenten können Feldkomponenten enthalten und bestehen normalerweise aus einer Controller-JavaScript-Datei (.js) sowie mindestens einer Handlebars-Vorlage (.hbs).

Zur Reihenfolge des Ladens der Dateien finden sich Erläuterungen im vorgegangenen Abschnitt. Diese sind identisch mit den dargestellten Layouts.

Bei der Arbeit mit Modulansichten ist es zudem wichtig, den Unterschied zwischen dem Überschreiben und dem Erweitern einer View zu verstehen. Beim Überschreiben wird im Wesentlichen eine View erstellt oder kopiert, die von der Anwendung selbst verwendet wird und deren übergeordnetes Element nicht erweitert wird. Standard-mäßig erweitern einige Modulansichten bereits den Kerncontroller, technisch nachzu-vollziehen unter dem Pfad ./clients/base/views/record/record.js.

272

Einblick in das Sugar Developer Framework

Custom Quotes Create./custom/modules/Quotes/clients/base/views/create/create.js

Quotes Create./modules/Quotes/clients/base/views/create/create.js

Custom Create./custom/clients/base/views/create/ create.js

Custom Record./custom/clients/base/views/record/record.js

Create./clients/base/views/create/create.js

Record./clients/base/views/record/record.js

Custom Quotes Record./custom/modules/Quotes/clients/base/views/record/record.js

Quotes Record./modules/Quotes/clients/base/views/record/record.js

Abbildung 268: Vererbungsstruktur am Modul Angebote für Views

5.1.7 Fields

Felder stellen Komponenten-Plug-ins dar, die Feldwerte aufbereiten und formatieren. Sie bestehen aus einer Controller-JavaScript-Datei (.js) und mindestens einer Handle-bars-Vorlage (.hbt).

Die Felder stellen die unterschiedlichen Feldtypen in Sugar dar. Anwenderseitig sind diese anpassungsfähig, und neue Feldtypen können erstellt werden. Die Hierarchie der zu ladenden Customizing-Dateien ist dabei über das Kürzel fields nachvollzieh-bar (siehe bitte auch Erläuterungen im Kapitelabschnitt Layout).

Das folgende Diagramm veranschaulicht die Vererbung der Erstellungs- und Daten-satzansichten für das Modul „Angebote“. Diese Vererbungsstruktur ist für Bestands- und benutzerdefinierte Module identisch.

273

Einblick in das Sugar Developer Framework

5.1.8 Subpanels

Bei Sidecar wurden Subpanel-Layouts von Sugar geändert, um als vereinfachte Meta-daten zu funktionieren. Dieser Abschnitt bietet einen Überblick über das Metada-ten-Framework für Subpanels.

Der Grund für diese Änderung lautet, dass in früheren Versionen von Sugar die Meta-daten aus verschiedenen Quellen generiert wurden, z. B. aus den Klassen SubPanel-Layout und MetaDataManager. Dadurch entfallen das Generieren und Verarbeiten der Layouts in Sidecar.

HINWEISIm Rückwärtskompatibilitätsmodus ausgeführte Module verwenden nicht die Layouts des

Sidecar-Subpanels, da diese das ältere MVC-Framework verwenden.

./custom/modules/<module>/clients/<client>/layouts/subpanels/subpanels.php

./custom/modules/<module>/Ext/clients/base/layouts/subpanels/subpanels.ext.php

./custom/Extension/modules/<module>/Ext/clients/<client>/layouts/subpanels/

./modules/<module>/clients/<client>/layouts/subpanels/subpanels.php

./custom/clients/<client>/layouts/subpanel/subpanels.php

./clients/<client>/layouts/subpanel/subpanels.php

If not fount, loads

If not fount, loads

If not fount, loads

Is appended to the result of

Files in this directory are compiled into

Abbildung 269: Hierarchie der Subpanel-Konfigurationsdateien

274

Einblick in das Sugar Developer Framework

Wenn eine neue Relation vom Sugar Studio bereitgestellt wird, entstehen beim Er-stellen der Beziehung die Layouts mithilfe des Erweiterungsframeworks. Zu beachten ist hierbei, dass für Bestandsbeziehungen und benutzerdefinierte Bereitstellungsbe-ziehungen Layouts sowohl für Sidecar- als auch für Legacy-MVC-Subpanel-Formate generiert werden. Auf diese Weise ist sichergestellt, dass alle zugehörigen Module sowohl im Sidecar- als auch im Rückwärtskompatibilitätsmodus ein zugehöriges Sub-panel anzeigen.

5.1.9 Dashlets

Dashlets sind spezielle Ansichtskomponenten-Plug-ins, die Daten aus einem Kontext aufbereiten und dafür das Dashlet-Plug-in verwenden. Sie bestehen im Regelfall aus einer Controller-JavaScript-Datei (.js) und mindestens einer Handlebars-Vorlage (.hbt).

Anwender können über diese Komponenten individuelle Funktionalitäten in Form von Dashlets umsetzen, die vollständig individuell sind, aber im Systemkontext ab-gegrenzt behandelt werden.

Beim Arbeiten mit Dashlets gibt es drei Ansichten: Vorschau, Dashlet-Ansicht und Konfigurationsansicht.

VorschauDie Vorschauansicht wird verwendet, wenn Dashlets ausgewählt werden, die der Startseite hinzuzufügen sind. Vorschauvariablen in den Metadaten werden dabei den benutzerdefinierten Modellvariablen zugewiesen.

AnsichtIn der Dashlet-Ansicht wird der Inhalt für das Dashlet dargestellt. Es enthält auch die Einstellungen zum Bearbeiten, Entfernen und Aktualisieren des Dashlets.

KonfigurationsansichtDie Konfigurationsansicht wird angezeigt, wenn ein Benutzer im Drop-down-Menü des Dashlets auf die Option "Bearbeiten" klickt. Konfigurationsvariablen in den Meta-daten werden den benutzerdefinierten Modellvariablen zugewiesen.

275

Einblick in das Sugar Developer Framework

5.1.10 Drawers

Das Drawer-Layout-Widget im Pfad ./clients/base/layouts/drawer/ wird verwendet, um dem Benutzer ein Fenster mit zusätzlichem Inhalt anzuzeigen. Dieses Fenster kann dann geschlossen werden, um den Inhalt anzuzeigen, der dem Benutzer zuvor angezeigt wurde, so dass dieser an der vorherigen Stelle die Navigation im Sys-tem fortsetzen kann.

5.1.11 Alerts

Das Widget für die Ansichten der Benachrichtigungen in Sugar, das sich unter der Pfadangabe ./clients/base/views/alert/ befindet, zeigt hilfreiche Informa-tionen an, beispielsweise hinsichtlich des Ladens von Nachrichten, Benachrichtigun-gen und Bestätigungsnachrichten für den Benutzer.

An dieser Stelle können individuelle Benachrichtigungen erstellt werden, die den Be-nutzern bei bestimmten Ereignissen im System angezeigt werden.

Wichtige Parameter zur Einstellung sind dabei:

Id: ID der Warnmeldung

options.level: Alarmstufe

options.title: Titel der Warnung, der der Stufe der Warnung entspricht

options.messages: Nachricht, die der Benutzer sieht

options.autoClose: Legt fest, ob das Alarm-Popup automatisch geschlossen wird

options.onClose: Callback-Handler zum Schließen von Bestätigungsmeldungen

options.onCancel: Callback-Handler zum Abbrechen von Bestätigungsmeldungen

options.onLinkClick: Callback-Handler für Klickaktionen auf einen Link inner-halb der Warnung

HINWEISIn Prozessalarmen werden keine Meldungen angezeigt.

276

Einblick in das Sugar Developer Framework

5.1.12 Language

Die Sprachbibliothek innerhalb des Pfades ./sidecar/src/core/language.js dient zur Verwaltung der Anzeigesprache des Benutzers sowie zum Abrufen von Bezeichnun-gen und Listen.

Dieser Bereich stellt Programmierfunktionen zur Verfügung, um einzelne Werte aus der Sprachbibliothek abzufragen oder auch Modulbezeichnungen auszulesen.

5.1.13 MegaMenu

Das MegaMenu bietet Anpassungsmöglichkeiten der Hauptnavigationsleiste, die sich oben auf jeder Sugar Seite befindet. Es ist das Hauptwerkzeug zum Navigieren im Frontend der Sugar Anwendung.

Das MegaMenu-Layout in ./clients/base/layouts/header/header.php be-steht aus den Modullisten- und Schnellsuchlayouts sowie den Benachrichtigungen, Profilaktionen und Schnellansichten. Um diese Komponenten anzupassen, kann im Pfad ./custom/clients/base/layouts/header/header.php das eigene Lay-out überschrieben werden, um auf eigene benutzerdefinierte Komponenten zu ver-weisen.

Die wichtigste Customizing-Funktion ist dabei sicherlich die Beeinflussung von neu-en oder angepassten Links in den Menüs der Module.

Die Menülinks können mit folgenden Parametern angepasst werden:

acl_action: Die ACL-Aktion wird verwendet, um zu überprüfen, ob der Benutzer Zugriff auf eine bestimmte, für die Verknüpfung erforderliche Aktion hat.

acl_module: Das ACL-Modul wird verwendet, um zu überprüfen, ob der Benutzer Zugriff auf ein bestimmtes Modul hat, das für die Verbindung erforderlich ist.

Icon: Repräsentiert das Bootstrap-Symbol, das neben dem Link angezeigt wird, wo-bei die vollständige Liste der Symbole unterhalb des Pfades Admin> Styleguide> Core Elements> Base CSS> Icons aufgeführt ist. Siehe hierzu bitte auch Kapitel 4.5.5 Style-guide (Labor).

Label: Repräsentiert den Label-Key, der den Anzeigetext eines Links enthält.

277

Einblick in das Sugar Developer Framework

Openwindow: Dieser gibt an, ob der Link in einem neuen Fenster geöffnet werden soll.

route: Repräsentiert die Route, an die der Benutzer geleitet werden soll. Für Side-car-Module ist dies # <Modul>, wobei Module im Abwärtskompatibilitätsmodus als # bwc / index.php? Module = <module> geroutet werden.

Submenu: Stellt eine Reihe von Links zur Unternavigation dar.

HINWEISFür externe Links ist die vollständige URL erforderlich; für openwindow ist true festgelegt.

HINWEISSubmenülinks enthalten dieselben grundlegenden Linkeigenschaften.

5.1.14 Administration Links

Administration Links sind Aufrufmöglichkeiten im Administrationsbereich, die angepasst werden können (siehe hierzu auch Ausführungen im Kapitel 4.12 Weitere Administrationsbereiche). Entwickler können mit dem Erweiterungsframework zu-sätzliche Verwaltungslinks und Bereiche erstellen.

Das Erweiterungsverzeichnis für globale Links befindet sich unter dem Pfad ./

custom/Extension/modules/Administration/Ext/Administration/. Nach einer Schnellreparatur und Neuerstellung werden die PHP-Dateien in diesem Verzeichnis in ./custom/modules/Administration/Ext/Administration/administration.ext.php kompiliert. Die Standard-Links, die im Administrati-onsabschnitt definiert sind, finden sich in diesem Pfad wieder: ./modules/Admi-nistration/metadata/adminpaneldefs.php.

5.1.15 Legacy MVC

Ein wichtiger Hinweis an dieser Stelle führt an, dass die MVC-Architektur veraltet ist und durch Sidecar ersetzt wird. Bis das Framework vollständig veraltet ist, ver-wenden Module, die im Abwärtskompatibilitätsmodus eingestellt sind, weiterhin das MVC-Framework. Diese sollten also nur sehr eingeschränkt für Anpassungen an BWC-Modulen verwendet werden.

278

Einblick in das Sugar Developer Framework

5.2 Data Framework

Sugar umfasst Kernelemente wie Module, Felder, Vardefs und andere grundlegende Komponenten. Die Data-Framework-Abschnitte dokumentieren in kurzer Form, wel-che grundsätzlichen Eigenschaften diese Komponenten aufweisen.

5.2.1 Modules

Die im Pfad ./include/modules.php definierten Moduldefinitionen bestimmen, wie Module in der gesamten Anwendung angezeigt und verwendet werden. Alle be-nutzerdefinierten Metadaten, die sowohl aus einem Plug-in als auch aus einem benut-zerdefinierten Modul bestehen können, sollten über die Include-Erweiterung geladen werden. Vor Version 6.3.x konnten Moduldefinitionen hinzugefügt werden, indem die Datei ./include/modules_override.php erstellt wurde. Diese Methode zum Er-stellen von Moduldefinitionen ist immer noch kompatibel, wird jedoch aus Sicht der Best Practices nicht empfohlen.

Die Metadaten der Module werden auf folgende Weise geladen:

./include/modules.php

./include/modules_override.php

./custom/application/Ext/Include/modules.ext.php

./custom/Extension/application/Ext/Include/<name>.php

Loads overrides from

Loads overrides from

Files in this directory are compliled into

Abbildung 270: Hierarchie der Modulliste-Config-Datei

279

Einblick in das Sugar Developer Framework

$moduleList$moduleList ist ein Array, das eine Liste von Modulen im System enthält. Das For-mat des Arrays soll einen numerischen Index und einen Wert des eindeutigen Modul-schlüssels haben.

$beanListDie Variable $beanList ist ein Array, das eine Liste aller aktiven Beans (Module) in der Anwendung speichert. Das Format des Arrays ist array ('<Bean Plural Name>' => '<Bean Singular Name>') ;. Der Schlüssel $beanList wird zum Nachschlagen von Werten in der Variablen $beanFiles verwendet.

$beanFilesDie Variable $beanFiles ist ein Array, das zum Referenzieren der Klassendateien für ein Bean verwendet wird. Das Format des Arrays ist array ('<Bean Singular Name>' => '<relative Klassendatei>') ;. Der in Singularform gespeicherte Bean-Name ist eine Referenz auf den Klassennamen des Objekts, der vom $Bean-List-Schlüssel 'nachgeschlagen wird.

$modInvisListDie Variable $modInvisList entfernt ein Modul aus der Navigationsregisterkarte des Hauptmenüs, der Berichterstellung und der dazugehörigen Subpanels unter den zugehörigen Modulen. Um ein verborgenes Modul für die Berichterstellung zu aktivie-ren, kann die Variable $report_include_modules verwendet werden. Um nicht sichtbare Module zu aktivieren, ist indes die Variable $modules_exempt_from_availability_check einzusetzen.

$modules_exempt_from_availability_checkDie Variable $modules_exempt_from_availability_check wird in Verbin-dung mit $modInvisList verwendet. Wenn ein Modul mit $modInvisList aus der Hauptmenü-Ansicht entfernt wurde, können die Subpanels der Module unter den zugehörigen Modulen trotzdem angezeigt werden.

$report_include_modulesDie Variable $report_include_modules wird in Verbindung mit $modInvisList verwendet. Wenn ein Modul mit $modInvisList ausgeblendet wurde, kann das Mo-dul für die Berichterstellung trotzdem aktiviert werden.

$adminOnlyListDie Variable $adminOnlyList ist eine zusätzliche Sicherheitsstufe für Module, auf die Administratoren nur über die Admin-Seite zugreifen können.

280

Einblick in das Sugar Developer Framework

$bwcModulesDie Variable $bwcModules bestimmt, welche Module sich im Abwärtskompatibili-tätsmodus befinden.

5.2.2 Models

Jedes Modul in Sugar erweitert das Sugar Modell. Dieses Modell wird von der Sugar-Bean bestimmt, die grundsätzliche Methoden zum Erstellen, Lesen/Abrufen, Aktu-alisieren und Löschen von Datensätzen in der Datenbank und in eventuellen Unter-klassen von SugarBean enthält. Viele der gängigen Sugar Module verwenden auch die SugarObjects-Klasse, welche im nächsten Abschnitt erläutert wird.

SugarObject TemplatesSugar Objekte erweitern das Konzept der Unterklasse noch um einen weiteren Schritt und ermöglichen es, die Vardefs zu subklassifizieren. Dies umfasst das Erben von Feldern, Beziehungen, Indizes und Sprachdateien. Im Gegensatz zu Unterklassen sind diese jedoch nicht auf eine einzelne Vererbung beschränkt. Wenn zum Beispiel ein Sugar Objekt für Felder vorhanden ist, das in jedem Modul verwendet wird (z. B. id, deleted oder date_modified), könnte das Modul sowohl vom Basis-Sugar-Objekt als auch vom Person-Sugar-Objekt erben.

Folgendes Beispiel veranschaulicht den Zusammenhang: Der Basisobjekttyp hat ein Feld „name“ mit der Länge 10; das Firma-Objekt beinhaltet ein Feld „name“ mit der Länge 20. Wenn zuerst von Basic und dann von Firma geerbt wird, erbt das Feld die Objektlänge von 20. Die Einstellung auf Modulebene überschreibt jedoch immer alle von Sugar Objekten bereitgestellten Werte. Wenn also das Feld „name“ im Modul auf Länge 60 festgelegt wurde, ist die Feldlänge letztendlich 60.

Tipp

Die folgenden Objektvorlagen sollen eine Erleichterung bieten, bestimmte Typen, die

bereits entsprechende Felder beinhalten, direkt zu verwenden.

281

Einblick in das Sugar Developer Framework

Es gibt sechs Arten von SugarObject-Vorlagen:• Basic: enthält die grundlegenden Felder, die von allen Sugar-Modulen benötigt

werden.• Person: basiert auf den Modulen „Kontakte“, „Interessenten“ und „Leads“.• Problem: basiert auf den Modulen „Bugs and Cases“.• Firma: basiert auf dem Kontenmodul.• Datei: basiert auf dem Dokumentenmodul.• Verkauf: basiert auf dem Opportunity-Modul.

SugarObject InterfacesZusätzlich zu den oben beschriebenen Objektvorlagen können „zuweisbare“ Objekt-vorlagen für Module mit Datensätzen verwendet werden, die ein Feld „Zugewiesen an“ enthalten sollen. Obwohl nicht jedes Modul dieses verwendet, erlauben die meisten Module die Zuordnung von Datensätzen zu Benutzern. SugarObject-Schnittstellen er-möglichen es, diesen Modulen das zuweisbare Attribut hinzuzufügen.

SugarObject-Schnittstellen und SugarObject-Vorlagen sind einander sehr ähnlich. Der Hauptunterschied besteht jedoch darin, dass Vorlagen eine Basisklasse aufweisen, die abgearbeitet werden kann, was für Schnittstellen dagegen nicht gilt. Orientiert an der Dateistruktur, wird ersichtlich, dass Vorlagen viele zusätzliche Dateien enthalten, ein-schließlich eines vollständigen Metadatenverzeichnisses. Dieses wird hauptsächlich für den Module Builder verwendet.

File StructureEntsprechende Dateistrukturen sind hier einsehbar:• ./include/SugarObjects/interfaces

• ./include/SugarObjects/templates

Performance ConsiderationsDer VardefManager speichert die generierten Vardefs in einer einzigen Datei, die zur Laufzeit geladen wird. Wird diese Datei nicht gefunden, lädt Sugar die Datei vardefs.php, die sich im Verzeichnis des Moduls befindet. Gleiches gilt für Sprachdateien. Diese Zwischenspeicherung umfasst auch Daten für benutzerdefinierte Felder sowie alle Vardef- oder Spracherweiterungen, die in das Erweiterungsframework eingefügt werden.

Dadurch werden die einzelnen Dateiaufrufe auf ein Minimum reduziert, was zu einer erheblichen Performancesteigerung führt. Wenn Sugar im Entwicklermodus verwen-det wird, fallen diese Caching-Mechanismen weg (siehe hierzu bitte Ausführungen im Kapitel 4.3.1 Systemeinstellungen).

282

Einblick in das Sugar Developer Framework

Cache FilesDie zuvor beschriebenen gecachten Dateien finden sich hier wieder:./cache/modules/<module>/<object_name>vardefs.php

./cache/modules/<module>/languages/en_us.lang.php

SugarBeanDie SugarBean-Klasse unterstützt alle Modellvorgänge von und zur Datenbank. Jedes Modul, das mit der Datenbank interagiert, verwendet die SugarBean-Klasse, die Me-thoden zum Erstellen, Lesen/Abrufen, Aktualisieren und Löschen von Datensätzen in der Datenbank (CRUD) sowie zum Abrufen von zugehörigen Datensätzen umfasst.

Die SugarBean-Klasse ist ein ganz wesentliches Element, um zentrale Customizings durchzuführen. Alle Module sind direkt oder über die SugarObject Templates von der SugarBean-Klasse abgeleitet.

Der beste Ansatz zum Anpassen eines SugarBean-Kernobjekts besteht darin, sich mit der Funktionsweise des Core-Beans vertraut zu machen und die Bean-Logik nur dort zu ändern, wo es unverzichtbar ist. Nachdem festgestellt ist, wo Anpassungen in der Bean-Klasse des Moduls vorzunehmen sind, kann die Klasse im benutzerdefinierten Verzeichnis erweitert werden.

BeanFactoryDie BeanFactory-Klasse in der Datei ./data/BeanFactory.php wird zum Laden einer SugarBean-Instanz verwendet. Diese Klasse sollte immer verwendet werden, wenn Bean-Objekte erstellt oder abgerufen werden. Es behandelt dabei automatisch alle für die Bean erforderlichen Klassen mit.

5.2.3 Vardefs

Vardefs (Variablendefinitionen) enthalten Informationen über SugarBeans in Bezug auf Felder, Indizes, Relationen uvm.

Tipp

Um das Duplizieren von Code aus der Bean-Kernklasse zu vermeiden, empfiehlt es sich

immer, die Klasse zu erweitern, anstatt die Klasse in das benutzerdefinierte Verzeichnis

zu kopieren.

283

Einblick in das Sugar Developer Framework

In jedem Modul, das eine SugarBean-Datei enthält, befindet sich eine vardefs.php-Datei, die die Felder für dieses SugarBean angibt. Die vardefs für die Contact- Bean befinden sich beispielsweise in ./modules/Contacts/vardefs.php.

Dictionary ArrayVardef-Dateien erstellen ein Array mit dem Namen $dictionary, das mehrere Ein-träge enthält, darunter Tabellen, Felder, Indizes und Beziehungen.

Duplicate Check ArrayDas duplicate_check-Array enthält zwei Eigenschaften, mit denen gesteuert wird, ob die Dubletten-Überprüfung für das Modul aktiviert ist und mit welcher Strategie für die Dubletten-Überprüfung nach Duplikaten gesucht wird.

Fields ArrayDas fields-Array enthält einen Eintrag für jedes Feld in SugarBean. Auf der obersten Ebene dieses Arrays ist der Name der Schlüssel des Felds, und der Wert ist ein Array von Attributen zu diesem Feld. Darüber können z. B. der Feldtyp und weitere Eigen-schaften des Feldes (wie z. B. Pflichtfeld) festgelegt werden.

Indices ArrayDieses Array enthält eine Liste von Arrays, die zum Erstellen von Indizes in der Daten-bank verwendet werden. Indizes sind wichtige Mechanismen zur Performancesteige-rung.

Relationships ArrayDas relationsships Array enthält Beziehungen zwischen Objekten. Diese können sehr unterschiedlich ausgeprägt sein in der Relationsform 1:n oder m:n. Der Aufbau ist daher recht komplex und sollte nur von erfahrenen Sugar Entwicklern angepasst werden. Gleiches bezieht sich auf eine Fehlersuche.

Visibility ArrayDas Sichtbarkeitsarray gibt die Sichtbarkeitsklassen auf Zeilenebene an, die für die Beans aktiviert sind. Jeder Eintrag im Array ist ein Schlüssel-Wert-Paar, wobei der Schlüssel der Name der Visibility-Klasse ist und der Wert auf boolean True gesetzt ist.

284

Einblick in das Sugar Developer Framework

5.2.4 Fields

Die SugarField-Widgets in ./include/SugarFields/Fields/ definieren die Datenformatierungs- und Suchabfragestruktur für die verschiedenen Feldtypen. Sie definieren auch das Aufbereiten von Feldern für Module, die im Abwärtskompatibi-litätsmodus ausgeführt werden. Beim Erstellen oder Überschreiben von Feld-Wid-gets sollten Entwickler ihre Anpassung in ./custom/include/SugarFields/Fields/ platzieren.

Hierüber können völlig neue Feldtypen in Sugar abgebildet werden, beispielsweise ein Statusfeld in Ampelform.

5.2.5 Relationships

Relationen sind die Basis für die Verknüpfung von Informationen innerhalb des Sys-tems sowie zwischen Modulen.

Relationen werden anfangs in der Vardefs-Datei des Moduls unter dem Beziehungs-array definiert. Als Referenz können diese über den Vardef-Pfad gefunden werden: /modules/<module>/vardefs.php.

In Sugar werden die meisten Relationen unter Verwendung einer Verbindungstabelle gespeichert. Dies gilt sowohl für Eins-zu-viele-Beziehungen (1:m) als auch für Vie-le-zu-viele-Beziehungen (m:m). Ein Beispiel dafür ist die Beziehung zwischen Firmen und Verkaufschancen, bei denen drei Tabellen vorhanden sind: ccounts, accounts_opportunities, und opportunities. Dabei enthält die Verbindungstabelle accounts_opportunities die Felder, welche zum Herstellen der Beziehungsver-bindung erforderlich sind.

Alle Relationen in Sugar werden in das Cache-Verzeichnis ./cache/Relation-ships/relationships.cache.php kompiliert. Bei Bedarf kann der Beziehungs-cache neu erstellt werden, indem zu Admin> Reparieren> Beziehungen neu erstellen

navigiert wird.

5.2.6 Subpanels

Seit Sidecar wurden die Subpanel-Layouts von Sugar geändert, um als vereinfachte Metadaten zu funktionieren. Dieser Abschnitt bietet einen Überblick über das Meta-daten-Framework für Subpanels.

285

Einblick in das Sugar Developer Framework

Der Grund für diese Änderung lautet, dass in früheren Versionen von Sugar Meta-daten aus verschiedenen Quellen generiert wurden, z. B. aus den Klassen SubPanel-Layout und MetaDataManager. Dadurch entfällt das Generieren und Verarbeiten der Layouts und das einfache Laden der Metadaten in Sidecar.

Ein wichtiger Hinweis: Im Rückwärtskompatibilitätsmodus ausgeführte Module ver-wenden nicht die Layouts des Sidecar-Subpanels, da diese das ältere MVC-Framework nutzen.

Beim Laden der Sidecar-Subpanel-Layouts verarbeitet das System das Layout auf fol-gende Weise:

./custom/modules/<module>/clients/<client>/layouts/subpanels/subpanels.php

./custom/modules/<module>/Ext/clients/base/layouts/subpanels/subpanels.ext.php

./custom/Extension/modules/<module>/Ext/clients/<client>/layouts/subpanels/

./modules/<module>/clients/<client>/layouts/subpanels/subpanels.php

./custom/clients/<client>/layouts/subpanel/subpanels.php

./clients/<client>/layouts/subpanel/subpanels.php

If not fount, loads

If not fount, loads

If not fount, loads

Is appended to the result of

Files in this directory are compiled into

Abbildung 271: Ladereihenfolge bei Subpanel-Customizing

286

Einblick in das Sugar Developer Framework

Sugar enthält sowohl ein Layout für mehrere Subpanels (Plural) als auch ein Layout für ein Subpanel (Singular). Das Subpanel-Layout enthält die Sammlung von Subpa-nels, während das Subpanel-Layout das tatsächliche Subpanel-Widget darstellt.

Wenn eine neue Relation im Sugar Studio bereitgestellt wird, erfolgt eine Generierung der Layouts beim Erstellen der Beziehung mithilfe des Erweiterungsframeworks. Zu beachten ist dabei, dass für Bestandsbeziehungen und benutzerdefinierte Bereit-stellungsbeziehungen Layouts sowohl für Sidecar- als auch für Legacy-MVC-Subpa-nel-Formate generiert werden. Auf diese Weise ist sichergestellt, dass alle zugehörigen Module – unabhängig davon, ob diese im Sidecar- oder Rückwärtskompatibilitätsmo-dus vorliegen – erwartungsgemäß ein zugehöriges Subpanel anzeigen.

Sidecar LayoutsBenutzerdefinierte Sidecar-Layouts in dem Pfad ./custom/Extension/modules/<module>/Ext/clients/<client>/

layouts/subpanels/ werden in ./custom/modules/<module>/Ext/cli-ents/<client> /layouts/subpanels/subpanels.ext.php mit dem Erweite-rungsframework zusammengefasst. Wenn eine Relation gespeichert wird, erfolgt eine Layoutdateienerstellung für die Clienttypen „Basis“ und „Mobil“.

Legacy MVC Subpanel LayoutsBenutzerdefinierte Legacy-MVC-Subpanel-Layouts, die sich in dem Verzeichnis ./custom/Extension/modules/<module>/Ext/Layoutdefs/ befinden, wer-den mithilfe der Erweiterung in ./custom/modules/<module>/Ext/Layoutdefs/layoutdefs.ext.php kompiliert. Anwenderseitig ist zu beachten, dass beim Speichern einer Beziehung Wireless-Layouts in ./custom/Extension/modules/ <module>/Ext/WirelessLayoutdefs/ erstellt und in ./custom/modules/ <module>/Ext/Layoutdefs/layoutdefs.ext.php kompiliert werden.

Subpanel-FelddefinitionenDie Feldlayouts der Sidecar-Felder werden zu Beginn durch die Metadaten der Listen-feldansicht des verbundenen Moduls definiert.

287

Einblick in das Sugar Developer Framework

./custom/modules/<module>/clients/<client>/views/subpanel-for-<link>/subpanel-for-<link>.php

./modules/<module>/clients/<client>/views/subpanel-for-<link>/subpanel-for-<link>.php

./custom/modules/<module>/clients/<client>/views/subpanel-list/subpanel-list.php

./custom/clients/<client>/views/subpanel-list/subpanel-list.php

./clients/<client>/views/subpanel-list/subpanel-list.php

./modules/<module>/clients/<client>/views/subpanel-list/subpanel-list.php

If not fount, loads

If not fount, loads

If not fount, loads

If not fount, loads

If not fount, loads

Die Metadaten der Subpanel-Liste werden auf folgende Weise geladen:

Standardmäßig werden alle Module mit einem Standardsatz von Subpanel-Feldern für das Rendern als Subpanel ausgeliefert. Ein Beispiel dafür findet sich im Bugs-Modul: ./module/Bugs/clients/base/views/subpanel-list/subpanel-list.

php.

5.2.7 Database

Alle Sugar Editionen unterstützen die Datenbanken MySQL und Microsoft SQL Ser-ver. Sugar Enterprise und Sugar Ultimate unterstützen auch DB2- und Oracle-Daten-banken. Zur Unterstützung der unterschiedlichen Datenbanken, verwendet Sugar nur allgemeine Datenbankfunktionen. Die Anwendungslogik ist in den PHP-Code einge-bettet.

Sugar verwendet oder empfiehlt keine Datenbank-Trigger oder gespeicherte Prozedu-ren. Dieses Design vereinfacht das Codieren und Testen verschiedener Datenbankan-

Abbildung 272: Reihenfolge Laden der Dateien zur Konfiguration der Subpanel-Liste

KAP 2 | SUGAR EDITIONEN IM ÜBERBLICK Vier Sugar Edi� onen zur freien Wahl sorgen dafür, dass jedes Unternehmen (vom KMU bis Großkon-zern� die individuell passende Edi� on für das eige-ne Geschä� fi ndet. Erweiterungen sind dabei pro-blemlos möglich, sei es über Plug-in-Komponenten oder Branchen Templates.

KAP 3 | SUGAR CRM ALS BROWSER VARIANTE UND SMARTPHONE VARIANTEIn erster Linie wird Sugar über die Browservarian-te genutzt. In diesem Kapitel erfahren die Nutzer mehr über Bedienung und Kernfunk� onen der So� ware. Dabei wird ausführlich erklärt, wie Dash-boards und Dashlets angelegt und verwaltet wer-den können. Abschließend lernt der Nutzer weitere Sugar CRM-Module und die Sugar Mobile-App näher kennen.

KAP 4 | ADMINISTRATION UND KONFIGURATION VON SUGAR Ein leistungsstarkes CRM-Tool benö� gt eine klar strukturierte Arbeitsumgebung, nicht zuletzt, da-mit Teams schnelle und zielgerichtete Entscheidun-

CRM ist ein unverzichtbares Tool für professionelles, voll integriertes Kundenmanagement. Das Sugar CRM-System glänzt mit einem sehr breiten Spektrum leistungsfähiger Komponenten. Abgerundet wird Sugar durch die sehr gelungene visuelle Arbeitsoberfl äche, die sich durch ein bewusst leichtes, hoch individualisierbares Nutzerhandling, eine starke Suchfunk� on sowie aussagekrä� ige Dashboards für verschiedene Unternehmensak� onen und Rollenträger auszeichnet.

gen treff en können. Über den Ansatz der Customer Journey ermöglicht Sugar einen Zugriff auf sämt-liche kundenrelevante Daten und befähigt somit zu vielfäl� gen Vertriebsmöglichkeiten. Zusätzlich wird Entwicklern mit dem Sugar Studio ein Werk-zeugkasten gegeben, um Individualisierungen vor-zunehmen und Module zu konfi gurieren.

KAP 5 | KURZANLEITUNG ENTWICKLUNGDas Sugar Framework bietet vor allem Profi s im Sugar Umfeld die Möglichkeit, technische Anpas-sungen an der Benutzeroberfl äche vorzunehmen. Durch eigene Module kann jedem Nutzer im CRM eine spezifi sche Rolle zugewiesen werden.

KAP 6 | SUGAR BETRIEBIm CRM-Alltag braucht es für jede Unternehmens-größe ein passendes Se� ng der CRM-Umgebung. Technische Setups sind dabei besonders wich� g, weil sie unterschiedliche Systemintegra� onen er-möglichen. Aber auch die Serverleistung muss für ei-nen stabilen Betrieb passen. Erfahren Sie mehr über Entwicklungszyklen, rich� g dimensionierte Stages und Backup- beziehungsweise Ausfallstrategien.

Mirco Müller ist geschä� sführender Gesellscha� er der Insignio CRM Gmb�. Na� onal als auch inter-na� onal konnte er bereits als Entwickler, Projekt-manager und Management-Berater überzeugen. Als Autor zahlreicher Ar� kel und Mitglied der CRM-Expert-Site ist er immer am Puls der Zeit.

Prof. Dr. Ralf Kühl ist Projektmanager, Buchautor und Strategieberater. Er ist Ideengeber für digitale Geschä� sprozesse und IT-Business-Analysen vom KMU bis zum Großkonzern. Dafür kombiniert er seine wissenscha� lichen Qualifi ka� onen mit seiner lang-jährigen Unternehmenspraxis und erfrischenden Art.

MIRCO MÜLLER RALF KÜHL

ISBN 978-3-00-062537-4

SugarCRMMIRCO MÜLLER, RALF KÜHL

Professionelles Kundenmanagement im Sugar Universum

Für Entscheider aus I�, Marke� ng und Vertrieb • Sugar Editionen• Bedienung und Kernfunktionen• Administration und Konfiguration• Sugar Framework• Systemintegration und Setting

Mirco Müller, Ralf Kühl

SugarCRM

Professionelles Kunden-

management im Sugar

Universum