Force.com-Plattform – Grundlagen

Transcription

Force.com-Plattform – Grundlagen
Force.com-Plattform – Grundlagen
Eine Einführung in die Entwicklung benutzerdefinierter Anwendungen in
der Cloud
Version 8
Oktober 2013
Von Phil Choi
Chris McGuire
Caroline Roth
Mit Beiträgen von
Dave Carroll
Nick Tran
Andrea Leszek
Force.com-Plattform – Grundlagen
© Copyright 2000–2014 salesforce.com, Inc. Alle Rechte vorbehalten. Salesforce.com ist eine registrierte
Marke von salesforce.com, inc., ebenso wie andere Namen und Marken. Weitere in diesem Dokument
erwähnte Marken sind möglicherweise Marken der jeweiligen Inhaber.
Die verschiedenen Marken sind Eigentum der jeweiligen Inhaber.
Ohne vorherige Genehmigung des Herausgebers darf kein Teil dieser Veröffentlichung in irgendeiner
Form oder mit irgendwelchen Mitteln, sei es auf elektronische oder mechanische Weise, durch
Fotokopie, Aufzeichnung oder anderweitig, reproduziert, in einem Abfragesystem gespeichert oder
übertragen werden.
ISBN: 978-0-9789639-3-4
Force.com-Grundlagen ist eine Einführung in die nativen Funktionen der Force.com-Plattform. Dieses
Buch führt den Leser durch die Erstellung einer standardmäßigen Personalbeschaffungsanwendung,
darunter die Entwicklung und Erstellung von Force.com-Objekten, die Änderung des Erscheinungsbilds
der standardmäßigen Force.com-Benutzeroberfläche, das Force.com-Sicherheitsschema, die
Zusammenarbeit mit Chatter, die Erstellung von Berichten zu Ihren Daten sowie die Verwendung von
Workflows und Genehmigungen. Dieses Buch beschreibt zudem die Verwendung von Visualforce-Seiten
zur Integration externer Funktionen.
Inhaltsverzeichnis
Inhaltsverzeichnis
Vorwort....................................................................................................1
Willkommen in der Cloud!..............................................................................................1
Plattformen für Cloud Computing.......................................................................2
Über dieses Buch..............................................................................................................3
Zielgruppe.............................................................................................................3
Kapitelinhalt.........................................................................................................3
Auswahl der Entwicklungsumgebung...................................................................5
Senden von Feedback............................................................................................6
Informationen zu Developer Force...................................................................................6
Salesforce.com Training & Certification..........................................................................6
Einführung in die Force.com-Plattform.....................................................9
Kapitel 1: Einführung in die Force.com-Plattform.............................9
Grundlagen der Benutzeroberfläche einer Anwendung......................................11
Die Vorzüge von Force.com-Plattformanwendungen........................................14
Datenzentrierte Anwendungen...............................................................14
Kollaborative Anwendungen...................................................................15
Die Technologie hinter Force.com-Plattformanwendungen..............................15
Mandantenfähige Architektur.................................................................17
Ein metadatengesteuertes Entwicklungsmodell......................................18
APIs........................................................................................................19
Apex........................................................................................................19
Visualforce...............................................................................................20
Mobiler Zugriff.......................................................................................20
Das AppExchange-Verzeichnis..............................................................21
Kapitel 2: Informationen zur Beispielanwendung zur
Personalbeschaffung...........................................................................23
Informationen zu Universal Containers..........................................................................24
Überlegungen zur Personalbeschaffungsanwendung......................................................24
Erstellen der Anwendung: Unser Design.......................................................................25
Benutzerdefinierte Objekte.................................................................................25
i
Inhaltsverzeichnis
Sicherheits- und Freigaberegeln.........................................................................27
Workflow- und Genehmigungsprozesse.............................................................27
Benutzerdefinierte Berichte und Dashboards.....................................................28
Visualforce..........................................................................................................29
Kapitel 3: Datenbankbezogene Konzepte.................................................31
Was ist eine Datenbank?................................................................................................33
Was ist in einer Datenbank enthalten?...........................................................................34
Was ist eine relationale Datenbank?...............................................................................35
Datenbankkonzepte – Zusammenfassung......................................................................37
Kapitel 4: Erstellen einer einfachen Anwendung.......................................39
Der Setup-Bereich..........................................................................................................40
Einführung zu Anwendungen........................................................................................42
Probieren Sie es aus: Definieren einer Anwendung............................................42
Rekapitulation.....................................................................................................45
Einführung zu Objekten.................................................................................................47
Das benutzerdefinierte Objekt "Position" (Stelle)..............................................47
Probieren Sie es aus: Definieren des benutzerdefinierten Objekts "Position"
(Stelle)...........................................................................................................48
Einführung zu Registerkarten.........................................................................................52
Probieren Sie es aus: Definieren der Registerkarte "Positions" (Stellen)............53
Rekapitulation.....................................................................................................55
Setup-Detailseiten und Themenlisten............................................................................57
Einführung zu Feldern...................................................................................................60
Probieren Sie es aus: Hinzufügen von Textfeldern.............................................61
Probieren Sie es aus: Hinzufügen von Währungsfelder......................................64
Probieren Sie es aus: Hinzufügen von Kontrollkästchenfeldern.........................65
Probieren Sie es aus: Hinzufügen von Datumsfeldern........................................66
Rekapitulation................................................................................................................66
Erstellen der mobilen Version unserer einfachen Anwendung.......................................67
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern,
Datenvalidierung und Seitenlayouts.....................................................71
Hinzufügen von erweiterten Feldern..............................................................................72
Einführung zu Auswahllisten..............................................................................72
Probieren Sie es aus: Hinzufügen von Auswahllisten.........................................73
ii
Inhaltsverzeichnis
Einführung zu Feldabhängigkeiten.....................................................................76
Probieren Sie es aus: Erstellen einer abhängigen Auswahlliste...........................77
Rekapitulation.....................................................................................................80
Einführung in benutzerdefinierte Formelfelder..................................................81
Berechnung, wie lange eine Stelle offen ist bzw. war..........................................82
Probieren Sie es aus: Definieren des benutzerdefinierten Formelfelds "Days
Open" (Tage offen).......................................................................................84
Probieren Sie es aus: Zuweisen dynamischer Standardwerte zu Feldern............88
Rekapitulation.....................................................................................................89
Einführung in Validierungsregeln..................................................................................90
Probieren Sie es aus: Definieren einer Validierungsregel für Mindest- und
Höchstgehalt.................................................................................................91
Probieren Sie es aus: Definieren einer Validierungsregel für "Close Date"
(Offen bis).....................................................................................................93
Rekapitulation.....................................................................................................95
Überprüfen auf einem Mobilgerät..................................................................................97
Einführung in Seitenlayouts...........................................................................................98
Der Seitenlayout-Editor.....................................................................................99
Probieren Sie es aus: Gruppieren von Feldern in einen neuen Abschnitt.........101
Probieren Sie es aus: Hinzufügen von Leerräumen zwischen Feldern..............104
Probieren Sie es aus: Bearbeiten von Feldeigenschaften...................................105
Rekapitulation...................................................................................................106
Bereitstellen von Seitenlayouts für die mobile Verwendung.............................108
Einführung zu kompakten Layouts..............................................................................113
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen.........117
Einführung zu Beziehungen.........................................................................................118
Einführung in benutzerdefinierte Beziehungsfelder.....................................................119
Probieren Sie es aus: Zuordnen von Einstellungs-Managern zu Stellen...........120
Rekapitulation...................................................................................................121
Hinzufügen von Bewerbern..........................................................................................123
Probieren Sie es aus: Erstellen des Objekts "Candidate" (Bewerber)................123
Probieren Sie es aus: Hinzufügen von Feldern zum Objekt "Candidate"
(Bewerber)...................................................................................................124
Probieren Sie es aus: Ändern der Eigenschaften für das Layout der
Bewerberseite..............................................................................................126
Rekapitulation...................................................................................................127
iii
Inhaltsverzeichnis
Probieren Sie es aus: Anpassen der Hervorhebungen im
Bewerberdatensatz.......................................................................................129
Rekapitulation...................................................................................................129
Verbinden von "Candidates" (Bewerber) und "Positions" (Stellen) mithilfe von "Job
Applications" (Stellenbewerbungen).......................................................................134
Probieren Sie es aus: Erstellen des Objekts "Job Application"
(Stellenbewerbung)......................................................................................131
Probieren Sie es aus: Hinzufügen von Feldern zum Objekt "Job Application"
(Stellenbewerbung)......................................................................................132
Probieren Sie es aus: Anpassen der Hervorhebungen für den
Stellenbewerbungsdatensatz........................................................................134
Rekapitulation...................................................................................................134
Einführung zu Suchlayouts...........................................................................................136
Probieren Sie es aus: Hinzufügen von Feldern im Nachschlagefenster
"Candidate" (Bewerber)..............................................................................138
Probieren Sie es aus: Aktualisieren zusätzlicher Suchlayouts............................139
Verwalten von Review-Bewertungen............................................................................141
Probieren Sie es aus: Erstellen des Objekts "Review".......................................142
Probieren Sie es aus: Hinzufügen von Feldern zum Objekt "Review"..............143
Einführung zu Rollup-Zusammenfassungsfeldern...........................................150
Probieren Sie es aus: Erstellen von Rollup-Zusammenfassungsfeldern............150
Probieren Sie es aus: Anpassen des Seiten- und Suchlayouts für das Objekt
"Review"......................................................................................................153
Probieren Sie es aus: Anpassen der Datensatzhervorhebungen für
Reviews.......................................................................................................155
Rekapitulation...................................................................................................155
Erstellen einer n:n-Beziehung......................................................................................157
Probieren Sie es aus: Erstellen des Objekts "Employment Website"
(Jobbörse)....................................................................................................159
Probieren Sie es aus: Hinzufügen des URL-Felds zum Objekt "Employment
Website" (Jobbörse).....................................................................................160
Probieren Sie es aus: Erstellen des Objekts "Job Posting"
(Stellenausschreibung).................................................................................161
Probieren Sie es aus: Hinzufügen von Feldern zum Objekt "Job Posting"
(Stellenausschreibung).................................................................................162
Anpassen benutzerdefinierter Themenlisten in einer n:n-Beziehung...............164
iv
Inhaltsverzeichnis
Probieren Sie es aus: Anpassen der Themenlisten für Stellen und
Jobbörsen.....................................................................................................165
Probieren Sie es aus: Anpassen der Datensatzhervorhebungen für Jobbörsen
und Stellenausschreibungen........................................................................166
Rekapitulation...................................................................................................167
Zusammenführung.......................................................................................................168
Probieren Sie es aus: Herunterladen von Beispieldaten....................................170
Probieren Sie es aus: Verwenden des Import-Assistenten................................171
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten...................175
Steuern des Zugriffs auf Daten in unserer Anwendung................................................177
Erforderliche Berechtigungen für den Personalbeschaffungsmitarbeiter..........177
Erforderliche Berechtigungen für den Einstellungs-Manager..........................178
Erforderliche Berechtigungen für den Gesprächsleiter.....................................181
Erforderliche Berechtigungen für den Standardmitarbeiter..............................182
Wo stehen wir jetzt also?..................................................................................183
Konzepte aus dem Bereich Datenzugriff......................................................................184
Steuern des Zugriffs auf Objekte..................................................................................186
Einführung in Profile........................................................................................187
Standardprofile..................................................................................................187
Einführen von Berechtigungssätzen..................................................................188
Profile und Berechtigungssätze in unserer
Personalbeschaffungsanwendung................................................................189
Probieren Sie es aus: Erstellen des Profils "Recruiter"
(Personalbeschaffungsmitarbeiter)..............................................................190
Probieren Sie es aus: Erstellen des Profils "Standard Employee"
(Standardmitarbeiter)..................................................................................196
Probieren Sie es aus: Erstellen des Berechtigungssatzes "Hiring Manager"
(Einstellungs-Manager)..............................................................................197
Probieren Sie es aus: Erstellen des Berechtigungssatzes "Interviewer"
(Gesprächsleiter).........................................................................................204
Steuern des Zugriffs auf Felder.....................................................................................206
Einführung in die Feldebenensicherheit...........................................................206
Feldebenensicherheit in unserer Personalbeschaffungsanwendung...................206
Probieren Sie es aus: Einschränken des Zugriffs auf Felder im Profil "Standard
Employee" (Standardmitarbeiter)................................................................208
v
Inhaltsverzeichnis
Probieren Sie es aus: Überprüfen der Feldebenensicherheit in
Berechtigungssätzen....................................................................................211
Steuern des Zugriffs auf Datensätze.............................................................................213
Einführung zu unternehmensweiten Standardeinstellungen.............................213
Unternehmensweite Standardeinstellungen in unserer
Personalbeschaffungsanwendung................................................................213
Probieren Sie es aus: Festlegen unternehmensweiter
Standardeinstellungen.................................................................................216
Einführung in Rollenhierarchien......................................................................218
Rollen, Profile und Berechtigungssätze im Vergleich.......................................219
Rollenhierarchien in unserer Personalbeschaffungsanwendung........................220
Probieren Sie es aus: Erstellen eines Benutzers.................................................221
Probieren Sie es aus: Definieren einer Rollenhierarchie...................................223
Was muss noch freigegeben werden?................................................................226
Einführung in Freigaberegeln...........................................................................227
Freigaberegeln in unserer Personalbeschaffungsanwendung.............................227
Probieren Sie es aus: Definieren einer öffentlichen Gruppe.............................229
Probieren Sie es aus: Definieren von Freigaberegeln........................................231
Einführung in die manuelle Freigabe................................................................233
Probieren Sie es aus: Definieren von Regeln für die manuelle Freigabe...........234
Anzeigen von Feldwerten und Seitenlayouts je nach Profil..........................................235
Probieren Sie es aus: Erstellen eines Datensatztyps..........................................236
Zusammenführung.......................................................................................................240
Probieren Sie es aus: Erstellen von mehr Benutzern.........................................241
Probieren Sie es aus: Überprüfen, ob alles funktioniert.....................................246
Delegieren der Datenverwaltung..................................................................................247
Überschreiben der Freigabe durch Objektberechtigungen................................248
Gruppen für die delegierte Verwaltung.............................................................250
Probieren Sie es aus: Definieren der Verwaltungsgruppe für
Personalbeschaffungsmanager.....................................................................250
Probieren Sie es aus: Überprüfen, ob die delegierte Verwaltung
funktioniert.................................................................................................253
Zusammenfassung........................................................................................................254
Kapitel 8: Zusammenarbeit mit Chatter..................................................255
Einführung in Chatter..................................................................................................256
Verfolgen von Feldern in Objekten..............................................................................256
vi
Inhaltsverzeichnis
Probieren Sie es aus: Aktivieren der Feed-Verfolgung für Stellen und
Stellenbewerbungen....................................................................................257
Rekapitulation...................................................................................................259
Folgen von Datensätzen...............................................................................................260
Probieren Sie es aus: Einem Stellenbewerbungs-Datensatz folgen...................260
Einrichten von Gruppen...............................................................................................262
Probieren Sie es aus: Eine Gruppe erstellen......................................................262
Einführung zu Benachrichtigungen..............................................................................263
Probieren Sie es aus: Aktivieren von Benachrichtigungen................................264
Rekapitulation...................................................................................................265
Einführung in Publisher-Aktionen...............................................................................266
Probieren Sie es aus: Erstellen einer globalen Aktion.......................................267
Einführung zu Aktionslayouts..............................................................268
Probieren Sie es aus: Hinzufügen von vordefinierten Feldwerten.........270
Probieren Sie es aus: Erstellen weiterer globaler Aktionen...................271
Einführung zu globalen Publisher-Layouts......................................................272
Probieren Sie es aus: Anpassen globaler Publisher-Layouts..................272
Rekapitulation.......................................................................................273
Einführung zu objektspezifischen Aktionen.....................................................275
Probieren Sie es aus: Erstellen von objektspezifischen Aktionen..........275
Probieren Sie es aus: Erstellen weiterer objektspezifischer
Aktionen..........................................................................................277
Probieren Sie es aus: Zuweisen objektspezifischer Aktionen zu
Seitenlayouts................................................................................................278
Rekapitulation...................................................................................................281
Zusammenfassung........................................................................................................283
Kapitel 9: Verwenden benutzerdefinierter Workflow- und
Genehmigungsprozesse.....................................................................285
Einführung in Workflow..............................................................................................287
Einführung in Workflowregeln........................................................................288
Einführung in Workflowaktionen....................................................................289
Workflow in der Personalbeschaffungsanwendung......................................................290
Erstellen von Workflowregeln zum Zuweisen von Aufgaben.......................................292
Probieren Sie es aus: Erstellen der Workflowregel "Send Rejection Letter"
(Absage senden)..........................................................................................292
vii
Inhaltsverzeichnis
Probieren Sie es aus: Erstellen der Workflowaufgabe "Send Rejection Letter"
(Absage senden)..........................................................................................296
Probieren Sie es aus: Erstellen der Workflowregel und der Aufgabe "Extend
an Offer" (Angebot unterbreiten)................................................................299
Rekapitulation...................................................................................................300
Erstellen einer Workflowregel, die Felder aktualisiert..................................................302
Einführung in Warteschlangen.........................................................................302
Probieren Sie es aus: Erstellen einer Warteschlange für Stellen........................302
Probieren Sie es aus: Erstellen einer Workflowregel, die Felder
aktualisiert...................................................................................................305
Einführung in zeitabhängige Workflowaktionen..............................................307
Probieren Sie es aus: Erstellen der zeitabhängigen Workflowaufgabe "Notify
Recruiting Manager" (Personalbeschaffungsmanager
benachrichtigen)..........................................................................................307
Rekapitulation...................................................................................................310
Erstellen einer Workflowregel, die E-Mail-Benachrichtigungen sendet......................311
Einführung zu E-Mail-Vorlagen......................................................................311
Probieren Sie es aus: Erstellen einer E-Mail-Vorlage.......................................312
Probieren Sie es aus: Erstellen der Workflowregel und Benachrichtigung für
"New Position" (Neue Stelle)......................................................................316
Einführung in Genehmigungen....................................................................................318
Planung von Genehmigungsprozessen..............................................................319
Probieren Sie es aus: Erstellen einer E-Mail-Vorlage für
Genehmigungen..........................................................................................320
Probieren Sie es aus: Erstellen eines Genehmigungsprozesses..........................321
Probieren Sie es aus: Erstellen von Genehmigungsschritten............................326
Probieren Sie es aus: Erstellen von Genehmigungsaktionen.............................330
Probieren Sie es aus: Aktivieren des Genehmigungsprozesses..........................333
Rekapitulation...................................................................................................334
Zusammenfassung........................................................................................................339
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards...........341
Einführung zu Berichten..............................................................................................342
Berichtsformate.................................................................................................343
Einrichten der Personalbeschaffungsanwendung für Berichte..........................347
Probieren Sie es aus: Hinzufügen der Registerkarte "Berichte"............347
viii
Inhaltsverzeichnis
Probieren Sie es aus: Erstellen des Ordners "Recruiting Reports"
(Personalbeschaffungsberichte).......................................................348
Erstellen eines Zusammenfassungsberichts.......................................................349
Probieren Sie es aus: Erstellen eines Zusammenfassungsberichts.........350
Probieren Sie es aus: Hinzufügen von Spalten und Filtern...................354
Probieren Sie es aus: Hinzufügen eines Kreisdiagramms......................356
Erstellen eines Matrixberichts...........................................................................358
Probieren Sie es aus: Erstellen eines Matrixberichts.............................359
Probieren Sie es aus: Hinzufügen von Zusammenfassungsfeldern........360
Probieren Sie es aus: Hinzufügen von Spalten und Filtern...................363
Probieren Sie es aus: Hinzufügen eines Diagramms und von bedingter
Hervorhebung.................................................................................365
Einführung zu Dashboards...........................................................................................368
Probieren Sie es aus: Erstellen zusätzlicher Berichte........................................369
Probieren Sie es aus: Erstellen von Dashboards................................................373
Hinzufügen von Dashboard-Komponenten.....................................................376
Probieren Sie es aus: Hinzufügen von Diagrammkomponenten...........377
Probieren Sie es aus: Hinzufügen einer
Messdiagramm-Komponente..........................................................378
Probieren Sie es aus: Hinzufügen einer Tabellenkomponente..............379
Probieren Sie es aus: Hinzufügen einer metrischen Komponente.........380
Aktualisieren von Dashboards..........................................................................383
Einführung in Mobile-Dashboards..................................................................384
Einführung zu benutzerdefinierten Berichten..............................................................386
Probieren Sie es aus: Erstellen von Berichtstypen.............................................386
Rekapitulation..............................................................................................................392
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung.........393
Einführung in Mashups und Webservices....................................................................395
Einführung zu Visualforce............................................................................................396
Einführung in den Visualforce-Entwicklungsmodus........................................398
Probieren Sie es aus: Aktivieren des Visualforce-Entwicklungsmodus.............399
Implementieren der Bewerberkarte ..............................................................................399
Probieren Sie es aus: Erstellen einer Visualforce-Seite.....................................399
Probieren Sie es aus: Schreiben von Visualforce-Markup.................................401
Probieren Sie es aus: Hinzufügen der Karte zur Visualforce-Seite...................405
ix
Inhaltsverzeichnis
Probieren Sie es aus: Hinzufügen der Candidate Map (Bewerberkarte) zum
Seitenlayout für Stellen...............................................................................406
Probieren Sie es aus: Aktivieren der Bewerberkarte für mobile
Anwendungen.............................................................................................408
Probieren Sie es aus: Testen der Bewerberkarte................................................408
Implementieren der Schaltfläche "Mass Update Status"
(Status-Massenaktualisierung)................................................................................410
Planen der Funktion "Mass Update Status"
(Status-Massenaktualisierung)....................................................................410
Probieren Sie es aus: Erstellen der Seite "Mass Update Status"
(Status-Massenaktualisierung)....................................................................412
Grundlegendes zum Visualforce Markup "MassUpdateStatus"........................414
Probieren Sie es aus: Erstellen von benutzerdefinierten
Listenschaltflächen......................................................................................418
Probieren Sie es aus: Hinzufügen einer benutzerdefinierter Listenschaltfläche
zu einem Seitenlayout..................................................................................420
Probieren Sie es aus: Testen der Funktion "Mass Update Status"
(Status-Massenaktualisierung)....................................................................422
Kapitel 12: Weitere Informationen.........................................................423
Developer Force............................................................................................................424
Optionen für Hilfe und Schulungen.............................................................................424
Multimedia...................................................................................................................425
AppExchange-Partnerprogramm.................................................................................425
Was halten Sie davon?..................................................................................................426
Glossar..................................................................................................427
Index.....................................................................................................451
x
Vorwort
Als Internetnutzer wissen wir alle, auf welch faszinierende, innovative, kreative und manchmal
auch alberne Weise das Internet unsere Arbeitswelt und Freizeit verändert hat.
Social-Networking-Websites, Wikis, Blogs usw. – es ist spannend, die immer neuen
Innovationen zu beobachten, die dazu führen, dass wir anders kommunizieren und mit anderen
zusammenarbeiten als früher.
Diese Änderungen hatten definitiv einen Einfluss darauf, wie wir mit Inhalten arbeiten, aber
ähnliche internetorientierte Ideen und Technologien wirken sich auch auf unsere
Vorgehensweise bei der Erstellung von und der Arbeit mit Geschäftsanwendungen aus.
Während früher Geschäftsanwendungen Tausende oder gar mehrere Millionen Euro kosteten
und manchmal jahrelange Hilfe durch professionelle Services erforderlich war, um sie
einzurichten und anzupassen, ist es durch die heutzutage über das Internet bereitgestellten
Technologien wesentlich einfacher, Geschäftsanwendungen aller Art zu erstellen, zu
konfigurieren und zu verwenden. Das Internet hat uns sogar die Möglichkeit eröffnet, neue
Arten von betriebswirtschaftlichen Problemen zu lösen, die bisher aufgrund der großen
Komplexität oder der hohen Kosten nicht angegangen werden konnten.
So, wie wir durch den Wandel von Papier hin zu digitalen Daten in der Verlagstechnologie
nun sofortigen Zugang zu Informationen zu praktisch jedem Vorgang auf der ganzen Welt
haben, können wir dank der Änderungen in der Anwendungstechnologie robuste
Unternehmensanwendungen für praktisch jede Geschäftsanforderung erfinden. Klingt nicht
schlecht? Dann fragen Sie sich vermutlich: "Wodurch wird das alles ermöglicht?"
Willkommen in der Cloud!
Diese neuen Methoden zur Erstellung und Ausführung von Anwendungen sind durch Cloud
Computing möglich, bei dem Sie auf Anwendungen (auch als Apps bezeichnet) als
1
Kapitel 1: Vorwort
Dienstprogramme über das Internet zugreifen und nicht als Softwareprogramme, die auf Ihrem
Desktop oder im Serverraum ausgeführt werden. Dieses Modell ist bereits recht verbreitet für
Verbraucheranwendungen wie E-Mail-Anwendungen und Foto-Sharing sowie für bestimmte
Geschäftsanwendungen wie Customer Relationship Management (CRM).
Da heutzutage fast alle Anwendungen über einen Webbrowser bereitgestellt werden, lässt sich
kaum noch sagen, bei welchen Anwendungen es sich um "herkömmliche Software" handelt
und welche in der Cloud ausgeführt werden. Ebenso wie das Internet sind mittlerweile auch
Anwendungen, die in der Cloud ausgeführt werden, so allgegenwärtig, dass fast jeder
Geschäftsanwender mit mindestens einer interagiert, sei es ein E-Mail-Service, eine Anwendung
für Webkonferenzen oder ein Vertriebssystem.
Plattformen für Cloud Computing
Die Plattform in der Cloud ist eine neue Entwicklung und macht die Bereitstellung von
Anwendungsfunktionen noch interessanter. In zunehmendem Maße sehen Anwendungen,
die in der Cloud ausgeführt werden, weniger wie Websites und mehr wie Plattformen aus,
d. h., sie verfügen immer mehr über Anwendungsprogrammierschnittstellen (APIs),
Codebibliotheken und sogar Programmiermodelle. Insgesamt kann man sich diese neuen
Entwicklungstechnologien als Plattformen zur Ausführung von Anwendungen in der Cloud
vorstellen.
Ähnlich wie traditionelle Plattformen bieten Cloud Computing-Plattformen Tools, mit denen
die Entwickler bestehende Funktionen nutzen konnten, um etwas Neues zu schaffen. Da diese
Plattformen jedoch frei über das Internet zugänglich sind und nicht über ein Betriebssystem
oder ein Paket, das auf einem lokalen Computer installiert ist, brauchen sich die Entwickler
nicht darum zu kümmern, eine ausführbare Datei zu erstellen, die auf dem Computer der
Benutzer installiert werden muss. Jeder, der über einen Webbrowser verfügt, kann auf die
Anwendung zugreifen!
Die Möglichkeiten, die durch diesen neuen Plattformtyp eröffnet werden, haben sich rasant
entwickelt, was durch die Beliebtheit von Mashups begünstigt wurde – Websites oder
Anwendungen, die Tools von mehreren Cloud Computing-Plattformen kombinieren, um
neue Funktionen zu erstellen. Zu den bereits heute in Mashups verwendeten Tools von Cloud
Computing-Plattformen gehören Innovationen wie die Such-API von Google, mit denen die
Entwickler die Möglichkeiten dieser Suchmaschine in ihren Anwendungen nutzen können,
die APIs von eBay für Auktionen und das Einstellen von Artikeln oder das System von
Amazon.com zur Erstellung völlig neuer Online-Shops. Beispielsweise verwendet heutzutage
fast jede Immobilien-Website oder -Anwendung eingebundene Karten von Google oder
Yahoo!. Dies zeigt, wie diese neuen APIs nun häufig neben den traditionelleren Datenbank-,
Anwendungsserver- oder Betriebssystemplattformen ausgeführt werden.
2
Kapitel 1: Vorwort
Über dieses Buch
Dieses Buch bietet Ihnen eine Einführung in die Force.com-Plattform, die Plattform von
salesforce.com zur Erstellung und Ausführung von Geschäftsanwendungen in der Cloud.
Zur Erläuterung der Technologien, die auf der Force.com-Plattform zur Verfügung stehen
und um Ihnen zu zeigen, wie einfach es ist, ihre eigene Geschäftsanwendung mit der Plattform
zu erstellen, führt Sie dieses Buch Schritt für Schritt durch die Erstellung einer
Personalbeschaffungsanwendung, die in der Cloud ausgeführt wird. Um den Ausführungen
zu folgen, brauchen Sie keine Programmiersprachen zu lernen oder sich mit kryptischen
Konfigurationsdokumenten herumzuschlagen. Stattdessen arbeiten Sie einfach mit
Point-and-Click-Tools auf einer Web-Oberfläche und befolgen dabei die einfachen
Einzelschrittanweisungen im Buch.
Anmerkung: Möchten Sie eine Online-Version dieses Buchs? Rufen Sie folgende Seite
auf:
http://wiki.developerforce.com/page/Force_Platform_Fundamentals.
Zielgruppe
Dieses Buch ist nicht nur für professionelle Entwickler leicht zu verstehen, sondern auch für
Geschäftsanwender. Um möglichst umfassend von diesem Buch zu profitieren, sollten Sie
jedoch mit grundlegenden Internet- und Datenbankkonzepten, wie Tabellen und Feldern,
vertraut sein.
Der Schwerpunkt des Buchs liegt auf der Verwendung der deklarativen
Point-and-Click-Funktionen der Force.com-Plattform. Allerdings finden Sie im Kapitel
Jenseits der Point-and-Click-Anwendungsentwicklung auf Seite 393 eine Einführung in die
Tools, die die Plattform zur Programmierung der Benutzeroberfläche bietet. Um dieses Kapitel
vollständig verstehen zu können, sollten Sie mit HTML und JavaScript vertraut sein. Es wird
jedoch der gesamte Code, den Sie brauchen, bereitgestellt, sodass Sie, auch wenn Sie kein
erfahrener Entwickler sind, dennoch folgen und ein besseres Verständnis für die Möglichkeiten
gewinnen können, die die Force.com-Plattform bietet.
Kapitelinhalt
Wenn Sie bereits mit der Force.com-Plattform vertraut sind, können Sie zu den Kapiteln
springen, die Sie am meisten interessieren:
3
Kapitel 1: Vorwort
4
Kapitel
Beschreibung
Einführung in die Force.com-Plattform
Hier erhalten Sie Informationen zu den
Technologien der Force.com-Plattform,
einschließlich des
AppExchange-Verzeichnisses.
Informationen zur Beispielanwendung zur
Personalbeschaffung
Hier erhalten Sie Informationen zur
Personalbeschaffungsanwendung, die wir in
diesem Buch erstellen, und zu dem
Beispielunternehmen, für das wir die
Anwendung erstellen.
Datenbankbezogene Konzepte
Hier werden datenbankbezogene Konzepte,
wie Tabellen, Datensätze, Felder, Schlüssel
und Beziehungen, besprochen.
Erstellen einer einfachen Anwendung
Erstellen Sie das erste benutzerdefinierte
Objekt in unserer
Personalbeschaffungsanwendung und fügen
Sie mehrere grundlegende Felder hinzu.
Erweitern der einfachen Anwendung mit
erweiterten Feldern, Datenvalidierung und
Seitenlayouts
Fügen Sie dem benutzerdefinierten Objekt
Auswahllisten, abhängige Auswahllisten,
Validierungsregeln und Formelfelder hinzu
und bearbeiten Sie anschließend das Layout
auf der Detailseite des Objekts.
Erweitern der einfachen Anwendung durch
Beziehungen
Fügen Sie fünf weitere benutzerdefinierte
Objekte in unserer
Personalbeschaffungsanwendung hinzu und
weisen Sie sie einander mithilfe von
Beziehungen zu.
Einrichten von Sicherheit und Freigabe für
Daten
Richten Sie Regeln dafür ein, welche Personen
Datensätze in der Anwendung lesen, erstellen,
bearbeiten und löschen dürfen.
Zusammenarbeit mit Chatter
Aktivieren Sie Chatter für Ihre Organisation,
damit die Benutzer bezüglich der
Informationen, die sie interessieren, auf dem
Laufenden bleiben können.
Verwenden benutzerdefinierter Workflowund Genehmigungsprozesse
Definieren Sie Workflowregeln und
Genehmigungsprozesse, mit denen Aufgaben
zugewiesen, Felder aktualisiert und E-Mails
Kapitel 1: Vorwort
Kapitel
Beschreibung
gesendet werden, wenn bestimmte Kriterien
erfüllt sind.
Analysieren von Daten mit Berichten und
Dashboards
Erstellen Sie benutzerdefinierte Berichte,
Diagramme und Dashboards, damit die
Benutzer sich einen Überblick über die
Personalbeschaffungsdaten verschaffen
können.
Jenseits der
Point-and-Click-Anwendungsentwicklung
Erfahren Sie, wie Sie mit Visualforce die
Funktionen der Plattform erweitern, indem
Sie ein Mashup mit Karten von Yahoo!
erstellen und ein Tool für
Massenaktualisierungen von Datensätzen
hinzufügen.
Weitere Informationen
Hier erfahren Sie, wo Sie weitere
Informationen zum Entwickeln auf der
Plattform erhalten.
Glossar
Hier können Sie die Definition von Ihnen
unbekannten Begriffen nachschlagen.
Anmerkung: Dieses Buch enthält zahlreiche Screenshots. Da sich die
Force.com-Plattform sehr schnell weiterentwickelt, können die Screenshots geringfügig
von der Darstellung auf Ihrem Bildschirm abweichen. Das ist jedoch kein Grund zur
Sorge. Diese Unterschiede sollten geringfügig sein und Ihr Verständnis nicht
beeinträchtigen.
Auswahl der Entwicklungsumgebung
Um die Übungen in diesem Buch ausführen zu können, benötigen Sie einen Salesforce-Account.
Wenn Sie bereits Salesforce-Kunde sind, können Sie eine Force.com-Sandbox verwenden.
Eine Sandbox ist eine Kopie Ihrer Organisation, die Sie zum Testen von Konfigurationen und
zur Schulung von Benutzern verwenden können, ohne die Daten und Anwendungen in Ihrer
Produktionsumgebung zu gefährden. Bei der Salesforce Enterprise, Unlimited und
Performance-Edition ist jeweils eine kostenlose Sandboxinstanz enthalten. Die Benutzer
anderer Editionen können die Developer Edition für die Übungen verwenden.
5
Kapitel 1: Vorwort
Wenn Sie neu bei Salesforce sind oder keine Sandbox verwenden möchten, rufen Sie
developer.force.com auf und registrieren Sie sich für einen kostenlosen Developer
Edition-Account. Developer Edition ist eine voll funktionsfähige Version von Salesforce, mit
der Sie Salesforce-Anwendungen entwickeln können. Da sie kostenlos ist, sind die zulässige
Anzahl der Benutzer, die Bandbreite und der Speicherplatz beschränkt, es sind jedoch alle
Salesforce-Funktionen enthalten. Mit Ihrer Anmeldung werden Sie auch gleichzeitig Teil der
wachsenden Community der Entwickler, die weltweit mit der Force.com-Plattform arbeiten.
Senden von Feedback
Haben Sie Fragen oder Kommentare zu irgendeinem Punkt in diesem Buch? Vorschläge für
Themen, die in zukünftigen Versionen behandelt werden sollten? Rufen Sie die Developer
Force-Diskussionsforen unter
community.salesforce.com/sforce?category.id=developers auf und teilen Sie
uns mit, was Sie denken. Oder senden Sie uns direkt eine E-Mail unter
[email protected].
Informationen zu Developer Force
Developer Force ist eine Community von Entwicklern, die Anwendungen anpassen und
erstellen, die in der Cloud ausgeführt und mit der Force.com-Plattform erstellt werden.
Developer Force-Mitglieder haben Zugriff auf eine vollständige Palette von Ressourcen,
darunter Beispielcode, Toolkits, eine Online-Entwickler-Community und die Testumgebungen,
die zum Erstellen von Anwendungen erforderlich sind. Die Developer Force-Website beinhaltet
eine Online-Version dieses Buchs und enthält Informationen zu der Dreamforce-Veranstaltung,
die wir jedes Jahr für Entwickler abhalten, die mit der Force.com-Plattform arbeiten. Wenn
Sie weitere Informationen benötigen, eine Frage stellen möchten, ein Toolkit oder Beispielcode
suchen oder sich einfach nur ein wenig eingehender mit der Entwicklung auf der
Force.com-Plattform vertraut machen möchten, ist die Developer Force-Website die richtige
Adresse.
Weitere Informationen zu den Ressourcen, die auf der Developer Force-Website verfügbar
sind, finden Sie unter developer.force.com und im Kapitel Weitere Information.
Salesforce.com Training & Certification
Eine Reihe von Beispielen in diesem Buch wurden von salesforce.com Training & Certification
bereitgestellt und sind den weltweit verfügbaren von Experten geleiteten Schulungskursen
6
Kapitel 1: Vorwort
entnommen. Die Kurse von Salesforce.com Training & Certification bieten eine Gelegenheit,
praktische Erfahrungen mit der Force.com-Plattform und den Salesforce-Anwendungen zu
sammeln und bereiten Sie auf die Salesforce-Zertifizierung vor. Die Einschreibung für Kurse
ist möglich unter www.salesforce.com/training.
7
Einführung in die Force.com-Plattform
Kapitel 1
Einführung in die Force.com-Plattform
Themen:
•
•
•
Grundlagen der
Benutzeroberfläche einer
Anwendung
Die Vorzüge von
Force.com-Plattformanwendungen
Die Technologie hinter
Force.com-Plattformanwendungen
Force.com ist eine Plattform zur Erstellung und
Bereitstellung von Cloud-Anwendungen der nächsten
Generation. Da keine Server und keine Software gekauft
oder verwaltet werden müssen, können Sie sich voll und
ganz auf die Erstellung von Anwendungen konzentrieren,
die integrierte soziale und mobile Funktionalitäten,
Geschäftsprozesse, Berichterstellungs- und Suchfunktionen
enthalten. Ihre Anwendungen werden in einem sicheren
und bewährten Service ausgeführt, der Daten automatisch
skaliert, anpasst und sichert.
Vorteile der Verwendung von Force.com:
•
•
Bewährt – Mehr als 100.000 setzen auf Force.com,
darunter zahlreiche Branchenführer. Sie haben mehr
als 220.000 Anwendungen erstellt, die in zertifizierten
Weltklasse-Rechenzentren mit Datensicherung,
Failover, Notfallwiederherstellung und einem
Verfügbarkeitsrekord von mehr als 99,9 % ausgeführt
werden. Sie können Echtzeit-Daten zur Systemleistung
unter trust.salesforce.com einsehen.
Flexibel – Force.com erfordert nur minimalen
Kodieraufwand. Mit den visuellen Tools und der
Komponentenbibliothek können Sie Ihre
Anwendungen nach dem Baukastenprinzip
zusammenstellen. Optimieren Sie die Entwicklung mit
9
Kapitel 1: Einführung in die Force.com-Plattform
•
•
10
integrierten Sandbox-Umgebungen und integrieren
Sie Ihre Anwendungen mithilfe offener APIs.
Sozial — Arbeiten Sie mithilfe Ihres eigenen und
sicheren sozialen Netzwerks effektiver mit Ihren
Kollegen zusammen. Force.com enthält vorgefertigte
Komponenten für Feeds, Profile, Unterhaltungen,
Aktualisierungen und Dateifreigaben. Alle
Komponenten sind über REST-APIs verfügbar, die
einfach in jede benutzerdefinierte Anwendung
integriert werden können.
Mobil – Entwickeln Sie systemeigene mobile
Anwendungen – mit stabilen APIs –, die von einer
sicheren Cloud-Datenbank unterstützt werden. Oder
entwickeln Sie für mobile Geräte optimierte
Browser-Anwendungen, indem Sie unser
Benutzeroberflächen-Framework und HTML5 zur
Unterstützung verschiedener mobiler Geräte mit
derselben Codebasis verwenden. Oder mischen Sie
systemeigene Komponenten und HTML zu einem
Hybrid-Cocktail, der ihnen das Beste aus beiden
Welten bietet. Force.com hat, was Sie benötigen, um
Anwendungen sicher auf mobilen Geräten
bereitzustellen.
Kapitel 1: Einführung in die Force.com-Plattform
Grundlagen der Benutzeroberfläche einer
Anwendung
Sie und Ihre Benutzer können über zwei Benutzeroberflächen auf Salesforce zugreifen: über
die vollständige Salesforce-Site, die Sie auf Ihrem Computer aufrufen, und die mobile
Anwendung. In diesem Handbuch werden die Aufgaben Schritt für Schritt erklärt und die
Auswirkungen der entsprechenden Anpassungen in beiden Umgebungen werden verdeutlicht.
Wenn Sie Salesforce noch nie verwendet haben, lohnt es sich, sich anzumelden und sich eine
Zeitlang durch die vollständige Site und die mobile Anwendung zu klicken. Die meisten
Salesforce-Editionen (einschließlich der Developer Edition) beinhalten eine grundlegende
Salesforce-Vertriebsanwendung, weshalb wir zunächst einen Blick auf diese werfen. Die
Benutzeroberfläche für diese Aufgaben hat sehr viel mit der Oberfläche der Anwendung
gemeinsam, die wir erstellen wollen.
Anmerkung: Sie sind noch nicht für die Developer Edition registriert? Rufen Sie
folgende Seite auf:
www.developerforce.com/events/regular/registration.php.
Abbildung1: Anwendungen auf der Force.com-Plattform beinhalten Registerkarten,
Formulare und Links
Wie Sie sehen können, wenn Sie ein wenig herumklicken, gibt es einige Kernelemente, die
die Grundlage der Vertriebsanwendungen und der meisten mit der Plattform erstellten
Anwendungen bilden.
11
Kapitel 1: Einführung in die Force.com-Plattform
Registerkarten
Am oberen Rand der Anwendung befinden sich eine Reihe von Registerkarten, die die
Anwendung in verschiedene Teile segmentieren. Die einzelnen Registerkarten entsprechen
jeweils einem Objekttyp, wie beispielsweise einem Account oder einem Kontakt, und
innerhalb einer Registerkarte können Sie Aktionen für bestimmte Datensätze durchführen,
die dem Typ der Registerkarte entsprechen. Wenn Sie beispielsweise auf die Registerkarte
"Accounts" klicken, können Sie einen neuen Datensatz für den Account "Acme" erstellen.
Sie können auch bestehende Accounts bearbeiten oder eine Listenansicht verwenden, um
Listen von Accounts zu filtern. Der größte Teil der Arbeit bei der
Anwendungsentwicklung dreht sich um das Erstellen von Registerkarten und das
Definieren der Daten und Verhaltensweisen, die sie unterstützen.
Felder
In jedem Datensatz wird eine Auswahl an Feldern angezeigt, durch die auf der
Force.com-Plattform Informationen gespeichert und angeordnet werden. Beispielsweise
enthält ein Kontaktdatensatz Felder wie Nachname, Telefon privat,
Postanschrift Stadt, Titel, Geburtsdatum, Vorgesetzter und Account.
Wenn Sie eine neue Anwendung entwickeln, haben Sie die Möglichkeit, selbst zu
bestimmen, welche Felder für einen bestimmten Datensatztyp angezeigt werden sollen,
beispielsweise für Kontaktdatensätze. Außerdem können Sie deren Anordnung festlegen.
In einer Anwendung der Force.com-Plattform geben Benutzer Daten in bearbeitbare
Felder auf einer Bearbeitungsseite ein und zeigen diese Informationen in schreibgeschützten
Feldern auf einer Detailseite an.
Links
Da Anwendungen auf der Force.com-Plattform in einem Webbrowser bereitgestellt
werden, verwenden sie Links, um die Navigation zu verwandten Themen zu ermöglichen.
Beispielsweise gibt es auf Account-Detailseiten Links zu verwandten Datensätzen, wie
beispielsweise die Kontakte, die zu dem Account gehören, und der Vertriebsmitarbeiter,
der den Account verwaltet. Andere Links führen Sie zu kürzlich aufgerufenen Datensätzen
und zu Bereichen der Anwendung, in denen die Benutzer persönliche Einstellungen
festlegen können. Links ermöglichen die Navigation innerhalb einer Anwendung und
zu externen Websites.
Nun sehen wir uns an, wie diese Elemente in einem mobilen Kontext, beispielsweise in
Salesforce1 aussehen. Auch hier werden Gruppen von Feldern angezeigt und wenn wir auf
Links tippen, gelangen wir zum angegebenen Datensatz oder zur entsprechenden externen
Website. In der mobilen Anwendung sind keine Registerkarten vorhanden.
Menüelemente
Mobile Benutzer können auf Objekte über Elemente im Navigationsmenü anstatt über
Registerkarten aufrufen. Wie Registerkarten entsprechen auch die einzelnen
12
Kapitel 1: Einführung in die Force.com-Plattform
Menüelemente jeweils einem Objekttyp, wie beispielsweise einem Account oder einem
Kontakt. Die Objekte, die Sie zuletzt angezeigt oder verwendet haben, werden im
Vordergrund angezeigt. Durch Tippen auf Mehr anzeigen werden in Abhängigkeit von
Ihrem Profil und Ihren Berechtigungen alle verfügbaren Objekte angezeigt. Wenn Sie
auf eines dieser Elemente tippen, können Sie einen neuen Datensatz erstellen oder die
zuletzt aufgerufenen Datensätze ansehen. Wenn Sie einen vorhandenen Datensatz
bearbeiten möchten, müssen Sie zuerst darauf tippen, um ihn zu öffnen.
Menüelemente umfassen auch Elemente wie Aufgaben, Dashboards und den Feed. Die
meisten dieser Elemente werden später in diesem Handbuch behandelt.
Abbildung2: Anwendungen auf der Force.com-Plattform beinhalten in der mobilen
Version Registerkarten, Formulare und Links
13
Kapitel 1: Einführung in die Force.com-Plattform
Die Vorzüge von
Force.com-Plattformanwendungen
Um besser zu verstehen, wofür sich die Plattform am besten eignet, sollten wir in unserer
Betrachtung über die zentralen Elemente, wie Registerkarten, Felder und Links, hinausgehen
und uns den Anwendungstypen zuwenden, die damit möglich sind. Bei der Betrachtung von
Anwendungen, die mit der Force.com-Plattform erstellt wurden, springen zwei enorme Vorteile
ins Auge: Sie sind datenzentriert und unterstützen die Zusammenarbeit.
Datenzentrierte Anwendungen
Da im Zentrum der Anwendung eine Datenbank steht, können Sie damit Anwendungen
schreiben, die datenzentriert sind. Eine datenzentrierte Anwendung ist eine Anwendung, die
auf strukturierten, konsistenten Informationen beruht, wie sie in einer Datenbank oder
XML-Datei zu finden sind. Solche datenzentrierten Anwendungen sind überall zu finden:
von kleinen Desktop-Datenbanken wie Microsoft Access oder FileMaker bis hin zu den
riesigen Systemen, die auf Datenbankverwaltungssystemen wie Oracle oder MySQL ausgeführt
werden. Im Gegensatz zu Anwendungen, die auf unstrukturierten Daten beruhen, wie reine
Textdokumente oder HTML-Dateien, ist es bei datenzentrierten Anwendungen einfach,
Daten zu steuern, darauf zuzugreifen und sie zu verwalten.
Stellen Sie sich beispielsweise vor, Sie müssten den Gesamtumsatz eines Monats entweder aus
einer Reihe von in Microsoft Word verfassten Verträgen oder aus einer Reihe von Verträgen
in einer einfachen Datenbank ermitteln. Während es enorm aufwendig ist, jedes einzelne
Word-Dokument zu öffnen, den Gesamtbetrag des Vertrags zu finden und dann alle Beträge
zu addieren, können wir bei den in der Datenbank einer datenzentrierten Anwendung
gespeicherten Daten dasselbe Ergebnis schnell und effizient durch eine einzige Suchabfrage
ermitteln.
Die meisten Privatpersonen brauchen datenzentrierte Anwendungen nur, um den Überblick
über ihre Kontakte, Fotos oder Musik zu behalten, Unternehmen jeder Größe müssen jedoch
ständig ihre umfassenden Datenbestände abfragen und aggregieren, um rasch
betriebswirtschaftliche Entscheidungen treffen zu können. Die Force.com-Plattform eignet
sich somit aufgrund ihrer Datenzentriertheit ideal zum Erstellen und Hosten von
Geschäftsanwendungen.
14
Kapitel 1: Einführung in die Force.com-Plattform
Kollaborative Anwendungen
Da mehrere Benutzer gleichzeitig auf die Plattform zugreifen können, können Sie damit
Anwendungen schreiben, die kollaborativ, also für die Zusammenarbeit gedacht sind.
Kollaborative Anwendungen sind Anwendungen mit Daten und Services, die von mehreren
Benutzern an verschiedenen Standorten gemeinsam verwendet werden. Im Gegensatz zu
herkömmlicheren Softwareprodukten, die auf einem einzigen Rechner installiert werden und
auf die nur schwer aus der Ferne zugegriffen werden kann, ist der Zugriff auf kollaborative
Anwendungen von jedem Ort der Welt aus über einen Webbrowser möglich. Dies erleichtert
Teams die Zusammenarbeit bei Aktivitäten wie dem Verkauf eines Produkts, der Verwaltung
eines Projekts oder der Einstellung eines Mitarbeiters.
Neben dem problemlosen Zugriff über einen Webbrowser erleichtert auch eine Reihe
integrierter Plattformfunktionen die produktive Zusammenarbeit in der Gruppe:
•
•
•
Verwenden Sie das Sicherheits- und Freigabemodell der Plattform, um den Zugriff eines
Benutzers auf verschiedene Arten von Daten genau zu steuern.
Verwenden Sie Workflowregeln, um automatisch Aufgaben zuzuweisen, Daten zu
aktualisieren oder E-Mail-Benachrichtigungen zu versenden, wenn bestimmte
Geschäftsereignisse eintreten, beispielsweise wenn ein neuer Datensatz erstellt oder der
Wert eines Datensatzfelds geändert wurde.
Verwenden Sie Genehmigungsprozesse, um eine Abfolge von Schritten einzurichten, die
zur Genehmigung eines Datensatzes erforderlich sind. Dabei ist auch angegeben, wer den
Datensatz jeweils bei den einzelnen Schritten genehmigen muss.
Zusammen bilden diese Funktionen ein Framework für die Freigabe von Anwendungen in
Gruppen, Abteilungen und Unternehmen insgesamt, ohne die administrative Kontrolle über
sensible Daten aufzugeben.
Die Technologie hinter
Force.com-Plattformanwendungen
Nachdem wir darüber gesprochen haben, welche Arten von Anwendungen mit der Plattform
erstellt werden können, sollten wir uns mit einigen der Technologien hinter der Plattform
befassen. Diese Technologien haben große Auswirkungen darauf, welche Elemente von der
Plattform unterstützt werden und wie die Entwicklungsarbeit auf der Plattform abläuft.
15
Kapitel 1: Einführung in die Force.com-Plattform
Tabelle1: Schlüsseltechnologien hinter der Plattform
Technologie
Beschreibung
Mandantenfähige
Architektur
Ein Anwendungsmodell, bei dem alle Benutzer und Anwendungen
eine einzige, gemeinsame Infrastruktur und Codebasis gemeinsam
verwenden.
Metadatengesteuertes Ein Modell zur Anwendungsentwicklung, mit dem Anwendungen
Entwicklungsmodell als deklarative Blaupausen definiert werden können, bei denen kein
Code erforderlich ist. Datenmodelle, Objekte, Formulare, Workflows
usw. werden durch Metadaten definiert.
API-Zugriff
Mehrere Anwendungsprogrammierschnittstellen (APIs) bieten
direkten Zugriff auf alle in Force.com gespeicherten Daten aus
praktisch jeder beliebigen Programmiersprache und Plattform.
• Über die SOAP-API und die REST-API lassen sich die Daten
Ihrer Organisation in andere Anwendungen integrieren.
• Die RESTful-Bulk-API (auch über Data Loader verfügbar) lädt
oder löscht eine große Anzahl von Datensätzen.
• Über die Metadaten-API werden Anpassungen in Ihrer
Organisation (auch über das Tool für die Force.com-Migration
verfügbar) verwaltet.
• Die Chatter-REST-API bietet Zugriff auf Chatter-Feeds und
soziale Daten.
• Die Streaming-API stellt Benachrichtigungen über die Änderung
von Daten in Ihrer Organisation bereit.
Apex
Die weltweit erste On-Demand-Programmiersprache, die auf den
Force.com-Plattformservern in der Cloud ausgeführt wird.
Visualforce
Ein Framework zur Erstellung funktionsreicher Benutzeroberflächen
für Anwendungen in der Cloud.
Mobiler Zugriff
Über die Salesforce-Mobilanwendungen können Sie auf
benutzerdefinierte Anwendungen zugreifen, die mit den
Point-and-Click-Entwicklungstools der Force.com-Plattform erstellt
wurden. Ihre Benutzer können mit ihren mobilen Geräten auf diese
Anwendungen zugreifen und Sie müssen keine Programmiersprachen
für mobile Geräte erlernen.
AppExchange-Verzeichnis Ein Web-Verzeichnis mit Hunderten von Force.com-Anwendungen,
die Salesforce-Kunden prüfen, testen, kommentieren und/oder
installieren können. Entwickler können ihre Anwendungen zur
16
Kapitel 1: Einführung in die Force.com-Plattform
Technologie
Beschreibung
Eintragung in das AppExchange-Verzeichnis einsenden, wenn sie
sie für die Community freigeben möchten.
Mandantenfähige Architektur
In einer mandantenfähigen Architektur verwenden alle Benutzer dieselbe Infrastruktur und
dieselbe Version der Force.com-Plattform. Im Gegensatz zu nicht mandantenfähigen
Anwendungen (Single-Tenant-Anwendungen), wie Client-Server-Unternehmensanwendungen
oder E-Mail-Server, veröffentlichen mandantenfähige Architekturen Upgrades automatisch
und gleichzeitig für alle Benutzer. Daher braucht niemand den Aufwand zu betreiben, seine
eigene Hard- und Software zu kaufen und zu warten oder sicherzustellen, dass auf den
Anwendungen das aktuellste Patch installiert ist.
Neben der Force.com-Plattform nutzen noch verschiedene andere, verbraucherorientierte
Anwendungen eine mandantenfähige Architektur, darunter eBay, My Yahoo! und Google
Gmail. Die mandantenfähige Architektur macht diese Anwendungen kostengünstig, schnell
bereitstellbar und geeignet für rasche Innovation – genau die Eigenschaften, für die auch
salesforce.com bekannt ist.
Abbildung3: Mandantenfähige On-Demand-Anwendungen, die in der Cloud ausgeführt
werden
Die mandantenfähige Architektur wirkt sich auch darauf aus, wie die Entwickler die Plattform
nutzen, um neue Anwendungen zu erstellen. Insbesondere zieht sie eine klare Grenze zwischen
17
Kapitel 1: Einführung in die Force.com-Plattform
der Plattform und den Anwendungen, die darauf ausgeführt werden. Eine Grenze ist wichtig,
damit die Anwendungen ihre eigenen Komponenten definieren können, ohne die Funktionalität
der Kernplattform oder der von anderen Benutzern gespeicherten Daten zu gefährden.
Ein metadatengesteuertes Entwicklungsmodell
Die Force.com-Plattform verwendet ein metadatengesteuertes Entwicklungsmodell, um
Anwendungsentwickler bei der produktiveren Anwendungserstellung zu unterstützen. Das
bedeutet, dass die Grundfunktionen einer Anwendung, also die Registerkarten, Formulare
und Links, als Metadaten in einer Datenbank definiert sind und nicht in einer
Programmiersprache hartcodiert vorliegen. Wenn ein Benutzer über die Force.com-Plattform
auf eine Anwendung zugreift, werden die Metadaten der Anwendung auf der
Benutzeroberfläche gerendert, die dem Benutzer angezeigt wird.
Infolge der metadatengesteuerten Entwicklung arbeiten die Entwickler von Anwendungen
für die Force.com-Plattform auf einer wesentlich höheren Abstraktionsebene, als dies bei der
Entwicklung von Anwendungen mit Java oder C# der Fall ist, und sie brauchen sich keine
Gedanken um Systemdetails auf niedrigeren Ebenen zu machen, da diese von der Plattform
automatisch verarbeitet werden. Gleichzeitig können Entwickler, die die Force.com-Plattform
verwenden, auch die erweiterten Funktionen nutzen, die die Plattform standardmäßig
bereitstellt.
Sie stellen sich die Anpassung der Metadaten vielleicht als einen Berg Arbeit vor, aber, wie
Sie in diesem Buch sehen werden: Dank der Benutzeroberfläche der Plattform lässt sich das
recht einfach erledigen. Jeder, der mit der Verwendung eines Webbrowsers vertraut ist, kann
sich problemlos einarbeiten, selbst wenn er über keinerlei Kenntnisse im Bereich
Programmiersprachen verfügt.
Tipp: Entwickler können die Force.com-Metadaten-API zur programmgesteuerten
Verwaltung des Setups ihrer Anwendung verwenden. Die Force.com-Metadaten-API
stellt eine Alternative zu der Benutzeroberfläche der Plattform dar, indem sie
Entwicklern die direkte Bearbeitung der XML-Dateien gestattet, mit denen die
Metadaten ihrer Organisation gesteuert werden. Außerdem können die Entwickler
mit der Metadaten-API Konfigurationsänderungen zwischen Organisationen migrieren
und ihre eigenen Tools zur Verwaltung von Organisationen und
Anwendungsmetadaten erstellen. Weitere Informationen finden Sie im Force.com
Metadata API Developer's Guide.
Metadatengesteuerte Entwicklung wirkt auf den ersten Blick vielleicht ein wenig esoterisch,
doch dies ist genau dasselbe Modell, auf dem auch Webbrowser beruhen. Anstatt die Definition
einer Webseite in einer Freiform-Programmiersprache hartzucodieren, definiert ein
Webseitenautor die Seite zunächst als HTML-Code, der selbst eine Art von Metadaten ist.
18
Kapitel 1: Einführung in die Force.com-Plattform
Wenn ein Benutzer eine Seite anfordert, rendert der Webbrowser die Seite mithilfe der in den
HTML-Tags bereitgestellten Metadaten. Die Kombination aus HTML und Browser bietet
den Autoren zwar nicht so viel Programmierspielraum, wie dies in einem regulären
Publishing-Tool der Fall wäre, sie vereinfacht jedoch die Arbeit der Inhaltsveröffentlichung
für ein großes Publikum und erhöht die Gesamtproduktivität des Webseiten-Autors.
In ähnlicher Weise vereinfacht die Force.com-Plattform die Erstellung von Anwendungen
enorm und erhöht die Gesamtproduktivität des Entwicklers. Und ebenso wie Webseiten, die
JavaScript oder Flash verwenden, um weitere Funktionen zu HTML-Seiten hinzuzufügen,
bietet auch die Force.com-Plattform fortgeschritteneren Entwicklern die Möglichkeit,
benutzerdefinierte Funktionen in die Anwendungen, die Sie erstellen, zu integrieren.
APIs
Dank des metadatengesteuerten Entwicklungsmodells der Plattform können
Anwendungsentwickler schnell und einfach einen großen Funktionsumfang mithilfe der von
der Plattform bereitgestellten Tools erstellen. Manchmal jedoch möchten die Entwickler die
eigentlichen Daten in einer Anwendung bearbeiten und Drittanbieterservices verwenden, um
stärker individuell angepasste Verhaltensweisen für die Anwendung zu erstellen. Dazu können
sie eine Reihe von APIs für die Integration mit der Plattform verwenden. Zur Kerngruppe der
APIs gehören die Force.com-SOAP-API und -REST-API sowie die Bulk-API, die
Streaming-API und die Metadaten-API. Sie können diese APIs aus einer Vielzahl clientseitiger
Sprachen aufrufen. Außerdem stehen Toolkits zur einfacheren Integration zur Verfügung.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Welche API ist die richtige?".
Unsere APIs bieten unkomplizierte, leistungsstarke und offene Möglichkeiten für den
programmatischen Zugriff auf die Daten und Fähigkeiten jeder beliebigen Anwendung, die
auf der Plattform ausgeführt wird. Sie ermöglichen den Programmierern den Zugriff auf und
die Bearbeitung von Anwendungen von jedem Serverstandort, mithilfe jeder beliebigen
Programmiersprache, die Webservices unterstützt, wie zum Beispiel Java, PHP, C# oder .NET.
Weitere Informationen finden Sie unter:http://wiki.developerforce.com/page/Integration.
Apex
Wie Sie von dem Unternehmen erwarten können, das die weltweit erste Cloud
Computing-Plattform bereitgestellt hat, hat salesforce.com auch die weltweit erste Cloud
Computing-Programmiersprache, Apex, eingeführt. Die Programmiersprache Apex, deren
Syntax Java, der beliebtesten Programmiersprache für Webanwendungen, ähnelt, wird auf den
Force.com-Plattformservern ausgeführt. Apex wurde speziell für die Erstellung von
Geschäftsanwendungen konzipiert, die zur Verwaltung von Daten und Prozessen im größeren
19
Kapitel 1: Einführung in die Force.com-Plattform
Kontext der Force.com-Plattform dienen. Diese Sprache bietet einen einzigartigen und
produktiven Ansatz zur Erstellung von Funktionen und Logik, mit dem die Entwickler sich
auf die Elemente konzentrieren können, die spezifisch für ihre Anwendung sind, während die
Force.com-Plattform den Rest übernimmt.
Der größte Teil diese Buchs richtet sich an Leser, die sich nicht unbedingt mit Kodierung
befassen. Daher sprengt Apex den Rahmen der hier erörterten Thematik. Sie können jedoch
alles, was es darüber zu wissen gibt, unter wiki.developerforce.com/page/Apex lernen.
Visualforce
Zu jeder bedeutenden Geschäftsanwendung gehört auch eine hervorragende Benutzeroberfläche,
die benutzerfreundlich, leistungsstark und genau auf die Aufgaben, Benutzer und Geräte
zugeschnitten ist, für die die Anwendung gedacht ist. Visualforce ist ein vollständiges
Framework zur Erstellung derartiger Benutzeroberflächen, mit dem jede Art von
Benutzeroberflächendesign und Interaktion vollständig in der Cloud erstellt und bereitgestellt
werden kann. Die Benutzeroberflächen, die Sie mit Visualforce erstellen, können das
Standarderscheinungsbild der Force.com-Plattform erweitern oder sie durch einen einzigartigen
Stil und eine Reihe ausgetüftelter Interaktionen ersetzen. Da Visualforce-Markup letztlich in
HTML gerendert wird, können die Designer Visualforce-Tags neben standardmäßigem
HTML-, JavaScript-, Flash- oder sonstigem Code verwenden, der innerhalb von HTML-Seiten
auf der Plattform ausgeführt werden kann. Und das ist nur der Anfang: Sie können
Visualforce-Seiten auch verwenden, um Daten aus mehreren Force.com-Plattformobjekten
zu kombinieren, oder Daten aus Webservices in Ihre Anwendung einbinden, wie wir im Thema
Jenseits der Point-and-Click-Anwendungsentwicklung auf Seite 393 erörtern werden.
Mobiler Zugriff
Da die wichtigsten Zugriffspunkte für das Internet sich von Desktops und Laptops auf
Smartphones und Tablets verlagern, sind Anwendungen, die keinen mobilen Zugriff auf
wichtige Daten bieten, bald überholt. Lassen Sie nicht zu, dass Ihre Anwendung beim
Mobile-Boom unter die Räder kommt. Verwenden Sie stattdessen die Anwendung Salesforce1
oder Salesforce Classic, um Ihre Anpassungen in Force.com mobilen Benutzern zugänglich
zu machen.
Wonach sollten Sie entscheiden, welche Anwendung Sie verwenden? Salesforce1 und Salesforce
Classic sind beides jeweils Anwendungen. Herunterladbare Versionen dieser Anwendung
können auf Mobilgeräten installiert werden und den nativen Funktionsumfang des Geräts
nutzen. Wenn sich die Benutzer auf einem mobilen Gerät anmelden, können sie ihre Daten
über eine Oberfläche aufrufen und aktualisieren, die speziell für Bildschirme mobiler Geräte
20
Kapitel 1: Einführung in die Force.com-Plattform
ausgelegt ist. In beiden Anwendungen können Sie die meisten standardmäßigen
Vertriebsobjekte, einige standardmäßige Serviceobjekte und alle benutzerdefinierten Objekte
bearbeiten.
Salesforce1
Administratoren müssen keine speziellen Konfigurationen erstellen, damit mobile
Benutzer auf die Daten ihrer Organisation zugreifen können. Die Elemente, die den
Benutzern angezeigt werden, werden über ihr Profil gesteuert und in der Anwendung
werden alle auf der vollständigen Salesforce-Site vorgenommenen Anpassungen
übernommen. Darüber hinaus ist Chatter in dieser Anwendung enthalten, sodass Ihre
Benutzer auch von unterwegs aus mit anderen zusammenarbeiten können.
Salesforce1 wird sowohl auf Apple® iPhones® und iPads® als auch auf
Android™-Telefonen unterstützt. Falls in Ihrer Organisation die Installation der
herunterladbaren Anwendung auf vom Unternehmen bereitgestellten Geräten untersagt
ist, steht Salesforce1 auch über einen mobilen Webbrowser zur Verfügung.
Salesforce Classic
Administratoren erstellen Konfigurationen für die mobile Verwendung, um festzulegen,
auf welche Salesforce-Daten, Visualforce-Seiten und sonstigen Elemente ihre mobilen
Benutzer zugreifen können. Darüber hinaus speichert Salesforce Classic eine Teilmenge
der Daten auf dem Gerät, um den Benutzern Offline-Zugriff zu ermöglichen, wenn
keine drahtlose Verbindung verfügbar ist, und synchronisiert diese Daten mit Force.com,
wenn wieder eine Verbindung hergestellt wurde.
Salesforce Classic wird auf dem Apple iPhone und iPod touch®, BlackBerry®-Smartphones
und auf Android-Tablets und -Smartphones unterstützt.
Wenn Sie Ihre Anwendung für die mobile Verwendung bereitstellen möchten, schlagen Sie
im Salesforce1 App Admin Guide oder im Salesforce Classic Implementation Guide nach.
Das AppExchange-Verzeichnis
Die Technologie, die die Force.com-Plattform letztlich von anderen Plattformen abhebt, ist
AppExchange. AppExchange ist ein Web-Verzeichnis, in dem Anwendungen, die auf der
Force.com-Plattform erstellt wurden, salesforce.com-Kunden zum Durchsuchen, Anzeigen
von Demos, Rezensieren sowie zur Installation zur Verfügung stehen. Entwickler können ihre
Anwendungen zur Eintragung in das AppExchange-Verzeichnis einsenden, wenn sie sie für
die Community freigeben möchten.
Um sich besser mit den Vorzügen von AppExchange vertraut zu machen, sollten Sie sich unter
http://sites.force.com/appexchange eine kurze Demo ansehen. Dort finden Sie
Hunderte innovativer und spannender Anwendungen, die bereits vorhanden sind. Dazu gehören
21
Kapitel 1: Einführung in die Force.com-Plattform
auch Anwendungen zu Gehaltsabrechnung, computergestützter Telefonie, Service- und
Support-Umfragen, Akzeptanz-Dashboards und vieles mehr. Einige dieser Anwendungen
wurden intern bei salesforce.com erstellt, die meisten werden jedoch von Partnern und einzelnen
Entwicklern erstellt, die die Force.com-Plattform nutzen.
22
Kapitel 2
Informationen zur Beispielanwendung zur
Personalbeschaffung
Themen:
•
•
•
Informationen zu
Universal Containers
Überlegungen zur
Personalbeschaffungsanwendung
Erstellen der Anwendung:
Unser Design
Dieses Buch soll Ihnen zeigen, wie einfach es ist,
leistungsstarke, vielseitige Anwendungen zu erstellen, mit
denen sich häufig vorkommende betriebswirtschaftliche
Probleme lösen lassen. Dazu erstellen wir Schritt für Schritt
eine einfache Anwendung für ein fiktives Unternehmen
namens Universal Containers.
Wie viele schnell wachsende Unternehmen hat auch
Universal Containers mit einigen Schwierigkeiten zu
kämpfen, die mit diesem schnellen Wachstum einhergehen,
insbesondere in der Personalabteilung. In diesem Buch
erstellen wir eine Personalbeschaffungsanwendung für das
Unternehmen, dank der es auf die bisher verwendeten
Microsoft Word-Dokumente und Microsoft
Excel-Tabellenblätter verzichten und statt dessen auf eine
bei Bedarf verfügbare Anwendung zurückgreifen kann.
Wenn wir die Personalbeschaffungsanwendung in diesem
Buch fertiggestellt haben, sollten Sie genügend Erfahrung
gesammelt haben, um eine benutzerdefinierte Anwendung
in der Cloud zu erstellen, die auf die Bedürfnisse Ihres
eigenen Unternehmens zugeschnitten ist. Legen wir also
los!
23
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
Informationen zu Universal Containers
Informieren wir uns zunächst ein wenig über unser fiktives Unternehmen, Universal Containers.
Universal Containers ist ein schnell wachsender internationaler Zulieferbetrieb für
Containerprodukte. Das Unternehmen stellt Behälter jeder Art her, von einfachen
Versandtaschen bis hin zu großen Containern für den Frachtverkehr. Außerdem entwickelt
und wartet Universal Containers seine firmeneigene Software, um das Design seiner
verschiedenen Containertypen zu entwerfen. Somit gehören zum Unternehmen Universal
Containers sehr unterschiedliche Gruppen von Mitarbeitern, darunter Mitarbeiter für Anlagen
und Betriebsabläufe, Software- und Design-Ingenieure, Finanzbuchhalter sowie Mitarbeiter
im Rechtsbereich und im Personalwesen.
Bisher wurden in der Personalabteilung Microsoft Word-Dokumente und Microsoft
Excel-Tabellen verwendet, um den Prozess der Personalbeschaffung und Einstellung für neue
Mitarbeiter zu verwalten. In den letzten beiden Quartalen kristallisierte sich jedoch heraus,
dass die Abteilung ihre Einstellungsziele für dieses Geschäftsjahr nur dann erreichen kann,
wenn dieser Prozess durch einen anderen ersetzt wird, der zuverlässiger und skalierbarer ist
und bessere Möglichkeiten zur Zusammenarbeit bietet. Universal Containers benötigt eine
zentralisierte Anwendung, in der sämtliche Personalbeschaffungs- und Einstellungsprozesse
zusammengefasst werden können, und das Unternehmen hat uns mit der Lösung dieses
Problems beauftragt. Unser Ansatz besteht darin, den Salesforce-Account des Unternehmens
zu nutzen und eine Personalbeschaffungsanwendung auf der Force.com-Plattform zu erstellen.
Wir führen also Universal Containers in die Welt des Cloud Computing ein.
Überlegungen zur
Personalbeschaffungsanwendung
Nach einer Besprechung mit Megan Smith, Vice President of Human Resources bei Universal
Containers, haben wir einige Anforderungen für die neue Personalbeschaffungsanwendung
skizziert. Die Anwendung muss folgende Aufgaben ausführen:
•
•
•
24
Stellen in allen Phasen des Prozesses verfolgen: offene Stellen ebenso wie besetzte bzw.
gestrichene Stellen.
Alle Bewerber verfolgen, die sich auf eine bestimmte Stelle bewerben, einschließlich des
Status ihrer Bewerbung (ob ein telefonisches Vorgespräch durchgeführt wurde, ob sie zu
Bewerbungsgesprächen eingeladen wurden, ob sie abgelehnt oder eingestellt wurden oder
ob sie ein Angebot ausgeschlagen haben).
Stellenausschreibungen auf externen Jobbörsen, wie beispielsweise Monster.com, verfolgen.
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
•
•
•
•
•
•
•
•
•
Mitarbeitern die Möglichkeit geben, Reviews für Bewerber zu posten, mit denen sie ein
Bewerbungsgespräch geführt haben.
Die Daten zur Personalbeschaffung schützen, damit diese nicht fälschlicherweise von
Mitarbeitern angezeigt, bearbeitet oder gelöscht werden, die keinen Zugriff haben sollten.
Den zuständigen Personalbeschaffungsmitarbeiter automatisch über die nächsten Schritte
informieren, die ergriffen werden sollten, wenn eine Entscheidung über einen Bewerber
gefällt wurde.
Alle Mitarbeiter automatisch über neue Stellen, die gepostet wurden, informieren.
Sicherstellen, dass ein neues Stellenangebot durch die Geschäftsleitung genehmigt wurde,
bevor es aktiv wird.
Berichte mit einschließen, die den Benutzern einen Überblick über den Status in Bezug
auf die Personalbeschaffung vermitteln.
Personalbeschaffungsmitarbeitern die Möglichkeit geben, die Standorte aller Bewerber zu
kartieren, die sich für eine Stelle bewerben, um einen besseren Eindruck von den
Umzugskosten zu erhalten.
Die gleichzeitige Durchführung mehrerer ähnlicher Aufgaben erleichtern, wie die
Ablehnung mehrerer Stellenbewerbungen.
Offene Stellen automatisch auf der öffentlichen Website von Universal Containers posten.
Eine Anwendung, die diese Anforderungen erfüllt, erhöht die Effizienz der
Personalbeschaffungs- und Einstellungsprozesse von Universal Containers erheblich.
Erstellen der Anwendung: Unser Design
Werfen wir einen Blick auf die verschiedenen Teile der Force.com-Plattform, die wir zur
Implementierung der Personalbeschaffungsanwendung von Universal Containers verwenden.
Wir befassen uns in späteren Kapiteln detaillierter mit allen diesen Elementen, zunächst jedoch
soll Ihnen diese kurze Vorschau einen Eindruck davon vermitteln, worum es geht.
Benutzerdefinierte Objekte
Benutzerdefinierte Objekte sind die nativen Komponenten, mit denen die Daten modelliert
werden, die wir in unserer Personalbeschaffungsanwendung speichern müssen. Ähnlich wie
Datenbanktabellen bestehen auch benutzerdefinierte Objekte jeweils aus mehreren Feldern,
in denen Informationen gespeichert sind, wie beispielsweise der Name des Stellenbewerbers
oder das maximale Gehalt für eine bestimmte Stelle. Anders als bei herkömmlichen
Datenbanktabellen brauchen wir jedoch keinerlei SQL-Code zu schreiben, um
benutzerdefinierte Objekte zu erstellen. Wir können einfach durch Zeigen und Klicken auf
der Plattform beliebig viele Objekte erstellen.
25
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
Für unsere Personalbeschaffungsanwendung erstellen wir sechs benutzerdefinierte Objekte
zur Verfolgung von Daten im Zusammenhang mit der Personalbeschaffung:
•
•
•
•
•
•
Position (Stelle)
Candidate (Bewerber)
Job Application (Stellenbewerbung)
Review
Job Posting (Stellenausschreibung)
Employment Website (Jobbörse)
Die meisten dieser Objekte werden in unserer Anwendung und in den Menüelementen in
Salesforce1 als Registerkarten angezeigt. Wenn ein Benutzer auf eine dieser Registerkarten
klickt, kann er auf einzelne Instanzen des betreffenden Objekts zugreifen, wie im folgenden
Screenshot zu sehen.
Abbildung4: Registerkarten der Personalbeschaffungsanwendung
Eine der leistungsstarken Funktionen von benutzerdefinierten Objekten besteht darin, dass
sie Beziehungen zu anderen Objekten im System in Beziehung aufweisen können. Beispielsweise
möchten wir jeden Review, der von einem Gesprächsleiter geschrieben und in das System
eingegeben wird, mit der Stellenbewerbung des Bewerbers verknüpfen, mit dem das
Bewerbungsgespräch durchgeführt wurde. Auch hier müssen wir wieder dank der Plattform
keinerlei SQL-Code schreiben. Die Beziehung lässt sich schnell und einfach mit wenigen
Mausklicks erstellen.
26
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
Sicherheits- und Freigaberegeln
Eine weitere wichtige Funktion, die wir in unsere Anwendung integrieren müssen, ist die
Fähigkeit, den Zugriff auf Daten einzuschränken, die für bestimmte Benutzer nicht sichtbar
sein sollen, ohne dass andere Benutzer an der effektiven Ausführung ihrer Arbeit gehindert
werden. Wir implementieren diese Anforderung mit einer Gruppe von Komponenten, die wir
unter einem gemeinsamen Begriff zusammengefasst haben: Sicherheits- und Freigaberegeln.
Mit Sicherheits- und Freigaberegeln geben wir zunächst an, welche benutzerdefinierten Objekte
ein bestimmter Benutzer erstellen, anzeigen und bearbeiten können soll (beispielsweise
"Candidate" (Bewerber) und "Position" (Stelle)), und anschließend, auf welche Instanzen dieser
Objekte der Zugriff möglich sein soll (beispielsweise die Datensätze für den Bewerber John
Smith oder die Position "Senior Sales Manager". Durch die weiter gefasste
Objektebenensicherheit und die detailliertere Sicherheit auf der Datensatzebene erhalten wir
leistungsstarke und flexible Möglichkeiten, um zu steuern, was die Benutzer sehen können
und was nicht.
Workflow- und Genehmigungsprozesse
Drei unserer Anforderungen beinhalten die Automatisierung von Geschäftsprozessen, wie
beispielsweise das Auslösen einer E-Mail-Benachrichtigung an einen
Personalbeschaffungsmitarbeiter, wenn sich der Status eines Stellenbewerbers geändert hat,
und die Einreichung neuer Stellenangebote für die Genehmigung durch die Geschäftsleitung.
Auch hier macht es uns die Force.com-Plattform durch die integrierten Komponenten für
Workflow- und Genehmigungsprozesse einfach, diese Anforderungen nativ zu implementieren.
Mithilfe von Workflow- und Genehmigungsprozessen können wir Geschäftslogik anhand
von Regeln erstellen:
•
•
Mit Workflowregeln können Aufgaben Benutzern zugewiesen, Felder aktualisiert und
E-Mail-Benachrichtigungen gesendet werden.
Mit Genehmigungsprozessen können die Benutzer vertrauliche Datensätze, wie neue
Verträge oder Aufträge, zur Genehmigung an andere Benutzer senden.
Beispielsweise können wir in unserer Personalbeschaffungsanwendung eine Workflowregel
erstellen, die ein Ereignis auslöst, wenn sich der Status einer Stellenbewerbung zu "Reject"
(Ablehnen) oder "Extend an Offer" (Angebot unterbreiten) geändert hat, wie unten dargestellt.
27
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
Abbildung5: Workflow, wenn sich der Status einer Stellenbewerbung geändert hat
Wenn ein Einstellungs-Manager die Entscheidung trifft, ein Angebot zu unterbreiten oder
den Bewerber abzulehnen, löst die Änderung beim Status des Bewerbers die Zuweisung der
entsprechenden Aufgabe an den für die betreffende Stelle zuständigen
Personalbeschaffungsmitarbeiter aus. Auf der Grundlage der Entscheidung des
Einstellungs-Managers führt der Personalbeschaffungsmitarbeiter die entsprechende
Folgeaufgabe durch.
Auf ähnliche Weise können wir einen automatischen Genehmigungsprozess erstellen, der alle
neuen Stellen zur Genehmigung an die entsprechenden Manager sendet. Wenn die Stelle
genehmigt ist, ändert sich ihr Status automatisch in Open - Approved (Offen - Genehmigt)
und die Personalbeschaffungsmitarbeiter können mit dem Einstellungsprozess beginnen. Wenn
die Stelle abgelehnt wird, ändert sich ihr Status automatisch in Closed - Not Approved
(Geschlossen - Nicht genehmigt) und die Stelle wird nicht besetzt.
Benutzerdefinierte Berichte und Dashboards
Schließlich müssen wir den Benutzern eine Möglichkeit bieten, den Status aller Positionen
und Stellenbewerber im Personalbeschaffungsprogramm von Universal Containers zu
überprüfen. Manager müssen sich ganz detailliert mit den Leistungen der einzelnen Bewerber
28
Kapitel 2: Informationen zur Beispielanwendung zur Personalbeschaffung
auseinandersetzen, wohingegen die Führungsebene einfach nur einen allgemeinen Überblick
darüber benötigt, wie die verschiedenen Abteilungen in Bezug auf die Personalausstattung im
Plan liegen.
Wir können diesen Anforderungen mithilfe von Berichten und Dashboards gerecht werden.
Mit dem Berichtsgenerator können wir detaillierte Berichte mit Filtern, bedingten
Hervorhebungen, Zwischensummen und Diagrammen erstellen. Mit dem Dashboard-Generator
können wir rasch ein Dashboard mit bis zu 20 verschiedenen Komponenten auf einer einzigen
Seite erstellen.
Visualforce
Mit Point-and-Click-Tools können wir fast alle Anwendungsfälle für unsere
Personalbeschaffungsanwendung abdecken, es gibt jedoch einige wenige Anwendungsfälle,
wie beispielsweise die Kartierung der Standorte von Bewerbern und das Posten von Stellen
auf der öffentlichen Job-Site von Universal Containers, bei denen wir gezwungen sind,
Visualforce, die Tag-basierte Markup-Sprache der Force.com-Plattform, zu verwenden, mit
der hochentwickelte, individuell angepasste Benutzeroberflächen für Anwendungen erstellt
werden können. Diese Anwendungsfälle werden erst im letzten Kapitel behandelt, wo Sie auch
den gesamten Code finden, den Sie dafür benötigen.
Wir haben zwar noch nicht im Detail behandelt, wie das alles funktioniert, aber Ihnen ist
vermutlich bereits klar geworden, wie flexibel und leistungsstark die Force.com-Plattform sein
kann, wenn es darum geht, benutzerdefinierte Anwendungen zu erstellen.
Im nächsten Kapitel beginnen wir mit der Erstellung unseres ersten benutzerdefinierten Objekts.
Sie werden rasch ein Gefühl dafür entwickeln, wie die Plattformoberfläche funktioniert, und
es wird nicht lange dauern, bis Sie ohne großen Zeit- und Arbeitsaufwand
Anwendungskomponenten erstellen können. So einfach, wie das alles ist, werden sie ganz
automatisch zum Experten!
29
Kapitel 3
Datenbankbezogene Konzepte
Themen:
•
•
•
•
Was ist eine Datenbank?
Was ist in einer
Datenbank enthalten?
Was ist eine relationale
Datenbank?
Datenbankkonzepte –
Zusammenfassung
Nachdem wir die Funktionen der Force.com-Plattform
kennengelernt und uns über die Anforderungen an die
Personalbeschaffungsanwendung klar geworden sind, die
wir erstellen möchten, sollten wir uns einen Augenblick
Zeit nehmen, um über Datenbanken zu sprechen und
darüber, warum Grundkenntnisse zu datenbankbezogenen
Konzepten dazu beitragen können, das volle Potenzial der
Plattform zu begreifen, und die Entwicklung der
Anwendung erheblich zu erleichtern.
Wie Sie wissen, gehört zu der Architektur, die der
Plattform zugrunde liegt, eine Datenbank, in der Ihre
Daten gespeichert sind. Dies bedeutet, dass alle
Informationen, die Sie eingeben, in dieser Datenbank
gespeichert und dann jeweils aus der Datenbank abgerufen
werden, wenn Sie sie in der Anwendung anzeigen.
Früher waren die Unternehmen gezwungen, ihre eigenen
Datenbanken und IT-Infrastrukturen zu erstellen und zu
warten, um ihre Anwendungen zu verteilen und
auszuführen. Cloud Computing auf der
Force.com-Plattform stellt eine Alternative dar, die es
Ihnen als Unternehmen oder Einzelentwickler leicht
machen, Ihre Anwendung zu erstellen und verfügbar zu
machen. Das Cloud Computing-Modell ist unter anderem
deshalb so einfach, weil die technischen Aufgaben für
Wartung und Betrieb der Hard- und Software der
Datenbank vom Hosting-Unternehmen (in diesem Fall
31
Kapitel 3: Datenbankbezogene Konzepte
salesforce.com) übernommen werden, sodass Sie sich auf
die Entwicklung Ihrer Anwendung konzentrieren können.
Keine Sorge: Zwar werden Ihre Daten in einer Datenbank
gespeichert und gewisse Grundkenntnisse zu
datenbankbezogenen Konzepten sind hilfreich, doch Sie
müssen kein Datenbankentwickler sein, um eine
Anwendung auf der Plattform erstellen zu können. Bei
der Entwicklung unserer Anwendung führen wir keine
Datenbankprogrammierung im herkömmlichen Sinn
durch.
32
Kapitel 3: Datenbankbezogene Konzepte
Was ist eine Datenbank?
In einfachen Worten ausgedrückt, ist eine Datenbank eine geordnete Sammlung von
Informationen Geläufige Beispiele sind Telefonbücher, Bibliothekskataloge,
Mitarbeiterverzeichnisse, ein Verzeichnis der MP3s, die Sie besitzen, oder, im Fall unserer
Personalbeschaffungsanwendung, Informationen zu den offenen Stellen in einem Unternehmen,
den Personen, die sich auf diese Stellen bewerben, und den Managern im Unternehmen, die
für die Besetzung der einzelnen Stellen zuständig sind.
Typischerweise verwenden Sie Datenbanken, um Informationen zu Personen, Elementen oder
Konzepten zu sammeln, die wichtig für Sie und das Projekt sind, an dem Sie arbeiten.
Standardmäßig wird bei Datenbanken die Kategorie einer Person, eines Elements oder eines
Konzepts, zu der bzw. dem Informationen gespeichert werden sollen, als Entität bezeichnet,
in der Standardterminologie für Force.com-Plattformen dagegen als Objekt.
In Datenbanken wir jede Entität durch eine Tabelle dargestellt. Bei einer Datenbanktabelle
handelt es sich einfach um eine Liste von Informationen – dargestellt als Zeilen und Spalten
– zu der Person, dem Element bzw. dem Konzept, die bzw. das Sie verfolgen möchten. In
einem Telefonbuch könnte es somit beispielsweise eine Tabelle geben, um Informationen zu
Privatanschlüssen zu speichern, und eine weitere Tabelle, um Informationen zu Unternehmen
zu speichern; oder in einem Bibliothekskatalog könnte es eine Tabelle mit Informationen zu
Büchern und eine andere mit Informationen zu Autoren geben.
In unserer Personalbeschaffungsanwendung haben wir eine Tabelle für Informationen zu
offenen Stellen, eine Weitere für Informationen zu den Bewerbern um die Stellen und eine
Tabelle für Informationen zu den Einstellungs-Managern. (Zu unserer
Personalbeschaffungsanwendung gehört noch mehr, aber dazu kommen wir später.)
Vereinfacht ausgedrückt ähnelt ein Force.com-Plattformobjekt einer Datenbanktabelle
dahingehend, dass es für jede Person, jedes Element und jedes Konzept, zu der bzw. dem
Informationen erfasst werden sollen, ein separates Objekt gibt. Tatsächlich ist ein
Force.com-Plattformobjekt wesentlich mehr als das, da hinter jedem Objekt der volle
Funktionsumfang der Plattform steht. Jedes Objekt verfügt automatisch über integrierte
Funktionen, wie eine Benutzeroberfläche, ein Sicherheits- und Freigabemodell,
Workflow-Prozesse und noch vieles mehr, wie Sie weiter hinten in diesem Buch erfahren
werden.
Anmerkung: Bei der Einführung der Datenbankbegriffe werden "Objekt" und
"Tabelle" synonym verwendet, weil es sich dabei um ähnliche Konzepte handelt.
Behalten Sie einfach im Hinterkopf, dass ein Force.com-Plattformobjekt wesentlich
mehr ist als einfach nur eine Datenbanktabelle.
33
Kapitel 3: Datenbankbezogene Konzepte
Es ist wichtig zu verstehen, dass eine einzelne Datenbanktabelle bzw. ein einzelnes
Force.com-Plattformobjekt nur einen einzigen Informationstyp enthalten sollte. Es ist nicht
sinnvoll, alle Informationen in dieselbe Tabelle zu packen. Sie sollten also Stellen, Bewerber
und Einstellungs-Manager nicht alle am selben Ort speichern. Dies ist nicht nur kein gutes
Datenbankdesign, sondern Sie können dadurch die Objekte auch nicht in Bezug zueinander
setzen. Hier ein Beispiel: Wenn alle Daten in derselben Tabelle gespeichert würden, wie
könnten wir dann je wissen, welche Personen sich um welche Stellen bewerben oder welche
Manager für die Besetzung welcher Stellen zuständig sind?
Bei der Festlegung unserer Anwendung müssen wir uns dies stets vor Augen halten und uns
Fragen stellen wie: "Welche Art von Informationen soll gespeichert werden? Können wir die
Informationen in getrennte Kategorien unterteilen, sodass jedes Objekt nur eine Art von
Person, Element oder Konzept enthält?" Die Antworten auf diese Fragen dienen uns als
Richtschnur beim Entwerfen der Anwendungsstruktur.
Was ist in einer Datenbank enthalten?
Wie bereits erwähnt, werden in einer Datenbanktabelle Ihre Informationen in Form von Zeilen
und Spalten präsentiert. Sehen wir uns an, wie eine Tabelle der Stellen aussehen könnte:
Abbildung6: Stelleinformationen in einer Tabelle
Jede Zeile in der Tabelle steht für die Informationen zu einer bestimmten Instanz des Objekts,
beispielsweise die Stelle "Recruiter" oder die Stelle "SW Engineer". In der
Force.com-Standardterminologie wird dies als Datensatz bezeichnet. Für jedes Objekt, das
Sie in Ihrer Anwendung verfolgen möchten, gibt es mehrere Datensätze, die jeweils für die
34
Kapitel 3: Datenbankbezogene Konzepte
einzelnen Elemente stehen, zu denen Sie Informationen speichern. Benutzer, die noch nicht
mit der Plattform vertraut sind, verwechseln häufig Objekte und Datensätze. Es kann Ihnen
die Entwicklung erheblich erleichtern, wenn Sie sich merken, dass ein Objekt eine Kategorie
von Informationen ist, wie eine Stelle oder ein Bewerber, und der Datensatz eine einzelne
Instanz eines Objekts, beispielsweise ein SW Engineer.
Anmerkung: Als Randnotiz sei vermerkt, dass die Plattform beim ersten Start eine
Reihe integrierter Objekte enthält. Diese Objekte werden als Standardobjekte
bezeichnet. Ein Beispiel für ein Standardobjekt ist das Objekt "Benutzer", in dem
Informationen zu allen Personen gespeichert werden, die Benutzer der Anwendung
sind, wie beispielsweise unsere Einstellungs-Manager. Außerdem können Sie Ihre
eigenen Objekte erstellen, um Informationen zu speichern, die spezifisch für Ihre
Anwendung sind. Diese werden als benutzerdefinierte Objekte bezeichnet.
Standardobjekte und benutzerdefinierte Objekte sind im Grunde gar nicht so
verschieden. Es ist nur so, dass die einen bereits vordefiniert sind, während Sie die
anderen selbst erstellen müssen. Wir gehen später genauer auf diese Objekte ein, wenn
Sie mit der Erstellung der Anwendung beginnen.
Werfen wir nun einen Blick auf die Spalten in der Tabelle. In den einzelnen Tabellen sind
jeweils bestimmte Informationen aufgeführt, wie "Position Title" (Stellentitel) oder "Max Pay"
(Höchstgehalt). Wir bezeichnen diese Spalten als Felder. Zu jedem Objekt gehört eine Reihe
von Feldern, die zur Eingabe der Informationen zu einem bestimmten Datensatz dienen. Für
jedes Feld in der Tabelle werden die einzelnen Datenelemente, die Sie eingeben, wie
beispielsweise "Human Ressources" (Personalbereich) unter "Functional Area"
(Funktionsbereich), als Datenwerte bezeichnet.
Wie bei den Objekten gibt es auch bei den Feldern zwei Sorten: standardmäßig und
benutzerdefiniert. Standardfelder sind bereits in die Plattform integriert und werden automatisch
hinzugefügt. Benutzerdefinierte Felder sind die Felder, die Sie definieren, um bestimmte
Informationen zu speichern, die spezifisch für Ihre Anwendung sind. Im Grunde gibt es keinen
Unterschied zwischen Standardfeldern und benutzerdefinierten Feldern. Beide sind einfach
Spalten in der Datenbanktabelle. Wir gehen später genauer auf Standardfelder und
benutzerdefinierte Felder ein, wenn Sie mit der Erstellung Ihrer Anwendung beginnen.
Was ist eine relationale Datenbank?
Nun sind einige Informationen in Ihrer Datenbank gespeichert, aber was soll das Ganze? Sie
könnten problemlos eine Liste der Stellen mit Microsoft Excel oder einer anderen
Tabellenkalkulationssoftware erstellen. Sie könnten sogar für jede Stelle den
Einstellungs-Manager in einem Feld namens "Hiring Manager" (Einstellungs-Manager)
aufführen, so wie hier:
35
Kapitel 3: Datenbankbezogene Konzepte
Abbildung7: Stelleninformationen mit Feld für Einstellungs-Manager
Aber was, wenn ein Einstellungs-Manager für die Besetzung mehrerer Stellen verantwortlich
ist? Sie bräuchten doppelte Datensätze für denselben Einstellungs-Manager, um jede Stelle
erfassen zu können, für die der Einstellungs-Manager zuständig ist, so wie hier:
Abbildung8: Stelleninformationen mit Mehrfacheinträgen für Einstellungs-Manager
Dies ist kein gutes Datenbankdesign! Mit diesem Ansatz werden Daten unnötigerweise
wiederholt. Außerdem gibt es keine Möglichkeit, weitere Informationen zu den
Einstellungs-Managern zu erfassen, wie E-Mail-Adressen und Telefonnummern. Und wenn
wir versuchen, Informationen darüber hinzuzufügen, welche Bewerber sich um die einzelnen
Stellen bewerben, können Sie sich vorstellen, dass unsere einfache Tabelle sehr schnell sehr
komplex und unhandlich wird.
Wie bereits erwähnt, ist es sinnvoll, separate Datenbanktabellen bzw. Objekte für jede Person,
jedes Element bzw. jedes Konzept zu erstellen, die bzw. das verfolgt werden soll. Eine bessere
Methode zur Modellierung unseres Szenarios besteht also darin, ein Objekt für Stellen, eines
für Bewerber und eines für Einstellungs-Manager zu erstellen. (Glücklicherweise enthält die
Plattform ein Standardobjekt, das wir zur Darstellung der Einstellungs-Manager verwenden
können: das Objekt "Benutzer".)
Nachdem wir unsere Daten in diskrete Objekte aufgegliedert haben, können wir problemlos
Objekte in Bezug zueinander setzen. Und genau darum geht es bei relationalen Datenbanken!
Eine Beziehung ist eine Verknüpfung zwischen zwei oder mehr Tabellen. Beispielsweise können
wir Stellen zu Einstellungs-Managern in Bezug setzen, damit wir entnehmen können, für
welche Stellen die einzelnen Einstellungs-Manager zuständig sind.
36
Kapitel 3: Datenbankbezogene Konzepte
Abbildung9: Stellen in Bezug zu Einstellungs-Managern
Aus technischer Sicht enthält jede Tabelle in einer relationalen Datenbank ein Feld, in dem
der Datenwert den Datensatz eindeutig kennzeichnet. Dieses Feld wird als Primärschlüssel
bezeichnet. Der Primärschlüssel ist ein Teil der Beziehungsdefinition, der andere Teil ist der
Fremdschlüssel. Ein Fremdschlüssel ist ein Feld, dessen Wert mit dem Primärschlüssel einer
anderen Tabelle übereinstimmt. Sie können sich einen Fremdschlüssel als Kopie des
Primärschlüssels aus einer anderen Tabelle vorstellen. Die Beziehung zwischen zwei Tabellen
wird erstellt, indem die Werte des Fremdschlüssels in einer Tabelle mit den Werten des
Primärschlüssels in einer anderen Tabelle abgeglichen werden.
Primär und Fremdschlüssel sind von zentraler Bedeutung für das Konzept "Beziehungen", da
sie ermöglichen, dass Tabellen in Bezug zueinander stehen. Wenn Sie damit beginnen, Ihre
Anwendung zu erstellen, brauchen Sie sich noch nicht allzu viele Gedanken um Primär- und
Fremdschlüssel zu machen. Das wichtige Konzept, das Sie hier verstehen müssen, ist, dass die
Objekte in einer relationalen Datenbank einander über die Verwendung gemeinsamer Felder
zugeordnet sind, die diese Beziehungen definieren.
Datenbankkonzepte – Zusammenfassung
Nun sind wir bereit, mit der Erstellung unserer Personalbeschaffungsanwendung zu beginnen.
Wiederholen wir jedoch zuvor noch einmal kurz, was wir über Datenbanken gelernt haben.
Gleichgültig ob dies Ihre erste Einführung in Datenbanken war oder ob Sie bereits ein
erfahrener Datenbankentwickler sind, für den lediglich die Force.com-Plattform neu ist: Sie
sollten folgende wichtige Punkte im Hinterkopf behalten:
37
Kapitel 3: Datenbankbezogene Konzepte
•
•
•
•
•
Eine Datenbank ist eine geordnete Sammlung von Informationen.
In einer Datenbanktabelle werden Informationen zu einem bestimmten Typ von Person,
Element oder Konzept gespeichert, beispielsweise eine Arbeitsstelle. Bei der
Force.com-Plattform verwenden wir hier den Begriff Objekt (auch wenn ein Objekt
wesentlich mehr ist als das, wie Sie sehen werden).
Eine Datenbankzeile bzw. ein Datensatz, wie die Bezeichnung bei der Force.com-Plattform
lautet, steht für eine einzelne Instanz eines Objekts, beispielsweise die Stelle "SW Engineer".
In einem Feld werden bestimmte Informationen zu einem Datensatz gespeichert.
Beziehungen definieren die Verbindung zwischen zwei Objekten und Objekte stehen über
die Verwendung gemeinsamer Felder in Bezug zueinander.
Nun, da wir all das behandelt haben, wollen wir mit der Erstellung unseres ersten Objekts
beginnen.
38
Kapitel 4
Erstellen einer einfachen Anwendung
Themen:
•
•
•
•
•
•
•
•
Der Setup-Bereich
Einführung zu
Anwendungen
Einführung zu Objekten
Einführung zu
Registerkarten
Setup-Detailseiten und
Themenlisten
Einführung zu Feldern
Rekapitulation
Erstellen der mobilen
Version unserer einfachen
Anwendung
Ebenso wie in herkömmlichen Programmierhandbüchern,
wo zunächst einmal erklärt wird, wie ein einfaches „Hallo
Welt"-Programm geschrieben wird, bevor zu
komplizierteren Vorgängen übergegangen wird, möchten
wir in diesem Kapitel eine stark vereinfachte Version der
Personalbeschaffungsanwendung erstellen, um zu zeigen,
wie einfach der Einstieg in die Force.com-Plattform ist.
Während dieses Prozesses orientieren wir uns an der
Benutzeroberfläche der Plattform (wo auch der Großteil
unserer Arbeit stattfindet) und lernen, wie wir unser erstes
benutzerdefiniertes Objekt erstellen und konfigurieren.
Die hierbei durchgeführten Aufgaben stellen, auch wenn
sie einfach und überschaubar sind, den ersten Schritt bei
der Entwicklung einer Personalbeschaffungsanwendung
mit vollem Funktionsumfang dar. Legen wir also los!
39
Kapitel 4: Erstellen einer einfachen Anwendung
Der Setup-Bereich
Da wir die meiste Zeit über im Setup-Bereich der Anwendung arbeiten werden, sehen wir
uns zunächst an, wie man zu diesem Bereich navigiert, und machen uns mit ihm vertraut.
Der Setup-Bereich ist ein zentraler Ort, an dem Sie Anwendungen erstellen und anpassen
sowie Organisationen und Benutzer verwalten und überwachen können. Wir führen nahezu
alle Aufgaben, die wir zum Erstellen unserer Anwendung benötigen, im Setup-Bereich durch,
sodass die meisten Abschnitte in diesem Handbuch, die mit "Probieren Sie es aus:" beginnen,
am Anfang eine Anweisung enthalten, wie "Setup" auf Erstellen > Anwendungen". Dies ist
eine Abkürzung für:
1. Je nachdem, welche Einstellungen für Ihre Organisation ausgewählt wurden, rufen
Sie den Setup-Bereich durch eine von zwei Vorgehensweisen aus. Sehen Sie sich
die Kopfzeile oben auf der Seite an.
Wenn in der Kopfzeile Setup angezeigt wird, klicken Sie darauf.
Wenn Setup nicht in der Kopfzeile angezeigt wird, klicken Sie auf Ihren Namen
und anschließend auf Setup.
2. Wenn Sie sich im Setup-Bereich befinden, wird links auf der Seite ein Menü
angezeigt. Klicken Sie in diesem Menü auf Erstellen > Anwendungen.
Der letzte Link, auf den Sie klicken (in diesem Beispiel: Anwendungen), variiert je nach
Aufgabe, die Sie ausführen.
40
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung10: Setup-Bereich
Ähnlich wie andere Teile der Anwendung, besteht auch der Setup-Bereich aus einer
Registerkartenleiste, einer Navigations-Randleiste und einem Hauptfenster.
•
•
•
Die Registerkartenleiste besteht aus den gleichen Registerkarten, die auch in der regulären
Anwendung angezeigt werden. Klicken Sie einfach auf eine der Registerkarten, um den
Setup-Bereich zu verlassen und die betreffende Registerkarten in der Hauptanwendung
anzuzeigen.
Die Navigations-Randleiste enthält erweiterbare Listen aller im Setup-Bereich verfügbaren
Tools. Die Tools beinhalten Optionen zum Einrichten, Warten und Anpassen Ihrer
Organisation und zum Erstellen, Erweitern und Verwalten von Anwendungen.
Im Hauptfenster werden die Navigationslinks bzw. das ausgewählte Setup-Tool angezeigt.
Tipp: Da Sie Anwendungen in Force.com entwickeln werden, empfiehlt es sich, den
Setup-Bereich als Standard-Zielseite nach der Anmeldung festzulegen. Gehen Sie
hierzu wie folgt vor:
1. Klicken Sie oben auf der Seite auf den Abwärtspfeil neben Ihrem Namen.
Wählen Sie im Menü unterhalb Ihres Namens Meine Einstellungen oder
Setup aus, je nachdem, welche Option angezeigt wird.
2. Wählen Sie im linken Fenster eine der folgenden Optionen aus:
41
Kapitel 4: Erstellen einer einfachen Anwendung
•
•
Wenn Sie auf Meine Einstellungen geklickt haben, wählen Sie Anzeige
& Layout > Meine Seiten anpassen aus.
Wenn Sie auf Setup, geklickt haben, wählen Sie Meine persönlichen
Daten > Persönliche Daten und anschließend Bearbeiten.
3. Wählen Sie "Setup" zu meiner Standard-Zielseite machen aus.
4. Klicken Sie auf Speichern.
Jetzt wissen wir, worum es geht, also beginnen wir mit der Erstellung unserer einfachen
Anwendung.
Einführung zu Anwendungen
Was müssen wir zuerst tun? Wenn wir eine Software-Anwendung schreiben wollten, müssten
wir zuerst ein Projekt erstellen, in dem wir den gesamten Code, den wir schreiben, speichern
können. Auf der Force.com-Plattform müssen wir zuerst eine neue Anwendung erstellen.
Wie bei einem Programmierungsprojekt ist eine Anwendung lediglich ein Container für alle
Objekte, Registerkarten und anderen Funktionen, die wir für unsere
Personalbeschaffungsanwendung erstellen. Sie besteht einfach aus einem Namen, einem Logo
und einer Reihe von geordneten Registerkarten. Die einfachste Anwendung enthält nur eine
Registerkarte, nämlich die Registerkarte "Startseite", und ein Standardlogo. Wenn wir im
weiteren Verlauf dieses Handbuchs weitere Registerkarten definieren, können wir sie der
Anwendung später hinzufügen.
Beginnen wir, indem wir jetzt Schritt für Schritt eine einfache Anwendung erstellen. Melden
Sie sich bei Ihrem Salesforce-Account an, um mitmachen zu können.
Anmerkung: Da die Plattform ständig weiter entwickelt wird, können einige in
diesem Handbuch dargestellte Screenshots leicht von den Darstellungen auf Ihrem
Bildschirm abweichen. Diese Änderungen sind nur geringfügig und sollten Ihr
Verständnis nicht beeinträchtigen.
Probieren Sie es aus: Definieren einer
Anwendung
1. Öffnen Sie einen Browser und rufen Sie www.salesforce.com auf.
2. Klicken Sie auf Bei Salesforce anmelden.
42
Kapitel 4: Erstellen einer einfachen Anwendung
3. Geben Sie Ihren Benutzernamen und Ihr Kennwort ein.
4. Klicken Sie unter "Setup" auf Erstellen > Anwendungen.
5. Wenn eine einführende Vorschaltseite angezeigt wird, klicken Sie einfach auf
Fortfahren.
Anmerkung: Diese Vorschaltseiten gibt es in vielen Teilen der Anwendung.
Sie sollen Ihnen helfen zu verstehen, welche Möglichkeiten Ihnen die
Plattform bietet. Wenn Sie eine bestimmte Seite nie wieder sehen möchten,
wählen Sie einfach Diese Seite nicht mehr anzeigen.
Willkommen auf der Seite mit der Anwendungsliste! Wie bei vielen Setup-Tools besteht auch
die Startseite des Anwendungstools aus einer Liste aller Anwendungen, die derzeit für Ihre
Organisation aktiviert sind. Je nachdem, welche Edition Sie verwenden oder welche Elemente
Sie bereits von AppExchange installiert haben, werden hier bereits bestimmte
Standardanwendungen aufgeführt.
Beyond the Basics
Es gibt zwei Möglichkeiten zur Erstellung von Anwendungen. Mit der Schaltfläche
Schnelleinstieg wird eine Anwendung mit einem einzigen benutzerdefinierten Objekt
und der zugehörigen Registerkarte erstellt. Mit der Schaltfläche Neu erstellen Sie eine
Anwendung mit einem Logo, fügen bestehende Registerkarten hinzu und legen die
Sichtbarkeit der Anwendung für Ihre Profile fest. In diesem Buch verwenden wir die
Schaltfläche Neu, Sie können jedoch später gerne auch die Schaltfläche Schnelleinstieg
ausprobieren.
6. Klicken Sie auf Neu. Der Assistent für neue benutzerdefinierte Anwendungen wird
angezeigt.
7. Geben Sie im Feld Anwendungsbezeichnung den Text Recruiting
(Personalbeschaffung) ein.
Die Anwendungsbezeichnung ist der Name, der für unsere Anwendung im
Force.com-Anwendungsmenü verwendet wird, das rechts oben auf allen Seiten angezeigt wird.
Die Benutzer können mit diesem Menü zwischen den Anwendungen hin- und herschalten.
Beachten Sie den senkrechten roten Balken, der unmittelbar links von diesem Bezeichnungsfeld
angezeigt wird. Durch diesen roten Balken wird darauf hingewiesen, dass Sie Ihre Arbeit nur
speichern können, wenn Sie in diesem Feld einen Wert angeben. Wenn Sie hier keinen Wert
eingeben und versuchen fortzufahren, wird eine Fehlermeldung angezeigt.
43
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung11: Pflichtfelder mit roter Markierung
8. Klicken Sie mit der Maus in das Feld Anwendungsname.
Anhand des Anwendungsnamens identifizieren Entwickler die Anwendung, wenn sie Code
für die Force.com-Plattform schreiben. Wir führen in diesem Buch keinerlei Vorgänge aus,
bei denen der Anwendungsname verwendet wird, aber da es sich bei dem Feld um ein Pflichtfeld
handelt, muss ein Wert eingegeben werden. Praktischerweise ist dieser Vorgang normalerweise
automatisiert: Wenn Sie einen Wert in das Feld Anwendungsbezeichnung eingeben, sollte
derselbe Wert automatisch in das Feld Anwendungsname eingetragen werden. Sollte dies
nicht der Fall sein, geben Sie jetzt Recruiting (Personalbeschaffung) in das Feld
Anwendungsname ein.
9. Geben Sie im Feld Beschreibung folgenden Text ein: Manage positions,
candidates, and job applications, and track job postings
on employment websites. (Verwalten von Stellen, Bewerbern und
Stellenbewerbungen sowie Verfolgen von Stellenausschreibungen auf Jobbörsen.)
10. Klicken Sie auf Weiter.
Im nächsten Bildschirm des Assistenten für neue benutzerdefinierte Anwendungen können
Sie angeben, welche Bilddatei für das Logo der Anwendung verwendet werden soll. Immer
wenn die Anwendung im Force.com-Anwendungsmenü ausgewählt ist, wird dieses Logo links
oben auf allen Seiten angezeigt. Da wir nur eine einfache Anwendung erstellen, übernehmen
wir einfach das bereitgestellte Standardlogo. Wir können es jederzeit später ändern.
11. Klicken Sie auf Weiter.
Wie bereits erwähnt, ist eine Anwendung ein Container für eine geordnete Sammlung von
Registerkarten. In diesem Schritt des Assistenten für neue benutzerdefinierte Anwendungen
können wir nun angeben, welche Registerkarten in unserer neuen Anwendung enthalten sein
sollen. In der Liste Verfügbare Registerkarten werden die Standardregisterkarten und
die benutzerdefinierten Registerkarten angezeigt, die für uns zur Auswahl stehen, und in der
Liste Ausgewählte Registerkarten ist zu sehen, welche Registerkarten bereits enthalten
sind (aufgeführt in der Reihenfolge, in der sie angezeigt werden sollen). Wie Sie sehen, ist
44
Kapitel 4: Erstellen einer einfachen Anwendung
eine Registerkarte, die Registerkarte "Startseite", bereits standardmäßig in unserer Anwendung
enthalten. Dies liegt daran, dass die Registerkarte "Startseite" in jeder Anwendung erforderlich
ist und immer an erster Stelle stehen muss. Sie können jedoch über das Dropdownmenü
Standard-Landeregisterkarte auswählen, welche Registerkarte beim Öffnen der
Registerkarte als Erstes angezeigt wird.
Auch hier gilt wieder: Da wir nur eine einfache Anwendung erstellen, übernehmen wir einfach
die Standardvorgaben und fahren fort. Wir fügen später weiter Registerkarten hinzu.
12. Klicken Sie auf Weiter.
Nachdem wir nun einige Grundfunktionen unserer Anwendung definiert haben, fragen Sie
sich vielleicht, was noch im Assistenten für neue benutzerdefinierte Anwendungen zu tun
bliebt. Sollten wir nicht bereits fertig sein? Ein wichtiger Schritt steht noch aus: Wir müssen
definieren, welche Benutzer Zugriff auf unsere Anwendung haben sollen.
In diesem Schritt des Assistenten für neue benutzerdefinierte Anwendungen können wir
auswählen, welche Benutzerprofile Zugriff auf die Anwendung haben sollen. Im Abschnitt
Einrichten von Sicherheit und Freigabe für Daten auf Seite 175 erfahren wir mehr über Profile.
Für den Augenblick brauchen Sie lediglich zu wissen, dass jeder Benutzer einem Profil
zugewiesen ist und dass Profile steuern, welche Anwendungen die dem betreffenden Profil
zugewiesenen Benutzer sehen können.
13. Aktivieren Sie das Kontrollkästchen Sichtbar neben den Profilen
"Standardbenutzer" und "Systemadministrator".
14. Klicken Sie auf Speichern.
Schon sind Sie fertig!
Rekapitulation
Nachdem wir nun wieder zur Seite mit der Anwendungsliste zurückgekehrt sind, sollten wir
uns ansehen, was wir soeben gemacht haben. Zunächst einmal gibt es einen neuen Eintrag in
der Anwendungsliste: Unsere Personalbeschaffungsanwendung! Sie wird in der Liste an
derselben Stelle angezeigt, wie sie dann auch in unserem Force.com-Anwendungsemü zu sehen
sein wird. Sehen wir uns das Force.com-Anwendungsmenü gleich einmal an.
45
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung12: Force.com-Anwendungsmenü
Tipp: Wenn Sie die Position Ihrer Anwendung in diesem Menü ändern möchten,
können Sie dies auf der Seite mit der Anwendungsliste tun. Klicken Sie dazu auf Neu
anordnen und ordnen Sie die verfügbaren Anwendungen nach Ihren Bedürfnissen
an.
Wählen Sie nun die Personalbeschaffungsanwendung im Menü aus und sehen Sie sich an,
was geschieht: Unsere Anwendung wird mit einer einzigen Registerkarte ("Startseite") gestartet!
Wir haben die Registerkarte "Startseite" der Personalbeschaffungsanwendung erstellt und die
Anwendung zum Force.com-Anwendungsmenü hinzugefügt. So einfach ist das.
Wie Sie sehen werden, verfolgen wir hier einen iterativen Ansatz: Wir erstellen einen Teil der
Anwendung, sehen uns an, was wir erreicht haben, und nehmen dann Ergänzungen vor. Diese
Abfolge liegt nicht nur daran, dass wir Sie in diesem Buch Schritt für Schritt durch die
Erstellung einer Anwendung führen, sondern dieser iterative Prozess ist allgemein bei der
Erstellung von Anwendungen auf der Force.com-Plattform üblich.
Im Verlauf dieses Buchs werden Sie außerdem feststellen, dass anders als bei traditionellen
Codierungsprojekten Ihre Anwendung jederzeit funktionsfähig ist. Es gibt keine Erstellungsoder Kompilierungsphase. Und somit haben Sie auch fast nie damit zu tun, Syntaxfehler oder
sonstige Tippfehler zu suchen. So können Sie mit dieser einfachen, aus einer einzigen
Registerkarte bestehenden Anwendung bereits den gesamten integrierten Funktionsumfang
nutzen, der in der Plattform enthalten ist, wie Suchfunktionen, Kalenderereignisse und
Aufgaben , Benutzereinstellungen und eine vertraute Benutzeroberfläche.
46
Kapitel 4: Erstellen einer einfachen Anwendung
Einführung zu Objekten
Unsere Anwendung ist zwar funktionsfähig, aber bisher doch recht langweilig. Machen wir
sie also ein wenig interessanter, indem wir unser erstes Objekt einführen.
Wie im letzten Kapitel erläutert, weisen Objekte in der Force.com-Plattform große Ähnlichkeit
mit Datenbanktabellen auf. In der Plattform sind eine Reihe von Standardobjekten enthalten,
wie Kontakte, Accounts und Kundenvorgänge, die für die Standardanwendungen, wie die
Salesforce-Vertriebsanwendung und die Salesforce-Callcenteranwendung, verwendet werden.
Außerdem können wir benutzerdefinierte Objekte erstellen, mit denen wir Informationen
speichern können, die speziell für unsere Personalbeschaffungsanwendung von Bedeutung
sind.
Unabhängig davon, ob es sich um Standardobjekte oder benutzerdefinierte Objekte handelt:
Die Objekte der Force.com-Plattform stellen nicht nur eine Struktur zum Speichern von Daten
bereit, sondern sie stellen auch leistungsstarke Benutzeroberflächenelemente zur Verfügung,
über die die Benutzer mit den Daten arbeiten können, wie beispielsweise Registerkarten,
Layouts von Feldern auf einer Seite und Listen mit verwandten Datensätzen. Da jedes Objekt
einer Registerkarte entsprechen kann und Anwendungen aus einer geordneten Sammlung von
Registerkarten bestehen, sind Objekte das Kernstück jeder Anwendung, die wir mit der
Plattform erstellen.
Und da benutzerdefinierte Objekte so wichtig sind (sie beeinflussen wesentlich das
Erscheinungsbild und die Funktionsweise unserer Anwendung), hängt die Erstellung einer
erfolgreichen Anwendung entscheidend davon ab, was wir mit benutzerdefinierten Objekten
tun und wie wir sie verwenden. Der Entwurf des zugrunde liegenden Datenmodells ist
typischerweise der wichtigste Faktor für Erfolg oder Scheitern einer Anwendung.
Doch damit haben wir vorerst genug Worte über Objekte verloren. Jetzt sollten wir erst einmal
eines definieren.
Das benutzerdefinierte Objekt "Position" (Stelle)
Das erste benutzerdefinierte Objekt, das wir für unsere Personalbeschaffungsanwendung
erstellen, dient einer typischen Aufgabe bei der Personalbeschaffung: die Beschreibung einer
Stelle. Personalbeschaffungsmitarbeiter bei Universal Containers müssen einen Überblick über
alle ausgeschriebenen Stellen behalten, beispielsweise als Senior Developer, Sales Engineer
oder Benefits Specialist. Sie müssen leicht über eine Registerkarte auf alle Stellen im System
zugreifen können und sie müssen bestimmte Informationen für die einzelnen Stellen einfügen,
beispielsweise das Mindest- und Höchstgehalt, den Standort der Stelle und den zuständigen
47
Kapitel 4: Erstellen einer einfachen Anwendung
Einstellungs-Manager. Auf der Force.com-Plattform heißt das, dass wir ein benutzerdefiniertes
Objekt erstellen, dann eine benutzerdefinierte Registerkarte für das Objekt erstellen und
schließlich einige benutzerdefinierte Felder definieren.
Probieren Sie es aus: Definieren des
benutzerdefinierten Objekts "Position" (Stelle)
Um das benutzerdefinierte Objekt "Position" (Stelle) zu erstellen, kehren wir zum Setup-Bereich
zurück.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf der Seite "Benutzerdefinierte Objekte" auf Neues benutzerdefiniertes
Objekt.
Anders als beim Erstellen einer benutzerdefinierten Anwendung, die über den Assistenten für
neue benutzerdefinierte Anwendungen erfolgte, beschränkt sich die Erstellung eines
benutzerdefinierten Objekts auf eine einzige Seite. Die Plattform verwendet Assistenten bzw.
einzelne Seiten in Abhängigkeit davon, wie viele Informationen angegeben werden müssen.
Abbildung13: Seite "Definition für benutzerdefiniertes Objekt"
3. Geben Sie im Feld Bezeichnung den Text Position (Stelle) ein.
4. Geben Sie im Feld Bezeichnung – Plural den Text Positions (Stellen) ein.
5. Das Feld Objektname wird automatisch als Position vorgegeben. Lassen wir es
so, wie es ist.
48
Kapitel 4: Erstellen einer einfachen Anwendung
Die Felder Bezeichnung und Bezeichnung – Plural eines benutzerdefinierten Objekts
werden den Benutzern in allen zum Objekt gehörenden Benutzeroberflächenelementen
angezeigt, beispielsweise auf der Registerkarte des Objekts oder in den Überschriften für die
Suchergebnisse. Als Objektbezeichnungen sollten am besten Substantive verwendet werden.
Die Plural-Bezeichnung dient stets als Bezeichnung für die Registerkarte des benutzerdefinierten
Objekts (sofern Sie eine Registerkarte für Ihr Objekt erstellen).
Der Wert für Objektname eines benutzerdefinierten Objekts ist der eindeutige Name für das
Objekt, wenn in anderen Bereichen der Plattform darauf Bezug genommen wird, beispielsweise
in Formeln und auf Visualforce-Seiten. Dieser Wert wird praktischerweise automatisch auf
der Grundlage des Werts generiert, den Sie unter Bezeichnung eingeben. Dabei werden alle
Leer- und Satzzeichen durch Unterstriche ersetzt. Wir befassen uns weiter hinten in diesem
Buch eingehender mit Formeln und Visualforce. Für den Moment sollten Sie sich merken,
dass der Wert unter Objektname für alle Objekte, die in Ihrer Organisation definiert sind,
eindeutig sein muss.
Anmerkung: Innerhalb der Plattform wird Objektname mit einem als Suffix
angehängten __c gespeichert (z. B. Position__c). Damit wird angegeben, dass es
sich um ein benutzerdefiniertes Objekt handelt.
6. Geben Sie im Feld Beschreibung folgenden Text ein: This object stores
information about the open job positions at our company.
(In diesem Objekt werden Informationen zu den offenen Stellen in unserem
Unternehmen gespeichert.)
7. Übernehmen Sie für Einstellungen für die kontextabhängige Hilfe
die Standardvorgabe. Wenn Sie Ihren Benutzern später angepasste
Hilfedokumentation zu diesem Objekt bereitstellen möchten, können Sie hierher
zurückkehren und die Option Öffnen eines Fensters mithilfe eines
Custom Visualforce auswählen.
8. Geben Sie im Feld Datensatzname den Text Position Title (Stellentitel)
ein.
Datensatzname ist die Bezeichnung für das Feld, das die einzelnen Stellendatensätze im
System identifiziert. Ohne dieses identifizierende Feld können benutzerdefinierte Objekte
nicht gespeichert werden.
9. Wählen Sie in der Dropdownliste Datentyp den Eintrag "Text" aus.
In der Dropdownliste Datentyp können Sie die Art von Werten auswählen, die in diesem
identifizierenden Feld verwendet wird: entweder "Text" oder "Automatische Nummerierung".
Einige Objekte, wie Stellen oder Accounts, können über ein Textfeld identifiziert werden, da
immer ein Name für eine Stelle oder einen Account verfügbar ist. Andere Objekte, wie
beispielsweise Kundenvorgänge (in der Standardanwendung für Callcenter verwendet) sind
49
Kapitel 4: Erstellen einer einfachen Anwendung
schwieriger durch ein einzelnes Textfeld zu identifizieren. Daher weisen wir ihnen stattdessen
automatisch generierte Nummern zu.
Tipp: Es ist am besten, wann immer möglich Text als Datentyp für identifizierende
Felder zu verwenden, damit die Benutzer einen bestimmten Datensatz leichter
identifizieren können, wenn mehrere davon zusammen in derselben Liste vorkommen.
Um darzulegen, wie die Bezeichnungen für benutzerdefinierte Objekte und Datensatznamen
zusammen in der Anwendung funktionieren, greifen wir ein wenig vor und sehen uns an, wo
die einzelnen Bezeichnungen angezeigt werden, nachdem wir das benutzerdefinierte Objekt
"Position" (Stelle), die zugehörige Registerkarte und einen einzelnen Stellendatensatz für eine
Stelle als Sr. Developer definiert haben.
Abbildung14: Bezeichnungen für benutzerdefinierte Objekte und Datensatznamen
Machen wir weiter.
10. Aktivieren Sie im Bereich "Optionale Funktionen" die Kontrollkästchen Berichte
zulassen, Aktivitäten zulassen, und Feldverlauf verfolgen.
Durch diese drei Kontrollkästchen werden einige leistungsstarke Funktionen aktiviert.
Berichte zulassen
Durch die Auswahl dieser Option werden die Daten in den Stellendatensätzen für
Berichte verfügbar. In der Plattform ist bereits eine große Anzahl von Standardberichten
enthalten und die Benutzer können außerdem benutzerdefinierte Berichte mithilfe eines
einfachen und doch leistungsstarken Berichtsgenerators erstellen. (Weitere Informationen
zu Berichten finden Sie unter Analysieren von Daten mit Berichten und Dashboards auf
Seite 341.)
50
Kapitel 4: Erstellen einer einfachen Anwendung
Aktivitäten zulassen
Die Auswahl dieser Option ermöglicht Benutzern die Verknüpfung von Aufgaben und
geplanten Kalenderereignissen mit einer bestimmten Stelle. Beispielsweise kann ein
Benutzer eine Aufgabe erstellen, wie "Update salary range for Sr. Developer position"
(Gehaltsbereich für Stelle Sr. Developer aktualisieren)”, und Attribute angeben, wie
Priorität, Fälligkeitsdatum und Status. Der Benutzer kann dann die Aufgabe selbst
ausführen oder sie einer anderen Person zuweisen. (Weitere Informationen zu Aufgaben
finden Sie unter "Aktivitäten – Übersicht" in der Salesforce-Hilfe.)
Feldverlauf verfolgen
Die Auswahl dieser Option ermöglicht der Plattform die automatische Verfolgung von
Bearbeitungen an Stellendatensätzen. Hier wird beispielsweise ersichtlich, wer den Wert
eines Felds geändert hat, wann die Änderung vorgenommen wurde und wie der Wert
des Felds vor und nach der Bearbeitung lautete. Verlaufsdaten stehen für Berichte zur
Verfügung; Benutzer können folglich ganz einfach Aktivierungsprotokollberichte erstellen,
wenn diese Funktion aktiviert ist. (Informationen dazu, wie Sie auswählen können,
welche Daten verfolgt werden sollen, finden Sie unter "Verfolgen des Feldverlaufs für
benutzerdefinierte Objekte" in der Salesforce-Hilfe.)
Im Allgemeinen sollten Sie diese Optionen auswählen, wenn die Chance besteht, dass sie für
das von Ihnen erstellte benutzerdefinierte Objekt von Nutzen sein könnten.
11. Wählen Sie im Bereich "Bereitstellungsstatus" die Option Bereitgestellt aus.
Anmerkung: Bei diesem Schritt wird davon ausgegangen, dass Sie in einer
Entwicklungsumgebung arbeiten. Wenn dies nicht der Fall ist und Sie nicht
möchten, dass die Benutzer das Objekt "Position" (Stelle) sehen, nachdem
Sie auf Speichern geklickt haben, wählen Sie die Option In Entwicklung.
Wenn Sie den Status auf In Entwicklung setzen, werden
Stellendatensätze vor allen Benutzern verborgen, die nicht über die
Benutzerberechtigung "Anwendung anpassen" verfügen (also praktisch alle
Benutzer, die nicht Systemadministratoren sind).
12. Aktivieren Sie im Bereich "Optionen zum Erstellen von Objekten" die
Kontrollkästchen Themenliste "Notizen & Anhänge" zum
Standard-Seitenlayout hinzufügen und Nach dem Speichern dieses
benutzerdefinierten Objekts den Assistenten für neue
benutzerdefinierte Registerkarte starten.
Diese beiden Optionen stehen nur zur Verfügung, wenn Sie ein neues benutzerdefiniertes
Objekt erstellen. Wenn Sie sich später entschließen, Details zu Ihrem benutzerdefinierten
Objekt zu bearbeiten, werden diese Optionen nicht mehr angezeigt. Doch was bewirken sie?
51
Kapitel 4: Erstellen einer einfachen Anwendung
•
•
Wenn Sie Notizen und Anhänge für ein Objekt aktivieren, können Sie externe Dokumente
zu Stellendatensätzen hinzufügen, in etwa so, wie Sie eine PDF oder ein Foto als Anhang
zu einer E-Mail hinzufügen können. Diese Funktion ist sehr praktisch. Aktivieren Sie sie
also.
"Assistenten für neue benutzerdefinierte Registerkarte starten" ist recht selbsterklärend:
Es handelt sich um eine Verknüpfung, mit der nach dem Speichern des Stellenobjekts der
Registerkartenassistent gestartet werden kann. Dies erspart uns einige Mausklicks, wenn
wir wissen, dass wir eine Registerkarte benötigen.
Alles festgelegt? Dann lassen Sie uns fortfahren und nun unser benutzerdefiniertes Objekt
"Position" (Stelle) speichern.
Das ist schon alles. Wie versprochen wird anstatt der Liste der benutzerdefinierten Objekte,
die wir normalerweise sehen würden, der Assistent für neue Stellenregisterkarten angezeigt.
Nehmen wir uns einen Augenblick Zeit, um darüber zu sprechen, warum wir überhaupt eine
Registerkarte für unser Stellenobjekt definieren sollten. Was bringen Registerkarten überhaupt?
Einführung zu Registerkarten
Wenn Sie mit der Force.com-Plattform vertraut sind, wissen Sie, dass Sie in einer Anwendung
navigieren, indem Sie auf Registerkarten klicken. Alle Registerkarten dienen als Ausgangspunkt
für Anzeige, Bearbeitung und Eingabe von Informationen für ein bestimmtes Objekt. Wenn
Sie oben auf der Seite auf eine Registerkarte klicken, wird die zugehörige Startseite für das
betreffende Objekt angezeigt. Wenn Sie beispielsweise auf die Registerkarte "Accounts" klicken,
wird die Registerkartenstartseite "Accounts" angezeigt. Von hier aus können Sie auf alle
Accountdatensätze zugreifen, die in Ihrer Organisation definiert sind. Klicken Sie auf den
Namen eines bestimmten Accountdatensatzes, um alle Informationen zu dem Datensatz auf
der zugehörigen Detailseite anzuzeigen.
Eine besonders leistungsstarkes Merkmal der Anwendungserstellung mit der Plattform ist,
dass Sie benutzerdefinierte Registerkarten erstellen können, die genau so aussehen und
funktionieren wie Registerkarten für bereits vorhandene Standardobjekte. Aus der Sicht Ihrer
Endbenutzer fügen sich Ihre Anpassungen absolut nahtlos ein und Sie als Entwickler müssen
nichts dafür tun, damit es auf diese Weise funktioniert! Mal sehen, wie schnell wir eine
Registerkarte für unser Objekt "Position" (Stelle) erstellen können.
52
Kapitel 4: Erstellen einer einfachen Anwendung
Probieren Sie es aus: Definieren der Registerkarte
"Positions" (Stellen)
Zum Erstellen einer Registerkarte für das Objekt "Position" (Stelle) verwenden wir den
Assistenten für neue benutzerdefinierte Registerkarten. Dieser wurde gestartet, nachdem wir
nach dem Definieren des Objekts auf Speichern geklickt hatten. Sollten Sie vergessen haben,
die Option Nach dem Speichern dieses benutzerdefinierten Objekts den
Assistenten für neue benutzerdefinierte Registerkarte starten
auszuwählen, oder wenn Sie Ihre zuvor gespeicherte Arbeit fortsetzen möchten, keine Sorge!
Sie können den Assistenten auch auf eine andere Weise starten.
1. Klicken Sie unter "Setup" auf Erstellen > Registerkarten.
2. Klicken Sie im Bereich "Registerkarten für benutzerdefiniertes Objekt" auf Neu.
Ganz einfach. Jetzt, da wir alle die gleiche Seite aufgerufen haben, wollen wir mit der Arbeit
im Assistenten beginnen.
3. Wählen Sie in der Dropdownliste Objekt den Eintrag "Position" (Stelle) aus.
Wenn Sie den Assistenten direkt nach dem Definieren des benutzerdefinierten Objekts gestartet
haben, wurde das Objekt "Position" (Stelle) bereits automatisch ausgewählt.
4. Klicken Sie auf das
Registerkartenstil, um die Auswahlliste für den
Registerkartenstil anzuzeigen, wie im folgenden Screenshot zu sehen.
Jedes als Registerkarte angezeigte Objekt muss über ein eindeutiges Farbschema und ein
eindeutiges Symbol verfügen. Mit diesem Farbschema wird das Objekt nicht nur auf der
entsprechenden Registerkarte, sondern auch an anderen Stellen auf der Benutzeroberfläche
identifiziert.
53
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung15: Setup-Seite "Registerkarte für benutzerdefiniertes Objekt" und
"Auswahlliste für Registerkartenstil"
Unter "Auswahlliste für Registerkartenstil" können Sie entweder eine vordefinierte Farbe und
ein vordefiniertes Symbol auswählen oder selbst welche erstellen. Um alles einfach zu halten,
wählen wir einen bereits vorhandenen Stil aus.
5. Klicken Sie auf den Link Stile ausblenden, die auf anderen Registerkarten
verwendet werden, um sicherzustellen, dass ein eindeutiger Stil verwendet wird.
6. Klicken Sie auf ein beliebiges Farbfeld, um ein Farbschema und ein Symbol
auszuwählen.
Belassen Sie die Einstellung für die Dropdownliste Benutzerdefinierter Link für
Vorschaltseite bei --Keine--. Im Abschnitt Jenseits der
Point-and-Click-Anwendungsentwicklung auf Seite 393 wird das Thema benutzerdefinierte
Links genauer behandelt.
7. Geben Sie in das Feld Beschreibung folgenden Text ein: A tab and color
scheme for the Position custom object. (Ein Schema für
Registerkarten und Farben für das benutzerdefinierte Objekt "Position" (Stelle).)
8. Klicken Sie auf Weiter.
54
Kapitel 4: Erstellen einer einfachen Anwendung
9. Klicken Sie erneut auf Weiter, um die standardmäßige Sichtbarkeit für
Benutzerprofile zu übernehmen.
So, wie wir den Zugriff auf unsere Personalbeschaffungsanwendung durch die Auswahl von
Benutzerprofilen im Assistenten für neue benutzerdefinierte Anwendungen gesteuert haben,
können wir nun auch hier den Zugriff auf die Registerkarte "Positions" (Stellen) durch die
Auswahl von Benutzerprofilen steuern. Im Abschnitt Einrichten von Sicherheit und Freigabe
für Daten auf Seite 175 werden Benutzerprofile und ihre Auswirkungen genauer behandelt.
Im Moment sollten Sie sich einfach merken, dass die Registerkarte durch Auswahl der
Standardeinstellungen für alle Benutzer sichtbar ist.
10. Deaktivieren Sie alle Kontrollkästchen unter Registerkarte hinzufügen mit
Ausnahme des Kontrollkästchens für unsere Personalbeschaffungsanwendung.
Mit diesem Schritt erteilen wir nur Personen Zugriff auf die Registerkarte "Positions" (Stellen),
die auch über Zugriff auf unsere Personalbeschaffungsanwendung verfügen. Mitarbeiter, die
sich nicht für die Personalbeschaffung interessieren, müssen diese Registerkarte wahrscheinlich
nicht anzeigen können.
11. Aktivieren Sie das Kontrollkästchen Fügen Sie die Registerkarte den
bestehenden Anpassungen der Benutzer hinzu.
Wenn Sie diese Option nicht auswählen, wird Benutzern, die die Anzeige ihrer Registerkarten
personalisiert haben, nicht direkt die Registerkarte "Positions" (Stellen) angezeigt. Zudem
müssen Sie zuerst die vorhandene Registerkarte löschen und anschließend nach Aktivierung
dieser Option neu erstellen, wenn Sie bereits eine neue Registerkarte erstellt haben, ohne diese
Option zu aktivieren, und die Registerkarte automatisch an vorhandene Benutzer senden
möchten. Wie umständlich! Tun Sie sich selbst einen Gefallen und lassen Sie diese Option
immer aktiviert.
12. Klicken Sie auf Speichern.
Bei der Aktualisierung der Seite werden Sie feststellen, dass die Registerkarte "Positions"
(Stellen) automatisch oben auf der Seite neben der Registerkarte "Startseite" hinzugefügt
wurde.
Rekapitulation
Um wirklich würdigen zu können, was wir soeben mit einigen Mausklicks erstellt haben, sollten
wir uns unsere Arbeit ansehen.
1. Klicken Sie zunächst auf die Registerkarte "Positions" (Stellen), um die Startseite
dieser Registerkarte aufzurufen, wie im folgenden Screenshot zu sehen. Auch wenn
die Liste leer ist, da wir noch keine Datensätze erstellt haben, so können Sie doch
55
Kapitel 4: Erstellen einer einfachen Anwendung
einen Eindruck davon gewinnen, wie diese Seite zum Ausgangspunkt für das
Anzeigen, Erstellen, Bearbeiten und Löschen aller Stellen in unserer
Personalbeschaffungsanwendung dienen kann. Sie sieht genau so aus, wie die
Registerkarten-Startseite von Standardobjekten.
Abbildung16: Die Startseite der Registerkarte "Positions" (Stellen)
2. Betrachten Sie nun die Inhalte der Dropdownliste Neu erstellen... in der linken
Randleiste. Wie versprochen, wurde unser benutzerdefiniertes Objekt nahtlos in die
Plattform integriert, zusammen mit den anderen Standardobjekten wie "Ereignis"
und "Aufgabe". Endbenutzer brauchen nie zu erfahren, dass die Registerkarte
"Positions" (Stellen) mit einem benutzerdefinierten Objekt erstellt wurde, da sie
einfach neben den Standardobjekten angezeigt wird.
3. Wählen Sie "Position" (Stelle) in der Dropdownliste Neu erstellen... aus oder klicken
Sie auf der Startseite der Registerkarte "Positions" (Stellen) auf Neu. Und schon
haben wir die Bearbeitungsseite für die Stelle. Leider gibt es bei unserer Stelle noch
immer nicht viel Platz für Daten. Bislang haben wir lediglich ein Feld für Position
Title (Stellentitel) – den Datensatzkennzeichner – und Inhaber, ein Standardfeld,
das bei jedem Objekt angezeigt wird, um den Benutzer anzugeben, der das Objekt
erstellte.
4. Klicken Sie auf Abbrechen. Es hat nicht viel Sinn, einen Stellendatensatz zu erstellen,
der so gut wie keine interessanten Daten enthält. Wir brauchen mehr Felder! Und
genau darum kümmern wir uns als Nächstes. Zunächst jedoch kehren wir zu unserem
benutzerdefinierten Objekt "Position" (Stelle) zurück und verschaffen uns einen
Überblick darüber, welche weiteren Möglichkeiten uns die Detailseite für ein
benutzerdefiniertes Objekt im Setup-Bereich bietet.
5. Beachten Sie das Pfeilsymbol ( ) rechts auf der Seite. Klicken Sie darauf, um das
Force.com-Schnellzugriffsmenü zu öffnen. Beim Erstellen von Anwendungen
erleichtert das Schnellzugriffsmenü den Wechsel zwischen Objektdatensätzen und
Setup-Seiten. Dieses Menü wird auf den Listenseiten und der Datensatz-Detailseite
für jedes Objekt angezeigt. Sie können also problemlos zu den Setup-Seiten für ein
56
Kapitel 4: Erstellen einer einfachen Anwendung
Objekt und den zugehörigen Registerkarten, Feldern usw. springen. Sie erhalten in
Kürze die Gelegenheit, das Schnellzugriffsmenü auszuprobieren.
Abbildung17: Force.com-Schnellzugriffsmenü
Anmerkung: Sie können dieses Menü sehen, da Sie über die Berechtigung
"Anwendung anpassen" verfügen, mit der Sie Anwendungen, Objekte,
Registerkarten und Felder erstellen können. Für Benutzer, die keine
Anwendungen erstellen, wie diejenigen mit dem Profil "Standardbenutzer",
ist dieses Menü nicht sichtbar.
Setup-Detailseiten und Themenlisten
Aus der ersten Einführung zum Konzept der Objekte wissen Sie: “Unabhängig davon, ob es
sich um Standardobjekte oder benutzerdefinierte Objekte handelt – die Objekte der Plattform
Force.com stellen nicht nur eine Struktur zum Speichern von Daten bereit, sondern sie stellen
auch leistungsstarke Benutzeroberflächenelemente zur Verfügung, über die Benutzer mit den
Daten arbeiten können, wie beispielsweise Registerkarten, Layouts von Feldern auf einer Seite
und Listen mit verwandten Datensätzen. Wenn Sie genau aufgepasst haben, fragen Sie sich
möglicherweise, warum wir bei der Erstellung unseres Objekts "Position" (Stelle) keine Felder
(mit Ausnahme des Kennzeichnerfelds für den Stellentitel) oder Benutzeroberflächenelemente
(mit Ausnahme der Registerkarte "Positions" (Stellen)) definiert haben. Wenn Felder und
Benutzeroberflächenelemente ein wichtiger Bestandteil in der Definition von
benutzerdefinierten Objekten sind, wann werden sie definiert?
Dies liegt daran, dass auf der Force.com-Plattform ein Unterschied zwischen der ersten
Erstellung bestimmter Komponenten und den Details für diese Komponenten besteht. Anders
ausgedrückt: Die Informationen, die wir beim Definieren oder Bearbeiten eines
benutzerdefinierten Objekts angezeigt bekommen, unterscheiden sich von denen, die wir
57
Kapitel 4: Erstellen einer einfachen Anwendung
sehen, wenn wir ein bereits definiertes benutzerdefiniertes Objekt anzeigen. Kehren wir zurück
zur Listenseite "Benutzerdefinierte Objekte", um festzustellen, ob dieser Unterschied auf der
Benutzeroberfläche der Plattform wiedergegeben wird.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
Hier sind wir wieder auf der Listenseite des benutzerdefinierten Objekts. Wie Sie sehen,
können Sie in der Zeile für "Position" (Stelle) auf drei Links klicken.
Bearbeiten
Über diesen Link gelangen wir zurück zur Bearbeitungsseite für das benutzerdefinierte
Objekt, auf der wir ursprünglich unser Objekt "Position" (Stelle) definiert haben.
Löschen
Mit diesem Link wird das benutzerdefinierte Objekt einschließlich aller Datensätze,
Registerkarten, Berichte oder sonstigen Komponenten gelöscht, die dem Objekt
zugeordnet sind.
Position (Stelle)
Über diesen Link gelangen wir zur Detailseite für das benutzerdefinierte Objekt "Position"
(Stelle).
Abbildung18: Listenseite für das benutzerdefinierte Objekt: Links "Bearbeiten",
"Löschen" und "Detail"
Die Bearbeitungsseite kennen wir bereits von der Definition des Objekts "Position" (Stelle)
und wir möchten unser Objekt natürlich nicht löschen. Fahren wir mit dem Öffnen der
Detailseite fort, um festzustellen, welche Vorgänge wir hier ausführen können.
2. Klicken Sie auf Position (Stelle).
58
Kapitel 4: Erstellen einer einfachen Anwendung
Wie Sie nun sehen können, war die Bearbeitungsseite "Benutzerdefiniertes Objekt", auf der
wir bei der Definition des Objekts "Position" (Stelle) Eintragungen vorgenommen haben, nur
die Spitze des Eisbergs. Die oberen beiden Bereiche der Detailseite "Position" (Stelle) enthalten
alle Information, die wir ursprünglich eingegeben haben, und darüber hinaus einige
Standardfelder, die auf der Plattform für jedes Objekt eingefügt werden. Unterhalb dieser
Bereiche befinden sich mehrere Datengruppen, mit denen wir unser Objekt "Position" (Stelle)
weiter bearbeiten können.
Auf der Plattform Force.com werden diese Datengruppen als Themenlisten bezeichnet. Sie
tragen in hohem Maße zur Leistungsfähigkeit der Plattform bei. Eine Themenliste ist eine
Liste mit Datensätzen oder anderen Komponenten, die den angezeigten Daten zugeordnet
sind. Themenlisten werden sowohl in der Hauptanwendung als auch in den Setup-Bereichen
angezeigt und stellen eine Beziehung zwischen den in der Themenliste angezeigten Elementen
und dem im Detailbereich angezeigten Objekt oder Datensatz dar. Auf Beziehungen wird im
Abschnitt Erweitern der einfachen Anwendung durch Beziehungen auf Seite 117 genauer
eingegangen. Vorerst genügt es, wenn Sie sich merken, dass sich alle Informationen, die in
der Themenliste eines bestimmten Objekts angezeigt werden, direkt auf das Objekt beziehen.
Jetzt haben wir herausgefunden, wo wir mit der Anpassung des benutzerdefinierten Objekts
"Position" (Stelle) fortfahren können. Verwenden wir also die Themenlisten unter
"Benutzerdefinierte Felder & Beziehungen", um einige weitere Felder im Objekt "Position"
(Stelle) zu erstellen.
Abbildung19: Detailseite für das benutzerdefinierte Objekt "Position" (Stelle)
59
Kapitel 4: Erstellen einer einfachen Anwendung
Einführung zu Feldern
Nun sind wir bereit, dem benutzerdefinierten Objekt "Position" (Stelle) weitere Felder
hinzuzufügen. Zunächst soll jedoch kurz besprochen werden, was Felder sind und welche Rolle
sie auf der Force.com-Plattform spielen.
Wie im letzten Kapitel erläutert, ähnelt ein Feld einer Spalte in einer Datenbank. Die wichtigste
Eigenschaft eines Felds ist sein Datentyp. Einige Felder enthalten Textwerte, während andere
Währungen, Prozentsätze, Telefonnummern, E-Mail-Adressen oder Daten enthalten. Einige
Felder sehen aus wie Kontrollkästchen, wiederum andere sind Dropdownlisten oder
nachgeschlagene Datensätze, in denen der Benutzer eine Auswahl trifft.
Über den Datentyp eines Felds wird gesteuert, wie das Feld letztendlich auf der
Benutzeroberfläche angezeigt wird und wie die in das Feld eingegebenen Daten auf der
Plattform gespeichert werden. Damit Sie ein besseres Gefühl für die Darstellung von Feldern
erhalten, werfen wir einen kurzen Blick auf die endgültige Darstellung des Objekts "Position"
(Stelle) und auf die benutzerdefinierten Felder, die wir dafür erstellen werden:
60
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung20: Benutzerdefinierte Objektfelder für "Position" (Stelle)
Hier müssen zahlreiche Felder definiert werden. Einige davon sind recht komplex, andere
einfacher. Um alles einfach zu halten, erstellen wir schrittweise die einfachen Text-, Währungs-,
Kontrollkästchen- und Datumsfelder. Die komplexeren Felder mit Auswahllisten und
benutzerdefinierten Formeln betrachten wir später im Abschnitt Erweitern der einfachen
Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts auf Seite 71.
Probieren Sie es aus: Hinzufügen von Textfeldern
Zuerst definieren wir einige Textfelder. Wir haben bereits bei der Definition unseres
benutzerdefinierten Objekts "Position" (Stelle) ein einfaches Textfeld für Position Title
(Stellentitel) erstellt. Wenn wir unseren Screenshot betrachten, verbleiben ausschließlich
Textfelder unter der Überschrift "Beschreibung". Wir beginnen mit der Definition des Felds
Job Description (Tätigkeitsbeschreibung).
61
Kapitel 4: Erstellen einer einfachen Anwendung
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Immer wenn Sie ein benutzerdefiniertes Feld erstellen, wählen Sie zuerst auf der Seite für die
Auswahl des Feldtyps einen Datentyp aus.
Auf der Plattform können wir zwischen verschiedenen Arten von Textfeldern wählen.
•
•
•
•
•
In einfache Textfelder können Benutzer eine beliebige Kombination aus Buchstaben oder
Zahlen in einer Zeile mit bis zu 255 Zeichen eingeben.
Textbereichsfelder verfügen ebenfalls über eine Längenbeschränkung von 255 Zeichen, es
sind allerdings auch Wagenrückläufe zulässig, sodass der Text in separaten Zeilen formatiert
werden kann.
In lange Textfelder können sogar bis zu 32.768 Zeichen in einzelnen Zeilen eingegeben
werden.
In Rich-Text-Felder können Benutzer bis zu 32.768 Zeichen formatierten Text
einschließlich Bildern und Hyperlinks einfügen.
In verschlüsselte Textfelder können Benutzer eine beliebige Kombination aus Buchstaben
und Zahlen (bis zu 175 Zeichen) eingeben, die in verschlüsselter Form gespeichert wird.
Da Tätigkeitsbeschreibungen relativ lang sein können, wählen wir ein langes Textfeld aus.
4. Wählen Sie den Datentyp Textfeld (Lang) aus und klicken Sie auf Weiter.
Tipp: Überlegen Sie sich genau, welchen Datentyp Sie für die einzelnen
benutzerdefinierten Felder auswählen, da es schwierig und umständlich ist, den
Datentyp nachträglich zu ändern. Detaillierte Informationen hierzu finden Sie in der
Salesforce-Hilfe im Abschnitt "Hinweise zum Ändern benutzerdefinierter Feldtypen".
Auf der zweiten Seite im Assistenten für benutzerdefinierte Felder können wir Details zu
unserem langen Textfeld eingeben. Die in diesem Schritt angezeigten Felder variieren je nach
Datentyp, den wir auf der vorherigen Seite ausgewählt haben.
5. Geben Sie im Textfeld Feldbezeichnung Job Description
(Tätigkeitsbeschreibung) ein.
Wie auch bei den anderen Bezeichnungen, die wir auf der Plattform bisher kennen gelernt
haben, wird durch Feldbezeichnung der Text angegeben, der auf der Benutzeroberfläche
dargestellt wird. Beachten Sie Folgendes: Wenn wir einen Wert für Feldbezeichnung
eingeben, wird für Feldname automatisch der gleiche Text eingefügt, wobei jedoch alle
Leerzeichen und Satzzeichen automatisch durch Unterstriche ersetzt werden. Der Wert für
Feldname ist ein eindeutiger Name, der in benutzerdefinierten Formeln oder bei der
Verwendung der API verwendet wird.
62
Kapitel 4: Erstellen einer einfachen Anwendung
Anmerkung: Auf der Plattform wird der Feldname mit dem angehängten Suffix
__c gespeichert (Beispiel: Job_Description__c). Damit wird angegeben, dass es
sich um ein benutzerdefiniertes Feld handelt.
Im Feld Länge können wir die Anzahl der maximal zulässigen Zeichen einschränken. Da uns
eine solche Einschränkung an dieser Stelle nichts nützt, belassen Sie diesen Wert bei 32.768.
6. Geben Sie in das Feld Länge 32.768 ein.
7. Geben Sie im Feld Anzahl sichtbarer Zeilen den Wert 3 ein.
In diesem Feld können wir angeben, wie groß unser Textfeld auf der Seite dargestellt werden
soll.
8. Geben Sie in den Feldern Beschreibung und Hilfetext Folgendes ein:
High-level description of the job and its duties (Allgemeine
Beschreibung der Stelle und der damit verbundenen Aufgaben).
Während die Beschreibung nur in den Details zu diesem benutzerdefinierten Feld im Setup
angezeigt wird, wird dieser Hilfetext auf Datensatz-Detailseiten und Bearbeitungsseiten
angezeigt, wenn die Benutzer den Mauszeiger über die Feldbezeichnung bewegen. Er soll die
Benutzer beim richtigen Ausfüllen des Felds unterstützen. Hilfetext für ein Feld kann optional
hinzugefügt werden, es ist aber auf jeden Fall empfehlenswert, wenn Sie Felder verwenden,
die für die Benutzer verwirrend sein könnten.
Für ein Textfeld gibt es keinen eindeutigen Standardwert, also lassen Sie den Eintrag für
Standardwert einfach leer.
9. Klicken Sie auf Weiter.
Auf der dritten Seite im Assistenten für benutzerdefinierte Felder können wir den Zugriff auf
dieses Feld für bestimmte Benutzerprofile einschränken. Näheres zu Profilen und zur Sicherheit
auf Feldebene erfahren wir im Abschnitt Sichern und Freigeben von Daten auf Seite 175, also
übernehmen Sie für den Moment einfach die Standardeinstellungen.
10. Klicken Sie auf Weiter.
Auf der letzten Seite im Assistenten für benutzerdefinierte Felder können wir unser Feld
automatisch auf dem Seitenlayout für die Stelle platzieren. Auf Seitenlayouts wird im nächsten
Kapitel genauer eingegangen, also übernehmen wir vorläufig wieder die Standardeinstellungen.
11. Klicken Sie auf Speichern & Neu.
Wenn Sie auf Speichern klicken, müssen Sie immer erneut zur Detailseite für das Objekt
"Position" (Stelle) zurückkehren. Wenn Sie stattdessen auf Speichern und Neu klicken, sparen
63
Kapitel 4: Erstellen einer einfachen Anwendung
Sie ein paar Klicks und wir können die anderen benötigten Textfelder fertig stellten. Hier
finden Sie alles, was Sie wissen müssen, um sie zu definieren.
Tabelle2: Felder mit langen Textbereichen für das Objekt "Position" (Stelle)
Datentyp
Feldbezeichnung Länge
Anzahl
Standardwert
sichtbarer Zeilen
Textbereich
(lang)
Responsibilities 32,768
(Zuständigkeiten)
3
Nicht angeben
Textbereich
(lang)
Skills Required
(Erforderliche
Fähigkeiten)
32,768
3
Nicht angeben
Textbereich
(lang)
Educational
32,768
Requirements
(Ausbildungsvoraussetzungen)
3
Nicht angeben
Nun haben wir bereits ein paar Textfelder kennen gelernt, also erstellen wir schnell noch ein
paar Felder mit anderen Datentypen. Sie werden feststellen, dass sie sich mit einigen wenigen
Ausnahmen untereinander sehr ähneln.
Probieren Sie es aus: Hinzufügen von
Währungsfelder
Damit wir über den Gehaltsbereich für eine bestimmte Stelle auf dem Laufenden bleiben,
müssen wir zwei Währungsfelder hinzufügen: Min Pay (Mindestgehalt) und Max Pay
(Höchstgehalt). Beachten Sie, dass der Datentyp dieser Felder, anders als bei anderen Feldern,
nicht mehr geändert werden kann, wenn er einmal definiert wurde.
Währungsfelder werden fast genauso definiert wie Textfelder. Es gibt nur ein paar geringfügige
Unterschiede.
•
•
64
Die Länge eines Währungsfelds entspricht der Anzahl der Ziffern links neben dem
Dezimaltrennzeichen. Über das zusätzliche Feld Dezimalstellen wird die Anzahl der
Ziffern bestimmt, die rechts vom Dezimaltrennzeichen angezeigt werden sollen.
Im Assistenten auf der Seite "Details" wird ein neues Kontrollkästchen namens
Erforderlich angezeigt. Wir können diese Option auswählen, wenn wir die Benutzer
dazu zwingen möchten, beim Erstellen einer neuen Stelle einen Wert für dieses Feld
einzugeben.
Kapitel 4: Erstellen einer einfachen Anwendung
Alles andere sollte Ihnen vertraut sein, also fahren Sie fort und definieren Sie folgende Felder
mithilfe des Assistenten für benutzerdefinierte Felder:
Tabelle3: Währungsfelder für das Objekt "Position" (Stelle)
Datentyp
Feldbezeichnung Länge
Dezimalstellen Erforderlich Standardwert
Währung
Min Pay
7
(Mindestgehalt)
2
Deaktiviert
lassen
Nicht
angeben
Währung
Max Pay
7
(Höchstgehalt)
2
Deaktiviert
lassen
Nicht
angeben
Probieren Sie es aus: Hinzufügen von
Kontrollkästchenfeldern
Hier einige einfache Aufgaben. Für das Objekt "Position" (Stelle) sind einige
Kontrollkästchenfelder erforderlich: eines, um festzulegen, ob für die Stelle Reisen erforderlich
sind, und vier weitere, um anzugeben, welche Programmiersprachen erforderlich sind. Diese
Werte sollten standardmäßig deaktiviert sein. (Beachten Sie, dass Sie den Feldtyp, ähnlich
wie bei Währungsfeldern, nicht mehr ändern können, wenn Sie ein Feld als Kontrollkästchen
festlegen.)
Definieren Sie folgende Felder mithilfe des Assistenten für benutzerdefinierte Felder.
Tabelle4: Kontrollkästchenfelder für das Objekt "Position" (Stelle)
Feldtyp
Feldbezeichnung
Standardwert
Kontrollkästchen
Travel Required (Reise
erforderlich)
Deaktiviert
Kontrollkästchen
Java
Deaktiviert
Kontrollkästchen
JavaScript
Deaktiviert
Kontrollkästchen
C#
Deaktiviert
Kontrollkästchen
Apex
Deaktiviert
65
Kapitel 4: Erstellen einer einfachen Anwendung
Probieren Sie es aus: Hinzufügen von
Datumsfeldern
Schließlich, bevor wir dieses Kapitel beenden, fügen wir unserer
Personalbeschaffungsanwendung drei Datumsfelder hinzu, mit denen das Datum für den
Beginn der Stellenausschreibung, das Datum für das Ende der Stellenausschreibung und das
Datum, an dem die Stelle neu besetzt werden sollte, festgelegt werden können. Datumsfelder
sind hervorragend, da sie über eine Popup-Kalender-Funktion verfügen, über die Benutzer
ein Datum ganz ohne Tippen auswählen können. Dies ist eine weitere integrierte Funktion,
die wir in unserer Anwendung ohne zusätzlichen Aufwand nutzen können.
Auch hier verwenden wir wieder den Assistenten für benutzerdefinierte Felder, um die folgenden
drei Felder zu definieren:
Tabelle5: Datumsfelder für das Objekt "Position" (Stelle)
Feldtyp
Feldbezeichnung
Erforderlich
Standardwert
Datum
Open Date (Offen
von)
Deaktiviert
Nicht angeben
Datum
Hire By (Einstellen
bis)
Deaktiviert
Nicht angeben
Datum
Close Date (Offen
bis)
Deaktiviert
Nicht angeben
Rekapitulation
Wir haben Text-, Währungs-, Kontrollkästchen- und Datumsfelder für unser Objekt "Position"
(Stelle) definiert. Werfen wir einen Blick darauf, indem wir die Registerkarte "Positions"
(Stellen) aufrufen und auf Neu klicken.
66
Kapitel 4: Erstellen einer einfachen Anwendung
Abbildung21: Felder für das Objekt "Position" (Stelle)
Sehen Sie sich all die Felder an, die wir gerade erstellt haben. Alle Felder wurden der Seite in
der Reihenfolge hinzugefügt, in der wir sie erstellt haben. und das Layout passen wir zu einem
späteren Zeitpunkt eventuell noch an, aber es funktioniert auf jeden Fall. War das nicht einfach?
Erstellen der mobilen Version unserer
einfachen Anwendung
Erinnern Sie sich noch an die bereits erwähnte mobile Anwendung? Salesforce1 stellt eine
Verbindung zu Ihrer Salesforce-Organisation her und stellt all Ihre Anpassungen und Daten
über eine speziell für Mobilgeräte geeignete Benutzeroberfläche zur Verfügung. Das bedeutet,
dass alle Vorgänge, die Sie auf der vollständigen Site ausführen, automatisch in dieser mobilen
Anwendung wiedergegeben werden, sodass Ihre Benutzer von überall aus Zugriff auf die
Informationen haben, die sie benötigen! Dies ist besonders für unsere
Personalbeschaffungsmitarbeiter hilfreich, die manchmal reisen müssen, um die am besten
geeigneten Bewerber für die offenen Stellen bei Universal Containers zu finden. Sehen wir
67
Kapitel 4: Erstellen einer einfachen Anwendung
uns also an, wie die Registerkarte "Positions" (Stellen) und ihre Felder in der mobilen Version
aussehen.
Bevor wir loslegen, vergewissern Sie sich, dass Sie Zugriff auf Salesforce1 haben. Der Zugriff
erfolgt entweder über eine herunterladbare Anwendung oder über die Anwendung für mobile
Browser.
•
•
Wenn Sie die herunterladbare Anwendung verwenden möchten, rufen Sie
www.salesforce.com/mobile auf und wählen Sie die richtige Plattform für Ihr Gerät
aus, um Salesforce1 direkt auf Ihr Gerät herunterzuladen.
Wenn Sie die Anwendung für mobile Browser verwenden möchten, navigieren Sie in Ihrem
mobilen Browser zu login.salesforce.com. Salesforce erkennt, dass Sie auf einem
mobilen Gerät arbeiten, und leitet Sie automatisch zur Salesforce1-Anwendung für mobile
Browser weiter.
1. Öffnen Sie Salesforce1 auf Ihrem mobilen Gerät.
2. Geben Sie Ihre Salesforce-Anmeldeinformationen ein und tippen Sie auf Bei
Salesforce anmelden.
Beachten Sie, dass die Registerkarte "Startseite" hier nicht vorhanden ist. Bei unserer aktuellen
Konfiguration wird den Benutzern zuerst der erste Eintrag im Navigationsmenü angezeigt.
Wie Sie auswählen können, welche Seite beim ersten Öffnen von Salesforce1 angezeigt wird,
wird später im Abschnitt Analysieren von Daten mit Berichten und Dashboards auf Seite 341
erklärt.
3. Tippen Sie auf
, um das Navigationsmenü zu öffnen.
Jetzt ist ein guter Zeitpunkt, über die Funktionsweise von Anwendungen und Registerkarten
in Salesforce1 zu sprechen. Wir haben bereits gelernt, dass jede Registerkarte durch einen
Menüeintrag im Abschnitt der zuletzt verwendeten Elemente im Salesforce1-Navigationsmenü
dargestellt wird. Salesforce-Anwendungen, wie beispielsweise die Vertriebsanwendung oder
benutzerdefinierte Anwendungen, werden in Salesforce1 nicht angezeigt, da die mobile
Anwendung ermittelt, welche Datensätze Sie am häufigsten aufrufen. Anstatt die Registerkarten,
die ein Benutzer häufig anzeigt, über das Force.com-Anwendungsmenü anzupassen, werden
die intelligenten Suchelemente im Abschnitt der zuletzt verwendeten Elemente entsprechend
dem Verlauf der zuletzt vom Benutzer verwendeten Objekte neu angeordnet. Da unsere
Organisation neu ist und wir noch keine Daten hinzugefügt haben, werden vorerst die
Standardobjekte angezeigt: "Accounts", "Kundenvorgänge", "Kontakte", "Dateien", "Leads"
und "Opportunities".
Unser benutzerdefiniertes Objekt wird in dieser Liste nicht angezeigt. Sehen wir uns also die
ganze Liste der intelligenten Suchelemente an.
4. Tippen Sie auf Mehr anzeigen.
68
Kapitel 4: Erstellen einer einfachen Anwendung
5. Tippen Sie auf Positions (Stellen).
6. Tippen Sie auf Neu, um festzustellen, wie unsere Felder in Salesforce1 aussehen.
Genau wie in der vollständigen Site sind alle von uns erstellten Felder hier vorhanden und wir
können ganz leicht eine neue Stelle über unser Mobilgerät erstellen. Das bedeutet, dass wir
keine doppelte Arbeit haben, um unseren Benutzern eine angenehme mobile Erfahrung bieten
zu können. Es funktioniert!
Abbildung22: Seite zum Erstellen einer Stelle in Salesforce1
Hier zeigen sich erneut die leistungsstarken Funktionen der Force.com-Plattform. Zuerst
haben wir eine neue Personalbeschaffungsanwendung mit einer einzigen Registerkarte
"Startseite" erstellt. Anschließend haben wir das Objekt "Position" (Stelle) erstellt und jetzt
haben wir einige Felder hinzugefügt. Und das alles mit nur einigen Klicks in weniger als 15
Minuten. Von Anfang bis Ende war unsere Anwendung voll funktionsfähig und wir mussten
keine Zeit für das Kompilieren oder die Fehlersuche in unserem "Code" opfern.
Im nächsten Kapitel optimieren wir unsere einfache Personalbeschaffungsanwendung noch
weiter, indem wir zusätzliche, komplexere Felder hinzufügen, Validierungsregeln zur
Bereinigung der Daten definieren, und die Felder anschließend im Seitenlayout verschieben,
damit die Benutzer die erforderlichen Informationen leichter finden können. Weiter geht's!
69
Kapitel 5
Erweitern der einfachen Anwendung mit
erweiterten Feldern, Datenvalidierung und
Seitenlayouts
Themen:
•
•
•
•
•
Hinzufügen von
erweiterten Feldern
Einführung in
Validierungsregeln
Überprüfen auf einem
Mobilgerät
Einführung in
Seitenlayouts
Einführung zu kompakten
Layouts
Im letzten Kapitel haben wir rasch eine funktionsfähige
Version unserer Personalbeschaffungsanwendung erstellt,
indem wir das benutzerdefinierte Objekt "Position" (Stelle),
die zugehörige Registerkarte und mehrere einfache Felder
definierten. Diese einfache Version unserer Anwendung
wies dasselbe Erscheinungsbild auf wie alle anderen Seiten
auf der Force.com-Plattform und wir konnten sie innerhalb
weniger Minuten zusammenstellen.
In diesem Kapitel erweitern wir die Registerkarte
"Positions" (Stellen): Zunächst definieren wir einige
erweiterte Felder, dann definieren wir ein paar
Validierungsregeln, um sicherzustellen, dass unsere Daten
sauber bleiben, und schließlich ändern wir die Position
unserer Felder innerhalb eines Seitenlayouts. Diese
Ergänzungen helfen uns dabei, die Detailseite unserer
Registerkarte "Positions" (Stellen), die bisher recht
kontrastarm und wenig elegant war, in eine leistungsstarke
Benutzeroberfläche zu verwandeln, die intuitiv verwendbar
ist. Legen wir also los.
71
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Hinzufügen von erweiterten Feldern
In diesem Abschnitt verwenden wir erneut den Assistenten für benutzerdefinierte Felder, um
Felder mit komplexeren Funktionen zu erstellen: Auswahllisten, abhängige Auswahllisten und
Felder, bei denen benutzerdefinierte Formeln genutzt werden. Wir sehen uns nun an, wie die
Benutzeroberfläche der Plattform uns durch die Einrichtung dieser komplizierteren Felder
führt.
Einführung zu Auswahllisten
Als wir die Vorschau betrachteten, in der zu sehen war, wie unsere Stellenseite letztlich aussehen
soll, gab es dort mehrere Felder, die mit Dropdownlisten angegeben waren. In der Terminologie
der Force.com-Plattform werden diese Felder als Auswahllisten bezeichnet und sie bestehen
aus mehreren vordefinierten Optionen, aus denen ein Benutzer auswählen kann.
Es gibt zwei Sorten von Auswahllisten: Standardauswahllisten, in denen der Benutzer nur eine
einzige Option auswählen kann, und Mehrfachauswahllisten, in denen der Benutzer mehrere
Optionen gleichzeitig auswählen kann. Für unser Stellenobjekt müssen wir
Standardauswahllisten für Standort, Status, Stellentyp, Funktionsbereich und Stellenebene
definieren.
Abbildung23: Auswahllistenfeld "Location" (Standort)
72
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Probieren Sie es aus: Hinzufügen von
Auswahllisten
Lassen Sie uns gemeinsam das Auswahllistenfeld Location (Standort) erstellen. Anschließend
geben wir Ihnen, wie im vorangegangenen Kapitel, die Informationen an die Hand, die Sie
benötigen, um die anderen Auswahllistenfelder alleine zu erstellen.
1.
2.
3.
4.
5.
6.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Auswahlliste aus und klicken Sie auf Weiter.
Geben Sie im Textfeld Feldbezeichnung den Wert Location (Standort) ein.
Geben Sie im großen Textbereichsfeld unmittelbar darunter die folgenden
Auswahllistenwerte ein, jeden davon in einer eigenen Zeile:
•
•
•
•
•
•
•
•
San Francisco, CA
Austin, TX
Boulder, CO
London, England
New York, NY
Mumbai, India
Sydney, Australia
Tokyo, Japan
7. Aktivieren Sie das Kontrollkästchen Ersten Wert als Standardwert
verwenden.
Mit dieser Option können wir das Feld mit einem Standardwert ausfüllen. Wenn Sie die
Option aktivieren, wird für das Feld standardmäßig der erste Wert verwendet, den Sie in der
Liste der möglichen Auswahllistenwerte angeben. Anderenfalls wird in das Feld bei allen neuen
Stellendatensätzen standardmäßig "Ohne" eingetragen. Da sich die meisten Stellen von
Universal Containers in der Unternehmenszentrale in San Francisco, CA, befinden, sollte dies
die Standardvorgabe sein.
8. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
9. Klicken Sie auf Speichern & Neu.
Ganz einfach! Geben Sie nun die restlichen Auswahllisten gemäß der unten stehenden Tabelle
an:
73
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Tabelle6: Auswahllistenwerte für "Status", "Type" (Typ)", "Functional Area"
(Funktionsbereich) und "Job Level" (Stellenebene)
Datentyp
Feldbezeichnung Auswahllistenwerte
Alphabetisch Ersten Wert
sortieren?
als
Standardwert
verwenden?
Auswahlliste
Status
Nein
Ja
Nein
Nein
Ja
Nein
New Position (Neue Stelle)
Pending Approval
(Genehmigung ausstehen)
Open - Approved (Offen Genehmigt)
Closed - Filled (Geschlossen
- Besetzt)
Closed - Not Approved
(Geschlossen - Nicht
genehmigt)
Closed - Canceled
(Geschlossen Zurückgezogen)
Auswahlliste
Type (Typ)
Full Time (Vollzeit)
Part Time (Teilzeit)
Internship (Praktikum)
Contractor (Leiharbeiter)
Auswahlliste
Functional
Finance (Finanzen)
Area
Human Resources
(Funktionsbereich)
(Personalbereich)
Information Technology
(Informationstechnologie)
Retail Operations
(Privatkundengeschäft)
74
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Datentyp
Feldbezeichnung Auswahllistenwerte
Alphabetisch Ersten Wert
sortieren?
als
Standardwert
verwenden?
Warehousing (Lagerhaltung)
Miscellaneous (Sonstiges)
Auswahlliste
Job Level
FN-100
(Stellenebene)
FN-200
Ja
Nein
FN-300
FN-400
HR-100
HR-200
HR-300
HR-400
IT-100
IT-200
IT-300
IT-400
RO-100
RO-200
RO-300
RO-400
WH-100
WH-200
WH-300
75
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Datentyp
Feldbezeichnung Auswahllistenwerte
Alphabetisch Ersten Wert
sortieren?
als
Standardwert
verwenden?
WH-400
MC-100
MC-200
MC-300
MC-400
Einführung zu Feldabhängigkeiten
Nachdem wir nun alle diese Auswahllisten erstellt haben, sollten Sie über Folgendes
nachdenken: Wie oft ist es schon vorgekommen, dass Sie auf eine Dropdownliste geklickt
haben und der Ansicht waren, dass viel zu viele Werte zur Auswahl standen? Nehmen wir
beispielsweise an, Sie hätten Uruguay aus einer Liste von Ländern ausgewählt und diese Liste
hätte alle Länder der Welt enthalten. Sie hätten bis fast ganz nach unten, bis zu den Ländern,
die mit "U" anfangen, scrollen müssen. Ganz schön lästig.
Glücklicherweise waren die Entwickler der Force.com-Plattform selbst einige Male mit einer
solchen Situation konfrontiert. Daher haben sie uns ein Tool an die Hand gegeben, mit dem
wir dieses Problem bei unseren eigenen Auswahllistenfeldern vermeiden können:
Feldabhängigkeiten.
Feldabhängigkeiten sind Filter, mit denen wir die Inhalte einer Auswahlliste auf der Grundlage
des Werts eines anderen Felds ändern können. Beispielsweise können wir, anstatt jeden Wert
für "Land" in einer großen Auswahlliste anzuzeigen, die Anzahl der angezeigten Werte
verringern, indem wir sie vom Wert eines anderen Felds, z. B. "Kontinent", abhängig machen.
Auf diese Weise können die Benutzer schneller und einfacher das richtige Land finden.
Auswahllistenfelder können entweder Steuerfelder oder aber abhängige Felder sein. Steuerfelder
steuern die verfügbaren Werte in einem oder mehreren zugehörigen abhängigen Feldern. In
abhängigen Feldern werden Werte basierend auf dem im zugehörigen Steuerfeld ausgewählten
Wert anzeigt. In unserem letzten Beispiel ist "Kontinent" das Steuerfeld und die Auswahlliste
"Land" das abhängige Feld.
76
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Probieren Sie es aus: Erstellen einer abhängigen
Auswahlliste
Wenn wir einen Blick auf die Auswahllisten werfen, die wir erstellt haben, wird schnell
offensichtlich, dass unsere Benutzer die Länge unserer Auswahlliste Job Level (Stellenebene)
entnervend finden könnten. Erhöhen wir die Zufriedenheit unserer Benutzer, indem wir Job
Level (Stellenebene) in ein abhängiges Feld der Auswahlliste Functional Area
(Funktionsbereich) verwandeln. Dadurch können die Benutzer jeweils nur die vier relevanten
Stellenebenen sehen, wenn eine Abteilung in der Auswahlliste Functional Area
(Funktionsbereich) ausgewählt wurde:
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf
Feldabhängigkeiten.
4. Klicken Sie auf Neu.
5. Wählen Sie in der Dropdownliste Steuerfeld den Eintrag "Functional Area"
(Funktionsbereich) aus.
6. Wählen Sie in der Dropdownliste Abhängiges Feld die Option "Job Level"
(Stellenebene) aus.
7. Klicken Sie auf Weiter.
Es wird eine Feldabhängigkeitsmatrix angezeigt, bei der alle Werte im Steuerfeld in der
Kopfzeile zu sehen sind und alle abhängigen Feldwerte in den zugehörigen Spalten aufgelistet
sind. Für jeden möglichen Wert des Steuerfelds müssen wir die Werte angeben, die in der
abhängigen Auswahlliste angezeigt werden sollen, wenn der betreffende Steuerwert ausgewählt
wird. In der Feldabhängigkeitsmatrix sind die abhängigen Feldwerte, die für einen bestimmten
Steuerfeldwert in der Auswahlliste enthalten sind, gelb hervorgehoben.
77
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung24: Feldabhängigkeitsmatrix
Um einen abhängigen Feldwert mit aufzunehmen, doppelklicken Sie einfach darauf. Um einen
abhängigen Wert aus der Liste auszuschließen, doppelklicken Sie erneut darauf.
Probieren wir dies aus, indem wir beispielsweise die Werte einschließen, die in der Auswahlliste
Job Level (Stellenebene) angezeigt werden sollen, wenn in der Auswahlliste Functional
Area (Funktionsbereich) "Finance" (Finanzen) ausgewählt wird:
8. Doppelklicken Sie in der Spalte "Finance "(Finanzen) auf "FN-100", "FN-200",
"FN-300" und "FN-400".
Diese Felder sollten nun in der Spalte Finance (Finanzen) gelb hinterlegt sein.
Anstatt auf jeden einzelnen Wert fürJob Level (Stellenebene) doppelzuklicken, können wir
auch mit UMSCHALT+Klicken einen Bereich von Werten oder mit STRG+Klicken mehrere
Werte gleichzeitig auswählen. Sobald die gewünschten Werte blau hervorgehoben sind, können
wir auf Werte einschließen klicken, um sie einzuschließen, bzw. auf Werte ausschließen,
um sie zu entfernen. Probieren wir es aus.
9. Klicken Sie in der Spalte "Human Resources" (Personalbereich) einfach auf "HR-100"
und klicken Sie dann bei gedrückter Umschalttaste auf "HR-400".
10. Klicken Sie auf Werte einschließen.
Nun sind für die Spalte "Finance" (Finanzen) und die Spalte "Human Resources"
(Personalbereich) Werte ausgewählt.
78
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
11. Heben Sie nun die entsprechenden Werte für alle restlichen Spalten hervor, wie in
der folgenden Tabelle beschrieben.
Tipp: Um alle Werte aufzurufen, die Sie in diesem Schritt bearbeiten müssen, müssen
Sie auf Zurück bzw. auf Weiter klicken, um zusätzliche Spalten anzuzeigen.
Tabelle7: Abhängigkeitsmatrix für die Felder "Functional Area" (Funktionsbereich) und
"Job Level" (Stellenebene)
Functional Area (Funktionsbereich)
Job Level (Stellenebene)
(Steuerndes Auswahllistenfeld)
(Abhängiges Auswahllistenfeld)
Finance (Finanzen)
FN-100
FN-200
FN-300
FN-400
Human Resources (Personalbereich)
HR-100
HR-200
HR-300
HR-400
Information Technology
(Informationstechnologie)
IT-100
IT-200
IT-300
IT-400
Retail Operations (Privatkundengeschäft)
RO-100
RO-200
RO-300
RO-400
79
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Functional Area (Funktionsbereich)
Job Level (Stellenebene)
(Steuerndes Auswahllistenfeld)
(Abhängiges Auswahllistenfeld)
Warehousing (Lagerhaltung)
WH-100
WH-200
WH-300
WH-400
Miscellaneous (Sonstiges)
MC-100
MC-200
MC-300
MC-400
12. Klicken Sie auf Vorschau, um die Ergebnisse in einem kleinen Popup-Fenster zu
testen.
13. Klicken Sie auf Speichern.
Rekapitulation
Nun, da wir alle diese Auswahllisten erstellt haben, sollten wir uns die Registerkarte "Positions"
(Stellen) noch einmal ansehen, um festzustellen, was wir bis jetzt haben.
1. Rufen Sie die Registerkarte "Positions" (Stellen) auf.
2. Klicken Sie auf Neu.
3. Wählen Sie in der Auswahlliste Functional Area (Funktionsbereich) den Eintrag
"Finance" (Finanzen) aus.
4. Öffnen Sie die Auswahlliste Job Level (Stellenebene).
Abbildung25: Abhängige Auswahllistenfelder
80
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Die Benutzer unserer Personalbeschaffungsanwendung werden sich freuen, dass sie sich nicht
mehr mit einer lästig langen Auswahlliste herumschlagen müssen. Fügen wir nun ein Feld
hinzu, das sogar noch leistungsfähiger und komplexer ist als eine abhängige Auswahlliste: ein
benutzerdefiniertes Formelfeld.
Einführung in benutzerdefinierte Formelfelder
Bisher hatten alle Felder, die wir definierten, eines gemeinsam: Es war immer ein Benutzer
erforderlich, um ihnen einen Wert zuzuweisen. Derartige Felder sind nützlich zum Speichern
und Abrufen von Daten, aber wäre es nicht günstig, wenn wir irgendwie ein "intelligentes"
Feld erstellen können? Beispielsweise wenn wir ein Feld definieren könnten, das die bereits
in das System eingegebenen Informationen untersuchen und uns dann etwas Neues dazu sagen
würde?
Glücklicherweise bieten uns benutzerdefinierte Formelfelder genau diese Möglichkeit. So, wie
Sie ein Tabellenkalkulationsprogramm, wie Microsoft Excel, verwenden können, um
Berechnungen und Metriken zu definieren, die speziell für Ihren Betrieb relevant sind, können
wir benutzerdefinierte Formelfelder verwenden, um Berechnungen und Metriken speziell für
unsere Personalbeschaffungsanwendung zu definieren.
Beispielsweise haben wir bereits für unser Objekt "Position" (Stelle) Felder für das Mindestund das Höchstgehalt erstellt. Wenn Universal Containers jährliche Boni vergibt, die auf dem
Gehalt beruhen, könnten wir ein benutzerdefiniertes Formelfeld erstellen, mit dem automatisch
der Durchschnittsbonus berechnet würde, den eine Person, die für die betreffende Stelle
eingestellt würde, erhalten könnte.
Wie würden wir diese Berechnung mit einer Tabellenkalkulation durchführen? Die Spalten
in unserem Tabellenblatt stünden für die Felder, die wir auf unserem Stellenobjekt definiert
hätten, und die einzelnen Zeilen des Tabellenblatts stünden jeweils für verschiedene
Stellendatensätze. Um eine Berechnung zu erstellen, würden wir eine Formel in einer neuen
Spalte eingeben, die den Durchschnitt aus den Werten von Min Pay (Mindestgehalt) und
Max Pay (Höchstgehalt) in einer einzelnen Zeile berechnet und ihn dann mit einem
Standard-Bonusprozentsatz multipliziert. Wir könnten dann den durchschnittlichen Bonus
für alle Stellendatensatz-Zeilen in unserem Tabellenblatt ermitteln.
Benutzerdefinierte Formeln funktionieren auf sehr ähnliche Weise. Stellen Sie sich eine
benutzerdefinierte Formel wie eine Tabellenkalkulationsformel vor, die andere Werte im selben
Datensatz referenzieren, Berechnungen dafür durchführen und ein Ergebnis zurückgeben
kann. Anstatt Zellenverweise zu verwenden, verwenden Sie jedoch Briefvorlagenfelder, die als
Platzhalter für Daten dienen, die durch Informationen aus Ihren Datensätzen, durch
Benutzerinformationen oder durch Firmeninformationen ersetzt werden. Und anstatt Felder,
Operatoren und Funktionen einzutippen, können Sie sie einfach durch Klicken auswählen.
81
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Dadurch können die Benutzer im Handumdrehen lernen, wie Formelfelder erstellt werden.
Und wie bei allen Plattform-Tools ist es dank des Bereitstellungsmodells über Cloud Computing
problemlos möglich, nach Belieben zu experimentieren. Sie können Formeln erstellen, die
Ergebnisse betrachten und dann die Formel immer wieder ändern – so oft Sie wollen. Ihre
zugrunde liegenden Daten sind nie betroffen.
Tipp: Weitere Anleitungen zum Erstellen benutzerdefinierter Formeln finden Sie unter
http://www.salesforce.com/us/developer/docs/usefulFormulaFields/.
Berechnung, wie lange eine Stelle offen ist bzw.
war
Befassen wir uns mit einem weiteren benutzerdefinierten Formelfeld, das wir für unser Objekt
"Position" (Stelle) erstellen könnten: Ein benutzerdefiniertes Formelfeld, das berechnet, wie
viele Tage eine Stelle offen ist bzw. war. Denken wir dazu zunächst darüber nach, welche
Logik wir zur Definition des Felds verwenden sollten. Anschließend können wir uns mit seiner
Erstellung in unserer Personalbeschaffungsanwendung befassen.
Denken wir darüber nach, welche Daten wir für diese Berechnung benötigen: Wir müssen das
aktuelle Datum wissen sowie das Datum, an dem die Stelle geschaffen wurde. Wenn wir diese
beiden Werte voneinander abziehen könnten, hätten wir die Anzahl an Tagen, die die Stelle
bereits offen ist. Glücklicherweise lassen sich diese beiden Werte ganz einfach beschaffen.
•
•
Zur Ermittlung des aktuellen Datums können wir die integrierte Funktion TODAY() der
Plattform verwenden. TODAY() gibt das heutige Datum zurück.
Für das Datum, seit dem die Stelle offen ist, können wir das Feld Open Date (Offen von)
verwenden, das wir im letzten Kapitel definiert haben.
Wenn Sie Felder in Formeln verwenden, können Sie nicht einfach anhand des Feldnamens
auf ein Feld verweisen. Stattdessen müssen Sie den Namen des zugehörigen Briefvorlagenfelds
verwenden, den so genannten API-Namen. Das Format des API-Namens ist typischerweise
der Name des Felds; allerdings sind die Leerzeichen durch Unterstriche ersetzt. Bei
benutzerdefinierten Feldern werden an den API-Namen zwei Unterstriche und der Buchstabe
"c" angehängt, wie beispielsweise hier: Open_Date__c. Durch diese Benennungskonvention
in der Plattform kann leichter zwischen Standardfeldern und benutzerdefinierten Feldern
unterschieden werden.
Tipp: Es ist jedoch nicht erforderlich, sich die API-Namen der Felder zu merken,
die in Formeln verwendet werden sollen. Wählen Sie die Felder einfach mit der
Feldauswahlfunktion im Formeleditor aus. Die Plattform fügt dann automatisch den
API-Namen ein. Wenn Sie einmal den API-Namen eines bestimmten Felds ermitteln
82
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
möchten und gerade nicht den Formeleditor verwenden, können Sie die Detailseite
des Felds anzeigen.
Nun, da unsere beiden Datumswerte vorliegen, möchten wir sie subtrahieren: TODAY() Open_Date__c. Auch wenn die Datumsangaben unterschiedliche Werte für Monat oder
Jahr aufweisen, ist die Plattform ausgefeilt genug, um diese Berechnung fehlerfrei im
Hintergrund durchzuführen. Wir müssen lediglich die Datumsangaben bereitstellen. Alles
andere erledigt die Plattform.
So weit, so gut. Aber es bleibt noch ein Problem: Was, wenn die Stelle nicht mehr offen ist?
Unsere Formel funktioniert nur, wenn wir davon ausgehen, dass die Stelle noch immer offen
ist. Auch wenn sie nicht mehr offen ist, zählt unsere Formel weiter. Jeden Tag, den sich der
Wert für TODAY() vom ursprünglichen Datum Open Date (Offen von) entfernt, erhöht sich
der Wert um 1. Falls möglich, möchten wir das Feld Close Date (Offen bis) anstelle von
TODAY() in der Formel verwenden, nachdem eine Stelle besetzt wurde. Wie können wir das
tun?
Auch hier können wir wieder die umfassende Bibliothek der Plattformfunktionen nutzen. Mit
der Funktion IF() können wir einen Test durchführen und dann verschiedene Werte
zurückgeben, je nachdem, ob das Ergebnis des Tests wahr oder falsch ist. Die Syntax der
Funktion IF() sieht wie folgt aus:
IF(logical_test,
value_if_true,
value_if_false)
Für den Bereich logical_test wird getestet, ob das Feld Close Date (Offen bis) einen
Wert aufweist. Falls ja, ist die Stelle offensichtlich nicht mehr offen. Wir überprüfen dies mit
einer dritten integrierten Funktion: ISBLANK(). ISBLANK() überprüft ein einzelnes Feld
und gibt "true" (wahr) zurück, wenn es keinen Wert enthält, und "false" (falsch), wenn ein
Wert vorhanden ist. Nun sieht unsere Formel also wie folgt aus:
IF( ISBLANK( Close_Date__c ) ,
value_if_true,
value_if_false)
Indem wir value_if_true und value_if_false durch die anderen Formeln ersetzten,
über die wir gesprochen haben, haben wir nun unsere gesamte Formel ermittelt.
IF( ISBLANK( Close_Date__c ) ,
TODAY() - Open_Date__c ,
Close_Date__c - Open_Date__c )
83
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Hervorragend! Unsere Formel berechnet die Anzahl an Tagen, die eine Stelle offen war,
unabhängig davon, ob sie derzeit offen ist oder nicht. Definieren wir nun ein Feld dafür in
unserem Stellenobjekt.
Probieren Sie es aus: Definieren des
benutzerdefinierten Formelfelds "Days Open"
(Tage offen)
Wir beginnen mit dem Erstellen des Formelfelds auf die gleiche Weise wie bei der Erstellung
unseres anderen benutzerdefinierten Felds.
1. Klicken Sie auf der Registerkarte "Positions" (Stellen) auf , um das
Schnellzugriffsmenü zu öffnen (sofern es nicht bereits offen ist).
2. Bewegen Sie den Mauszeiger über Felder anzeigen und klicken Sie auf Neu.
Abbildung26: Öffnen des Assistenten für neue benutzerdefinierte Felder aus
dem Schnellzugriffsmenü
3. Wählen Sie den Datentyp Formel und klicken Sie auf Weiter.
Schritt 2 des Assistenten für neue benutzerdefinierte Felder wird eingeblendet.
84
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung27: Assistent für benutzerdefinierte Formelfelder – Schritt 2
4. Geben Sie im Feld Feldbezeichnung den Text Days Open (Tage offen) ein.
5. Wählen Sie Zahl als Typ der Formelrückgabe aus.
Wir bilden hier zwar die Differenz zwischen Datumsfeldern, aber wir möchten letztlich einfach
einen regulären numerischen Wert erhalten.
6. Ändern Sie den Wert für Dezimalstellen auf 0 und klicken Sie auf Weiter.
Nun ist es an der Zeit, die Details unserer Formel einzugeben.
7. Klicken Sie auf die Registerkarte "Erweiterte Formel", wie im folgenden Screenshot
zu sehen.
85
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung28: Editor für benutzerdefinierte Formelfelder
Wir möchten die Registerkarte "Erweiterte Formel" verwenden, damit wir über die Liste
"Funktionen" auf der rechten Seite auf die integrierten Funktionen der Plattform zugreifen
können.
8. Doppelklicken Sie in der Liste Funktionen auf IF.
Unsere Formel sieht nun wie folgt aus:
IF(logical_test, value_if_true, value_if_false)
Definieren wir nun den logischen Test:
9. Löschen Sie logical_test aus der Formel, aber belassen Sie den Cursor an
dieser Stelle.
10. Doppelklicken Sie in der Liste Funktionen auf ISBLANK.
11. Löschen Sie expression aus der soeben eingefügten Funktion ISBLANK, aber
belassen Sie den Cursor an dieser Stelle.
12. Klicken Sie auf die Schaltfläche Feld einfügen. Zwei Spalten werden in einem
Overlay angezeigt.
13. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
14. Wählen Sie in der rechten Spalte die Option Close Date (Offen bis) aus.
15. Klicken Sie auf Einfügen.
86
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Haben Sie bemerkt, dass Sie nicht daran zu denken brauchten, den API-Namen des Felds
Close Date (Offen bis) zu verwenden? Das erledigte die Plattform für Sie: Der Wert wurde
automatisch eingefügt. Unsere Formel sieht nun wie folgt aus:
IF( ISBLANK( Close_Date__c ) , value_if_true, value_if_false)
Geben wir nun den Wert für den Fall an, dass unser logischer Test als wahr ausgewertet wird:
16. Löschen Sie value_if_true aus der Formel, aber belassen Sie den Cursor an
dieser Stelle.
17. Drücken Sie die Eingabetaste auf der Tastatur und fügen Sie 10 Leerzeichen ein.
Durch das Einfügen des Zeilenumbruchs und der Leerzeichen wird unsere Formel für andere
Personen leichter lesbar.
18. Doppelklicken Sie in der Liste Funktionen auf TODAY.
19. Klicken Sie auf die Schaltfläche Operator einfügen und wählen Sie "Subtrahieren"
aus.
20. Klicken Sie auf die Schaltfläche Feld einfügen.
21. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
22. Wählen Sie in der rechten Spalte die Option Open Date (Offen von) aus.
23. Klicken Sie auf Einfügen.
Wir kommen der Sache schon näher. Unsere Formel sieht nun wie folgt aus:
IF( ISBLANK( Close_Date__c ) ,
TODAY() - Open_Date__c , value_if_false)
Geben wir nun abschließend den Wert für den Fall an, dass unser logischer Test als falsch
ausgewertet wird:
24. Löschen Sie value_if_false aus der Formel, aber belassen Sie den Cursor an
dieser Stelle.
25. Drücken Sie die Eingabetaste auf der Tastatur und fügen Sie 10 Leerzeichen ein.
26. Klicken Sie auf die Schaltfläche Feld einfügen.
27. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
28. Wählen Sie in der rechten Spalte die Option Close Date (Offen bis) aus und
klicken Sie auf Einfügen.
29. Klicken Sie auf Operator einfügen und wählen Sie "Subtrahieren" aus.
30. Klicken Sie auf die Schaltfläche Feld einfügen.
31. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
32. Wählen Sie in der rechten Spalte die Option Open Date (Offen von) aus und
klicken Sie auf Einfügen.
87
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Unsere Formel stimmt nun mit dem Original überein:
IF( ISBLANK( Close_Date__c ) ,
TODAY() - Open_Date__c ,
Close_Date__c - Open_Date__c )
Nun, da wir diese Schritte des Verfahrens durchgegangen sind, sei darauf hingewiesen, dass
wir die Formel, die wir im letzten Abschnitt ermittelt haben, auch hätten eintippen können.
Mit dem Formeleditor ist es jedoch wesentlich einfacher, da Sie sich nicht die Funktionssyntax
oder die API-Namen der Felder und Objekte zu merken brauchen. Schließen wir nun also die
Erstellung dieses Felds ab:
33. Klicken Sie auf Syntax prüfen, um die Formel auf Fehler zu überprüfen.
34. Wählen Sie Leere Felder als leer behandeln aus und klicken Sie auf
Weiter.
35. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
36. Klicken Sie auf Speichern.
37. Blättern Sie auf der Seite der Stellenfelder nach unten zum Abschnitt
"Benutzerdefinierte Felder & Beziehungen" für Stellen.
38. Klicken Sie neben dem Feld "Days Open" (Tage offen) auf Bearbeiten.
39. Geben Sie im Textfeld Beschreibung folgenden Text ein:The number of
days a position has been (or was) open. (Anzahl der Tage, die eine
Stelle offen ist (oder war).)
40. Fügen Sie auf Wunsch eine optionale Beschreibung unter Hilfetext hinzu.
41. Klicken Sie auf Speichern.
Probieren Sie es aus: Zuweisen dynamischer
Standardwerte zu Feldern
Wir können auch benutzerdefinierte Formeln verwenden, um unseren Feldern dynamische
Standardwerte zuzuweisen. Während einige Felder wie das Kontrollkästchen Travel
Required (Reise erforderlich) oder die Auswahlliste Job Location (Arbeitsort) über
Standardwerte verfügen, die in jeder Situation gelten, gibt es andere Felder mit Standardwerten,
die nicht so einfach zu definieren sind. Bei Universal Containers beispielsweise wird von den
Personalbeschaffungsmitarbeitern generell erwartet, dass sie eine Stelle innerhalb von 90 Tagen,
nachdem sie frei wird, besetzen. Wir können zwar kein einzelnes Datum auswählen, das immer
90 Tage nach Freiwerden einer Stelle liegt. Wir können jedoch eine benutzerdefinierte Formel
definieren, die das Datum verwendet, an dem die Stelle geschaffen wird, und 90 Tage
hinzuzählt. Die Plattform ermöglicht es uns, diese Formel als Standardwert für das Felds Hire
By (Einstellen bis) festzulegen:
88
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf
Bearbeiten neben dem Feld Hire By (Einstellen bis).
4. Klicken Sie neben dem Textfeld Standardwert auf Formel-Editor anzeigen.
Kommt Ihnen das bekannt vor? Dieser Editor ähnelt dem Editor, den wir verwendet haben,
um unser benutzerdefiniertes Formelfeld Days Open (Tage offen) zu definieren.
5. Doppelklicken Sie in der Liste Funktionen auf TODAY.
6. Klicken Sie auf die Schaltfläche Operator einfügen und wählen Sie "Hinzufügen".
7. Geben Sie 90 ein.
Ihre Standardwertformel sollte wie folgt lauten:
TODAY() + 90
8. Klicken Sie auf Speichern.
So einfach ist das. Um nun die Felder auf unserer Registerkarte "Positions" (Stellen)
nachzubearbeiten, stellen wir nun den Standardwert des FeldsOpen Date (Offen von) auf
das Datum ein, an dem der Datensatz erstellt wurde. Führen Sie hierfür die oben beschriebenen
Schritte erneut durch, wobei Sie TODAY() als Standardwert verwenden.
Rekapitulation
Rufen wir noch einmal die Registerkarte "Positions" (Stellen) auf und sehen uns an, was wir
soeben gemacht haben.
1. Klicken Sie auf die Registerkarte "Positions" (Stellen).
2. Klicken Sie auf Neu.
Unser Formelfeld Days Open (Tage offen) wird nicht auf der Bearbeitungsseite für "Position"
(Stelle) angezeigt. Der Grund dafür ist, dass es sich um eine Formelfeld handelt und
Formelfelder keinerlei Benutzereingaben benötigen, um angezeigt zu werden. Wir können
jedoch sehen, dass unsere Felder Open Date (Offen von) und Hire By (Einstellen bis) bereits
Standardwerte aufweisen: Open Date (Offen von) sollte das heutige Datum aufweisen und
der wert von Hire By (Einstellen bis) sollte 90 Tage später liegen. Wir können diese Werte
ändern, wenn wir möchten, oder wir können sie einfach so lassen, wie sie sind.
Damit wir das Feld Days Open (Tage offen) sehen können, müssen wir unseren ersten
Stellendatensatz definieren. Tun wir dies nun.
89
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
3. Geben Sie beliebige Werte ein, die Sie für eine neue Stelle definieren möchten. Als
absolutes Minimum müssen Sie einen Wert für das Pflichtfeld Position Title
(Stellentitel) eingeben.
4. Klicken Sie auf Speichern.
Die neue Stelle wird nun auf einer eigenen Datensatz-Detailseite angezeigt. Unten auf der
Seite finden Sie unser Formelfeld Days Open (Tage offen), unmittelbar über dem Feld
Created by (Erstellt von). Dort sollte der Wert "0" angezeigt werden, da wir die Stelle ja
eben erst erstellt haben. Wenn Sie eine Änderung des Werts sehen möchten, bearbeiten Sie
den Datensatz und setzen Sie Open Date (Offen von) auf eine Woche früher. Praktisch,
nicht?
Einführung in Validierungsregeln
Nun, da wir alle Felder definiert haben, die wir auf unserem Objekt "Position" (Stelle)
wünschen, wollen wir versuchen, einige Regeln zu den Daten zu formulieren, die in diese
Felder eingegeben werden sollten. Die Personalbeschaffungsmitarbeiter und
Einstellungs-Manager bei Universal Containers sind intelligente Menschen, doch manchmal
macht jeder einen Fehler beim Ausfüllen von Formularen und eine gute Anwendung sollte
die offensichtlichsten davon erkennen können.
Ist es beispielsweise jemals sinnvoll, wenn der Wert des Felds Min Pay (Mindestgehalt) höher
ist als der Wert des Felds Max Pay (Höchstgehalt)? Oder sollte Close Date (Offen bis)
jemals leer sein, wenn das Feld Status auf "Closed - Filled" (Geschlossen - Besetzt) oder
"Closed - Not Approved" (Geschlossen - Nicht genehmigt) gesetzt ist? Eindeutig nicht. Wir
können derartige Fehler in unserer Anwendung mit einer weiteren integrierten Funktion der
Plattform abfangen: Validierungsregeln.
Mit Validierungsregeln wird sichergestellt, dass die Daten, die ein Benutzer in Ihre Anwendung
eingibt, den von Ihnen angegebenen Standards entsprechen. Ist dies nicht der Fall, verhindert
die Validierungsregel das Speichern des Datensatzes und dem Benutzer wird eine von Ihnen
festgelegte Fehlermeldung angezeigt, entweder neben dem problematischen Feld oder am
oberen Rand der Bearbeitungsseite. Erstellen wir nun eine Reihe von Validierungsregeln für
unsere Personalbeschaffungsanwendung.
Tipp: In der Salesforce-Hilfe finden Sie zahlreiche Beispiele für Validierungsregeln.
90
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Probieren Sie es aus: Definieren einer
Validierungsregel für Mindest- und Höchstgehalt
Erstellen wir für den Anfang eine einfache Validierungsregel: Min Pay (Mindestgehalt) sollte
nie größer sein als Max Pay (Höchstgehalt).
1. Klicken Sie auf der Registerkarte "Positions" (Stellen) auf , um das
Schnellzugriffsmenü zu öffnen (sofern es nicht bereits offen ist).
2. Bewegen Sie den Mauszeiger über Validierungsregeln anzeigen und klicken Sie
auf Neu.
Abbildung29: Bearbeitungsseite für Validierungsregeln
3. Geben Sie im Textfeld Regelname den Wert Min_Pay_Rule ein.
Die Namen von Validierungsregeln dürfen keine Leerzeichen enthalten. Aber wenn Sie das
vergessen, werden die Leerzeichen automatisch von der Plattform in Unterstriche (_)
umgewandelt.
4. Aktivieren Sie das Kontrollkästchen Aktiv.
91
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Dieses Kontrollkästchen gibt an, ob die Validierungsregel unmittelbar nach dem Speichern in
Kraft treten soll. Da diese Regel recht unkompliziert ist (und da wir sie später testen möchten!)
ist es sinnvoll, sie sofort zu aktivieren.
5. Geben Sie in das Textfeld Beschreibung den Text Min Pay should never
exceed Max Pay. (Mindestgehalt sollte niemals Höchstgehalt übersteigen.) ein.
Nun ist es an der Zeit, das Kernstück der Validierungsregel zu definieren: die Fehlerbedingung.
Wenn Sie ein Déjà-vu-Gefühl haben, wenn Sie sich den Bereich "Fehlerbedingungsformel"
der Seite ansehen, machen Sie sich keine Sorgen! Ebenso wie Formelfelder und
Standardfeldwerte können auch Validierungsregeln eine Reihe von integrierten Operatoren
und Funktionen nutzen, um eine Fehlerbedingung vom Typ "Wahr oder falsch" zu definieren,
die bestimmt, ob die Daten gültig sind. Wenn diese Bedingung als wahr ausgewertet wird,
wird eine Fehlermeldung angezeigt und der Datensatz kann nicht gespeichert werden.
Unsere Fehlerbedingung soll immer dann wahr sein, wenn Min Pay (Mindestgehalt) größer
ist als Max Pay (Höchstgehalt). Geben wir also das nun in unserem Formeleditor an:
6. Klicken Sie auf die Schaltfläche Feld einfügen. Wie beim Editor für Formelfelder
werden zwei Spalten in einem Overlay angezeigt.
7. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
8. Wählen Sie in der rechten Spalte die Option Min Pay (Mindestgehalt) aus.
9. Klicken Sie auf Einfügen.
10. Klicken Sie auf die Schaltfläche Operator einfügen und wählen Sie "Größer als"
aus.
11. Klicken Sie erneut auf die Schaltfläche Feld einfügen.
12. Wählen Sie in der linken Spalte die Option "Position" (Stelle) aus.
13. Wählen Sie in der rechten Spalte die Option Max Pay (Höchstgehalt) aus.
14. Klicken Sie auf Einfügen.
Ihre Fehlerbedingungsformel sollte nun wie folgt aussehen:
Min_Pay__c
>
Max_Pay__c
Das Einzige, was nun noch zu tun bleibt, ist die Angabe der Fehlermeldung, die angezeigt
werden soll, wenn die Fehlerbedingung als wahr ausgewertet wird.
15. Geben Sie im Textfeld Fehlermeldung folgenden Text ein: Min Pay cannot
exceed Max Pay. (Mindestgehalt darf Höchstgehalt nicht übersteigen.)
16. Wählen Sie neben dem Feld Fehlerposition das Optionsfeld Seitenanfang
aus.
92
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Tipp: Wenn eine Regel es erfordert, dass die Benutzer den Wert mehrerer Felder
überprüfen, ist es sinnvoller, die Fehlermeldung oben auf der Seite zu platzieren, da
Sie nicht wissen, welches Feld der Benutzer ändern muss.
17. Klicken Sie auf Speichern.
Ganz einfach! Nachdem wir uns nun mit einer einfachen Validierungsregel vertraut gemacht
haben, definieren wir eine, die ein wenig kniffliger ist.
Probieren Sie es aus: Definieren einer
Validierungsregel für "Close Date" (Offen bis)
mit unserer nächsten Validierungsregel möchten wir sicherstellen, dass unter Close Date
(Offen bis) ein Wert eingetragen ist, wenn das Feld Status auf "Closed - Filled" (Geschlossen
- Besetzt) oder "Closed - Not Approved" (Geschlossen - Nicht genehmigt) gesetzt ist.
Der schwierigste Teil bei dieser Validierungsregel besteht in der Definition der
Fehlerbedingungsformel. Beim Definieren einer derartigen Bedingung ist es manchmal am
einfachsten, sich zunächst die zugrunde liegende Logik vor Augen zu halten und diese Logik
anschließend in die Funktionen und Operatoren zu "übersetzen", die im Formeleditor zur
Verfügung stehen. In diesem Fall ist unsere Fehlerbedingung immer dann wahr, wenn Folgendes
gegeben ist:
Close Date is Not Specified
AND
(Status is "Closed - Filled" OR
"Closed - Not Approved")
Beginnen wir mit dem ersten Teil: "Close Date is Not Specified." (Wert für "Offen bis" ist
nicht angegeben.) Um dies so darzustellen, dass es der Fomeleditor verstehen kann, müssen
wir erneut die Funktion ISBLANK() verwenden. Sie erinnern sich vielleicht noch aus der
Definition des benutzerdefinierten Formelfelds Days Open (Tage offen) daran, dass
ISBLANK() ein einzelnes Feld überprüft und "true" (wahr) zurückgibt, wenn es keinen Wert
enthält, und "false" (falsch), wenn ein Wert vorhanden ist. Wenn wir nun also beachten, dass
wir in unserer Formel den internen Feldnamen des Felds Close Date (Offen bis) verwenden
müssen, dann lässt sich Close Date is Not Specified (Wert für "Offen bis" ist nicht
angegeben.) wie folgt ausdrücken:
ISBLANK( Close_Date__c )
93
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Überlegen wir nun, wie wir "Status is 'Closed - Filled'." (Status ist "Geschlossen - Besetzt")
ausdrücken können. Für Tests bei Auswahllistenwerten müssen wir eine andere Funktion
verwenden: ISPICKVAL(). ISPICKVAL() untersucht den Namen und den Wert eines
Auswahllistenfelds und gibt "true " (wahr) zurück, wenn dieser Wert ausgewählt wurde. "Status
is 'Closed - Filled'." (Status ist "Geschlossen - Besetzt") wird also wie folgt ausgedrückt:
ISPICKVAL( Status__c , "Closed - Filled")
Tipp: Bei der Arbeit mit Auswahllisten in Formeln können Sie die Auswahllisten
mit der Funktion ISPICKVAL() oder der Funktion TEXT() in Text konvertieren.
Um beispielsweise den Wert einer Auswahlliste mit der Funktion TEXT() zu
überprüfen, verwenden Sie TEXT(Status__c) = “Closed - Filled”.
Nun müssen wir lediglich diese Übersetzungen kombinieren, was wir mit einer Mischung der
Funktionen && und || tun können. Beide Funktionen werten eine unbegrenzte Anzahl von
Ausdrücken aus. Doch && gibt "true" (wahr) zurück, wenn alle Ausdrücke wahr sind, während
|| "true" (wahr) zurückgibt, wenn irgendeiner der Ausdrücke wahr ist. Beispiele:
exp1 && exp2 && exp3
gibt "true" (wahr) zurück, wenn die Ausdrücke exp1, exp2 und exp3 alle wahr sind. Dagegen
gibt
exp1 || exp2 || exp3
"true" (wahr) zurück, wenn mindestens einer der Ausdrücke exp1, exp2 und exp3 wahr ist.
Wenn wir diese Funktionen mit unseren anderen Ausdrucksübersetzungen kombinieren,
erhalten wir unsere vollständige Fehlerbedingungsformel:
ISBLANK(Close_Date__c) &&
(ISPICKVAL(Status__c , "Closed - Filled") ||
ISPICKVAL(Status__c , "Closed - Not Approved"))
Puh! Nun können wir rasch unsere zweite Validierungsregel mithilfe dieser Formel definieren:
1.
2.
3.
4.
5.
6.
94
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Validierungsregel" auf Neu.
Geben Sie im Textfeld Regelname den Wert Close_Date_Rule ein.
Aktivieren Sie das Kontrollkästchen Aktiv.
Geben Sie im Textfeld Beschreibung folgenden Text ein: Close Date must
be specified when Status is set to 'Closed - Filled' or
'Closed - Not Approved.' ("Close Date" (Offen bis) muss angegeben sein,
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
wenn "Status" auf "Closed - Filled" (Geschlossen - Besetzt) oder "Closed - Not
Approved" (Geschlossen - Nicht genehmigt) gesetzt ist.)
7. Geben Sie im Bereich "Fehlerbedingungsformel" folgende Formel ein:
ISBLANK(Close_Date__c) &&
(ISPICKVAL(Status__c , "Closed - Filled") ||
ISPICKVAL(Status__c , "Closed - Not Approved"))
8. Klicken Sie auf Check Syntax (Syntax prüfen), um sicherzustellen, dass das Format
der Formel korrekt ist.
9. Geben Sie im Textfeld Fehlermeldung folgenden Text ein: Close Date must
be specified when Status is set to 'Closed.' ("Close Date"
(Offen bis) muss angegeben sein, wenn "Status" auf "Closed" (Geschlossen) gesetzt
ist.)
10. Wählen Sie neben dem Feld Fehlerposition das Optionsfeld Feld aus und
wählen Sie dann in der Dropdownliste den Eintrag Close Date (Offen bis) aus.
11. Klicken Sie auf Speichern.
Rekapitulation
Rufen wir noch einmal die Registerkarte "Positions" (Stellen) auf, um die soeben erstellten
Validierungsregeln zu testen.
1. Klicken Sie auf die Registerkarte "Positions" (Stellen).
2. Klicken Sie auf Neu.
Versuchen wir zuerst, eine neue Stelle zu definieren, bei der der Wert für Min Pay
(Mindestgehalt) größer ist als der für Max Pay (Höchstgehalt).
3.
4.
5.
6.
Geben Sie einen beliebigen Wert für das Feld Position Title (Stellentitel) an.
Geben Sie im Feld Min Pay (Mindestgehalt) 80,000 (80.000) ein.
Geben Sie im Feld Max Pay (Höchstgehalt) 40,000 (40.000) ein.
Klicken Sie auf Speichern.
Haben Sie gesehen, was passiert ist? Ihre benutzerdefinierte Fehlermeldung wurde genau so
eingeblendet wie jede andere Fehlermeldung in der Anwendung.
95
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung30: Fehlermeldung aus einer Validierungsregel
Testen wir nun unsere andere Validierungsregel:
7. Geben Sie im Feld Min Pay (Mindestgehalt) 40,000 (40.000) ein.
8. Geben Sie im Feld Max Pay (Höchstgehalt) 80,000 (80.000) ein.
9. Wählen Sie in der Dropdownliste Status die Option "Closed - Not Approved"
(Geschlossen - Nicht genehmigt) aus.
10. Klicken Sie auf Speichern.
96
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Unsere zweite Validierungsregel wird ausgelöst, diesmal weil wir keinen Wert für Close
Date (Offen bis) angegeben haben. Nachdem wir einen Wert eingegeben haben, lässt sich
der Datensatz ganz normal speichern.
Überprüfen auf einem Mobilgerät
Bevor wir fortfahren, sehen wir uns an, wie die neuen Felder auf einem Mobilgerät dargestellt
werden.
1. Starten Sie Salesforce1 auf Ihrem Mobilgerät. Wenn Sie dazu aufgefordert werden,
melden Sie sich an.
2. Tippen Sie auf , um das Navigationsmenü zu öffnen, und tippen Se dann auf
Positions (Stellen). Wenn in der Elementliste "Positions" (Stellen) nicht angezeigt
wird, tippen Sie auf Mehr anzeigen.
3. Tippen Sie auf Neu, um einen Stellendatensatz zu erstellen.
Wie bei der Erstellung der Felder für das Objekt "Position" (Stelle) werden alle unsere
erweiterten Felder automatisch in Salesforce1 angezeigt. Überprüfen Sie, dass alle erweiterten
Felder ordnungsgemäß funktionieren.
Abbildung31: Abhängige Auswahllisten und Validierungsregeln in Salesforce1
97
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Alle unsere erweiterten Felder funktionieren ordnungsgemäß, wenn folgende Bedingungen
erfüllt sind:
•
•
•
•
•
•
Wir können nur Job Level (Stellenebene) aktualisieren, nachdem wir einen Wert für
Functional Area (Funktionsbereich) ausgewählt haben.
Das Formelfeld Days Open (Tage offen) wird nicht angezeigt.
Open Date (Offen von) wurde bereits mit dem heutigen Datum ausgefüllt.
Hire By (Einstellen bis) wurde bereits mit dem Datum 90 Tage nach dem heutigen
Datum ausgefüllt.
Der Wert für Min Pay (Mindestgehalt) einer Stelle darf nicht höher sein als deren Wert
für Max Pay (Höchstgehalt).
Der Status einer Stelle kann nicht "Closed - Filled" (Geschlossen - Besetzt) oder "Closed
- Not Approved" (Geschlossen - Nicht genehmigt) lauten, wenn Close Date (Offen bis)
leer ist.
Wir möchten außerdem überprüfen, ob das Feld Days Open (Tage offen) ordnungsgemäß
funktioniert, da wir jedoch eine Stelle erstellt haben, als wir unsere Felder auf der vollständigen
Site überprüft haben, können wir uns den betreffenden vorhandenen Datensatz ansehen.
4. Tippen Sie auf Abbrechen, um zur Liste der aktuellen Stellendatensätze
zurückzukehren.
5. Tippen Sie auf den Stellendatensatz, den wir gerade erstellt haben.
6. Blättern Sie nach unten, bis Days Open (Tage offen) angezeigt wird.
Wie auf der vollständigen Site wird im Feld Days Open (Tage offen) die Anzahl der Tage
angegeben, die seit Open Date (Offen von) verstrichen sind: 0.
Die Registerkarte "Positions" (Stellen) ist nun voll funktionsfähig, mit einigen
Validierungsregeln, die sicherstellen, dass die Benutzer bestimmte Fehler nicht machen können.
Aber befinden sich die Felder an der gewünschten Position? Sind die Felder, in die Werte
eingegeben werden müssen, als Pflichtfelder gekennzeichnet? Im nächsten Abschnitt nehmen
wir die Feinabstimmung für unser benutzerdefiniertes Objekt "Position" (Stelle) vor, indem
wir das zugehörige Seitenlayout bearbeiten.
Einführung in Seitenlayouts
Nachdem all diese Felder und Validierungsregeln definiert wurden, verfügen wir über ein voll
funktionsfähiges benutzerdefiniertes Objekt "Position" (Stelle). Das Erscheinungsbild lässt
allerdings noch zu wünschen übrig. Die gesamten langen Textbereiche werden oben angezeigt
und die Seite lässt sich in unserem Desktop-Browser nur schwer durchsuchen. Stellen Sie sich
nur vor, wie schwer die Suche auf einem Mobilgerät wäre! Verschieben wir also einige Dinge,
98
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
um die Seite benutzerfreundlicher zu machen. Zu diesem Zweck können wir das Seitenlayout
des Objekts "Position" (Stelle) anpassen.
Über das Seitenlayout wird festgelegt, wie die Felder und Themenlisten, die für den Benutzer
beim Anzeigen eines Datensatzes erkennbar sind, positioniert und organisiert werden. Mithilfe
von Seitenlayouts können wir auch die Sichtbarkeit und Bearbeitbarkeit der Felder in einem
Datensatz steuern. Wir können Felder als schreibgeschützt oder ausgeblendet festlegen und
zudem einstellen, bei welchen Feldern die Benutzer einen Wert eingeben müssen und bei
welchen nicht.
Seitenlayouts sind leistungsstarke Tools, um eine positive Benutzererfahrung zu schaffen, aber
wir dürfen keinesfalls eine wichtige Regel außer Acht lassen: Seitenlayouts sollten niemals
verwendet werden, um den Zugriff auf sensible Daten einzuschränken, die ein Benutzer nicht anzeigen
oder bearbeiten sollte. Auch wenn wir ein Feld in einem Seitenlayout ausblenden können, kann
der Benutzer nach wie vor über andere Teile der Anwendung, beispielsweise über Berichte
oder über die API, auf dieses Feld zugreifen. (Im Abschnitt Einrichten von Sicherheit und
Freigabe für Daten auf Seite 175 wird das Thema Sicherheit noch genauer und im Bezug auf
alle Teile der Anwendung behandelt.)
Sehen wir uns nun einmal an, ob wir die Felder in unserem Objekt "Position" (Stelle) so
organisieren können, dass die Benutzung erleichtert wird.
Der Seitenlayout-Editor
Die Force.com-Plattform bietet zwei Tools zum Ziehen und Ablegen zur Bearbeitung von
Seitenlayouts: den ursprünglichen Seitenlayout-Editor und den Editor für erweitertes
Seitenlayout.
Der Editor für erweitertes Seitenlayout bietet dieselben Funktionen wie der ursprüngliche
Editor, jedoch mit zusätzlichen Erweiterungen, wie einer intuitiven WYSIWYG-Oberfläche
und der Fähigkeit zur Anpassung der Abstände zwischen den Feldern im Layout. Da der
Editor für erweitertes Seitenlayout standardmäßig aktiviert ist, verwenden wir ihn zur
Bearbeitung der Seitenlayouts in diesem Buch.
Anmerkung: Der Editor für erweitertes Seitenlayout funktioniert bei einigen älteren
Browsern nicht. Wenn Sie keine neuere Browser-Version verwenden möchten, können
Sie jederzeit zum ursprünglichen Seitenlayout-Editor zurück wechseln, indem Sie
unter "Setup" auf Anpassen > Benutzeroberfläche klicken und die Auswahl von
Editor für erweitertes Seitenlayout aktivieren aufheben. Allerdings
stimmt bei Verwendung des ursprünglichen Seitenlayout-Editors die Anzeige auf
Ihrem Bildschirm nicht mit den in diesem Buch beschriebenen Vorgehensweisen
99
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
überein und Sie können die Abstände zwischen den Feldern in Ihrem Layout nicht
anpassen.
Verwenden wir nun den Seitenlayout-Editor zur Bearbeitung des Seitenlayouts für das Objekt
"Position" (Stelle):
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Position Layout"
(Stelle-Layout) auf Bearbeiten.
Willkommen beim Seitenlayout-Editor! Wie Sie sehen können, unterscheidet sich dieser
Editor von den anderen Editoren, die wir bereits in anderen Bereichen der Plattform verwendet
haben. Der Grund hierfür ist, dass wir eine Benutzeroberfläche entwerfen und bereits während
der Arbeit sehen müssen, wie unsere Seite aussehen wird. Bevor wir fortfahren, sollten wir uns
zunächst einen Überblick darüber verschaffen, wie diese Seite eingerichtet ist.
Abbildung32: Seitenlayout-Editor
100
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Der Seitenlayout-Editor besteht aus einer Palette im oberen Teil des Bildschirms und dem
Seitenlayout im unteren. Die Palette umfasst die Benutzeroberflächenelemente, die Sie zum
Seitenlayout hinzufügen können, darunter Felder, Schaltflächen, Links und Themenlisten.
Um eines dieser Benutzeroberflächenelemente zum Seitenlayout hinzuzufügen, wählen Sie
einfach in der linken Spalte der Palette die Kategorie aus, zu der das Element gehört, und
ziehen Sie das Element von der Palette in das Seitenlayout. Um ein Benutzeroberflächenelement
aus dem Seitenlayout zu entfernen, ziehen Sie das Element aus dem Seitenlayout auf die rechte
Seite der Palette oder bewegen Sie den Mauszeiger über das Element, das entfernt werden
soll, und klicken Sie auf . In einer Symbolleiste oberhalb der Palette stehen verschiedene
Funktionen zur Verfügung, beispielsweise zum Speichern und zum Anzeigen einer Vorschau
Ihrer Änderungen.
Jetzt wissen wir, worum es geht. Ordnen wir nun also die Felder so an, wie es für die Benutzer
günstig ist.
Probieren Sie es aus: Gruppieren von Feldern in
einen neuen Abschnitt
Beginnen wir mit der Änderung unseres Seitenlayouts, indem wir zunächst einen neuen
Abschnitt für Gehaltsinformationen definieren. In einem Seitenlayout ist ein Abschnitt einfach
ein Bereich, in dem wir ähnliche Felder unter einer passenden Überschrift gruppieren können.
Das macht es für unsere Benutzer einfach, Informationen für einen Datensatz schnell zu
ermitteln und einzugeben, insbesondere dann, wenn unser Objekt über eine große Anzahl an
Feldern verfügt:
1. Wählen Sie in der Palette die Kategorie "Felder" aus.
2. Ziehen Sie das Benutzeroberflächenelement "Abschnitt" von der Palette auf die
Stelle unmittelbar oberhalb des Abschnitts "Systeminformationen" im Seitenlayout.
Wenn Sie einen neuen Abschnitt auf das Seitenlayout ziehen, wird das Popup-Fenster
"Abschnitteigenschaften" angezeigt.
3. Geben Sie im Textfeld Abschnittsname den Wert Compensation (Vergütung)
ein.
Das Feld Abschnittsname legt fest, welcher Text als Überschrift für den Abschnitt angezeigt
wird.
4. Aktivieren Sie im Bereich "Anzeige Abschnittsüberschrift ein" sowohl Detailseite
als auch Seite bearbeiten.
101
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Wenn die Überschrift sowohl auf der Detail- als auch auf der Bearbeitungsseite angezeigt
wird, erkennt der Benutzer den Kontext der Informationen besser, unabhängig davon, ob er
die Stelle bearbeitet oder nur anzeigt.
5. Wählen Sie in der Dropdownliste Layout das zweispaltige Layout aus.
Bei Auswahl dieser Option können wir entscheiden, ob die Felder in unserem Abschnitt in
zwei Spalten oder in einer Spalte angezeigt werden sollen. Standardmäßig sind zwei Spalten
vorgesehen, was auch am häufigsten ausgewählt wird. Falls unser Abschnitt jedoch
Textbereichsfelder enthält, haben diese im einspaltigen Layout mehr Platz, sodass sie besser
angezeigt werden können.
6. Wählen Sie in der Dropdownliste Reihenfolge für Tabulatortaste die
Option "Links-Rechts" aus.
Diese Einstellung legt fest, in welche Richtung sich der Cursor eines Benutzers bewegt, wenn
er mithilfe der Tabulatortaste von Feld zu Feld navigiert.
7. Klicken Sie auf OK.
Wir haben nun einen neuen Bereich "Compensation" (Vergütung) direkt über dem Abschnitt
"Systeminformationen" erstellt! Fügen wir nun noch die Felder Min Pay (Mindestgehalt)
und Max Pay (Höchstsgehalt) hinzu:
8. Klicken Sie bei gedrückter Strg-Taste auf die beiden Felder Min Pay (Mindestgehalt)
undMax Pay (Höchstgehalt) im Bereich "Informationen" und ziehen Sie sie wie
dargestellt in den neuen Bereich "Compensation" (Vergütung).
Abbildung33: Hinzufügen von Feldern zum Bereich "Compensation" (Vergütung)
102
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Wenn Sie die Strg-Taste gedrückt halten, können Sie mehrere individuelle
Benutzeroberflächenelemente mit Ihrer Maus auswählen. Alternativ können Sie die
UMSCHALT-Taste drücken und eine Gruppe von Elementen auswählen.
Nun, da wir den Prozess zur Erstellung eines Abschnitts durchlaufen haben, erstellen wir noch
zwei weitere Abschnitte. Während dieses Vorgangs müssen Sie je nach Größe Ihres Bildschirms
möglicherweise einen Bildlauf nach oben oder nach unten durchführen, um das ganze Layout
anzuzeigen. Seien Sie versichert, dass sich die Palette, wenn Sie einen Bildlauf durchführen
müssen, mitbewegt, sodass sich Benutzeroberflächenelemente mühelos auch ganz unten im
Seitenlayout hinzufügen lassen.
9. Erstellen Sie einen neuen einspaltigen Beschreibungsabschnitt unter dem Abschnitt
"Compensation" (Vergütung) und ziehen Sie die Elemente Job Description
(Tätigkeitsbeschreibung), Responsibilities (Zuständigkeiten), Skills
Required (Erforderliche Fähigkeiten) und Educational Requirements
(Ausbildungsvoraussetzungen) hinein.
10. Erstellen Sie einen neuen zweispaltigen Abschnitt "Required Languages"
(Erforderliche Sprachen) unter dem Abschnitt Description (Beschreibung) und
ziehen Sie Apex, C#, Java und JavaScript hinein.
Während Ihrer Arbeit stellen Sie möglicherweise fest, dass die Felder, die Sie dem Seitenlayout
hinzufügen, in der Palette abgeblendet sind, das Benutzeroberflächenelement "Abschnitt" ist
jedoch nie abgeblendet. Der Grund hierfür ist, dass die Felder nur einmal auf jedem Seitenlayout
angezeigt werden können, das Benutzeroberflächenelement "Abschnitt" aber erneut verwendet
werden kann, um beliebig viele Abschnitte zu erstellen.
Tipp: Falls Sie bei der Bearbeitung des Seitenlayouts einen Fehler machen, können
Sie mit Strg+Z und Strg+Y Ihre soeben vorgenommen Schritte rückgängig machen
bzw. wiederholen. Die Werkzeugleiste enthält außerdem die Schaltflächen
Wiederholen und Rückgängig.
Während wir Felder umsortieren, sollten wir auch den Abschnitt "Informationen"
umorganisieren, um für eine bessere Lesbarkeit zu sorgen.
11. Ordnen Sie die erste Spalte des Abschnitts "Informationen" wie folgt an:
•
•
•
•
•
•
•
Position Title (Stellentitel)
Status
Type (Typ)
Functional Area (Funktionsbereich)
Job Level (Stellenebene)
Travel Required (Reise erforderlich)
Created By (Erstellt von)
103
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
12. Ordnen Sie die zweite Spalte des Abschnitts "Informationen" wie folgt an:
•
•
•
•
•
•
•
Owner (Inhaber)
Location (Standort)
Open Date (Offen von)
Hire By (Einstellen bis)
Close Date (Offen bis)
Days Open (Tage offen)
Last Modified By (Zuletzt geändert von)
Schon viel besser – unsere Felder sind geordnet und man findet die benötigten Informationen
mühelos.
Der Abschnitt "Informationen" sieht aber immer noch ein bisschen voll aus. Glücklicherweise
bietet der Layout-Editor eine Möglichkeit, Leerräume einzufügen, die die Felder innerhalb
des Abschnitts voneinander trennen und so die Lesbarkeit zusätzlich zu verbessern.
Probieren Sie es aus: Hinzufügen von
Leerräumen zwischen Feldern
Beim Entwerfen von Seitenlayouts sollen oft bestimmte Felder innerhalb eines Abschnitts
besonders hervorgehoben werden. Eine einfache und effektive Methode, um das zu erreichen,
besteht darin, Leerräume zwischen Feldern einzufügen. Wenn wir beispielsweise im Abschnitt
mit den Informationen in jeder Spalte einen Leerraum unterhalb der ersten Zeile einfügen,
wird das Auge des Benutzers auf die wichtigsten Informationen im Abschnitt gelenkt, nämlich
den Stellentitel und den Inhaber. Wir können auch einen Leerraum oberhalb der untersten
Zeile in jeder Spalte einfügen, um die Felder Created by (Erstellt von) und Last modified
by (Zuletzt geändert von) von den wichtigen Stelleninformationen zu trennen. Versuchen wir
es.
1. Wählen Sie die Kategorie "Felder" aus.
2. Ziehen Sie das Benutzeroberflächenelement "Leerstelle" von der Palette auf das
Seitenlayout direkt unterhalb des Felds Position Title (Stellentitel).
Abbildung34: Ziehen und Ablegen von Leerräumen in einem Seitenlayout
104
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Wie das Benutzeroberflächenelement "Abschnitt" wird auch das Benutzeroberflächenelement
"Leerstelle" in der Palette niemals abgeblendet, wenn Sie es auf das Seitenlayout ziehen, da
dieses Element beliebig oft wiederverwendet werden kann.
3. Wählen Sie in der Palette erneut das Benutzeroberflächenelement "Leerstelle" aus
und ziehen Sie es unterhalb des Felds Owner (Inhaber).
4. Fügen Sie zwei weitere Leerräume zum Seitenlayout hinzu, einen oberhalb des Felds
Created By (Erstellt von) und einen oberhalb des Felds Last Modified By
(Zuletzt geändert von).
Bevor wir fortfahren, sollten Sie folgendes beachten: Wenn Sie versehentlich das Seitenlayout
verlassen, ohne Ihre Arbeit zu speichern, gehen Ihre Änderungen verloren. Fordern wir also
das Schicksal nicht heraus, sondern speichern wir rasch die bisher durchgeführte Arbeit.
5. Klicken Sie in der Symbolleiste oberhalb der Palette auf Schnellspeicherung oder
drücken Sie STRG+S, wenn Sie lieber mit Tastenkombinationen arbeiten.
Mit der Schnellspeicherung können Sie Ihre Änderungen speichern und die Bearbeitung des
Seitenlayouts fortsetzen. Durch Klicken auf Speichern in der Symbolleiste wird Ihre Arbeit
ebenfalls gespeichert, Sie gelangen jedoch dadurch automatisch auf die Seite zurück, von der
aus Sie den Seitenlayout-Editor aufgerufen hatten. Wir müssen noch ein paar kleine Feinheiten
am Seitenlayout ändern und möchten den Seitenlayout-Editor daher noch nicht verlassen.
Probieren Sie es aus: Bearbeiten von
Feldeigenschaften
Wir haben soeben den Seitenlayout-Editor verwendet, um das Layout unserer Stellenseite auf
eine logische, leicht lesbare Weise einzurichten, der Seitenlayout-Editor bietet jedoch noch
weitere Möglichkeiten als lediglich die Gestaltung der Datendarstellung: Wir können damit
auch festlegen, welche Felder Pflichtfelder und welche Felder schreibgeschützt sein sollen:
•
•
Wenn ein Feld als Pflichtfeld festgelegt ist, können die Benutzer keine Stellendatensätze
erstellen, ohne für dieses Feld einen Wert anzugeben.
Wenn ein Feld schreibgeschützt ist, können Benutzer, die die Bearbeitungsseite für einen
Stellendatensatz anzeigen, den zugehörigen Wert nicht ändern.
Pflichtfelder sind durch ein rotes Sternchen (
durch ein Schloss-Symbol (
), gekennzeichnet, schreibgeschützte Felder
).
ACHTUNG: Wir können diese Änderungen zwar im Seitenlayout vornehmen,
vergessen Sie jedoch nicht unsere frühere Warnung! Seitenlayouts sollten niemals als
alleiniges Mittel verwendet werden, um den Zugriff auf sensible Daten einzuschränken,
105
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
die ein Benutzer nicht anzeigen oder bearbeiten sollte. Der Grund hierfür ist, dass
Seitenlayouts nur die Bearbeitungs- und Detailseiten eines Datensatzes steuern. Sie
steuern nicht den Zugriff auf die betreffenden Felder in andern Teilen der Plattform.
Bisher gibt es in unserer Anwendung keine Felder, die schreibgeschützt sein müssen. Aber
wir möchten sicherstellen, dass der Gehaltsbereich stets für jede Stelle angegeben wird. Daher
legen wir die Felder Min Pay (Mindestgehalt) und Max Pay (Höchstgehalt) als Pflichtfelder
fest. Wenn das erledigt ist, sind wir mit unserem Stellenobjekt fertig.
Um die Felder Min Pay (Mindestgehalt) und Max Pay (Höchstgehalt) als Pflichtfelder
festzulegen, müssen wir jeweils die Eigenschaften der Felder bearbeiten:
1. Doppelklicken Sie im Seitenlayout-Editor auf das Feld Min Pay (Mindestgehalt)
oder wählen Sie das Schraubenschlüsselsymbol ( ) neben dem Feldnamen aus.
In diesem Popup-Fenster können wir die Eigenschaften des Felds Min Pay (Mindestgehalt)
bearbeiten. Wir können das Feld entweder als schreibgeschützt oder als Pflichtfeld festlegen.
Wenn die Benutzer das Feld Min Pay (Mindestgehalt) überhaupt nicht sehen sollten, könnten
wir es einfach aus dem Layout auf die Palette ziehen. Im Moment möchten wir sicherstellen,
dass es sichtbar bleibt. Daher belassen wir es an seinem derzeitigen Ort.
2. Aktivieren Sie das Kontrollkästchen Erforderlich und klicken Sie auf OK.
3. Wiederholen Sie diese Schritte für das Feld Max Pay (Höchstgehalt).
4. Klicken Sie auf Speichern, um die Anpassung des Seitenlayouts abzuschließen.
Hurra! Wir sind mit dem Seitenlayout für unser Stellenobjekt fertig.
Rekapitulation
Herzlichen Glückwunsch! Wir haben soeben eine einfache Personalbeschaffungsanwendung
erstellt, mit der Details zu den offenen Stellen einer Organisation verfolgt werden. Sehen wir
uns nun unsere Arbeit an, indem wir zur Registerkarte "Positions" (Stellen) zurückkehren und
auf Neu klicken. Aufgrund der Änderungen, die wir an unserem Seitenlayout vorgenommen
haben, sollte unsere Bearbeitungsseite für das Stellenobjekt nun wie folgt aussehen:
106
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung35: Endgültige Version des Stellenlayouts
Bevor wir fortfahren, sehen wir uns die Detailseite "Position" (Stelle) noch einmal an. Dazu
müssen wir eine Stelle erstellen. Füllen Sie die erforderlichen Felder aus und klicken Sie auf
Speichern.
Wenn wir zum unteren Bereich der Detailseite "Position" (Stelle) blättern, sehen wir eine
Reihe von Themenlisten. Da wir die Themenlisten, die für Stellen angezeigt werden, nicht
angepasst haben, werden auf der Plattform die Standardwerte angezeigt: "Offene Aktivitäten",
"Aktivitätsverlauf" und "Notizen und Anhänge". Momentan sind in keiner der Listen Einträge
vorhanden. Um festzustellen, wie eines dieser Elemente aussehen würde, fügen wir eine Aufgabe
hinzu.
1. Klicken Sie in der Themenliste "Offene Aktivitäten" auf Neue Aufgabe.
Beachten Sie, dass einige Felder bereits einen Eintrag enthalten. Die Werte für die Person,
der die Aufgabe voraussichtlich zugewiesen werden sollte, bezüglich des Status und der
Dringlichkeit der Aufgabe wurden von der Plattform bereits eingetragen. Da wir die Aufgabe
107
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
über die Themenliste zu einer Stelle hinzugefügt haben, geht die Plattform richtig davon aus,
dass die Aufgabe dieser Stelle zugeordnet werden soll. Wir belassen die Einstellungen für diese
Felder vorerst bei den Standardwerten.
2. Geben Sie unter Thema Post position online (Stelle online ausschreiben)
ein.
3. Wählen Sie unter Fälligkeitsdatum das morgige Datum aus.
4. Klicken Sie auf Speichern.
Nachdem wir nun zur Detailseite für unsere Stelle zurückgekehrt sind, sehen wir, dass die
Themenliste "Offene Aktivitäten" die soeben erstellte Aufgabe enthält. Über diese Liste
könnten wir die zugeordnete Aufgabe aufrufen, um weitere Details dazu anzuzeigen,
Änderungen vorzunehmen oder sie als "Abgeschlossen" zu markieren.
Bereitstellen von Seitenlayouts für die mobile
Verwendung
Nachdem wir ein gut strukturiertes Seitenlayout erstellt haben und wissen, dass es auf der
vollständigen Salesforce-Site funktioniert, lassen Sie uns nun überprüfen, wie es auf unseren
Mobilgeräten dargestellt wird.
1. Starten Sie Salesforce1 auf Ihrem Mobilgerät und melden Sie sich an.
2. Tippen Sie im Navigationsmenü auf Mehr anzeigen > Positions (Stellen).
3. Tippen Sie auf Neu.
108
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung36: Bereich "Compensation" (Vergütung) und "Beschreibung" in Salesforce1
Wie beim Testen der erweiterten Felder weiter vorne in diesem Kapitel werden die Änderungen
zur Optimierung der Anordnung der Felder in Salesforce1 übernommen.
Sehen wir uns anhand der Stelle, die wir gerade auf der vollständigen Site erstellt haben, an,
wie gespeicherte Datensätze auf einem Mobilgerät dargestellt werden.
4. Tippen Sie auf Abbrechen.
5. Tippen Sie auf die Stelle, die wir gerade erstellt haben.
In Salesforce1 werden zwei Ansichten angezeigt, zwischen denen wir durch Streichen nach
links oder rechts wechseln können. Es gibt noch eine dritte Ansicht, diese wird jedoch erst
angezeigt, wenn wir die Feed-Verfolgung im Abschnitt Zusammenarbeit mit Chatter auf Seite
255 aktivieren – bleiben Sie also dran!
Einführung in die Datensatz-Detailseite
Unsere aktuelle Ansicht ist die Datensatz-Detailseite, die alle Informationen enthält, die im
Seitenlayout-Editor über einer Themenliste oder mobilen Karte angezeigt werden.
Glücklicherweise werden alle Felder, die wir hinzugefügt haben, unterstützt, denken Sie jedoch
daran, dass Salesforce1 keine benutzerdefinierten Rich-Text-Bereichsfelder unterstützt.
109
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung37: Datensatz-Detailseite für einen Stellendatensatz
Beyond the Basics
Da unser Seitenlayout nur eine Handvoll von Feldern enthält, sollte es für mobile Benutzer
problemlos dargestellt werden können. Berücksichtigen Sie später jedoch, dass Ihre
Benutzer über verschiedene Geräte auf diese Seitenlayouts zugreifen werden. Bei einer
großen Anzahl von Feldern, z. B. mehr als 100, wird es schwierig für Benutzer, die
erforderlichen Informationen einzugeben oder zu finden. Es ist am besten, entweder alle
Seitenlayouts für die mobile Verwendung zu optimieren oder Seitenlayouts speziell für
mobile Benutzer zu erstellen. Weitere bewährte Vorgehensweisen werden im Salesforce1
App Admin Guide beschrieben.
Einführung in die Seite mit den datensatzbezogenen Informationen
Streichen einmal nach links, um die zugehörigen Informationen des Datensatzes anzuzeigen.
110
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung38: Seite mit zugehörigen Informationen für einen Stellendatensatz
Im Gegensatz zur vollständigen Seite, auf der die Details jeder Themenliste angezeigt werden,
werden in Salesforce1 nur die Namen der Themenlisten angezeigt. Sie können auf jede beliebige
Themenliste tippen, um die zugehörigen Datensätze anzuzeigen. Da wir wissen, dass die
Themenliste "Offene Aktivitäten" über einen Eintrag verfügt – die Aufgabe, die wir gerade
erstellt haben –, lassen Sie uns diese Themenliste überprüfen.
Tippen Sie auf Offenen Aktivitäten, um die Details dieser Themenliste anzuzeigen. Auf der
Seite "Offene Aktivitäten" wird die Aufgabe angezeigt, die wir auf der vollständigen Site erstellt
haben. Um noch mehr Informationen über die Aufgabe anzuzeigen, können wir auf den Eintrag
tippen. Dadurch werden die Datensatzdetails der Aufgabe angezeigt.
Einführung in mobile Karten
Das ist noch nicht alles! Wir können zudem auf der Seite mit den datensatzbezogenen
Informationen mobile Karten hinzufügen. Mithilfe von mobilen Karten können Sie auf der
Informationsseite drei Typen von Elementen hinzufügen: Karten mit zugehörigen
Nachschlagevorgängen, Komponentenkarten und Karten mit Visualforce-Seiten.
Karten mit zugehörigen Nachschlagevorgängen
Karten mit zugehörigen Nachschlagevorgängen werden angezeigt, wenn Sie ein Feld
aus der Kategorie "Erweiterte Nachschlagevorgänge" im Abschnitt "Mobile Karten" des
111
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Editors für erweitertes Seitenlayout hinzufügen. Diese Felder verfügen alle über eine
Nachschlagebeziehung mit einem anderen Datensatz.
Komponentenkarten
Komponentenkarten werden angezeigt, wenn Sie ein Element aus der Kategorie
"Komponenten" im Abschnitt "Mobile Karten" des Editors für erweitertes Seitenlayout
hinzufügen.
Karten mit Visualforce-Seiten
Karten mit Visualforce-Seiten enthalten Visualforce-Seiten, die für
Salesforce-Mobilanwendungen aktiviert wurden. Wenn Sie sich mit Visualforce nicht
auskennen, machen Sie sich keine Sorgen. Wir werden das im Abschnitt Jenseits der
Point-and-Click-Anwendungsentwicklung auf Seite 393 behandeln.
Wir verfügen zwar über keine Visualforce-Seiten oder -Komponenten, die wir auf der Seite
mit den zugehörigen Informationen hinzufügen können, wir haben jedoch einige erweiterte
Nachschlagevorgänge. Lassen Sie uns diese jetzt hinzufügen.
1.
2.
3.
4.
Öffnen Sie auf der vollständigen Salesforce-Site das Seitenlayout für Stellen.
Wählen Sie in der Palette die Kategorie "Erweiterte Nachschlagevorgänge" aus.
Ziehen Sie Zuletzt geändert von in den Abschnitt "Mobile Karten".
Klicken Sie auf Speichern.
Abbildung39: Ein erweiterter Nachschlagevorgang im Abschnitt "Mobile Karten"
Wir müssen nur wissen, welcher Benutzer unseren Stellendatensatz zuletzt geändert hat, es
ist jedoch wichtig zu wissen, dass die mobilen Karten in der hier im Seitenlayout-Editor
festgelegten Reihenfolge angeordnet werden und dass die Themenlisten stets nach den mobilen
Karten angezeigt werden. Darüber hinaus werden mobile Karten nur in Salesforce1 angezeigt.
5. Öffnen Sie in Salesforce1 erneut unseren Stellendatensatz.
Die Karte mit den Nachschlagevorgängen, die wir hinzugefügt haben, wird jetzt am Anfang
der Seite mit den zugehörigen Informationen angezeigt und gibt den Benutzer an, der den
Datensatz zuletzt geändert hat.
112
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung40: Seite mit den zugehörigen Informationen mit erweitertem
Nachschlagevorgang
Es sieht so aus, als ob alles in Ordnung wäre! Mit nur wenigen Schritten im Setup haben wir
ein Objekt mit einer Registerkarte erstellt, benutzerdefinierte Felder hinzugefügt und diese in
einem Seitenlayout angeordnet. Wir haben die Erstellung unserer einfachen Anwendung
abgeschlossen und damit schon ein gutes Stück Arbeit für die komplexere
Personalbeschaffungsanwendung erledigt, die wir weiter vorne beschrieben haben.
Einführung zu kompakten Layouts
Jetzt wissen wir, wie Seitenlayouts letztendlich in Salesforce1 aussehen, und wollen uns eine
weitere Möglichkeit ansehen, um die Darstellung unserer Salesforce-Daten auf Mobilgeräten
anzupassen. Kompakte Layouts werden verwendet, um die wichtigsten Felder eines Datensatzes
auf einen Blick anzuzeigen. Mithilfe von kompakten Layouts können wir angeben, welche
Felder im Hervorhebungsbereich eines Datensatzes angezeigt werden sollen. Diese Layouts
wurden speziell für mobile Geräte mit Touchscreen entwickelt, auf denen der Platz begrenzt
ist. Es wurde darauf geachtet dass die Benutzer wichtige Informationen möglichst schnell
finden können.
113
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Wir können festlegen, wie die Felder in den Hervorhebungen angezeigt werden, indem wir
das kompakte Layout des betreffenden Objekts anpassen. Es ist jedoch nicht erforderlich, ein
benutzerdefiniertes kompaktes Layout zu erstellen. Wenn wir nicht selbst eines erstellen,
verwendet Salesforce1 ein schreibgeschütztes vordefiniertes kompaktes Standardlayout des
Systems. Bei benutzerdefinierten Objekten enthält das Systemstandardlayout den Namen des
Datensatzes. Im Falle des Objekts "Position" (Stelle) wird im kompakten Standardlayout des
Systems Position Title (Stellentitel) angezeigt.
Probieren Sie es aus: Erstellen eines kompakten Layouts
Stellen wir unseren mobilen Benutzern nun mehr Kontext in den Hervorhebungen zur
Verfügung.
1. Klicken Sie auf der vollständigen Salesforce-Site unter "Setup" auf Erstellen >
Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu.
4. Geben Sie für Bezeichnung Position (Stelle) ein. Drücken Sie die
TABULATORTASTE, um automatisch einen Eintrag in Name einzufügen.
Nun ist es an der Zeit, die Felder auszuwählen, die wir in das kompakte Layout einfügen
möchten. Wir können bis zu zehn Felder einfügen, nur vier von ihnen werden jedoch in den
Datensatzhervorhebungen auf einem mobilen Gerät angezeigt. Beachten Sie, dass die Liste
der verfügbaren Felder nicht genau mit der Liste der Felder übereinstimmt, die wir für das
Objekt "Position" (Stelle) erstellt haben. Hier werden nur Feldtypen angezeigt, die in kompakten
Layouts unterstützt werden. Die Feldtypen "Textbereich", "Langer Textbereich",
"Rich-Text-Bereich" und "Mehrfachauswahllisten" werden in kompakten Layouts nicht
unterstützt.
Ferner ist es wichtig, dass ein Benutzer, der für ein in das kompakte Layout eingefügtes Feld
nicht über die Feldebenensicherheit verfügt, den entsprechenden Feldwert im kompakten
Layout nicht angezeigt bekommt. Beispiel: Wenn wir Min Pay (Mindestgehalt) in das
kompakte Layout einfügen und ein Benutzer, der keinen Zugriff auf dieses Feld hat, einen
Stellendatensatz auf seinem Mobiltelefon aufruft, bleibt der Wert für Min Pay (Mindestgehalt)
leer.
114
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
Abbildung41: Bearbeitungsseite "Kompaktes Layout" für Stellen
5. Wählen Sie die folgenden Felder für das kompakte Layout aus und klicken Sie dann
auf Hinzufügen. Sie können die Felder entweder einzeln auswählen und hinzufügen
oder sie mit STRG + Klicken als Gruppe auswählen.
•
•
•
•
Hire By (Einstellen bis)
Job Level (Stellenebene)
Position Title (Stellentitel)
Status
6. Passen Sie die Liste über die Schaltflächen Nach oben bzw. Nach unten so an, dass
die Felder in folgender Reihenfolge angezeigt werden: Position Title
(Stellentitel), Status, Hire By (Einstellen bis), Job Level (Stellenebene).
7. Klicken Sie auf Speichern.
Probieren Sie es aus: Zuweisen des primären kompakten Layouts
Damit dieses kompakte Layout auf unseren mobilen Geräten angezeigt werden kann, müssen
wir es unseren Benutzern zuweisen. Im Gegensatz zu Seitenlayouts, bei denen Sie den einzelnen
Profilen verschiedene Layouts zuweisen können, wird allen Benutzern ein kompaktes Layout
zugeordnet. Weisen wir dieses neue kompakte Layout also nun zu, damit unseren Benutzern
mehr angezeigt wird als lediglich der Stellentitel.
1. Klicken Sie auf Zuordnungen für kompaktes Layout.
2. Wählen Sie in der Dropdownliste Primäres kompaktes Layout den Eintrag
"Position" (Stelle) aus.
3. Klicken Sie auf Speichern.
Jetzt probieren wir es auf unseren mobilen Geräten aus. Die gerade vorgenommenen
Änderungen sollten direkt in Salesforce1 zu sehen sein.
1. Starten Sie Salesforce1 und melden Sie sich an, sofern Sie dies noch nicht getan
haben.
115
Kapitel 5: Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und Seitenlayouts
2. Tippen Sie im Navigationsmenü auf Mehr anzeigen > Positions (Stellen).
3. Tippen Sie auf eine zuletzt verwendete Stelle, um diese zu öffnen.
Beyond the Basics
Wenn Sie über einem Objekt zugeordnete Datensatztypen verfügen, können Sie die
Zuweisung des primären kompakten Layouts überschreiben und verschiedenen
Datensatztypen bestimmte kompakte Layouts zuweisen. Wenn Sie keine
Datensatztyp-Überschreibungen festlegen, verwenden alle Datensatztypen standardmäßig
das primäre kompakte Layout des Objekts.
Weitere Informationen zu kompakten Layouts und Datensatztypen finden Sie in der
Salesforce-Hilfe unter "Zuweisen kompakter Layouts zu Datensatztypen".
Rekapitulation
In den Datensatzhervorhebungen werden jetzt also die Felder angezeigt, die wir in unserem
benutzerdefinierten kompakten Layout ausgewählt haben. Jetzt wird nicht mehr nur der
Stellentitel angezeigt, sondern auch dessen Status, der Zeitpunkt, bis zu dem die Stelle besetzt
werden muss, und um welche Art von Stelle es sich handelt.
Beachten Sie, dass Position Title (Stellentitel) gegenüber den anderen drei Einträgen
hervorgehoben ist. Dies ist das primäre Feld. Wenn Sie Ihre eigenen kompakten Layouts
erstellen, achten Sie darauf, dass das erste Feld in der Liste "Ausgewählte Felder" das primäre
Feld in den Hervorhebungen ist.
Abbildung42: Datensatz-Detailseite mit angepasstem kompaktem Layout
Im nächsten Kapitel wird alles noch interessanter. Wir fügen einige weitere benutzerdefinierte
Objekte hinzu, um den Überblick über Elemente wie Bewerber, Stellenbewerbungen und
Reviews zu behalten, und dann erweitern wir unsere Personalbeschaffungsanwendung noch
weiter, indem wir festlegen, in welchem Bezug die Objekte zueinander stehen. Und ehe Sie
sich versehen, haben wir eine extrem leistungsstarke Webanwendung erstellt, wobei wir alles
einfach nur mit einigen Klicks in der Plattform implementieren.
116
Kapitel 6
Erweitern der einfachen Anwendung durch
Beziehungen
Themen:
•
•
•
•
•
•
•
•
Einführung zu
Beziehungen
Einführung in
benutzerdefinierte
Beziehungsfelder
Hinzufügen von
Bewerbern
Verbinden von
"Candidates" (Bewerber)
und "Positions" (Stellen)
mithilfe von "Job
Applications"
(Stellenbewerbungen)
Einführung zu
Suchlayouts
Verwalten von
Review-Bewertungen
Erstellen einer
n:n-Beziehung
Zusammenführung
Wir haben inzwischen schon einiges erreicht: Wir haben
die Personalbeschaffungsanwendung erstellt und ein voll
funktionsfähiges benutzerdefiniertes Objekt für Stellen
mit einer Registerkarte und mehreren Feldtypen
eingerichtet. Das ist ein guter Anfang, es gibt jedoch noch
mehr zu tun.
Eine Personalbeschaffungsanwendung mit nur einem
einzigen Objekt ist wie eine Party mit nur einem einzigen
Gast – nicht wirklich interessant. Wir müssen noch mehr
"Leute" zu der Party einladen, indem wir benutzerdefinierte
Objekte erstellen, die für Bewerber, Stellenbewerbungen
und Reviews stehen, und, was noch wichtiger ist, wir
müssen Beziehungen zwischen ihnen erstellen. Wie auch
eine Party nicht besonders viel Spaß macht, wenn man
keinen der anderen Gäste kennt, ist auch eine Anwendung
nicht besonders brauchbar, wenn ihre Objekte keine
Verknüpfungen mit anderen Objekten in der Anwendung
aufweisen. Darum geht es in diesem Kapitel. Fangen wir
also an.
117
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Einführung zu Beziehungen
Was ist also eine Beziehung und warum spielen Beziehungen für unsere Anwendung eine
wichtige Rolle? Eine persönliche Beziehung ist eine Verbindung zwischen zwei Personen, an
der beide Seiten beteiligt sind. Genauso verhält es sich mit relationalen Daten: Eine Beziehung
ist eine zweiseitige Zuordnung zwischen zwei Objekten. Ohne Beziehungen könnten wir
beliebig viele benutzerdefinierte Objekte erstellen, es gäbe jedoch keine Möglichkeit, diese
miteinander zu verbinden.
Wenn wir beispielsweise ein Objekt namens "Position" (Stelle) und eines namens "Job
Application" (Stellenbewerbung) erstellen, könnten wir zahlreiche Informationen zu einer
bestimmten Stelle und unzählige Daten zu einem bestimmten Bewerber zusammentragen, der
sich für diese Stelle beworben hat. Wir hätten allerdings nicht die Möglichkeit, Informationen
zur Stellenbewerbung anzuzeigen, wenn wir den Stellendatensatz betrachten, und umgekehrt
könnten wir keine Informationen zur Stelle sehen, wenn wir den Stellenbewerbungsdatensatz
betrachten. Das ist nicht sinnvoll!
Mithilfe von Beziehungen können wir diese Verbindung erstellen und Daten zu anderen
verwandten Objektdatensätzen auf der Detailseite eines bestimmten Datensatzes anzeigen.
Nachdem wir beispielsweise eine Beziehung zwischen den eben erwähnten Objekten "Position"
(Stelle) und "Job Application" (Stellenbewerbung) definiert haben, kann unser Stellendatensatz
eine Themenliste mit allen Stellenbewerbungen der Bewerber enthalten, die sich für die
betreffende Stelle beworben haben. Genauso kann in einem Stellenbewerbungsdatensatz ein
Link zu den Stellen eingefügt werden, für die sich der Bewerber bewirbt. Wir können es uns
in etwa so vorstellen, dass plötzlich die "Leute" auf unserer "Party" einige andere Gäste kennen.
Auch unsere Anwendung ist jetzt schon viel interessanter.
118
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung43: Beziehungen ermöglichen das Anzeigen von Informationen zu
Datensätzen anderer Objekte auf einer Datensatz-Detailseite.
Einführung in benutzerdefinierte
Beziehungsfelder
Wie wir in Datenbankbezogene Konzepte auf Seite 31 gelernt haben, können wir eine
Beziehung zwischen zwei Objekten durch die Verwendung gemeinsamer Felder definieren.
Auf der Plattform können wir Beziehungen zwischen Objekten durch Erstellen eines
benutzerdefinierten Beziehungsfelds definieren, das zwei Objekte einander zuordnet. Ein
Beziehungsfeld ist ein benutzerdefiniertes Feld in einem Objektdatensatz, das einen Link zu
einem anderen Datensatz enthält. Wenn wir ein benutzerdefiniertes Beziehungsfeld auf einem
Objekt platzieren, erstellen wir praktisch eine n:1-Beziehung zwischen dem Objekt, auf dem
das Beziehungsfeld platziert wurde, und dem anderen Objekt.
Es gibt verschiedene Typen von Beziehungen, die jeweils unterschiedliche Implikationen mit
sich bringen. Der einfachste und flexibelste Typ ist ein Nachschlagebeziehungsfeld, das eine
einfache Beziehung zwischen zwei Objekten erstellt. Wenn wir beispielsweise ein
Nachschlagebeziehungsfeld auf einem Stellenbewerbungsobjekt platzieren, das auf
Stellendatensätze verweist, so können mehrere Stellenbewerbungsdatensätze in Bezug zu ein
und demselben Stellendatensatz gesetzt werden. Dies spiegelt sich sowohl in einem neuen
Feld vom Typ Position (Stelle) im Stellenbewerbungsdatensatz wider als auch in einer neuen
Themenliste "Job Applications" (Stellenbewerbungen) im Stellendatensatz. Sie können auch
119
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
mehrere Nachschlagebeziehungsfelder auf einem einzelnen Objekt platzieren. Unser Objekt
"Job Applications" (Stellenbewerbungen) kann also zusätzlich auf ein Objekt vom Typ
"Candidate" (Bewerber) verweisen.
Ein zweiter Typ von Beziehungsfeld Master-Detail-Beziehung, ist ein wenig komplexer, bietet
jedoch mehr Möglichkeiten. Master-Detail-Beziehungen erstellen eine spezielle
Über-/Unterordnungsbeziehung zwischen Objekten: Das Objekt, auf dem Sie die
Master-Detail-Beziehung erstellen, ist das untergeordnete Objekt ("Detail") und das Objekt,
das in dem Feld referenziert wird, ist das übergeordnete Objekt ("Master"). In einer
Master-Detail-Beziehung richten sich Inhaberschaft und Freigabe von Detaildatensätzen nach
dem Master-Datensatz. Wenn der Master-Datensatz gelöscht wird, werden auch automatisch
alle zugehörigen Detaildatensätze gelöscht. Felder mit Master-Detail-Beziehung sind in
Detaildatensätzen immer Pflichtfelder und wenn Sie den Wert eines Felds mit
Master-Detail-Beziehung einmal festgelegt haben, können Sie ihn nicht mehr ändern.
Wann verwenden Sie eine Master-Detail-Beziehung? Bei Objekten, deren Bedeutung von
einem anderen Objekt abhängt. Nehmen wir beispielsweise an, Sie haben ein benutzerdefiniertes
Objekt vom Typ "Review", das das Feedback eines Gesprächsleiters zu einer Stellenbewerbung
enthält. Wenn Sie einen Stellenbewerbungsdatensatz löschen, möchten Sie vermutlich auch
alle zugehörigen Review-Datensätze löschen, da Reviews zu einem Element, das nicht mehr
existiert, nicht sonderlich nützlich sind. In diesem Fall sollten Sie eine Master-Detail-Beziehung
auf dem benutzerdefinierten Objekt "Review" erstellen, mit dem Objekt "Job Application"
(Stellenbewerbung) als Master-Objekt.
Das ist die Art von Aufgaben, mit der sich dieses Kapitel befasst. Beginnen wir zunächst mit
einem schnellen und einfachen Beispiel: Wir platzieren ein Feld vom Typ Hiring Manager
(Einstellungs-Manager) auf unserem Stellenobjekt. Wir erstellen eine n:1-Beziehung zwischen
dem Stellenobjekt und dem standardmäßigen Benutzerobjekt, das zu jeder Organisation gehört,
um die Tatsache widerzuspiegeln, dass ein Einstellungs-Manager für mehrere Stellen
gleichzeitig zuständig sein kann. Anschließend erstellen wir einige weitere Objekte und
implementieren eine komplexere Beziehung, zu der Stellen, Stellenbewerbungen, Bewerber
und Reviews gehören.
Probieren Sie es aus: Zuordnen von
Einstellungs-Managern zu Stellen
Ordnen wir für unsere erste Beziehung einem Einstellungs-Manager eine Stelle zu, indem wir
ein Nachschlagebeziehungsfeld in das Objekt "Position" (Stelle) einfügen. Mithilfe des
Nachschlagefelds können Benutzer den Einstellungs-Manager für die Stelle auswählen, indem
sie eine Auswahl aus allen Benutzern der Personalbeschaffungsanwendung treffen.
120
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Wenn unser Personalbeschaffungsmitarbeiter Mario Ruiz beispielsweise Phil Katz als
Einstellungs-Manager für die Stelle "Benefits Specialist" zuordnen möchte, kann er dies tun,
indem er auf das Nachschlagesymbol ( ) neben dem Nachschlagebeziehungsfeld klickt, das
wir jetzt erstellen. Der Name wird dann auf der Detailseite "Position" (Stelle) angezeigt.
Wir müssen zur bekannten Detailseite für das Objekt Position (Stelle) zurückkehren, um das
Nachschlagebeziehungsfeld erstellen zu können, mit dem dieser Vorgang ausgeführt werden
kann.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie Nachschlagebeziehung aus und klicken Sie auf Weiter.
Wählen Sie in der Dropdownliste Bezug zu die Option "Position" (Stelle) aus und
klicken Sie auf Weiter.
Wie bereits erwähnt, ist "Benutzer" ein Standardobjekt, das in allen Organisationen der
Plattform enthalten ist. Es enthält Informationen zu allen Personen, die die Anwendung in
Ihrer Organisation verwenden.
6. Geben Sie im Textfeld Feldbezeichnung den Wert Hiring Manager
(Einstellungs-Manager) ein. Wenn Sie den Cursor bewegen, sollte das Textfeld
Feldname ebenfalls automatisch mit "Hiring_Manager" ausgefüllt werden.
7. Klicken Sie auf Weiter.
8. Übernehmen Sie die Standardwerte in den restlichen beiden Schritten des Assistenten.
9. Klicken Sie auf Speichern.
Rekapitulation
Kehren Sie nun zur Registerkarte "Positions" (Stellen) zurück und klicken Sie auf Neu. Auf
der Bearbeitungsseite für die Stelle wurde ein neues Nachschlagefeld namens Hiring Manager
(Einstellungs-Manager) erstellt. Wenn Sie auf das Nachschlagesymbol neben diesem Feld
( ) klicken, können Sie alle Benutzer der Personalbeschaffungsanwendung durchsuchen und
einen als Einstellungs-Manager festlegen. Der Name des betreffenden Benutzers wird jetzt
im Stellendatensatz angezeigt.
121
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung44: Nachschlagebeziehung für "Hiring Manager" (Einstellungs-Manager)
Wie Sie sehen, war es ganz leicht, diese einfache Beziehung zwischen Stellen und Benutzern
einzurichten. Im Allgemeinen werden Sie feststellen, dass sich Beziehungen recht einfach
einrichten lassen.
Wenn wir jedoch Beziehungen erstellen möchten, die nicht eine einfache n:1-Beziehung
darstellen, wird es etwas komplizierter. Ein Beispiel hierfür betrachten wir etwas später. Erstellen
wir jetzt ein benutzerdefiniertes Objekt für Bewerber, sodass wir weitere Beziehungen in
unserer Personalbeschaffungsanwendung erstellen können.
Beyond the Basics
Wussten Sie, dass Sie den Schemagenerator verwenden können, um die Details Ihres
Schemas anzuzeigen und schnell Objekte und Beziehungsfelder hinzuzufügen oder zu
bearbeiten?
Angenommen, es fällt Ihnen schwer zu visualisieren, wie sich das Nachschlagen von
"Hiring Manager" (Einstellungs-Manager) zu den Stellen- und Benutzerobjekten verhält.
Der Schemagenerator bietet eine dynamische Umgebung, in der Sie Details zu Feldern
anzeigen können, beispielsweise ob das Feld erforderlich ist. Zudem wird dargestellt, wie
standardmäßige und benutzerdefinierte Objekte über Nachschlagebeziehungen und
Master-Detail-Beziehungen miteinander verbunden sind. Sie können im Schemagenerator
die Zoom- und Schwenkfunktion nutzen, die Eigenschaften von Objekten bearbeiten
und beliebige Felder bearbeiten, indem Sie darauf doppelklicken.
Weitere Informationen finden Sie unter "Arbeiten mit dem Schemagenerator" in der
Salesforce-Hilfe.
122
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Hinzufügen von Bewerbern
Fügen wir das benutzerdefinierte Objekt "Candidate" (Bewerber) zu unserer Anwendung
hinzu, sodass wir die Informationen zu unseren Bewerbern verwalten können. Außerdem fügen
wir Felder zum Objekt hinzu, ändern die Eigenschaften des Seitenlayouts, fügen ein kompaktes
Layout hinzu und erstellen einen Bewerberdatensatz. Die Erstellung des benutzerdefinierten
Objekts "Candidate" (Bewerber) läuft fast genau so ab wie vorhin die Erstellung des
benutzerdefinierten Objekts "Position" (Stelle), weshalb wir uns hier kurz fassen.
Probieren Sie es aus: Erstellen des Objekts
"Candidate" (Bewerber)
Um das benutzerdefinierte Objekt "Candidate" (Bewerber) zu erstellen, klicken Sie unter
"Setup" auf Erstellen > Objekte, klicken Sie auf Neues benutzerdefiniertes Objekt und füllen
Sie die Seite gemäß der folgenden Tabelle aus.
Tabelle8: Werte für die Definition des Objekts "Candidate" (Bewerber)
Feld
Wert
Bezeichnung
Candidate (Bewerber)
Bezeichnung – Plural
Candidates (Bewerber)
Objektname
Candidate (Bewerber)
Beschreibung
Represents an applicant who might apply for
one or more positions (Steht für einen
Bewerber, der sich um eine oder mehrere
Stellen bewirbt)
Einstellungen für die kontextabhängige Hilfe Öffnen des Standardfensters von Salesforce
Hilfe & Schulung
Datensatzname
Candidate Number (Bewerbernummer)
Datentyp
Automatisch nummerieren
Anzeigeformat
C-{00000}
Startnummer
00001
Berichte zulassen
Ja
123
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Feld
Wert
Aktivitäten zulassen
Ja
Feldverlauf verfolgen
Ja
Bereitstellungsstatus
Bereitgestellt
Notizen und Anhänge zum
Standardseitenlayout hinzufügen
Ja
Nach dem Speichern dieses
Ja
benutzerdefinierten Objekts den Assistenten
für eine neue benutzerdefinierte Registerkarte
starten
Zur Erstellung der Registerkarte "Candidates" (Bewerber) wählen Sie im ersten Schritt des
Assistenten einen Registerkartenstil aus und übernehmen Sie dann alle Standardwerte,
bis Sie zur Seite "Fügen Sie sie benutzerdefinierten Anwendungen hinzu" gelangen. Wählen
Sie auf dieser Seite nur die Personalbeschaffungsanwendung aus und klicken Sie auf Speichern.
Die Personalbeschaffungsanwendung weist nun drei Registerkarten auf: "Startseite", "Positions"
(Stellen) und "Candidates" (Bewerber). Fügen wir nun einige benutzerdefinierte Felder zum
Objekt "Candidate" (Bewerber) hinzu.
Probieren Sie es aus: Hinzufügen von Feldern
zum Objekt "Candidate" (Bewerber)
Um benutzerdefinierte Felder für das Objekt "Candidate" (Bewerber) zu erstellen, klicken Sie
unter "Setup" auf Erstellen > Objekte und klicken Sie dann auf Candidate (Bewerber), um
die zugehörige Detailseite anzuzeigen. Klicken Sie in der Themenliste "Benutzerdefinierte
Felder und Beziehungen" auf Neu, um benutzerdefinierte Felder gemäß der folgenden Tabelle
zu erstellen. Wo erforderlich, haben wir einige zusätzliche Werte angegeben, die Sie ausfüllen
müssen. Ansonsten können Sie einfach alle Standardwerte übernehmen.
Ein Unterschied, den Sie bei den Feldern des Bewerberobjekts feststellen werden, ist, dass bei
drei davon – First Name (Vorname), Last Name (Nachname) und Email (E-Mail) – die
Option Externe ID ausgewählt ist. Mit dieser Option können die Werte in diesen Feldern
für die Suche über die Randleiste der Anwendung indiziert werden. Wenn wir diese Werte
nicht als externe IDs auswählen würden, könnten wir ausschließlich anhand des Felds
Candidate Number (Bewerbernummer) nach Datensätzen suchen. Die Festlegung des Felds
124
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Email (E-Mail) als externe ID hilft uns weiter hinten in diesem Kapitel auch beim
Datenimport.
Tabelle9: Objekt "Candidate" (Bewerber) – Benutzerdefinierte Felder
Datentyp
Feldbezeichnung
Andere Werte
Text
First Name (Vorname)
Länge: 50
Externe ID: Ausgewählt
Text
Last Name (Nachname)
Länge: 50
Externe ID: Ausgewählt
Phone (Telefon)
Phone (Telefon)
Email (E-Mail)
Email (E-Mail)
Externe ID: Ausgewählt
Text
Street (Straße)
Länge: 50
Text
City (Stadt)
Länge: 50
Text
State/Province (Bundesland) Länge: 50
Text
Zip/Postal Code (Postleitzahl) Länge: 15
Text
Country (Land)
Länge: 50
Text
Current Employer
(Derzeitiger Arbeitgeber)
Länge: 50
Zahl
Years of Experience (Jahre
Erfahrung)
Länge: 2
Dezimalstellen: 0
Text
SSN
Länge: 9
(Sozialversicherungsnummer)
Auswahlliste
Education (Bildungsabschluss) Auswahllistenwerte:
• HS Diploma (High
School-Abschluss)
• BA/BS (B.A./B.Sc.)
• MA/MS/MBA (M.A.,
M.Sc., MBA)
• Ph.D. (Promotion)
• Post Doc (Post-Doc)
125
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Datentyp
Feldbezeichnung
Andere Werte
Kontrollkästchen
Currently Employed (Derzeit Standard: Aktiviert
in Beschäftigung)
Kontrollkästchen
US Citizen (US-Bürger)
Standard: Aktiviert
Kontrollkästchen
Visa Required (Visum
erforderlich)
Standard: Deaktiviert
Phone (Telefon)
Mobile (Mobiltelefon)
Phone (Telefon)
Fax
Probieren Sie es aus: Ändern der Eigenschaften
für das Layout der Bewerberseite
Jetzt ordnen wir alle Felder auf dem Seitenlayout an und markieren einige Felder als
"Erforderlich". Hierzu rufen wir das Seitenlayout für die Bewerberseite auf.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Candidate (Bewerber).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Candidate Layout"
(Bewerber-Layout) auf Bearbeiten.
4. Erstellen Sie drei neue zweispaltige Abschnitte unterhalb des Abschnitts
"Informationen": "Address" (Anschrift), "Employment" (Beschäftigung) und
"Additional Details" (Weitere Details). Ziehen Sie die entsprechenden Felder in
diese Bereiche, wie auf dem Bild des Seitenlayouts für das Objekt "Candidate"
(Bewerber) dargestellt, und vergessen Sie nicht, auf Schnellspeicherung zu klicken
und Ihre Arbeit immer wieder zu speichern.
5. Legen Sie die Felder First Name (Vorname), Last Name (Nachname) und Email
(E-Mail) folgendermaßen als "Erforderlich" fest:
a. Verwenden Sie Strg+Mausklick, um alle drei erforderlichen Felder
auszuwählen.
b. Doppelklicken Sie auf die ausgewählten Elemente.
c. Aktivieren Sie das Kontrollkästchen Erforderlich in der Zeile "Alle
auswählen" und klicken Sie anschließend auf OK.
6. Klicken Sie auf Speichern.
126
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Das Layout der Seite "Candidate" (Bewerber) sollte nun in etwa so aussehen wie der nachfolgend
dargestellte Screenshot.
Abbildung45: Seitenlayout des Objekts "Candidate" (Bewerber)
Rekapitulation
Hier eine schnelle Möglichkeit, um zu überprüfen, ob Sie alles richtig gemacht haben:
1. Klicken Sie auf die Registerkarte "Candidates" (Bewerber).
2. Klicken Sie auf Neu.
3. Erstellen Sie einen neuen Datensatz für einen Bewerber namens Ethan Tran aus
San Francisco.
4. Geben Sie in jedem der Pflichtfelder einen Wert ein. Salesforce überprüft die im
Feld E-Mail eingegebenen E-Mail-Adresse nicht sofort. Sie können also getrost
eine fiktive eingeben.
5. Gebe Sie für den Bewerber unter Stadt den Wert San Francisco ein.
6. Klicken Sie auf Speichern.
Wie sieht das Seitenlayout aus? Befinden sich die Felder an der gewünschten Position?
127
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Wenn die Seite nicht ganz Ihren Vorstellungen entspricht und Sie einige Anpassungen
vornehmen möchten, klicken Sie auf den Link Layout bearbeiten in der rechten oberen Ecke.
Abbildung46: Link "Layout bearbeiten"
Der Link Layout bearbeiten führt Sie direkt zum Seitenlayout-Editor und ermöglicht Ihnen
die Bearbeitung der aktuell angezeigten Seite.
Probieren Sie es aus: Anpassen der
Hervorhebungen im Bewerberdatensatz
Als letzten Arbeitsschritt für dieses benutzerdefinierte Objekt wollen wir zur Unterstützung
unserer mobilen Benutzer einige Felder in den Hervorhebungen des Datensatzes hinzufügen.
Momentan wird ausschließlich das Feld mit der Bewerbernummer angezeigt, das nicht
besonders hilfreich ist. Über die Hervorhebungen wollen wir unserem mobilen Benutzer die
erforderlichen Informationen zu diesem Bewerber auf einen Blick verfügbar machen. Nützliche
Daten könnten beispielsweise der Standort des Bewerbers oder seine Fertigkeiten sein.
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Candidate (Bewerber).
Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu.
Geben Sie dem kompakten Layout einen Namen und verschieben Sie Felder in den
Bereich "Verfügbare Felder", sodass sie in folgender Reihenfolge angezeigt werden:
•
•
•
•
128
Nachname
Stadt
Education (Bildung)
Years of Experience (Jahre Erfahrung)
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
5. Klicken Sie auf Speichern.
Denken Sie daran, das neue kompakte Layout schnell als primäres kompaktes Layout für
Bewerber zuzuweisen.
6.
7.
8.
9.
Klicken Sie auf Zuordnungen für kompaktes Layout.
Klicken Sie auf Zuordnung bearbeiten.
Wählen Sie in der Dropdownliste das soeben erstellte kompakte Layout aus.
Klicken Sie auf Speichern.
Rekapitulation
Jetzt wollen wir nachsehen, wie ein Bewerberdatensatz auf unserem mobilen Gerät aussieht.
1. Starten Sie Salesforce1 und melden Sie sich bei entsprechender Aufforderung an.
2. Tippen Sie im Navigationsmenü auf Mehr anzeigen > Candidates (Bewerber).
3. Tippen Sie auf C-00001.
Abbildung47: Angepasste Datensatzhervorhebungen für C-00001
Die Datensatzhervorhebungen beinhalten bereits einige Daten, zwei der Felder sind jedoch
leer. Das liegt daran, dass wir beim Erstellen des Datensatzes im letzten Abschnitt nur die
erforderlichen Felder (Vorname, Nachname und E-Mail) sowie das Feld Stadt ausgefüllt
haben. Füllen wir also auch die anderen Felder aus, um das kompakte Layout in seiner vollen
Pracht anzeigen zu können.
4. Wischen Sie nach links, bis Sie zur Datensatzdetailseite gelangen.
5. Tippen Sie auf Bearbeiten.
6. Füllen Sie einige der leeren Felder aus. Sie können auch noch weitere hinzufügen,
sollten aber mindestens sicherstellen, dass in den Feldern Education (Bildung)
und Years of Experience (Jahre Erfahrung) Werte vorhanden sind.
7. Tippen Sie auf Speichern.
129
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung48: Angepasste Datensatzhervorhebungen für C-00001 mit Eintragungen
in allen Feldern
Wenn Sie erfolgreich einen neuen Bewerberdatensatz erstellen können und in den
Hervorhebungen die richtigen Werte angezeigt werden, lassen Sie uns weitergehen zum Objekt
"Job Application" (Stellenbewerbung).
Verbinden von "Candidates" (Bewerber) und
"Positions" (Stellen) mithilfe von "Job
Applications" (Stellenbewerbungen)
Mit unserer Anwendung können wir Bewerber und offene Stellen verfolgen, ein wichtiges
Element fehlt aber noch: Wie erfahren wir, welche Bewerber sich für welche Stellen
interessieren? Wir können im Objekt "Candidate" (Bewerber) Nachschlagebeziehungsfelder
erstellen, in denen Personalbeschaffungsmitarbeiter die Stellen angeben können, für die sich
der Bewerber interessiert. Wie können wir aber zusätzliche Informationen verfolgen,
beispielsweise, ob für den Bewerber ein Bewerbungsgespräch für eine dieser Stellen geplant
ist? Und wäre es nicht sinnvoll, wenn der Personalbeschaffungsmitarbeiter die Möglichkeit
hätte, die Anschreiben der Bewerber für die einzelnen Stellen, für die sie sich bewerben, zu
speichern?
Diesen Anforderungen können wir mit dem benutzerdefinierten Objekt "Job Application"
(Stellenbewerbung) gerecht werden, in dem Daten zu der Bewerbung der einzelnen Bewerber
für eine bestimmte Stelle gespeichert werden. Immer wenn sich ein Bewerber für eine Stelle
bewirbt, kann der Personalbeschaffungsmitarbeiter einen Stellenbewerbungsdatensatz erstellen,
in dem der Name des Bewerbers und die Stelle, für die er sich bewirbt, sowie das Anschreiben,
das der Bewerber genau für diese Stelle verfasst hat, gespeichert werden. Die
Personalbeschaffungsmitarbeiter haben zudem die Möglichkeit, den Status der Bewerbung
anzugeben, beispielsweise ob für den Bewerber ein Bewerbungsgespräch geplant ist oder ob
die Bewerbung abgelehnt wurde. Nachdem wir das Objekt "Job Application" (Stellenbewerbung)
und die zugehörigen Felder erstellt haben, nehmen wir an den Objekten "Position" (Stelle),
"Candidate" (Bewerber) und "Job Application" (Stellenbewerbung) einige kleinere Änderungen
vor, sodass in jedem Stellendatensatz die Namen der Bewerber angezeigt werden, die sich für
130
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
diese Stelle beworben haben, und in jedem Bewerberdatensatz die Stellen aufgeführt werden,
für die sich der Bewerber beworben hat.
Probieren Sie es aus: Erstellen des Objekts "Job
Application" (Stellenbewerbung)
Dies sollten Sie mittlerweile im Schlaf können! Um das benutzerdefinierte Objekt "Job
Application" (Stellenbewerbung) zu erstellen, klicken Sie unter "Setup" auf Erstellen > Objekte,
klicken Sie auf Neues benutzerdefiniertes Objekt und füllen Sie die Seite gemäß der folgenden
Tabelle aus.
Tabelle10: Werte für die Definition des Objekts "Job Application" (Stellenbewerbung)
Feld
Wert
Bezeichnung
Job Application (Stellenbewerbung)
Bezeichnung – Plural
Job Applications (Stellenbewerbungen)
Objektname
Job_Application
Beschreibung
Stellt die Bewerbung eines Bewerbers für eine
Stelle dar
Einstellungen für die kontextabhängige Hilfe Öffnen des Standardfensters von Salesforce
Hilfe & Schulung
Datensatzname
Job Application Number
(Stellenbewerbungsnummer)
Datentyp
Automatisch nummerieren
Anzeigeformat
JA-{00000}
Startnummer
00001
Berichte zulassen
Ja
Aktivitäten zulassen
Ja
Feldverlauf verfolgen
Ja
Bereitstellungsstatus
Bereitgestellt
Notizen und Anhänge zum
Standardseitenlayout hinzufügen
Ja
131
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Feld
Wert
Nach dem Speichern dieses
Ja
benutzerdefinierten Objekts den Assistenten
für eine neue benutzerdefinierte Registerkarte
starten
Zur Erstellung der Registerkarte "Job Applications" (Stellenbewerbungen) wählen Sie im
ersten Schritt des Assistenten einen Registerkartenstil aus und übernehmen Sie dann
alle Standardwerte, bis Sie zur Seite "Fügen Sie sie benutzerdefinierten Anwendungen hinzu"
gelangen. Wählen Sie auf dieser Seite nur die Personalbeschaffungsanwendung aus und klicken
Sie dann auf Speichern.
Nun benötigen wir nur noch ein paar benutzerdefinierte Felder, damit wir das Objekt "Job
Application" (Stellenbewerbung) mit den Objekten "Position" (Stelle) und "Candidate"
(Bewerber) verknüpfen können.
Probieren Sie es aus: Hinzufügen von Feldern
zum Objekt "Job Application"
(Stellenbewerbung)
Auch dieses Verfahren haben wir bereits mehrmals zuvor durchgeführt. Diesmal brauchen wir
jedoch nur vier benutzerdefinierte Felder zu erstellen anstatt der fast zwanzig, die wir für das
Objekt "Candidate" (Bewerber) eingerichtet haben. Wir müssen ein Textfeld für das
Anschreiben des Bewerbers hinzufügen, ein Auswahllistenfeld, in dem wir den Status der
Bewerbung verfolgen können, und zwei Nachschlagebeziehungsfelder, die Beziehungen
zwischen dem Objekt "Job Application" (Stellenbewerbung) und den Objekten "Position"
(Stelle) und "Candidate" (Bewerber) erstellen.
Auch wenn diese Felder fast mit den zuvor erstellten identisch sind, werden Sie bei der
Definition der Nachschlagebeziehungsfelder feststellen, dass es im Assistenten für
benutzerdefinierte Felder einen neuen Schritt gibt, nämlich Schritt 6: Benutzerdefinierte
Themenlisten hinzufügen. In diesem Schritt des Assistenten können wir eine Überschrift für
die Themenliste "Job Applications" (Stellenbewerbungen) angeben, die auf den Detailseiten
für Bewerber und Stellen angezeigt werden.
Warum wurde dieser Schritt nicht bereits bei der Erstellung des Nachschlagefelds Hiring
Manager (Einstellungs-Manager) angezeigt? Dies liegt daran, dass "Benutzer" ein ganz
spezielles Standardobjekt ist: Es weist keine Registerkarte auf und Sie können keine
Themenlisten dazu hinzufügen. Die Plattform weiß das und überspringt daher den Schritt für
132
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
die Themenlisten, wenn ein Nachschlagebeziehungsfeld hinzugefügt wird, das auf das Objekt
"Benutzer" verweist.
Nachdem wir nun diesen kleinen Unterschied geklärt haben, sollten wir diese Felder für das
Objekt "Job Application" (Stellenbewerbung) fertig stellen. Klicken Sie unter "Setup" auf
Erstellen > Objekte und klicken Sie dann auf Job Application (Stellenbewerbung), um die
zugehörige Detailseite anzuzeigen. Klicken Sie in der Themenliste "Benutzerdefinierte Felder
und Beziehungen" auf Neu, um benutzerdefinierte Felder gemäß der folgenden Tabelle zu
erstellen. Wo erforderlich, haben wir einige zusätzliche Werte angegeben, die Sie ausfüllen
müssen. Ansonsten können Sie einfach alle Standardwerte übernehmen.
Tabelle11: Hinzufügen von Feldern zum Objekt "Job Application" (Stellenbewerbung)
Datentyp
Feldbezeichnung
Andere Werte
Nachschlagebeziehung Candidate (Bewerber) Bezug zu: Candidate (Bewerber)
Bezeichnung der Themenliste: Job
Applications (Stellenbewerbungen)
Nachschlagebeziehung Position (Stelle)
Bezug zu: Position (Stelle)
Bezeichnung der Themenliste: Job
Applications (Stellenbewerbungen)
Textbereich (lang)
Auswahlliste
Cover Letter
(Anschreiben)
Länge: 32,768
Status
Auswahllistenwerte:
• New (Neu)
• Review Resume (Lebenslauf überprüfen)
• Phone Screen (Telefonisches Vorgespräch)
• Schedule Interviews
(Bewerbungsgespräche planen)
• Extend an Offer (Angebot unterbreiten)
• Hired (Eingestellt)
• Rejected (Abgelehnt)
Anzahl sichtbarer Zeilen: 6
Ersten Wert als Standardwert verwenden:
Ausgewählt
133
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Probieren Sie es aus: Anpassen der
Hervorhebungen für den
Stellenbewerbungsdatensatz
Da hier nur wenige Felder vorhanden sind, müssen wir uns über die Anpassung des Seitenlayouts
nicht kümmern. Es lohnt sich allerdings, das kompakte Layout anzupassen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Job Application (Stellenbewerbung).
3. Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu, um ein kompaktes
Layout mit folgenden Feldern zu erstellen: Geben Sie unter Bezeichnung einen
Namen ein und passen Sie die Reihenfolge mithilfe der Schaltflächen Nach oben
und Nach unten an.
•
•
•
•
Job Application Number (Stellenbewerbungsnummer)
Status
Candidate (Bewerber)
Position (Stelle)
4. Klicken Sie auf Speichern und weisen Sie dann das neue kompakte Layout als
primäres kompaktes Layout für Stellenbewerbungen zu.
Rekapitulation
Tada! Wenn Sie auf die neue Registerkarte "Job Applications" (Stellenbewerbungen) und
anschließend auf Neu klicken, werden das Nachschlagefeld Candidate (Bewerber), das
Nachschlagefeld Position (Stelle), das Anschreiben des Bewerbers und ein Auswahllistenfeld
namens Status angezeigt.
134
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung49: Benutzerdefinierte Felder auf der Bearbeitungsseite für "Job Application"
(Stellenbewerbung)
Vergessen Sie nicht, Salesforce1 zu starten, um das neue kompakte Layout in Aktion zu erleben.
Neuen mobilen Benutzern werden wichtige Details angezeigt, ohne dass sie durch eine lange
Felderliste blättern müssen.
Abbildung50: Datensatzhervorhebungen für einen Stellenbewerbungs-Datensatz
Aber es gibt noch mehr! Da wir einige Nachschlagebeziehungen erstellt haben, verfügen unsere
Detailseiten für die Bewerber- und Stellendatensätze jetzt über eine neue Themenliste mit
dem Namen "Job Applications" (Stellenbewerbungen). Und die Detailseite "Job Application"
(Stellenbewerbung) enthält Links zu den Bewerber- und Stellendatensätzen, auf die sie verweist.
Alle drei Objekte wurden nun in Beziehung zueinander gesetzt und verknüpft!
135
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung51: Links zu Daten für "Position" (Stelle) und "Candidate" (Bewerber) in
"Job Application" (Stellenbewerbung)
Bevor wir fortfahren, wollen wir sehen, ob wir die Gebrauchstauglichkeit unserer Anwendung
etwas optimieren können, damit die Benutzer Bewerber und Stellenbewerbungen nicht anhand
von Zahlen identifizieren müssen, wenn sie auf der Bearbeitungsseite der Stellenbewerbung
auf die Schaltfläche zum Nachschlagen klicken oder wenn sie die Themenliste "Job
Applications" (Stellenbewerbungen) auf den Detailseiten für "Candidate" (Bewerber) oder
"Position" (Stelle) betrachten.
Einführung zu Suchlayouts
Alle Nachschlagefenster und Themenlisten, die sich aus neuen Beziehungen ergeben, wie
beispielsweise diejenigen, die wir in diesem Kapitel definiert haben, zeigen standardmäßig nur
den Datensatznamen oder die Datensatznummer an. Wenn Sie beispielsweise eine
Stellenbewerbung erstellen, ist das Nachschlagefenster "Candidate" (Bewerber) möglicherweise
schwer verständlich, da als einziges Feld Candidate Number (Bewerbernummer) aufgeführt
wird. Sie sind wahrscheinlich davon ausgegangen, dass First Name (Vorname), Last Name
(Nachname) und weitere Felder angezeigt werden, so wie im folgenden Screenshot dargestellt.
136
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung52: Standardmäßiges Nachschlagefenster für "Candidate" (Bewerber) im
Objekt "Job Application" (Stellenbewerbung)
Genauso wird in der Themenliste "Job Applications" (Stellenbewerbungen) auf den Detailseiten
"Position" (Stelle) und "Candidate" (Bewerber) nur die Stellenbewerbungsnummer angezeigt.
Es wäre viel sinnvoller, wenn diese Themenlisten auch den Namen oder die Stelle des
zugehörigen Bewerbers enthielten.
Um diese Probleme zu beheben, können wir in den Suchlayouts für die von uns definierten
Objekte Felder hinzufügen. Suchlayouts sind geordnete Gruppen von Feldern, die angezeigt
werden, wenn ein Datensatz in einem bestimmten Kontext dargestellt wird, beispielsweise in
Suchergebnissen, in einem Nachschlagefenster oder in einer Themenliste. Indem wir Felder
hinzufügen, können wir den Benutzern weitere Informationen zur Verfügung stellen und ihnen
helfen, Datensätze schneller zu finden.
In der Themenliste "Suchlayouts" auf der Detailseite für ein benutzerdefiniertes Objekt kann
diese Gruppe von Feldern geändert werden. Klicken Sie unter "Setup" auf Erstellen > Objekte
und wählen Sie das Objekt "Candidate" (Bewerber) aus. Die verfügbaren Suchlayouts enthalten
Folgendes:
137
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Tabelle12: Verfügbare Suchlayouts
Layoutname
Beschreibung
Suchergebnisse
Die Suchergebnisse der Randleistensuche auf der linken Seite der
Anwendung oder der erweiterten Suche.
Suchdialoge
Die Ergebnisse des Nachschlagefensters, die Sie erhalten, wenn Sie
neben einem Nachschlagefeld auf einer Bearbeitungsseite auf
klicken.
Suchtelefondialoge
Die Ergebnisse des Nachschlagefensters, die Sie erhalten, wenn Sie
neben einem Nachschlagefeld mit dem Datentyp "Telefon" auf einer
Bearbeitungsseite auf
Candidates Tab
(Registerkarte
"Bewerber")
klicken.
Die Liste der zuletzt verwendeten Datensätze, die auf der Startseite
einer Registerkarte und in den Themenlisten auf den Detailseiten
anderer Objekte angezeigt wird.
Candidates List View Dieses Layout dient nicht der Angabe von Feldern. Verwenden Sie
(Bewerber-Listenansicht) es stattdessen, um die Schaltflächen festzulegen, die in der
Listenansichtsseite für ein bestimmtes Objekt angezeigt werden sollen.
Suchfilterfelder
Die Filter, die auf die Suchergebnisse angewendet werden können.
Probieren Sie es aus: Hinzufügen von Feldern im
Nachschlagefenster "Candidate" (Bewerber)
Fügen wir unserem Nachschlagefenster "Candidate" (Bewerber) Felder hinzu:
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Candidate (Bewerber).
3. Klicken Sie in der Themenliste "Suchlayouts" neben dem Layout "Suchdialoge" auf
Bearbeiten.
Die Seite "Suchlayout bearbeiten" enthält eine Liste der verfügbaren Felder des Objekts
"Candidate" (Bewerber). Sie können bis zu zehn Felder auswählen, die in das Nachschlagefenster
aufgenommen werden sollen, und diese anschließend nach Ihren Wünschen anordnen. Eine
Ausnahme bilden die Felder mit dem eindeutigen Namen und der eindeutigen Nummer des
Objekts. So muss Candidate Number (Bewerbernummer) beispielsweise zuerst aufgelistet
werden.
138
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
4. Verschieben Sie die folgenden Felder in das Feld "Ausgewählte Felder" unterhalb
von Candidate Number (Bewerbernummer):
•
•
•
•
•
First Name (Vorname)
Last Name (Nachname)
City (Stadt)
State/Province (Bundesland)
Phone (Telefon)
5. Klicken Sie auf Speichern.
Schon sind Sie fertig! Kehren Sie nun zur Registerkarte "Positions" (Stellen) zurück und klicken
Sie auf Neu, um es auszuprobieren. Wenn Sie neben dem Feld Candidate (Bewerber) auf
das Nachschlagesymbol klicken, wird jetzt ein viel sinnvolleres Dialogfeld angezeigt.
Abbildung53: Geändertes Nachschlagen für "Candidate" (Bewerber) im Objekt "Job
Application" (Stellenbewerbung)
Probieren Sie es aus: Aktualisieren zusätzlicher
Suchlayouts
Jetzt, nachdem wir ein Suchlayout für Nachschlagevorgänge aktualisiert haben, sollte der Rest
Ihnen leicht fallen. Verwenden Sie die Themenliste "Suchlayouts" auf der Detailseite für ein
benutzerdefiniertes Objekt, um die Anderen Suchlayouts gemäß den Beschreibungen in der
folgenden Tabelle zu ändern.
139
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Tabelle13: Zusätzliche Suchlayouts
Objekt
Suchlayout
Fügen Sie diese Felder hinzu
Candidate (Bewerber) •
•
Suchergebnisse
•
Candidates Tab (Registerkarte
"Bewerber")
•
•
•
•
•
Candidate Number
(Bewerbernummer)
First Name (Vorname)
Last Name (Nachname)
City (Stadt)
State/Province (Bundesland)
Phone (Telefon)
Candidate (Bewerber) •
Suchfilterfelder
Candidate Number
(Bewerbernummer)
First Name (Vorname)
Last Name (Nachname)
Education (Bildungsabschluss)
Years of Experience (Jahre
Erfahrung)
City (Stadt)
State/Province (Bundesland)
Country (Land)
Currently Employed (Derzeit
in Beschäftigung)
•
•
•
•
•
•
•
•
•
Position (Stelle)
•
•
•
•
Suchergebnisse
Suchdialoge
Positions Tab (Registerkarte
"Stellen")
Suchfilterfelder
•
•
•
•
•
•
•
•
•
Job Application
(Stellenbewerbung)
140
•
•
Suchergebnisse
Suchdialoge
•
Position Title (Stellentitel)
Location (Standort)
Functional Area
(Funktionsbereich)
Job Level (Stellenebene)
Type (Typ)
Hiring Manager
(Einstellungs-Manager)
Status
Open Date (Offen von)
Close Date (Offen bis)
Job Application Number
(Stellenbewerbungsnummer)
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Objekt
Suchlayout
•
•
Job Applications Tab
(Registerkarte
"Stellenbewerbungen")
Suchfilterfelder
Fügen Sie diese Felder hinzu
•
•
•
•
•
•
Candidate (Bewerber)
Position (Stelle)
Status
Created Date (Erstelldatum)
Owner First Name
(Inhabervorname)
Owner Last Name
(Inhabernachname)
Jetzt erstellen wir ein weiteres benutzerdefiniertes Objekt, damit unsere Einstellungs-Manager
und Gesprächsleiter ihre Kommentare zu Stellenbewerbungen eingeben können.
Verwalten von Review-Bewertungen
Gesprächsleiter, Personalbeschaffungsmitarbeiter und Einstellungs-Manager müssen in der
Lage sein, Reviews zu erstellen, damit sie ihre Kommentare zu den Stellenbewerbungen der
einzelnen Bewerber aufzeichnen und die Eignung des Bewerbers für die jeweilige Stelle
beurteilen können. Zudem müssen sie die von anderen Personen geposteten Reviews anzeigen
können. Damit unsere Benutzer all diese Aufgaben ausführen können, müssen wir ein
benutzerdefiniertes Objekt namens "Review" erstellen und eine Beziehung zwischen diesem
Objekt und dem Objekt "Job Application" (Stellenbewerbung) herstellen.
Das Objekt "Review" verfügt über eine n:1-Beziehung mit dem Objekt "Job Application"
(Stellenbewerbung), da einer Stellenbewerbung einer oder mehrere Reviews zugeordnet werden
können. Die zugehörigen Reviews, die die "n"-Seite der Beziehung darstellen, werden über
eine Themenliste im Datensatz der Stellenbewerbung angezeigt.
Abbildung54: "Review" verfügt über eine n:1-Beziehung mit "Job Application"
(Stellenbewerbung)
141
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
In diesem Fall verwenden wir hier jedoch ein Feld für eine Master-Detail-Beziehung, anstatt
für diese Beziehung ein Nachschlagebeziehungsfeld zu erstellen. Ein Feld für die
Master-Detail-Beziehung macht hier Sinn, da Reviews nutzlos werden, wenn sie aus dem
Kontext einer Stellenbewerbung herausgerissen werden. Daher möchten wir, dass Reviews
automatisch gelöscht werden, wenn wir auch die Stellenbewerbung löschen, auf die sie sich
beziehen.
Probieren Sie es aus: Erstellen des Objekts
"Review"
Klicken Sie zum Erstellen des Objekts "Review" unter "Setup" auf Erstellen > Objekte, klicken
Sie auf Neues benutzerdefiniertes Objekt und füllen Sie die Seite gemäß der folgenden
Tabelle aus.
Tabelle14: Werte für die Definition des Objekts "Review"
Feld
Wert
Bezeichnung
Review
Bezeichnung – Plural
Reviews
Objektname
Review
Beschreibung
Represents an interviewer's assessment of a
particular candidate (Steht für die
Einschätzung eines bestimmten Bewerbers
durch einen Gesprächsleiter)
Einstellungen für die kontextabhängige Hilfe Öffnen des Standardfensters von Salesforce
Hilfe & Schulung
142
Datensatzname
Review Number (Review-Nummer)
Datentyp
Automatisch nummerieren
Anzeigeformat
R-{000000}
Startnummer
000001
Berichte zulassen
Ja
Aktivitäten zulassen
Ja
Feldverlauf verfolgen
Ja
Bereitstellungsstatus
Bereitgestellt
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Feld
Wert
Notizen und Anhänge zum
Standardseitenlayout hinzufügen
Ja
Nach dem Speichern dieses
Nein
benutzerdefinierten Objekts den Assistenten
für eine neue benutzerdefinierte Registerkarte
starten
Beachten Sie, dass wir diesmal den Registerkartenassistenten nicht gestartet haben. Für Reviews
ist keine eigene Registerkarte erforderlich, da über eine Themenliste auf der Detailseite "Job
Application" (Stellenbewerbung) darauf zugegriffen werden kann. Wenn Sie ein Objekt mit
einer Registerkarte erstellen, bietet die Plattform Zugriff auf die Datensätze des betreffenden
Objekts an verschiedenen anderen Orten als nur der Registerkarte, beispielsweise in
Suchergebnissen und in der Liste "Zuletzt verwendete Elemente" im Randleistenbereich jeder
Seite. Da die meisten Benutzer der Personalbeschaffungsanwendung keine Reviews in anderen
Kontexten zu sehen brauchen als im Rahmen von Stellenbewerbungen, brauchen wir keine
separate Registerkarte dafür zu erstellen.
Stellen wir nun die benutzerdefinierten Felder für das Objekt "Review" fertig.
Probieren Sie es aus: Hinzufügen von Feldern
zum Objekt "Review"
Beginnen wir mit dem Hinzufügen des Felds vom Typ "Master-Detail-Beziehung", das das
Objekt "Review" in Bezug zum Objekt "Job Application" (Stellenbewerbung) setzt. Greifen
Sie zur Erstellung des Felds vom Typ "Master-Detail-Beziehung" auf die Detailseite des
Objekts "Review" zu.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Review.
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie Master-Detail-Beziehung aus und klicken Sie auf Weiter.
Wählen Sie in der Dropdown-Liste Bezug zu die Option "Job Application"
(Stellenbewerbung) aus und klicken Sie auf Weiter.
6. Klicken Sie in das Textfeld Feldbezeichnung, um es automatisch mit dem
Feldnamen Job_Application auszufüllen.
7. Lassen Sie das Optionsfeld Lese-/Schreibzugriff ausgewählt.
143
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Diese Freigabeeinstellung bewirkt, dass nur diejenigen Benutzer einen Review erstellen,
bearbeiten oder löschen können, die auch die zugehörige Stellenbewerbung erstellen, bearbeiten
bzw. löschen können. Mehr zu Freigabe und Sicherheit erfahren Sie im nächsten Kapitel.
8. Klicken Sie auf Weiter.
9. Übernehmen Sie die Standardwerte in den restlichen drei Schritten des Assistenten.
10. Klicken Sie auf Speichern.
Ihre Master-Detail-Beziehung ist nun vollständig.
Beyond the Basics
Wussten Sie, dass Sie Master-Detail-Beziehungen mit mehreren Ebenen erstellen können?
Mit Master-Detail-Beziehungen mit mehreren Ebenen können Sie Berichte erstellen,
die ein Rollup der Daten aus allen Ebenen des Datenmodells durchführen, und
kaskadierende Löschvorgänge (Löschweitergabe) auslösen, wenn ein Master-Datensatz
gelöscht wird.
Angenommen, Sie möchten, dass die Bewerbungen und Review-Datensätze eines
Bewerbers gelöscht werden, wenn ein Einstellungs-Manager den betreffenden Bewerber
löscht. Sie können ein neues Feld vom Typ "Master-Detail-Beziehung" erstellen, das das
Objekt "Job Application" (Stellenbewerbung) mit dem Objekt "Candidate" (Bewerber)
in Bezug setzt. Da die Objekte "Review" und "Job Application" (Stellenbewerbung) bereits
in einer Master-Detail-Beziehung in Bezug zueinander stehen, haben Sie somit eine
Beziehung mit mehreren Ebenen erstellt, bei der "Candidate" Bewerber) das Master-Objekt
ist, "Job Application" (Stellenbewerbung) das Detail-Objekt und "Review" das
Unterdetail-Objekt.
Nun, da Ihre Master-Detail-Beziehung in Kraft ist, ist es an der Zeit, über die anderen Arten
von Feldern nachzudenken, die für Personen, die sich einen Review-Datensatz ansehen,
nützlich wären.
Höchstwahrscheinlich möchten die Benutzer den Namen des Bewerbers und die Stelle sehen,
für die dieser gerade in einem Review bewertet wird. Wir könnten eine Nachschlagebeziehung
zu den Objekten "Position" (Stelle) und "Candidate" (Bewerber) erstellen und den Reviewern
vorschreiben, beim Erstellen von Review-Datensätzen Einträge in diesen Feldern vorzunehmen.
Aber was, wenn sie den falschen Wert auswählen? Und wäre es nicht überhaupt besser, wenn
diese Felder irgendwie automatisch ausgefüllt würden?
Zur Lösung dieses Problems nutzen wir die Synergie von Formeln und Beziehungen, um
objektübergreifende Formeln zu erstellen. Objektübergreifende Formeln sind Formeln, die sich
auf zwei oder mehr Objekte erstrecken, indem sie Briefvorlagenfelder aus verwandten
144
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Datensätzen referenzieren. Die Formeln auf unserem Review-Objekt können also auf Felder
des Stellenbewerbungsobjekts zugreifen und Formeln auf dem Stellenbewerbungsobjekt können
auf Felder des Stellenobjekts und des Bewerberobjekts zugreifen. Wir gehen sogar noch einen
Schritt weiter, indem wir Formelfelder auf unserem Review-Objekt erstellen, die das Objekt
"Job Application" (Stellenbewerbung) ausdehnen, sodass es Felder auf den Objekten "Candidate
"(Bewerber) und "Position" (Stelle) referenziert. Sie werden bald feststellen, dass die
Verwendung von in Beziehung stehenden Daten einfacher ist, als es klingt.
Erstellen wir zunächst ein Formelfeld auf dem Objekt "Review", das den Titel der Stelle im
Stellenbewerbungsdatensatz referenziert, der dem Review übergeordnet ist.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Review.
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Formel und klicken Sie auf Weiter.
Geben Sie im Feld Feldbezeichnung den Text Position (Stelle) ein. Sobald
Sie den Cursor bewegen, wird das Textfeld Feldname automatisch mit "Position"
ausgefüllt.
6. Wählen Sie Text als Typ der Formelrückgabe und klicken Sie auf Weiter.
7. Klicken Sie auf die Schaltfläche Feld einfügen.
Das Overlay "Feld einfügen" wird angezeigt, wie unten zu sehen.
Abbildung55: Overlay "Feld einfügen"
8. Wählen Sie in der ersten Spalte den Eintrag "Review" aus.
Wenn Sie "Review" auswählen, werden in der zweiten Spalte alle Felder des Objekts "Review"
angezeigt sowie alle verwandten Objekte, die durch ein Größer-als-Zeichen (>) gekennzeichnet
sind. Beachten Sie, dass die Felder Created by (Erstellt von) und Last modified by
145
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
(Zuletzt geändert von) ebenfalls Größer-als-Zeichen aufweisen. Der Grund hierfür ist, dass
es sich dabei um Nachschlagefelder auf dem Objekt "Benutzer" handelt.
9. Wählen Sie in der zweiten Spalte sen Eintrag Job Application >
(Stellenbewerbung >) aus. In der dritten Spalte werden die Felder des Objekts "Job
Application" (Stellenbewerbung) angezeigt.
10. Wählen Sie in der dritten Spalte den Eintrag Position > (Stelle >) aus. In der
vierten Spalte werden die Felder des Objekts "Position" (Stelle) angezeigt.
Achten Sie darauf, Position > (mit dem Größer-als-Zeichen) auszuwählen, und nicht
Position. Der Eintrag mit dem Größer-als-Zeichen ist das Objekt "Position" (Stelle),
während es sich bei dem Eintrag ohne Größer-als-Zeichen um das Nachschlagefeld Position
(Stelle) auf dem Objekt "Job Application" (Stellenbewerbung) handelt. In den meisten Fällen
geben Formeln, die auf Nachschlagefelder zugreifen, eine kryptische Datensatz-ID zurück.
Stattdessen soll unsere Formel den Titel der Stelle zurückgeben.
11. Wählen Sie in der vierten Spalte den Eintrag Position Title (Stellentitel) aus.
12. Klicken Sie auf Einfügen.
Ihre Formel sieht nun wie folgt aus:
Job_Application__r.Position__r.Name
Die Formel erstreckt sich auf die zu dem Review gehörende Stellenbewerbung
(Job_Application__r), dann auf die zu der Stellenbewerbung gehörende Stelle
(Position__r) und verweist schließlich auf den Titel der Stelle (Name). Beachten Sie, dass
die einzelnen Teile der Formel durch einen Punkt getrennt sind und dass der Name der
Beziehung aus dem zugehörigen Objekt, gefolgt von __r besteht.
13. Klicken Sie auf Weiter.
14. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
15. Klicken Sie auf Speichern.
Damit ist unser erstes objektübergreifendes Formelfeld fertig. Versuchen wir es mit einem
weiteren. Diesmal fügen wir ein objektübergreifendes Formelfeld auf unserem Review-Objekt
hinzu, das den Vor- und Nachnamen des Bewerbers anzeigt, der im Review bewertet wird.
Außerdem fügen wir diesmal die Funktion HYPERLINK hinzu, damit die Benutzer auf den
Datensatz des Bewerbers zugreifen können, indem sie auf das Feld klicken.
1.
2.
3.
4.
146
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Review.
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Formel und klicken Sie auf Weiter.
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
5. Geben Sie im Feld Feldbezeichnung den Text Candidate (Bewerber) ein.
Sobald Sie den Cursor bewegen, wird das Textfeld Feldname automatisch mit
"Candidate" ausgefüllt.
6. Wählen Sie Text als Typ der Formelrückgabe und klicken Sie auf Weiter.
7. Doppelklicken Sie in der Liste Funktionen auf HYPERLINK.
Mit der Funktion HYPERLINK können Sie einen Hyperlink zu jedem beliebigen URL oder
Datensatz in Salesforce erstellen. Der Text des Hyperlinks kann vom eigentlichen URL
abweichen, was hier nützlich ist, da wir möchten, dass in unserem Hyperlink der Vor- und
Nachname des Bewerbers angezeigt wird, wohingegen der URL auf den Datensatz des
Bewerbers verweist.
8. Löschen Sie url aus der soeben eingefügten Funktion HYPERLINK, aber belassen
Sie den Cursor an dieser Stelle.
9. Klicken Sie auf die Schaltfläche Feld einfügen und wählen Sie Review >, Job
Application > (Stellenbewerbung >), Candidate > (Bewerber >), Record ID
(Datensatz-ID) und klicken Sie auf Einfügen.
Salesforce generiert für jeden Datensatz eine eindeutige ID. Wenn wir die Datensatz-ID des
Bewerbers in die Funktion HYPERLINK einfügen, kann unser Formelfeld den Datensatz des
Bewerbers finden und einen Link dazu herstellen.
10. Löschen Sie friendly_name aus der Funktion HYPERLINK, aber belassen Sie
den Cursor an dieser Stelle.
11. Klicken Sie auf die Schaltfläche Feld einfügen und wählen Sie Review >, Job
Application > (Stellenbewerbung >), Candidate > (Bewerber >), First Name
(Vorname) und klicken Sie auf Einfügen.
12. Geben Sie ein Leerzeichen ein und klicken Sie auf die Schaltfläche Operator
einfügen und wählen Sie die Option "Verketten".
Der Operator "Verketten" fügt ein Und-Zeichen (&) in die Formel ein und verknüpft die
Werte auf den beiden Seiten des Und-Zeichens. Wir verwenden hier nun den Operator
"Verketten", um den Vor- und den Nachnamen des Bewerbers in einem gemeinsamen Feld
zu verbinden, auch wenn sie im Objekt "Candidate" (Bewerber) in getrennten Feldern
gespeichert werden. Mit dem Operator "Verketten" können wir auch ein Leerzeichen zwischen
den beiden Namen einfügen, wie Sie im nächsten Schritt sehen werden.
13. Geben Sie ein weiteres Leerzeichen ein und geben Sie dann ein in Anführungsstriche
eingeschlossenes Leerzeichen ein, wie hier zu sehen:
" "
Dadurch wird nach dem Vornamen des Bewerbers ein Leerzeichen eingefügt.
147
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
14. Geben Sie ein Leerzeichen ein, klicken Sie auf die Schaltfläche Operator einfügen
und wählen Sie noch einmal die Option "Verketten" aus, um ein zweites Und-Zeichen
in Ihre Formel einzufügen.
15. Klicken Sie auf die Schaltfläche Feld einfügen und wählen Sie Review >, Job
Application > (Stellenbewerbung >), Candidate > (Bewerber >), Last Name
(Nachname) und klicken Sie auf Einfügen.
16. Löschen Sie [ target ] aus der Funktion HYPERLINK. Dies ist ein optionaler
Parameter, der für unser Formelfeld nicht nötig ist.
17. Klicken Sie auf Syntax prüfen, um die Formel auf Fehler zu überprüfen. Ihre fertige
Formel sollte wie folgt aussehen:
HYPERLINK
( Job_Application__r.Candidate__r.Id ,
Job_Application__r.Candidate__r.First_Name__c
&
" "
&
Job_Application__r.Candidate__r.Last_Name__c )
18. Klicken Sie auf Weiter.
19. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
20. Klicken Sie auf Speichern.
Puh! Diese Aufgabe erforderte ein wenig mehr Überlegung, doch der Denkaufwand hat sich
gelohnt: Die Benutzerfreundlichkeit unserer Anwendung wurde erheblich gesteigert, wie Sie
in Kürze sehen werden, wenn wir die Änderungen am Objekt "Review" testen. Bevor wir mit
den Tests beginnen, sollten wir jedoch noch rasch zwei weitere, einfache Felder hinzufügen,
um unser Review-Objekt fertigzustellen. Wir brauchen ein Textbereichsfeld für die
Einschätzung des Reviewers und ein Zahlenfeld, in dem der Reviewer einen Zahlenwert als
Bewertung für den Bewerber vergeben kann.
Klicken Sie unter "Setup" auf Erstellen > Objekte und wählen Sie das Objekt "Review" aus.
Verwenden Sie das Feld Neu in der Themenliste "Benutzerdefinierte Felder und Beziehungen",
um die restlichen benutzerdefinierten Felder für das Objekt "Review" gemäß der folgenden
Tabelle zu erstellen. Wo erforderlich, haben wir einige zusätzliche Werte angegeben, die Sie
ausfüllen müssen. Ansonsten sollten Sie alle Standardwerte übernehmen.
Tabelle15: Hinzufügen von benutzerdefinierten Feldern zum Objekt "Review"
Datentyp
Feldbezeichnung
Andere Werte
Textbereich (lang)
Assessment (Einschätzung)
Länge: 32,768
Anzahl sichtbarer Zeilen: 6
148
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Datentyp
Feldbezeichnung
Andere Werte
Zahl
Rating (Bewertung)
Länge: 1
Zum Speichern von
Datensätzen soll stets ein
Wert in diesem Feld
erforderlich sein
Hilfetext: Enter a 1-5
rating of the
candidate. (Bewertung
von 1 bis 5 für den
Bewerber eingeben.)
Fügen Sie abschließend eine Regel zur schnellen Validierung hinzu, um sicherzustellen, dass
im Feld "Rating" (Bewertung) nur die Zahlen 1 bis 5 akzeptiert werden. Dadurch bleibt unser
Bewertungssystem für Reviews in der gesamten Organisation konsistent.
1.
2.
3.
4.
5.
6.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Review.
Klicken Sie in der Themenliste "Validierungsregel" auf Neu.
Geben Sie im Textfeld Regelname den Wert Rating_Scale_Rule ein.
Aktivieren Sie das Kontrollkästchen Aktiv.
Geben Sie im Textfeld Beschreibung folgenden Text ein: Rating must be
between 1 and 5. (Bewertung muss im Bereich von 1 bis 5 liegen.)
7. Geben Sie folgende Fehlerbedingungsformel ein:
(Rating__c <1 || Rating__c > 5)
Diese Formel verhindert, dass der Datensatz gespeichert wird, wenn der Wert des
Felds Rating (Bewertung) kleiner als 1 oder größer als 5 ist.
8. Geben Sie im Textfeld Fehlermeldung folgenden Text ein: Invalid rating.
Rating must be between 1 and 5. (Ungültige Bewertung. Bewertung
muss im Bereich von 1 bis 5 liegen.)
9. Wählen Sie neben dem Feld Fehlerposition das Optionsfeld Feld aus und
wählen Sie dann in der Dropdownliste den Eintrag Rating (Bewertung).
10. Klicken Sie auf Speichern.
Das Objekt "Review" ist nun fertig. Wir haben mehrere Funktionen hinzugefügt, mit denen
die Benutzer auf die Daten zugreifen können, die sie benötigen, um die einzelnen
Stellenbewerbungen zu beurteilen. Es gibt nur noch eine weitere kleine Verbesserung, die wir
149
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
vornehmen müssen, um den Review-Prozess für Stellenbewerbungen zu rationalisieren. Dazu
kehren wir noch einmal zum Objekt "Job Application (Stellenbewerbung) zurück und nutzen
einen der Vorteile, die uns die Verwendung einer Master-Detail-Beziehung bietet.
Einführung zu Rollup-Zusammenfassungsfeldern
Mithilfe des Bewertungssystems, das wir für das Objekt "Review" erstellt haben, können
Benutzer schnell die Meinung der einzelnen Reviewer bezüglich der Eignung eines Bewerbers
für die jeweilige Stelle anzeigen. Jede einzelne Meinung ist zwar wichtig, aber es wäre noch
besser, wenn diese Bewertungen so kombiniert werden könnten, dass eine Zusammenfassung
der Leistung des Bewerbers angezeigt wird. Wäre es zum Beispiel nicht toll, wenn wir für
jeden Stellenbewerbungsdatensatz ein Feld Total Rating (Gesamtbewertung) hätten, in
dem die Summe aller Review-Bewertungen für die Stellenbewerbung angezeigt wird?
Das lässt sich einrichten! Über ein einfaches Rollup-Zusammenfassungsfeld für das Objekt
"Job Application" (Stellenbewerbung) können die Daten von einer Gruppe verwandter
Detaildatensätze zusammengefasst werden und die Ausgabe kann in einem Master-Datensatz
angezeigt werden. Verwenden Sie Rollup-Zusammenfassungsfelder, um die Summe, den
Mindestwert oder den Höchstwert für ein Feld in einer Themenliste oder die Anzahl aller in
einer Themenliste aufgeführten Datensätze anzuzeigen.
Probieren Sie es aus: Erstellen von
Rollup-Zusammenfassungsfeldern
Beginnen Sie mit der Erstellung Ihres Rollup-Zusammenfassungsfelds genau wie mit der
Erstellung eines anderen benutzerdefinierten Felds:
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Job Application (Stellenbewerbung).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Rollup-Zusammenfassung und klicken Sie auf Weiter.
Wenn Sie ein Feld für ein Objekt erstellen, das in einer Master-Detail-Beziehung nicht als
Master fungiert, ist der Datentyp Rollup-Zusammenfassung nicht verfügbar. Das liegt
daran, dass Rollup-Zusammenfassungsfelder nur für das Master-Objekt in einer
Master-Detail-Beziehung zu Verfügung stehen.
150
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
5. Geben Sie in das Feld Feldbezeichnung den Text Total Rating
(Gesamtbewertung) ein. Sobald Sie den Cursor weiter bewegen, wird das Textfeld
Feldname automatisch mit dem Ausdruck "Total_Rating" ausgefüllt.
6. Klicken Sie auf Weiter.
7. Wählen Sie in der Dropdownliste Zusammengefasstes Objekt den Eintrag
"Reviews" aus.
8. Wählen Sie unter "Rollup-Typ auswählen" die Option SUM aus.
9. Wählen Sie in der Dropdownliste Zu aggregierendes Feld den Eintrag
Bewertung aus.
10. Lassen Sie die Option Alle Datensätze sollen in die Berechnung
einbezogen werden aktiviert und klicken Sie auf Weiter.
11. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
12. Klicken Sie auf Speichern.
Nun werden die Bewertungen der verwandten Reviews in unseren Stellenbewerbungsdatensätzen
aggregiert. Diese Daten könnten jedoch leicht trügen, da einige Stellenbewerbungen
möglicherweise über mehrere Reviews verfügen als andere. Es wäre sinnvoller, wenn wir die
durchschnittliche Bewertung anzeigen könnten.
Mit Rollup-Zusammenfassungsfeldern selbst ist es nicht möglich, die durchschnittlichen Werte
insgesamt anzuzeigen, Sie können sie jedoch in Formeln verwenden, um diese Werte zu
berechnen. Erstellen wir ein zweites Rollup-Zusammenfassungsfeld für das Objekt "Job
Application" (Stellenbewerbung) und anschließend ein einfaches Formelfeld, in dem beide
Rollup-Zusammenfassungsfelder zur Ermittlung der durchschnittlichen Bewertung
herangezogen werden.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Job Application (Stellenbewerbung).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Rollup-Zusammenfassung und klicken Sie auf Weiter.
Geben Sie im Feld Feldbezeichnung den Text Number of Reviews (Anzahl
der Reviews) ein. Sobald Sie den Cursor weiter bewegen, wird das Textfeld
Feldname automatisch mit dem Ausdruck "Number_of_Reviews" ausgefüllt.
6. Klicken Sie auf Weiter.
7. Wählen Sie in der Dropdownliste Zusammengefasstes Objekt den Eintrag
"Reviews" aus.
8. Wählen Sie unter "Rollup-Typ auswählen" die Option COUNT aus.
In diesem Fall müssen wir kein Zu aggregierendes Feld angeben, da wir nur die Anzahl
der verwandten Detaildatensätze zählen und uns nicht für ein spezielles Feld interessieren.
151
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
9. Lassen Sie die Option Alle Datensätze sollen in die Berechnung
einbezogen werden aktiviert und klicken Sie auf Weiter.
10. Übernehmen Sie die restlichen Standardeinstellungen für Feldebenensicherheit und
Seitenlayout.
11. Klicken Sie auf Speichern.
Nun befinden sich beide Rollup-Zusammenfassungsfelder an der richtigen Stelle. Erstellen
wir ein Formelfeld mit dem Namen Average Rating (Durchschnittliche Bewertung), in
dem der Wert des ersten Rollup-Zusammenfassungsfelds durch den Wert des zweiten Felds
geteilt wird.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Job Application (Stellenbewerbung).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie den Datentyp Formel und klicken Sie auf Weiter.
Geben Sie im Feld Feldbezeichnung den Text Average Rating
(Durchschnittliche Bewertung) ein. Sobald Sie den Cursor weiter bewegen, wird
das Textfeld Feldname automatisch mit dem Ausdruck "Average_Rating" ausgefüllt.
6. Wählen Sie Anzahl als Typ der Formelrückgabe aus und klicken Sie auf Weiter.
7. Klicken Sie auf die Schaltfläche Feld einfügen.
8. Wählen Sie Job Application (Stellenbewerbung) und anschließend Total
Rating (Gesamtbewertung) aus und klicken Sie auf Einfügen.
9. Klicken Sie auf die Schaltfläche Operator einfügen und wählen Sie Dividieren
aus.
10. Klicken Sie erneut auf Feld einfügen.
11. Wählen Sie Job Application (Stellenbewerbung) und anschließend Number
of Reviews (Anzahl der Reviews) aus und klicken Sie auf Einfügen. Ihre Formel
sollte wie folgt aussehen:
Total_Rating__c / Number_of_Reviews__c
12. Klicken Sie auf Weiter.
13. Übernehmen Sie die Standardwerte in den restlichen Schritten des Assistenten.
14. Klicken Sie auf Speichern.
Damit sind alle Felder und Beziehungen abgeschlossen, die wir zum Verwalten der Reviews
benötigen. Ordnen wir schnell die Darstellung unserer Felder an und testen wir anschließend
alle Elemente, die wir erstellt haben.
152
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Probieren Sie es aus: Anpassen des Seiten- und
Suchlayouts für das Objekt "Review"
Zuerst aktualisieren wir das Seitenlayout des Objekts "Review", sodass das Textfeld
Assessment (Einschätzung) in einem einspaltigen Abschnitt mit demselben Namen angezeigt
wird.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Review.
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Review-Layout" auf
Bearbeiten.
4. Ziehen Sie den neuen Bereich direkt unter den Abschnitt "Systeminformationen".
Daraufhin wird das Dialogfeld "Abschnitteigenschaften" geöffnet.
5. Geben Sie dem Abschnitt den Namen Assessment (Einschätzung) und
konfigurieren Sie ihn so, dass er eine Spalte enthält.
6. Ziehen Sie die Felder Assessment (Einschätzung) und Rating (Bewertung) in
den Abschnitt "Assessment" (Einschätzung).
7. Klicken Sie auf Speichern.
Nun konfigurieren wir die Suchlayouts für "Review", sodass Reviews immer zusammen mit
der zugeordneten Stellenbewerbung, Stelle und dem entsprechenden Bewerber angezeigt
werden.
1. Klicken Sie auf der Detailseite des Objekts "Review" in der Themenliste "Suchlayouts"
neben den Nachschlagefenstern auf Bearbeiten und fügen Sie folgende Felder hinzu:
•
•
•
•
•
•
Review Number (Review-Nummer)
Rating (Bewertung)
Job Application (Stellenbewerbung)
Candidate (Bewerber)
Position (Stelle)
Created Date (Erstelldatum)
2. Wiederholen Sie den Vorgang für das Layout "Suchfilterfelder".
Um die Themenliste "Reviews", die auf der Detailseite "Job Application" (Stellenbewerbung)
angezeigt wird, zu aktualisieren, müssen wir die Themenliste direkt im Seitenlayout für "Job
Application" (Stellenbewerbung) bearbeiten. Dies unterscheidet sich von der Vorgehensweise,
die wir beim Hinzufügen von Feldern in der Themenliste "Job Application" (Stellenbewerbung)
auf den Stellen- und Bewerberdetailseiten angewendet haben, da dem Objekt "Review" keine
Registerkarte zugeordnet ist und es daher nicht über ein Suchlayout verfügt. Wir erinnern uns:
153
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Das Suchlayout der Registerkarte ist sowohl für die Felder verantwortlich, die in der Liste auf
der Registerkarte "Startseite" angezeigt werden, als auch für die Standardfelder, die in
Themenlisten auf den Detailseiten anderer Objekte angezeigt werden.
Anmerkung: Das Suchlayout der Registerkarte ist nur dann für die Felder im Layout
der Themenliste verantwortlich, wenn die Eigenschaften der Themenliste auf den
Seitenlayouts der anderen Objekte nicht geändert wurden. Wenn Sie beispielsweise
die Eigenschaften der Themenliste "Job Application" (Stellenbewerbung) im
Seitenlayout für "Position" (Stelle) ändern, überschreiben diese Änderungen immer
die Feldangaben im Suchlayout der Registerkarte "Job Application"
(Stellenbewerbung).
Da das Objekt "Review" nicht über ein Registerkartensuchlayout verfügt, müssen wir die Werte
für diese Felder auf eine andere Weise festlegen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Job Application (Stellenbewerbung).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Job Application-Layout"
(Stellenbewerbung-Layout) auf Bearbeiten.
4. Suchen Sie im Seitenlayout für "Job Application" (Stellenbewerbung) nach der
Themenliste "Reviews" und klicken Sie auf das Schraubenschlüsselsymbol ( ), um
die zugehörigen Eigenschaften zu bearbeiten.
5. Fügen Sie im Dialogfeld "Themenlisteneigenschaften" im Feld "Ausgewählte Felder"
folgende Felder hinzu:
•
•
•
•
•
Review Number (Review-Nummer)
Rating (Bewertung)
Candidate (Bewerber)
Position (Stelle)
Created Date (Erstelldatum)
6. Wählen Sie in der Dropdownliste Sortieren nach den Eintrag "Review Number"
(Review-Nummer) aus.
7. Klicken Sie auf OK.
8. Klicken Sie auf der Bearbeitungsseite des Seitenlayouts auf Speichern.
154
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Probieren Sie es aus: Anpassen der
Datensatzhervorhebungen für Reviews
Erstellen wir nun ein benutzerdefiniertes kompaktes Layout, mit dem Benutzer beim Anzeigen
von Review-Datensätzen mehr Kontext erhalten.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Review.
3. Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu, um ein kompaktes
Layout mit folgenden Feldern zu erstellen: Geben Sie unter Bezeichnung einen
Namen ein und passen Sie die Reihenfolge mithilfe der Schaltflächen Nach oben
und Nach unten an.
•
•
•
•
Review Number (Review-Nummer)
Rating (Bewertung)
Candidate (Bewerber)
Ersteller
4. Klicken Sie auf Speichern und weisen Sie dann das neue kompakte Layout als
primäres kompaktes Layout für Reviews zu.
Rekapitulation
Hervorragend! Sehen wir uns einmal an, was wir bisher gemacht haben:
1. Klicken Sie auf die Registerkarte "Job Applications" (Stellenbewerbungen) und
wählen Sie einen Datensatz aus oder erstellen Sie einen neuen Datensatz.
Tipp: Wenn Sie die Nachschlagefenster "Candidate" (Bewerber) und "Position"
(Stelle) beim Erstellen eines Stellenbewerbungsdatensatzes verwenden, beachten Sie,
dass darin standardmäßig nur die zuletzt angezeigten Datensätze aufgeführt werden.
Sie können mithilfe des Suchfelds weitere Datensätze suchen, mit denen Datensätze
jeweils anhand der Felder Candidate Number (Bewerbernummer) oder Position
Title (Stellentitel) ausgegeben werden.
Verwenden Sie das Platzhalterzeichen * zusammen mit anderen Zeichen, um Ihre
Suchergebnisse zu optimieren. Wenn Sie beispielsweise nach "C*" suchen, werden
alle Bewerberdatensätze zurückgegeben. Genauso werden bei einer Suche nach "*e"
alle Stellendatensätze zurückgegeben, in deren Titel der Buchstabe "e" enthalten ist.
155
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Beachten Sie, dass nach der Erstellung der Stellenbewerbung die Themenliste "Reviews" auf
der Detailseite "Job Application" (Stellenbewerbung) angezeigt wird. Das liegt daran, dass wir
das Objekt "Review" über eine Master-Detail-Beziehung mit dem Objekt "Job Application"
(Stellenbewerbung) verbunden haben.
2. Klicken Sie in der Themenliste "Reviews" zum Erstellen eines Reviews auf New
Review (Neuer Review).
Können Sie sehen, wie die Plattform automatisch die Stellenbewerbungsnummer in die
Bearbeitungsseite des Reviews eingefügt hat? Das ist einer der kleinen, aber wichtigen Vorteile
bei der Verwendung der Plattform zum Erstellen einer solchen Anwendung. Es ist nicht nur
einfach, Links und Beziehungen zwischen Objekten zu erstellen, sondern die Plattform sieht
voraus, was wir tun möchten, und unterstützt uns beim Ausführen unserer Aufgabe mit
möglichst wenig Aufwand.
3. Füllen Sie die Felder für den Review aus und klicken Sie auf Speichern.
Beachten Sie, dass der Name des Bewerbers und der Stellentitel auf der Detailseite des Reviews
angezeigt werden. Wenn Sie auf den Namen des Bewerbers klicken, wird sein Datensatz
angezeigt.
Bevor wir fortfahren, sehen wir uns noch einmal den Review an, den wir mit unserem
kompakten Layout in Salesforce1 erstellt haben.
1. Öffnen Sie das Navigationsmenü in Salesforce1 und tippen Sie auf Mehr anzeigen
> Job Applications (Stellenbewerbungen).
2. Tippen Sie auf JA-00001, um den soeben erstellten Stellenbewerbungsdatensatz zu
öffnen.
3. Streichen Sie mit dem Finger zur Seite mit den zugehörigen Informationen.
4. Tippen Sie auf die Vorschaukarte für die Reviews, um alle Reviews anzuzeigen, die
dieser Anwendung zugeordnet sind.
5. Tippen Sie auf R-000001, um den Review-Datensatz aufzurufen.
Fahren Sie fort und erstellen Sie durch Tippen – oder Klicken, sofern Sie sich wieder auf der
vollständigen Site befinden – in der restlichen Anwendung ein paar weitere Stellen,
Stellenbewerbungen, Bewerber und Reviews. Nicht schlecht, oder? Unsere Daten sind alle
untereinander verbunden und unsere Änderungen in den Suchlayouts ermöglichen es uns,
Details zu vielen verwandten Objekten gleichzeitig anzuzeigen.
156
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Erstellen einer n:n-Beziehung
Unsere Personalbeschaffungsanwendung verfügt nun über mehrere n:1-Beziehungen. Wie
gehen wir aber vor, wenn wir eine n:n-Beziehung erstellen müssen? Was tun wir beispielsweise,
wenn wir über ein Objekt verfügen, in dem Daten zu verschiedenen Jobbörsen enthalten sind,
und wir verfolgen möchten, welche offenen Stellen auf diesen Jobbörsen ausgeschrieben wurden?
Hierfür wäre aus folgenden Gründen eine n:n-Beziehung erforderlich:
•
•
Eine Stelle könnte auf mehreren Jobbörsen ausgeschrieben sein.
Auf einer Jobbörse können mehrere Stellen aufgelistet sein.
An dieser Stelle werden wir ein wenig kreativ. Anstatt ein Beziehungsfeld für das Objekt
"Position" (Stelle) zu erstellen, mit dem eine direkte Verbindung zum Objekt "Employment
Website" (Jobbörse) hergestellt wird, können wir sie über ein Verknüpfungsobjekt miteinander
verbinden. Bei einem Verknüpfungsobjekt handelt es sich um ein benutzerdefiniertes Objekt
mit zwei Master-Detail-Beziehungen. Es ist für n:n-Beziehungen von zentraler Bedeutung.
Für unsere Anwendung erstellen wir ein Verknüpfungsobjekt namens "Job Posting"
(Stellenausschreibung). Eine Stellenausschreibung passt in den Bereich zwischen Stellen und
Jobbörsen – eine Stelle kann mehrmals ausgeschrieben werden und eine Jobbörse kann über
mehrere Stellenausschreibungen verfügen, eine Stellenausschreibung stellt jedoch immer eine
Veröffentlichung einer einzelnen Stelle auf einer einzelnen Jobbörse dar. Im Grunde verfügt
das Objekt "Job Posting" (Stellenausschreibung) jeweils über eine n:1-Beziehung mit den
Objekten "Position" (Stelle) und "Employment Website" (Jobbörse). Durch diese vielen
n:1-Beziehungen ergibt sich eine n:n-Beziehung zwischen den beiden Objekten "Position"
(Stelle) und "Employment Website" (Jobbörse).
Tipp: Bei vielen Anwendungen besteht der Zweck eines Verknüpfungsobjekts lediglich
darin, zwei Objekte einfach miteinander zu verbinden. Daher ist es häufig sinnvoll,
dem Verknüpfungsobjekt einen Namen zu geben, der auf die Zuordnung oder die
Beziehung hinweist, die dadurch erstellt wird. Wenn Sie beispielsweise ein
Verknüpfungsobjekt verwenden möchten, um eine n:n-Beziehung zwischen "bugs"
(Fehler) und "cases" (Fälle) zu erstellen, könnten Sie als Namen für das
Verknüpfungsobjekt BugCaseAssociation wählen.
Sehen wir uns also ein typisches Szenario bei Universal Containers an. Es gibt offene Stellen
für einen Project Manager und eine Sr. Developer. Die Project Manager-Stelle ist nur auf
Monster.com ausgeschrieben worden. Da die Sr. Developer-Stelle schwieriger zu besetzen ist,
wurde sie sowohl auf Monster.com als auch auf Dice ausgeschrieben. Immer wenn eine Stelle
ausgeschrieben wird, wird die Ausschreibung anhand eines Stellenausschreibungsdatensatzes
157
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
verfolgt. Wie Sie dem folgenden Diagramm entnehmen können, kann eine Stelle mehrmals
ausgeschrieben werden und beide Stellen können auf derselben Jobbörse ausgeschrieben werden.
Abbildung56: Erstellen einer n:n-Beziehung zwischen "Positions" (Stellen) und
"Employment Websites" (Jobbörsen) mithilfe des Objekts "Job Posting"
(Stellenausschreibung)
In Bezug auf die relationale Datenbank heißt das, dass jeder Stellenausschreibungsdatensatz
eine Zeile in der Tabelle "Job Posting" (Stellenausschreibung) ist und aus einem Fremdschlüssel
zu einem Stellendatensatz und einem Fremdschlüssel zu einem Stellenbörsendatensatz besteht.
Diese Beziehung wird im folgenden Entity-Relationship-Diagramm dargestellt.
Abbildung57: Entity-Relationship-Diagramm für die Objekte "Position" (Stelle), "Job
Posting" (Stellenausschreibung) und "Employment Website" (Jobbörse)
Folglich müssen wir zum Erstellen einer n:n-Beziehung zwischen den Objekten "Position"
(Stelle) und "Employment Website" (Jobbörse) das Objekt "Job Posting" (Stellenausschreibung)
mit den folgenden Feldern erstellen:
•
•
Eine Master-Detail-Beziehung für "Position" (Stelle)
Eine Master-Detail-Beziehung für "Employment Website" (Jobbörse)
Legen wir also los.
158
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Probieren Sie es aus: Erstellen des Objekts
"Employment Website" (Jobbörse)
Um das benutzerdefinierte Objekt "Employment Website" (Jobbörse) zu erstellen, klicken Sie
unter "Setup" auf Erstellen > Objekte, klicken Sie auf Neues benutzerdefiniertes Objekt
und füllen Sie die Seite gemäß der folgenden Tabelle aus.
Tabelle16: Werte für die Definition des Objekts "Employment Website" (Jobbörse)
Feld
Wert
Bezeichnung
Employment Website (Jobbörse)
Bezeichnung – Plural
Employment Websites (Jobbörsen)
Beginnt mit Vokal
Aktiviert
Objektname
Employment_Website
Beschreibung
Information about a particular employment
website (Informationen zu einer bestimmten
Jobbörse)
Einstellungen für die kontextabhängige Hilfe Öffnen des Standardfensters von Salesforce
Hilfe & Schulung
Datensatzname
Employment Website Name (Jobbörse: Name
der Jobbörse)
Datentyp
Text
Berichte zulassen
Aktiviert
Aktivitäten zulassen
Aktiviert
Feldverlauf verfolgen
Aktiviert
Bereitstellungsstatus
Bereitgestellt
Notizen und Anhänge zum
Standardseitenlayout hinzufügen
Aktiviert
Nach dem Speichern dieses
Aktiviert
benutzerdefinierten Objekts den Assistenten
für eine neue benutzerdefinierte Registerkarte
starten
159
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Zur Erstellung der Registerkarte "Employment Website" (Jobbörse) wählen Sie im ersten
Schritt des Assistenten einen Registerkartenstil aus und übernehmen Sie dann alle
Standardwerte, bis Sie zur Seite "Fügen Sie sie benutzerdefinierten Anwendungen hinzu."
gelangen. Wählen Sie auf dieser Seite nur die Personalbeschaffungsanwendung aus und klicken
Sie dann auf Speichern.
Schließen wir die Erstellung des benutzerdefinierten Objekts "Employment Website" (Jobbörse)
ab, indem wir einige benutzerdefinierte Felder hinzufügen.
Probieren Sie es aus: Hinzufügen des URL-Felds
zum Objekt "Employment Website" (Jobbörse)
Offensichtlich muss im Objekt "Employment Website" (Jobbörse) die Webadresse der Jobbörse
gespeichert sein. Wir verwenden den Datentyp "URL" für dieses Feld. Durch Klicken auf das
Feld wird somit der URL in einem separaten Browserfenster geöffnet. Da die meisten Jobbörsen
pro Ausschreibung abrechnen, möchten wir neben dem URL auch den Überblick darüber
behalten, wie viel Stellenausschreibungen dort kosten, sowie unser maximales Budget für
Stellenausschreibungen auf der Website angeben.
Klicken Sie unter "Setup" auf Erstellen > Objekte und klicken Sie dann auf Employment
Website (Jobbörse), um die zugehörige Detailseite anzuzeigen. Klicken Sie in der Themenliste
"Benutzerdefinierte Felder und Beziehungen" auf Neu, um drei benutzerdefinierte Felder
gemäß der folgenden Tabelle zu erstellen. Wo erforderlich, haben wir einige zusätzliche Werte
angegeben, die Sie beim Erstellen der Felder ausfüllen müssen. Anderenfalls können Sie einfach
alle Standardwerte übernehmen.
Tabelle17: Hinzufügen dreier benutzerdefinierter Felder zum Objekt "Employment
Website" (Jobbörse)
Datentyp
Feldbezeichnung
Andere Werte
URL
Web Address (Jobbörse:
Webadresse)
Erforderlich
Währung
Price Per Post (Preis pro
Ausschreibung)
Länge: 5
Dezimalstellen: 2
Erforderlich
Währung
160
Maximum Budget (Maximales Länge: 6
Budget)
Dezimalstellen: 2
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Datentyp
Feldbezeichnung
Andere Werte
Erforderlich
Probieren Sie es aus: Erstellen des Objekts "Job
Posting" (Stellenausschreibung)
Nun ist es an der Zeit, das Verknüpfungsobjekt "Job Posting" (Stellenausschreibung) zu
erstellen. Klicken Sie unter "Setup" auf Erstellen > Objekte, klicken Sie auf Neues
benutzerdefiniertes Objekt und füllen Sie die Seite gemäß der folgenden Tabelle aus.
Tabelle18: Werte für die Definition des Objekts "Job Posting" (Stellenausschreibung)
Feld
Wert
Bezeichnung
Job Posting (Stellenausschreibung)
Bezeichnung – Plural
Job Postings (Stellenausschreibungen)
Objektname
Job_Posting
Beschreibung
Represents the junction object between a
position and an employment website (Stellt
das Verbindungsobjekt zwischen einer Stelle
und einer Jobbörse dar)
Einstellungen für die kontextabhängige Hilfe Öffnen des Standardfensters von Salesforce
Hilfe & Schulung
Datensatzname
Job Posting Number
(Stellenausschreibungsnummer)
Datentyp
Automatisch nummerieren
Anzeigeformat
JP-{00000}
Startnummer
00001
Berichte zulassen
Ja
Aktivitäten zulassen
Ja
Feldverlauf verfolgen
Ja
Bereitstellungsstatus
Bereitgestellt
161
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Feld
Wert
Notizen und Anhänge zum
Standardseitenlayout hinzufügen
Ja
Nach dem Speichern dieses
Nein
benutzerdefinierten Objekts den Assistenten
für eine neue benutzerdefinierte Registerkarte
starten
Das war recht einfach, aber wir sind noch nicht ganz fertig. Wir müssen die
Master-Detail-Beziehungsfelder erstellen, die das Objekt "Job Posting" (Stellenausschreibung)
in Bezug zu den Objekten "Position" (Stelle) und "Employment Website" (Jobbörse) setzen.
Probieren Sie es aus: Hinzufügen von Feldern
zum Objekt "Job Posting" (Stellenausschreibung)
Um das Objekt "Job Posting" (Stellenausschreibung) in das Verknüpfungsobjekt umzuwandeln,
das die Objekte "Position" (Stelle) und "Employment Website" (Jobbörse) in Bezug zueinander
setzt, müssen wir zwei Master-Detail-Beziehungsfelder hinzufügen. Die erste
Master-Detail-Beziehung ist die primäre Beziehung. Die Detail- und Bearbeitungsseiten des
Verknüpfungsobjekts ("Job Posting" (Stellenausschreibung)) verwenden die Farbe und etwaige
verbundene Symbole des primären Masterobjekts ("Position" (Stelle)). Außerdem übernehmen
die Verknüpfungsobjekt-Datensätze den Wert des Felds "Inhaber" und die
Freigabeeinstellungen vom zugehörigen primären Master-Datensatz.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Job Posting (Stellenausschreibung).
Klicken Sie in der Themenliste "Benutzerdefinierte Felder & Beziehungen" auf Neu.
Wählen Sie Master-Detail-Beziehung aus und klicken Sie auf Weiter.
Wählen Sie in der Dropdown-Liste Bezug zu die Option "Position" (Stelle) aus
und klicken Sie auf Weiter.
6. Geben Sie im Textfeld Feldbezeichnung den Wert Position (Stelle) ein.
Wenn Sie den Cursor bewegen, sollte das Textfeld Feldname ebenfalls automatisch
mit "Position" ausgefüllt werden.
7. Übernehmen Sie die restlichen Standardwerte und klicken Sie auf Weiter, bis Sie
den abschließenden Schritt des Assistenten erreichen.
Hier erhalten wir die Chance, die Themenliste "Job Postings" (Stellenausschreibungen) zum
Seitenlayout des Objekts "Position" (Stelle) hinzuzufügen. Anstatt Informationen zu verwandten
162
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Stellenausschreibungen anzuzeigen, soll diese Liste alle Jobbörsen enthalten, in denen diese
Stelle ausgeschrieben ist. Fügen wir also die Themenliste "Job Posting" (Stellenausschreibung)
hinzu, aber benennen wir sie in Employment Websites (Jobbörsen) um.
8. Geben Sie im Textfeld Bezeichnung für Themenliste den Text Employment
Websites (Jobbörsen) ein.
9. Übernehmen Sie die restlichen Standardwerte und klicken Sie auf Speichern &
Neu.
Wir haben nun die Erstellung unserer n:n-Beziehung zur Hälfte geschafft. Der nächste Schritt
besteht darin, eine zweite Master-Detail-Beziehung auf dem Objekt "Job Posting"
(Stellenausschreibung) zu erstellen, um es mit dem Objekt "Employment Website" (Jobbörse)
zu verknüpfen.
Durch die zweite Master-Detail-Beziehung wird eine sekundäre Beziehung erstellt. Im
Gegensatz zur primären Beziehung hat die sekundäre Beziehung keine Auswirkungen auf das
Erscheinungsbild des Verknüpfungsobjekts. Wie bei der primären Beziehung wirken sich
jedoch die Freigabeeinstellungen des Master-Objekts in der sekundären Beziehung auch darauf
aus, welche Personen auf den Verknüpfungsdatensatz zugreifen können, und beim Löschen
eines Datensatzes des sekundären Master-Objekts werden automatisch auch die zugehörigen
Verknüpfungsobjektdatensätze gelöscht. Für unsere Anwendung bedeutet dies: Wenn Sie
einen Datensatz für eine Jobbörse löschen, werden auch alle zugehörigen Datensätze zu
Stellenausschreibungen gelöscht, selbst wenn die betreffende Stelle offen ist.
10. Wählen Sie Master-Detail-Beziehung aus und klicken Sie auf Weiter.
11. Wählen Sie in der Dropdown-Liste Bezug zu die Option "Employment Website"
(Jobbörse) aus und klicken Sie auf Weiter.
12. Geben Sie im Textfeld Feldbezeichnung den Wert Employment Website
(Jobbörse) ein. Wenn Sie den Cursor bewegen, sollte das Textfeld Feldname
ebenfalls automatisch mit "Employment_Website" ausgefüllt werden.
13. Klicken Sie auf Weiter. Da wir eine Master-Detail-Beziehung erstellen, können
diese Einstellungen nicht geändert werden.
14. Klicken Sie auf Weiter. Auch diese Einstellungen können nicht geändert werden.
15. Klicken Sie auf Weiter, um den abschließenden Schritt des Assistenten anzuzeigen.
Diesmal haben wir die Möglichkeit, die Themenliste "Job Postings" (Stellenausschreibungen)
zum Seitenlayout des Objekts "Employment Website" (Jobbörse) hinzuzufügen. Schließlich
konfigurieren wir diese Themenliste so, dass alle Stellen angezeigt werden, die auf dieser
Website ausgeschrieben werden. Fügen wir also die Themenliste "Job Postings"
(Stellenausschreibungen) hinzu, aber benennen wir sie in Positions (Stellen) um.
16. Geben Sie im Textfeld Bezeichnung für Themenliste den Text Positions
(Stellen) ein.
163
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
17. Übernehmen Sie die restlichen Standardwerte und klicken Sie auf Speichern.
Nun ist unsere n:n-Beziehung vollständig. Oder etwa doch nicht?
Es gibt nun zwar die Themenliste "Employment Websites" (Jobbörsen) auf dem Objekt
"Position" (Stelle) und die Themenliste "Positions "(Stellen) auf dem Objekt "Employment
Websites" (Jobbörsen), aber in beiden Themenlisten werden noch immer
Stellenausschreibungsdatensätze angezeigt. Das geht so nicht.
Um unser Ziel, nämlich mehrere Stellen in einem Jobbörsendatensatz und mehrere Jobbörsen
in einem Stellendatensatz, zu erreichen, müssen wir die Felder in diesen Themenlisten anpassen.
Anpassen benutzerdefinierter Themenlisten in
einer n:n-Beziehung
Die Funktion zur Anpassung benutzerdefinierter Themenlisten in einer n:n-Beziehung ist
wesentlich robuster als die Funktion zur Anpassung von Themenlisten in einer
Nachschlagebeziehung. Wenn eine Nachschlagebeziehung zwischen zwei Objekten vorliegt
(wie diejenige, die wir zwischen den Objekten "Job Application" (Stellenbewerbung) und
"Candidate" (Bewerber) erstellt haben), kann die Themenliste bei einem Objekt nur Felder
aus dem Objekt anzeigen, mit dem es direkt in Bezug steht. Sie kann sich nicht auf andere
Objekte erstrecken, wie dies bei Formeln möglich ist. Beispielsweise kann die Themenliste
"Job Applications" (Stellenbewerbungen) in einem Bewerberdatensatz jegliche
Stellenbewerbungsfelder anzeigen, sie kann jedoch keine Felder aus dem Objekt "Position"
(Stelle) anzeigen, selbst wenn das Objekt "Job Application" (Stellenbewerbung)
Nachschlagebeziehungen zu den Objekten "Candidate" (Bewerber) und "Position" (Stelle)
aufweist.
Glücklicherweise bieten n:n-Beziehungen eine größere Flexibilität. Bei der Arbeit mit einer
n:n-Beziehung kann die Themenliste des Verknüpfungsobjekts in einem Master-Objekt die
Felder des anderen Master-Objekts anzeigen. Wir machen uns dies zunutze, indem wir die
Themenliste "Positions" (Stellen) in den einzelnen Jobbörsen-Datensätzen so konfigurieren,
dass Felder aus dem Objekt "Position" (Stelle) angezeigt werden und umgekehrt, sodass sich
diese beiden Objekte aufeinander erstrecken. Hier schließt sich der Kreis.
164
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Probieren Sie es aus: Anpassen der Themenlisten
für Stellen und Jobbörsen
Bearbeiten wir zunächst die Themenliste "Employment Websites" (Jobbörsen) auf dem Objekt
"Position" (Stelle).
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Position Layout"
(Stelle-Layout) auf Bearbeiten.
4. Suchen Sie die Themenliste "Employment Websites" (Jobbörsen) und klicken Sie
auf das zugehörige Schraubenschlüsselsymbol ( ).
Im Popup-Fenster, das eingeblendet wird, werden in der Spalte Verfügbare Felder Felder
aus dem Objekt "Job Posting" (Stellenausschreibung) und aus dem Objekt "Employment
Website" (Jobbörse) angezeigt. Wenn keine Master-Detail-Beziehung zwischen
Stellenausschreibungen und Jobbörsen bestünde, würden in der Liste Verfügbare Felder
ausschließlich Felder zu Stellenausschreibungen angezeigt.
5. Verschieben Sie die Felder Employment Website: Employment Website
Name (Jobbörse: Name der Jobbörse) und Employment Website: Web Address
(Jobbörse: Webadresse) in die Spalte Ausgewählte Felder und bringen Sie die
Felder mithilfe des Aufwärts- und des Abwärtspfeils in folgende Reihenfolge:
•
Employment Website: Employment Website Name (Jobbörse: Name
der Jobbörse)
•
•
Employment Website: Web Address (Jobbörse: Webadresse)
Job Posting: Job Number (Stellenausschreibung:
Stellenausschreibungsnummer)
6. Klicken Sie auf OK.
7. Klicken Sie im Seitenlayout auf Speichern.
Führen Sie nun denselben Vorgang für die Themenliste "Positions" (Stellen) auf dem Objekt
"Employment Website" (Jobbörse) aus. Gehen Sie dazu wie folgt vor:
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Employment Website (Jobbörse).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Employment Website Layout"
(Jobbörse-Layout) auf Bearbeiten.
165
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
4. Suchen Sie die Themenliste "Positions" (Stellen) und klicken Sie auf das zugehörige
Schraubenschlüsselsymbol ( ).
5. Verschieben Sie die folgenden Felder in die Spalte Ausgewählte Felder und
bringen Sie die Felder mithilfe des Aufwärts- und des Abwärtspfeils in folgende
Reihenfolge:
•
•
Position: Position Title (Stelle: Stellentitel)
Job Posting: Job Number (Stellenausschreibung:
Stellenausschreibungsnummer)
•
•
•
Position: Functional Area (Stelle: Funktionsbereich)
Position: Location (Stelle: Standort)
Position: Open Date (Stelle: Offen von)
6. Klicken Sie auf OK.
7. Klicken Sie im Seitenlayout auf Speichern.
Probieren Sie es aus: Anpassen der
Datensatzhervorhebungen für Jobbörsen und
Stellenausschreibungen
Wie bei unseren anderen benutzerdefinierten Objekten müssen wir auch die
Datensatzhervorhebungen anpassen, indem wir ein neues kompaktes Layout für die einzelnen
Objekte erstellen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Employment Website (Jobbörse).
3. Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu, um ein kompaktes
Layout mit folgenden Feldern zu erstellen: Geben Sie unter Bezeichnung einen
Namen ein und passen Sie die Reihenfolge mithilfe der Schaltflächen Nach oben
und Nach unten an.
•
•
•
•
Employment Website Name (Jobbörse: Name der Jobbörse)
Price Per Post (Preis pro Ausschreibung)
Webadresse
Maximum Budget (Maximales Budget)
4. Klicken Sie auf Speichern und weisen Sie dann das neue kompakte Layout als
primäres kompaktes Layout für Jobbörsen zu.
Jetzt führen wir die gleichen Vorgänge für die Stellenausschreibung durch.
166
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Job Posting (Stellenausschreibung).
3. Klicken Sie in der Themenliste "Kompakte Layouts" auf Neu, um ein kompaktes
Layout mit folgenden Feldern zu erstellen: Geben Sie unter Bezeichnung einen
Namen ein und passen Sie die Reihenfolge mithilfe der Schaltflächen Nach oben
und Nach unten an.
•
Job Posting Number (Stellenausschreibung:
Stellenausschreibungsnummer)
•
•
Employment Website (Jobbörse)
Position (Stelle)
4. Klicken Sie auf Speichern und weisen Sie dann das neue kompakte Layout als
primäres kompaktes Layout für Stellenausschreibungen zu.
Rekapitulation
Unsere n:n-Beziehung ist nun vollständig. Sehen wir uns an, wie sie funktioniert.
1. Erstellen Sie einige Beispieldatensätze für Stellen und Jobbörsen.
2. Blättern Sie nach unten zur Themenliste "Employment Websites" (Jobbörsen) unten
in einem Stellendatensatz und klicken Sie auf New: Job Posting (Neu:
Stellenausschreibung). Die Bearbeitungsseite für Stellenausschreibungen wird
angezeigt.
3. Verwenden Sie das Nachschlagesymbol zur Auswahl der Jobbörse, in der Sie die
Stelle ausschreiben möchten, und klicken Sie auf Speichern.
4. Starten Sie Salesforce1 und öffnen Sie Ihre Beispieldatensätze für Stellen und
Jobbörsen.
In der Themenliste "Employment Websites" (Jobbörsen) zu dieser Stelle werden nun der Name
und die Webadresse der Website angezeigt, auf der Sie soeben die Ausschreibung vorgenommen
haben, sowie die Nummer der Stellenausschreibung. Klicken Sie auf den Namen der Jobbörse
in der Themenliste und blättern Sie nach unten, um die Themenliste "Stellen" anzuzeigen,
auf der alle Stellen angezeigt werden, die auf der betreffenden Website ausgeschrieben wurden.
Nun haben Sie gesehen, wie einfach es ist, zugehörige Informationen so bereitzustellen, dass
sie mit einem einzigen Mausklick verfügbar sind.
167
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Zusammenführung
Wir haben gerade mehrere Objekte und viele Beziehungen erstellt. Im folgenden einfachen
Diagramm wird dargestellt, was wir bisher geschafft haben.
Abbildung58: Beziehungen in der Personalbeschaffungsanwendung
All diese Beziehungen, Objekte und Felder werden unten in einem
Entity-Relationship-Diagramm (ERD) dargestellt. Bei einem Entity-Relationship-Diagramm
(ERD) handelt es sich um eine konzeptuelle Darstellung strukturierter Daten. Es ist besonders
bei der Planung und beim Verständnis einer Anwendung hilfreich.
168
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Abbildung59: Entity-Relationship-Diagramm (ERD) für die
Personalbeschaffungsanwendung
Jetzt haben wir alle Objekte für unsere Personalbeschaffungsanwendung erstellt und wir haben
viele benutzerdefinierte Felder – von Textfeldern und Auswahllisten bis hin zu komplexeren
Formelfeldern und Nachschlagebeziehungsfeldern – erstellt. Wir haben eine robuste
Benutzeroberfläche geschaffen, sodass unsere Personalbeschaffungsmitarbeiter und
Einstellungs-Manager Daten zu Stellen und den zugehörigen Bewerbern, Stellenbewerbungen
und Reviews eingeben und abrufen können. Und das alles haben wir geschafft, ohne auch nur
eine einzige Zeile Code zu schreiben.
Erinnern Sie sich daran, dass wir Anastasia O’Toole als Einstellungs-Manager für die Stelle
"Benefits Specialist" zugewiesen haben? Sehen wir uns einmal an, was Anastasia jetzt tun kann:
Sie kann ihre Stellen erstellen und aktualisieren und nachverfolgen, auf welchen Websites sie
169
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
diese ausgeschrieben hat. Sie kann sich Details zu allen Bewerbern ansehen, die sich für die
Stelle "Benefits Specialist" beworben haben, und sie kann deren verwandte Stellenbewerbungen
überprüfen. Darüber hinaus hat sie die Möglichkeit, den Status der Stellenbewerbungen zu
überprüfen. Sie muss jetzt nicht mehr in der Personalabteilung zahlreiche Microsoft
Word-Dokumente und Microsoft Excel-Tabellenblätter durchsuchen, um ihre Aufgaben im
Personalbeschaffungsbereich zu verwalten. Die Personalbeschaffungsanwendung ist auf dem
besten Weg, eine voll funktionsfähige und nützliche Anwendung zu werden!
Bevor wir dieses Kapitel jedoch abschließen, bereiten wir uns auf die verbleibenden Abschnitte
dieses Buchs vor, indem wir einige tatsächliche Daten erstellen und importieren. Es hilft uns
im nächsten Kapitel über Sicherheit und Freigabe, wenn wir über einige Datensätze verfügen,
mit denen wir arbeiten können.
Probieren Sie es aus: Herunterladen von
Beispieldaten
Neben der Eingabe von Daten über die mit Registerkarten versehenen Seiten können wir
außerdem den praktischen Importassistenten verwenden, um mehrere Datensätze gleichzeitig
zu importieren. Die Fähigkeit zum einfachen Datenimport in Ihre benutzerdefinierten Objekte
ist einer der wichtigsten Vorteile der Force.com-Plattform. Laden wir einige Beispieldaten
herunter, damit wir weitere Datensätze zu unseren benutzerdefinierten Objekten hinzufügen
können, ohne uns die Finger wund tippen zu müssen.
1. Laden Sie die Datei RecruitingApp-7_0.zip herunter, die die
Beispiel-CSV-Importdateien (kommagetrennte Werte) enthält, von
developer.force.com/books/fundamentals herunter.
2. Extrahieren Sie die Datei in ein Verzeichnis auf Ihrem Computer.
3. Wechseln Sie zu dem Verzeichnis, in das Sie die ZIP-Datei extrahiert haben. Dieses
Verzeichnis enthält drei CSV-Dateien: Positions.csv, Candidates.csv und
JobApplications.csv. (Das Verzeichnis enthält noch weitere Dateien, die Sie
später im Abschnitt Jenseits der Point-and-Click-Anwendungsentwicklung auf Seite
393 verwenden werden.
Bevor wir irgendetwas importieren, müssen wir eine Änderung an der Importdatei für Stellen
vornehmen. Die Beispieldatei Positions.csv, die Sie heruntergeladen haben, enthält fiktive
Benutzer in der Spalte "Hiring Manager" (Einstellungs-Manager). Die Namen dieser Benutzer
stimmen höchstwahrscheinlich mit keinem Benutzer in Ihrer Organisation überein, und wenn
Sie die Datei im jetzigen Zustand importieren, kann der Importassistent keine
übereinstimmenden Benutzer finden und das Feld Hiring Manager (Einstellungs-Manager)
in den einzelnen Stellendatensätzen bleibt jeweils leer. Ändern wir das also.
170
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
4. Wechseln Sie zu dem Verzeichnis, in das Sie die ZIP-Datei extrahiert haben, und
öffnen Sie die Datei Positions.csv in Excel, einem Texteditor oder einem anderen
Programm, mit dem CSV-Dateien gelesen werden können.
5. Ersetzen Sie in der Spalte "Hiring Manager" (Einstellungs-Manager) die fiktiven
Benutzer durch den Vor- und Nachnamen eines Benutzers in Ihrer Organisation.
6. Speichern Sie die Datei und achten Sie darauf, das CSV-Format beizubehalten.
Anmerkung: Wenn Sie ein anderes Gebietsschema verwenden als "Englisch (USA)"
sind die Datums- und Feldwerte in der Datei Positions.csv ebenfalls ungültig.
Sie müssen sie vor dem Beginn des Importvorgangs ändern.
Probieren Sie es aus: Verwenden des
Import-Assistenten
Nun sehen wir uns Schritt für Schritt den Importvorgang für Stellendatensätze unter
Verwendung des Importassistenten und der Datei Positions.csv, die Sie heruntergeladen
haben, an.
1. Klicken Sie unter "Setup" auf Datenverwaltung > Benutzerdefinierte Objekte
importieren.
2. Klicken Sie auf Starten Sie den Import-Assistenten!. Der Importassistent wird
angezeigt.
3. Wählen Sie als Typ für den zu importierenden Datensatz Position (Stelle) aus
und klicken Sie auf Weiter.
4. Wählen Sie Ja aus, um zu verhindern, dass nach diesem Import doppelte
Stellendatensätze vorhanden sind. Übernehmen Sie die restlichen Standardwerte für
den Abgleich und klicken Sie auf Weiter.
5. Wählen Sie im Feld für den Inhaber des Datensatzes Keine aus. Wir haben in die
CSV-Datei kein Benutzerfeld zum Festlegen von Datensatzinhabern eingefügt. Im
Importassistenten werden Sie als Inhaber aller neuen Datensätze zugeordnet.
6. Wählen Sie das Nachschlagebeziehungsfeld Hiring Manager
(Einstellungs-Manager) aus, sodass Sie Stellendatensätze mit vorhandenen
Benutzerdatensätzen in der Personalbeschaffungsanwendung verbinden können.
Klicken Sie dann auf Weiter.
7. Wählen Sie Name als das Feld für den Abgleich aus, das herangezogen wird, wenn
der Importassistent die Namen unter Hiring Manager (Einstellungs-Manager)
in Ihrem Importprofil mit den Benutzernamen im System vergleicht, und klicken
Sie auf Weiter.
171
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
8. Klicken Sie auf Durchsuchen und rufen Sie die Datei
C:\recruiting\Positions.csv auf. Klicken Sie auf Weiter.
9. Geben Sie mithilfe der Dropdownlisten die Salesforce-Felder an, die den Spalten
in Ihrer Importdatei entsprechen. Um Ihnen die Arbeit zu erleichtern, werden
übereinstimmende Bezeichnungen automatisch ausgewählt. Klicken Sie auf Weiter.
10. Klicken Sie auf Jetzt importieren!.
11. Klicken Sie auf Fertigstellen.
Verwenden Sie die folgende Tabelle, um den Importvorgang für Bewerberdatensätze zu
wiederholen. Sie werden feststellen, dass der Assistent die beiden Schritte für den Abgleich
des Nachschlagebeziehungsfelds überspringt. Da das Objekt "Candidate" (Bewerber) nicht
über Nachschlagebeziehungsfelder verfügt, werden diese Schritte im Importassistenten
automatisch ausgelassen.
Tabelle19: Importieren der Datei Candidates.csv
Gewünschter Schritt im
Assistenten
Erforderliche Optionen
Datensatz auswählen
Candidate (Bewerber)
Doppelte Einträge verhindern Nein – alle Datensätze in meine Importdatei aufnehmen
Beziehungen festlegen
Keine
Datei hochladen
Navigieren Sie zu C:\recruiting\Candidates.csv
Feldzuordnung
Alle Standardwerte akzeptieren
Importeinstellungen
überprüfen
Klicken Sie auf Jetzt importieren!.
Wiederholen wir den Vorgang zum Schluss noch einmal für die Stellenbewerbungsdatensätze.
Bei dieser Wiederholung verwenden wir das Feld Email (E-Mail), eine externe ID im Objekt
"Candidate" (Bewerber), um Stellenbewerbungen mit den richtigen Bewerberdatensätzen
abzugleichen.
Tabelle20: Importieren der Datei Job_Applications.csv
Gewünschter Schritt im
Assistenten
Erforderliche Optionen
Datensatz auswählen
Job Application (Stellenbewerbung)
Doppelte Einträge verhindern Nein – alle Datensätze in meine Importdatei aufnehmen
172
Kapitel 6: Erweitern der einfachen Anwendung durch Beziehungen
Gewünschter Schritt im
Assistenten
Erforderliche Optionen
Beziehungen festlegen
Welches Benutzerfeld...? Keine
Welche Nachschlagefelder...? Candidate (Bewerber),
Position (Stelle)
Abgleich für Suchfelder
definieren
Welches Feld in Candidate...? Email (E-Mail),
externe ID
Welches Feld in Position...? Position Title
(Stellentitel)
Datei hochladen
Navigieren Sie zu
C:\recruiting\Job_Applications.csv
Feldzuordnung
Email (col 0): Candidate (Bewerber)
Position Title (col 1): Position (Stelle)
Importeinstellungen
überprüfen
Klicken Sie auf Jetzt importieren!.
Hervorragend! Während diese Dateien importiert werden, können Sie unter "Setup" auf
Importe klicken oder Überwachen > Importe auswählen, um ihren Status zu überprüfen.
Nach dem Abschluss der Importvorgänge kehren Sie zur Registerkarte "Positions" (Stellen),
"Candidates" (Bewerber) oder "Job Applications" (Stellenbewerbungen) zurück und klicken
Sie auf Los! neben der Dropdownliste Anzeigen. Daraufhin wird eine Liste aller neu
importierten Datensätze angezeigt.
Wir haben unserer Anwendung mit wenig Aufwand gerade eine Reihe von Daten hinzugefügt.
Im nächsten Kapitel sehen wir uns die Möglichkeiten an, mit denen wir den Zugriff auf diese
Daten mithilfe der integrierten Tools der Plattform steuern können. Nun steigen wir in die
Details hinsichtlich Sicherheit, Freigaberegeln, Berechtigungen, Rollen und Profilen ein.
173
Kapitel 7
Einrichten von Sicherheit und Freigabe für
Daten
Themen:
•
•
•
•
•
•
•
•
•
Steuern des Zugriffs auf
Daten in unserer
Anwendung
Konzepte aus dem Bereich
Datenzugriff
Steuern des Zugriffs auf
Objekte
Steuern des Zugriffs auf
Felder
Steuern des Zugriffs auf
Datensätze
Anzeigen von Feldwerten
und Seitenlayouts je nach
Profil
Zusammenführung
Delegieren der
Datenverwaltung
Zusammenfassung
Im letzten Kapitel haben wir die
Personalbeschaffungsanwendung um fortgeschrittene
Felder und komplexe Objektbeziehungen erweitert. Im
neuen Objekt "Candidate" (Bewerber) werden
Informationen zu potenziellen Mitarbeitern nachverfolgt,
die Personalbeschaffungsmitarbeiter können über das neue
Objekt "Job Application" (Stellenbewerbung) Bewerber
in Bezug zu Stellen setzen und Gesprächsleiter können im
neuen Objekt "Review" Einschätzungen und Bewertungen
für die Bewerber hinzufügen. Das ist eine recht handfeste
Anwendung! Mit dem erweiterten Datenmodell wurde
außerdem die Basis für das Hinzufügen leistungsstarker
Funktionen wie Workflow und Genehmigungen sowie
Berichterstellungsfunktionen geschaffen, mit denen wir
uns in späteren Kapiteln befassen.
Nachdem nun alle Objektbeziehungen eingerichtet wurden,
ist es an der Zeit, darüber nachzudenken, welche Personen
die Anwendung verwenden werden und wie viel Zugriff
sie auf die darin enthaltenen Daten haben sollten. Wie bei
vielen Anwendungen sind in unserer
Personalbeschaffungsanwendung sensible Daten enthalten,
wie Sozialversicherungsnummern, Gehälter und
Bewerberreviews, die uns in Teufels Küche bringen
könnten, wenn sie von den falschen Leuten gesehen
werden. Wir müssen für Sicherheit sorgen, ohne
175
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Personalbeschaffungsmitarbeitern, Einstellungs-Managern
und Gesprächsleitern die Arbeit zu erschweren.
Und hier kommt ein weiterer enormer Vorzug der
Force.com-Plattform zum Vorschein: leicht zu
konfigurierende Sicherheitssteuerungen, mit denen wir
einfach und ohne viel Kopfzerbrechen den Zugriff auf
Daten, die die Benutzer nicht sehen sollen, einschränken
können. Ähnlich wie Zugriffssteuerungslisten oder
Windows-Ordnerberechtigungen ermöglicht uns die
Force.com-Plattform anzugeben, welche Personen die
einzelnen Datensätze bzw. Felder in der Anwendung
anzeigen, erstellen, bearbeiten oder löschen können. Im
diesem Kapitels sehen wir, wie wir die
Force.com-Plattform nutzen können, um diese Regeln zu
implementieren.
176
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Steuern des Zugriffs auf Daten in unserer
Anwendung
Wie wir bereits gesehen haben, gibt es drei Typen von Benutzern, die Zugriff auf die Daten
in unserer Personalbeschaffungsanwendung benötigen: Personalbeschaffungsmitarbeiter,
Einstellungs-Manager und Gesprächsleiter. Fügen wir zu diesen dreien noch einen vierten
Benutzertyp hinzu, einen Standardmitarbeiter, der keine Bewerbungsgespräche führen und
niemanden einstellen muss. (Dieser Mitarbeiter hilft uns dabei, die Standardberechtigungen
zu ermitteln, die für alle neuen Personalbeschaffungsobjekte in unserer Anwendung gelten
sollten.)
Betrachten wir im Einzelnen die Zugriffsarten, die diese Benutzer jeweils benötigen, und, was
noch wichtiger ist, die Zugriffsarten, die sie für ihre Tätigkeit nicht benötigen. Nachdem wir
einen Satz an erforderlichen Berechtigungen zusammengestellt haben, ermitteln wir im Rest
des Kapitels, wie wir sie implementieren können.
Erforderliche Berechtigungen für den
Personalbeschaffungsmitarbeiter
Sehen wir und den ersten Satz an Berechtigungen einmal am Beispiel von Mario Ruiz, einem
Personalbeschaffungsmitarbeiter bei Universal Containers an. Um seinen Job zu machen, muss
Mario sämtliche im System vorhandenen Stellen, Bewerber, Stellenbewerbungen oder Reviews
erstellen, anzeigen und ändern können und er benötigt die vollständige Kontrolle über
Stellenausschreibungen auf Jobbörsen. Ebenso muss Mario die Personalbeschaffungsdatensätze
der anderen Personalbeschaffungsmitarbeiter anzeigen und ändern können, da alle
Personalbeschaffungsmitarbeiter bei Universal Containers gemeinsam an der Besetzung
sämtlicher Stellen arbeiten, unabhängig davon, wer die jeweilige Stelle erstellt hat.
Auch wenn Mario die mächtigste Rolle in unserer Personalbeschaffungsanwendung innehat,
dürfen wir ihm dennoch nicht sämtliche Rechte erteilen. Es ist zwar kein Problem, dass
Stellenausschreibungs- und Jobbörsendaten jederzeit endgültig gelöscht werden, jedoch müssen
nach staatlichen und bundesstaatliche Gesetzen zur Aufzeichnung öffentlicher Daten alle mit
der Personalbeschaffung verbundenen Datensätze für mehrere Jahre archiviert werden, sodass
Einstellungsentscheidungen bei Anfechtung später vor Gericht verteidigt werden können.
Folglich müssen wir sicherstellen, dass Mario niemals versehentlich einen Datensatz löscht,
der von Gesetzes wegen gespeichert werden muss.
177
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Aber wie soll er den Überblick über die Stellen, Bewerber, Stellenbewerbungen und Reviews
behalten, wenn er sie nicht löschen darf? Wird die Anwendung dann nicht mit alten Daten
überschwemmt? Nicht, wenn man dieses Problem auf intelligente Weise löst. Mario sollte,
anstatt alte Datensätze zu löschen, über das Feld Status angeben, ob ein Datensatz aktuell
ist. Wir filtern dann alle alten Datensätze heraus, indem wir eine einfache Listenansicht
verwenden.
Im Folgenden werden die Berechtigungen zusammengefasst, die wir für einen
Personalbeschaffungsmitarbeiter implementieren müssen:
Tabelle21: Zusammenfassung der erforderlichen Berechtigungen: Recruiter
(Personalbeschaffungsmitarbeiter)
Lesen
Erstellen
Bearbeiten
Löschen
Position (Stelle)
Candidate
(Bewerber)
Job Application
(Stellenbewerbung)
Review
Job Posting
(Stellenausschreibung)
Employment
Website
(Jobbörse)
Erforderliche Berechtigungen für den
Einstellungs-Manager
Die nächste Gruppe von erforderlichen Berechtigungen stellt uns vor größere
Herausforderungen. Ben Stuart, unser Einstellungs-Manager, muss in der Lage sein, auf die
Personalbeschaffungsdatensätze zuzugreifen, die mit seinen offenen Stellen zu tun haben, er
sollte jedoch nicht mit anderen Personalbeschaffungsdatensätzen herumspielen (es sei denn,
die Inhaber dieser Datensätze sind andere Einstellungs-Manager, die ihm unterstellt sind).
Außerdem gibt es bestimmte sensible Felder, die er nicht zu sehen braucht, wie beispielsweise
das Feld mit der Sozialversicherungsnummer. Gehen wir Objekt für Objekt vor, um
aufzuschlüsseln, auf welche Elemente genau Ben Zugriff benötigt, um seine Arbeit zu erledigen.
178
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Position (Stelle)
Zunächst möchte Ben gerne seine eigenen Stellen ausschreiben, damit er sie so schnell
wie möglich veröffentlichen kann. In unserer Anwendung muss jedoch Mario, der
Personalbeschaffungsmitarbeiter, letztlich die Inhaberschaft über den Datensatz
übernehmen, um sicherzustellen, dass die Stelle besetzt wird. Folglich benötigt Ben zwar
die Fähigkeit, Stellen zu erstellen, aber dann brauchen wir einen Mechanismus, um
sicherzustellen, dass sie letztlich an Mario als Inhaber übertragen werden. (Tipp: Wie
Sie inVerwenden benutzerdefinierter Workflow- und Genehmigungsprozesse auf Seite
285 sehen werden, gehen wir dieses Problem mit einer Workflow-Regel an, die die
Inhaberschaft von Stellen, die von einem Einstellungs-Manager erstellt wurden, an einen
Personalbeschaffungsmitarbeiter überträgt. Im Moment gehen wir einfach davon aus,
dass dies bereits so funktioniert.)
Ben sollte außerdem in der Lage sein, alle Felder für Stellen zu sehen und zu aktualisieren,
für die er der Einstellung-Manager ist, die Stellen anderer Manager sollte er jedoch
lediglich sehen können.
Candidate (Bewerber)
Ben möchte zuweilen auch einen Top-Bewerber abwerben, der sich um eine Stelle bei
einem anderen Manager bewirbt, aber diese Praxis wird von Universal Containers nicht
gebilligt. Daher sollte Ben nur diejenigen Bewerber sehen können, die sich für eine Stelle
beworben haben, bei der er als Einstellungs-Manager fungiert. Außerdem gibt es keinen
Grund, warum Ben die Sozialversicherungsnummer des Bewerbers sehen müsste. Dieses
Feld sollte also für ihn nicht sichtbar sein.
Job Application (Stellenbewerbung)
Als Einstellungs-Manager muss Ben in der Lage sein, den Status dieser
Stellenbewerbungen zu aktualisieren, um anzugeben, welche Bewerber ausgewählt oder
abgelehnt werden sollten. Er sollte jedoch nicht in der Lage sein, die Bewerberliste in
der Stellenbewerbung zu ändern, und auch nicht die Stelle, auf die sich der Bewerber
bewirbt. Wir müssen also eine Möglichkeit finden, um zu verhindern, dass Ben die
Nachschlagefelder in Stellenbewerbungen aktualisiert.
Review
Um eine Entscheidung zu den Personen zu treffen, die sich bewerben, muss Ben die
Reviews sehen, die von den Interviewern gepostet wurden. Außerdem muss er
Kommentare dazu abgeben können, wenn er glaubt, der Gesprächsleiter sei zu
voreingenommenen in seinem Review gewesen. Außerdem muss auch Ben selbst Reviews
erstellen können, damit er seine eigenen Eindrücke von den Bewerbern, die er befragt,
aufzeichnen kann.
179
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Job Posting (Stellenausschreibung)
Ben möchte sicherstellen, dass seine schwieriger zu besetzenden Stellen für die
talentiertesten Personen auf dem betreffenden Gebiet sichtbar sind. Die effizienteste
Möglichkeit hierfür besteht darin, offene Stellen auf verschiedenen Jobbörsen
auszuschreiben. Angesichts der Tatsache, dass die verschiedenen Jobbörsen
unterschiedliche Benutzertypen mit uneinheitlichen Kompetenzen verwenden, sollten
wir Ben die Möglichkeit geben, selbstständig Stellenausschreibungen auf Jobbörsen zu
veröffentlichen, da er am besten beurteilen kann, welche Kompetenzen für seine offenen
Stellen erforderlich sind.
Employment Website (Jobbörse)
Wenn es nach Ben ginge, würde er das gesamte Budget des Unternehmens für seine
offenen Stellen auf Jobbörsen beanspruchen. Daher sollte Ben nicht gestattet sein,
Jobbörsendatensätze zu bearbeiten, da er dadurch das Budget des Unternehmens für
Stellenausschreibungen ändern könnte, was zu einem finanziellen Debakel führen könnte.
Dennoch müssen wir sicherstellen, dass Ben Jobbörsendatensätze anzeigen kann, damit
er sehen kann, bei welchen Jobbörsen Universal Containers Accounts hat und welcher
Anteil des Budgets für die betreffende Jobbörse verfügbar ist.
Im Folgenden werden die Berechtigungen zusammengefasst, die wir für einen
Einstellungs-Manager implementieren müssen:
Tabelle22: Zusammenfassung der erforderlichen Berechtigungen: Hiring Manager
(Einstellungs-Manager)
Lesen
Erstellen
Position (Stelle)
Candidate
(Bewerber)
Bearbeiten
*
* (nicht für
SSN)
Job Application
(Stellenbewerbung)
(nicht für
Nachschlagefelder)
Review
Job Posting
(Stellenausschreibung)
Employment
Website
(Jobbörse)
180
*
*
*
Löschen
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der Einstellungs-Manager
zugewiesen wurde
Erforderliche Berechtigungen für den
Gesprächsleiter
Sehen wir uns für unseren dritten Satz an erforderlichen Berechtigungen einmal die Rolle von
Melissa Lee als Gesprächsleiter an. Ben, ihr Manager, möchte, dass Melissa Gespräche mit
Bewerbern für anspruchsvolle technische Stellen führt, er möchte jedoch nicht, dass sie
Gespräche mit Personen führt, die sich für Rollen im Benutzeroberflächenteam bewerben.
Folglich sollte Melisse in der Lage sein, nur die Bewerber und Stellenbewerbungen anzuzeigen,
denen sie als Gesprächsleiter zugewiesen ist. Es muss zwar keine derartige Beschränkung für
die vorhandenen Stellen geben, aber sie sollte die Werte für das Mindestgehalt und Höchstgehalt
für diese Personen nicht anzeigen können. Ebenso wenig sollte sie die
Sozialversicherungsnummer der Bewerber sehen, da es sich hierbei um sensible Daten handelt,
die nichts mit ihrer Aufgabe zu tun haben.
Melissa muss ihre Reviews erstellen und bearbeiten können, sodass sie ihre Kommentare zu
jedem Bewerber aufzeichnen kann. Sie sollte jedoch keinen Zugriff auf die Reviews anderer
Gesprächsleiter haben, da sie möglicherweise durch diese in die eine oder andere Richtung
beeinflusst werden könnte. Wie bei der Einstellung von Managern und
Personalbeschaffungsmitarbeitern sollte Melissa auch nicht dazu berechtigt sein, irgendwelche
Datensätze zu löschen, um die Gesetze hinsichtlich öffentlicher Aufzeichnung bzw.
Archivierung einzuhalten.
Letztendlich haben Stellenausschreibungen in Jobbörsen nichts mit Melissas Zuständigkeiten
zu tun, sodass weder die Jobbörse noch Stellenausschreibungsdatensätze für sie zugänglich
sein sollten.
Im Folgenden werden die Berechtigungen zusammengefasst, die wir für einen Gesprächsleiter
implementieren müssen:
Tabelle23: Zusammenfassung der erforderlichen Berechtigungen: Interviewer
(Gesprächsleiter)
Lesen
Position (Stelle)
Erstellen
Bearbeiten
Löschen
(nicht für
Mindestgehalt/Höchstgehalt)
181
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Lesen
Candidate
(Bewerber)
Erstellen
Bearbeiten
Löschen
* (nicht für
SSN)
Job Application
(Stellenbewerbung)
*
Review
**
**
Job Posting
(Stellenausschreibung)
Employment
Website
(Jobbörse)
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der Gesprächsleiter zugewiesen
wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Erforderliche Berechtigungen für den
Standardmitarbeiter
Mitarbeiter wie Manny Damon im Western Sales Team sind häufig am erfolgreichsten bei
der Anwerbung neuer Mitarbeiter, auch wenn sie keine aktiven Einstellungs-Manager oder
Gesprächsleiter sind. Daher müssen wir sicherstellen, dass Mitarbeiter wie Manny offene
Stellen sehen können, dass sie jedoch nicht die Werte der Felder für das Mindest- und das
Höchstgehalt der Stellen anzeigen können. Anderenfalls geben sie womöglich Freunden
entsprechende Hinweise, damit diese in den Gehaltsverhandlungen das Höchstgehalt anstreben.
Außerdem sollte Manny auch keine anderen Datensätze in der Personalbeschaffungsanwendung
sehen.
Im Folgenden werden die Berechtigungen zusammengefasst, die wir für einen
Standardmitarbeiter implementieren müssen:
182
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Tabelle24: Zusammenfassung der erforderlichen Berechtigungen: Standard Employee
(Standardmitarbeiter)
Lesen
Position (Stelle)
Erstellen
Bearbeiten
Löschen
(nicht für
Mindestgehalt/Höchstgehalt)
Candidate
(Bewerber)
Job Application
(Stellenbewerbung)
Review
Job Posting
(Stellenausschreibung)
Employment
Website
(Jobbörse)
Wo stehen wir jetzt also?
Nun, da wir die erforderlichen Berechtigungen für die jeweiligen Benutzer durchgegangen
sind, sollten wir unsere Gedanken organisieren, indem wir sie in der folgenden Tabelle
zusammenfassen. Im Rest dieses Kapitels werden wir dann herausfinden, wie wir die Plattform
nutzen können, um diese Regeln in unserer Personalbeschaffungsanwendung zu implementieren.
Tabelle25: Zusammenfassung der erforderlichen Berechtigungen
Recruiter
Hiring Manager Interviewer
Standard
(Personalbeschafungsmitarbeiter) (Einstellungs-Manager) (Gesprächsleiter) Employee
(Standardmitarbeiter)
Position (Stelle) Lesen, Erstellen, Lesen, Erstellen, Lesen (nicht für Lesen (nicht für
Bearbeiten
Bearbeiten*
Mindestgehalt/Höchstgehalt) Mindestgehalt/Höchstgehalt)
Candidate
(Bewerber)
Lesen, Erstellen, Lesen* (nicht für Lesen* (nicht für
Bearbeiten
SSN)
SSN)
Job Application Lesen, Erstellen, Lesen,
Lesen*
(Stellenbewerbung) Bearbeiten
Bearbeiten (nicht
183
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Recruiter
Hiring Manager Interviewer
Standard
(Personalbeschafungsmitarbeiter) (Einstellungs-Manager) (Gesprächsleiter) Employee
(Standardmitarbeiter)
für
Nachschlagefelder)
Review
Lesen, Erstellen, Lesen, Erstellen, Lesen**,
Bearbeiten
Bearbeiten
Erstellen,
Bearbeiten**
Job Posting
Lesen, Erstellen, Lesen*,
(Stellenausschreibung) Bearbeiten,
Erstellen*,
Löschen
Bearbeiten*
Employment
Website
(Jobbörse)
Lesen, Erstellen, Lesen
Bearbeiten,
Löschen
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der
Einstellungs-Manager/Gesprächsleiter zugewiesen wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Tipp: Bei der Implementierung der Sicherheits- und Freigaberegeln für Ihre eigene
Organisation bietet es sich oft an, eine solche Tabelle mit den erforderlichen
Berechtigungen zu erstellen, um Ihre Gedanken zu ordnen und sicherzustellen, dass
Sie nicht vergessen, einem bestimmten Benutzer Zugriffsberechtigungen zu erteilen
oder zu verwehren. Sie werden feststellen, dass wir im Verlauf dieses Kapitels immer
wieder auf diese Tabelle verweisen.
Konzepte aus dem Bereich Datenzugriff
Bevor wir mit der Implementierung unserer Sicherheits- und Freigaberegeln beginnen, sollten
wir uns einen raschen Überblick darüber verschaffen, mit welchen Methoden der Datenzugriff
auf der Plattform gesteuert werden kann:
Objektebenensicherheit
Die offenkundigste Methode zur Steuerung des Datenzugriffs besteht darin zu verhindern,
dass ein Benutzer eine Instanz eines bestimmten Objekttyps, wie beispielsweise eine
Stelle oder einen Review, anzeigen, erstellen, bearbeiten oder löschen kann. Mit
184
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
objektspezifischem Zugriff können wir ganze Registerkarten und Objekte vor bestimmten
Benutzern verbergen, sodass diese nicht einmal wissen, dass diese Art von Daten existiert.
Auf der Plattform legen wir den objektspezifischen Zugriff durch Objektberechtigungen
in Benutzerprofilen und Berechtigungssätzen fest. Wir erfahren in Kürze mehr darüber.
Feldebenensicherheit
Eine Abwandlung des objektspezifischen Zugriffs ist der feldspezifische Zugriff, bei dem
verhindert werden kann, dass ein Benutzer den Wert für ein bestimmtes Feld in einem
Objekt anzeigen, bearbeiten bzw. löschen kann. Mit feldspezifischem Zugriff können
wir sensible Informationen, wie das Höchstgehalt für eine Stelle oder die
Sozialversicherungsnummer eines Bewerbers, ausblenden, ohne das gesamte Objekt
verbergen zu müssen.
Auf der Plattform legen wir den feldspezifischen Zugriff durch Feldberechtigungen in
Benutzerprofilen und Berechtigungssätzen fest. Auch dazu erfahren wir in Kürze mehr.
Sicherheit auf der Datensatzebene
Um den Datenzugriff mit ein wenig mehr Raffinesse zu steuern, können wir bestimmten
Benutzern die Anzeige eins Objekts gestatten, aber dann die einzelnen Objektdatensätze
einschränken, die sie sehen können. Beispielsweise gestattet der datensatzspezifische
Zugriff Gesprächsleitern wie Melissa Lee, ihre eigenen Reviews zu sehen, ohne dass für
sie die Reviews aller anderen Personen in ihrem Team sichtbar sind.
Auf der Plattform gibt es mehrere Möglichkeiten zur Festlegung von Regeln für den
datensatzspezifischen Zugriff:
• Mit unternehmensweiten Standardeinstellungen können wir den Basiszugriff angeben,
den ein Benutzer in der Organisation hat. Beispielsweise können wir festlegen, dass
alle Benutzer jeden beliebigen Datensatz eines bestimmten Objekts sehen können,
auf das sie laut ihren Objektberechtigungen Zugriff haben, dass sie jedoch eine
gesonderte Genehmigung benötigen, um einen solchen Datensatz zu bearbeiten.
• Mit Rollenhierarchien können wir sicherstellen, dass ein Vorgesetzter immer Zugriff
auf dieselben Datensätze hat wie die ihm unterstellten Personen.
• Freigaberegeln ermöglichen automatische Ausnahmen von den unternehmensweiten
Standardeinstellungen für bestimmte Gruppen von Benutzern.
• Durch die manuelle Freigabe können Datensatzinhaber Benutzern, die keinen
anderweitigen Zugriff auf den Datensatz haben, Lese- und
Bearbeitungsberechtigungen erteilen.
185
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung60: Steuern des Datenzugriffs mit der Force.com-Plattform
Durch die Kombination aller dieser Freigabe- und Sicherheitseinstellungen in der Plattform
können wir schnell und einfach Benutzerberechtigungen für eine Organisation mit Tausenden
Benutzern festlegen, ohne die Berechtigungen jeder einzelnen Person manuell konfigurieren
zu müssen. Nicht schlecht! Informieren wir uns nun genauer über die einzelnen Methoden
zur Steuerung des Datenzugriffs und darüber, wie die Sicherheits- und Freigaberegeln für
unsere Anwendung implementiert werden können.
Steuern des Zugriffs auf Objekte
Konfigurieren wir als Erstes den Zugriff auf die benutzerdefinierten Objekte unserer
Personalbeschaffungsanwendung. Wie bereits erwähnt, können wir steuern, ob ein Benutzer
erfährt, dass ein bestimmtes Objekt in der Anwendung vorhanden ist, indem wir die
entsprechenden Berechtigungen in seinen Profilen und Berechtigungssätzen festlegen. Aber
was genau sind Profile und Berechtigungssätze und was wird damit gesteuert?
186
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Einführung in Profile
Ein Profil ist eine Sammlung von Einstellungen und Berechtigungen, die festlegen, was ein
Benutzer auf der Plattform tun kann, ähnlich wie eine Gruppe in einem Windows-Netzwerk,
wobei alle Mitglieder der Gruppe dieselben Ordnerberechtigungen und Zugriff auf dieselbe
Software haben. Profile steuern Folgendes:
•
•
•
•
•
•
•
•
•
•
•
Objektberechtigungen – Die Objekte, die die Benutzer anzeigen, erstellen, bearbeiten
und löschen können
Feldberechtigungen (auch als "Feldebenensicherheit" bekannt) – Die Objektfelder, die
die Benutzer anzeigen und bearbeiten können
Benutzerberechtigungen – Die einzelnen Funktionen, die die Benutzer ausführen können,
wie die Anzeige des Setup-Menüs und die Anpassung von Anwendungen
Registerkarteneinstellungen – Die Registerkarten, die die Benutzer in der Anwendung
anzeigen können
Anwendungseinstellungen – Die standardmäßigen und benutzerdefinierten Anwendungen,
auf die die Benutzer zugreifen können
Apex-Klassenzugriff – Die Apex-Klassen, die ein Benutzer ausführen kann
Visualforce-Seitenzugriff – Die Visualforce-Seiten, die ein Benutzer ausführen kann
Seitenlayouts – Die Seitenlayouts, die der Benutzer sieht
Datensatztypen – Die Datensatztypen, die dem Benutzer zur Verfügung stehen
Anmeldezeiten – Die Stunden, während deren sich der Benutzer bei der Anwendung
anmelden kann
IP-Bereiche für die Anmeldung – Die IP-Adressen, über die sich der Benutzer bei der
Anwendung anmelden kann
Profile werden üblicherweise durch den Tätigkeitsbereich eines Benutzers definiert (z. B.
Systemadministrator oder Vertriebsmitarbeiter), Profile können jedoch für jede Kategorie
angelegt werden, die in Ihrer Organisation sinnvoll ist. Ein Profil kann mehreren Benutzern
zugeordnet werden, aber ein Benutzer kann jeweils nur einem Profil zugeordnet sein.
Standardprofile
Die Plattform bietet den folgenden Satz an Standardprofilen in jeder Organisation:
•
•
•
•
Schreibschutz
Standardbenutzer
Marketingbenutzer
Vertragsmanager
187
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
•
•
Lösungsmanager
Systemadministrator
Jedes dieser Standardprofile enthält einen standardmäßigen Satz an Berechtigungen für alle
auf der Plattform verfügbaren Standardobjekte.
Wenn ein benutzerdefiniertes Objekt erstellt wird, wird durch die meisten Profile (außer durch
die mit der Berechtigung "Alle Daten modifizieren") kein Zugriff auf das Objekt erteilt. Sie
finden weitere detaillierte Beschreibungen aller Standardprofile in der Salesforce-Hilfe, aber
es ist wichtig zu wissen, dass Sie die Objektberechtigungen grundsätzlich nicht in einem
Standardprofil bearbeiten können. Wenn Sie Zugriff auf die Enterprise, Unlimited, Performance
oder Developer Edition der Plattform haben, bietet es sich an, Kopien der Standardprofile zu
erstellen und die Kopien dann den Bedürfnissen in Ihrer Organisation entsprechend anzupassen.
Sie können außerdem Berechtigungssätze verwenden, um zusätzliche Berechtigungen zu
erteilen.
Für unsere Personalbeschaffungsanwendung erstellen wir eine Kopie des Standardprofils und
passen es an (die Enterprise, die Unlimited, die Performance und die Developer Edition sind
die einzigen Editionen, die von der Personalbeschaffungsanwendung unterstützt werden). Wir
verwenden die Berechtigungssätze auch, um zusätzliche Berechtigungen für eine kleinere
Gruppe von Benutzern zu erteilen.
Einführen von Berechtigungssätzen
Ähnlich wie ein Profil ist auch ein Berechtigungssatz eine Sammlung von Einstellungen und
Berechtigungen, die festlegen, was ein Benutzer tun kann. Berechtigungssätze beinhalten
teilweise dieselben Berechtigungen und Einstellungen, die auch in Profilen zu finden sind.
•
•
•
•
•
•
•
Objektberechtigungen
Feldberechtigungen (auch als "Feldebenensicherheit" bekannt)
Benutzerberechtigungen
Registerkarteneinstellungen
Anwendungseinstellungen
Apex-Klassenzugriff
Visualforce-Seitenzugriff
Warum gibt es also Profile und Berechtigungssätze?
Der wichtigste Unterschied zwischen diesen Elementen ist, dass Benutzer zwar nur ein einziges
Profil aufweisen können, jedoch eine große Anzahl von Berechtigungssätzen. Sie können also
Profile verwenden, um die Mindestberechtigungen und -einstellungen festzulegen, die alle
188
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Benutzertypen benötigen, und anschließend Berechtigungssätze verwenden, um zusätzliche
Berechtigungen zu gewähren, ohne irgendwelche Benutzerprofile ändern zu müssen.
Es gibt mehrere Möglichkeiten, wie Sie Berechtigungssätze nutzbringend einsetzen können.
•
Gewähren von Zugriff auf benutzerdefinierte Objekte oder ganze Anwendungen
Angenommen, es gibt in Ihrer Organisation sehr viele Benutzer mit denselben
Haupttätigkeitsbereichen. Sie können all diesen Benutzern dasselbe Profil zuweisen, das
ihnen alle Zugriffsrechte gewährt, die sie für ihre Tätigkeit benötigen. Aber nehmen wir
an, einige dieser Benutzer arbeiten an einem speziellen Projekt und benötigen Zugriff auf
eine Anwendung, die sonst niemand benutzt. Nehmen wir weiter an, einige andere Benutzer
benötigen Zugriff auf diese Anwendung und noch eine weitere Anwendung, die die erste
Gruppe nicht benötigt. Wenn wir nur mit Profilen arbeiten würden, müssten Sie weitere
Profile erstellen, die auf die Bedürfnisse dieser wenigen Benutzer zugeschnitten wären,
oder alternativ riskieren, dem ursprünglichen Profil weitere Zugriffsrechte zu gewähren,
wodurch die Anwendungen auch Benutzern zur Verfügung stehen würden, die sie nicht
benötigen. Keine dieser Optionen ist ideal, insbesondere, wenn Ihre Organisation wächst
und sich die Bedürfnisse der Benutzer häufig ändern. Mit Berechtigungssätzen können
Sie ganz einfach Zugriff auf die verschiedenen Anwendungen und benutzerdefinierten
Objekte in Ihrer Organisation gewähren und den Zugriff wieder entziehen, wenn er nicht
mehr benötigt wird.
•
Gewähren von Zugriff – vorübergehend oder langfristig – auf bestimmte Felder
Nehmen wir beispielsweise an, es gibt eine Benutzerin namens Dana, die vorübergehenden
Zugriff auf ein Feld benötigt, während ihr Kollege im Urlaub ist. Sie können einen
Berechtigungssatz erstellen, der Zugriff auf das Feld gewährt, und diesen Berechtigungssatz
Dana zuweisen. Wenn Danas Kollege aus dem Urlaub zurückkommt und Dana keinen
Zugriff mehr auf das Feld benötigt, entfernen Sie einfach die Zuweisung dieses
Berechtigungssatzes aus Danas Benutzerdatensatz.
Profile und Berechtigungssätze in unserer
Personalbeschaffungsanwendung
Wir haben bereits über vier verschiedene Benutzertypen gesprochen:
Personalbeschaffungsmitarbeiter, Einstellungs-Manager, Standardmitarbeiter und
Gesprächsleiter. Sehen wir uns das genauer an.
189
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Mit Personalbeschaffungsmitarbeitern verhält es sich recht eindeutig. Sie repräsentieren definitiv
einen bestimmten Tätigkeitsbereich und benötigen Zugriff auf andere Datentypen als andere
Benutzer. Sie benötigen ihr eigenes Profil.
Einstellungs-Manager ist hingegen keine einzelne eindeutige Funktion. Bei den meisten
Organisationen benötigt ein Einstellungs-Manager in der Vertriebsabteilung sehr wahrscheinlich
Zugriff auf andere Datentypen als ein Einstellungs-Manager in der Konstruktionsabteilung.
In unserer Anwendung jedoch benötigen Vertriebsleiter und Software-Manager nach wie vor
dieselbe Art von Zugriff auf Personalbeschaffungsdaten – Reviews, Bewerber, Stellen,
Stellenbewerbungen, Stellenausschreibungen und Jobbörsen. Falls wir unsere Anwendung in
eine Organisation integrieren würden, die über eine andere CRM-Funktionalität verfügt,
müssten die Berechtigungen des Einstellungs-Managers für Personalbeschaffungsdaten
möglicherweise von verschiedenen Typen von Benutzern mit wahrscheinlich unterschiedlichen
Profilen, gemeinsam genutzt werden. In diesem Fall erstellen wir einen Berechtigungssatz für
den Einstellungs-Manager, der verschiedenen Typen von Benutzern zugewiesen werden kann.
Standardmitarbeiter werden eher nicht genau zugeordnet und stehen für keinen bestimmten
Tätigkeitsbereich. Standardmitarbeiter können mit einem Profil starten, mit dem sie Zugriff
auf eine kleine Gruppe von Daten haben, und dann können wir je nach ihren Fachgebieten
Berechtigungssätze erstellen und zuweisen, um ihnen nach Bedarf weitere
Zugriffsberechtigungen zu erteilen.
Werfen wir zu guter Letzt noch einen Blick auf die Gesprächsleiter. Genau genommen kann
nahezu jede Person in einer Organisation herangezogen werden, um ein Bewerbungsgespräch
zu führen. Zudem kann es sein, dass es in einem Unternehmen eine Hauptsaison für die
Personalbeschaffung gibt, zu der für einen begrenzten Zeitraum viele Mitarbeiter als
Gesprächsleiter eingesetzt werden. Idealerweise sollten die Berechtigungen für Gesprächsleiter
mühelos gewährt und wieder aufgehoben werden können. Es ist einfach, Berechtigungssätze
basierend auf einer bestimmten Aufgabe zu definieren. Noch einfacher ist es, die
Berechtigungssätze zuzuweisen bzw. deren Zuweisung aufzuheben. Definieren wir also einen
Berechtigungssatz für Gesprächsleiter.
Probieren Sie es aus: Erstellen des Profils
"Recruiter" (Personalbeschaffungsmitarbeiter)
Nun können wir richtig loslegen und unser erstes Profil für die Anwendung erstellen! Beginnen
wir mit dem Profil "Recruiter" (Personalbeschaffungsmitarbeiter).
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Profile.
190
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung61: Standardprofile
Hier sollten Sie die Liste der Standardprofile sehen, von denen wir vorhin gesprochen haben.
Nachdem wir unsere benutzerdefinierten Profile erstellt haben, werden diese ebenfalls in dieser
Liste angezeigt.
Zunächst lässt sich schnell erkennen, mit welchen Profilen wir herumexperimentieren können,
indem wir die Spalte Benutzerdefiniert betrachten. Wenn dort ein Häkchen gesetzt ist,
handelt es sich um ein benutzerdefiniertes Profil und wir können praktisch alles daran
bearbeiten. Wenn in dieser Spalte kein Häkchen gesetzt ist, können wir zwar trotzdem auf
den Link Bearbeiten klicken, wir können allerdings keine Berechtigungseinstellungen ändern.
(Was können wir also auf Standardprofilen überhaupt ändern? Nun, wir können auswählen,
welche Registerkarten oben auf der Seite des Benutzers angezeigt werden sollen, und wir
können auch auswählen, welche Anwendungen im Force.com-Anwendungsmenü rechts oben
auf der Seite verfügbar sein sollen.)
2. Erstellen Sie ein neues Profil namens "Recruiter" (Personalbeschaffungsmitarbeiter),
das auf dem Standardbenutzerprofil beruht.
Es gibt hierfür zwei Möglichkeiten: Wir können entweder auf Neues Profil klicken, ein
bestehendes Profil auswählen, das dupliziert werden soll, ihm einen Namen geben und auf
Speichern klicken, oder aber wir können einfach auf der Detailseite des Profils, das kopiert
werden soll, auf Duplizieren klicken, dem Profil einen Namen geben und auf Speichern
klicken. Letztlich ist die Anzahl der Klicks gleich. Sie können also einfach die Methode
verwenden, die Ihnen persönlich mehr zusagt. "Standardbenutzer" ist das Profil, das unserem
angestrebten Profil "Recruiter" (Personalbeschaffungsmitarbeiter) am nächsten kommt. Daher
ist es eine gute Ausgangsbasis.
3. Klicken Sie auf der Detailseite des neuen Profils "Recruiter"
(Personalbeschaffungsmitarbeiter) auf Bearbeiten.
Die Bearbeitungsseite für Personalbeschaffungsmitarbeiter sollte genauso aussehen und
funktionieren wie die Bearbeitungsseite des Standardbenutzerprofils, mit einer wichtigen
Ausnahme: Sie können alle Berechtigungseinstellungen bearbeiten.
191
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
4. Setzen Sie im Bereich "Einstellungen für benutzerdefinierte Anwendungen" die
Personalbeschaffungsanwendung für alle Benutzer, die dem Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) zugewiesen sind, auf "sichtbar", wie im folgenden
Screenshot zu sehen.
Abbildung62: Bereich "Einstellungen für benutzerdefinierte Anwendungen" für das
Profil
Tipp: Sie können diesem Profil auch Zugriff auf alle anderen verfügbaren
Anwendungen erteilen. Für jedes Profil muss mindestens eine Anwendung sichtbar
sein.
Wenn eine Anwendung sichtbar ist, kann ein Benutzer sie aus dem
Force.com-Anwendungsmenü rechts oben auf der Seite auswählen. Achten Sie jedoch auf
Folgendes: Selbst wenn eine Anwendung sichtbar ist, werden die Registerkarten der Anwendung
nur angezeigt, wenn ein Profil über die Berechtigung zur Anzeige der Registerkarten und die
Berechtigung zur Anzeige des zugehörigen Objekts verfügt. (Wir legen diese beiden
Berechtigungen weiter unten auf der Profilbearbeitungsseite fest.)
5. Wählen Sie neben der Personalbeschaffungsanwendung die Option Standard aus.
Diese Auswahl bedeutet, dass die Personalbeschaffungsanwendung angezeigt wird, wenn sich
ein Benutzer anmeldet. Wenn Sie eine Anwendung als Standardanwendung auswählen, ist
für sie das Kontrollkästchen Sichtbar automatisch aktiviert, da eine Standardanwendung
keinen Sinn hat, wenn sie nicht für den Benutzer sichtbar ist.
6. Wählen Sie im Bereich "Registerkarteneinstellungen" für die Registerkarten
"Candidates" (Bewerber), "Employment Websites" (Jobbörsen), "Job Applications"
(Stellenbewerbungen) und "Positions" (Stellen) die Option "Standard: Ein" aus.
Tipp: Sie können auswählen, ob weitere Registerkarten angezeigt werden sollen, je
nachdem, welche weiteren Anwendungen Sie im letzten Schritt als sichtbar festgelegt
haben.
Für unsere Personalbeschaffungsanwendung sind alle benutzerdefinierten Registerkarten für
die Personalbeschaffung standardmäßig aktiviert. Bei allen anderen Registerkarten, die Sie
auswählen, können Sie festlegen, welche oben auf der Seite des Benutzers angezeigt werden
sollen ("Standard: Ein"), welche auf der Seite des Benutzers ausgeblendet sein, aber zur
192
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Verfügung stehen sollen, wenn der Benutzer ganz rechts auf "Alle Registerkarten" klickt
("Standard: Aus") und welche vollständig vor dem Benutzer verborgen sein sollen ("Registerkarte
ausgeblendet").
Denken Sie daran, dass die Benutzer, auch wenn Sie eine Registerkarte vollständig verbergen,
die Datensätze, die auf der Registerkarte angezeigt werden würden, noch immer in
Suchergebnissen und Themenlisten sehen können. (Um zu verhindern, dass ein Benutzer auf
Daten zugreift, müssen wir weiter unten auf der Profilbearbeitungsseite in den Bereichen
"Standardobjektberechtigungen" und "Benutzerdefinierte Objektberechtigungen" die
entsprechenden Einschränkungen festlegen. Dazu kommen wir in Kürze.)
Die Einstellung Registerkartenanpassungen des Benutzers überschreiben
wird angezeigt, wenn Ihre Organisation aktuell verwendet wird und Sie sicherstellen möchten,
dass Ihre bestehenden Benutzer die von Ihnen ausgewählten Registerkarten betrachten. Für
unsere Anwendung brauchen Sie diese Option nicht auszuwählen, da wir ein brandneues Profil
definieren und noch niemand persönliche Einstellungen für die Registerkartensichtbarkeit
festgelegt hat. Wenn Sie jedoch diese Option später auswählen möchten, sollten Sie darauf
achten, dass Sie nicht die Benutzer verärgern, indem Sie alle ihre Anpassungen löschen!
Abbildung63: Bereich "Registerkarteneinstellungen" für das Profil
Unmittelbar unterhalb des Bereichs "Registerkarteneinstellungen" können Sie in den Bereichen
"Administrative Berechtigungen" und "Allgemeine Benutzerberechtigungen" speziellen Zugriff
auf Funktionen festlegen, die sich nicht direkt bestimmten Objekten zuordnen lassen. Keine
dieser Berechtigungen betrifft unsere Personalbeschaffungsanwendung. Sie können jedoch
mehr dazu in der Salesforce-Hilfe erfahren.
Nun sollten wir zu den Objektebenenberechtigungen übergehen.
7. Geben Sie im Bereich "Benutzerdefinierte Objektberechtigungen" die
Objektebenenberechtigungen für das Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) gemäß der folgenden Tabelle an.
193
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Tabelle26: Zusammenfassung der erforderlichen Berechtigungen: Recruiter
(Personalbeschaffungsmitarbeiter)
Lesen
Erstellen
Bearbeiten Löschen
Alle
anzeigen
Alle ändern
Candidate
(Bewerber)
Employment
Website
(Jobbörse)
Job
Application
(Stellenbewerbung)
Job Posting
(Stelenausschreibung)
Position
(Stelle)
Review
Tipp: Je nachdem, welche Anwendungen Sie zuvor auf "sichtbar" gesetzt haben,
können Sie auch zusätzliche Objektberechtigungen für Standardobjekte und andere
benutzerdefinierte Objekte festlegen.
Da es keine Fälle gibt, in denen ein Personalbeschaffungsmitarbeiter in der Lage sein soll,
Stellen, Bewerber, Stellenbewerbungen und Reviews zu löschen, sollten wir sicherstellen, dass
die Objektebenenberechtigungen zum Löschen für diese Objekte deaktiviert sind. Achten Sie
außerdem darauf, dass die Berechtigung "Alle anzeigen" nur für Jobbörsen, Stellen und
Stellenausschreibungen und die Berechtigung und "Alle ändern" nur für Stellenausschreibungen
und Jobbörsen ausgewählt ist. Dies sind besondere Arten von Objektberechtigungen, die wir
später in diesem Kapitel erörtern.
Dass wir hier die Fähigkeit zum Löschen von Objekten, die mit der Personalbeschaffung zu
tun haben, einschränken, bewirkt, dass die Personalbeschaffungsmitarbeiter nie in der Lage
sind, diese Objekte zu löschen. Die Tatsache, dass wir den Personalbeschaffungsmitarbeitern
die Berechtigung zum Erstellen, Lesen oder Bearbeiten von Objekten im Zusammenhang mit
der Personalbeschaffung gewähren, bedeutet jedoch nicht, dass die
Personalbeschaffungsmitarbeiter jeden Objektdatensatz der Personalbeschaffungsanwendung
lesen bzw. bearbeiten dürfen. Warum ist das so?
194
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Hier sehen wir das Ergebnis zweier wirklich wichtiger Konzepte bei der Plattform:
•
•
Die Berechtigungen für einen Datensatz werden stets gemäß einer Kombination aus
Berechtigungen auf der Objekt-, Feld-, und Datensatzebene ausgewertet.
Wenn die Berechtigungen auf der Objektebene mit denen auf der Datensatzebene in
Konflikt stehen, haben die strengeren Einstellungen Vorrang.
Auch wenn wir diesem Profil Erstell-, Lese- und Bearbeitungsberechtigungen für die
Personalbeschaffungsobjekte erteilen, gilt daher: Wenn die Berechtigungen auf der
Datensatzebene für einen einzelnen Personalbeschaffungsdatensatz strenger sind, richten sich
die Zugriffsmöglichkeiten des Personalbeschaffungsmitarbeiters nach diesen strengeren Regeln.
Hier ein Beispiel: Unser neues Profil gewährt einem Personalbeschaffungsmitarbeiter die
Berechtigung zum Erstellen, Bearbeiten und Anzeigen von Reviews. Wenn wir jedoch die
unternehmensweiten Standardeinstellungen für Reviews auf "Privat" setzen (eine Berechtigung
auf der Datensatzebene), darf unser Personalbeschaffungsmitarbeiter nur seine eigenen Reviews
bearbeiten und anzeigen, nicht jedoch die Reviews, deren Inhaber andere Benutzer sind. Wir
befassen uns später genauer mit Berechtigungen auf der Datensatzebene und behandeln weitere
Beispiele für die Kombination aus diesen Berechtigungen und Berechtigungen auf der
Objektebene. Im Moment brauchen Sie sich lediglich zu merken, dass
Objektebenenberechtigungen nur ein Baustein des Ganzen sind.
8. Klicken Sie auf Speichern, um Ihr Profil zu erstellen und zur Profildetailseite
zurückzukehren.
Herzlichen Glückwunsch! Wir sind mit unserem ersten Profil fertig. Wie Sie sehen können,
war das gar nicht so schwer, da wir bereits analysiert hatten, welche Berechtigungen erforderlich
waren, und wussten, auf welche Objekte Personalbeschaffungsmitarbeiter Zugriff benötigen.
Im nächsten Abschnitt stellen wir schnell noch unsere beiden anderen Profile fertig und gehen
dann weiter zur Feldebenensicherheit.
Beyond the Basics
Wussten Sie, dass Sie eine verbesserte Benutzeroberfläche zur Verwaltung von Profilen
verwenden können?
Angenommen, Sie müssen eine große Anzahl von Profilen verwalten und würden gerne
eine rationalisiertere Vorgehensweise verwenden. Mit der verbesserten Benutzeroberfläche
für die Profilverwaltung können Sie schnell und einfach in Profileinstellungen navigieren
und diese durchsuchen und bearbeiten.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Verbesserte
Benutzeroberfläche für die Profilverwaltung – Übersicht".
195
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Erstellen des Profils
"Standard Employee" (Standardmitarbeiter)
Nachdem wir nun das Profil "Recruiter" (Personalbeschaffungsmitarbeiter) erstellt haben,
richten wir abschließend noch ein Profil für Standardmitarbeiter ein. Wie bereits erwähnt,
möchten Sie in Ihrem eigenen Unternehmen vielleicht weitere Profile mit Basiszugriff für die
verschiedenen Haupttätigkeitsbereiche festlegen, aber für unsere Zwecke hier reichen die
bisherigen vollkommen aus.
Um unser Gedächtnis aufzufrischen, werfen wir einen Blick auf die Übersichtstabelle für die
erforderlichen Berechtigungen:
Tabelle27: Zusammenfassung der erforderlichen Berechtigungen: Standard Employee
(Standardmitarbeiter)
Positions
(Stellen)
Standard •
Employee
(Standardmitarbeiter)
Candidates Job
Reviews
(Bewerber) Applications
(Stelenbewerbungen)
Lesen (nicht
für
Mnidesgteha/tH
l öchsgteha)tl
-
-
Job
Employment
Postings
Websites
(Stelenausschreibungen) (Jobbörsen)
-
-
Standardmitarbeiter brauchen nicht viel Zugriff, aber sie sollen dennoch in der Lage sein, alle
offenen Stellen zu sehen, damit sie bei der Anwerbung neuer Mitarbeiter mithelfen können.
Dieses Profil lässt sich ganz einfach erstellen. Führen Sie einfach die Schritte aus, die wir im
vorherigen Abschnitt angegeben haben, und legen Sie Folgendes fest:
•
•
Geben Sie dem Profil den Namen Standard Employee (Standardmitarbeiter) und
legen Sie ihm das Profil "Standardbenutzer" zugrunde.
Aktivieren Sie die Berechtigung "Lesen" für das Objekt "Positions" (Stellen).
Fantastisch! Jetzt haben wir Profile für alle Benutzer in unserer Personalbeschaffungsanwendung
definiert. Als Nächstes erstellen wir Berechtigungssätze, um den Personen, die sie benötigen,
weitere Berechtigungen zu erteilen.
196
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Erstellen des
Berechtigungssatzes "Hiring Manager"
(Einstellungs-Manager)
Wir haben zwei Profile für unsere leicht zu definierenden Tätigkeitsbereiche erstellt. Nun
müssen wir zusätzlichen Zugriff für Funktionen gewähren, die nicht an eine bestimmte Position
gebunden sind.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Berechtigungssätze.
2. Klicken Sie auf der Seite "Berechtigungssätze" auf Neu.
3. Geben Sie im Feld Bezeichnung den Text Hiring Manager
(Einstellungs-Manager) ein.
4. Das Feld API-Name wird automatisch als Hiring_Manager vorgegeben. Lassen
wir es so, wie es ist.
Wenn Sie einem Benutzer Berechtigungssätze zuweisen, können Sie nur Berechtigungssätze
zuweisen, die dieselbe Benutzerlizenz aufweisen wie der Benutzer, oder Berechtigungssätze
ohne zugehörige Lizenz. Sie können die Lizenz später nicht mehr ändern. Daher ist es wichtig,
beim Erstellen eines Berechtigungssatzes die richtige Benutzerlizenz auszuwählen.
5. Wählen Sie im Feld Benutzerlizenz die Option Salesforce aus.
6. Klicken Sie auf Speichern.
197
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung64: Seite "Berechtigungssatz-Übersicht"
Wir haben nun den ersten Schritt zur Erstellung eines Berechtigungssatzes durchgeführt. Sie
können Berechtigungssätze nicht nur duplizieren, sondern auch ganz von vorne erstellen.
Genau das haben wir bei der Erstellung dieses Berechtigungssatzes getan. Derzeit sind für
diesen Berechtigungssatz keine Einstellungen oder Berechtigungen aktiviert. Er ist noch völlig
unkonfiguriert. Aktivieren wir also einige Berechtigungen und Einstellungen. Da dieser
Berechtigungssatz für Einstellungs-Manager gedacht ist, machen wir zunächst die
Personalbeschaffungsanwendung sichtbar.
7. Klicken Sie auf Zugewiesene Anwendungen.
8. Klicken Sie auf der Seite "Zugewiesene Anwendungen" auf Bearbeiten.
9. Wählen Sie unter "Verfügbare Anwendungen" den Eintrag Recruiting
(Personalbeschaffung) aus und klicken Sie auf Hinzufügen, um ihn zur Liste
"Aktivierte Anwendungen" hinzuzufügen.
198
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung65: Zuweisen der Personalbeschaffungsanwendung im Berechtigungssatz
für Einstellungs-Manager
10. Klicken Sie auf Speichern.
Als Nächstes möchten wir Registerkarteneinstellungen und Berechtigungen für unsere
benutzerdefinierten Objekte aktivieren. Wo können diese aktiviert werden und wie gelangen
wir dort hin? In Berechtigungssätzen gibt es einige einfache Möglichkeiten zur Navigation
zwischen Seiten. Sehen wir uns das an.
11. Klicken Sie neben "Zugewiesene Anwendungen" auf den Abwärtspfeil, um das
Navigationsmenü zu öffnen, und wählen Sie die Option Objekteinstellungen
aus.
Abbildung66: Navigationsmenü für Berechtigungssätze
Auf der Seite Objekteinstellungen wird eine Übersicht für alle Objekte und Registerkarten in
Ihrer Organisation angezeigt. Dazu gehört eine Zusammenfassung der
Registerkarteneinstellungen, Objektberechtigungen und Feldberechtigungen für alle Objekte
und Registerkarten. Gehen wir zum Objekt "Positions" (Stellen).
199
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
12. Klicken Sie in der Liste der Objekte auf Positions (Stellen).
13. Klicken Sie auf der Seite "Positions" (Stellen) auf Bearbeiten.
Sie werden feststellen, dass die Bezeichnungen von Registerkarteneinstellungen in
Berechtigungssätzen von den Bezeichnungen in Profilen abweichen. Sie sind ein wenig anders
konfiguriert, aber Sie erhalten dieselben Ergebnisse.
Tabelle28: Vergleich der Registerkarteneinstellungen in Berechtigungssätzen und Profilen
Aktivierte Einstellungen in Aktivierte Einstellungen in Beschreibung
Berechtigungssätzen
Profilen
Standard: Aus
Die Registerkarte ist auf der
Seite "Alle Registerkarten"
verfügbar. Einzelne Benutzer
können ihre Anzeige
anpassen, damit die
Registerkarte in beliebigen
Anwendungen angezeigt wird.
Verfügbar und Sichtbar Standard: Ein
Die Registerkarte ist auf der
Seite "Alle Registerkarten"
verfügbar und wird in den
sichtbaren Registerkarten für
deren verknüpfte Anwendung
angezeigt. Einzelne Benutzer
können ihre Anzeige
anpassen, damit die
Registerkarte ausgeblendet
oder in anderen
Anwendungen sichtbar
gemacht wird.
Keine
Die Registerkarte ist auf der
Seite "Alle Registerkarten"
nicht verfügbar und wird in
keinen Anwendungen
angezeigt.
Verfügbar
Registerkarte
ausgeblendet
14. Wählen Sie unter "Registerkarteneinstellungen" die Optionen Verfügbar und
Sichtbar aus.
15. Aktivieren Sie unter "Objektberechtigungen" die Optionen Lesen, Erstellen und
Bearbeiten.
200
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Nun gewähren wir Zugriff auf die Felder in Stellendatensätzen. Wir erfahren später noch viel
mehr zu Feldberechtigungen unter Einführung in die Feldebenensicherheit auf Seite 206, aber
im Moment aktivieren wir einfach die Feldberechtigungen, die wir brauchen.
16. Aktivieren Sie unter "Feldberechtigungen" für alle Felder jeweils das Kontrollkästchen
Bearbeiten.
Tipp: Wenn Sie Bearbeiten für ein Feld aktivieren, ist automatisch auch
Lesen aktiviert.
Sie haben sicherlich bemerkt, dass Sie bei einigen der Felder die Einstellungen nicht ändern
können. Für diese Felder wurde der Zugriff voreingestellt, da es sich um Pflichtfelder handelt
oder ihre Daten automatisch berechnet werden. Beispiel: Da "Days Open" (Tage offen) ein
Formelfeld ist, kann es grundsätzlich nicht bearbeitet werden. Sie sollten es jedoch lesbar
machen.
17. Aktivieren Sie Lesen für "Days Open" (Tage offen).
18. Klicken Sie auf Speichern.
Nun müssen wir den Zugriff für unsere restlichen Objekte festlegen. Wie wir bereits gesehen
haben, können Sie mit dem Navigationsmenü schnell von einer Seite zu einer anderen springen.
Beachten Sie, dass sich auf der Seite "Positions" (Stellen) nun zwei Abwärtspfeile befinden:
einer neben "Objekteinstellungen" und einer neben "Positions" (Stellen). Immer wenn Sie sich
auf der Seite eines bestimmten Objekts befinden, steht dieses zweite Navigationsmenü zur
Verfügung. Klicken Sie auf den zweiten Abwärtspfeil und es werden Ihnen alle Objekte und
Registerkarten in Ihrer Organisation angezeigt.
201
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung67: Navigationsmenü für Objekt
Doch das ist nicht die einzige Möglichkeit, wie Sie in einem Berechtigungssatz navigieren
können. Eine weitere Option ist das Feld Einstellungen suchen..., das auf jeder Seite in einem
Berechtigungssatz verfügbar ist. Hier können Sie drei oder mehr aufeinander folgende
Buchstaben eines Objekt-, Einstellungs- oder Berechtigungsnamens eingeben und dann das
gewünschte Objekt aus der angezeigten Liste auswählen. Versuchen wir es.
19. Klicken Sie in das Feld
Einstellungen suchen... und geben Sie job ein.
Es gibt zwei Objekte mit der Zeitenfolge "job" und sie werden beide in der Liste angezeigt.
20. Wählen Sie Job Applications (Stellenbewerbungen) aus.
Abbildung68: Verwenden des Felds "Einstellungen suchen".
Nun, da wir wissen, wie wir schnell und einfach in einem Berechtigungssatz navigieren können,
sollten Sie weitermachen und die restlichen Berechtigungen und Einstellungen gemäß der
folgenden Tabelle hinzufügen.
202
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Tabelle29: Registerkarteneinstellungen und Objektberechtigungen für
Einstellungs-Manager
Objektname
Registerkarteneinstellungen Objektberechtigungen Feldberechtigungen
Job Applications
•
(Stellenbewerbungen) •
Verfügbar
Sichtbar
•
•
Lesen
Bearbeiten
•
•
Lesen für alle
Bearbeiten für
"Cover Letter"
(Anschreiben) und
"Status"
Candidates
(Bewerber)
Verfügbar
Sichtbar
•
Lesen
•
Kein Zugriff auf
"SSN"
Lesen für alle
anderen
•
•
•
Reviews
-
•
•
•
Lesen
Erstellen
Bearbeiten
•
•
Job Postings
(Stellenausschreibungen)
•
•
•
Lesen
Erstellen
Bearbeiten
-
Employment
Websites (Jobbörsen)
•
Lesen
-
Lesen für
"Candidate"
(Bewerber) und
"Position" (Stelle)
Lesen und
Bearbeiten für
"Assessment"
(Einschätzung)
Hervorragend! Wir haben unseren ersten Berechtigungssatz erstellt und die Einstellungen
hinzugefügt, die wir für Einstellungs-Manager brauchen. Nun erstellen wir einen weiteren
Berechtigungssatz für einen anderen Tätigkeitsbereich, nämlich das Führen von
Einstellungsgesprächen mit Bewerbern.
203
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Erstellen des
Berechtigungssatzes "Interviewer"
(Gesprächsleiter)
Nun können wir den Berechtigungssatz "Interviewer" (Gesprächsleiter) erstellen.
Erstellen Sie anhand der im letzten Abschnitt erörterten Schritte einen Berechtigungssatz mit
folgenden Einstellungen:
•
•
•
Geben Sie diesem Berechtigungssatz den Namen Interviewer (Gesprächsleiter) und
weisen Sie ihm die Salesforce-Benutzerlizenz zu.
Legen Sie unter "Zugewiesene Anwendungen" fest, dass die
Personalbeschaffungsanwendung sichtbar sein soll.
Aktivieren Sie die folgenden Registerkarteneinstellungen und Objektberechtigungen:
Tabelle30: Registerkarteneinstellungen und Objektberechtigungen für Gesprächsleiter
204
Objektname
Registerkarteneinstellungen Objektberechtigungen Feldberechtigungen
Positions (Stellen)
◊ Verfügbar
◊ Sichtbar
◊ Lesen
◊ Kein Zugriff auf
Min Pay
(Mindestgehalt)
und Max Pay
(Höchstgehalt)
◊ Lesen für alle
anderen
Candidates
(Bewerber)
◊ Verfügbar
◊ Sichtbar
◊ Lesen
◊ Kein Zugriff auf
"SSN"
◊ Lesen für alle
anderen
Job Applications
◊ Verfügbar
(Stellenbewerbungen) ◊ Sichtbar
◊ Lesen
◊ Lesen für alle
Reviews
◊ Lesen
◊ Erstellen
◊ Bearbeiten
◊ Lesen für
"Candidate"
(Bewerber) und
"Position" (Stelle)
-
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Objektname
Registerkarteneinstellungen Objektberechtigungen Feldberechtigungen
◊ Lesen und
Bearbeiten für
"Assessment"
(Einschätzung)
Gehen wir die erforderlichen Berechtigungen für Einstellungs-Manager, Gesprächsleiter und
Standardmitarbeiter noch einmal durch.
Tabelle31: Zusammenfassung der erforderlichen Berechtigungen: Einstellungs-Manager,
Gesprächsleiter und Standardmitarbeiter
Positions
(Stellen)
Candidates Job
Reviews
(Bewerber) Applications
(Stelenbewerbungen)
Job
Employment
Postings
Websites
(Stelenausschreibungen) (Jobbörsen)
Hiring
•
Manager
•
(Einstelungs-Manager)
•
Lesen •
Erstellen
Bearbeiten*
Lesen*
(nicht
für
SSN)
•
•
Lesen •
Bearbeiten •
(nicht •
für
Nachschalgefed
ler)
Lesen •
Erstellen •
Bearbeiten •
Lesen* •
Erstellen*
Bearbeiten*
Interviewer •
(Gesprächsleiter)
Lesen •
(nicht
für
Mnidesgteha/tH
l öchsgteha)tl
Lesen*
(nicht
für
SSN)
•
Lesen*
•
•
•
Lesen** Erstellen
Bearbeiten**
-
Standard •
Employee
(Standardmitarbeiter)
Lesen (nicht
für
Mnidesgteha/tH
l öchsgteha)tl
-
-
-
-
Lesen
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der
Einstellungs-Manager/Gesprächsleiter zugewiesen wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Toll, aber was ist mit den Sternchen? Müssen wir sie bei der Festlegung unserer
Objektberechtigungen berücksichtigen?
205
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Durchaus nicht. Die Sternchen stehen für Sicherheitseinstellungen auf der Datensatzebene,
die wir in Kürze festlegen werden. Hier brauchen wir uns lediglich um die Berechtigungen zu
kümmern, auf die diese Benutzer zumindest manchmal Zugriff benötigen. Genau darum geht
es bei Objektberechtigungen.
Wir müssen jedoch sicherstellen, dass sensible Daten in diesen Objekten vor Benutzern
geschützt sind, die keinen Zugriff benötigen. Und dazu müssen wir uns mit den Datensätzen
selbst befassen, die die einzelnen Benutzer jeweils anzeigen und bearbeiten können sollen.
Steuern des Zugriffs auf Felder
Nachdem wir nun den Zugriff auf Objekte insgesamt eingeschränkt haben, ist es an der Zeit,
engmaschiger vorzugehen, um die Sicherheit einzelner Objektfelder zu verwalten. Mit diesen
Einstellungen können wir sensible Felder, wie die Sozialversicherungsnummer des Bewerbers,
schützen, ohne die Existenz dieses Bewerberobjekts insgesamt verschleiern zu müssen.
Einführung in die Feldebenensicherheit
Auf der Plattform wird der Zugriff auf einzelne Felder über die Feldebenensicherheit gesteuert.
Durch die Feldebenensicherheit wird festgelegt, ob ein Benutzer den Wert für ein bestimmtes
Feld auf einem Objekt anzeigen, bearbeiten bzw. löschen kann.
Anders als Seitenlayouts, die lediglich die Sichtbarkeit von Feldern auf Detail- und
Bearbeitungsseiten festlegen, steuert die Feldebenensicherheit die Sichtbarkeit von Feldern in
jedem Teil der Anwendung, einschließlich Themenlisten, Listenansichten, Berichten und
Suchergebnissen. Um vollkommen sicher zu sein, dass ein Benutzer nicht auf ein bestimmtes
Feld zugreifen kann, muss die Seite für die Feldebenensicherheit für das betreffende Objekt
verwendet werden, um den Zugriff auf das Feld einzuschränken. Es gibt einfach keine kürzeren
Vorgehensweisen, die dieselbe Schutzstufe für ein bestimmtes Feld bieten.
Feldebenensicherheit in unserer
Personalbeschaffungsanwendung
Um uns noch einmal ins Gedächtnis zu rufen, welche Einstellungen für die Feldebenensicherheit
wir für unsere Personalbeschaffungsanwendung benötigen, sollten wir einen erneuten Blick
auf die erforderlichen Berechtigungen in der folgenden Tabelle werfen. Wir haben sie nach
Personalbeschaffungsmitarbeiter, Einstellungs-Manager und Standardmitarbeiter sortiert, da
206
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
(welche Überraschung!) die Einstellungen für die Feldebenensicherheit eng mit Profilen und
Berechtigungssätzen verwandt sind:
Tabelle32: Überarbeitete Zusammenfassung der erforderlichen Berechtigungen
Recruiter
Hiring Manager
Standard Employee
(Personalbeschaffungsmitarbeiter) (Einstellungs-Manager) (Standardmitarbeiter)
Position (Stelle)
Lesen, Erstellen,
Bearbeiten
Lesen, Erstellen,
Bearbeiten*
Lesen (nicht für
Mindestgehalt/Höchstgehalt)
Candidate (Bewerber) Lesen, Erstellen,
Bearbeiten
Lesen* (nicht für
SSN)
Lesen* (nicht für
SSN)
Job Application
(Stellenbewerbung)
Lesen, Erstellen,
Bearbeiten
Lesen, Bearbeiten
(nicht für
Nachschlagefelder)
Lesen*
Review
Lesen, Erstellen,
Bearbeiten
Lesen, Erstellen,
Bearbeiten
Lesen**, Erstellen,
Bearbeiten**
Job Posting
Lesen, Erstellen,
(Stellenausschreibung) Bearbeiten, Löschen
Lesen*, Erstellen*,
Bearbeiten*
Employment Website Lesen, Erstellen,
(Jobbörse)
Bearbeiten, Löschen
Lesen
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der
Einstellungs-Manager/Gesprächsleiter zugewiesen wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Für die Einstellungen für die Feldebenensicherheit konzentrieren wir uns zunächst auf
diejenigen Regeln, die Feldeinschränkungen in Klammern enthalten, insbesondere folgende:
•
•
•
Beim Objekt "Position" (Stelle) Mindest- und Höchstgehalt vor Standardmitarbeitern und
Gesprächsleitern verbergen
Beim Objekt "Candidate" (Bewerber) Sozialversicherungsnummern vor
Einstellungs-Managern und Gesprächsleitern verbergen
Beim Objekt "Job Application" (Stellenbewerbung) die Nachschlagefelder Position
(Stelle) und Candidate (Bewerber) für Einstellungs-Manager als schreibgeschützt festlegen
Legen wir also los!
207
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Einschränken des Zugriffs
auf Felder im Profil "Standard Employee"
(Standardmitarbeiter)
Gehen wir noch einmal die Regeln für die Feldebenensicherheit durch.
•
•
•
Bei Stellen Mindest- und Höchstgehalt vor Standardmitarbeitern und Gesprächsleitern verbergen
Bei Bewerbern Sozialversicherungsnummern vor Gesprächsleitern und Einstellungs-Managern
verbergen
Bei Stellenbewerbungen für Einstellungs-Manager Schreibschutz bei Nachschlagefeldern für
Bewerber und Stellen festlegen
Zur Definition dieser Regeln greifen wir auf die Einstellungen für die Feldebenensicherheit
im Profil "Standard Employee (Standardmitarbeiter) zu.
Sie fragen sich vielleicht: Die letzten beiden Regeln betreffen Gesprächsleiter und
Einstellungs-Manager, aber diese Funktionen sind doch durch Berechtigungssätze definiert.
Warum befassen wir uns jetzt damit?
Berechtigungen sind additiv: Durch die Zuweisung von Berechtigungssätzen können Sie nie
bestehende Berechtigungen eines Benutzers entfernen. Sie können lediglich weitere
Berechtigungen hinzufügen. Wenn wir den Zugriff einschränken möchten, müssen wir
sicherstellen, dass das Basisprofil für unsere Benutzer – ebenso wie alle etwaigen für sie geltenden
Berechtigungssätze – den betreffenden Zugriffstyp einschränken. Im Falle unserer Organisation
wissen wir, dass wir Benutzern mit dem Profil "Standard Employee" (Standardmitarbeiter)
später die Berechtigungssätze "Interviewer" (Gesprächsleiter) und "Hiring Manager"
(Einstellungs-Manager) zuweisen, daher müssen wir die Feldberechtigungen sowohl in diesem
Profil als auch in den Berechtigungssätzen einschränken.
Richten wir also nun die Feldebenensicherheit für das Profil "Standard Employee"
(Standardmitarbeiter) ein. Später überprüfen wir dann die Feldebenensicherheit für unsere
Berechtigungssätze.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Profile und wählen Sie das
Profil "Standard Employee" (Standardmitarbeiter) aus.
208
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung69: Detailseite für das Profil "Standard Employee" (Standardmitarbeiter)
Das Erste, was Ihnen vermutlich auf der Detailseite für das Profil "Standard Employee"
(Standardmitarbeiter) auffällt, ist, dass sie einige Bereiche mehr enthält als die Bearbeitungsseite,
die wir ursprünglich zur Definition des Profils verwendeten. Bei diesen zusätzlichen Bereichen
handelt es sich um "Seitenlayouts" (von denen wir bereits gehört haben), "Feldebenensicherheit",
"Datensatztypeinstellungen", "Anmeldezeiten" und "IP-Bereiche für die Anmeldung". In
diesem Buch befassen wir uns zwar nur mit der Feldebenensicherheit (und später mit
Datensatztypen) detaillierter, doch auch die anderen Bereiche tragen zu der Vielzahl der
Funktionen bei, die mit Profilen in unserer Anwendung ausgeführt werden können. In der
Salesforce-Hilfe können Sie mehr darüber erfahren.
2. Klicken Sie im Bereich "Feldebenensicherheit" neben dem Objekt "Position" (Stelle)
auf Anzeigen.
3. Klicken Sie auf Bearbeiten.
209
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung70: Bearbeitungsseite für Feldebenensicherheit
Hier sehen wir Sicherheitseinstellungen für alle Felder des Objekts "Position" (Stelle),
einschließlich Min Pay (Mindestgehalt) und Max Pay (Höchstgehalt), die beiden Felder,
die wir einschränken möchten. Wie Sie sehen, können einige Einstellungen für die
Feldebenensicherheit für einige Felder nicht geändert werden. Dies liegt daran, dass es sich
entweder um systemgenerierte Felder handelt oder dass sie als Nachschlagebeziehungsfelder
(Fremdschlüssel) für andere Datensätze fungieren.
Da die Kontrollkästchen für die Sicherheitseinstellungen ein wenig verwirrend sein können,
sollten wir eine kurze Übung durchführen, um zu sehen, wie ihre Werte (Sichtbar und
Schreibschutz) den drei logischen Berechtigungseinstellungen für Felder zugeordnet
werden: "Verborgen", "Schreibschutz" und "Bearbeitbar":
Tabelle33: Zuordnung der Feldebenenberechtigungen
Berechtigung
Sichtbar
Schreibschutz
Schreibschutz
X
X
Bearbeitbar
X
Verborgen
210
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Nach dieser Übung ist deutlich zu sehen, dass die meisten Felder bearbeitbar sind, da bei ihnen
ausschließlich das Kontrollkästchen Sichtbar ausgewählt ist. Um festzulegen, dass ein Feld
nicht von einem Benutzer gesehen werden kann, brauchen wir lediglich beide Kontrollkästchen
zu deaktivieren.
4. Heben Sie neben Max Pay (Höchstgehalt) die Auswahl von Sichtbar auf.
5. Heben Sie neben Min Pay (Mindestgehalt) die Auswahl von Sichtbar auf.
6. Klicken Sie auf Speichern.
Kümmern wir uns nun um die übrigen Sicherheitsregeln auf der Feldebene. Auch hier gilt
wieder: Da wir wissen, dass unseren Gesprächsleitern und Einstellungs-Managern später das
Profil "Standard Employee" (Standardmitarbeiter) zugewiesen wird, stellen wir nun sicher,
dass die Feldberechtigungen für dieses Profil korrekt festgelegt sind.
7. Klicken Sie auf Zurück zum Profil.
8. Klicken Sie im Bereich "Feldebenensicherheit" neben dem Objekt "Candidate"
(Bewerber) auf Anzeigen.
9. Klicken Sie auf Bearbeiten.
10. Heben Sie neben SSN die Auswahl von Sichtbar auf.
11. Klicken Sie auf Speichern.
12. Klicken Sie auf Zurück zum Profil.
13. Klicken Sie im Bereich "Feldebenensicherheit" neben dem Objekt "Job Application"
(Stellenbewerbung) auf Anzeigen.
14. Klicken Sie auf Bearbeiten.
15. Wählen Sie neben den Feldern Candidate (Bewerber) und Position (Stelle) die
Option Schreibschutz aus.
16. Klicken Sie auf Speichern.
Wir haben die Festlegung der Feldebenensicherheit für das Profil "Standard Employee"
(Standardmitarbeiter) abgeschlossen. Wir brauchten keine Änderungen beim Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) vorzunehmen, da wir bereits in der Planungsphase festgelegt
hatten, dass Personalbeschaffungsmitarbeiter auf alle Felder zugreifen können, die wir in
unseren Objekten erstellt haben.
Probieren Sie es aus: Überprüfen der
Feldebenensicherheit in Berechtigungssätzen
Aber was ist mit den Berechtigungssätzen, die wir erstellt haben?
211
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Erinnern Sie sich daran, wie wir bei der Erstellung der Berechtigungssätze für
Einstellungs-Manager und Gesprächsleiter Feldberechtigungen festgelegt haben? Nun, da wir
mehr über die Feldebenensicherheit wissen, sollten wir die sensibelsten Felder in unseren
Berechtigungssätzen nochmals überprüfen, um sicherzustellen, dass sie korrekt sind.
Wenn einige dieser Einstellungen falsch sind, dann nehmen Sie die entsprechenden Änderungen
vor. Vergessen Sie nicht, auf Speichern zu klicken, wenn Sie eine andere Seite aufrufen.
Überprüfen wir zunächst die Feldberechtigungen im Berechtigungssatz "Interviewer"
(Gesprächsleiter).
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Berechtigungssätze und wählen
Sie den Berechtigungssatz "Interviewer" (Gesprächsleiter) aus.
2. Geben Sie im Feld
Einstellungen suchen... pos ein und wählen Sie dann
"Positions" (Stellen) aus.
3. Neben den Feldern Max Pay (Höchstgehalt) und Min Pay (Mindestgehalt) sollte
sowohl Read (Lesen) als auch Edit (Bearbeiten) deaktiviert sein.
Überprüfen wir nun den Berechtigungssatz "Hiring Manager" (Einstellungs-Manager).
4. Öffnen Sie den Berechtigungssatz "Hiring Manager" (Einstellungs-Manager) und
navigieren Sie zum Objekt "Positions" (Stellen).
5. Neben den Feldern Max Pay (Höchstgehalt) und Min Pay (Mindestgehalt) sollte
sowohl Read (Lesen) als auch Edit (Bearbeiten) aktiviert sein.
Abschließend möchten wir sicherstellen, dass die Einstellungs-Manager sehen können, welcher
Bewerber und welche Stelle jeweils den einzelnen Stellenbewerbungen zugeordnet sind. Wir
möchten jedoch verhindern, dass sie diese Nachschlagefelder ändern.
6. Geben Sie im Feld
Einstellungen suchen... job ein und wählen Sie dann "Job
Applications" (Stellenbewerbungen) aus.
7. Neben den Feldern Candidate (Bewerber) und Position (Stelle) sollte Read
(Lesen) aktiviert und Edit (Bearbeiten) deaktiviert sein.
Alles erledigt. Wir haben soeben den zweiten Baustein für Sicherheit und Freigabe
abgeschlossen, indem wir die Feldebenensicherheit für die sensiblen Felder in unserer
Personalbeschaffungsanwendung definierten. Als letzten Baustein müssen wir noch die einzelnen
Datensätze angeben, auf die die Benutzer jeweils zugreifen können. Wir müssen unsere Daten
schützen, ohne irgendwelche Mitarbeiter bei ihrer Tätigkeit zu behindern.
212
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Steuern des Zugriffs auf Datensätze
Durch die Festlegung von feldspezifischen Zugriffsberechtigungen in unseren Profilen und
Berechtigungssätzen haben wir effektiv alle Objekte und Felder definiert, auf die die Benutzer
der Personalbeschaffungsanwendung zugreifen können. In diesem Abschnitt konzentrieren
wir uns auf die Festlegung von Berechtigungen für die Datensätze selbst. Sollten unsere
Benutzer offenen Zugriff auf alle Datensätze haben oder nur auf eine Teilmenge davon? Wenn
nur auf eine Teilmenge, welche Regeln sollten festlegen, ob der Benutzer Zugriff? Wir
verwenden eine Reihe verschiedener Plattform-Tools für Sicherheit und Freigabe, um diesen
Fragen nachzugehen und sicherzustellen, dass wir die richtige Lösung finden.
Einführung zu unternehmensweiten
Standardeinstellungen
Beim Umgang mit Zugriffseinstellungen auf der Datensatzebene müssen wir als Erstes die
unternehmensweiten Standardeinstellungen für die einzelnen Objekte in der
Personalbeschaffungsanwendung bestimmen. Die unternehmensweiten Standardeinstellungen,
die auch als Freigabemodell bezeichnet werden, geben den Basiszugriff an, der für die Benutzer
mit den strengsten Einschränkungen gelten soll. Mithilfe der unternehmensweiten
Standardeinstellungen sperren wir die Daten auf der restriktivsten Ebene. Anschließend öffnen
wir die Daten mithilfe der anderen Sicherheits- und Freigabetools auf der Datensatzebene
(Rollenhierarchien, Freigaberegeln und manuelle Freigabe) für andere Benutzer, die Zugriff
darauf benötigen.
Unternehmensweite Standardeinstellungen in
unserer Personalbeschaffungsanwendung
Um die unternehmensweiten Standardeinstellungen zu bestimmen, die wir in unserer
Personalbeschaffungsanwendung benötigen, müssen wir folgende Fragen für die einzelnen
Objekte beantworten:
1. Für welche Benutzer dieses Objekts gelten die strengsten Einschränkungen?
2. Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht sehen
können soll?
3. Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht bearbeiten
können soll?
213
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Anhand unserer Antworten auf diese Fragen können wir das Freigabemodell bestimmen, das
wir für das betreffende Objekt benötigen, wie im folgenden Diagramm dargestellt.
Abbildung71: Bestimmen des Freigabemodells für ein Objekt
Betrachten wir beispielsweise das Objekt "Position" (Stelle) in unserer
Personalbeschaffungsanwendung. Zur Auffrischung unseres Gedächtnisses hier noch einmal
die Tabelle der erforderlichen Berechtigungen:
Tabelle34: Überarbeitete Zusammenfassung der erforderlichen Berechtigungen
Recruiter
Hiring Manager
Standard Employee
(Personalbeschaffungsmitarbeiter) (Einstellungs-Manager) (Standardmitarbeiter)
Position (Stelle)
214
Lesen, Erstellen,
Bearbeiten
Lesen, Erstellen,
Bearbeiten*
Lesen (nicht für
Mindestgehalt/Höchstgehalt)
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Recruiter
Hiring Manager
Standard Employee
(Personalbeschaffungsmitarbeiter) (Einstellungs-Manager) (Standardmitarbeiter)
Candidate (Bewerber) Lesen, Erstellen,
Bearbeiten
Lesen* (nicht für
SSN)
Lesen* (nicht für
SSN)
Job Application
(Stellenbewerbung)
Lesen, Erstellen,
Bearbeiten
Lesen, Bearbeiten
(nicht für
Nachschlagefelder)
Lesen*
Review
Lesen, Erstellen,
Bearbeiten
Lesen, Erstellen,
Bearbeiten
Lesen**, Erstellen,
Bearbeiten**
Job Posting
Lesen, Erstellen,
(Stellenausschreibung) Bearbeiten, Löschen
Lesen*, Erstellen*,
Bearbeiten*
Employment Website Lesen, Erstellen,
(Jobbörse)
Bearbeiten, Löschen
Lesen
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der
Einstellungs-Manager/Gesprächsleiter zugewiesen wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Gehen wir nun die Liste unserer Fragen für das Objekt "Position" (Stelle) durch und
beantworten wir sie:
1. Für welche Benutzer dieses Objekts gelten die strengsten Einschränkungen?
Mitglieder des Profils "Standard Employee" (Standardmitarbeiter). Diese Personen
dürfen lediglich Stellen anzeigen.
2. Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht sehen
können soll?
Nein. Zwar sind die Werte für Mindest- und Höchstgehalt für Standardmitarbeiter
ausgeblendet, sie dürfen jedoch alle Stellendatensätze anzeigen.
3. Kann es jemals eine Instanz dieses Objekts geben, die dieser Benutzer nicht
bearbeiten können soll?
Ja. Standardmitarbeiter dürfen keine Stellendatensätze bearbeiten.
Gemäß unserem Flussdiagramm bedeutet die Antwort "Ja" auf Frage 3, dass das Freigabemodell
für das Objekt "Position" (Stelle) auf "Öffentlicher Lesezugriff" gesetzt werden sollte.
Dasselbe gilt für die Objekte "Employment Website" (Jobbörse) und "Job Posting"
(Stellenausschreibung), mit der Ausnahme, dass dort Einstellungs-Manager die Benutzer mit
215
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
den strengsten Einschränkungen sind und nicht Standardmitarbeiter. (Standardmitarbeiter
verfügen über keine Berechtigungen für diese Objekte, aber von den Benutzern, die über
Berechtigungen verfügen, gelten für Einstellungs-Manager die strengsten Einschränkungen.)
Wir möchten Einstellungs-Managern erlauben, alle Jobbörsen- und
Stellenausschreibungsdatensätze anzuzeigen. Sie sollen diese jedoch nicht bearbeiten können.
Die Antwort auf die zweite Frage lautet also "Nein", während die Antwort auf die dritte Frage
"Ja" lautet. Daher sollte das Freigabemodell für die Objekte "Employment Website" (Jobbörse)
und "Job Posting" (Stellenausschreibung) "Öffentlicher Lesezugriff" lauten.
Indem wir die erforderlichen Berechtigungen für die restlichen Personalbeschaffungsobjekte
durchgehen, können wir auch problemlos deren Freigabemodelle ermitteln. Das Profil "Standard
Employee" (Standardmitarbeiter) ist für jedes Objekt derjenige Benutzer mit den strengsten
Einschränkungen und es gibt Bewerber-, Stellenbewerbungs- und Review-Datensätze, die
bestimmte Mitarbeiter nicht anzeigen können. Folglich sollte das Freigabemodell für die
Objekte "Candidate" (Bewerber), "Job Application" (Stellenbewerbung) und "Review" jeweils
auf "Privat" gesetzt sein.
Probieren Sie es aus: Festlegen
unternehmensweiter Standardeinstellungen
Nachdem wir nun für alle Personalbeschaffungsobjekte jeweils die unternehmensweiten
Standardeinstellungen ermittelt haben, werden wir sie nun in unserer
Personalbeschaffungsanwendung implementieren.
1. Klicken Sie unter "Setup" auf Sicherheitssteuerungen > Freigabeeinstellungen.
Wenn Ihnen eine einführende Vorschaltseite angezeigt wird, klicken Sie unten auf
der Seite auf Freigabe einrichten, um zum eigentlichen Tool zu gelangen.
Auf der Seite "Freigabeeinstellungen" werden sowohl die unternehmensweiten
Standardeinstellungen als auch die Freigaberegeln festgelegt. Wir befassen uns genauer mit
dieser Seite, wenn wir uns in Kürze den Freigaberegeln zuwenden. Im Moment bearbeiten
wir lediglich unsere organisationsweiten Standardeinstellungen.
2. Klicken Sie im Bereich "Unternehmensweite Standardeinstellungen" auf Bearbeiten.
Auf dieser Seite werden die unternehmensweiten Standardeinstellungen für alle Objekte in
unserer Organisation festgelegt. Wie Sie bemerken werden, wird bei einigen Standardobjekten
(wie Leads und Kalender) eine andere Menge an unternehmensweiten Standardwerten
verwendet als uns für unsere benutzerdefinierten Personalbeschaffungsobjekte zur Verfügung
steht. In der Salesforce-Hilfe können Sie mehr darüber erfahren. Im Moment setzen wir
einfach unsere Personalbeschaffungsobjekte auf die unternehmensweiten Standardeinstellungen,
für die wir uns im letzten Abschnitt entschieden haben.
216
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung72: Bearbeitungsseite für unternehmensweite Standardeinstellungen
3. Wählen Sie neben Candidate (Bewerber) und Job Application
(Stellenbewerbung) die Option "Privat" aus.
4. Wählen Sie neben Employment Website (Jobbörse) und Position (Stelle) die
Option "Öffentlicher Lesezugriff" aus.
Sie fragen sich vermutlich gerade, warum Sie die unternehmensweiten Standardeinstellungen
nicht für die Objekte "Review" und "Job Posting" (Stellenausschreibung) festlegen können.
Dies liegt daran, dass sich diese Objekte auf der Detailseite von Master-Detail-Beziehungen
befinden und, wie im letzten Kapitel erwähnt, Detaildatensätze automatisch die
Freigabeeinstellung des zugehörigen übergeordneten Elements übernehmen. Somit ist in
unserer Anwendung das Objekt "Review" automatisch auf "Privat" gesetzt und das Objekt
"Job Posting" (Stellenausschreibung) ist automatisch auf "Öffentlicher Lesezugriff" gesetzt.
Außerdem wundern Sie sich vielleicht über die Kontrollkästchen-Spalte Verwenden von
Zugriff mithilfe von Hierarchien. Lassen Sie diese Kontrollkästchen vorerst aktiviert.
Mit dem Thema Hierarchien befassen wir uns im nächsten Abschnitt.
5. Klicken Sie auf Speichern.
Ganz einfach! Nachdem wir nun unsere Daten durch unternehmensweite Standardeinstellungen
gesperrt haben, dürfen die Benutzer derzeit nur die Bewerber-, Stellenbewerbungs- und
Review-Datensätze bearbeiten, deren Inhaber sie sind, und sie dürfen Stellen-, Jobbörsen-
217
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
und Stellenausschreibungsdatensätze mit beliebigem Inhaber anzeigen. Da diese Einstellungen
viel zu streng sind, als dass irgendein Benutzer unsere Anwendung sinnvoll einsetzen könnte,
müssen wir nun Rollenhierarchien, Freigaberegeln und manuelle Freigabe verwenden, um den
Zugriff auf Bewerber-, Stellenbewerbungs- und Review-Datensätze für diejenigen Mitarbeiter
zu öffnen, die ihn benötigen.
Einführung in Rollenhierarchien
Die erste Möglichkeit zur Freigabe des Zugriffs auf Datensätze besteht in der Definition einer
Rollenhierarchie. Ähnlich wie ein Organigramm stellt eine Hierarchie die Datenzugriffsebene
dar, die ein Benutzer oder eine Gruppe von Benutzern benötigt. Benutzer, die Rollen fast ganz
oben in der Hierarchie zugewiesen sind (normalerweise die Geschäftsleitung, Führungskräfte
und andere leitende Mitarbeiter) haben Zugriff auf die Daten aller Benutzer, die in der
Hierarchie direkt unter ihnen stehen. Die Rollenhierarchie ermöglicht die folgenden
Verhaltensweisen:
•
•
Ein Vorgesetzter hat unabhängig von den unternehmensweiten Standardeinstellungen
immer Zugriff auf dieselben Daten wie seine Mitarbeiter. Bei benutzerdefinierten Objekten
können Sie dieses Verhalten überschreiben, indem Sie das Kontrollkästchen Verwenden
von Zugriff mithilfe von Hierarchien deaktivieren. Wir möchten jedoch, dass
unsere Rollenhierarchie auf alle unsere benutzerdefinierten Objekte angewendet werden
kann. Die Kontrollkästchen sollten also aktiviert bleiben.
Benutzer, die wahrscheinlich Zugriff auf dieselben Typen von Datensätzen benötigen,
können gruppiert werden. Wir verwenden diese Gruppen später noch im Zusammenhang
mit Freigaberegeln.
Sehen wir uns zur Veranschaulichung einmal einen Teil der Rollenhierarchie von Universal
Containers an:
218
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung73: Rollenhierarchie bei Universal Containers
Die Rollenhierarchien stimmen nicht unbedingt exakt mit dem Organigramm überein.
Stattdessen sollte jede Rolle in der Hierarchie lediglich die Datenzugriffsebene darstellen, die
ein Benutzer oder eine Gruppe von Benutzern benötigt. Nehmen wir beispielsweise an, Ihre
Organisation stellt einen Firmenanwalt ein, der Zugriff auf alle Datensätze in der Anwendung
benötigt. Eine einfache Möglichkeit, dies zu erreichen, besteht darin, dem Anwalt die Rolle
"CEO" in der Rollenhierarchie Ihrer Organisation zuzuweisen. Da die Rolle "CEO" sich in
der Hierarchie ganz oben befindet, erhält jeder, dem diese Rolle zugewiesen ist, automatisch
den vollen Zugriff auf sämtliche Datensätze in der Organisation. Es spielt dabei keine Rolle,
dass der Anwalt im eigentlichen Organigramm tatsächlich unter dem CEO angesiedelt ist.
Rollen, Profile und Berechtigungssätze im
Vergleich
Profile und Berechtigungssätze werden zwar leicht mit Rollen verwechselt, sie regeln jedoch
jeweils zwei ganz verschiedene Dinge.
Wie wir weiter vorne in diesem Kapitel gelernt haben, legen Profile und Berechtigungssätze
die Zugriffsberechtigungen eines Benutzers auf der Objekt- und Feldebene fest. Tatsächlich
kann ein Benutzer nicht definiert werden, ohne dass er einem bestimmten Profil zugewiesen
wird, da das Profil den Grundzugriff für die Benutzer festlegt.
219
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Rollen dagegen legen in erster Linie die Zugriffsberechtigung eines Benutzers auf der
Datensatzebene über Rollenhierarchie und Freigaberegeln fest. Auch wenn eine
Rollenzuweisung bei der Benutzerdefinition nicht zwingend erforderlich ist, wäre es dumm
von uns, keine Rolle zuzuweisen, da Rollen die Definition von Berechtigungen auf der
Datensatzebene erheblich erleichtern. Der Versuch, Berechtigungen auf der Datensatzebene
zu definieren, ohne dem Benutzer eine Rolle zuzuweisen, wäre in etwa so, wie wenn man mit
dem Auto von New York nach San Francisco reisen würde, obwohl es doch eine Flugverbindung
gibt: Es gibt einfach eine wesentlich effizientere Vorgehensweise.
Sie sollten sich merken: Rollen steuern Datensätze.
Rollenhierarchien in unserer
Personalbeschaffungsanwendung
Auf Basis der Rollenhierarchie bei Universal Containers, die in der Abbildung "Rollenhierarchie
bei Universal Containers" dargestellt ist, sollten wir uns nun überlegen, wie die Implementierung
dieser Hierarchie bestimmte Arten von Berechtigungen auf Datensatzebene für verschiedene
Benutzer der Personalbeschaffungsanwendung ermöglicht. Bedenken Sie, dass durch das
Definieren unserer unternehmensweiten Standards unsere Einstellungs-Manager derzeit
berechtigt sind, alle Stellen-, Stellenausschreibungs- und Jobbörsendatensätze anzuzeigen und
andere Personalbeschaffungsdatensätze, deren Inhaber sie sind, anzuzeigen und zu aktualisieren.
Das trägt nicht gerade zur Nützlichkeit unserer Anwendung bei. Sobald wir jedoch unsere
Rollenhierarchie implementieren, erteilen wir automatisch verschiedene Arten von
Berechtigungen auf Datensatzebene an verschiedene Benutzer. Beispiele:
•
•
•
•
•
•
220
CEO, Cynthia Capobianco, kann jeden Datensatz, den jede andere Person in der
Organisation anzeigen und aktualisieren kann anzeigen und aktualisieren.
VP of Development, Andrew Goldberg, kann jeden Datensatz, den seine Manager oder
die Mitarbeiter seiner Manager anzeigen oder aktualisieren können, ebenfalls anzeigen und
aktualisieren.
VP of Human Resources, Megan Smith, kann jeden Datensatz anzeigen und aktualisieren,
den Phil Katz, ihr Personalbeschaffungsmanager oder Mario Ruiz,
Personalbeschaffungsmitarbeiter von Phil Katz, anzeigen und aktualisieren kann.
Personalbeschaffungsmanager, Phil Katz, kann jeden Datensatz anzeigen und aktualisieren,
dessen Inhaber sein Personalbeschaffungsmitarbeiter, Mario Ruiz, ist.
Software Development Manager, Ben Stuart, kann jeden Datensatz anzeigen und
aktualisieren, dessen Inhaber Melissa Lee, Tom Zales oder Craig Kingman, seine
Software-Ingenieure, sind.
Director of QA, Clark Kentman kann jeden Datensatz anzeigen und aktualisieren, dessen
Inhaber Flash Stevenson oder Harry Potterham, seine QA Engineers, sind.
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
•
Director of Product Management, Frank Linstrom, kann jeden Datensatz anzeigen und
aktualisieren, dessen Inhaber Amy Lojack oder Andy Macrola, seine Produktmanager,
sind.
Wie wir sehen, spielt die Rollenhierarchie eine große Rolle, wenn es darum geht, Personen in
den oberen Regionen der Rollenhierarchiestruktur den Zugriff auf Daten zu ermöglichen!
Sehen wir uns jedoch einige Lücken an, die noch in unseren Berechtigungen auf Datensatzebene
zu finden sind:
•
•
•
Megan Smith (und ihr gesamtes Personalbeschaffungsteam) ist nicht berechtigt, Reviews
anzuzeigen, deren Inhaber Mitglieder des Entwicklungsteams von Andrew Goldberg sind,
da sie keine direkte Linie nach unten zu Rollen im Bereich "Development" in der
Rollenhierarchie hat.
Ben Stuart, der Software Development Manager, kann ebenfalls keine Reviews anzeigen,
die von Mitgliedern der QA- oder Product Management-Gruppen sind, auch wenn QA
Engineers oder Produktmanager Bewerbungsgespräche mit Bewerbern für eine Stelle im
Bereich Software Engineering in seiner Gruppe geführt haben.
Melissa Lee, Software Engineer, kann die Datensätze der Bewerber, mit denen Sie
Gespräche führen soll, nicht anzeigen.
Es wird deutlich, dass wir andere Freigabemethoden auf Datensatzebene nutzen müssen, um
den Zugriff auf Daten zwischen Kollegen in derselben Gruppe zu ermöglichen und auch
zwischen Gruppen, die sich verschiedenen Verzweigungen der Rollenhierarchie befinden
(darauf wird weiter unten in diesem Kapitel eingegangen). Mit der Rollenhierarchie haben
wir allerdings eine gute Ausgangsposition für die Einrichtung des Datensatzzugriffs. Sehen
wir uns also an, wie dieser zu definieren ist.
Probieren Sie es aus: Erstellen eines Benutzers
Bevor wir die Rollenhierarchie einrichten, benötigen wir einige Benutzer, denen wir die Rollen
zuweisen können. Erstellen wir zunächst den CEO von Universal Containers: Cynthia
Capobianco.
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Benutzer verwalten > Benutzer.
Klicken Sie auf Neuer Benutzer.
Geben Sie bei Vorname Cynthia ein.
Geben Sie bei Nachname Capobianco ein.
Geben Sie im Feld E-Mail Ihre E-Mail-Adresse und im Feld Benutzername eine
erfundene E-Mail-Adresse ein.
Jeder Benutzer muss über alle Salesforce-Organisationen hinweg über einen eindeutigen
Benutzernamen verfügen. Der Wert im Feld E-Mail muss jedoch eine gültige E-Mail-Adresse
221
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
sein. Wir können den erfundenen Wert im Feld Benutzername verwenden, um uns bei der
Anwendung als Cynthia anzumelden, wir erhalten jedoch das für Cynthia automatisch generierte
Kennwort unter dem realen E-Mail-Account, den wir im Feld E-Mail angegeben haben.
Ohne dieses Kennwort könnten wir uns nicht anmelden.
Abbildung74: Bearbeitungsseite für neue Benutzer
Tipp: Beim Erstellen eines neuen Benutzers müssen Sie auch den Nickname des
Benutzers erstellen. Der Nickname dient zur Identifizierung des Benutzers in der
Anwendung "Ideas", bei der es sich um eine Community von Benutzern handelt, die
Ideen posten, darüber abstimmen und sie kommentieren. Sie können sie sich vorstellen
wie ein Forum für Verbesserungsvorschläge, in dem es auch Diskussionen und
Beliebtheitsranglisten zu jedem Thema gibt. Für den Nickname sind bis zu 40
alphanumerische Zeichen zulässig. Weitere Informationen finden Sie in der
Salesforce-Hilfe.
6. Geben Sie keinen Wert für Rolle an. Wir werden diese während der Erstellung
der Rollenhierarchie zuweisen.
7. Behalten Sie im Feld Benutzerlizenz die Standardauswahl von Salesforce bei.
8. Wählen Sie im Feld Profil "Standard Employee" (Standardmitarbeiter) aus.
9. Füllen Sie alle restlichen Felder aus, die Sie verwenden möchten.
10. Klicken Sie auf Speichern.
222
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Definieren einer
Rollenhierarchie
Das Implementieren einer Rollenhierarchie in der Plattform ist einfach, sobald Sie eine
Vorstellung davon haben, wie die Hierarchie aussehen soll. Am besten beginnen Sie mit dem
Organigramm Ihres eigenen Unternehmens und fassen verschiedene Positionen wann immer
möglich zu einer gemeinsamen Rolle zusammen. Wenn beispielsweise zur
Softwareentwicklungsgruppe von Ben Stuart ein Staff Software Engineer und ein Junior
Software Engineer gehören, können diese Positionen in der Hierarchie zu einer gemeinsamen
Rolle "Software Engineer" zusammengefasst werden.
Nachdem wir diese Aufgabe erledigt haben, können wir mit der Definition der Rollenhierarchie
selbst beginnen. Für unsere Übung verwenden wir die vorhin erwähnte Rollenhierarchie.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Rollen. Wenn Ihnen eine
einführende Vorschaltseite mit dem Titel "Grundlegendes zu Rollen" angezeigt
wird, klicken Sie unten auf der Seite auf Rollen einrichten, um zum eigentlichen
Tool zu gelangen.
Abbildung75: Leere Rollenhierarchieseite im Ansichtsmodus für Baumstruktur
Die Standardansicht für diese Seite ist die Strukturansicht, wie in der Dropdownliste ganz
rechts in der Titelleiste "Rollenhierarchie" zu sehen. Bei der Erstellung einer Rollenhierarchie
ist es vermutlich am einfachsten, diese Ansicht oder die Listenansicht zu verwenden, da aus
beiden gut ersichtlich ist, wie die Rollen in der Hierarchie zusammengehören. Die sortierte
Listenansicht eignet sich am besten, wenn Sie den Namen einer Rolle kennen, die Sie suchen,
sich jedoch nicht sicher sind, wohin sie in der Hierarchie gehört, oder wenn Sie nicht auf alle
Baumknoten klicken möchten, um sie zu öffnen. Für unsere Zwecke bleiben wir bei der
Strukturansicht.
Wenn Sie erstmals eine Rollenhierarchie definieren, wird in der Strukturansicht ein einzelner
Platzhalterknoten mit dem Namen Ihrer Organisation angezeigt. Nun müssen wir den Namen
der Rolle hinzufügen, die sich an der Spitze der Hierarchie befindet. In diesem Fall der CEO.
223
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Anmerkung: Wenn Sie Ihre Personalbeschaffungsanwendung mit einer kostenlosen
Developer Edition-Organisation erstellen, ist möglicherweise bereits eine
Rollenhierarchie als Beispiel vordefiniert. Das ist in Ordnung. Sie können trotzdem
mitmachen und einige weitere Rollen erstellen.
2. Klicken Sie unmittelbar unter "Universal Containers" auf Rolle hinzufügen.
Anmerkung: Wenn die Rolle "CEO" bereits vorhanden ist, klicken Sie
auf Bearbeiten.
3. Geben Sie im Textfeld Bezeichnung CEO ein. Das Textfeld Rollenname wird
automatisch mit "CEO" ausgefüllt.
4. Klicken Sie im Textfeld Vorgesetzter auf das Nachschlagesymbol
Sie neben dem Namen Ihrer Organisation auf Auswählen.
und klicken
Indem wir im Textfeld Vorgesetzter den Namen der Organisation auswählen, geben wir
an, dass der CEO an der Spitze unserer Rollenhierarchie steht und keinen Vorgesetzten hat.
5. Geben Sie im Textfeld In Berichten angezeigter Rollenname den Text
CEO ein. Dieser Text wird in Berichten verwendet, um den Namen einer Rolle
anzugeben. Da es störend sein kann, wenn lange Rollennamen, wie "Vice President
of Product Development", sehr viel Platz in Ihren Berichtspalten einnehmen, ist es
ratsam, eine gekürzte, aber dennoch leicht identifizierbare Abkürzung zu verwenden.
6. Behalten Sie bei den anderen Optionen, wie Opportunityzugriff, die
Standardwerte bei. Dies Zugriffsoptionen haben nichts mit unserer
Personalbeschaffungsanwendung zu tun und werden nur angezeigt, wenn die
unternehmensweiten Standardeinstellungen für ein Standardobjekt auf eine strengere
Einstellung gesetzt sind als "Öffentlicher Lese-/Schreibzugriff".
7. Klicken Sie auf Speichern.
224
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung76: Detailseite für die Rolle "CEO"
Nachdem wir unsere erste Rolle erstellt haben, können wir ihr den entsprechenden Benutzer
zuweisen.
8. Klicken Sie auf CEO, um die Detailseite für die Rolle "CEO" zu öffnen.
9. Klicken Sie auf der Detailseite für die Rolle "CEO" auf Benutzern eine Rolle
zuordnen.
10. Wählen Sie in der Dropdownliste Verfügbare Benutzer den Eintrag "Alle nicht
zugewiesenen" aus.
11. Wählen Sie einen Benutzer aus der Liste aus (in unserem Fall: Cynthia Capobianco)
und klicken Sie auf Hinzufügen, um sie in die Liste Ausgewählte Benutzer
für CEO zu verschieben.
12. Klicken Sie auf Speichern.
Wenn wir zur Hauptseite für Rollen zurückkehren, indem wir unter "Setup" auf Benutzer
verwalten > Rollen klicken, können wir nun unsere neue CEO-Rolle in der Hierarchie sehen.
Anmerkung: Wenn Sie das Bild "Rollenhierarchie-Beispiel" sehen, klicken Sie auf
Rollen einrichten.
13. Definieren Sie die restlichen Rollen gemäß dem Diagramm "Rollenhierarchie bei
Universal Containers".
225
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Abbildung77: Rollenhierarchie bei Universal Containers
Sie brauchen derzeit nicht jeder Rolle Benutzer zuzuweisen. Das erledigen wir später, wenn
wir die restlichen unserer Benutzer erstellen und unsere Anwendung testen.
Tipp: Um das Hinzufügen einer neuen Rolle zu beschleunigen, klicken Sie unmittelbar
unter dem Namen der Rolle, der die neue Rolle unterstellt sein soll, auf Rolle
hinzufügen. Wenn Sie dies tun, wird das Textfeld Vorgesetzter automatisch mit
dem Namen der entsprechenden Rolle ausgefüllt.
Das war doch gar nicht so schwer, oder? Nachdem wir nun die unternehmensweiten
Standardeinstellungen und eine Rollenhierarchie eingerichtet haben, sind wir schon fast mit
unseren Zugriffsberechtigungen auf der Datensatzebene fertig. Wir müssen nur noch
personalbeschaffungsbezogene Datensätze zwischen Gruppen freigeben, die in unterschiedlichen
Zweigen der Rollenhierarchie vorkommen, sowie zwischen den gleichrangigen Personen
innerhalb derselben Gruppe. Glücklicherweise können wir beide Aufgaben mit einer
Kombination aus Freigaberegeln und manueller Freigabe erledigen. Wir müssen lediglich
herausfinden, was noch freigegeben werden muss und für wen.
Was muss noch freigegeben werden?
Was muss also noch freigegeben werden? Wenn wir unsere Tabelle der erforderlichen
Berechtigungen durchgehen, sehen wir, dass es sich nur noch um einige wenige Elemente
handelt. (Denken Sie daran: Da die Benutzer immer auf die Datensätze zugreifen können,
226
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
deren Inhaber sie sind, brauchen wir uns lediglich um die Lese- und
Aktualisierungsberechtigungen für die Zugriffseinstellungen auf der Datensatzebene zu
kümmern):
•
•
Personalbeschaffungsmitarbeiter benötigen Lese- und Aktualisierungszugriff für alle
Stellen-, Bewerber-, Stellenbewerbung- und Review-Datensätze, die in der Anwendung
vorhanden sind.
Einstellungs-Manager benötigen folgende Zugriffsrechte:
◊ Lese- und Aktualisierungszugriff auf Stellen- und Stellenausschreibungsdatensätze, für
die sie als Einstellungs-Manager fungieren
◊ Lesezugriff auf die Datensätze der Bewerber, für die sie als Einstellungs-Manager
fungieren
◊ Lese- und Aktualisierungszugriff für sämtliche Stellenbewerbungen und
Review-Datensätze
•
Gesprächsleiter benötigen Lesezugriff für die Bewerber- und Stellenbewerbungsdatensätze
der Personen, mit denen sie ein Bewerbungsgespräch führen, sowie die Fähigkeit, deren
Reviews zu aktualisieren.
Das sollte nicht allzu schwer sein. Fangen wir an.
Einführung in Freigaberegeln
Sehen wir zunächst einmal an, welche Möglichkeiten wir mit Freigaberegeln haben.
Freigaberegeln ermöglichen automatische Ausnahmen von den unternehmensweiten
Standardeinstellungen für bestimmte Gruppen von Benutzern. Wir haben bereits verschiedene
bestimmte Gruppen mit den Rollen definiert, die wir im vorherigen Abschnitt erstellt haben,
aber wir können nach Bedarf auch weitere Gruppen ergänzen.
Wir dürfen im Zusammenhang mit Freigaberegeln nicht vergessen, dass wir sie, ebenso wie
Rollenhierarchien, nur verwenden können, um den Zugriff auf Datensätze für mehr Benutzer
zu ermöglichen. Freigaberegeln und Rollenhierarchien können niemals strenger sein als unsere
unternehmensweiten Standardeinstellungen.
Freigaberegeln in unserer
Personalbeschaffungsanwendung
Freigaberegeln funktionieren am besten, wenn sie für eine bestimmte Gruppe von Benutzern
definiert sind, die wir genau festlegen oder im Voraus vorhersagen können, und nicht für eine
227
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Menge von Benutzern, die sich häufig ändert. Beispielsweise müssen wir in unserer
Personalbeschaffungsanwendung jede Stelle, jeden Bewerber, jede Stellenbewerbung und jeden
Review für jeden Personalbeschaffungsmitarbeiter freigeben. Da die
Personalbeschaffungsmitarbeiter allesamt entweder die Rolle des Personalbeschaffungsmanagers
oder die Rolle des Personalbeschaffungsmitarbeiters in der Rollenhierarchie innehaben, können
wir problemlos eine Freigaberegel verwenden, um die entsprechenden Objekte für die Rolle
des Personalbeschaffungsmanagers und dessen nachgeordnete Positionen freizugeben.
Alternativ können Sie einen anderen Anwendungsfall aus unserer
Personalbeschaffungsanwendung heranziehen: Gesprächsleiter benötigen Schreibzugriff für
die Bewerber und Stellenbewerbungen hinsichtlich der Personen, mit denen Sie ein
Bewerbungsgespräch führen. In diesem Fall ist die Gruppe der Gesprächsleiter viel schwerer
vorauszusagen – Einstellungs-Manager setzen möglicherweise je nachdem, welche Stelle besetzt
werden soll, verschiedene Gruppen von Gesprächsleitern ein und die Gesprächsleiter können
aus verschiedenen Gruppen in der Rollenhierarchie stammen. Folglich sollten für diesen
Anwendungsfall möglicherweise keine Freigaberegeln verwendet werden, da das
Gesprächsleiterteam für einen bestimmten Manager einfach zu schwer vorauszusagen ist.
Gehen wir die Liste der noch zu implementierenden erforderlichen Berechtigungen einmal
durch und greifen uns die heraus, die am besten mit Freigaberegeln funktionieren:
Anwendungsfall
Soll eine Freigaberegel verwendet werden?
Personalbeschaffungsmitarbeiter benötigen
Lese- und Aktualisierungszugriff für alle
Stellen-, Bewerber-, Stellenbewerbung- und
Review-Datensätze, die in der Anwendung
vorhanden sind.
Ja. Wie bereits weiter oben erörtert, ist es
einfach, die Gruppe der
Personalbeschaffungsmitarbeiter in unserer
Rollenhierarchie auszuwählen.
Einstellungs-Manager benötigen Lese- und
Aktualisierungszugriff auf Stellen- und
Stellenausschreibungsdatensätze, für die sie
als Einstellungs-Manager fungieren.
Nein. Es ist zu schwer vorherzusagen, welche
Stellen welchem Einstellungs-Manager
zugewiesen werden. Dieser Anwendungsfall
muss auf andere Weise gehandhabt werden.
Einstellungs-Manager benötigen Lesezugriff Nein. Auch hier ist es zu schwer
auf die Datensätze der Bewerber, für die sie vorherzusagen, welche Stellen welchem
als Einstellungs-Manager fungieren.
Einstellungs-Manager zugewiesen werden.
Einstellungs-Manager benötigen Lese- und Ja. Da wir nicht einschränken, welche
Aktualisierungszugriff für sämtliche
Stellenbewerbungen und Reviews ein
Stellenbewerbungen und Review-Datensätze. Einstellungs-Manager zum Lesen und
aktualisieren erhält, können wir einfach
sämtliche Einstellungs-Manager aus unserer
228
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Anwendungsfall
Soll eine Freigaberegel verwendet werden?
Rollenhierarchie auswählen und eine
Freigaberegel für sie definieren.
Gesprächsleiter benötigen Lesezugriff auf die
Bewerber- und Stellenbewerbungsdatensätze
der Personen, mit denen sie ein
Bewerbungsgespräch führen.
Nein. Wie bereits weiter oben dargelegt, ist
es sehr schwer vorauszusagen, wer Mitglied
eines Gesprächsleiterteams für eine bestimmte
Stelle wird.
Hervorragend! Nun, da wir wissen, welche erforderlichen Berechtigungen wir für die
Freigaberegeln implementieren möchten, können wir sie direkt definieren.
Probieren Sie es aus: Definieren einer
öffentlichen Gruppe
Bevor wir uns richtig intensiv mit dem Erstellen unserer Freibageregeln befassen, müssen wir
sicherstellen, dass wir die geeigneten öffentlichen Gruppen eingerichtet haben. Eine öffentliche
Gruppe ist eine Sammlung von individuellen Benutzern, anderen Gruppen, individuellen Rollen
und/oder Rollen mit deren nachgeordneten Rollen, die alle eine Funktion gemein haben.
Beispielsweise sind sowohl Benutzer, die über das Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) verfügen als auch Benutzer mit der Rolle "SW Dev Manager"
für das Überprüfen von Stellenbewerbungen zuständig. Die Verwendung einer öffentlichen
Gruppe für das Definieren einer Freigaberegel vereinfacht die Erstellung der Regel und macht
sie, was noch wichtiger ist, später leichter verständlich. Insbesondere dann, wenn es sich um
eine von vielen Freigaberegeln handelt, die Sie in einer großen Organisation verwalten müssen.
Sie müssen eine öffentliche Gruppe erstellen, wenn Sie irgendwann einmal eine Freigaberegel
definieren möchten, die mehr als eine oder zwei Gruppen oder Rollen oder irgendeine
Einzelperson einschließt.
Wenn wir uns die erforderlichen Berechtigungen ansehen, die wir implementieren möchten,
gibt es lediglich zwei Objekte, die eine öffentliche Gruppe für ihre Freigaberegeln benötigen:
"Job Application" (Stellenbewerbung) und "Review". Erfreulich ist, dass wir diese Objekte in
einer einzigen Gruppe abdecken können, da das Objekt "Review" sich auf der Detailseite einer
Master-Detail-Beziehungen befindet und demzufolge die Freigabeeinstellungen übernimmt,
die wir auf das Objekt "Job Application" (Stellenbewerbung) anwenden. Da sowohl
Personalbeschaffungsmitarbeiter als auch Einstellungs-Manager einen Lese- und
Aktualisierungszugriff auf Stellenbewerbungen und Reviews benötigen, lassen Sie uns nun
eine öffentliche Gruppe mit der Bezeichnung "Reviewers" (Reviewer) erstellen, die sowohl
Personalbeschaffungsmitarbeiter als auch Einstellungs-Manager einschließt.
229
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Öffentliche Gruppen.
2. Klicken Sie auf Neu.
Abbildung78: Seite "Neue öffentliche Gruppe"
Auf der Seite "Neue öffentliche Gruppe" können Sie andere öffentliche Gruppen, individuelle
Rollen, in denen deren nachgeordnete Rollen enthalten sind, oder individuelle Benutzer
auswählen.
3. Geben Sie im Textfeld Bezeichnung Reviewers (Reviewer) ein. Klicken Sie in
das Textfeld Gruppenname, um es automatisch auszufüllen. Gruppenname bezieht
sich auf den eindeutigen Namen, der von der API und verwalteten Paketen verwendet
wird.
4. Wählen Sie in der Dropdownliste Suchen die Option "Rollen" aus.
5. Wählen Sie in der Liste Verfügbare Mitglieder die Mitglieder "SW Dev
Manager", "Director Product Management" und "Director QA" aus und klicken Sie
auf Hinzufügen.
6. Kehren Sie zur Dropdownliste Suchen zurück und wählen Sie diesmal "Rolle und
nachgeordnete Positionen".
7. Wählen Sie in der Liste Verfügbare Mitglieder die Option "Recruiting
Manager" (Personalbeschaffungsmanager) und klicken Sie auf Hinzufügen.
8. Klicken Sie auf Speichern.
Ganz einfach! Nun sind wir bereit, unsere Freigaberegeln zu definieren.
230
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Definieren von
Freigaberegeln
Nachdem wir soeben die öffentliche Gruppe "Reviewers" (Reviewer) erstellt haben, verwenden
wir sie, um unsere Freigaberegeln für Review-Datensätze zu definieren.
1. Klicken Sie unter "Setup" auf Sicherheitssteuerungen > Freigabeeinstellungen.
Erinnern Sie sich an diese Seite? Wir waren zuletzt hier, als wir unsere unternehmensweiten
Standardeinstellungen definierten.
2. Wählen Sie in der Dropdownliste Freigabeeinstellungen verwalten für
die Option "Job Application" (Stellenbewerbung) aus.
Durch Auswahl eines Objekts in dieser Dropdownliste können wir uns auf die
unternehmensweiten Standardeinstellungen und Freigaberegeln für jeweils ein einzelnes Objekt
konzentrieren, anstatt alle auf einer langen Seite zu betrachten. Dies ist wirklich nützlich bei
großen Organisationen mit mehreren benutzerdefinierten Objekten.
Wenn Sie statt "Job Application" (Stellenbewerbung) "Review" ausgewählt hätten, hätten Sie
nicht die Möglichkeit, Freigaberegeln zu erstellen, da für Detaildatensätze in einer
Master-Detail-Beziehung keine Freigaberegeln erstellt werden können. Da Sie jedoch "Job
Application" (Stellenbewerbung) ausgewählt haben, wird eine Themenliste für die
Freigaberegeln angezeigt. Wir verwenden sie zur Erstellung der Freigaberegeln, die sowohl
für das Objekt "Job Application" (Stellenbewerbung) als auch für das Objekt "Review" gelten
sollen.
3. Klicken Sie im Bereich "Job Application - Freigaberegeln" auf Neu.
4. Geben Sie im Textfeld Bezeichnung Review-Records (Review-Datensätze)
ein.
5. Klicken Sie in das Textfeld Regelname, um es automatisch auszufüllen.
6. Achten Sie darauf, dass als Regeltyp Basierend auf Datensatzinhaber
ausgewählt ist.
7. Wählen Sie in der Dropdownliste Job Application: Inhaber: Mitglieder
von die Option "Öffentliche Gruppen" aus.
8. Wählen Sie neben dieser Dropdownliste die Option "Gesamtes Unternehmen" aus.
Wie soeben erwähnt, können Sie eine Freigaberegel nur für eine einzelne öffentliche Gruppe,
eine Rolle oder eine Rolle mit allen nachgeordneten Positionen definieren. Standardmäßig
gehört zu der Plattform eine öffentliche Gruppe, die alle Benutzer in Ihrer Organisation
umfasst.
231
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
9. Wählen Sie in der Dropdownliste Freigeben für die Option "Öffentliche
Gruppen" aus.
10. Wählen Sie neben dieser Dropdownliste die Option "Reviewers" (Reviewer) aus.
11. Wählen Sie in der Dropdownliste Zugriffsebene die Option
"Lese-/Schreibzugriff" aus.
12. Klicken Sie auf Speichern.
13. Klicken Sie in dem Dialogfeld, das besagt, dass dieser Vorgang einige Zeit in
Anspruch nehmen kann, auf OK.
Und schon sind Sie fertig! Wir haben soeben eine Regel erstellt, mit die Reviews, die von
einem beliebigen Mitglied der Organisation geschrieben wurden (bzw. die ein beliebiges
Mitglied als Inhaber haben), für alle Personalbeschaffungsmitarbeiter und Einstellungs-Manager
freigegeben werden. Da alle Personalbeschaffungsmitarbeiter und Einstellungs-Manager in
der Lage sein müssen, Reviews zu lesen und zu aktualisieren, haben wir alle mittels einer
einzelnen Freigaberegel und einer öffentlichen Gruppe abgehandelt.
Erstellen Sie abschließend die folgenden inhaberbasierten Freigaberegeln:
Tabelle35: Zusätzliche Freigaberegeln
Objekt
Regelbezeichnung Inhaber:
Candidate Edit
Gesamtes Unternehmen
(Bewerber) Candidates
(Bewerber
bearbeiten)
Freizugeben für:
Die Rolle des
Lese-/Schreibzugriff
Personalbeschaffungsmanagers
und die nachgeordneten
Positionen
Employment Edit
Website
Employment
(Jobbörse) Websites
(Jobbörsen
bearbeiten)
Die Rolle des
Reviewers (Reviewer)
Personalbeschaffungsmanagers
und die nachgeordneten
Positionen
Position
(Stelle)
Die Rolle des
Personalbeschaffungsmanagers
und die nachgeordneten
Positionen
Edit
Positions
(Stellen
bearbeiten)
Zugriffsebene
Lese-/Schreibzugriff
Die Rolle des
Lese-/Schreibzugriff
Personalbeschaffungsmanagers
und die nachgeordneten
Positionen
Die Freigaberegel für das Objekt "Employment Website" (Jobbörse) ist erforderlich, damit
die Einstellungs-Manager Stellen ausschreiben können, auch wenn sie nie die Datensätze der
Jobbörse direkt aktualisieren (dies wird durch die unternehmensweiten Standardeinstellungen
verhindert). Ohne die Regel werden den Einstellungs-Managern die Datensätze der Jobbörse
zwar angezeigt, sie können jedoch keine Stellenausschreibungen erstellen. Dies liegt daran,
232
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
dass das Objekt "Job Posting" (Stellenausschreibung) ein Verknüpfungsobjekt ist (wie Sie aus
dem letzten Kapitel wissen) und dass das Objekt "Employment Website" (Jobbörse) eine der
beiden Master-Detail-Beziehungen des Objekts "Job Posting" (Stellenausschreibung) ist. Die
Freigabe des Zugriffs auf einen Verknüpfungsobjektdatensatz richtet sich nach dem
Freigabezugriff des Benutzers auf die zugehörigen Masterdatensätze (in diesem Fall: die
zugehörigen Datensätze für die Stelle und die Jobbörse) und die Option "Freigabeeinstellung"
im Beziehungsfeld. Wenn beispielsweise die Freigabeeinstellung für beide übergeordneten
Objekte "Lesen/Schreiben" lautet, dann muss der Benutzer über die Schreib-/Leseberechtigung
für beide übergeordneten Objekte verfügen, damit er diesen Zugriff auf das Verknüpfungsobjekt
hat.
In der Freigaberegel für das Objekt "Employment Website" (Jobbörse) entschieden wir uns,
die bestehende öffentliche Gruppe "Reviewers" (Reviewer) zu verwenden. Dies ersparte uns
einige Klicks, ohne dass Zugriff für irgendwelche Benutzer gewährt wurde, die keinen Einblick
in die Datensätze der Jobbörse haben sollten.
Beyond the Basics
Wussten Sie, dass Sie kriterienbasierte Freigaberegeln verwenden können, um
Datensatzzugriff für die Benutzer zu ermöglichen?
Angenommen, Sie möchten Datensätze basierend auf den in den Datensätzen enthaltenen
Feldwerten freigegeben, und nicht basierend auf den Datensatzinhabern. Sie können
Freigaberegeln anhand der Feldwertkriterien einrichten und Filterlogik anwenden, um
den Benutzern den Zugriff auf einen bestimmten Datensatz zu ermöglichen.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Kriterienbasierte
Freigaberegeln – Übersicht".
Einführung in die manuelle Freigabe
Sprechen wir nun darüber, was uns noch zu tun bleibt, um die Definition unseres
Freigabemodells abzuschließen. Nach der Implementierung der Freigaberegeln bleiben folgende
erforderlichen Berechtigungen übrig:
•
•
•
Einstellung-Manager benötigen Lese- und Aktualisierungszugriff auf Stellendatensätze, für die
sie als Einstellungs-Manager fungieren.
Einstellungs-Manager benötigen Lesezugriff auf die Datensätze der Bewerber, für die sie als
Einstellungs-Manager fungieren.
Gesprächsleiter benötigen Lesezugriff auf die Bewerber- und Stellenbewerbungsdatensätze der
Personen, mit denen sie ein Bewerbungsgespräch führen.
233
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Wir haben diese erforderlichen Berechtigungen nicht durch Freigaberegeln implementiert,
weil es zu schwierig war, eine konsistente Gruppe von Benutzern zu definieren, die Zugriff
auf dieselbe Menge von Datensätzen benötigen. Hier kommt nun die Rolle des
Personalbeschaffungsmitarbeiters ins Spiel. Personalbeschaffungsmitarbeiter wie Mario Ruiz
sind Inhaber der Stellen-, Bewerber-, und Stellenbewerbungsdatensätze für die Stellen, die sie
zu besetzen versuchen, und sie wissen auch, welcher Einstellungs-Manager und welche
Gesprächsleiter diesen Datensätzen zugewiesen werden sollten.
Glücklicherweise gibt es noch einen letzten Einstellungstyp für den Datensatzzugriff, mit dem
Mario ganz bestimmte Datensätze für ganz bestimmte Benutzer freigeben kann: die manuelle
Freigabe. Mit der manuellen Freigabe kann Mario anderen Benutzern, Rollen oder öffentlichen
Gruppen Lese-/Schreibzugriff für Datensätze gewähren, deren Inhaber er ist. Die manuelle
Freigabe ist zwar nicht automatisiert wie die unternehmensweiten Standardeinstellungen,
Rollenhierarchien und Freigaberegeln, aber sie gibt Mario dennoch die Flexibilität, bestimmte
Datensätze für die sich ständig ändernden Gruppen von Gesprächsleitern und
Einstellungs-Managern freizugeben, mit denen er täglich zu tun hat.
Probieren Sie es aus: Definieren von Regeln für
die manuelle Freigabe
Nehmen wir an, wir sind ein Personalbeschaffungsmitarbeiter wie Mario und müssen einen
bestimmten Bewerberdatensatz, dessen Inhaber wir sind, für eine andere Rolle, eine andere
Gruppe oder einen anderen Benutzer freigeben:
1. Klicken Sie auf der Detailseite für den Bewerber auf Freigabe.
Abbildung79: Freigabe-Detailseite
Da wir der Inhaber dieses Bewerberdatensatzes sind, können wir Details dazu anzeigen, welche
weiteren Personen den Datensatz ebenfalls sehen können und warum. Wenn wir nicht Inhaber
dieses Datensatzes wären, gäbe es eine Meldung darüber, dass unsere Berechtigungen nicht
ausreichen.
234
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Tipp: Wenn wir die Namen der einzelnen Benutzer anzeigen wollten, die auf den
Datensatz zugreifen können, anstatt der Namen der Rollen und öffentlichen Gruppen,
könnten wir auf dieser Seite auf Liste erweitern klicken. Auch wenn der Vorgang in
Abhängigkeit von der Anzahl der Benutzer in unserer Organisation geraume Zeit in
Anspruch nehmen kann, ist es sinnvoll zu ermitteln, ob wir eine manuelle Freigaberegel
für einen bestimmten Benutzer definieren müssen, oder ob dieser bereits über Zugriff
verfügt.
2. Klicken Sie auf Hinzufügen.
3. Wählen Sie in der Dropdownliste Suche aus, ob der Datensatz manuell für einen
Benutzer, eine öffentliche Gruppe, eine Rolle oder eine Rolle und deren
nachgeordnete Positionen freigegeben werden soll.
4. Wählen Sie in der Liste Verfügbar den Benutzer, die öffentliche Gruppe bzw. die
Rolle aus, die Zugriff auf den Datensatz haben sollte, und klicken Sie auf
Hinzufügen.
5. Geben Sie in der Dropdownliste Zugriffsebene an, ob der Benutzer, die
öffentliche Gruppe oder die Rolle über Lesezugriff oder über Lese-/Schreibzugriff
auf den Datensatz verfügen soll.
6. Klicken Sie auf Speichern.
Das war nicht allzu schwer. Wenn wir unsere Personalbeschaffungsanwendung an die Benutzer
verteilen, müssen wir unsere Personalbeschaffungsmitarbeiter schulen, damit sie diese Schritte
für die Stellen-, Bewerber- und Stellenbewerbungsdatensätze durchführen können, auf die
ihre Einstellungs-Manager und Gesprächsleiter Zugriff benötigen. Nach Abschluss dieser
Schulung haben wir alle erforderlichen Freigabe- und Sicherheitseinstellungen implementiert,
über die wir zu Beginn des Kapitels gesprochen haben. Bravo.
Anzeigen von Feldwerten und Seitenlayouts
je nach Profil
Bevor wir unser Sicherheits- und Freigabemodell gründlich testen, sollten wir die bisher
geleistete Arbeit nutzen, um die Gebrauchstauglichkeit unserer Anwendung weiter zu erhöhen
und gleichzeitig die Datenintegrität zu verbessern.
Irrelevante Daten wirken sich negativ auf Gebrauchstauglichkeit und Datenintegrität aus. Je
weniger irrelevante Daten wir den Benutzern anzeigen, desto besser für alle. Irrelevante Daten
können nicht nur verwirrend sein und die Effizienz eines Benutzers senken, sondern sie erhöhen
auch die Wahrscheinlichkeit, dass der Benutzer falsche Daten eingibt. Indem wir unnötige
Auswahlmöglichkeiten entfernen, verringern wir das Risiko vermeidbarer Fehler.
235
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Wir haben uns zwar schon viele Gedanken über die Gebrauchstauglichkeit unserer Anwendung
gemacht, aber es gibt immer Spielraum für Verbesserungen. Wir nehmen hier keine detaillierte
Gebrauchstauglichkeitsanalyse vor, aber wir sollten einige kleinere Änderungen durchführen,
damit Sie ein Gespür dafür bekommen, wie Sie die Gebrauchstauglichkeit und Datenintegration
Ihrer Anwendungen in Zukunft verbessern können.
Die Änderungen, die wir vornehmen, betreffen Stellendatensätze. Derzeit werden in allen
Stellendatensätzen dieselben Daten angezeigt, auch wenn es einige Einträge auf dem
Stellendatensatz gibt, die für Personalbeschaffungsmitarbeiter, die Stellen für andere
Abteilungen als die Entwicklungsabteilung anlegen, von keinerlei Nutzen sind. So hat ein
Personalbeschaffungsmitarbeiter, der eine Stelle vom Typ "Sr. Financial Analyst" anlegt, keine
Verwendung für den Abschnitt "Required Programming Languages" (Erforderliche
Programmiersprachen).
Ebenso gibt es einige Optionen in Stellendatensätzen, die nichts mit technischen Stellen zu
tun haben, beispielsweise die Werte "Human Resources" (Personalbereich) und "Warehousing"
(Lagerhaltung) in der Auswahlliste Functional Area (Funktionsbereich). Wäre es nicht
günstig, wenn wir zwei Arten von Stellendatensätzen erstellen könnten: eine mit IT-bezogenen
Daten für IT-Stellen und eine andere für Nicht-IT-Personal?
Glücklicherweise ist das mit Datensatztypen möglich. Mit Datensatztypen können Sie
Kategorien von Datensätzen angeben, die unterschiedliche Auswahllistenwerte und Seitenlayouts
anzeigen. Sie können Datensatztypen mit Profilen verknüpfen, sodass Sie angeben können,
welche Auswahllistenwerte und Seitenlayouts den verschiedenen Benutzertypen auf
Datensatzdetailseiten angezeigt werden.
Um die oben erörterten Probleme anzugehen, erstellen wir zwei Typen von Stellendatensätzen.
Der erste Datensatztyp für Stellen ist für IT-Stellen gedacht und beinhaltet den Abschnitt
"Required Programming Languages" (Erforderliche Programmiersprachen) des Seitenlayouts.
Außerdem schließen wir alle Optionen in der Auswahlliste Functional Area
(Funktionsbereich) aus, mit Ausnahme von "Information Technology"
(Informationstechnologie) und "Miscellaneous" (Sonstiges). Der zweite Datensatztyp für
Stellen ist für alle Stellen außerhalb des IT-Bereichs gedacht und beinhaltet alle Werte der
Auswahlliste Functional Area (Funktionsbereich), weist jedoch nicht den Abschnitt
"Required Programming Languages" (Erforderliche Programmiersprachen) auf.
Probieren Sie es aus: Erstellen eines
Datensatztyps
Erstellen wir zunächst einmal den Stellendatensatztyp für standardmäßige Stellen außerhalb
des IT-Bereichs.
236
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Datensatztypen" auf Neu.
Geben Sie im Feld Bezeichnung für Datensatztyp den Text Standard
Position (Standardstelle) ein. Sobald Sie den Cursor bewegen, wird der Wert des
Felds Datensatztypname in Standard_Position geändert.
5. Geben Sie im Feld Beschreibung den Text Record type for all non-IT
positions (Datensatztyp für alle Stellen außerhalb des IT-Bereichs) ein.
6. Aktivieren Sie das Kontrollkästchen Aktiv.
Unten auf dem Bildschirm werden alle Ihre Profile aufgelistet. Hier können wir auch
bestimmen, welche Profile Zugriff auf diesen Datensatztyp haben. Alle sind standardmäßig
ausgewählt.
7. Klicken Sie auf Weiter.
8. Belassen Sie das Optionsfeld Gleiches Layout auf alle Profile anwenden
ausgewählt und wählen Sie "Position Layout" (Stelle-Layout) in der benachbarten
Dropdownliste aus.
9. Klicken Sie auf Speichern.
Die Detailseite für den Datensatztyp "Standard Position" (Standardstelle) wird angezeigt. Auf
der Seite werden die Auswahllistenfelder angezeigt, die im zugehörigen Seitenlayout des
Datensatztyps, "Position Layout" (Stelle-Layout), zu finden sind.
10. Klicken Sie auf Bearbeiten neben dem Feld Functional Area (Funktionsbereich).
Da es sich hierbei um den Datensatztyp für alle Stellen außerhalb des IT-Bereichs handelt,
sollten wir nun die Option "Information Technology" (Informationstechnologie) aus der
Auswahlliste Functional Area (Funktionsbereich) entfernen.
11. Wählen Sie im Feld "Ausgewählte Werte" den Eintrag "Information Technology"
(Informationstechnologie) aus und verschieben Sie ihn mithilfe der Pfeile in das
Feld "Verfügbare Werte".
12. Belassen Sie die Einstellung für die Dropdownliste Standard auf "Keine" und
klicken Sie auf Speichern.
Sie haben nun Ihren ersten Datensatztyp erstellt, wobei dieser noch nicht ganz unseren
Vorstellungen entsprechend konfiguriert ist. Der Wert "Information Technology"
(Informationstechnologie) ist zwar nicht mehr in der Auswahlliste Functional Area
(Funktionsbereich) enthalten, jedoch wird nach wie vor der Abschnitt "Required Programming
Languages" (Erforderliche Programmiersprachen) angezeigt. Darum kümmern wir uns später,
wenn wir die Seitenlayouts für unsere Datensatztypen ändern. Zunächst aber müssen wir einen
weiteren Datensatztyp erstellen.
237
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Datensatztypen" auf Neu.
Geben Sie im Feld Bezeichnung für Datensatztyp den Text IT Position
(IT-Stelle) ein. Sobald Sie den Cursor bewegen, wird der Wert des Felds
Datensatztypname in IT_Position geändert.
5. Im Feld Beschreibung geben Sie Record type for all IT positions
(Datensatztyp für alle IT-Stellen) ein.
6. Aktivieren Sie das Kontrollkästchen Aktiv.
Wieder werden unten auf dem Bildschirm die Profile Ihrer Organisation aufgelistet, wobei
sie diesmal standardmäßig deaktiviert sind.
7. Aktivieren Sie neben den Profilen "Recruiter" (Personalbeschaffungsmitarbeiter)
und "Standard Employee" (Standardmitarbeiter) das Kontrollkästchen Für Profil
aktivieren.
8. Klicken Sie auf Weiter.
Wieder haben wir die Möglichkeit, unterschiedliche Layouts auf die unterschiedlichen Profile
anzuwenden. Wir müssen jedoch noch das Seitenlayout für diesen Datensatztyp erstellen,
sodass wir die Seitenlayouts erst später anwenden können.
9. Belassen Sie das Optionsfeld Gleiches Layout auf alle Profile anwenden
ausgewählt und wählen Sie "Position Layout" (Stelle-Layout) in der benachbarten
Dropdownliste aus.
10. Klicken Sie auf Speichern.
Die Detailseite für den Datensatztyp "IT Position" (IT-Stelle) wird angezeigt.
11. Klicken Sie auf Bearbeiten neben dem Feld Functional Area (Funktionsbereich).
Da es sich hierbei um den Datensatztyp für alle IT-Stellen handelt, sollten wir nun alle
Optionen mit Ausnahme von "Information Technology" (Informationstechnologie) und
"Miscellaneous" (Sonstiges) aus der Auswahlliste Functional Area (Funktionsbereich)
entfernen.
12. Verschieben Sie die Werte mithilfe der Pfeile, bis im Feld "Ausgewählte Werte" nur
noch die Einträge "Information Technology" (Informationstechnologie) und
"Miscellaneous" (Sonstiges) enthalten sind.
13. Wählen Sie in der Dropdownliste Standard den Eintrag "Information Technology"
(Informationstechnologie) aus.
14. Klicken Sie auf Speichern.
238
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Beide Datensatztypen sind jetzt eingerichtet und enthalten jeweils nicht die Auswahllistenwerte,
die auch nicht enthalten sein sollen. Nun sollten wir die Seitenlayouts für diese Datensatztypen
konfigurieren.
Wir benötigen für jeden Datensatztyp ein separates Seitenlayout. Glücklicherweise haben wir
schon das Seitenlayout für das Objekt "Position" (Stelle), "Position Layout" (Stelle-Layout),
sodass wir nur noch ein weiteres Layout erstellen müssen.
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Erstellen > Objekte.
Klicken Sie auf Position (Stelle).
Klicken Sie in der Themenliste "Seitenlayouts" auf Neu.
Wählen Sie in der Dropdownliste Bestehendes Seitenlayout den Eintrag
"Position Layout" (Stelle-Layout).
Durch die Auswahl des bestehenden Seitenlayouts wird eine Kopie erstellt, anhand der wir
unser neues Seitenlayout erstellen können. So müssen wir das Layout nicht komplett neu
erstellen.
5. Geben Sie im Feld Seitenlayoutname den Text IT Position Layout
(IT-Stellen-Layout) ein und klicken Sie auf Speichern.
Wir haben nun unser neues Seitenlayout für IT-Stellen erstellt. Nun sollten wir sowohl unser
neues als auch das ursprüngliche Seitenlayout bearbeiten, sodass darin jeweils die erforderlichen
Daten angezeigt werden. Da wir uns im Seitenlayout für IT-Stellen befinden, beginnen wir
hiermit.
Diese Seite weist bereits den Abschnitt "Required Programming Languages" (Erforderliche
Programmiersprachen) auf, sodass wir diesen nicht hinzufügen müssen. Wir müssen jedoch
das Feld Datensatztyp im Seitenlayout hinzufügen, damit die Benutzer sofort wissen, welche
Art von Stellendatensatz sie gerade bearbeiten.
6. Wählen Sie in der Palette die Kategorie "Felder" aus und ziehen Sie dann das Feld
Datensatztyp direkt unter das Feld Last modified by (Zuletzt geändert von).
7. Klicken Sie auf Speichern.
Bearbeiten wir nun das Seitenlayout für "Position Layout" (Stelle-Layout). Es handelt sich
hierbei um das Layout, das wir für den Datensatztyp "Standard Position" (Standardstelle)
verwenden, demzufolge sollten wir den Abschnitt "Required Languages" (Erforderliche
Sprachen) entfernen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Position Layout"
(Stelle-Layout) auf Bearbeiten.
239
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
4. Klicken Sie auf
in der rechten oberen Ecke des Abschnitts "Required Languages"
(Erforderliche Sprachen).
Wir möchten auch das Feld Datensatztyp zu diesem Seitenlayout hinzufügen.
5. Wählen Sie in der Palette die Kategorie "Felder" aus und ziehen Sie dann das Feld
Datensatztyp direkt unter das Feld Last modified by (Zuletzt geändert von).
6. Klicken Sie auf Speichern.
Das war es auch schon fast! Wir müssen nur noch eine einfache Aufgabe durchführen: und
zwar müssen wir unsere Seitenlayouts für Stellen noch unseren neuen Datensatztypen zuweisen.
Das Zuweisen von Seitenlayouts ist einfach, da Sie sämtliche Zuweisungen für ein Objekt auf
einer einzelnen Seite vornehmen können.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie entweder in der Themenliste "Seitenlayouts" oder in der Themenliste
"Datensatztypen" auf Seitenlayoutzuordnung.
4. Klicken Sie auf Zuordnung bearbeiten.
In einer Tabelle werden die Zuweisungen für das Stellenseitenlayout für die verschiedenen
Kombinationen der Datensatztypen für Profile und Stellen dargestellt. Wählen Sie in der
Tabelle die Kombinationen aus den Datensatztypen für das Profil und die Stelle aus, die Sie
ändern möchten. Verwenden Sie UMSCHALT+Klicken, um einen Zellenbereich auszuwählen,
und STRG+Klicken, um mehrere Zellen einzeln auszuwählen. Über die Dropdownliste über
der Tabelle können Sie das Seitenlayout angeben, dem Sie Ihre Auswahl erneut zuweisen
möchten.
5. Klicken Sie auf die Spaltenüberschrift "IT Position" (IT-Stelle). Hierdurch werden
alle Werte in der Spalte für den Datensatztyp "IT Position" (IT-Stelle) ausgewählt.
6. Wählen Sie "IT Position Layout" (IT-Stellen-Layout) in der Dropdownliste Zu
verwendendes Seitenlayout aus.
7. Klicken Sie auf Speichern.
Ihre Datensatztypen können nun verwendet werden!
Zusammenführung
Herzlichen Glückwunsch! Wir haben soeben alle unsere erforderlichen Sicherheits- und
Freigabeeinstellungen implementiert, indem wir zuerst den Zugriff auf Objektebene über
Profile und Berechtigungssätze definiert haben, anschließend den Zugriff auf Feldebene
240
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
mithilfe der Feldebenensicherheit gesichert haben und schließlich den Zugriff auf
Datensatzebene mit unternehmensweiten Standards, Rollenhierarchien, Freigaberegeln und
manueller Freigabe definiert haben.
Wir haben die Unterschiede bei der Sicherheit auf Objektebene, Feldebene und Datensatzebene
kennengelernt und erfahren, wie sich durch die Kombination aus Profilen, Berechtigungssätzen
und Rollen Objekte und Registerkarten bestimmen lassen, die ein Benutzer möglicherweise
verwenden kann, und Datensätze erstellen lassen, die der Benutzer tatsächlich aufrufen und
bearbeiten kann. Wir haben auch Möglichkeiten kennengelernt, mit denen andere profilbasierte
Funktionen wie Datensatztypen eingerichtet werden können, um sowohl unsere Datenintegrität
als auch die Benutzerfreundlichkeit unserer Anwendung zu verbessern.
Probieren wir das alles nun einmal aus. Zu diesem Zweck müssen wir zunächst einmal eine
Anzahl an Benutzern definieren und anschließend verschiedene Vorgänge mit diesen
durchspielen, indem wir Datensätze erstellen und sehen wer worauf Zugriff hat.
Probieren Sie es aus: Erstellen von mehr
Benutzern
Um unsere Personalbeschaffungsanwendung wirklich auf Herz und Nieren testen zu können,
müssen wir zunächst die restlichen Benutzer definieren und ein paar davon einigen
Personalbeschaffungsdatensätzen zuweisen, die wir vorhin importiert haben.
Anmerkung: Wenn Sie die Personalbeschaffungsanwendung in einer Organisation
mit Developer Edition implementieren, können Sie neben dem
Systemadministrator-Benutzer nur mit wenigen weiteren Benutzern experimentieren.
Sie können zwar alle hier beschriebenen Anwendungsfälle ausprobieren, aber Sie
müssen das Profil, die Berechtigungssätze und die Rolle des Benutzers jeweils für die
einzelnen Anwendungsfälle, an denen Sie arbeiten, aktualisieren.
Tabelle36: Zusammenfassung der erforderlichen Berechtigungen: Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) und "Standard Employee" (Standardmitarbeiter)
Recruiter
Standard Employee
(Personalbeschaffungsmitarbeiter) (Standardmitarbeiter)
Position (Stelle)
Lesen, Erstellen, Bearbeiten
Candidate (Bewerber)
Lesen, Erstellen, Bearbeiten
Lesen (nicht für
Mindestgehalt/Höchstgehalt)
241
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Recruiter
Standard Employee
(Personalbeschaffungsmitarbeiter) (Standardmitarbeiter)
Job Application
(Stellenbewerbung)
Lesen, Erstellen, Bearbeiten
Review
Lesen, Erstellen, Bearbeiten
Job Posting
(Stellenausschreibung)
Lesen, Erstellen, Bearbeiten,
Löschen
Employment Website
(Jobbörse)
Lesen, Erstellen, Bearbeiten,
Löschen
Lassen Sie uns gemeinsam einen Personalbeschaffungsmitarbeiter erstellen: Mario Ruiz.
Anschließend können Sie die anderen Benutzer alleine fertigstellen.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Benutzer.
2. Klicken Sie auf Neuer Benutzer.
3. Füllen Sie die Pflichtfelder auf der Bearbeitungsseite für Benutzer aus.
Geben Sie wie bei Cynthia Capobianco im Feld E-Mail eine reale E-Mail-Adresse ein, auf
die Sie Zugriff haben, und im Feld Benutzername eine erfundene E-Mail-Adresse (z. B.
[email protected]).
4. Wählen Sie in der Dropdownliste Profil den Eintrag "Recruiter"
(Personalbeschaffungsmitarbeiter) aus.
5. Klicken Sie auf Speichern.
Nachdem wir nun den Benutzer Mario Ruiz erstellt haben, geben wir ihm die Inhaberschaft
über die Stelle "DBA" und die zugehörigen Datensätze für Stellenbewerbungen und Bewerber.
6. Klicken Sie auf die Registerkarte "Positions" (Stellen).
7. Wählen Sie in der Dropdownliste Anzeigen die Option "Alle" aus und klicken Sie
dann auf Los.
Tipp: Wenn Sie in dieser Ansicht mehr als nur das Feld Position Title
(Stellentitel) sehen möchten, klicken Sie neben der Dropdownliste Ansicht auf
Bearbeiten und fügen Sie im Abschnitt "Anzuzeigende Felder auswählen" weitere
Felder hinzu.
8. Klicken Sie auf DBA.
9. Klicken Sie neben dem Feld Inhaber auf Ändern.
10. Klicken Sie auf das Nachschlagesymbol
242
und wählen Sie "Mario Ruiz" aus.
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
11. Klicken Sie auf Speichern.
12. Klicken Sie in der Themenliste "Job Applications" (Stellenbewerbungen) auf den
Namen der aufgelisteten Stellenbewerbung und wiederholen Sie die Schritte 8–10.
13. Klicken Sie auf die ID des zugehörigen Bewerbers auf der Detailseite für die
Stellenbewerbung und wiederholen Sie die Schritte 8–10.
Anmerkung: Als Sie Datensätze aus den CSV-Dateien für Bewerber,
Stellenbewerbungen und Stellen importierten, waren Sie vermutlich nicht als
Personalbeschaffungsmanager oder einer dieser Rolle nachgeordnete Position
angemeldet. Wir haben Freigaberegeln erstellt, mit denen die Datensätze, deren
Inhaber die Rolle "Recruiting Manager" (Personalbeschaffungsmanager) und die
nachgeordneten Positionen sind, freigegeben werden, weshalb Sie nun die
Inhaberschaft für den Rest dieser Datensätze auf einen Personalbeschaffungsmanager
oder eine nachgeordnete Position (Phil Katz oder Mario Ruiz) übertragen sollten.
Erstellen Sie nun die anderen Benutzer in der Übersicht der Benutzerprofilzuweisungen auf
Seite 243 und weisen Sie ihnen die in der Tabelle aufgeführten Profile zu. Da Mario der einzige
Personalbeschaffungsmitarbeiter ist, ist er der einzige Benutzer, dem wir das Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) zuweisen. Alle anderen Benutzer sollten das Profil "Standard
Employee" (Standardmitarbeiter) haben.
Tabelle37: Übersicht der Benutzerprofilzuweisungen
Benutzer
Profil
Phil Katz
Recruiter (Personalbeschaffungsmitarbeiter)
Megan Smith
Standard Employee (Standardmitarbeiter)
Craig Kingman
Standard Employee (Standardmitarbeiter)
Tom Zales
Standard Employee (Standardmitarbeiter)
Melissa Lee
Standard Employee (Standardmitarbeiter)
Ben Stuart
Standard Employee (Standardmitarbeiter)
Andy Macrola
Standard Employee (Standardmitarbeiter)
Amy Lojack
Standard Employee (Standardmitarbeiter)
Frank Linstrom
Standard Employee (Standardmitarbeiter)
Andrew Goldberg
Standard Employee (Standardmitarbeiter)
Harry Potterham
Standard Employee (Standardmitarbeiter)
Flash Stevenson
Standard Employee (Standardmitarbeiter)
243
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Benutzer
Profil
Clark Kentman
Standard Employee (Standardmitarbeiter)
Cynthia Capobianco
Standard Employee (Standardmitarbeiter)
Die meisten unserer Benutzer haben das gleiche Profil. Mit dem Profil "Standard Employee"
(Standardmitarbeiter) können diese Benutzer in unserer Personalbeschaffungsanwendung nur
Stellen anzeigen (mit Ausnahme bestimmter Felder). Doch was ist mit den Benutzern, die
mehr Informationen abrufen müssen, wie etwa Einstellungs-Manager Ben Stuart? An dieser
Stelle kommen die Berechtigungssätze ins Spiel, die wir unter Einführen von
Berechtigungssätzen auf Seite 188 erstellt haben. Nachstehend folgt eine kurze
Zusammenfassung der Berechtigungen, die wir den Berechtigungssätzen "Hiring Manager"
(Einstellungs-Manager) und "Interviewer" (Gesprächsleiter) zugewiesen haben.
Tabelle38: Zusammenfassung der erforderlichen Berechtigungen: Berechtigungssätzen
"Hiring Manager" (Einstellungs-Manager) und "Interviewer" (Gesprächsleiter)
Hiring Manager
(Einstellungs-Manager)
Interviewer (Gesprächsleiter)
Position (Stelle)
Lesen, Erstellen, Bearbeiten* Lesen (nicht für
Mindestgehalt/Höchstgehalt)
Candidate (Bewerber)
Lesen* (nicht für SSN)
Lesen* (nicht für SSN)
Job Application
(Stellenbewerbung)
Lesen, Bearbeiten (nicht für
Nachschlagefelder)
Lesen*
Review
Lesen, Erstellen, Bearbeiten
Lesen**, Erstellen,
Bearbeiten**
Job Posting
(Stellenausschreibung)
Lesen*, Erstellen*, Bearbeiten*
Employment Website
(Jobbörse)
Lesen
* Nur für die Datensätze, die mit einer Stelle verknüpft sind, der der
Einstellungs-Manager/Gesprächsleiter zugewiesen wurde
** Nur für die Datensätze, deren Inhaber der Gesprächsleiter ist
Da Ben Einstellungs-Manager für die Softwareentwicklung ist, muss er beispielsweise in der
Lage sein, neue Stellen zu erstellen oder einen Bewerber und dessen Bewerbung anzuzeigen.
244
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Dazu weisen wir Ben den Berechtigungssatz "Hiring Manager" (Einstellungs-Manager) zu,
sodass er diese Aufgaben erledigen kann.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Benutzer.
2. Klicken Sie auf den Namen von Ben Stuart.
3. Blättern Sie auf der Benutzerdetailseite zur Themenliste
"Berechtigungssatzzuweisungen" und klicken Sie auf Zuweisungen bearbeiten.
4. Wählen Sie im Feld "Verfügbare Berechtigungssätze" den Eintrag "Hiring Manager"
(Einstellungs-Manager) aus und verschieben Sie ihn mithilfe der Pfeile in das Feld
"Aktivierte Berechtigungssätze".
5. Klicken Sie auf Speichern.
Wiederholen Sie diese Schritte für die anderen Einstellungs-Manager: Andy Macrola, Amy
Lojack und Clark Kentman.
Nachdem wir allen Einstellungs-Managern den richtigen Berechtigungssatz zugewiesen haben,
beschäftigen wir uns nun mit den Gesprächsleitern. Mario hat für nächste Woche ein
Bewerbungsgespräch mit einem Bewerber angesetzt, und Ben hat zwei seiner Entwickler
gebeten, das Gespräch mit dem Bewerber zu führen. Weisen Sie Melissa Lee und Craig
Kingman den Berechtigungssatz "Interviewer" (Gesprächsleiter) zu, sodass sie die Stelle und
die Bewerbung anzeigen und Reviews zum Bewerbungsgespräch abgeben können.
Beyond the Basics
Wussten Sie, dass Sie steuern können, wer welche Benutzer in der Organisation anzeigen
kann?
Beispiel: Personalbeschaffungsmitarbeiter, Einstellungs-Manager und Gesprächsleiter
sollen in der Lage sein, sich gegenseitig anzuzeigen und miteinander zusammenzuarbeiten,
dies soll jedoch nicht für Standardmitarbeiter gelten. Sie können die organisationsweite
Standardeinstellung für das Benutzerobjekt auf "Privat" festlegen und Freigaberegeln
erstellen, die es Personalbeschaffungsmitarbeitern, Einstellungs-Managern und
Gesprächsleitern ermöglichen, sich gegenseitig in der Personalbeschaffungsanwendung
anzuzeigen und miteinander zusammenzuarbeiten, es jedoch nicht zulassen, dass
Standardmitarbeiter diese Benutzer anzeigen können und umgekehrt.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Benutzerfreigabe –
Übersicht" .
245
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Probieren Sie es aus: Überprüfen, ob alles
funktioniert
Nun, da wir unseren Benutzern Daten zugewiesen haben, sollten wir unsere
Personalbeschaffungsanwendung durchgehen, um zu sehen, wie die Sicherheits- und
Freigabeberechtigungen, die wir in diesem Kapitel definiert haben, in der Praxis funktionieren:
1. Melden Sie sich zuerst als Mario Ruiz an. Vergewissern Sie sich, dass er alle Stellen,
alle Bewerber und alle Stellenbewerbungen sehen und bearbeiten kann. Vergewissern
Sie sich, dass die Schaltfläche Neu für alle Objekte in der
Personalbeschaffungsanwendung zur Verfügung steht. Vergewissern Sie sich, dass
er Stellen mit jedem der beiden Typen von Stellendatensätzen erstellen kann.
2. Melden Sie sich als Melissa Lee an. Vergewissern Sie sich, dass sie neue Stellen
sehen kann, dass jedoch die Schaltfläche Neu nicht angezeigt wird. Vergewissern
Sie sich, dass sie keine Bewerber, Stellenbewerbungen, Reviews und Jobbörsen sehen
kann.
3. Melden Sie sich als Ben Stuart an. Vergewissern Sie sich, dass er Stellen sehen kann
und dass die Schaltfläche Neu angezeigt wird. Vergewissern Sie sich, dass er
Jobbörsen anzeigen, nicht jedoch bearbeiten kann. Vergewissern Sie sich, dass er
keine Bewerber sehen kann. Vergewissern Sie sich, dass er Stellenbewerbungen
anzeigen, nicht jedoch die zugehörigen Nachschlagefelder bearbeiten kann.
Vergewissern Sie sich, dass er Reviews sehen kann und dass die Schaltfläche Neu
angezeigt wird. (Wie sehen die Reviews aus? Kann er die Namen der Bewerber und
Stellenbewerbungen auf den Reviews sehen?)
4. Melden Sie sich erneut als Mario Ruiz an. Lassen sie ihn manuell
Lese-/Schreibzugriff für die Stelle „DBA" für Ben freigeben. Lassen Sie ihn manuell
Lesezugriff auf den Bewerber für Melissa und Ben freigeben. Lassen Sie ihn manuell
Lese-/Schreibzugriff auf die Stellenbewerbung für Melissa und Ben freigeben.
5. Melden Sie sich erneut als Melissa Lee an. Vergewissern Sie sich, dass sie nun den
Bewerber und die Stellenbewerbung sehen kann, die Mario soeben für sie freigegeben
hat, dass jedoch die Sozialversicherungsnummer des Bewerbers für sie nicht sichtbar
ist. Lassen Sie sie einen Review für den betreffenden Bewerber erstellen.
6. Melden Sie sich erneut als Ben Stuart an. Vergewissern Sie sich, dass er die Stelle
"Documentation Writer" bearbeiten kann. Vergewissern Sie sich, dass er Melissas
Review lesen und aktualisieren kann. Vergewissern Sie sich, dass er den Status der
Stellenbewerbung auf Extend an Offer (Angebot unterbreiten) aktualisieren
kann.
Wie haben wir abgeschnitten? Wenn alle diese Anwendungsfälle korrekt funktionierten, haben
Sie soeben erfolgreich Sicherheit und Freigabe für unsere Personalbeschaffungsanwendung
246
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
eingerichtet. Wenn ein Anwendungsfall nicht funktionierte, überprüfen Sie Rolle, Profil,
Berechtigungssatz und Freigaberegeln der einzelnen Benutzer anhand der Angaben in der
Tabelle Zusammenfassung der erforderlichen Berechtigungen: Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) und "Standard Employee" (Standardmitarbeiter).
Einer wichtigen sicherheitsrelevanten Frage müssen wir noch nachgehen: Wer soll dafür
zuständig sein, den Betrieb der Personalbeschaffungsanwendung und die zugehörigen Daten
zu überwachen, wenn die Anwendung live geschaltet wird?
Delegieren der Datenverwaltung
Wie bei fast allen Force.com-Anwendungen ist bei unserer Personalbeschaffungsanwendung
keine mühsame laufende Verwaltung oder eine ständige Überwachung des Alltagsbetriebs
erforderlich. Nach ihrer Bereitstellung funktioniert die Anwendung einfach. Von Zeit zu Zeit
jedoch gibt es Entscheidungen oder Probleme, die menschliches Eingreifen erfordern und
gewisse manuelle Verwaltungstätigkeiten erforderlich machen, wie beispielsweise:
•
•
•
•
Ein Einstellungs-Manager tritt in den Ruhestand und hat vierzig offene Stellen, die auf
einen anderen Manager übertragen werden müssen.
Ein aktueller Benutzer der Personalbeschaffungsanwendung benötigt sofortigen Zugriff
auf private Daten, deren Inhaber ein anderer Benutzer ist, der sich gerade im Urlaub
befindet.
Doppelte Datensätze haben sich in der Personalbeschaffungsanwendung angesammelt und
müssen entfernt werden.
Es wurde gerade ein neuer Mitarbeiter eingestellt, der Zugriff auf die
Personalbeschaffungsanwendung benötigt.
In diesen Situationen kann es erforderlich sein, dass ein Mitarbeiter die Sicherheit- und
Freigabeeinstellungen außer Kraft setzt, die wir soeben erstellt haben. Welche Personen sollten
über derartige Kompetenzen in unserer Anwendung verfügen und wie können diese
Kompetenzen gewährt werden?
Offensichtlich kann der Salesforce-Hauptadministrator Ihres Unternehmens praktisch jedes
Problem behandeln, auf das die Benutzer im Umgang mit Salesforce stoßen könnten.
Hauptadministratoren wird das Profil "Systemadministrator" zugewiesen, das automatisch
mehrere globale administrative Berechtigungen gewährt, darunter:
•
•
"Alle Daten anzeigen" – Alle Daten anzeigen, die sich im Besitz anderer Benutzer befinden
"Alle Daten modifizieren" – Alle Daten bearbeiten, deren Inhaber andere Benutzer in Ihrer
Organisation sind, Datensätze per Massenvorgang aktualisieren und löschen sowie das
Löschen von Datensätzen rückgängig machen, die von anderen Benutzern gelöscht wurden
247
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
•
•
"Anwendung anpassen" – Praktisch alles in Salesforce anpassen, von Seitenlayouts bis hin
zum Datenmodell
"Benutzer verwalten" – Benutzer hinzufügen und entfernen, Kennwörter zurücksetzen,
Berechtigungen erteilen usw.
Bei kleineren Unternehmen ist ein einzelner Administrator sinnvoll, der als Anlaufstelle für
alle Salesforce-Probleme fungiert. Für mittlere und große Unternehmen jedoch ist es nicht
praktikabel, alle Salesforce-Zuständigkeiten einer einzigen Person zuzuweisen, insbesondere
wenn man bedenkt, dass ein Unternehmen seinen gesamten Geschäftsbetrieb in der Cloud
abwickeln kann, wobei für die verschiedenen betrieblichen Anforderungen unterschiedliche
Force.com-Anwendungen verwendet werden. Das kann auf Dutzende von Anwendungen und
Hunderte oder Tausende Benutzer hinauslaufen. Ihr Salesforce-Administrator würde
wahnsinnig werden, wenn er nicht durch andere Mitarbeiter bei der Verwaltung unterstützt
wird. Andererseits jedoch erhöht jede administrative Berechtigung, die Sie erteilen, das Risiko
von Datenschutzverletzungen. Daher müssen Sie den Umfang des gewährten Zugriffs genau
steuern können.
Um sowohl die geistige Gesundheit Ihres Administrators als auch die Sicherheit Ihres
Unternehmens aufrecht zu erhalten, bietet Ihnen die Force.com-Plattform zwei Methoden
zur raschen Delegation von eingeschränktem Datenverwaltungszugriff:
Objektebenenberechtigungen und Gruppen für die delegierte Verwaltung.
Überschreiben der Freigabe durch
Objektberechtigungen
Ob Sie es glauben oder nicht: Wir haben vor ein paar Seiten bereits einige Verwaltungsaufgaben
delegiert, als wir den Berechtigungssatz für Personalbeschaffungsmitarbeiter erstellten. Wenn
Sie zu dem betreffenden Abschnitt zurückblättern, sehen Sie, dass wir die Objektberechtigungen
"Alle anzeigen" und "Alle ändern" für Stellenausschreibungen und Jobbörsen ausgewählt haben.
Wie zu erwarten, gestattet "Alle anzeigen" den Benutzern, alle Datensätze des betreffenden
Objekts anzuzeigen, während "Alle ändern" den Benutzern gestattet, alle Datensätze des
betreffenden Objekts zu lesen, zu bearbeiten und zu löschen. Worin unterscheidet sich also
die Auswahl dieser Berechtigungen von der Auswahl der Einzelberechtigungen "Lesen",
"Bearbeiten" und "Löschen"? Und wie unterstützen die Berechtigungen "Alle anzeigen" und
"Alle ändern" Sie beim Delegieren der Verwaltung?
Das Wort, auf das es hier ankommt, ist "alle". Wenn Sie die Berechtigung "Alle anzeigen"
oder "Alle ändern" für ein Objekt in einem Profil oder einem Berechtigungssatz zuweisen,
gewähren Sie allen zugehörigen Benutzern Zugriff auf alle Datensätze des betreffenden Objekts,
unabhängig von den Freigabe- und Sicherheitseinstellungen. Im Grunde ignorieren die
Berechtigungen "Alle anzeigen" und "Alle ändern" das Freigabemodell, die Rollenhierarchie
248
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
und die Freigaberegeln, die bei den Berechtigungen "Lesen", "Bearbeiten" und "Löschen"
eingehalten werden. Außerdem bietet "Alle ändern" dem Benutzer die Möglichkeit, Datensätze
dieses speziellen Objekts per Massenvorgang zu übertragen, zu aktualisieren und zu löschen.
Außerdem kann der Benutzer derartige Datensätze selbst dann genehmigen, wenn er kein
zugewiesener Genehmiger ist. Diese Aufgaben sind typischerweise Administratoren vorbehalten,
aber da wir mit "Alle anzeigen" und "Alle ändern" das System selektiv überschreiben können,
können Zuständigkeiten, die üblicherweise dem Administrator vorbehalten sind, unter
genauester Kontrolle an andere Benutzer delegiert werden.
Anmerkung: Mehr zur Datensatzgenehmigung erfahren Sie im nächsten Kapitel.
Andere Verwaltungstätigkeiten, wie beispielsweise Massenaktualisierungen, werden
in der Salesforce-Online-Hilfe behandelt.
Sie fragen sich vielleicht, ob die Berechtigungen "Alle anzeigen" und "Alle ändern" Ähnlichkeit
zu den globalen Berechtigungen "Alle Daten anzeigen" und "Alle Daten modifizieren"
aufweisen. In der Tat ignorieren alle diese Berechtigungen das Freigabemodell, die Hierarchie
und die Freigaberegeln. Behalten Sie jedoch im Hinterkopf, dass Objektberechtigungen nur
für Datensätze eines bestimmten Objekts gelten, wohingegen globale Berechtigungen für
Datensätze jedes beliebigen Objekts in Ihrer Organisation gelten. Als Faustregel lässt sich
Folgendes festlegen: Wenn globale administrative Berechtigungen zu großzügig für einen
bestimmten Benutzer sind, verwenden Sie stattdessen die Objektberechtigungen, um den
Datenzugriff für die einzelnen Objekte zu steuern.
Da wir bereits bei der Erstellung des Berechtigungssatzes für Personalbeschaffungsmitarbeiter
Objektberechtigungen angewendet haben, brauchen wir den Vorgang hier nicht mehr
durchzugehen. Sie können sich jedoch sicherlich andere Umstände vorstellen, unter denen die
Berechtigungen "Alle Anzeigen" und "Alle ändern" für diese Anwendung nützlich sein könnten.
Beispielsweise haben wir bereits erwähnt, dass es bestimmte Gesetze geben könnten, die
vorschreiben, das Ihr Unternehmen alle Stellen-, Bewerber- und Stellenbewerbungsdatensätze
für eine bestimmte Zeit aufbewahrt. Dieses Gesetz ist der Grund dafür, warum wir uns
entschieden haben, den Personalbeschaffungsmitarbeitern nicht die Berechtigung zum Löschen
dieser Datensätze zu erteilen. Nach Ablauf der gesetzlich vorgeschriebenen
Aufbewahrungspflicht könnte Ihr Unternehmen eine externe Firma, die auf Datenbereinigung
spezialisiert ist, damit betrauen, alte Personalbeschaffungsdaten aus dem System zu entfernen.
Indem Sie einen Berechtigungssatz mit der Objektberechtigung "Alle ändern" für Stellen,
Bewerber und Stellenbewerbungen erstellen, können Sie dieser externen Firma schnell die
erforderlichen Berechtigungen erteilen, die sie braucht, um diese Aufgabe zu erledigen, ohne
andere Unternehmensdaten offenzulegen.
249
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Gruppen für die delegierte Verwaltung
Wir haben soeben gesehen, wie die Objektberechtigungen "Alle anzeigen" und "Alle ändern"
verwendet werden können, um den Hauptadministrator erheblich zu entlasten. Es gibt jedoch
noch einige andere Verwaltungsaufgaben, die Sie vielleicht gerne delegieren möchten, aber
mit Objektberechtigungen nicht delegieren können. Beispielsweise möchten Sie den
Hauptadministrator möglicherweise nicht damit belasten, jeden neuen Mitarbeiter manuell
zu Salesforce hinzuzufügen oder alle vergessenen Benutzerkennwörter zurückzusetzen.
Außerdem kann sich im Laufe der Zeit herausstellen, dass Ihr Unternehmen ein oder zwei
weitere Felder für Review-Datensätze oder einen neuen Datensatztyp für Stellen braucht.
Manchmal ist es effizienter, solche grundlegenden Verwaltungsaufgaben an die Mitglieder
einer Gruppe zu delegieren, damit sich der Hauptadministrator auf andere Dinge konzentrieren
kann.
Eine Gruppe für die delegierte Verwaltung ist eine Gruppe von Benutzern, die eigentlich keine
Administratoren sind, die jedoch über begrenzte administrative Berechtigungen verfügen.
Dazu können folgende Berechtigungen gehören:
•
•
•
•
Erstellen und Bearbeiten von Benutzern sowie Zurücksetzen von Kennwörtern für Benutzer
in angegebenen Rollen und allen untergeordneten Rollen
Zuordnen von Benutzern zu bestimmten Profilen
Anmelden als Benutzer, der einem Administrator Anmeldezugriff gewährt hat
Verwalten von benutzerdefinierten Objekten, die vom Hauptadministrator erstellt wurden
Definieren wir eine Gruppe für die delegierte Verwaltung in unserer
Personalbeschaffungsanwendung, die es ihren Mitgliedern ermöglicht, die Benutzer der
Personalbeschaffungsanwendung zu verwalten und Anpassungen an den benutzerdefinierten
Objekten der Anwendung vorzunehmen, ohne Zugriff auf alle anderen Daten in Salesforce
zu haben.
Probieren Sie es aus: Definieren der
Verwaltungsgruppe für
Personalbeschaffungsmanager
Zunächst erstellen wir die Gruppe für die delegierte Verwaltung:
1. Klicken Sie unter "Setup" auf Sicherheitssteuerungen > Delegierte Verwaltung.
2. Klicken Sie auf Neu.
250
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
3. Geben Sie im Textfeld Name für delegierte Gruppe den Text Recruiting
App Admins (Administratoren für Personalbeschaffungsanwendung) ein.
4. Klicken Sie auf der Detailseite "Delegierte Gruppe" auf Bearbeiten.
5. Aktivieren Sie das Kontrollkästchen Gruppe für Anmeldezugriff
aktivieren.
Mit der Option Gruppe für Anmeldezugriff aktivieren können sich die delegierten
Administratoren in dieser Gruppe als Benutzer anmelden, der ausdrücklich für einen bestimmten
Zeitraum Administratoren Anmeldezugriff gewährt hat. Dies ist nützlich zur Fehlerbehebung
bei Problemen, auf die der Benutzer stoßen könnte.
6. Klicken Sie auf Speichern.
Auf der Detailseite "Delegierte Gruppe" können wir die Themenliste "Delegierte
Administratoren" verwenden, um die Benutzer anzugeben, die in diese delegierte Gruppe
aufgenommen werden sollen.
7. Klicken Sie in der Themenliste "Delegierte Administratoren" auf Hinzufügen.
8. Geben Sie im ersten leeren Textfeld Phil Katz, den Personalbeschaffungsmanager
bei Universal Containers, ein.
Anmerkung: Mitglieder von Gruppen für die delegierte Verwaltung müssen
über die Berechtigung "Setup und Konfiguration anzeigen" verfügen.
Jede Gruppe für die delegierte Verwaltung kann bis zu fünf Mitglieder umfassen, aufgrund
des Schwerpunkts unserer Anwendung nehmen wir jedoch nur den
Personalbeschaffungsmanager in diese Gruppe auf.
9. Klicken Sie auf Speichern.
Wir befinden uns nun wieder auf der Detailseite "Delegierte Gruppe". Über die Themenliste
"Benutzeradministration" können wir angeben, welche Arten von Benutzern von dieser Gruppe
verwaltet werden können.
10. Klicken Sie in der Themenliste "Benutzeradministration" auf Hinzufügen.
Anstatt einzelne Benutzer für die Verwaltung auszuwählen, wählen wir sie anhand ihrer Rollen
aus. Für jede Rolle, die wir auswählen, werden automatisch auch die zugehörigen
nachgeordneten Rollen ausgewählt. (Gehen Sie zurück zu Rollenhierarchie bei Universal
Containers auf Seite 219, wenn Sie sich nicht mehr erinnern können, welche Rollen
nachgeordnet sind.) Die Mitglieder dieser Gruppe sollen zwar nicht die Salesforce-Accounts
von leitenden Mitarbeitern bei Universal Containers verwalten können, die Gruppe sollte
jedoch in der Lage sein, die Personalbeschaffungsanwendung für
251
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Recruiter/Personalbeschaffungsmitarbeiter, Directors, Manager und die ihnen unterstellten
Mitarbeiter zu verwalten.
11. Geben Sie in den Feldern "Rollen und nachgeordnete Positionen" folgende Werte
ein:
•
•
•
•
Recruiter (Personalbeschaffungsmitarbeiter)
Director Product Management
Director QA
SW Dev Manager
12. Klicken Sie auf Speichern.
Über die Themenliste "Zuweisbare Profile" können wir angeben, welche Profile diese Gruppe
den von ihnen verwalteten Benutzern zuweisen kann. Beachten Sie, dass delegierte
Administratoren diese Profile nicht bearbeiten können; sie können ihnen lediglich Benutzer
zuweisen.
13. Klicken Sie in der Themenliste "Zuweisbare Profile" auf Hinzufügen.
14. Geben Sie in den Feldern für "Zuweisbare Profile" Recruiter
(Personalbeschaffungsmitarbeiter) und Standard Employee (Standardmitarbeiter)
ein.
15. Klicken Sie auf Speichern.
Über die Themenliste "Administration von benutzerdefinierten Objekten" können wir angeben,
welche benutzerdefinierten Objekte von den delegierten Administratoren dieser Gruppe
verwaltet werden können. Die delegierten Administratoren können praktisch jeden Aspekt
des benutzerdefinierten Objekts verwalten. Sie können beispielsweise Seitenlayouts bearbeiten,
Felder hinzufügen und sogar das Objekt löschen. Sie sind jedoch nicht in der Lage,
Berechtigungen für das benutzerdefinierte Objekt festzulegen, Workflow und Freigaben für
das Objekt zu verwalten und Beziehungen zu anderen Objekten zu bearbeiten.
16. Klicken Sie in der Themenliste "Administration von benutzerdefinierten Objekten"
auf Hinzufügen.
Geben wir den Mitgliedern dieser Gruppe von delegierten Administratoren (in diesem Fall:
Phil) die Fähigkeit zur Bearbeitung des Objekts "Position" (Stelle). Wenn nun ein weiteres
Feld zu Stellendatensätzen hinzugefügt werden muss oder Einstellungs-Manager irgendwann
einen weiteren Datensatztyp benötigen, kann Phil das erledigen. (Natürlich sollten wir Phil
auch darauf hinweisen, darauf zu achten, dass er das Objekt "Position" (Stelle) nicht vollständig
löscht – mit seinen Verwaltungsrechten für benutzerdefinierte Objekte ist er auch dazu in der
Lage!)
17. Geben Sie im ersten leeren Textfeld Position (Stelle) ein.
252
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
18. Klicken Sie auf Speichern.
Damit ist die Konfiguration unsere Gruppe für die delegierte Verwaltung abgeschlossen. Für
unsere Personalbeschaffungsanwendung gibt es nun einen delegierten Administrator, der
unseren Salesforce-Hauptadministrator ein wenig entlasten kann.
Probieren Sie es aus: Überprüfen, ob die
delegierte Verwaltung funktioniert
Um zu sehen, was ein delegierter Administrator der Personalbeschaffungsanwendung tun kann
und was nicht, melden Sie sich als Phil Katz an.
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Benutzer.
Beachten Sie, dass der Link Bearbeiten neben jedem Benutzer angezeigt wird, der einer Rolle
oder untergeordneten Rolle zugewiesen ist, für den unsere Gruppe delegierter Administratoren
Benutzer verwalten kann. Der Link Bearbeiten wird nicht neben Benutzern angezeigt, die
anderen Rollen zugewiesen sind, wie beispielsweise Cynthia Capobianco, die die Rolle "CEO"
inne hat.
Außerdem sehen Sie, dass Phil nun die Schaltflächen Neuer Benutzer, Kennwort (-wörter)
zurücksetzen und Mehrere Benutzer hinzufügen zur Verfügung stehen. Sehen wir, was
geschieht, wenn Phil einen neuen Benutzer hinzufügt.
2. Klicken Sie auf Neuer Benutzer.
Die Seite "Benutzer bearbeiten" wird angezeigt. Auf den ersten Blick sieht diese Seite genauso
aus wie die Seite "Benutzer bearbeiten", die wir beim Hinzufügen von Benutzern sahen, als
wir als Systemadministrator angemeldet waren. Wenn Sie sich jedoch die Optionen, die in
den Dropdownlisten Rolle und Profil zur Verfügung stehen, genau ansehen, bemerken
Sie einen Unterschied: Die Optionen sind auf diejenigen Elemente beschränkt, die wir beim
Erstellen der Gruppe für die delegierte Verwaltung angaben. Beispielsweise kann Phil keinen
Benutzer mit einer Rolle als leitender Angestellter erstellen und er kann auch nicht Benutzer
einem anderen Profil zuweisen als "Recruiter" (Personalbeschaffungsmitarbeiter) oder "Standard
Employee" (Standardmitarbeiter).
Im Moment brauchen wir keine weiteren Mitarbeiter zu erstellen. Klicken Sie daher einfach
auf Abbrechen.
Zuletzt muss noch überprüft werden, ob Phil das Objekt "Position" (Stelle) bearbeiten kann.
3. Klicken Sie unter "Setup" auf Erstellen > Objekte.
253
Kapitel 7: Einrichten von Sicherheit und Freigabe für Daten
Wir sehen, dass die Links Bearbeiten und Löschen neben dem Objekt "Position (Stelle)
verfügbar sind. Phil kann nun also das Objekt "Position" (Stelle) sowohl bearbeiten als auch
löschen. Unser Test ist abgeschlossen.
Beyond the Basics
Wussten Sie, dass Sie Single Sign-On zwischen Ihrer Organisation und anderen
autorisierten Web-Ressourcen einrichten können?
Angenommen, Sie möchten, dass sich Ihre Mitarbeiter nur ein einziges Kennwort zu
merken brauchen, um sich bei der Personalbeschaffungsanwendung und bei Ihrer
Unternehmenswebsite anzumelden. Sie können mit einem Identitätsanbieter
zusammenarbeiten, Informationen mit ihm austauschen und anschließend Salesforce für
Single Sign-On konfigurieren.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Info zu Single Sign On".
Zusammenfassung
In diesem Kapitel haben wir eine ganze Menge Stoff abgedeckt. Wir haben die Unterschiede
zwischen der Sicherheit auf der Objekt-, Feld- und Datensatzebene behandelt. Wir haben
erfahren, wie sich durch die Kombination aus Profilen und Rollen die Objekte und
Registerkarten bestimmen lassen, die ein Benutzer möglicherweise verwenden kann, und wie
sich anschließend Datensätze erstellen lassen, die der Benutzer tatsächlich aufrufen und
bearbeiten kann. Wir haben auch Möglichkeiten kennengelernt, mit denen andere profilbasierte
Funktionen wie Datensatztypen eingerichtet werden können, um sowohl unsere Datenintegrität
als auch die Gebrauchstauglichkeit unserer Anwendung zu verbessern. Abschließend haben
wir alles getestet und die Verwaltung unserer Personalbeschaffungsanwendung auf effiziente
und sichere Weise delegiert. Nun, da wir die Sicherheitsfragen behandelt haben, sollten wir
mithilfe von Workflowregeln Geschäftslogik in unsere Anwendung integrieren.
254
Kapitel 8
Zusammenarbeit mit Chatter
Themen:
•
•
•
•
•
•
•
Einführung in Chatter
Verfolgen von Feldern in
Objekten
Folgen von Datensätzen
Einrichten von Gruppen
Einführung zu
Benachrichtigungen
Einführung in
Publisher-Aktionen
Zusammenfassung
Im letzten Kapitel haben wir ein Sicherheits- und
Freigabemodell entwickelt, um zu bestimmen, welche
Personen welche Daten in der erweiterten
Personalbeschaffungsanwendung sehen können. Wir haben
gesehen, wie einfach es mit der Force.com-Plattform ist,
den Zugriff auf Felder und Datensätze einzuschränken.
Nun, da unsere Anwendung sicher ist, möchten wir den
Personalbeschaffungsmitarbeitern, Gesprächsleitern und
Einstellungs-Managern die Zusammenarbeit im
Einstellungsprozess erleichtern. Mit Chatter bieten wir
ihnen eine benutzerfreundliche, schnelle und effektive
Methode für Informationsbeschaffung und -austausch.
In diesem Kapitel stellen wir einige der Grundfunktionen
von Chatter vor, beispielsweise die Feed-Verfolgung und
das Folgen von Datensätzen, und zeigen, wie mit Chatter
die Zusammenarbeit zum Kinderspiel wird.
255
Kapitel 8: Zusammenarbeit mit Chatter
Einführung in Chatter
Mit Chatter kann Ihre Anwendung besser denn je für die Zusammenarbeit verwendet werden.
Sobald Sie Chatter für Ihre Organisation aktiviert haben, können Sie Feeds für die meisten
Standardobjekte und alle benutzerdefinierten Objekte aktivieren, sodass Sie bei jeglichen
Änderungen Aktualisierungen in Echtzeit sehen können. Die Benutzer können in Feeds
posten, Kommentare zu anderen Posts abgeben, Dateien und Links freigeben, zusammen an
Dokumenten arbeiten, Personen und Datensätzen folgen und vieles mehr. Mit der
Feed-Verfolgung können die Benutzer sogar ganz bestimmten Feldern eines Datensatzes
folgen. Wenn sich ein Wert für eines dieser Felder ändert, postet Chatter eine Aktualisierung
im Feed, wodurch sofort alle Personen, die dem betreffenden Datensatz folgen, benachrichtigt
werden. Mit Erwähnungen können die Benutzer eine Person erwähnen, um sicherzustellen,
dass die Aktualisierung dieser Person angezeigt wird. Und mit Hashtags können die Benutzer
Themen zu Posts und Kommentaren hinzufügen, damit andere Personen ihre Aktualisierungen
leichter finden können.
Chatter-Benutzer verfügen über ihre eigenen persönlichen Profil-Feeds, in denen sie
Aktualisierungen posten und Aktualisierungen der Personen und Datensätze anzeigen können,
denen sie folgen. Außerdem können die Benutzer öffentliche oder private Gruppen einrichten,
um die Zusammenarbeit auf ein bestimmtes Gebiet zu konzentrieren. Jede Gruppe besitzt
ihren eigenen Feed, in dem die Gruppenmitglieder Informationen austauschen, Fragen stellen
und Dateien zur Zusammenarbeit hochladen können. Mit Chatter können Sie problemlos
über die Personen und Informationen auf dem Laufenden bleiben, die für Sie besonders wichtig
sind.
Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Übersicht über Chatter".
Verfolgen von Feldern in Objekten
Chatter kann Feldänderungen für die meisten Ihrer Datensätze und Objekte, einschließlich
benutzerdefinierten Objekten, verfolgen und diese Informationen automatisch in einem
Push-Vorgang an den Feed des Datensatzes übertragen. Durch die Feldverfolgung bleiben
Sie über die aktuellsten Änderungen bei Objekten und Datensätzen, die für Sie von Belang
sind, auf dem Laufenden. Aktivieren Sie einfach die Feed-Verfolgung für das Objekt und
wählen Sie dann die zu verfolgenden Felder aus.
256
Kapitel 8: Zusammenarbeit mit Chatter
Probieren Sie es aus: Aktivieren der
Feed-Verfolgung für Stellen und
Stellenbewerbungen
Die Personalbeschaffungsmitarbeiter bei Universal Containers möchten wissen, wenn sich der
Status oder Standort einer Stelle ändert. Die Einstellungs-Manager möchten wissen, wenn
eine Stellebewerbung eingeht. Verfolgen wir diese Felder für diese Personen in Chatter.
Aktivieren von Chatter für Ihre Organisation:
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Anpassen > Chatter > Einstellungen.
Klicken Sie auf Bearbeiten.
Wählen Sie Aktivieren aus.
Klicken Sie auf Speichern.
Abbildung80: Chatter-Einstellungen
Verfolgen wir nun die Änderungen an den Feldern Status und Location (Standort) für
Stellen:
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Anpassen > Chatter > Feed-Verfolgung.
Wählen Sie das Objekt "Position" (Stelle).
Aktivieren Sie das Kontrollkästchen Feedaufzeichnung aktivieren.
Wählen Sie die Felder Status und Location (Standort) aus. Wenn sich eines
dieser Felder für eine Stelle ändert, wird der Feed für diese Stelle aktualisiert, wodurch
die Personalbeschaffungsmitarbeiter, die ihm folgen, benachrichtigt werden.
5. Klicken Sie auf Speichern.
257
Kapitel 8: Zusammenarbeit mit Chatter
Abbildung81: Feed-Verfolgung für Stellen
Der Einstellungs-Manager möchte benachrichtigt werden, wenn sich der Status einer
Stellenbewerbung ändert. Verfolgen wir also dieses Feld:
1.
2.
3.
4.
Klicken Sie unter "Setup" auf Anpassen > Chatter > Feed-Verfolgung.
Wählen Sie das Objekt "Job Application" (Stellenbewerbung) aus.
Wählen Sie Feedaufzeichnung aktivieren aus.
Wählen Sie das Feld Status aus. Wenn sich der Wert ändert – beispielsweise von
"New" (Neu) zu "Review Resume" (Lebenslauf überprüfen) –, wird der Feed für die
Stellenbewerbung aktualisiert und die Einstellungs-Manager, die dieser Bewerbung
folgen, werden benachrichtigt.
5. Klicken Sie auf Speichern.
Da wir gerade dabei sind, aktivieren wir nun auch die verbleibenden benutzerdefinierten
Objekte für die Feed-Verfolgung. Wiederholen Sie die Schritte, die Sie für die Objekte
"Position" (Stelle) und "Job Application" (Stellenbewerbung) ausgeführt haben, um "Candidate"
(Bewerber), "Employment Website" (Jobbörse), "Job Posting" (Stellenausschreibung) und
"Review" für die Feed-Verfolgung zu aktivieren.
258
Kapitel 8: Zusammenarbeit mit Chatter
Rekapitulation
Wir haben festgelegt, dass Aktualisierungen der Felder Status und Location (Standort)
des Objekts "Position" (Stelle) verfolgt werden sollen. Wenn jemand Feldaktualisierungen zu
einer Stelle sehen möchte, kann er den Feed auf der Detailseite des betreffenden Datensatzes
anzeigen. Wenn beispielsweise die Personalbeschaffungsmitarbeiterin, die bei der
Stellenbesetzung in der Abteilung "Technical Publications" behilflich ist, den Datensatz
"Documentation Writer" betrachtet, sieht sie, dass sich der Standort zu "San Francisco, CA"
geändert hat.
Abbildung82: Aktualisieren des Standort-Felds in einem Datensatz-Feed der
vollständigen Site
Starten Sie Salesforce1, um festzustellen, wie Feldaktualisierungen in Stellendatensätzen auf
einem mobilen Gerät aussehen. Tippen Sie im Navigationsmenü auf Mehr anzeigen > Positions
(Stellen) und tippen Sie dann auf Documentation Writer.
Jetzt werden drei Ansichten angezeigt und nicht mehr nur zwei wie in den vorigen Kapiteln.
Die neue Ansicht, die zuerst angezeigt wird, wenn Sie einen Datensatz öffnen, ist der
Datensatz-Feed. Datensatz-Feeds werden nur angezeigt, wenn Feeds für den Objekttyp des
Datensatzes aktiviert sind. Im Datensatz-Feed werden alle Feldaktualisierungen in Chatter
für diesen Datensatz angezeigt – für die Felder, die wir bei der Aktivierung von Feeds im
Objekt "Position" (Stelle) ausgewählt haben.
259
Kapitel 8: Zusammenarbeit mit Chatter
Abbildung83: Aktualisieren des Standort-Felds in einem Datensatz-Feed in Salesforce1
Feed-Verfolgung ist eine nützliche Funktion, aber wer möchte schon immer die
Datensatz-Detailseite aufrufen, um Aktualisierungen zu sehen? Als Nächstes zeigen wir Ihnen,
wie einfach es ist, Datensätzen zu folgen, sodass Ihnen die Aktualisierungen automatisch
angezeigt werden.
Folgen von Datensätzen
Mit Chatter können Sie den Benutzern, Gruppen, Dokumenten und Datensätzen folgen, an
denen Sie interessiert sind. Aktualisierungen zu den Personen und Informationen, die Ihnen
wichtig sind, werden in Ihrem persönlichen Feed gepostet. Außerdem können Sie
E-Mail-Benachrichtigungen für Aktionen aktivieren, beispielsweise wenn jemand einen
Kommentar zu Ihrem Post abgibt, und tägliche oder wöchentliche Auszüge mit Posts und
Kommentaren aus Ihrem persönlichen Feed und Gruppen erhalten.
Probieren Sie es aus: Einem
Stellenbewerbungs-Datensatz folgen
Wir wissen, dass bei unserer Personalbeschaffungsanwendung die Einstellungs-Manager über
Stellenbewerbungen für ihre offenen Stellen auf dem Laufenden bleiben möchten. Dazu
brauchen sie einfach nur diesen Datensätzen zu folgen.
Um es selbst auszuprobieren, öffnen Sie einfach die Detailseite für eine Stellenbewerbung und
klicken Sie auf Folgen. So einfach ist das.
260
Kapitel 8: Zusammenarbeit mit Chatter
Abbildung84: Einem Stellenbewerbungs-Datensatz folgen
Alle nachverfolgten Feldaktualisierungen sowie die Posts und Kommentare anderer Benutzer
zu den Datensätzen, denen Sie folgen, werden in Ihrem persönlichen Feed gepostet. Verwenden
Sie Chatter, um die richtigen Personen mit den richtigen Datensätzen zu verbinden und mit
der Echtzeit-Zusammenarbeit am Einstellungsprozess zu beginnen.
Beyond the Basics
Wussten Sie, dass Sie Chatter für die Zusammenarbeit außerhalb Ihres Browsers verwenden
können?
Angenommen, Sie möchten ein Auge auf Chatter-Aktualisierungen haben, Sie können
sich jedoch nicht über einen Browser anmelden. Beispiel: Sie erstellen gerade einige Folien
auf dem Laptop und haben nicht genügend Platz auf dem Bildschirm für den Browser.
In solchen Fällen ist es nützlich, wenn eine Chatter-Client-Anwendung installiert ist.
Chatter Desktop ist eine Chatter-Client-Anwendung, die Chatter in Ihren Computer
integriert. Mit Chatter Desktop ist die Zusammenarbeit einfacher denn je. Möchten Sie
benachrichtigt werden, wenn Personen, denen Sie folgen, etwas Neues posten? Installieren
Sie einfach Chatter Desktop: Damit werden bei jeder Aktualisierung
Popup-Benachrichtigungen angezeigt. Möchten Sie eine Datei für Ihre Mitarbeiter
freigeben? Ziehen Sie sie einfach auf die Chatter Desktop-Benutzeroberfläche.
Installieren von Chatter Desktop:
1. Klicken Sie oben auf einer beliebigen Salesforce-Seite auf den Abwärtspfeil
neben Ihrem Namen. Wählen Sie im Menü unterhalb Ihres Namens Meine
Einstellungen oder Setup aus, je nachdem, welche Option angezeigt wird.
2. Wählen Sie im linken Fenster eine der folgenden Optionen aus:
261
Kapitel 8: Zusammenarbeit mit Chatter
•
•
Wenn Sie auf Meine Einstellungen geklickt haben, wählen Sie Meine
Einstellungen > Desktop-Add-Ons > Chatter Desktop aus.
Wenn Sie auf Setup geklickt haben, wählen Sie Desktop-Integration >
Chatter Desktop.
Einrichten von Gruppen
Nun, da Sie Chatter aktiviert haben, können Sie andere Personen zur Zusammenarbeit
ermutigen, indem Sie öffentliche und private Diskussionsgruppen zu gemeinsamen Interessen
erstellen. Beispielsweise können Sie Gruppen für verschiedene Teams erstellen, wie Vertrieb,
Marketing, Produktentwicklung usw.
Gruppen stellen eine hervorragende Möglichkeit für die Benutzer dar, Informationen und
Dateien auszutauschen und Fragen zu stellen. Anstatt eine Massen-E-Mail zu versenden,
können die Gruppenmitglieder Fragen auf der Seite der Gruppe posten. Wenn eine Frage
beantwortet wird, ist die Antwort sofort allen Gruppenmitgliedern zugänglich. Gruppen bieten
sofortigen Zugang zu Fachleuten.
Probieren Sie es aus: Eine Gruppe erstellen
Bei Chatter dreht sich alles um Informationsaustausch und Zusammenarbeit. Nun, da Sie
Feeds aktiviert haben, besteht eine der besten Methoden, wie Sie die Zusammenarbeit zwischen
den Benutzern fördern können, darin, Gruppen zu gemeinsamen Interessen zu erstellen.
Erstellen wir nun eine private Gruppe für die Zusammenarbeit von
Personalbeschaffungsmitarbeitern, damit diese an Personalbeschaffungsmaßnahmen
zusammenarbeiten und sicher Informationen innerhalb der Gruppe austauschen können.
1. Klicken Sie in Chatter auf Gruppen > Neue Gruppe.
2. Geben Sie der Gruppe einen aussagekräftigen Namen, beispielsweise "Recruiting
Team" (Personalbeschaffungsteam). Außerdem haben Sie die Möglichkeit, eine
kurze Beschreibung der Gruppe hinzuzufügen.
3. Wählen Sie die Option Privat, wenn Sie die Gruppe ausschließlich für die
Personalbeschaffungsmitarbeiter erstellen möchten. Wenn Sie die Gruppe nicht auf
"Privat" setzen, kann jeder Chatter-Benutzer in Ihrer Organisation beitreten. Und
da Kunden Benutzer von außerhalb Ihres Unternehmens sind, möchten Sie ihnen
vermutlich nicht gestatten, dieser Gruppe beizutreten. Wenn es sich zu einem
262
Kapitel 8: Zusammenarbeit mit Chatter
späteren Zeitpunkt als sinnvoll herausstellen sollte, Kunden zuzulassen, können Sie
dies jederzeit tun, indem Sie die Einstellungen für die Gruppe ändern.
4. Klicken Sie auf Speichern.
Abbildung85: Erstellen einer privaten Zusammenarbeitsgruppe
Sie haben die Gruppe erstellt. Nun können Sie einfach Mitglieder, in diesem Fall
Personalbeschaffungsmitarbeiter, hinzufügen oder einladen. Außerdem haben Sie die
Möglichkeit, ein aussagekräftiges Foto für die Gruppe hochzuladen.
Einführung zu Benachrichtigungen
Für Benutzer, die oft nicht an ihrem Arbeitsplatz sind, ist es besonders wichtig, zu erfahren,
wenn sie sich um etwas in Salesforce kümmern müssen. Salesforce1-Benutzern können zwei
Arten von Benachrichtigungen angezeigt werden.
•
•
Benachrichtigungen innerhalb der Anwendung halten Benutzer bezüglich relevanter Aktivitäten
auf dem Laufenden, während diese Salesforce1 verwenden. Durch Tippen auf kann ein
Benutzer die letzten 20 Benachrichtigungen anzeigen, die er in den vergangenen 90 Tagen
erhalten hat.
Bei Push-Benachrichtigungen handelt es sich um Hinweise, die auf einem Mobilgeräte
angezeigt werden, wenn ein Benutzer die herunterladbare Salesforce1-Anwendung installiert
hat, sie aber nicht verwendet. Diese Hinweise können je nach Gerätetyp in Form von Text,
263
Kapitel 8: Zusammenarbeit mit Chatter
Symbolen und akustischen Signalen vorliegen. Wenn ein Administrator
Push-Benachrichtigungen für Ihre Organisation aktiviert, können Benutzer selbst auswählen,
ob sie Push-Benachrichtigungen auf ihrem Gerät empfangen möchten.
Anmerkung: Einige Benachrichtigungen enthalten Text, den die Benutzer in
Salesforce eingeben. Um sicherzustellen, dass ohne entsprechende Autorisierung
keine sensiblen Daten über einen Drittanbieterdienst verbreitet werden, enthalten
Push-Benachrichtigungen nur minimalen Inhalt (wie den Namen eines Benutzers),
sofern Sie keinen vollständigen Inhalt in Push-Benachrichtigungen aktiviert haben.
Angenommen, eine Benachrichtigung innerhalb der Anwendung enthält Folgendes:
"Allison Wheeler hat Sie erwähnt: @Hans Schmidt, Achtung! Neue
Vertriebsstrategie für Acme-Account." Die entsprechende Push-Benachrichtigung
würde standardmäßig "Allison Wheeler hat Sie erwähnt" lauten. Wenn Sie jedoch
den vollständigen Inhalt in Push-Benachrichtigungen standardmäßig aktiviert
haben, würde diese Push-Benachrichtigung denselben (vollständigen) Inhalt wie
die Benachrichtigung innerhalb der Anwendung enthalten.
Wenn Sie die Option aktivieren, mit der der vollständige Inhalt in Push-Benachrichtigungen
eingefügt wird, stimmen Sie im Nahmen Ihres Unternehmens den beim Speichern der
Einstellung angezeigten Bedingungen zu. Einzelheiten finden Sie unter "Benachrichtigungen
– Übersicht" in der Salesforce-Hilfe.
Probieren Sie es aus: Aktivieren von
Benachrichtigungen
Jetzt wollen wir sicherstellen, dass Benachrichtigungen aktiviert sind, damit wir sicher sein
können, dass Benutzer informiert werden, wenn Personen Kommentare zu einem ihrer Posts
hinterlassen oder sie an einer beliebigen Stelle in Salesforce erwähnen.
1. Klicken Sie unter "Setup" auf Mobile Administration > Benachrichtigungen >
Einstellungen.
2. Wählen Sie die Benachrichtigungen aus, die Ihre Salesforce1-Benutzer empfangen
sollen.
3. Wenn Sie von Ihrem Unternehmen dazu autorisiert wurden, wählen Sie
Vollständigen Inhalt in Push-Benachrichtigungen einfügen aus.
4. Klicken Sie auf Speichern. Wenn Sie das Kontrollkästchen zum Einfügen des
vollständigen Inhalts in Push-Benachrichtigungen aktiviert haben, wird ein
Popup-Fenster mit den Bedingungen angezeigt. Klicken Sie auf OK oder
Abbrechen.. Durch Aktivieren dieser Option stimmen Sie den Bedingungen im
264
Kapitel 8: Zusammenarbeit mit Chatter
Namen Ihres Unternehmens zu. Einzelheiten finden Sie unter "Benachrichtigungen
– Übersicht in der Salesforce-Hilfe.
Rekapitulation
Genau wie beim Testen des Benutzerzugriffs im Abschnitt "Einrichten von Sicherheit und
Freigabe für Daten auf Seite 175 müssen wir uns auch als mehrere Benutzer anmelden, um die
Benachrichtigungsfunktion zu testen.
Zuerst erstellen wir einige Aktivitäten in Chatter.
1. Wenn Sie noch nicht angemeldet sind, melden Sie sich bei Salesforce als "Ben Stuart"
an.
2. Öffnen Sie das Profil von "Mario Ruiz". Geben Sie hierzu seinen Namen in das Feld
für die globale Suche ein und klicken Sie auf den zuletzt erstellten Datensatz, der
unterhalb des Feldes angezeigt wird.
3. Geben Sie in das Textfeld Can you share the candidates and
applications for the SW Engineer position with me
and @Melissa Lee? Thanks! (Könnten Sie die Bewerber und Bewerbungen
für die SW Engineer-Stelle für mich freigeben und @Melissa Lee einfügen? Vielen
Dank!) ein und klicken Sie auf Freigeben.
4. Melden Sie sich als "Melissa Lee" an und kommentieren Sie diesen Post: Thanks
in advance, @Mario Ruiz! (Vielen Dank im Voraus, @Mario Ruiz!).
Jetzt überprüfen wir, ob unser Benutzer in Salesforce1 die richtigen Benachrichtigungen
erhalten hat.
1. Melden Sie sich bei Salesforce1 als "Mario Ruiz" an. Tippen Sie auf und
überprüfen Sie, ob zwei neue Benachrichtigungen innerhalb der Anwendung für Sie
vorhanden sind: eine, nachdem Ben einen Post in Ihrem Profil hinzugefügt hat, und
eine, die Sie erhalten haben, als Melissa Sie erwähnt hat.
265
Kapitel 8: Zusammenarbeit mit Chatter
Abbildung86: Benachrichtigungen für Mario Ruiz
2. Melden Sie sich bei Salesforce1 als "Ben Stuart" an. Vergewissern Sie sich, dass eine
neue Benachrichtigung innerhalb der Anwendung für Sie vorliegt, die generiert
wurde, als Melissa einen Kommentar zu Ihrem Post hinterlassen hat.
Einführung in Publisher-Aktionen
Nachdem wir nun Chatter aktiviert haben, konnten wir feststellen, wie hilfreich es für Benutzer
ist, die direkt miteinander kommunizieren. Chatter wird noch für eine weitere Funktion
verwendet, sodass Ihre Benutzer beim erledigen ihrer täglichen Aufgaben Zeit sparen können:
Publisher-Aktionen. Mit der Funktion für Publisher-Aktionen können Sie Aktionen erstellen
und zum Chatter-Publisher auf der Startseite, der Chatter-Registerkarte, in Chatter-Gruppen
und auf Datensatz-Detailseiten hinzufügen. Außerdem können Sie die Reihenfolge anpassen,
in der die standardmäßigen Chatter-Aktionen angezeigt werden sollen, einschließlich Post,
Datei, Link und Abstimmung. Mithilfe von Aktionen können Benutzer leichter von ihren
jeweiligen Positionen in der Anwendung aus arbeiten.
Megan Smith muss beispielsweise nicht mehr das Navigationsmenü aufrufen, auf "Kontakte"
und dann auf "Neu" klicken und angeben, welchem Account der neue Kontakt zugeordnet
werden soll. Über Publisher-Aktionen kann sie einen neuen Kontakt über den Feed eines
Accounts erstellen, indem sie einfach im Publisher auf die zugeordnete Aktion klickt oder
tippt. Publisher-Aktionen sind hilfreich für sie.
Im Publisher, der im Feed verfügbar ist, sind bereits einige Standardaktionen vorhanden.
•
•
266
Standardaktionen sind Aktionen, die beim Aktivieren von Chatter automatisch hinzugefügt
werden, wie beispielsweise "Post", "Datei", Link" und "Abstimmung".
Erstellaktionen sind Aktionen, mit denen Benutzer Datensätze erstellen können,
beispielsweise "Neuer Kontakt", "Neue Opportunity" und "Neuer Lead". Dabei werden
Kapitel 8: Zusammenarbeit mit Chatter
•
•
Ihre Validierungsregeln und Vorgaben für Pflichtfelder berücksichtigt und Sie können die
Felder, die für die einzelnen Aktionen angezeigt werden sollen, auswählen.
Mit Aktionen vom Typ "Anruf protokollieren" können Benutzer die Details eines Telefonanrufs
oder anderer Kundeninteraktionen aufzeichnen. Diese Anrufprotokolle werden als
abgeschlossene Aufgaben gespeichert.
Mit Aktualisierungsaktionen können Benutzer Änderungen an einem Datensatz über die
zugehörige Detailseite vornehmen.
Die meisten dieser vordefinierten Aktionen sind für die Benutzer unserer
Personalbeschaffungsanwendung nicht sehr hilfreich. Diese Funktion lässt sich jedoch leicht
anpassen. In diesem Abschnitt personalisieren wir die Aktionen, die unseren Benutzern auf
der vollständigen Site und in Salesforce1 angezeigt werden.
Mit der Plattform können deklarativ drei Arten von Aktionen erstellt werden.
•
•
•
Erstellaktionen
Aktionen vom Typ "Anruf protokollieren"
Aktualisierungsaktionen
Standardaktionen können nicht erstellt werden, es besteht jedoch die Möglichkeit zu steuern,
ob sie angezeigt werden oder nicht und in welcher Reihenfolge sie angezeigt werden. Für
Erstellaktionen und Aktionen vom Typ "Anruf protokollieren können entweder globale oder
objektspezifische Aktionen erstellt werden. Für Aktualisierungsaktionen können nur
objektspezifische Aktionen erstellt werden.
Probieren Sie es aus: Erstellen einer globalen
Aktion
Über globale Aktionen können Benutzer Aufgaben, wie das Erstellen von Datensätzen oder
das Aufzeichnen von Anrufdetails direkt über die Registerkarte "Startseite" im Publisher, über
die Registerkarte "Chatter", den Salesforce1-Feed und Chatter-Gruppen ausführen. Sie können
zudem globale Erstellaktionen zu Datensatz-Detailseiten hinzufügen. Mit globalen
Erstellaktionen können Benutzer Objektdatensätze erstellen, es wird jedoch nicht automatisch
eine Beziehung zwischen dem erstellten Datensatz und irgendwelchen anderen Datensätzen
hergestellt. Wenn Ben Stuart beispielsweise eine globale Erstellaktion in einem Account
verwendet, um einen Kontakt zu erstellen, wird der neue Kontakt über die Aktion nicht
automatisch dem Account zugeordnet. Bei objektspezifischen Aktionen ist dies jedoch der
Fall. Diese werden später besprochen.
Erstellen wir also eine globale Aktion.
267
Kapitel 8: Zusammenarbeit mit Chatter
1.
2.
3.
4.
5.
Klicken Sie unter "Setup" auf Erstellen > Globale Aktionen.
Klicken Sie auf Neue Aktion.
Belassen Sie die Auswahl für Aktionstyp bei "Datensatz erstellen".
Wählen Sie für Zielobjekt "Position" (Stelle) aus.
Wählen Sie für Datensatztyp "Standard Position" (Standardstelle) aus. Nachdem
wir mit dieser Aktion fertig sind, erstellen wir eine Aktion für IT-Stellen.
6. Lassen Sie die Bezeichnung vorerst leer.
7. Wählen Sie als Standardbezeichnungstyp "Neuer Datensatztyp" aus. Beachten
Sie, dass Bezeichnung nicht mehr angezeigt wird. Wenn Sie einen anderen Wert
auswählen als "--Keine--“, erhält Salesforce die Anweisung, die Bezeichnung für
diese Aktion zu automatisieren. Der ausgewählte Standardbezeichnungstyp verwendet
den zum Erstellen der Bezeichnung ausgewählten Datensatztyp: New Standard
Position (Neue Standardstelle).
8. Geben Sie für Name den Wert New_Standard_Position ein.
9. Geben Sie eine Beschreibung ein.
10. Klicken Sie auf Speichern.
Jetzt konfigurieren wir die Felder, die im Publisher angezeigt werden, wenn ein Benutzer diese
Aktion auswählt.
Einführung zu Aktionslayouts
Datensatzseiten für Objekte können wir über Seitenlayouts anpassen und genauso können wir
Publisher-Aktionen mithilfe von Aktionslayouts anpassen. Im Aktionslayout-Editor können
wir die Felder auswählen, die angezeigt werden sollen, wenn ein Benutzer auf eine Aktion
klickt.
Der Aktionslayout-Editor verfügt über eine Palette im oberen Bildschirmbereich und im
Aktions-Layout darunter. Die Palette enthält Felder aus dem Zielobjekt der Aktion, die dem
Aktionslayout hinzugefügt werden können. Die folgenden Feldtypen werden jedoch nicht
unterstützt und in der Palette nicht angezeigt:
•
•
•
Datensatztypfelder
Schreibgeschützte Feldtypen, wie beispielsweise Rollup-Zusammenfassungsfelder,
Formelfelder und Felder mit automatischer Nummerierung
Schreibgeschützte Systemfelder, wie Ersteller oder Zuletzt geändert von
Anmerkung: Wenn Sie den Typ eines Felds von einem für Aktionen unterstützten
Typ in einen nicht unterstützten Typ ändern, wird das betreffende Feld aus dem
Aktionslayout entfernt. Wenn Sie das Feld wieder in einen unterstützten Typ ändern,
ohne das Aktionslayout zu ändern, wird das Feld wieder automatisch im Layout
268
Kapitel 8: Zusammenarbeit mit Chatter
hinzugefügt. Wenn Sie das Layout bearbeitet haben und das Feld wieder in einen
unterstützten Typ ändern, müssen Sie das Feld manuell wieder im Layout hinzufügen.
Rich-Text-Bereichsfelder werden nur unterstützt, wenn Sie sie zu einspaltigen Layouts oder
in zweispaltigen Layouts als Felder, die sich über beide Spalten erstrecken, hinzufügen. Wenn
Sie ein Rich-Text-Bereichsfeld in einem zweispaltigen Layout zu nur einer Spalte hinzufügen,
wird es als Nur-Text-Bereich angezeigt, da der Platz nicht ausreicht, um den Rich-Text-Editor
vollständig anzuzeigen.
Probieren Sie es aus: Anpassen von Aktionslayouts
Die Anzahl der Felder im Aktionslayout sollte möglichst gering gehalten werden, damit sich
die Benutzer auf die wichtigsten Informationen konzentrieren können. Für eine optimale
Nutzbarkeit sind acht Felder ein geeigneter Grenzwert. Wenn mehr als 20 Felder hinzugefügt
werden, so kann dies die Benutzereffizienz gravierend beeinträchtigen. Für Status, Open
Date (Offen von) und Hire By (Einstellen bis) legen wir vordefinierte Werte fest, sodass
wir diese dem Layout nicht hinzufügen müssen.
1. Ziehen Sie die folgenden Felder in die erste Spalte des Aktionslayouts:
•
•
•
Typ
Min Pay (Mindestgehalt)
Functional Area (Funktionsbereich)
2. Ziehen Sie folgende Felder in die zweite Spalte:
•
•
•
•
Hiring Manager (Einstellungs-Manager)
Location (Standort)
Max Pay (Höchstgehalt)
Job Level (Stellenebene)
Abbildung87: Layout für "New Standard Position" (Neue Standardstelle)
269
Kapitel 8: Zusammenarbeit mit Chatter
3. Klicken Sie auf Speichern.
Probieren Sie es aus: Hinzufügen von vordefinierten
Feldwerten
Einige Felder müssen noch ausgefüllt werden: Status, Open Date (Offen von) und Hire
By (Einstellen bis). Diese Felder enthalten wichtige Details, sie müssen jedoch nicht im
Publisher von den Benutzern ausgefüllt werden. Wir wissen, dass jede neue Stelle den Status
"New Position" (Neue Stelle) aufweisen sollte, für Open Date (Offen von) sollte das aktuelle
Datum angegeben sein und der Wert für Hire By (Einstellen bis) sollte 90 Tage nach dem
Datum für "Open Date" (Offen von) liegen. Darum kümmern wir uns jetzt mithilfe von
vordefinierten Feldwerten auf der Detailseite der globalen Aktion "New Standard Position"
(Neue Standardstelle).
1.
2.
3.
4.
Klicken Sie in der Themenliste "Vordefinierte Feldwerte" auf Neu.
Wählen Sie in der Dropdown-Liste Feldname die Option Status aus.
Wählen Sie für den spezifischen Wert "New Position" (Neue Stelle) aus.
Klicken Sie auf Speichern.
Abbildung88: Festlegen des vordefinierten Werts für den Status einer neuen Stelle
Jetzt weist jede über diese globale Aktion erstellte Stelle automatisch den Status "New
Position" (Neue Stelle) auf. Benutzer, die eine Stelle über den Publisher erstellen, müssen sich
um die Auswahl dieses Feldes nicht kümmern. Sie können sich auf die variierenden
Informationen kümmern. Führen Sie dieselben Schritte aus wie beim Erstellen der
vordefinierten Feldwerte für Open Date (Offen von) und Hire By (Einstellen bis) und
verwenden Sie dafür die unten stehende Tabelle.
Tabelle39: Zusätzliche vordefinierte Feldwerte
270
Feldname
Neuer Feldwert
Open Date (Offen von)
TODAY()
Hire By (Einstellen bis)
TODAY() + 90
Kapitel 8: Zusammenarbeit mit Chatter
Schon sind Sie fertig! Jetzt erstellen wir ein paar weitere globale Aktionen. Momentan gibt es
eine zum Erstellen neuer Standardstellen, aber noch keine für IT-Stellen. Und unsere
Personalbeschaffungsmitarbeiter wären auch froh, wenn sie neue Bewerber- und
Stellenbewerbungsdatensätze ohne viel Aufwand erstellen könnten. Also, an die Arbeit!
Probieren Sie es aus: Erstellen weiterer globaler
Aktionen
Wir beginnen mit einer globalen Aktion zum Erstellen neuer IT-Stellen. Wiederholen Sie
alle Schritte, die Sie bei der Erstellung der globalen Aktion "New Standard Position" (Neue
Standardstelle) ausgeführt haben, aber setzen Sie den Datensatztyp auf "IT Position" (IT-Stelle).
Erstellen Sie die beiden anderen globalen Aktionen anschließend anhand der folgenden Tabelle.
Globale Aktion
Informationen zur Aktion
New Candidate (Neuer
Bewerber)
•
Aktionstyp: Datensatz Spalte 1:
erstellen
•
• Vorname
• E-Mail
(Bewerber)
Standardbezeichnungstyp: • Education (Bildung)
Neuer "Datensatz"
Spalte 2:
Name: New_Candidate
• Nachname
(Neuer_Bewerber)
• Years of Experience (Jahre
Erfahrung)
• Stadt
•
Aktionstyp: Datensatz •
•
•
New Application (Neue
Bewerbung)
Aktionslayout
Zielobjekt: Candidate
erstellen
•
Zielobjekt: Job
•
Application
(Stellenbewerbung)
Bezeichnung: New
Application (Neue
Bewerbung)
•
Standardbezeichnungstyp:
•
•
Candidate (Bewerber)
Position (Stelle)
Cover Letter
(Anschreiben)
--Keine--
271
Kapitel 8: Zusammenarbeit mit Chatter
Für die Aktion "New Candidate" (Neuer Bewerber) sind keine vordefinierten Feldwerte
erforderlich, da wir keinen der Feldwerte vorhersagen können. In der Aktion "New Application"
(Neue Bewerbung) ist dies jedoch der Fall. Wir wissen, dass jede über den Publisher erstellte
Stellenbewerbung als "neu" markiert werden soll. Erstellen wir also einen vordefinierten
Feldwert für "New Application" (Neue Bewerbung), mit dem das Feld Status auf "Neu"
gesetzt wird.
Einführung zu globalen Publisher-Layouts
Globale Publisher-Layouts legen fest, welche Aktionen im Publisher auf verschiedenen Seiten
in Salesforce angezeigt werden, darunter die Registerkarte "Startseite", die Registerkarte
"Chatter" und die Detailseiten für Chatter-Gruppen in der vollständigen Site sowie der Feed
in Salesforce1. Globale Publisher-Layouts können nur globale Aktionen enthalten.
Nachdem wir jetzt alle benutzerdefinierten Aktionen erstellt haben, die wir für die
Personalbeschaffungsmitarbeiter benötigen, wollen wir sie einem globalen Publisher-Layout
hinzufügen.
Probieren Sie es aus: Anpassen globaler
Publisher-Layouts
Bevor wir starten, sollten wir sicherstellen, dass wir Aktionen in einem globalen
Publisher-Layout hinzufügen können. Klicken Sie unter "Setup" auf Anpassen > Chatter >
Einstellungen und vergewissern Sie sich, dass Publisher-Aktionen aktivieren
ausgewählt ist.
Nun fahren wir mit dem Layout fort.
1. Klicken Sie unter "Setup" auf Anpassen > Chatter > Publisher-Layouts.
Wie auch bei Seitenlayouts und kompakten Layouts kann jedes globale Publisher-Layout
einem einzelnen Profil zugewiesen werden. Da für unsere Personalbeschaffungsmitarbeiter
andere Anforderungen gelten als für andere Mitarbeiter des Unternehmens, erstellen wir ein
benutzerdefiniertes Layout mit Aktionen, die genau auf die für sie typischen Aufgaben
zugeschnitten sind. Dieses Layout wollen wir dem Profil "Recruiter"
(Personalbeschaffungsmitarbeiter) zuweisen, damit unsere anderen normalen Mitarbeiter, die
so gut wie nie Bewerber oder Stellenbewerbungen erstellen müssen, sich nicht in unwichtigen
Aktionen verzetteln.
2. Klicken Sie auf Neu.
272
Kapitel 8: Zusammenarbeit mit Chatter
3. Wählen Sie ein globales Layout als zu duplizierendes Bestehendes
Publisher-Layout aus.
4. Geben Sie für Name des Publisher-Layouts den Namen Recruiter
Layout (Personalbeschaffungsmitarbeiter-Layout) ein.
5. Klicken Sie auf Speichern.
Entfernen wir nun die Aktionen, die eher für unsere Vertriebsmitarbeiter und nicht so sehr
für die Personalbeschaffungsmitarbeiter relevant sind.
1. Ziehen Sie Neuer Kontakt, Anruf protokollieren, Neue Opportunity, Neuer
Kundenvorgang und Neuer Lead zurück auf die Palette.
2. Ziehen Sie New IT Position (Neue IT-Stelle), New Standard Position (Neue
Standardstelle), New Application (Neue Bewerbung) und New Candidate (Neuer
Bewerber) in das Layout, sodass sie nach Abstimmung angezeigt werden.
3. Klicken Sie auf Speichern.
Nachdem wir jetzt über ein funktionierendes Publisher-Layout für
Personalbeschaffungsmitarbeiter verfügen, wollen wir sicherstellen, dass sie dies auch anzeigen
können, indem wir das neue Layout dem Profil für Personalbeschaffungsmitarbeiter zuweisen.
1. Klicken Sie auf Publisher-Layout-Zuordnung.
2. Klicken Sie auf Zuordnung bearbeiten und ändern Sie das Publisher-Layout für
das Profil "Recruiter (Personalbeschaffungsmitarbeiter) in "Recruiter Layout"
(Personalbeschaffungsmitarbeiter-Layout).
3. Klicken Sie auf Speichern.
Rekapitulation
Bevor wir mit dem Erstellen einer anderen Art von Aktionen, nämlich objektspezifischen
Aktionen, fortfahren, wollen wir überprüfen, ob unsere globalen Aktionen ordnungsgemäß
funktionieren.
Melden Sie sich zum Testen der Änderungen als "Mario Ruiz" bei Salesforce an und
vergewissern Sie sich, dass Mario über den globalen Publisher eine IT-Stelle, eine Standardstelle,
einen Bewerber und eine Stellenbewerbung erstellen kann. Überprüfen Sie dies auch in
Salesforce1.
1. Melden Sie sich bei Salesforce als Personalbeschaffungsmitarbeiter "Mario Ruiz"
an.
2. Klicken Sie im Publisher auf der Registerkarte "Startseite" auf Mehr. Die unteren
vier Optionen sollten "New IT Position" (Neue IT-Stelle), "New Standard Position"
273
Kapitel 8: Zusammenarbeit mit Chatter
(Neue Standardstelle), "New Application" (Neue Bewerbung) und "New Candidate"
(Neuer Bewerber) sein.
3. Klicken Sie auf New IT Position (Neue IT-Stelle). Die daraufhin angezeigten Felder
sollten mit der Konfiguration übereinstimmen, die wir im Aktionslayout
vorgenommen haben.
Abbildung89: Felder für eine neue IT-Stelle im Chatter-Publisher
4. Füllen Sie die Felder aus und klicken Sie auf Erstellen.
Durch Klicken auf Erstellen wird ein Feedelement erstellt.
Abbildung90: Feed-Element für neue QE Engineer II-Stelle
5. Klicken Sie auf den Namen der neuen IT-Stelle.
6. Vergewissern Sie sich, dass unseren vordefinierten Feldwerten Werte zugewiesen
sind: Für Status sollte "New Position" angezeigt werden, für Open Date (Offen
von) sollte das heutige Datum angezeigt werden und Hire By (Einstellen bis) sollte
90 nach dem heutigen Datum liegen.
7. Kehren Sie zur Registerkarte "Startseite" zurück und wiederholen Sie diese
Überprüfungsschritte für die Aktionen "New Standard Position" (Neue
Standardstelle), "New Application" (Neue Bewerbung) und "New Candidate" (Neuer
Bewerber).
274
Kapitel 8: Zusammenarbeit mit Chatter
Einführung zu objektspezifischen Aktionen
Moment! Das ist noch nicht alles! Wir können auch objektspezifische Aktionen erstellen.
Genau wie mit globalen Aktionen können Benutzer über objektspezifische Aktionen Datensätze
oder Details zu Anrufprotokollen oder sonstigen Interaktionen erstellen. Der Hauptunterschied
besteht darin, dass Sie diese Aktionen nur auf Datensatz-Detailseiten hinzufügen können, da
diese automatisch einem bestimmten Objekt zugeordnet sind.
Wenn ein Benutzer einen Datensatz mit einer objektspezifischen Erstellaktion erstellt, wird
an folgenden Stellen ein Feed-Element für den betreffenden Datensatz angezeigt:
•
•
•
•
•
•
In dem Feed für den Datensatz, zu dem der neue Datensatz erstellt wurde.
Als erster Eintrag in dem Feed für den neuen Datensatz.
Im Chatter-Feed des Benutzers, der den Datensatz erstellt hat.
Im Benutzerprofil-Feed des Benutzers, der den Datensatz erstellt hat.
Im Chatter-Feed von Benutzern, die dem Datensatz folgen, zu dem der neue Datensatz
erstellt wurde.
Im Chatter-Feed von Benutzern, die dem neuen Datensatz automatisch folgen, sei es über
benutzerdefinierte Regeln oder Regeln für das automatische Folgen von neuen Datensätzen.
Probieren Sie es aus: Erstellen von objektspezifischen
Aktionen
Objektspezifische Aktionen sind sehr nützlich für Personalbeschaffungsmitarbeiter. Wenn
wir im Stellendatensatz eine Aktion zum Erstellen einer neuen Stellenbewerbung hinzufügen,
müssen die Benutzer nicht die Stelle angeben, der die neue Bewerbung zugeordnet werden
soll. Die Plattform verfügt dann bereits über die erforderlichen Informationen, um sie dem
richtigen Stellendatensatz zuzuordnen. Also los! Es dauert nicht lange, um effizienter arbeiten
zu können.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte und anschließend auf Position
(Stelle).
2. Klicken Sie in der Themenliste "Schaltflächen, Links und Aktionen" auf Neue
Aktion.
Das sollte Ihnen bekannt vorkommen. Die Felder, die wir zum Erstellen von objektspezifischen
Aktionen ausfüllen müssen, sind beinahe identisch mit denen, die wir bereits für globale
Aktionen ausgefüllt haben. Es gibt nur ein neues Feld: Objektname. Da wir eine neue Aktion
im Objekt "Position" (Stelle) erstellen, weiß die Plattform, dass der Objektname "Position"
275
Kapitel 8: Zusammenarbeit mit Chatter
(Stelle) lauten sollte. Das bedeutet, dass diese Aktion nur in einem Seitenlayout für das Objekt
"Position" (Stelle) hinzugefügt werden kann. Füllen wir nun die restlichen Felder aus.
3.
4.
5.
6.
7.
Wählen Sie für Aktionstyp "Datensatz erstellen" aus.
Wählen Sie für Zielobjekt "Job Application" (Stellenbewerbung) aus.
Geben Sie für Bezeichnung New Application (Neue Bewerbung) ein.
Belassen Sie die Einstellung für Standardbezeichnungstyp beim Standardwert.
Klicken Sie auf Speichern.
Nach dem Speichern wird der Aktionslayout-Editor für unsere neue Aktion angezeigt. Im
Objekt "Job Application" (Stellenbewerbung) sind nur wenige Felder vorhanden, sodass es
Ihnen leicht fallen sollte, festzulegen, welche Felder dem Layout hinzugefügt werden sollen.
Da alle über diese Aktion erstellten Stellenbewerbungen automatisch der Stelle zugeordnet
werden, die der Benutzer geöffnet hat, müssen wir das Feld Position (Stelle) nicht im Layout
hinzufügen. Als Inhaber wird automatisch der Benutzer zugewiesen, der den Datensatz
erstellt hat. Bei Status können wir sicher sein, dass für alle erstellten Stellenbewerbungen
"Neu" festgelegt werden soll, also können wir für dieses Feld einen vordefinierten Feldwert
verwenden.
Anmerkung: Möglicherweise wird Ihnen eine Meldung angezeigt, in der Sie gewarnt
werden, dass erforderliche Felder im Layout fehlen. Das erforderliche Feld ist in
diesem Fall Position (Stelle), aber keine Sorge! Die Plattform ordnet die
Stellenbewerbung automatisch der Stelle zu, für die wir sie erstellen, da auf diese
Aktion nur über einen Stellendatensatz zugegriffen wird.
Dann bleiben noch zwei Felder übrig. fügen Sie dem Layout also "Candidate" (Bewerber) und
"Cover Letter" (Anschreiben) hinzu und speichern Sie es.
Jetzt weisen wir, bevor wir es vergessen, Status einen vordefinierten Feldwert zu.
8. Klicken Sie unter "Setup" auf Erstellen > Objekte und wählen Sie Position (Stelle).
9. Klicken Sie in der Themenliste "Schaltflächen, Links und Aktionen" auf New
Application (Neue Bewerbung).
10. Klicken Sie in der Themenliste "Vordefinierte Feldwerte" auf Neu.
11. Wählen Sie für Feldname "Status" aus.
12. Wählen Sie für den spezifischen Wert "Neu" aus.
13. Klicken Sie auf Speichern.
276
Kapitel 8: Zusammenarbeit mit Chatter
Probieren Sie es aus: Erstellen weiterer
objektspezifischer Aktionen
Nachdem wir nun das Erstellen von objektspezifischen Aktionen geübt haben, erstellen wir
ein paar mehr.
Objekt
Informationen zur Aktion
Position (Stelle)
•
Aktionslayout
Aktionstyp: Datensatz •
erstellen
•
•
•
Employment Website
(Jobbörse)
Zielobjekt: Job Posting
(Stellenausschreibung)
Bezeichnung: New
Posting (Neue
Ausschreibung)
Standardbezeichnungstyp:
--Keine-Candidate (Bewerber)
•
Aktionstyp: Datensatz •
•
Position (Stelle)
Cover Letter
(Anschreiben)
Aktionstyp: Datensatz •
Position (Stelle)
erstellen
•
Zielobjekt: Job
•
Application
(Stellenbewerbung)
Bezeichnung: New
Application (Neue
Bewerbung)
•
Standardbezeichnungstyp:
--Keine-Employment Website
(Jobbörse)
•
erstellen
•
•
•
Zielobjekt: Job Posting
(Stellenausschreibung)
Bezeichnung: New
Posting (Neue
Ausschreibung)
Standardbezeichnungstyp:
--Keine--
277
Kapitel 8: Zusammenarbeit mit Chatter
Objekt
Informationen zur Aktion
Job Application
(Stellenbewerbung)
•
Aktionstyp: Datensatz •
erstellen
•
•
•
Aktionslayout
Zielobjekt: Review
•
Rating (Bewertung)
Assessment
(Einschätzung)
Standardbezeichnungstyp:
Neuer "Datensatz"
Name: New_Review
(Neuer_Review)
Nur für eine dieser Aktionen ist ein vordefinierter Wert erforderlich. Darum kümmern wir
uns jetzt.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte und anschließend auf Candidate
(Bewerber).
2. Klicken Sie in der Themenliste "Schaltflächen, Links und Aktionen" auf New
Application (Neue Bewerbung).
3. Erstellen Sie einen vordefinierten Feldwert, durch den der Wert für Status
automatisch auf "Neu" gesetzt wird.
Probieren Sie es aus: Zuweisen objektspezifischer
Aktionen zu Seitenlayouts
Im Gegensatz zu globalen Aktionen gibt es für objektspezifische Aktionen keinen neuen
Layout-Typ. Für sie ist jedoch eine bestimmte Stelle auf jedem Seitenlayout vorgesehen. Der
Bereich "Publisher-Aktionen" im Seitenlayout-Editor ähnelt dem Editor für globale
Publisher-Layouts und erfüllt in etwa die gleichen Funktionen. Wir müssen lediglich Aktionen
aus der Palette an die richtige Stelle ziehen und dort ablegen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte und anschließend auf Position
(Stelle).
2. Klicken Sie in der Themenliste "Seitenlayouts" neben "IT Position Layout"
(IT-Stelle-Layout) auf Bearbeiten.
Beachten Sie, dass der Bereich "Publisher-Aktionen" leer ist. Derzeit wird für das Seitenlayout
das globale Publisher-Layout verwendet, das dem jeweiligen Benutzerprofil zugewiesen ist.
Da wir objektspezifische Aktionen erstellt haben, können wir diese nicht im globalen
Publisher-Layout hinzufügen. Das ist kein Problem. Damit unsere neuen Aktionen im Publisher
in Stellendatensätzen angezeigt werden, müssen wir einfach das globale Publisher-Layout
überschreiben.
278
Kapitel 8: Zusammenarbeit mit Chatter
3. Klicken Sie im Bereich "Publisher-Aktionen" auf das globale Publisher-Layout
überschreiben.
Beim Überschreiben des globalen Publisher-Layouts stehen auf der Plattform automatisch
einige Aktionen zur Verfügung: Standardmäßige Chatter-Aktionen, wie "Post" und "Datei"
sowie "Intelligente mobile Aktionen". Intelligente mobile Aktionen sind wie Standardaktionen
eine Reihe von vorkonfigurierten Aktionen. Diese sind jedoch nur in Salesforce1 verfügbar.
Intelligente mobile Aktionen werden im Seitenlayout-Editor als einzelnes Element angezeigt.
In der Anwendung lässt sich das Element "Intelligente mobile Aktionen" zu einer Reihe
verschiedener Erstellaktionen erweitern, mit denen Benutzer Datensätze direkt im Feed erstellen
können. Bei benutzerdefinierten Objekten wie unserem heißen diese Aktionen "Neue Aufgabe",
"Neuer Kontakt", "Anruf protokollieren", "Neue Gruppe", "Neue Opportunity", "Neuer
Kundenvorgang" und "Neuer Lead". Wir können nicht ändern, welche Aktionen als Teil eines
Pakets intelligenter mobiler Aktionen enthalten sind, daher entfernen wir es und fügen manuell
die für dieses Objekt relevanten Aktionen hinzu. Weitere Informationen zu intelligenten
mobilen Aktionen und eine Liste der Erweiterungen des Elements "Intelligente mobile
Aktionen" in den einzelnen unterstützten Objekten finden Sie in der Salesforce-Hilfe unter
"Übersicht über intelligente mobile Aktionen" .
4. Klicken Sie in der Palette auf Aktionen.
5. Ziehen Sie "Intelligente mobile Aktionen" zurück auf die Palette.
6. Ziehen Sie Aktionen von der Palette in den Bereich "Publisher-Aktionen", sodass
sie in der folgenden Reihenfolge angezeigt werden:
•
•
•
•
•
•
•
•
New Application (Neue Bewerbung)
New Candidate (Neuer Bewerber)
New Posting (Neue Ausschreibung)
Post
Neue Aufgabe
Neue Notiz
File (Datei)
Link
Anmerkung: Hier sind einige doppelte Einträge vorhanden, da wir die
globale Aktion "New Application" (Neue Bewerbung) und die
objektspezifische Aktion "New Application" (Neue Bewerbung) erstellt
haben. Die Force.com-Plattform hilft uns an dieser Stelle durch Hover-Text
über den Aktionen. Eine der Aktionen heißt "New_Application" (Neue
Bewerbung) und die andere "Position__c.New_Application"
(Stelle__c.Neue_Bewerbung). Der zweite Eintrag ist unsere objektspezifische
Aktion. Durch das Präfix "Position__c" (Stelle__c) wird im Namen
angegeben, dass diese Aktion direkt dem Stellenobjekt zugeordnet ist. Das
279
Kapitel 8: Zusammenarbeit mit Chatter
bedeutet, dass diese Aktion nur in einem Seitenlayout für Stellen hinzugefügt
werden kann.
7. Klicken Sie auf Speichern.
Abbildung91: Anpassen der verfügbaren Aktionen in einem
Standardstellendatensatz
8. Klicken Sie oben in der Palette auf IT Position Layout (IT-Stelle-Layout) und
wählen Sie in der Dropdown-Liste Position Layout (Stelle-Layout) aus.
9. Passen Sie die Publisher-Aktionen für das Stellenlayout so an, dass es mit dem
IT-Stellen-Layout übereinstimmt.
Fügen wir diesen Seitenlayouts nun objektspezifische Aktionen für Bewerber, Jobbörsen und
Stellenbewerbungen hinzu. Rufen Sie die einzelnen Seitenlayouts auf und fügen Sie die
Aktionen in der Reihenfolge dieser Tabelle hinzu.
Tabelle40: Zusammenfassung der Publisher-Aktionen in Seitenlayouts
Objekt
Seitenlayout
Publisher-Aktionen
Candidate (Bewerber)
Candidate Layout
(Bewerber-Layout)
•
•
•
•
•
•
Employment Website
(Jobbörse)
Employment Website Layout •
(Jobbörse-Layout)
•
•
•
•
•
280
New Application (Neue
Bewerbung)
Neue Aufgabe
Neue Notiz
Post
File (Datei)
Link
New Posting (Neue
Ausschreibung)
Neue Aufgabe
Neue Notiz
Post
File (Datei)
Link
Kapitel 8: Zusammenarbeit mit Chatter
Objekt
Seitenlayout
Publisher-Aktionen
Job Application
(Stellenbewerbung)
Job Application Layout
(Stellenbewerbung-Layout)
•
•
•
•
•
•
New Review (Neuer
Review)
Neue Aufgabe
Neue Notiz
Post
File (Datei)
Link
Rekapitulation
Nachdem wir alle objektspezifischen Aktionen erstellt und sie den jeweiligen Seitenlayouts
zugewiesen haben, wollen wir uns vergewissern, dass sie in der Salesforce1-Anwendung
funktionieren.
1. Starten Sie Salesforce1 und melden Sie sich als "Mario Ruiz" an.
2. Öffnen Sie einen Stellendatensatz, indem Sie im Navigationsmenü auf Positions
(Stellen) und anschließend auf eine Ihrer kürzlich erstellten Stellen tippen.
3. Tippen Sie zum Öffnen des Publishers auf und anschließend auf New Application
(Neue Bewerbung).
4. Wählen Sie einen Bewerber aus, geben Sie Text für das Anschreiben ein und tippen
Sie dann auf Senden.
Wir mussten nicht angeben, dass die neue Stellenbewerbung der entsprechenden Stelle
zugeordnet werden soll, diese wird jedoch trotzdem in der Themenliste "Job Applications"
(Stellenbewerbungen) für die entsprechende Stelle angezeigt. Darin liegt die Stärke der
objektspezifischen Aktionen.
281
Kapitel 8: Zusammenarbeit mit Chatter
Abbildung92: Einer Stelle zugeordnete Stellenbewerbungen
5. Tippen Sie auf der Seite mit den Informationen zu einer Stelle auf Job Applications
(Stellenbewerbungen), um die Elemente in dieser Themenliste anzuzeigen.
6. Tippen Sie auf das verwandte Element, das Ihrer neuen Stellenbewerbung zugeordnet
ist, um den betreffenden Datensatz zu öffnen.
7. Überprüfen Sie, ob der von uns festgelegte vordefinierte Feldwert ordnungsgemäß
funktioniert: Der Wert für Status sollte auf "New" gesetzt sein, obwohl wir es bei
der Datensatzerstellung nicht manuell ausgewählt haben.
Überprüfen wir nun die anderen objektspezifischen Aktionen. Vergewissern Sie sich im
Publisher, dass folgende Vorgänge funktionieren:
•
•
•
•
•
282
Über einen Stellendatensatz kann ein neuer Bewerber erstellt werden.
Über einen Stellendatensatz kann ein neues Stellenangebot erstellt werden. Das
Stellenangebot wird automatisch der Stelle zugeordnet.
Über einen Bewerberdatensatz kann eine neue Stellenbewerbung erstellt werden. Die
Bewerbung wird automatisch dem Bewerber zugeordnet und der Status auf "Neu" gesetzt.
Über eine Jobbörse kann ein neues Stellenangebot erstellt werden. Das Stellenangebot wird
automatisch der Jobbörse zugeordnet.
Über einen Stellenbewerbungsdatensatz kann ein neuer Review erstellt werden. Der Review
wird automatisch der Stellenbewerbung zugeordnet.
Kapitel 8: Zusammenarbeit mit Chatter
Zusammenfassung
Wir haben Chatter und Publisher-Aktionen in unsere Personalbeschaffungsanwendung
integriert. Doch damit haben wir nur einen Bruchteil der Möglichkeiten ausgeschöpft. Mit
Chatter geben Sie den Benutzern die Möglichkeit, den Überblick über alles, was in Ihrem
Unternehmen geschieht, zu behalten. Außerdem ermöglichen Sie es ihnen, schnell und einfach
zusammenzuarbeiten und Informationen auszutauschen. Mithilfe von Publisher-Aktionen
können Ihre Benutzer Datensätze leichter erstellen und miteinander verknüpfen. Und da es
ein Teil der Force.com-Plattform ist, können Sie Feed-Aktualisierungen in Echtzeit,
Benutzerprofile, Gruppen und vieles mehr in alle Ihre benutzerdefinierten Anwendungen
einbeziehen.
Wenn Sie ein wenig tiefer in die Materie vorstoßen, können Sie lernen, wie Sie Posts und
Kommentare programmgesteuert hinzufügen, Feeds zu benutzerdefinierten Seiten hinzufügen
und sogar Publisher-Aktionen für die Integration mit externen Systemen verfügbar machen
können.
Diese fortgeschrittenen Themen würden den Rahmen dieses Buchs sprengen. Sie finden jedoch
weitere Informationen auf der Seite mit den Chatter-Entwicklerressourcen unter
developer.force.com/chatter.
283
Kapitel 9
Verwenden benutzerdefinierter Workflowund Genehmigungsprozesse
Themen:
•
•
•
•
•
•
•
Einführung in Workflow
Workflow in der
Personalbeschaffungsanwendung
Erstellen von
Workflowregeln zum
Zuweisen von Aufgaben
Erstellen einer
Workflowregel, die Felder
aktualisiert
Erstellen einer
Workflowregel, die
E-Mail-Benachrichtigungen
sendet
Einführung in
Genehmigungen
Zusammenfassung
Robuste Anwendung? Ja. Sicherer Datenzugriff? Ja.
Schnell, benutzerfreundlich und für die Zusammenarbeit
geeignet? Ja! Unser Einstellungsteam bei Universal
Containers war noch nie produktiver. Das letzte Kapitel
hat uns gezeigt, wie einfach es ist, mit Chatter in Echtzeit
zusammenzuarbeiten. Nun sollten wir nach Möglichkeiten
suchen, wie wir die Leistungsfähigkeit unserer Anwendung
erhöhen können.
Bislang haben wir lediglich eine bessere Datenbank erstellt:
Sie enthält die benötigten Informationen und ermöglicht
die Suche nach Datensätzen anhand verschiedener
Kriterien, sie hilft unseren
Personalbeschaffungsmitarbeitern und
Einstellungsmanagern jedoch nicht dabei, ihre Tätigkeiten
erfolgreicher zu verrichten. Es ist kein Mechanismus
enthalten, der einen Personalbeschaffungsmitarbeiter
automatisch darauf hinweist, wenn sich der Status eines
Bewerbers geändert hat oder wenn eine neue Stelle in das
System aufgenommen wurde. Über Chatter erhalten sie
Informationen zu den Datensätzen, denen sie folgen, aber
wir möchten unsere Anwendung automatisieren, um die
Abläufe weiter zu verbessern.
Auch hier hilft uns die Force.com-Plattform wieder mit
weiteren integrierten Funktionen. In diesem Fall heißen
die Tools, die wir zur Lösung unseres
Prozessautomatisierungsproblems verwenden, Workflow
285
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
und Genehmigungsprozesse. Zunächst betrachten wir die
verschiedenen Möglichkeiten zur Verwendung des
Workflows. Anschließend, am Ende des Kapitels befassen
wir uns mit einem Genehmigungsprozess.
286
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Einführung in Workflow
Workflow ist ein Geschäftslogik-Modul der Force.com-Plattform, mit dem wir Regeln
definierten können, um bestimmte Aktionen zu automatisieren, beispielsweise das Versenden
von E-Mail-Benachrichtigungen, das Zuweisen von Aufgaben oder das Aktualisieren von
Feldwerten. Immer wenn ein Datensatz so geändert wird, dass die Bedingungen einer
Workflowregel erfüllt sind, führt die Plattform automatisch die Aktionen aus, die der
betreffenden Regel zugeordnet sind.
Nehmen wir als Beispiel Ben Stuart, einen Software Development Manager, der Herrn Ethan
Tran, einem intelligenten jungen Bewerber, der sich für die Stelle als Software Engineer
interessiert, ein Angebot unterbreiten möchte. Bei Universal Containers zählt es zu den
Aufgaben eines Personalbeschaffungsmitarbeiters, Angebote zu unterbreiten. In diesem Fall
weiß der für die Stelle des Software Engineers zuständige Personalbeschaffungsmitarbeiter,
Mario Ruiz, jedoch nicht, ob Ben eine Entscheidung getroffen hat, es sei denn, Ben schickt
ihm direkt eine E-Mail oder ruft ihn an.
Anstatt uns darauf zu verlassen, dass Ben daran denkt, Mario seine Entscheidung mitzuteilen,
können wir einen einfachen Workflow festlegen, mit dem die Zuweisung der entsprechenden
Aufgabe ausgelöst wird, sobald der Status eine Stellenbewerbungsdatensatzes auf "Extend an
Offer" (Angebot unterbreiten) oder "Rejected" (Abgelehnt) gesetzt wird. Sobald Ben den
Status der Stellenbewerbung des Bewerbers ändert, wird über den Workflow die entsprechende
Aufgabe erstellt und Mario erhält eine E-Mail-Benachrichtigung, so wie im folgenden
Diagramm dargestellt.
287
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung93: Automatische Zuweisung einer Aufgabe zu einem
Personalbeschaffungsmitarbeiter mithilfe eines Workflows
Ist das nicht eine leistungsstarke Funktion? Allgemein gilt: Wenn wir eine Standardregel
festlegen können, mit der angegeben wird, wann ein bestimmtes Ereignis stattfinden soll,
können wir es automatisch über einen Workflow ausführen lassen. Workflows sind das
Geheimrezept, mit dem unsere Personalbeschaffungsanwendung von einer besseren Datenbank
zu einem voll funktionsfähigen Tool wird, das alle sinnvoll nutzen können.
Jetzt haben wir eine allgemeine Vorstellung davon, was ein Workflow ist. Sehen wir uns die
einzelnen Komponenten eines Workflows also genauer an: Regeln und Aktionen.
Einführung in Workflowregeln
Im Allgemeinen ist eine Workflowregel der Hauptcontainer für eine Reihe von
Workflowanweisungen. Sie enthält die Kriterien dafür, wann der Workflow ausgeführt werden
soll, sowie bestimmte Aktionen, wie Aufgaben, E-Mail-Benachrichtigungen und
Feldaktualisierungen, die ausgeführt werden sollen, wenn die Kriterien für die entsprechende
Regel erfüllt sind.
288
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Jede Workflowregel muss auf einem einzelnen Objekt basieren, das Sie beim Definieren der
Regel auswählen. Dieses Objekt wirkt sich darauf aus, welche Felder für die Festlegung der
Kriterien der Workflowregel zur Verfügung stehen.
Wenn wir beispielsweise eine Workflowregel für das Objekt "Job Application"
(Stellenbewerbung) definieren, können wir die Kriterien der Regel z. B. basierend auf den
Werten der Felder Job Application Number (Stellenbewerbungsnummer) und Status
festlegen. Wir können die Kriterien der Regel auch basierend auf Standardfeldern wie
Datensatzinhaber oder Erstelldatum festlegen, oder anhand der Felder, die auf dem
zur Zeit der Auswertung der Regel aktiven Benutzer basieren, beispielsweise dessen Felder
Rolle oder Zeitzone.
Wir sehen uns die verschiedenen Möglichkeiten, mit denen wir die Kriterien für
Workflowregeln festlegen können, etwas später an. An dieser Stelle möchten wir lediglich
darstellen, dass es mit der Plattform sehr einfach ist, detaillierte Workflowregeln zu erstellen,
die auf bestimmte Situationen ausgerichtet sind.
Einführung in Workflowaktionen
Wenn eine Workflowregel ausgelöst wird, werden die ihr zugeordneten Aktionen ausgeführt.
Workflowaufgaben
Eine Workflowaufgabe weist eine Aufgabe gemäß einer bestimmten Vorlage einem
Benutzer zu.
Wie in Microsoft Outlook enthalten Aufgaben Informationen über etwas, was bis zu
einem bestimmten Zeitpunkt erledigt werden muss, beispielsweise ein Anruf oder die
Rückgabe eines Buchs in der Bibliothek. Zugewiesene Aufgaben werden in der
Themenliste "Meine Aufgaben" auf der Registerkarte "Startseite" des jeweiligen Benutzers
angezeigt und generieren Popup-Nachrichten, wenn sich der Benutzer anmeldet.
Beim Definieren von Workflowaufgaben geben wir Standardwerte für die Felder
Empfänger, Thema, Status, Priorität und Fälligkeitsdatum für Aufgaben
an, die durch eine zugehörige Workflowregel erstellt werden. Außerdem können wir
sicherstellen, dass der Empfänger eine Benachrichtigungs-E-Mail erhält, wenn eine
Aufgabe automatisch generiert wurde.
Workflowfeldaktualisierungen
Durch eine Workflowfeldaktualisierung wird der Wert eines bestimmten Felds in dem
Datensatz geändert, der die Workflowregel ursprünglich auslöste.
Es stehen auch objektübergreifende Feldaktualisierungen zum Ändern der Werte von
Feldern in einem verknüpfen Masterdatensatz zur Verfügung. Nähere Informationen
289
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
und Einschränkungen finden Sie in der Salesforce-Hilfe unter "Grundlegendes zu
objektübergreifenden Feldaktualisierungen".
Workflow-E-Mail-Benachrichtigungen
Eine Workflow-E-Mail-Benachrichtigung sendet eine E-Mail gemäß einer angegebenen
E-Mail-Vorlage. Im Gegensatz zu Workflowaufgaben, die nur Benutzern der Anwendung
zugewiesen werden können, können Workflowbenachrichtigungen an jeden beliebigen
Benutzer oder Kontakt gesendet werden, solange dieser über eine gültige E-Mail-Adresse
verfügt.
Anmerkung: Es sind weitere Aktionen verfügbar. Eine Workflowausgangsnachricht
beispielsweise sendet Daten an einen externen Webservice, beispielsweise eine andere
Anwendung in der Cloud. Ausgehende Nachrichten kommen in erster Linie bei
Anwendungsprogrammierschnittstellen (APIs) zum Einsatz, weshalb wir sie in diesem
Kapitel nicht verwenden. Informationen über weitere Aktionen finden Sie in der
Salesforce-Hilfe unter "Workflow und Genehmigungen – Übersicht".
Workflowregeln können jede beliebige Kombination von Aktionen enthalten, wenn die Regel
ausgelöst wird. Beispielsweise könnte eine einzige Regel sowohl eine Benachrichtigung
versenden als auch zwei Felder in einem bestimmten Datensatz aktualisieren. Die Aktion, die
durch eine Workflowregel ausgeführt wird, kann auch die Ausführung einer weiteren
Workflowregel auslösen.
Workflow in der
Personalbeschaffungsanwendung
Jetzt haben wir uns mit den verschiedenen an einem Workflow beteiligten Komponenten
vertraut gemacht. Überlegen wir uns also nun, wie wir mithilfe eines Workflows die
Anforderungen erfüllen können, die im Abschnitt Informationen zur Beispielanwendung zur
Personalbeschaffung auf Seite 23 besprochen wurden. Anschließend werden wir einige Zeit
damit verbringen, die hier erarbeiteten Regeln zu implementieren.
Wir haben bereits ein Beispiel erwähnt, in dem wir durch einen Workflow einen enormen
Vorteil erhalten: beim automatischen Zuordnen einer Aufgabe zu einem
Personalbeschaffungsmitarbeiter, wenn der Status eines Stellenbewerbungsdatensatzes in
"Reject" (Ablehnen) oder "Extend an Offer" (Angebot unterbreiten) geändert wird. Das ist
ein guter Anfang, aber was können wir noch tun?
Erinnern wir uns an das letzte Kapitel zum Thema Sicherheit und Freigabe: Wir wollten
sowohl Personalbeschaffungsmitarbeitern als auch Einstellungs-Managern die Berechtigung
290
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
zum Erstellen neuer Stellen erteilen. Am Ende sollte jedoch immer nur ein
Personalbeschaffungsmitarbeiter der Inhaber dieser Datensätze sein, da die Besetzung neuer
Stellen in den Verantwortungsbereich der Personalbeschaffungsmitarbeiter fällt. Im Kapitel
"Sicherheit und Freigabe" haben wir darauf hingewiesen, dass dies mithilfe eines Workflows
erreicht werden kann. Wir müssen nur eine Workflow-Feldaktualisierung verwenden, um als
Datensatzinhaber eines Stellendatensatzes einen Personalbeschaffungsmitarbeiter festzulegen,
wenn der Datensatz ursprünglich durch einen Einstellungs-Manager erstellt wurde. Damit
nicht ein einzelner Personalbeschaffungsmitarbeiter mit all diesen zusätzlichen Stellen überlastet
wird, nutzen wir darüber hinaus eine weitere Funktion der Plattform, nämlich Warteschlangen,
damit die nicht zugeordneten Stellendatensätze gleichmäßig verteilt werden. Wir stellen den
Datensatz zusammen mit anderen Stellendatensätzen ohne Inhaber in eine Warteschlange
und lassen dann einzelne Personalbeschaffungsmitarbeiter die Inhaberschaft für die gewünschten
Positionen beanspruchen.
Jetzt wollen wir darüber nachdenken, wie die Verfügbarkeit von Stellen im Unternehmen
Universal Containers bekannt gegeben wird. Wie auch in vielen anderen Unternehmen werden
bei Universal Containers Stellen vorzugsweise durch Weiterempfehlungen von Mitarbeitern
besetzt. Häufig sind die Mitarbeiter jedoch gar nicht über die derzeit ausgeschriebenen Stellen
informiert. Wir können mithilfe einer Workflowbenachrichtigung automatisch eine E-Mail
an alle Mitarbeiter senden, wenn eine neue Stelle ausgeschrieben wird. Auf diese Weise erfahren
die Mitarbeiter umgehend von den Stellen, sobald diese verfügbar werden, und bekommen
die Gelegenheit, Freunde und Familienmitglieder darüber zu informieren, die möglicherweise
interessiert sind.
Klingt gut, oder? Es gibt bestimmt noch viel mehr Möglichkeiten, mithilfe von Workflows
eine unglaublich gute On-Demand-Personalbeschaffungsanwendung in der Cloud zu erstellen,
wir bleiben aber vorerst bei diesen drei Beispielen, da wir mit ihnen die Haupttypen von
Workflowaktionen gut demonstrieren können. Fassen wir also zusammen, was wir erstellen
werden:
1. Eine Workflowaufgabe, die einem Personalbeschaffungsmitarbeiter eine Aufgabe
zuweist, sobald der Status einer Stellenbewerbung in "Rejected" (Abgelehnt) oder
"Extend an Offer" (Angebot unterbreiten) geändert wird.
2. Eine Workflow-Feldaktualisierung, mit der die Inhaberschaft einer durch einen
Einstellungs-Manager erstellten Stelle neu an eine Warteschlange mit
Stellendatensätzen ohne Inhaber zuweist, sodass einzelne
Personalbeschaffungsmitarbeiter die Inhaberschaft der gewünschten Stellen
beanspruchen können
3. Eine Workflow-Benachrichtigung, mit der immer dann eine E-Mail an alle
Mitarbeiter gesendet wird, wenn eine neue Stelle erstellt wird
Legen wir also los.
291
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Erstellen von Workflowregeln zum Zuweisen
von Aufgaben
Für die erste Verwendung in einem Workflow erstellen wir zwei Regeln: eine, mit der die
Aufgabe "Send Rejection Letter" (Absage senden) dem entsprechenden
Personalbeschaffungsmitarbeiter zugewiesen wird, wenn der Wert für das Feld Status in
einer Stellenbewerbung auf "Rejected" (Abgelehnt) gesetzt wird, und eine, mit der dem
entsprechenden Personalbeschaffungsmitarbeiter die Aufgabe "Extend Offer" (Angebot
unterbreiten) zugewiesen wird, wenn der Wert für das Feld Status in einer Stellenbewerbung
auf "Extend an Offer" (Angebot unterbreiten) gesetzt wird. Beginnen wir mit der Workflowregel
"Send Rejection Letter" (Absage senden).
Probieren Sie es aus: Erstellen der Workflowregel
"Send Rejection Letter" (Absage senden)
Damit diese Regel vollständig funktionsfähig wird, müssen wir sowohl eine Workflowregel
erstellen, die die Kriterien dafür angibt, wann die Regel ausgeführt werden soll, als auch eine
Workflowaufgabe, die die Aufgabenvorlage "Send Rejection Letter" (Absage senden) enthält.
Workflowkomponenten können zwar in beliebiger Reihenfolge definiert werden. Wir beginnen
jedoch mit der Definition der Workflowregel selbst. Dadurch sparen wir uns später bei der
Erstellung der zugehörigen Workflowaufgabe einige Klicks.
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Workflowregeln.
2. Wenn eine einführende Vorschaltseite angezeigt wird, klicken Sie einfach auf
Fortfahren.
3. Klicken Sie auf Neue Regel.
Als Erstes müssen wir das Objekt auswählen, das mit unserer Workflowregel verknüpft sein
soll. Wie bereits erwähnt, muss jede Workflowregel mit genau einem Objekt verknüpft sein,
um die Felder zu bestimmen, über die wir Kriterien festlegen können. Da diese Workflowregel
ausgelöst werden muss, wenn das Feld Status eines Stellenbewerbungsdatensatzes auf
"Ablehnen" gesetzt ist, müssen wir hier "Job Application" (Stellenbewerbung) auswählen.
4. Wählen Sie in der Dropdownliste "Objekt" die Option "Job Application"
(Stellenbewerbung) aus und klicken Sie auf Weiter.
Nun müssen wir die Details für unsere Workflowregel festlegen.
292
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
5. Geben Sie im Textfeld Regelname den Wert Send Rejection Letter (Absage
senden) ein.
6. Geben Sie im Textfeld Beschreibung folgenden Text ein: Send a rejection
letter when a hiring manager changes the status of a job
application to Rejected (Absage senden, wenn ein Einstellungs-Manager
den Status einer Stellenbewerbung auf "Abgelehnt" ändert).
Verwenden Sie nun den Bereich "Evaluationskriterien", um anzugeben, wann diese Regel
ausgewertet werden sollte. Folgende Optionen stehen zur Verfügung:
Regel auswerten, wenn Beschreibung
ein Datensatz:
erstellt wird
Regelkriterien bei jeder Erstellung eines Datensatzes auswerten.
Wenn die Regelkriterien erfüllt sind, Regel ausführen. Alle
Aktualisierungen für bestehende Datensätze ignorieren.
Bei dieser Option wird die Regel nie mehrmals pro Datensatz
ausgeführt.
erstellt wird und bei Regelkriterien bei jeder Erstellung oder Aktualisierung eines
jeder Bearbeitung
Datensatzes auswerten. Wenn die Regelkriterien erfüllt sind,
Regel ausführen.
Bei dieser Option wird die Regel wiederholt bei jeder
Bearbeitung des Datensatzes ausgeführt, solange der Datensatz
die Kriterien der Regel erfüllt.
Anmerkung: Wenn Sie diese Option auswählen,
können Sie keine zeitabhängigen Aktionen zu der
Regel hinzufügen.
erstellt wird, und
jederzeit, wenn er
bearbeitet wird,
damit er bestimmten
Kriterien entspricht
(Standard) Regelkriterien bei jeder Erstellung oder
Aktualisierung eines Datensatzes auswerten.
• Bei einem neuen Datensatz die Regel ausführen, wenn die
Regelkriterien erfüllt werden.
• Bei einem aktualisierten Datensatz die Regel nur ausführen,
wenn die Änderung bewirkt, dass ein Datensatz, der zuvor
die Regelkriterien nicht erfüllte, dies nun tut.
Bei dieser Option kann die Regel mehrmals pro Datensatz
ausgeführt werden. Sie wird jedoch nicht ausgeführt, wenn die
293
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Regel auswerten, wenn Beschreibung
ein Datensatz:
Bearbeitungen des Datensatzes nichts mit den Regelkriterien
zu tun haben.
Nehmen wir beispielsweise an, ein Opportunity-Datensatz
erfüllt nur dann die Regelkritieren, wenn die
Wahrscheinlichkeit für die Opportunity höher als 50 % ist.
Wenn Sie eine Opportunity mit einer Wahrscheinlichkeit von
75 % erstellen, wird die Workflowregel ausgeführt. Falls Sie
diese Opportunity nun ändern, indem Sie die
Wahrscheinlichkeit auf 25 % setzen, so wird die Regel aufgrund
dieser Bearbeitung nicht ausgeführt. Falls Sie diese Opportunity
anschließend ändern, indem Sie die Wahrscheinlichkeit von
25 % auf 75 % setzen, verursacht diese Bearbeitung, dass die
Regel ausgeführt wird. Nach dieser letzten Bearbeitung wird
die Regel ausgeführt, da der Datensatz, der zuvor die
Regelkriterien nicht erfüllt hat, dahingehend geändert wird,
dass er die Regelkriterien erfüllt.
Da wir nicht bei jedem Speichern des Datensatzes einem Personalbeschaffungsmitarbeiter
doppelte Aufgaben zuweisen möchten, behalten wir die Standardoption bei.
7. Wählen Sie unter "Regel auswerten, wenn ein Datensatz:" die Option erstellt
wird, und jederzeit, wenn er bearbeitet wird, damit er
bestimmten Kriterien entspricht aus.
Um die Definition der Regel abzuschließen, müssen wir die Bedingungen angeben, die die
Ausführung der mit der Regel verknüpften Aktionen auslösen. Dazu haben wir folgende
Möglichkeiten: Wir können eine Menge von Kriterien definieren, bei deren Erfüllung die
Workflowregel ausgelöst wird, oder wir können eine Formel erstellen, die die Workflowregel
auslöst, wenn sie als wahr ausgewertet wird. Das Erstellen einer Formel bietet zwar mehr
Flexibilität, das Festlegen der Kriterien ist jedoch einfacher. Für diese Regel können wir unser
Ziel durch das Festlegen der Kriterien erreichen. Verwenden wir also diese Vorgehensweise.
Für jede Workflowregel ist mindestens eine Zeile an Filterkriterien erforderlich, wir können
jedoch mittels weiterer Zeilen beliebig viele Filter festlegen.
8. Führen Sie in der ersten Zeile der Filterkriterien für die Regel folgende Vorgänge
aus:
294
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
•
•
•
Setzen Sie die Spalte Feld auf Job Application: Status
(Stellenbewerbung: Status).
Setzen Sie die Spalte Operator auf equals (gleich).
Setzen Sie die Spate Wert auf Rejected (Abgelehnt).
9. Klicken Sie auf Speichern & Weiter.
Abbildung94: Erstellen einer neuen Workflowregel
Bisher haben wir lediglich die Workflowregel "Send Rejection Letter" (Ablehnung schreiben)
definiert. Wenn wir den Workflow-Assistenten abbrechen und unter "Setup" auf Erstellen >
Workflow & Genehmigungen > Workflowregeln klicken würden, würde die Regel in der
Listenansicht angezeigt. Da jedoch Workflowregeln ohne eine damit verknüpfte Aktion nicht
sonderlich nützlich sind, führt uns der Workflow-Assistent direkt zu einem Bildschirm, in
dem wir die Workflowaufgabe "Send Rejection Letter" (Ablehnung schreiben) definieren
können. Gehen wir das nun gemeinsam durch.
295
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Probieren Sie es aus: Erstellen der
Workflowaufgabe "Send Rejection Letter"
(Absage senden)
Im Schritt "Workflow-Aktionen angeben" im Workflow-Assistenten können Sie die Aktionen,
wie Aufgaben, Feldaktualisierungen und E-Mail-Benachrichtigungen, angeben, die ausgeführt
werden sollen, wenn die Bedingung für unsere Workflowregel erfüllt wird.
Abbildung95: Angeben von Workflowaktionen
Sie können entweder Aktionen definieren, die direkt stattfinden sollen, sobald die Bedingung
erfüllt ist. Alternativ haben Sie die Möglichkeit, Aktionen zu definieren, die eine bestimmte
Zeit vor oder nach einem festgelegten Zeitpunkt stattfinden sollen, beispielsweise sieben Tage
vor dem im Feld Hire By (Einstellen bis) angegebenen Datum oder drei Tage nach dem
Auslösen der Workflowregel. Auf diese zeitabhängigen Workflowaktionen gehen wir etwas
später genauer ein. Vorerst müssen wir nur eine einzige Workflowaufgabe definieren, die
ausgeführt wird, sobald die Kriterien für die Regel erfüllt sind.
1. Klicken Sie im Bereich "Sofortige Workflowaktionen" auf Workflowaktion
hinzufügen und wählen Sie Neue Aufgabe.
Haben Sie bemerkt, dass im Feld Objekt bereits der Eintrag "Job Application"
(Stellenbewerbung) vorhanden ist? An dieser Stelle konnten wir uns einige Klicks sparen:
Hätten wir mit der Erstellung unserer Workflowaufgabe begonnen, bevor wir die Workflowregel
erstellt hatten, hätten wir das Objekt angeben müssen, dem die Aufgabe zugeordnet werden
296
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
soll. Das liegt daran, dass Workflowaktionen genau wie Workflowregeln einem einzelnen
Objekt zugeordnet werden müssen.
In diesem Fall müssen wir eine Seite überspringen, da das Objekt, dem eine Workflowaktion
zugeordnet ist, mit dem Objekt der verwendeten Workflowregel übereinstimmen muss. Hätten
wir dem Objekt "Candidate" (Bewerber) beispielsweise eine Workflowregel zugeordnet, müssten
auch alle Aktionen, die durch die Workflowregel für "Candidate" (Bewerber) ausgelöst würden,
ebenfalls dem Objekt "Candidate" (Bewerber) zugeordnet werden. Da wir im Assistenten mit
dem Erstellen unserer Workflowaufgabe "Send Rejection Letter" (Absage senden) direkt
begonnen haben, nachdem wir die gleichnamige Workflowregel im Assistenten erstellt haben,
war der Plattform bekannt, dass das Objekt, das unserer Aufgabe zugeordnet ist, mit der bereits
erstellten Regel übereinstimmen muss. Daher ist unsere neue Workflowaufgabe dem Objekt
"Job Application" (Stellenbewerbung) bereits zugeordnet.
Die restlichen Felder auf dieser Bearbeitungsseite dienen als Vorlage für alle Aufgaben namens
"Send Rejection Letter" (Absage senden), die mit unserer Workflowregel erstellt werden.
2. Klicken Sie neben dem Feld Zugewiesen zu auf das Nachschlagesymbol (
).
Hier können wir den Empfänger der Aufgabe durch Angabe eines bestimmten Benutzers,
einer Rolle oder eines Inhabers des Stellenbewerbungsdatensatzes, der die Workflowregel
ausgelöst hat, festlegen. Da die Personalbeschaffungsmitarbeiter immer die Inhaber der
Stellenbewerbungsdatensätze für die Stellen sind, für die sie die Verantwortung tragen, und
es bei Universal Containers auch ihre Aufgabe ist, Absagen zu verschicken, wählen wir nun
den Datensatzinhaber aus.
3. Wählen Sie in der Dropdownliste Typ den Eintrag "Inhaber" aus.
4. Klicken Sie auf Job Application Owner (Stellenbewerbung-Inhaber).
ACHTUNG: Möglicherweise dachten Sie, dass auch die Auswahl der Rolle
"Recruiter" (Personalbeschaffungsmitarbeiter) im Feld Zugewiesen zu eine gültige
Option sei, aber seien Sie vorsichtig. Wenn es sich bei dem Empfänger einer
Workflowaufgabe um eine Rolle handelt, die mehrere zugewiesene Benutzer enthält,
wird die Person, die die Regel ausgelöst hat, zum Empfänger der Aufgabe. Aus diesem
Grund sollten Sie Workflowaufgaben niemals Rollen zuweisen, es sei denn, Sie sind
sich ganz sicher, dass ihnen immer nur ein Benutzer zugewiesen ist.
Die Festlegungen für die restlichen Felder der Workflowaufgabe sind ganz einfach.
5. Geben Sie im Textfeld Thema Send Rejection Letter (Absage senden) ein.
6. Wählen Sie in den Dropdownlisten mit dem Namen Fälligkeitsdatum die
Option "Auslösedatum der Regel plus 2 Tage" aus.
297
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Mit dieser Einstellung für Fälligkeitsdatum haben die Personalbeschaffungsmitarbeiter
zwei Tage Zeit, den Bewerber zu benachrichtigen, nachdem ihnen die Aufgabe zum ersten
Mal zugewiesen wurde.
7. Wählen Sie in der Dropdownliste Status die Option "Not Started" (Nicht gestartet)
aus.
8. Wählen Sie in der Dropdownliste Priorität "Hoch" aus.
Durch das Aktivieren des Kontrollkästchens Empfänger benachrichtigen können wir
dem Empfänger immer eine E-Mail senden, sobald die Aufgabe durch die Workflowregel
erstellt wird. Dadurch wird sichergestellt, dass der Empfänger von der Aufgabe erfährt, ohne
dass er sich regelmäßig bei der Anwendung anmelden muss. Also wählen wir diese Option
aus.
9. Aktivieren Sie das Kontrollkästchen Empfänger benachrichtigen.
10. Klicken Sie auf Speichern.
11. Klicken Sie auf Fertig.
Abbildung96: Erstellen der Workflowaufgabe "Send Rejection Letter" (Absage senden)
An dieser Stelle können wir endlich die Detailseite für die soeben erstellte Workflowregel
anzeigen. Sie enthält die Kriterien für die Workflowregel und eine Liste der zugehörigen
Aktionen. Jetzt müssen wir die Regel nur noch aktivieren.
12. Klicken Sie auf Aktivieren.
298
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Alles erledigt. Wir haben gerade unsere erste Workflowregel und -aufgabe erstellt. Sie werden
feststellen, dass auch die restlichen Workflowaktionen auf sehr ähnliche Weise funktionieren,
sodass wir uns hier kurz fassen und uns auf die Felder konzentrieren, die nur für die jeweiligen
Aktionen vorkommen.
Probieren Sie es aus: Erstellen der Workflowregel
und der Aufgabe "Extend an Offer" (Angebot
unterbreiten)
Um unseren ersten Fall abzuschließen, müssen wir eine weitere Workflowregel für den Fall
erstellen, dass der Status einer Stellenbewerbung auf "Extend an Offer" (Angebot unterbreiten)
gesetzt wird. Diese Regel und Aufgabe sind mit der Workflowregel und der Aufgabe "Send
Rejection Letter" (Absage senden) nahezu identisch, sodass wir in den folgenden beiden
Tabellen nur die Werte auflisten, die Sie hierfür benötigen.
Tabelle41: Werte für die Erstellung der Workflowregel "Extend an Offer" (Angebot
unterbreiten)
Feld
Wert
Objekt
Job Application (Stellenbewerbung)
Name
Extend an Offer (Angebot unterbreiten)
Beschreibung
Make an offer when a hiring manager changes the status of a job
application to Extend Offer. (Unterbreiten Sie ein Angebot, wenn
ein Einstellungs-Manager den Status einer Stellenbewerbung auf
"Extend Offer" (Angebot unterbreiten) setzt.)
Regel auswerten, wenn
ein Datensatz:
erstellt wird, und jederzeit, wenn er bearbeitet wird, damit er
bestimmten Kriterien entspricht
Filterkriterien
Job Application (Stellenbewerbung): Status equals Extend an Offer
(Status gleich Angebot unterbreiten)
Tabelle42: Werte für die Erstellung der Workflowaufgabe "Extend an Offer" (Angebot
unterbreiten)
Feld
Wert
Zugewiesen zu
Job Application Owner (Stellenbewerbung-Inhaber)
299
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Feld
Wert
Thema
Extend an Offer (Angebot unterbreiten)
Fälligkeitsdatum
Auslösedatum der Regel plus 1 Tage
Status
Not Started (Nicht gestartet)
Priorität
Hoch
Empfänger
benachrichtigen?
Ja
Alles erledigt. Vergewissern Sie sich, dass auch die Regel "Extend an Offer" (Angebot
unterbreiten) aktiviert ist und dann legen wir los und probieren eine unserer neuen
Workflowregeln aus.
Rekapitulation
Probieren wir unsere neue Workflowregel "Send Rejection Letter" (Absage senden) aus und
sehen wir uns an, was geschieht:
1. Klicken Sie auf die Registerkarte "Job Applications" (Stellenbewerbungen) und
wählen Sie einen Stellenbewerbungsdatensatz aus.
2. Klicken Sie auf Bearbeiten und ändern Sie Status in Rejected (Abgelehnt).
3. Klicken Sie auf Speichern.
Die Aufgabe "Send Rejection Letter" (Absage senden) wird automatisch in der Themenliste
"Offene Aktivitäten" der Detailseite "Job Application" (Stellenbewerbung) angezeigt, wie im
folgenden Screenshot zu sehen.
300
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung97: Themenliste "Offene Aktivitäten" auf der Detailseite "Job Application"
(Stellenbewerbung)
Nicht schlecht, oder? Nicht nur das: Wenn Sie im Posteingang des
Personalbeschaffungsmitarbeiters nachsehen, sollte dieser eine automatisch generierte
E-Mail-Benachrichtigung erhalten haben, die wie folgt aussieht:
Jane Smith has assigned you a new task:
Subject: Send Rejection Letter
Job Application: JA-00002
Due Date: 8/29/2013
Priority: High
For more details, click the following link:
https://na1.salesforce.com/00Tx04123s5k1
Der Link in der E-Mail-Nachricht führt den Personalbeschaffungsmitarbeiter direkt zur
Aufgabendetailseite, wo er die Kontaktinformationen des Bewerbers finden und nach Abschluss
der Aufgabe den Aufgabenstatus aktualisieren kann. Die Aufgabe wird außerdem im Bereich
"Meine Aufgaben" auf der Registerkarte "Startseite" des Personalbeschaffungsmitarbeiters
angezeigt und einen Tag später wird eine Erinnerungsnachricht als Popup eingeblendet, wenn
er bis dahin den Status der Aufgabe nicht zu "Abgeschlossen" geändert hat. Und schon hat
sich die Interaktivität und Leistungsfähigkeit unserer Personalbeschaffungsanwendung enorm
erhöht.
301
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Erstellen einer Workflowregel, die Felder
aktualisiert
Für unseren nächsten Anwendungsfall möchten wir eine Workflowregel erstellen, die
sicherstellt, dass der Inhaber eines neuen Stellendatensatzes immer ein
Personalbeschaffungsmitarbeiter ist. Zu diesem Zweck werden wir eine
Workflow-Feldaktualisierung definieren, mit der die Inhaberschaft einer durch einen
Einstellungs-Manager erstellten Stelle neu an eine Warteschlange mit Stellendatensätzen ohne
Inhaber zugewiesen wird. Sobald sich ein Stellendatensatz in der entsprechenden Warteschlange
befindet, können einzelne Personalbeschaffungsmitarbeiter die Inhaberschaft an den von Ihnen
gewünschten Stellen beanspruchen. Um aber nicht zu weit vorzugreifen, möchten wir noch
einen Moment innehalten. Denn was genau ist eigentlich eine Warteschlange?
Einführung in Warteschlangen
Vergleichbar mit einer Kiste für Fundsachen ist eine Warteschlange auch eine Sammlung von
Datensätzen, die keinen Inhaber haben. Benutzer, die Zugriff auf die Warteschlange haben,
können jeden darin vorhandenen Datensatz untersuchen und die Inhaberschaft für die von
ihnen gewünschten Datensätze beanspruchen.
Warteschlangen werden normalerweise in Vertriebs- und Supportorganisationen verwendet,
um neue Leads uns Support-Kundenvorgänge an die Mitarbeiter zu verteilen, die die meisten
Kapazitäten haben. Da die Plattform Warteschlangen für Leads, Kundenvorgänge und beliebige
benutzerdefinierte Objekte nativ unterstützt, können wir eine Warteschlange für das Objekt
"Position" (Stelle) der Personalbeschaffungsanwendung erstellen.
Probieren Sie es aus: Erstellen einer
Warteschlange für Stellen
Um eine Warteschlange zu definieren, müssen wir wissen, welche Datensatztypen in der
Warteschlange platziert werden können (in unserem Fall Stellen), und welche Benutzer
Datensätze aus ihr herausziehen können (in unserem Fall Personalbeschaffungsmitarbeiter).
Wenn uns diese beiden Punkte bekannt sind, lässt sich die Warteschlange selbst mit nur
wenigen einfachen Klicks definieren:
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Warteschlangen.
2. Klicken Sie auf Neu.
302
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
3. Geben Sie im Textfeld Bezeichnung Unclaimed Positions Queue
(Warteschlange für nicht beanspruchte Stellen) ein.
4. Geben Sie in das Textfeld Warteschlangen-E-Mail eine E-Mail-Adresse einer
Einzelperson oder einer Verteilerliste ein, beispielsweise
[email protected].
Wenn Sie in das Textfeld Warteschlangen-E-Mail klicken, wir das Textfeld
Warteschlangenname automatisch gefüllt.
5. Wählen Sie E-Mail an Mitglieder senden.
Beachten Sie hierbei, dass wir, falls es sich bei [email protected]
tatsächlich um eine E-Mail-Verteilerliste an alle Personalbeschaffungsmitarbeiter handeln
würde, die Option E-Mail an Mitglieder senden nicht auswählen müssten. Wir wählen
diese Option hier nur aus, weil [email protected] eine erfundene
E-Mail-Adresse ist, die später nicht zum Testen verwendet werden kann.
Es stehen zwei Optionen für die Benachrichtigung der Warteschlangenmitglieder zur
Verfügung, wenn neue Datensätze zur Warteschlange hinzugefügt werden.
E-Mail an Mitglieder senden nicht ausgewählt
•
•
Wenn Sie keine Warteschlangen-E-Mail angeben, werden die einzelnen
Warteschlangenmitglieder immer benachrichtigt, unabhängig davon, ob das
Kontrollkästchen E-Mail an Mitglieder senden aktiviert ist.
Wenn Sie eine Warteschlangen-E-Mail-Adresse angeben, wird nur diese Adresse
benachrichtigt.
E-Mail an Mitglieder senden ausgewählt
•
•
Wenn Sie keine Warteschlangen-E-Mail angeben, werden die einzelnen
Warteschlangenmitglieder immer benachrichtigt, unabhängig davon, ob das
Kontrollkästchen E-Mail an Mitglieder senden aktiviert ist.
Wenn Sie eine Warteschlangen-E-Mail-Adresse angeben, werden diese Adresse und
die einzelnen Warteschlangenmitglieder benachrichtigt.
Beachten Sie, dass, falls ein einzelnes Warteschlangenmitglied auch die E-Mails
empfängt, die an die angegebene Warteschlangen-E-Mail-Adresse gesendet werden,
die entsprechende Person doppelte Benachrichtigungen empfängt.
6. Verschieben Sie im Abschnitt "Unterstützte Objekte" das Objekt "Position" (Stelle)
in die Liste "Ausgewählte Objekte".
303
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung98: Definieren einer Warteschlange
Wie Sie sehen, können mit einer einzigen Warteschlange mehrere Objekte verarbeitet werden
– die Plattform bietet Ihnen diese Möglichkeit, damit Sie nicht mehrere Warteschlangen für
dieselbe Gruppe von Benutzern definieren müssen.
7. Wählen Sie im Abschnitt "Warteschlangenmitglieder" die Option Rollen und
nachgeordnete Positionen in der Dropdownliste "Suche" aus.
8. Verschieben Sie Rollen und nachgeordnete Positionen: Recruiting
Manager (Personalbeschaffungsmanager) in die Liste "Ausgewählte
Mitglieder".
304
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
9. Klicken Sie auf Speichern.
Perfekt! Wir haben soeben eine neue Warteschlange definiert, die als temporärer Inhaber für
all die Stellendatensätze eingesetzt werden kann, die von Einstellungs-Managern erstellt
werden. Immer wenn eine Stelle in der Warteschlange platziert wird, werden alle
Personalbeschaffungsmitarbeiter benachrichtigt und die entsprechende Person kann die
Inhaberschaft für sich beanspruchen. Nun müssen wir lediglich eine Workflowregel definieren,
die die entsprechenden Stellendatensätze in die Warteschlange stellt.
Probieren Sie es aus: Erstellen einer
Workflowregel, die Felder aktualisiert
Nun, da unsere Warteschlange einsatzbereit ist, können wir damit fortfahren, unsere
Workflowregel zu definieren.
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Workflowregeln.
2. Klicken Sie auf Neue Regel.
3. Wählen Sie in der Dropdownliste "Objekt" den Eintrag Position (Stelle) aus und
klicken Sie auf Weiter.
4. Geben Sie im Textfeld Regelname den Text Assign Position to
Recruiter (Stelle einem Personalbeschaffungsmitarbeiter zuweisen) ein.
5. Geben Sie im Textfeld Beschreibung den Text Reassign position
records to a recruiter if they were created by another
type of employee (Stellendatensätze erneut einem
Personalbeschaffungsmitarbeiter zuweisen, wenn sie von einem anderen
Mitarbeitertyp erstellt wurden) ein.
Wir wissen zwar, dass Personalbeschaffungsmitarbeiter fast immer die Inhaber von
Stellendatensätzen sein sollten, dies sollte jedoch eine Organisation nicht behindern, wenn in
einem besonderen Fall ein Mitarbeiter, der kein Personalbeschaffungsmitarbeiter ist, stattdessen
Inhaber des Datensatzes sein sollte. Werten wir diese Regel erst aus, wenn ein Datensatz
erstellt wird, damit für den Fall, dass eine Ausnahme gemacht werden muss, der Workflow
keine Änderungen ablöst, die von einem Personalbeschaffungsmitarbeiter vorgenommen
wurden.
6. Wählen Sie im Feld Regel auswerten, wenn ein Datensatz: den Wert erstellt
aus.
Schließlich müssen wir noch sicherstellen, dass diese Regel immer dann initiiert wird, wenn
ein Stellendatensatz von einer Person erstellt wird, die kein Personalbeschaffungsmitarbeiter
305
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
oder Personalbeschaffungsmanager ist. Wir können diese Filterkriterien in einer einzigen Zeile
angeben, indem wir ein Komma in der Spalte Wert verwenden.
7. Im Abschnitt "Regelkriterien":
•
•
•
Legen Sie in der Spalte "Feld" den Wert Aktueller Benutzer: Rolle
fest.
Setzen Sie die Spalte "Operator" auf nicht gleich.
Setzen Sie die Spalte "Wert" auf Recruiter, Recruiting Manager
(Personalbeschaffungsmitarbeiter, Personalbeschaffungsmanager).
8. Klicken Sie auf Speichern & Weiter.
Erstellen wir nun die Feldaktualisierungsaktion für diese Workflowregel.
9. Klicken Sie im Bereich "Sofortige Workflowaktionen" auf Workflowaktion
hinzufügen und wählen Sie Neue Feldaktualisierung.
10. Geben Sie im Textfeld Name den Text Reassign Position to Queue (Stelle
erneut zu Warteschlange zuweisen) ein.
11. Geben Sie im Testfeld Beschreibung den Text Assign the Position to
the Unclaimed Positions Queue (Stelle zur Warteschlange für nicht
beanspruchte Stellen zuweisen) ein.
12. Wählen Sie in der Dropdownliste Zu aktualisierendes Feld die Option
"Inhaber".
Sobald Sie in dieser Dropdownliste eine Auswahl vornehmen, werden neue Optionen je nach
Ihrer Auswahl direkt darunter angezeigt.
13. Wählen Sie in der Dropdownliste Inhaber die Option "Warteschlange".
14. Klicken Sie auf das Nachschlagesymbol ( ) und wählen Sie Unclaimed Positions
Queue (Warteschlange für nicht beanspruchte Stellen) aus.
15. Wählen Sie Empfänger benachrichtigen aus.
16. Klicken Sie auf Speichern.
Das war nicht allzu schwer. Bevor wir diese Workflowregel jedoch hinter uns lassen, sollten
wir sie mit einer zweiten Workflowaktion ausstatten – mit einer, die sicherstellt, dass keine
Stellen in der Warteschlange vergessen werden, ohne dass sie von einem
Personalbeschaffungsmitarbeiter beansprucht werden. In diesem Fall verwenden wir eine
zeitabhängige Workflowaktion.
306
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Einführung in zeitabhängige Workflowaktionen
Wie bereits erwähnt, handelt es sich bei zeitabhängigen Workflowaktionen um Aktionen, die
eine bestimmte Zeit vor oder nach einem festgelegten Zeitpunkt stattfinden sollen,
beispielsweise sieben Tage vor dem im Feld Hire By (Einstellen bis) angegebenen Datum
oder drei Tage nach dem Auslösen der Workflowregel. Wir können zeitabhängige
Workflowaktionen verwenden, um Aufgaben, Feldaktualisierungen und
E-Mail-Benachrichtigungen auszulösen, wenn die Bedingung einer Workflowregel erfüllt ist.
So dient zum Beispiel das erneute Zuweisen von Stellendatensätzen zur Warteschlange für
nicht beanspruchte Stellen dazu, dass der entsprechende Personalbeschaffungsmitarbeiter die
Inhaberschaft übernimmt. Es kann jedoch vorkommen, dass eine Stelle in die Warteschlange
gestellt wird und von keinem Personalbeschaffungsmitarbeiter beansprucht wird. Anstatt die
Stelle in der Warteschlange verharren zu lassen, ohne dass sie beansprucht wird, können wir
eine zeitabhängige Workflowaktion definieren, durch die der Personalbeschaffungsmanager
benachrichtigt wird, wenn kein Personalbeschaffungsmitarbeiter den Stellendatensatz innerhalb
einer bestimmten Anzahl von Tagen beansprucht. Da diese Aktion nur stattfindet, wenn die
Bedingung erfüllt ist (d. h., solange der Inhaber der Stelle ein Mitarbeiter ist, der kein
Personalbeschaffungsmitarbeiter ist), wird der Manager nur benachrichtigt, wenn dies notwendig
ist.
Nicht schlecht, oder? Sehen wir uns nun an, wie zeitabhängige Aktionen definiert werden.
Probieren Sie es aus: Erstellen der
zeitabhängigen Workflowaufgabe "Notify
Recruiting Manager"
(Personalbeschaffungsmanager benachrichtigen)
An dieser Stelle sollten wir uns nach wie vor auf der Seite "Angeben von Workflowaktionen"
für unsere Workflowregel "Assign Position to Recruiter Queue" (Stelle zu
Personalbeschaffungsmitarbeiter-Warteschlange zuweisen) befinden. Falls nicht, können wir
dorthin zurückkehren, indem wir unter "Setup" auf Erstellen > Workflow & Genehmigungen
> Workflowregeln klicken, dann auf "Assign Position to Recruiter" (Stelle einem
Personalbeschaffungsmitarbeiter zuweisen) und schließlich Bearbeiten im Abschnitt
"Workflowaktionen" auswählen.
307
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Bevor wir eine zeitabhängige Workflowaufgabe definieren können, müssen wir zunächst einen
Zeitauslöser angeben. Zeitauslöser definieren, wann die zeitabhängigen Workflowaktionen
ausgelöst werden sollen.
1. Klicken Sie auf Zeitauslöser hinzufügen.
In diesem Fall möchten wir, dass unser Personalbeschaffungsmanager drei Tage, nachdem
eine Stelle der Warteschlange für nicht beanspruchte Stellen zugewiesen wurde, benachrichtigt
wird.
2. Verwenden Sie das Textfeld und die Dropdownlisten und geben Sie Folgendes an:
3 Days After Rule Trigger Date (3 Tage nach Auslösedatum der Regel).
3. Klicken Sie auf Speichern.
Abbildung99: Die Bearbeitungsseite für den Zeitauslöser
Unser Zeitauslöser wird jetzt im Abschnitt "Zeitabhängige Workflowaktionen" aufgelistet.
Die Dropdown-Schaltfläche Workflowaktion hinzufügen ist jetzt aktiv und wir können
unsere Workflowaufgabe wie gewohnt definieren.
4. Klicken Sie im Abschnitt "Zeitabhängige Workflowaktionen" auf Workflowaktion
hinzufügen und wählen Sie Neue Aufgabe.
5. Wählen Sie im Feld Zugewiesen zu die Rolle "Recruiting Manager"
(Personalbeschaffungsmanager).
Anmerkung: Bedenken Sie, dass Workflowaufgaben einer Rolle nur dann zugewiesen
werden sollten, wenn Sie sicher sind, dass dieser Rolle jeweils immer nur ein Benutzer
zugewiesen ist. Falls die Rolle mehrere Benutzer aufweist, wird die Aufgabe dem
Inhaber der Workflowregel zugewiesen.
6. Geben Sie im Feld Thema den TextAssign Unclaimed Position Record
to Recruiter (Nicht beanspruchten Stellendatensatz zu
Personalbeschaffungsmitarbeiter zuweisen) ein. Wenn Sie den Mauszeiger vom Feld
Thema wegbewegen, sollte
Assign_Unclaimed_Position_Record_to_Recruiter im Feld
Eindeutiger Name stehen.
308
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
7. Legen Sie für das Feld Fälligkeitsdatum den Wert Auslösedatum der
Regel plus 4 Tage fest.
Da diese Workflowaktion erst drei Tage nach dem ursprünglichen Auslösedatum der Regel
ausgelöst wird, hat der Personalbeschaffungsmanager, wenn wir das Fälligkeitsdatum
auf vier Tage nach dem Auslösedatum der Regel festlegen, noch einen zusätzlichen Tag, um
die Stelle einem Personalbeschaffungsmitarbeiter zuzuweisen.
8. Setzen Sie Status auf Nicht begonnen.
9. Setzen Sie Priorität auf Hoch.
10. Wählen Sie Empfänger benachrichtigen aus.
11. Klicken Sie auf Speichern.
12. Klicken Sie auf Fertig.
Wir sind fast fertig. Zum jetzigen Zeitpunkt müssen wir nur noch unsere Workflowregel
aktivieren. Wenn Sie jedoch jetzt auf die Schaltfläche Aktivieren klicken, werden Sie durch
eine Fehlermeldung darauf hingewiesen, dass vor dem Aktivieren der Regel der standardmäßige
Workflowbenutzer festgelegt werden muss. Was hat es damit auf sich?
Der standardmäßige Workflowbenutzer ist der Benutzer, der als Inhaber einer Workflowaktion
zugewiesen sein sollte, falls der Benutzer, der die Regel ursprünglich ausgelöst hat, nicht mehr
aktiv ist. Wenn Ihre Organisation zeitabhängige Aktionen in Workflowregeln verwendet,
müssen Sie einen standardmäßigen Workflowbenutzer festlegen. Salesforce zeigt diesen
Benutzernamen im Feld Ersteller für Aufgaben, im Feld Sendender Benutzer für
E-Mails und im Feld Zuletzt geändert von für Feldaktualisierungen an. Salesforce zeigt
diesen Benutzernamen nicht für ausgehende Nachrichten an. Falls ein Problem mit einer
ausstehenden Aktion auftritt, erhält der standardmäßige Workflowbenutzer eine
E-Mail-Benachrichtigung. Festlegen des standardmäßigen Workflowbenutzers:
13. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Einstellungen.
Anmerkung: Falls Sie auf Aktivieren klicken, ohne dass Sie den standardmäßigen
Workflowbenutzer zuvor festgelegt haben, und falls Sie dann im Fehlerdialogfeld auf
OK klicken, werden Sie direkt zur Seite "Einstellungen für Workflow &
Genehmigungen" weitergeleitet.
14. Legen Sie im Feld Standardmäßiger Workflowbenutzer einen beliebigen
Benutzer in Ihrer Organisation fest. In den meisten Fällen empfiehlt es sich, einen
Systemadministrator auszuwählen.
15. Klicken Sie auf Speichern.
Jetzt können wir die Workflowregel aktivieren:
309
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Anmerkung: Wenn Sie die Seite "Einstellungen für Workflow & Genehmigungen"
durch Klicken auf Aktivieren und anschließendes Klicken auf OK im Fehlerdialogfeld
erreicht haben, wird Ihre Workflowregel durch Klicken auf Speichern ebenfalls
automatisch aktiviert.
16. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Workflowregeln.
17. Klicken Sie neben der Workflowregel "Assign Position to Recruiter" (Stelle einem
Personalbeschaffungsmitarbeiter zuweisen) auf Aktivieren.
Rekapitulation
Hervorragend! Jetzt verfügen wir über eine Workflowregel, mit der Stellendatensätze, die nicht
von Personalbeschaffungsmitarbeitern erstellt wurden, in eine Warteschlange mit noch nicht
beanspruchten Stellen gestellt werden. Wenn sie nicht innerhalb von drei Tagen durch einen
Personalbeschaffungsmitarbeiter beansprucht werden, wird dem jeweiligen
Personalbeschaffungsmanager eine Aufgabe zugewiesen.
Wenn Sie es ausprobieren möchten, melden Sie sich einfach als Einstellungs-Manager
(beispielsweise als Ben Stuart) an und erstellen Sie eine neue Stelle. Sobald Sie zur Detailseite
für die Stelle zurückkehren, werden Sie feststellen, dass die Warteschlange für nicht
beanspruchte Stellen automatisch als Datensatzinhaber zugewiesen wurde. Darüber hinaus
haben alle Benutzer, denen die Rolle "Recruiter" (Personalbeschaffungsmitarbeiter) oder
"Recruiting Manager" (Personalbeschaffungsmanager) zugeordnet ist, eine
E-Mail-Benachrichtigung erhalten.
Wenn Sie den Inhalt der Warteschlange anzeigen möchten, klicken Sie auf die Registerkarte
"Positions" (Stellen) und wählen Sie in der Dropdownliste "Anzeigen" den Eintrag Unclaimed
Positions Queue (Warteschlange für nicht beanspruchte Stellen) aus. Jeder
Personalbeschaffungsmitarbeiter oder Personalbeschaffungsmanager kann auf dieser Seite auf
Akzeptieren klicken und die Inhaberschaft für die neue Stelle übernehmen.
Unsere Workflowaufgabe "Assign Unclaimed Position Record to Recruiter" (Nicht
beanspruchten Stellendatensatz zu Personalbeschaffungsmitarbeiter zuweisen) wird zwar erst
nach drei Tagen aktiviert, wir können anhand der Workflow-Warteschlange jedoch sehen, dass
die Ausführung der Workflowaufgabe momentan geplant ist. In der Warteschlange werden
alle zeitabhängigen Workflowaktionen aufgelistet, die zukünftig geplant sind. Anzeigen:
1. Melden Sie sich in Ihrer Organisation erneut als Administrator an.
2. Klicken Sie unter "Setup" auf Zeitbasierter Workflow oder auf Überwachen >
Zeitbasierter Workflow.
3. Klicken Sie auf Suche.
310
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung100: Die Seite zum Überwachen der Workflow-Warteschlange
Nachdem ein Personalbeschaffungsmitarbeiter die Inhaberschaft des neuen Stellendatensatzes
übernommen hat, wird die entsprechende Aufgabe aus der Workflow-Warteschlange gelöscht.
Ganz schön praktisch, oder?
Erstellen wir nun eine letzte Workflowregel, um zu sehen, wie eine E-Mail-Benachrichtigung
erstellt wird.
Erstellen einer Workflowregel, die
E-Mail-Benachrichtigungen sendet
Für unser letztes Beispiel für die Anwendung eines Workflows erstellen wir eine Workflowregel
und eine E-Mail-Benachrichtigung, mit denen immer dann eine Benachrichtigung gesendet
wird, wenn eine neue Stelle erstellt wird. Wir möchten alle Mitarbeiter bei Universal Containers
über neue freie Stellen informieren, um ihnen die Gelegenheit zu geben, Weiterempfehlungen
einzubringen.
Für diese Workflowregel müssen wir zunächst einen bestimmten Schritt ausführen: wir müssen
eine Vorlage für die E-Mail-Benachrichtigung entwerfen.
Einführung zu E-Mail-Vorlagen
Die Plattform beinhaltet integrierte Tools zum Festlegen von Sicherheitsberechtigungen, zum
Verfolgen von Ereignissen und Aufgaben und zum Erstellen einer Geschäftslogik mithilfe
eines Workflows. Darüber hinaus steht auch ein integriertes Tool zum Verfassen von E-Mails
an Benutzer und Kontakte in Ihrer Organisation zur Verfügung. Mithilfe von E-Mail-Vorlagen
311
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
können Sie E-Mail-Formulare erstellen, mit denen eine Standardnachricht wie ein
Begrüßungsschreiben für neue Mitarbeiter oder eine Bestätigung über den Empfang einer
Kundendienstanfrage kommuniziert wird.
Wenn wir den Inhalt einer E-Mail-Vorlage anpassen möchten, können wir mithilfe von
Briefvorlagenfeldern Werte aus Datensätzen, die im System gespeichert sind, integrieren. Wenn
wir beispielsweise den Empfänger einer E-Mail mit dem Vornamen ansprechen möchten,
können wir wie folgt eine E-Mail-Vorlage erstellen:
Dear {!Contact.FirstName},
...
In diesem Beispiel ist {!Contact.FirstName} ein Briefvorlagenfeld, über das der Vorname
des Kontakts eingefügt wird, an den die E-Mail adressiert ist. Eine E-Mail an John Smiley
würde also wie folgt lauten:
Dear John,
...
Für die Workflowbenachrichtigung können wir eine E-Mail-Vorlage erstellen, mit der Benutzer
über die im System neu hinzugefügten Stellen informiert werden. Mithilfe von
Briefvorlagenfeldern können wir Informationen aus dem Stellendatensatz einfügen,
beispielsweise den Titel und die erforderlichen Fertigkeiten. Fahren wir damit also fort. Danach
schließen wir unsere letzte Workflowregel ab.
Probieren Sie es aus: Erstellen einer
E-Mail-Vorlage
Zum Erstellen einer neuen E-Mail-Vorlage müssen wir den Bereich "Setup" aufrufen.
1. Klicken Sie unter "Setup" auf Kommunikationsvorlagen > E-Mail-Vorlagen.
Hier wird eine Liste aller E-Mail-Vorlagen angezeigt, die bereits für Ihre Organisation definiert
wurden, darunter auch einige Beispielvorlagen von salesforce.com.
2. Klicken Sie auf Neue Vorlage.
Wir können auswählen, ob wir eine Text-, HTML- oder benutzerdefinierte E-Mail-Vorlage
erstellen möchten. HTML- und benutzerdefinierte E-Mail-Vorlagen sind fast gleich, in
HTML-Vorlagen können Sie jedoch einen Briefkopf erstellen, um Ihren E-Mails dasselbe
Erscheinungsbild wie anderen E-Mails derselben Herkunft zu geben.
312
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Anmerkung: Als vierte Option können Entwickler in Visualforce E-Mail-Vorlagen
unter Verwendung der Tag-basierten Markupsprache von salesforce.com erstellen.
Visualforce wird im Abschnitt Jenseits der Point-and-Click-Anwendungsentwicklung
auf Seite 393 besprochen.
Um alles einfach zu halten, bleiben wir vorerst bei einer reinen Text-E-Mail.
3. Wählen Sie Text und klicken Sie auf Weiter.
Abbildung101: Definieren einer E-Mail-Vorlage
Auf der Seite "Neue Vorlage" können wir die E-Mail-Vorlage selbst definieren. Im oberen
Bereich generieren wir die Briefvorlagenfeld-Codes für die Felder in der darunter stehenden
E-Mail-Vorlage. Überspringen wir diesen Schritt zunächst und beginnen wir mit der
Dropdownliste "Ordner".
313
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
4. Wählen Sie in der Dropdownliste "Ordner" den Eintrag Nicht abgelegte
öffentliche E-Mail-Vorlagen aus.
Bei dem Ordner "Nicht abgelegte öffentliche E-Mail-Vorlagen" handelt es sich um einen
standardmäßigen öffentlichen Ordner, der in jeder Organisation zur Verfügung steht. Durch
das Speichern der E-Mail-Vorlagen in einem öffentlichen Ordner steht sie auch anderen
Benutzern zur Verfügung, die über die Berechtigung zum Anzeigen und Bearbeiten von
E-Mail-Vorlagen verfügen.
5. Aktivieren Sie das Kontrollkästchen Zur Verwendung verfügbar.
Mit dieser Option machen wir unsere E-Mail-Vorlage verfügbar, wenn wir unsere
Workflowbenachrichtigung erstellen.
6. Geben Sie im Textfeld E-Mail-Vorlagenname den Text Recruiting App:
New Position Alert (Personalbeschaffungsanwendung: Benachrichtigung bei
neuer Stelle) ein.
Tipp: Um die E-Mail-Vorlagen übersichtlich anordnen zu können, empfiehlt es
sich, alle Vorlagennamen mit dem Namen der Anwendung beginnen zu lassen, für
die die Vorlage verwendet wird. Noch besser: Sie können einen öffentlichen Ordner
für E-Mail-Vorlagen mit dem Namen der Anwendung erstellen, wie beispielsweise
"Recruiting App Templates" (Vorlagen für die Personalbeschaffungsanwendung), in
dem sie alle relevanten E-Mail-Vorlagen speichern.
7. Akzeptieren Sie im Textfeld Kodierung den Standardwert "Westeuropäisch
(ISO-8859-1, ISO-LATIN-1)".
8. Geben Sie im Textfeld Beschreibung Folgendes ein: Send update email
to all Universal Containers employees (Aktualisierungs-E-Mail an
alle Mitarbeiter von Universal Containers senden).
Nun kommen wir zu den zentralen Elementen unserer E-Mail-Vorlage - dem Betreff und
dem Text der E-Mail.
9. Geben Sie in das Textfeld Thema New Open Position Alert:
(Benachrichtigung über neue offene Stelle:) ein.
Wir möchten den Titel der neuen Stelle in den Betreff unserer E-Mail einfügen, sodass wir
an dieser Stelle unser erstes Briefvorlagenfeld direkt hinter dem Doppelpunkt in der Betreffzeile
verwenden müssen. Damit wir den richtigen Code erhalten, müssen wir oben auf der Seite
zurück zum Bereich für Briefvorlagenfelder gehen.
10. Wählen Sie in der Dropdownliste "Feldtyp auswählen" Position Fields
(Stelle-Felder) aus.
314
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
In der Dropdownliste "Feldtyp auswählen" stehen mehrere Objekte zur Auswahl. Da wir
jedoch eine E-Mail-Vorlage für eine Workflowregel erstellen, beschränkt sich unsere Auswahl
auf die Felder für das Objekt, das dem betreffenden Workflow zugeordnet ist. In diesem Fall
ist es "Position" (Stelle). Der Grund hierfür ist, dass der Workflowregel, die diese
E-Mail-Vorlage verwendet, neben dem Stellendatensatz, der die Workflow-Regel ausgelöst
hat, keine Datensätze bekannt sind. Würden wir Felder aus einem anderen Objekt einfügen,
würden sie in unserer E-Mail leer bleiben.
Jetzt nehmen wir uns die gewünschten Felder vor.
11. Wählen Sie in der Dropdownliste "Feld auswählen" Position Title (Stellentitel)
aus.
Im Feld Mischfeldwert kopieren wird ein Briefvorlagenfeld-Code für "Position Title"
(Stellentitel) angezeigt. Wir können ihn kopieren und am Ende unserer Betreffzeile einfügen,
sodass der Betreff so aussieht: New Open Position Alert: {!Position__c.Name}.
Wenn anhand dieser Vorlage eine E-Mail generiert wird, wird {!Position__c.Name}
durch den entsprechenden Stellentitel ersetzt.
Ganz einfach, oder? Jetzt stellen wir die verbleibenden Elemente unserer E-Mail fertig.
12. Geben Sie in das Textfeld Thema folgenden Text ein:
There's a new position open at Universal Containers!
Title: {!Position__c.Name}
Functional Area: {!Position__c.Functional_Area__c}
Location: {!Position__c.Location__c}
Job Description
{!Position__c.Job_Description__c}
Responsibilities
{!Position__c.Responsibilities__c}
Skills Required
{!Position__c.Skills_Required__c}
Educational Requirements
{!Position__c.Educational_Requirements__c}
If you know of anyone great who might be able to fill this role,
please contact the hiring manager, {!Position__c.Hiring_Manager__c}.
Thanks!
13. Klicken Sie auf Speichern.
Damit ist unsere E-Mail-Vorlage fertig. Jetzt sind wir bereit für die Erstellung der
Workflowregel und der Benachrichtigung "New Position" (Neue Stelle).
315
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Probieren Sie es aus: Erstellen der Workflowregel
und Benachrichtigung für "New Position" (Neue
Stelle)
Jetzt, da wir unsere E-Mail-Vorlage erstellt haben, können wir die Workflowregel und die
E-Mail-Benachrichtigung erstellen, für die die Vorlage verwendet wird. Mittlerweile sollte
ihnen die folgende Vorgehensweise vertraut sein:
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Workflowregeln.
2. Klicken Sie auf Neue Regel.
3. Wählen Sie in der Dropdownliste "Objekt" den Eintrag Position (Stelle) aus und
klicken Sie auf Weiter.
4. Geben Sie im Textfeld Regelname den Wert Email New Position Alert
(E-Mail-Benachrichtigung bei neuer Stelle) ein.
5. Geben Sie im Textfeld Beschreibung den Text Send an email to
everyone whenever a position record is opened (E-Mail an alle
senden, wenn ein Stellendatensatz geöffnet wird).
Wir möchten, dass diese Regel ausgeführt wird, wenn der Status eines Stellendatensatzes in
"Open - Approved" (Offen - Genehmigt) geändert wird.
6. Wählen Sie im Feld Regel auswerten, wenn ein Datensatz: die Option erstellt
wird, und jederzeit, wenn er bearbeitet wird, damit er
bestimmten Kriterien entspricht aus.
7. Führen Sie in der ersten Zeile der Regelkriterien folgende Vorgänge aus:
•
•
•
Setzen Sie "Feld" auf Job Application: Status (Stellenbewerbung:
Status).
Legen Sie als Operator gleich fest.
Legen Sie für den Wert Open - Approved (Offen - Genehmigt) fest. "New
Position" (Neue Stelle) ist zwar der Standardwert in der Auswahlliste Status,
wir möchten jedoch nur die Stellen veröffentlichen, deren Ausschreibung durch
einen leitenden Angestellten genehmigt wurde.
8. Klicken Sie auf Speichern & Weiter.
Erstellen wir nun die E-Mail-Benachrichtigung für diese Workflowregel:
9. Klicken Sie im Bereich "Sofortige Workflowaktionen" auf Workflowaktion
hinzufügen und wählen Sie Neue E-Mail-Benachrichtigung.
316
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
10. Geben Sie im Textfeld Beschreibung den Wert Email New Position Alert
(E-Mail-Benachrichtigung bei neuer Stelle) ein.
11. Klicken Sie neben dem Feld E-Mail-Vorlage auf das Nachschlagesymbol (
und wählen Sie Recruiting App: New Position Alert
(Personalbeschaffungsanwendung: Benachrichtigung bei neuer Stelle) aus.
)
Wir möchten diese E-Mail an alle Mitarbeiter von Universal Containers senden, es gibt bei
dieser Workflowregel jedoch keine einfache Möglichkeit dies zu tun. Wir können das Problem
umgehen, indem wir unsere Rollenhierarchie nutzen und die E-Mail an alle Mitglieder der
Rolle CEO und an deren nachgeordnete Positionen senden.
12. Wählen Sie im Feld für die Empfängertypsuche Rolle und nachgeordnete
Positionen aus.
13. Wählen Sie in der Liste "Verfügbare Empfänger" Rolle und nachgeordnete
Positionen: CEO aus und klicken Sie auf Hinzufügen.
14. Klicken Sie auf Speichern.
15. Klicken Sie auf Fertig.
16. Klicken Sie auf Aktivieren.
Das ist schon alles. Um diese Workflowregel auszuprobieren, müssen Sie nur einen neuen
Stellendatensatz erstellen und ihm den Status "Open - Approved" (Offen - Genehmigt)
zuweisen. Innerhalb weniger Sekunden erhalten alle Benutzer in Ihrer Organisation eine
E-Mail, in der sie über die neu erstellte Stelle informiert werden. Also legen Sie los und
probieren Sie es aus.
Beyond the Basics
Wussten Sie, dass Sie über die Entwicklerkonsole Fehler in Apex, in Workflowregeln und
in der Validierungslogik beheben können?
Angenommen, Sie möchten eine Workflowregel debuggen, die nicht richtig funktioniert.
In der Konsole können Sie Schritt für Schritt das Ausführungsprotokoll aller Vorgänge,
die während der Anfrage ausgeführt wurden Zeile für Zeile durchgehen, bis Sie das
Problem gefunden haben.
Zugriff auf die Entwicklerkonsole erhalten Sie durch Klicken auf Ihr Name >
Entwicklerkonsole. Weitere Informationen erhalten Sie, indem Sie in der
Entwicklerkonsole auf Hilfe klicken.
317
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Einführung in Genehmigungen
Wenden wir uns, nachdem wir soeben einige Workflowregeln erstellt haben, einem anderen
Geschäftslogikwerkzeug zu, das die Plattform bietet: und zwar den Genehmigungsprozessen.
Mithilfe von Genehmigungsprozessen können Sie eine Abfolge von Schritten angeben, die
für die Genehmigung eines Datensatzes erforderlich sind. Für jeden Schritt sind ein oder
mehrere zugewiesene Genehmiger zulässig, die einen Datensatz annehmen oder ablehnen
können. Die Schritte können auf alle Datensätze für das dem Prozess zugeordnete Objekt
angewendet werden oder nur auf die Datensätze, die bestimmte Anforderungen erfüllen. Wie
beim Workflow haben Sie auch bei Genehmigungsprozessen die Möglichkeit, Aktionen
anzugeben – beispielsweise das Senden einer E-Mail-Benachrichtigung, das Aktualisieren
eines Feldwerts oder das Zuweisen einer Aufgabe –, die immer durchgeführt werden sollen,
wenn ein Datensatz genehmigt, abgelehnt, zur Genehmigung eingereicht oder zurückgerufen
wird.
Abbildung102: Genehmigungsprozesse bestehen aus Schritten und Aktionen
318
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Ihre Organisation sieht möglicherweise einen dreistufigen Prozess zur Genehmigung von
Ausgaben vor: eingereichte Ausgaben, die weniger als 50 US-Dollar betragen, werden
automatisch genehmigt, Ausgaben über 50 US-Dollar müssen von einem Manager, also
Vorgesetzten, genehmigt werden und Ausgaben über 5.000 US-Dollar müssen zusätzlich von
einem Vice President genehmigt werden. In diesem Beispiel würde im Genehmigungsprozess
Folgendes angegeben:
•
•
•
•
•
•
Wenn ein Spesendatensatz zur Genehmigung eingereicht wird, sperren Sie den Datensatz,
sodass er nicht mehr von den Benutzern bearbeitet werden kann, und ändern Sie den Status
in "Gesendet".
Wenn der Betrag 50 US-Dollar nicht überschreitet, genehmigen Sie die Anforderung
automatisch.
Wenn der Betrag über 50 US-Dollar liegt, senden Sie eine Genehmigungsanfrage an den
direkten Vorgesetzten.
Wenn der Betrag über 5.000 US-Dollar liegt und die erste Genehmigungsanfrage genehmigt
wurde, senden Sie eine Genehmigungsanfrage an den Vice President.
Wenn alle Genehmigungsanfragen genehmigt wurden, ändern Sie den Status in
"Genehmigt" und heben Sie die Sperre des Datensatzes auf.
Falls eine Genehmigungsanfrage abgelehnt wurde, ändern Sie den Status in "Abgelehnt"
und heben Sie die Sperre des Datensatzes auf.
Im Falle unserer Personalbeschaffungsanwendung werden wir einen ähnlichen
Genehmigungsprozess definieren, um neue Stellen zur Genehmigung einzureichen. Wir
möchten sicherstellen, dass sämtliche Stellen, die von Mitarbeitern eingereicht werden, von
dessen Manager, also Vorgesetztem, genehmigt werden, und dass sämtliche Stellen mit einem
Mindestgehalt von über 150.000 US-Dollar vom CEO genehmigt werden. Legen wir also los.
Planung von Genehmigungsprozessen
In den meisten Fällen wird im Vorfeld eine gewisse Planung erforderlich sein, bevor Sie einen
Genehmigungsprozess selbst implementieren. In der Checkliste, die unter "Erste Schritte mit
Genehmigungsprozessen" in der Salesforce-Hilfe zu finden ist, wird dargestellt, welche Punkte
Sie beachten müssen und welche Komponenten Sie erstellen müssen, bevor Sie loslegen.
Bei diesem Genehmigungsprozess ist der einzige vorbereitende Schritt, den wir durchführen
müssen, das Definieren einer E-Mail-Vorlage, die verwendet werden kann, um den
zugewiesenen Genehmiger zu benachrichtigen, dass eine anstehende Genehmigungsanfrage
für ihn vorliegt.
Beyond the Basics
319
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Wenn für Ihre Organisation Chatter aktiviert ist, können Ihre Benutzer
Genehmigungsanfragen als Posts in ihren Chatter-Feeds empfangen. Sie können auch
anpassen, wie Genehmigungsanfragen im Feed angezeigt werden, indem Sie Postvorlagen
erstellen und diese den Genehmigungsprozessen zuweisen. Wie das funktioniert, erfahren
Sie im Detail unter "Informationen zu Genehmigungen in Chatter" in der Salesforce-Hilfe.
Da wir Benachrichtigungen für Salesforce1 aktiviert haben, können Ihre Benutzer
Benachrichtigungen innerhalb der Anwendung und Push-Benachrichtigungen empfangen,
wenn jemand einen Datensatz zur Genehmigung einreicht. Einzelne Benutzer können
Benachrichtigungen für Genehmigungsanfragen per E-Mail und in Salesforce1 über das
Benutzerfeld Genehmigungsanfrage-E-Mails empfangen individuell aktivieren
oder deaktivieren. Weitere Informationen finden Sie in der Salesforce-Hilfe unter "Ändern
der Einstellungen für den Genehmigungsbenutzer".
Probieren Sie es aus: Erstellen einer
E-Mail-Vorlage für Genehmigungen
Da wir im Abschnitt Einführung zu E-Mail-Vorlagen auf Seite 311 bereits über
E-Mail-Vorlagen gesprochen haben, nehmen wir nur die Werte aus der folgenden Tabelle
auf, die wir für die Vorlage verwenden möchten. Sie können die Vorlage unter "Setup" erstellen,
indem Sie auf Kommunikationsvorlagen > E-Mail-Vorlagen klicken.
Tabelle43: Die E-Mail-Vorlage "Recruiting App: New Position Requires Approval"
(Personalbeschaffungsanwendung: Für die neue Stelle ist eine Genehmigung erforderlich)
Parameter
Wert
Vorlagentyp
Text
Zur Verwendung
verfügbar
Ausgewählt
E-Mail-Vorlagenname Recruiting App: New Position Requires Approval
(Personalbeschaffungsanwendung: Für die neue Stelle ist eine
Genehmigung erforderlich)
320
Kodierung
Westeuropäisch (ISO-8859-1, ISO-LATIN-1
Beschreibung
Send notification email to designated approver
when new position record requires approval.
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Parameter
Wert
(Benachrichtigungs-E-Mail an festgelegten
Genehmiger senden, wenn für einen neuen
Stellendatensatz eine Genehmigung erforderlich
ist.)
Thema
New Position Requires Approval (Für die neue
Stelle ist eine Genehmigung erforderlich)
E-Mail-Nachrichtentext A new position record has been submitted for
your approval. Please visit the link below and
either approve or reject it. (Ein neuer Stellendatensatz
ist gesendet worden, damit Sie ihn genehmigen. Folgen Sie dem unten
stehenden Link und genehmigen Sie die Stelle oder lehnen Sie sie
ab.)
{!Position__c.Link}
Thanks! (Vielen Dank!)
Probieren Sie es aus: Erstellen eines
Genehmigungsprozesses
Nun, da wir unsere Vorbereitung abgeschlossen haben, können wir den Genehmigungsprozess
an sich definieren. Die Definition des Genehmigungsprozesses liefert das Grundgerüst für die
Genehmigungsschritte und -aktionen, die wir später noch definieren werden.
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Genehmigungsprozesse.
2. Wählen Sie in der Dropdownliste "Genehmigungsprozesse verwalten für" die Option
Position (Stelle) aus.
Uns stehen zwei verschiedene Assistenten für die Erstellung eines neuen
Genehmigungsprozesses zur Verfügung: ein Schnellstartassistent und ein Standardassistent
für das Setup. Der Schnellstartassistent legt bereits einige Standardwerte für uns fest, sodass
wir nur Festlegungen für die wichtigsten Felder vornehmen müssen: die E-Mail-Vorlage für
Genehmigungszuordnungen, die Filterkriterien für den Start des Genehmigungsprozesses und
die zugewiesenen Genehmiger. Mit dem Standardassistenten für das Setup können wir
andererseits jede mögliche Option für unseren Genehmigungsprozess konfigurieren. An dieser
321
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Stelle verwenden wir daher auch letzteren Assistenten, damit wir uns alle verfügbaren Optionen
ansehen können.
3. Wählen Sie über die Dropdown-Schaltfläche Neuen Genehmigungsprozess erstellen
die Option Standardassistenten für Setup verwenden.
4. Geben Sie im Feld Prozessname den Text Approve New Position (Neue
Stelle genehmigen) ein.
5. Geben Sie im Feld Beschreibung folgenden Text ein: Ensure that a
manager approves any position that his or her employee
creates, and that any position with a minimum salary of
more than $150,000 is approved by the CEO (Sicherstellen, dass ein
Vorgesetzter jede Stelle genehmigt, die sein Mitarbeiter erstellt, und dass jede Stelle
mit einem Mindestgehalt von über 150.000 US-Dollar vom CEO genehmigt wird).
6. Klicken Sie auf Weiter.
Nachdem wir den Namen und die Beschreibung eingegeben haben, müssen wir im nächsten
Schritt die Bedingungen angeben, mit denen festgelegt wird, welche Stellen genehmigt werden
müssen. Wie auch schon bei den Workflowregeln können wir auch hierfür entweder einen
Satz aus Kriterien definieren oder eine Formel erstellen. Definieren wir die Kriterien so, dass
alle Stellen, die von einem anderen Benutzer als dem CEO erstellt werden, von mindestens
einem direkten Vorgesetzten genehmigt werden müssen.
7. Wählen Sie in der ersten Zeile der Filterkriterien Current User: Role not
equal to CEO (Aktueller Benutzer: Rolle nicht gleich CEO) .
8. Klicken Sie auf Weiter.
9. Wählen Sie in der Dropdownliste Nächster automatischer Genehmiger
bestimmt durch die Option Manager.
Das Feld Manager ist ein Standardfeld im Benutzerobjekt, das den Vorgesetzten des Benutzers
angibt. Das Feld stellt eine hierarchische Beziehung zwischen den Benutzern her, die verhindert,
dass Sie einen Benutzer auswählen, der direkt oder indirekt sich selbst unterstellt ist. Dieser
Manager wird der zugewiesene Genehmiger für den ersten Schritt in unserem
Genehmigungsprozess.
Alternativ können Sie auch die Option Neues hierarchisches Beziehungsfeld
erstellen in der Dropdownliste auswählen, um spontan ein neues benutzerdefiniertes
Nachschlagefeld für hierarchische Beziehungen zu definieren. Der Feldtyp für hierarchische
Beziehungen ist speziell auf das Benutzerobjekt ausgerichtet und ahmt das Verhalten des
standardmäßigen Felds Manager nach, indem ein Benutzer einem anderen Benutzer zugeordnet
wird, ohne dass der entsprechende Benutzer sich selbst zugeordnet wird. Für diesen
Genehmigungsprozess jedoch eignet sich das standardmäßige Feld Manager perfekt, sodass
wir direkt fortfahren können.
322
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung103: Angeben des Genehmigerfelds
10. Aktivieren Sie das Kontrollkästchen Use Approver Field of Position
Owner (Genehmigerfeld von Stelleninhaber verwenden).
Das Kontrollkästchen Use Approver Field of Position Owner (Genehmigerfeld von
Stelleninhaber verwenden) kann bearbeitet werden, wenn Sie "Manager" in der Dropdownliste
Nächster automatischer Genehmiger bestimmt durch auswählen. Wenn Sie dieses
Kontrollkästchen aktivieren, wird die Genehmigungsanfrage an den im Feld Manager
angegeben Benutzer im Benutzerdatensatz des Datensatzinhabers weitergeleitet. Falls Sie
dieses Kontrollkästchen nicht aktivieren, wird die Genehmigungsanfrage an den Manager,
also den Vorgesetzten, des Benutzers weitergeleitet, der den Datensatz eingereicht hat. In
unserem Fall möchten wir die Genehmigung vom Manager des Stelleninhabers erhalten und
müssen das Kontrollkästchen demzufolge aktivieren.
11. Wählen Sie im Abschnitt "Bearbeitbarkeitseigenschaften des Datensatzes" die Option
NUR Administratoren können Datensätze während des
Genehmigungsprozesses bearbeiten.
Über die Bearbeitbarkeit der Datensätze können Sie angeben, ob ein Datensatz, der zur
Genehmigung eingereicht wurde, vom Genehmiger bearbeitet werden darf, bevor er genehmigt
wird. Da wir nicht möchten, dass Manager Stellen, die ein Einstellungs-Manager oder
Personalbeschaffungsmitarbeiter erstellt hat, ändern, ohne den Inhaber zu benachrichtigen,
lassen wir Bearbeitungen durch Administratoren nur zu, solange sich der Datensatz noch in
unserem Genehmigungsprozess befindet.
12. Klicken Sie auf Weiter.
13. Wählen Sie im Nachschlagefeld E-Mail-Vorlage für
Genehmigungszuordnungen die Option Recruiting App: New Position Requires
Approval (Personalbeschaffungsanwendung: Für die neue Stelle ist eine
Genehmigung erforderlich).
14. Klicken Sie auf Weiter.
Unser nächster Schritt bei der Definition des Genehmigungsprozesses besteht darin, dass wir
angeben, welche Felder im Seitenlayout für die Genehmigung (das der Genehmiger sieht,
wenn er einen Datensatz genehmigt oder ablehnt) angezeigt werden sollen. Jeder
Genehmigungsprozess verfügt über sein eigenes Seitenlayout und im Gegensatz zu anderen
323
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Seitenlayouts kann das Seitenlayout für die Genehmigung nur innerhalb des zugehörigen
Genehmigungsprozesses konfiguriert werden.
15. Verschieben Sie die folgenden Felder von "Verfügbare Felder" in "Ausgewählte
Felder".
•
•
•
•
•
•
•
•
•
Position Title (Stellentitel)
Owner (Inhaber)
Hiring Manager (Einstellungs-Manager)
Type (Typ)
Location (Standort)
Hire By (Einstellen bis)
Job Description (Tätigkeitsbeschreibung).
Min Pay (Mindestgehalt)
Max Pay (Höchstgehalt)
Abbildung104: Definieren des Seitenlayouts für die Datensatzgenehmigung
324
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Auf dieser Seite können wir zudem angeben, ob Informationen zum Genehmigungsverlauf
im Seitenlayout für die Genehmigung angezeigt werden sollen. Diese Informationen zeigen,
ob der betreffende Datensatz in der Vergangenheit bereits zur Genehmigung eingereicht
wurde, welche Personen in dem Fall die zugewiesenen Genehmiger waren und ob der Datensatz
genehmigt oder abgelehnt wurde.
16. Wählen Sie die Option Zusätzlich zu den oben ausgewählten Feldern
Informationen zum Genehmigungsverlauf anzeigen.
Schließlich können wir, bevor wir diese Seite verlassen, Sicherheitseinstellungen festlegen, um
zu bestimmen, ob Genehmiger über einen beliebigen Browser, einschließlich solchen auf
Mobilgeräten, auf eine externe Version der Genehmigungsseite zugreifen können, ohne sich
bei Salesforce anmelden zu müssen. Sofern dies nicht zwingend für Ihre Genehmiger
erforderlich ist, empfiehlt es sich, diese Option nicht auszuwählen, da Sie dann keine
Genehmigungsschritte hinzufügen können, in denen die Benutzer den nächsten Genehmiger
manuell auswählen können. Wir behalten vorerst die Standardauswahl bei.
17. Klicken Sie auf Weiter.
Auf der letzten Seite des Assistenten für neue Genehmigungsprozesse haben wir die Möglichkeit
auszuwählen, welche Personen berechtigt sind, Stellendatensätze zur Genehmigung
einzureichen. Und wieder behalten wir den standardmäßig ausgewählten "Position Owner"
(Stelleninhaber) bei, da es keinen Grund dafür gibt, dass ein anderer Benutzer diese
Berechtigung haben sollte.
Mit den beiden letzten Optionen auf dieser Seite können wir die Themenliste
"Genehmigungsverlauf" auf allen Seitenlayouts für "Position" (Stelle) platzieren und den
Benutzern die Möglichkeit geben, anstehende Genehmigungsanfragen zurückzurufen. Die
Themenliste "Genehmigungsverlauf" ist dieselbe Verlaufsthemenliste, die wir in das Seitenlayout
für die Genehmigung aufgenommen haben, also fügen wir sie auch in die Detailseite "Position"
(Stelle) ein. In dieser Themenliste können die Benutzer auch auf die Schaltfläche
Genehmigungsanfrage abrufen klicken, um ihre anstehenden Genehmigungsanfragen
zurückzuziehen. Falls wir letztere Option nicht aktivieren, haben nur Administratoren Zugriff
auf die Schaltfläche Genehmigungsanfrage abrufen.
18. Wählen Sie Add Approval History Related List to All Position
Page Layouts (Themenliste "Genehmigungsverlauf" in alle Stellen-Seitenlayouts
einfügen).
19. Wählen Sie Sendern das Abrufen von Genehmigungsanfragen
genehmigen.
20. Klicken Sie auf Speichern.
Puh! Wir haben nun das Grundgerüst für unseren Genehmigungsprozess definiert, aber wir
können den Prozess erst aktivieren, wenn wir einige Schritte und Aktionen angegeben haben,
325
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
die gestartet werden, wenn Datensätze tatsächlich genehmigt oder abgelehnt werden. Fahren
wir also damit fort.
21. Wählen Sie Ja, ich möchte nun einen Genehmigungsschritt
erstellen.
22. Klicken Sie auf Los!
Probieren Sie es aus: Erstellen von
Genehmigungsschritten
Wie bereits erwähnt, besteht jeder Genehmigungsprozess aus einer Reihe von Schritten, die
erforderlich sind, um einen Datensatz zu genehmigen. Dabei ist es für jeden Schritt möglich,
dass einer oder mehrere zugewiesene Genehmiger den eingereichten Datensatz annehmen
oder ablehnen. Anders ausgedrückt: Jede Runde von "Signaturen", die Sie benötigen, um einen
Datensatz genehmigen zu lassen, muss einen entsprechenden Schritt im Genehmigungsprozess
aufweisen. Ein Genehmigungsschritt umfasst Folgendes:
•
•
•
•
•
Ein oder mehrere zugewiesene Genehmiger
Optionale Filterkriterien, sodass nur Datensätze, die bestimmte Bedingungen erfüllen,
eine Genehmigung bei dem entsprechenden Schritt benötigen
Optionale Schrittgenehmigungsaktionen, die unabhängig vom Ergebnis des gesamten
Genehmigungsprozesses ausgeführt werden
Optionale Schrittablehnungsaktionen, die unabhängig vom Ergebnis des gesamten
Genehmigungsprozesses ausgeführt werden
Optionale Schrittabrufaktionen, die ausgeführt werden, falls der Datensatz abgerufen wird
Für unseren Genehmigungsprozess für "New Position" (Neue Stelle) müssen wir zwei Schritte
definieren – einen, der die Genehmigung durch den Manager des Datensatzeinreichers für
alle Datensätze für neue Stellen erfordert, und einen, der die zusätzliche Genehmigung durch
den CEO für Stellendatensätze mit Mindestgehältern über 150.000 US-Dollar erfordert.
Definieren wir nun den ersten Schritt für alle Datensätze für neue Stellen.
Da wir Ja, ich möchte nun einen Genehmigungsschritt erstellen am Ende
des Assistenten für Standardgenehmigungsprozesse im letzten Abschnitt ausgewählt haben,
befinden wir uns bereits im Assistenten für den neuen Genehmigungsschritt. Falls nicht,
könnten wir über folgende Schritte zu eben diesem Assistenten zurückkehren:
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Genehmigungsprozesse.
2. Klicken Sie in der Themenliste "Inaktive Genehmigungsprozesse" auf Approve New
Position (Neue Stelle genehmigen).
326
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
3. Klicken Sie in der Themenliste "Genehmigungsschritte" auf Neuer
Genehmigungsschritt.
Bei diesem ersten Schritt möchten wir, dass die Genehmigungsanfrage an die Manager des
Stelleninhabers geht:
4. Geben Sie im Feld Name den Text Manager Approval (Genehmigung durch
den Vorgesetzten) ein.
5. Im Feld Beschreibung geben Sie Every new position record must
be approved by the Position owner's manager (Jeder neue
Stellendatensatz muss vom Vorgesetzten des Stelleninhabers genehmigt werden)
ein.
6. Im Feld Schrittnummer geben Sie 1 ein.
Das Feld Schrittnummer gibt die Reihenfolge an, in der mehrere Schritte verarbeitet werden
sollten. Wenn Sie diesen Schritt als Schritt 1 angeben, wird dieser zuerst ausgeführt, wenn der
Genehmigungsprozess gestartet wird.
7. Klicken Sie auf Weiter.
Im Bereich "Schrittkriterien angeben" können wir die Kriterien angeben oder eine Formel
erstellen, mit der die Datensätze gefiltert werden, die bei diesem Schritt genehmigt werden
müssen. Da wir bereits die Stellendatensätze, deren Inhaber der CEO ist, vom gesamten
Genehmigungsprozess herausgefiltert haben, ist für diesen Schritt keine zusätzliche Filterung
erforderlich.
8. Klicken Sie auf Weiter.
Zu guter Letzt müssen wir den zugewiesenen Genehmiger für diesen Schritt auswählen und
angeben, ob dessen Delegierter die Anfrage ebenfalls genehmigen darf. Da es sich hierbei um
den Schritt "Genehmigung durch den Vorgesetzten" handelt, ist es eindeutig sinnvoll, die
Standardoption Automatisch mithilfe des zuvor ausgewählten
benutzerdefinierten Felds zuweisen (Vorgesetzter) zu akzeptieren. Da
Stellendatensätze jedoch nicht besonders sensibel sind, ist es unproblematisch, dass Vorgesetzte
delegierte Genehmiger zuweisen. Demzufolge können Vorgesetzte, die im Urlaub sind oder
große Mengen an Genehmigungsanfragen erhalten, ihre Arbeit gemeinsam mit einem anderen
Mitarbeiter erledigen.
9. Wählen Sie Der Delegierte des Genehmigers kann dieser Anfrage
auch zustimmen.
10. Klicken Sie auf Speichern.
Nachdem wir unseren ersten Genehmigungsschritt abgeschlossen haben, haben wir folgende
Möglichkeiten: Wir können entweder optionale Genehmigungs- oder Ablehnungsaktionen
für diesen Schritt erstellen oder zur Detailseite für den Genehmigungsprozess zurückkehren.
327
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Auch wenn wir letztendlich die finalen Genehmigungs- und Ablehnungsaktionen angeben
müssen, die stattfinden, wenn der Genehmigungsprozess auf die eine oder andere Weise endet,
gibt es nichts Bestimmtes, das nach diesem Schritt getan werden muss und das nicht an anderer
Stelle angegeben werden könnte. Kehren wir nun zur Detailseite für unseren
Genehmigungsprozess zurück und definieren wir unseren zweiten Genehmigungsschritt für
stellen mit Mindestgehältern von über 150.000 US-Dollar.
11. Wählen Sie Nein, ich mache das später. Ich möchte nun die
Detailseite für den Genehmigungsprozess anzeigen, um zu
überprüfen, was ich gerade erstellt habe.
12. Klicken Sie auf Los!.
13. Klicken Sie in der Themenliste "Genehmigungsschritte" auf Neuer
Genehmigungsschritt.
Wir sind somit wieder zum Assistenten für neue Genehmigungsschritte zurückgekehrt, der
jedoch diesmal eine Zusammenfassung unseres zuvor erstellten Schritts enthält. Somit können
wir uns besser merken, wo in unserem Genehmigungsprozess wir uns gerade befinden.
Abbildung105: Definieren eines zweiten Genehmigungsschritts
14. Geben Sie im Feld Name den Text CEO Approval (Genehmigung durch den
CEO) ein.
328
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
15. Im Feld Beschreibung geben Sie folgenden Text ein: Every new position
record with a minimum salary over $150,000 must be approved
by the CEO (Jeder neue Stellendatensatz mit einem Mindestgehalt von über
150.000 US-Dollar muss vom CEO genehmigt werden).
16. Geben Sie im Feld Schrittnummer die Zahl 2 ein.
17. Klicken Sie auf Weiter.
Bei diesem Genehmigungsschritt geht es darum, dass wir nur Stellen mit einem Mindestgehalt
von über 150.000 US-Dollar an den CEO senden möchten. Zudem möchten wir sämtliche
Datensätze ausschließen, die der CEO bereits genehmigt hat (z. B. weil ein dem CEO direkt
unterstellter Mitarbeiter den Datensatz erstellt hat).
18. Wählen Sie das Optionsfeld In diesen Schritt eintreten, wenn
folgendes Kriterium erfüllt ist aus und wählen Sie dann in der
Dropdownliste Kriterien erfüllt sind aus.
19. Geben Sie in der ersten Zeile mit Filtern den Text Position: Min Pay
greater or equal 150000 (Stelle: Mindestgehalt größer/gleich 150.000) ein.
Tipp: Als Abkürzung können Sie für 150.000 auch 150k eingeben.
20. Geben Sie in der zweiten Zeile mit Filtern Current User: Manager not
equal to Cynthia Capobianco (Aktueller Benutzer: Manager nicht gleich
Cynthia Capobianco). (Derzeit CEO in der Rollenhierarchie bei Universal Containers
auf Seite 219).
21. Klicken Sie auf Weiter.
Schließlich müssen wir den Genehmiger (den CEO) auswählen und angeben, was passiert,
wenn dieser diese Anfrage ablehnt.
22. Wählen Sie das Optionsfeld Automatisch Genehmiger(n) zuweisen aus.
23. Wählen Sie in der Dropdownliste unterhalb des Optionsfelds Benutzer aus, klicken
Sie auf das Nachschlagesymbol ( ) und wählen Sie den Namen des CEO in Ihrer
Organisation aus (Cynthia Capobianco).
Wir möchten diesen Genehmigungsprozess an dieser Stelle eher einfach halten, wir könnten
in diesem Schritt jedoch auch die Links Zeile hinzufügen und Zeile entfernen verwenden,
um die Genehmigungsanfrage an mehrere Genehmiger zu senden. Zudem könnten wir in der
ersten Dropdownliste in der Zeile auch Related Users (Zugeordnete Benutzer) auswählen,
um einen Genehmiger hinzuzufügen, der in den Feldern im eingereichten Datensatz aufgeführt
ist. So könnten wir beispielsweise, da es sich hierbei um einen Genehmigungsprozess für
Stellendatensätze handelt, den Einstellungs-Manager der Stelle zur Liste der Genehmiger
hinzufügen.
329
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
24. Wählen Sie unter den Links Zeile hinzufügen und Zeile entfernen die Option
Genehmigung oder Ablehnung basierend auf der ersten Antwort.
Falls wir in diesem Schritt die Genehmigung von mehreren Benutzern anfordern würden,
würden die Links Zeile hinzufügen und Zeile entfernen bestimmen, ob für die
Genehmigungsanfrage eine einstimmige Genehmigung erforderlich ist oder ob der Datensatz
basierend auf der ersten Antwort durch einen Benutzer genehmigt oder abgelehnt wird.
25. Wählen Sie Der Delegierte des Genehmigers kann dieser Anfrage
auch zustimmen.
Im nächsten Abschnitt können wir festlegen, was mit dem Datensatz geschieht, wenn er in
diesem Schritt abgelehnt wird. Da der Stellendatensatz während des Genehmigungsprozesses
für die Bearbeitung gesperrt ist, ist es am sinnvollsten, die endgültige Ablehnung vorzunehmen.
26. Wählen Sie Alle Ablehnungsaktionen für diesen Schritt
durchführen UND alle Aktionen für die endgültige Ablehnung
durchführen. (Endgültige Ablehnung) aus.
27. Klicken Sie auf Speichern.
Erneut müssen wir eine Entscheidung treffen und Genehmigungs- oder Ablehnungsaktionen
für diesen speziellen Schritt definieren. Umgehen wir diesen Schritt an dieser Stelle und kehren
wir zur Detailseite für den Genehmigungsprozess zurück, um unsere Aktionen für die
ursprüngliche Einreichung, die endgültige Genehmigung und die endgültige Ablehnung für
den gesamten Prozess zu definieren.
28. Wählen Sie Nein, ich mache das später. Ich möchte nun die
Detailseite für den Genehmigungsprozess anzeigen, um zu
überprüfen, was ich gerade erstellt habe.
29. Klicken Sie auf Los!
Probieren Sie es aus: Erstellen von
Genehmigungsaktionen
Nun, da wir die Definition der Schritte in unserem Genehmigungsprozess abgeschlossen
haben, sind wir fast fertig. Wir müssen nur noch die Genehmigungsaktionen angeben, die
durchgeführt werden sollen, wenn ein Datensatz erstmalig eingereicht oder abschließend
genehmigt oder abgelehnt wurde.
Wie bei Workflowaktionen können Sie auch bei Genehmigungsaktionen Aufgaben erstellen
und zuweisen, Felder aktualisieren und E-Mail-Aktualisierungen und ausgehende Nachrichten
330
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
senden. Sie können mit dem Genehmigungsprozess als Ganzem oder mit einzelnen
Genehmigungsschritten verknüpft sein.
Abbildung106: Die Detailseite für den Genehmigungsprozess
Da die Definition von Genehmigungsaktionen kaum Unterschiede zu der Erstellung von
Workflowaktionen aufweist, gehen wir rasch zusammen die Aktualisierung des Felds Status
auf "Pending Approval" (Genehmigung ausstehend) durch, wenn eine Stelle ursprünglich
eingereicht wird, und überlassen Ihnen dann die anderen Genehmigungsaktionen als Übungen.
331
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
1. Sofern Sie sich noch nicht auf der Detailseite für den Genehmigungsprozess befinden,
klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Genehmigungsprozesse und dann auf Approve New Position (Neue Stelle
genehmigen).
2. Klicken Sie in der Themenliste "Aktionen beim ursprünglichen Einreichen" auf
Neue hinzufügen und wählen Sie Feldaktualisierung aus.
Kommt Ihnen die Seite für neue Feldaktualisierungsaktionen bekannt vor? Das liegt daran,
dass wir sie schon einmal gesehen haben: für alle Genehmigungsaufgaben, Feldaktualisierungen,
E-Mail-Benachrichtigungen und ausgehenden Nachrichten wird dieselbe
Bearbeitungsoberfläche verwendet wie für Workflowaktionen. Es ist sogar so, dass alle
Workflow- und Genehmigungsaktionen, die Sie erstellen, jeweils sowohl in Workflow- als
auch in Genehmigungsprozessen verwendet werden können.
3. Geben Sie im Feld Name den Text Set Status to Pending Approval
(Status auf "Genehmigung ausstehend" setzen) ein.
4. Geben Sie im Feld Beschreibung den Text While a position is in an
approval process, its status should be set to Pending
Approval (Während sich eine Stelle in einem Genehmigungsprozess befindet,
sollte ihr Status auf "Genehmigung ausstehend" gesetzt sein).
5. Wählen Sie in der Dropdownliste Zu aktualisierendes Feld die Option
"Status" aus.
6. Wählen Sie im Bereich "Optionen in der Auswahlliste" die Option Ein
bestimmter Wert und wählen Sie "Pending Approval" (Genehmigung ausstehend)
aus der Liste aus.
7. Klicken Sie auf Speichern.
Stellen Sie nun den Rest des Genehmigungsprozesses fertig: Definieren Sie selbst die restlichen
Genehmigungsaktionen gemäß den Werten in der folgenden Tabelle .
Tabelle44: Weitere Genehmigungsaktionen
Kategorie
Typ
Werte
Aktionen für
endgültige
Genehmigung
Feldaktualisierung
Name: Set Status to Open Approved (Status
auf "Offen - Genehmigt" setzen)
Zu aktualisierendes Feld: Status
Ein bestimmter Wert: Open - Approved
(Offen - Genehmigt)
332
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Kategorie
Typ
Aktionen für
Feldaktualisierung
endgültige Ablehnung
Werte
Name: Set Status to Closed - Not Approved
(Status auf "Geschlossen - Nicht genehmigt"
setzen)
Zu aktualisierendes Feld: Status
Ein bestimmter Wert: Closed - Not Approved
(Geschlossen - Nicht genehmigt)
Aktionen für
Feldaktualisierung
endgültige Ablehnung
Name: Set Close Date to Today ("Offen bis"
auf "Heute" setzen)
Zu aktualisierendes Feld: Close Date (Offen
bis)
Neuen Wert mithilfe einer Formel festlegen:
TODAY()
Probieren Sie es aus: Aktivieren des
Genehmigungsprozesses
Wir haben nun die Definition unseres Genehmigungsprozesses "Approve New Position" (Neue
Stelle genehmigen) vollständig abgeschlossen, aber um ihn testen zu können, bleibt noch ein
abschließender Schritt zu tun: Wir müssen ihn aktivieren. Tun Sie dies jedoch nicht leichtfertig!
Sobald ein Genehmigungsprozess aktiviert wurde, können seine Genehmigungsschritte nicht
mehr bearbeitet werden, auch dann nicht, wenn Sie den Prozess wieder deaktivieren.
Änderungen können nur vorgenommen werden, indem der bestehende Genehmigungsprozess
dupliziert und die Bearbeitungen am duplizierten Prozess durchgeführt werden.
Gehen Sie wie folgt vor, um den Genehmigungsprozess zu testen:
1. Klicken Sie unter "Setup" auf Erstellen > Workflow & Genehmigungen >
Genehmigungsprozesse, um zu der Seite mit der Liste der Genehmigungsprozesse
zurückzukehren.
2. Klicken Sie neben dem Genehmigungsprozess "Approve new Position" (Neue Stelle
genehmigen) auf Aktivieren.
Der Genehmigungsprozess "Approve new Position" (Neue Stelle genehmigen) wird automatisch
in die Liste der aktiven Elemente verschoben und es wird ein neues Feld angezeigt:
333
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Prozessreihenfolge. Dieses Feld ist wichtig, wenn wir versuchen, mehrere
Genehmigungsprozesse gleichzeitig zu verwenden, da es angibt, in welcher Reihenfolge die
einzelnen Genehmigungsprozesse ausgewertet werden sollen.
Rekapitulation
Wie wir gesehen haben, sind Genehmigungsprozesse von Natur aus komplex und ihre
Einrichtung erfordert einen gewissen Aufwand. Sie müssen mehrere Bildschirme aufrufen und
mehrere Parameter festlegen, sodass es schwierig ist, den Genehmigungsprozess zu visualisieren
und ganzheitlich zu verstehen.
Glücklicherweise enthält die Force.com-Plattform einen Process Visualizer, der die einzelnen
Genehmigungsprozesse als Flussdiagramm darstellt. Das Flussdiagramm enthält alle wichtigen
Details für die einzelnen Genehmigungsprozesse, einschließlich der erforderlichen Schritte
für die Genehmigung von Datensätzen, die zugewiesenen Genehmiger für die einzelnen
Schritte, die Kriterien, die zum Auslösen des Genehmigungsprozesses verwendet werden,
sowie die Aktionen, die durchgeführt werden, wenn ein Datensatz genehmigt, abgelehnt,
zurückgerufen oder erstmals zur Genehmigung eingereicht wird.
Um auf den Process Visualizer zuzugreifen, klicken Sie oben auf einer beliebigen Detailseite
für einen Genehmigungsprozess auf Diagramm anzeigen.
334
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung107: Der Process Visualizer
Testen wir nun unseren Genehmigungsprozess:
1. Klicken Sie unter "Setup" auf Benutzer verwalten > Benutzer und bearbeiten Sie
den Benutzerdatensatz für Ihren Personalbeschaffungsmanager, indem Sie das Feld
Manager ausfüllen, sodass die Genehmigungskette ordnungsgemäß eingerichtet
ist. Legen Sie "Amy Lojack" (die Produktmanagerin) als Manager für "Phil Katz"
fest.
2. Melden Sie sich als Phil Katz bei der Anwendung an und erstellen Sie eine neue
Stelle.
Beachten Sie, dass nach dem Klicken auf Speichern auf der Detailseite die Schaltfläche Für
Genehmigung einreichen in der neuen Themenliste "Genehmigungsverlauf" angezeigt wird.
335
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung108: Die Schaltfläche "Für Genehmigung einreichen"
3. Klicken Sie auf Für Genehmigung einreichen und dann auf OK.
Das Klicken auf Für Genehmigung einreichen bewirkt mehrere Vorgänge. Zunächst wird
der Datensatz gegen Bearbeitung gesperrt, worauf das Symbol mit dem Vorhängeschloss oben
auf der Seite hinweist. Außerdem werden zwei neue Einträge in der Themenliste
"Genehmigungsverlauf" angezeigt, aus denen ersichtlich ist, wer den Datensatz eingereicht
hat und wie die aktuelle Genehmigungszuordnung lautet. Schließlich erhält der vorgesetzte
Manager des Stelleninhabers eine E-Mail, die angibt, dass eine neue Stelle genehmigt werden
muss.
336
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Abbildung109: Ein eingereichter Stellendatensatz
Wenn sich der Manager das nächste Mal anmeldet und den Datensatz aufruft, ist in der
Themenliste "Genehmigungsverlauf" die Schaltfläche Genehmigen/Ablehnen zu sehen. Er
kann auf diese Schaltfläche klicken, um die Genehmigungsanfrage anzuzeigen, und den
Datensatz genehmigen bzw. ablehnen (mit Kommentaren).
4. Melden Sie sich als Amy Lojack an, die unmittelbar vorgesetzte Managerin, die für
die Genehmigung der Anfrage zuständig ist.
337
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
5. Klicken Sie in der Themenliste "Genehmigungsverlauf" des Datensatzes auf
Genehmigen/Ablehnen, geben Sie optionale Kommentare ein und klicken Sie dann
auf Genehmigen.
Tipp: Um das Annehmen und Ablehnen von Genehmigungsanfragen zu vereinfachen,
sollten Sie in Erwägung ziehen, die Themenliste "Zu genehmigende Elemente" zum
Standardlayout der Registerkarte "Startseite" hinzuzufügen.
1. Klicken Sie unter "Setup" auf Anpassen > Startseite > Startseitenlayouts.
2. Klicken Sie neben "Standardwert für Dashboard-Startseite" bzw. neben
"DE Default" auf Bearbeiten.
3. Wählen Sie Zu genehmigende Elemente aus und klicken Sie auf
Weiter.
4. Ordnen Sie die Komponente Zu genehmigende Elemente auf dem
Seitenlayout an, indem Sie sie in der Liste "Breite (rechte) Spalte" nach
Bedarf nach oben bzw. unten verschieben.
5. Klicken Sie auf Speichern.
Abbildung110: Die Seite "Genehmigungsanfrage"
338
Kapitel 9: Verwenden benutzerdefinierter Workflow- und Genehmigungsprozesse
Wenn der Genehmiger den Datensatz akzeptiert, rückt er zum nächsten Schritt des
Genehmigungsprozesses vor (wenn im Feld Min Pay (Mindestgehalt) ein höherer Wert als
150.000 Dollar steht und der CEO ihn noch nicht genehmigt hat) oder aber das Feld Status
der Stelle wird auf "Open - Approved" (Offen - Genehmigt) gesetzt. Die Datensatzdetails
bleiben gesperrt, damit sie nicht geändert werden können, die Personalbeschaffungsmitarbeiter
können jedoch die Stelle weiterhin mit Stellenbewerbungen, Aufgaben oder anderen Aktivitäten
verknüpfen. Wenn der Datensatz abgelehnt wird, wird sein Status auf "Closed - Not Approved"
(Geschlossen - Nicht genehmigt) gesetzt, das Feld Close Date (Offen bis) wird auf das
heutige Datum gesetzt und die Sperre des Datensatzes wird aufgehoben, für den Fall, dass er
kurz bearbeitet werden muss, bevor er wieder in den Genehmigungsprozess eintritt. Mit nur
wenigen Minuten Arbeit haben wir einen leistungsstarken Geschäftsprozess erstellt, der die
Produktivität aller Benutzer bei Universal Containers erhöht.
Zusammenfassung
Testen Sie nun Ihre Personalbeschaffungsanwendung! Durch die gezielte Nutzung der
integrierten Workflow- und Genehmigungsprozesstools haben wir unser Anwendungsprogramm
von einer besseren Datenbank zu einem voll funktionsfähigen Tool werden lassen, das alle
sinnvoll nutzen können.
Im nächsten Schritt nehmen wir etwas in Angriff, das insbesondere für unsere Benutzer im
Bereich Geschäftsleitung von großem Nutzen ist: Berichte und Dashboards, mit denen unsere
Benutzer eine komplette analytische Darstellung der Funktionsweise des
Personalbeschaffungsprogramms bei Universal Containers erhalten.
339
Kapitel 10
Analysieren von Daten mit Berichten und
Dashboards
Themen:
•
•
•
•
Einführung zu Berichten
Einführung zu
Dashboards
Einführung zu
benutzerdefinierten
Berichten
Rekapitulation
Wir sind mit unserer Personalbeschaffungsanwendung
schon weit gekommen. Wir verfügen nun nicht nur über
benutzerdefinierte Objekte zum Speichern unserer Daten,
sondern wir haben auch Sicherheits- und Freigaberegeln
definiert, um diese Daten zu schützen und gleichzeitig die
Zusammenarbeit innerhalb des Einstellungsteams zu
erleichtern. Außerdem haben wir Automatisierung
hinzugefügt, indem wir mehrere Geschäftsprozesse mit
Workflow und Genehmigungen implementiert haben.
Wir haben eine funktionsfähige Anwendung in der Cloud
erstellt, ohne auch nur eine einzige Zeile Code zu
schreiben.
Nun ist es an der Zeit, uns den Bedürfnissen der Manager
und Führungskräfte von Universal Containers zuzuwenden.
Da sie über viele verschiedene geschäftliche Aspekte auf
dem Laufenden bleiben müssen, benötigen wir eine
Möglichkeit, wie wir ihnen einen Überblick über die
Personalbeschaffungsaktivitäten des Unternehmens
verschaffen können, ohne sie zu zwingen, sich mit
Unmengen von Daten zu befassen. Dazu erstellen wir eine
Reihe von benutzerdefinierten Berichten für unser
Personalbeschaffungsanwendung und erstellen
anschließend ein Dashboard, mit dem die Benutzer
Zusammenfassungen bei jedem Anmeldevorgang wichtige
Statistiken der Personalbeschaffungsanwendung anzeigen
können.
341
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Einführung zu Berichten
Wir können die Benutzer bei der Überwachung und Analyse der in ihrer Organisation
generierten Daten unterstützen, indem wir Berichte erstellen. Berichte sind Zusammenfassungen
der in einer Anwendung gespeicherten Daten. Sie bestehen in erster Linie aus einer Tabelle
mit Daten, können jedoch auch Datenfilter, Gruppierungen und einen angepassten Graphen
enthalten.
Zu jeder Organisation gehört zwar automatisch eine umfassende Menge an Berichten, die
Informationen zu Standardobjekten, wie Kontakten und Accounts bereitstellen, wir können
jedoch auch benutzerdefinierte Berichte erstellen, die interessante Kennzahlen zu den Daten
aufzeigen, die in unseren benutzerdefinierten Objekten gespeichert sind.
Beispielsweise könnte ein leitender Angestellter bei Universal Containers folgende Fragen zur
Personalbeschaffung haben.
•
•
•
•
•
•
•
Wie lange brauchen die einzelnen Personalbeschaffungsmitarbeiter durchschnittlich, um
eine Stelle zu besetzen?
In welchen Funktionsbereichen gibt es die meisten offenen Stellen?
Welche Stellen sind bereits seit mehr als 90 Tagen unbesetzt?
Für welche Stellen gibt es die meisten Bewerber?
Welche Mitarbeiter führen die meisten Bewerbungsgespräche durch?
Wie sieht die Stellenbewerbungspipeline für die einzelnen offenen Stellen aus?
Wer wurde in den letzten 90 Tagen eingestellt?
Wir können alle diese Fragen und noch weitere beantworten, indem wir benutzerdefinierte
Berichte auf der Registerkarte "Berichte" der Anwendung erstellen. Auch wenn diese
Registerkarte in der Personalbeschaffungsanwendung nicht standardmäßig sichtbar ist, kann
jeder Benutzer auf den Pfeil auf der rechten Seite der Registerkartenleiste klicken und dann
durch Klicken auf Berichte zum Berichtsbereich navigieren.
342
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung111: Beispielbericht
Berichtsformate
Die Plattform unterstützt vier verschiedene Berichtsformate, jedes mit unterschiedlichen
Funktionen und unterschiedlicher Komplexität:
343
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
Tabellarische Berichte stellen die schnellste und einfachste Möglichkeit zur Betrachtung von
Daten dar. Ähnlich wie Tabellenblätter bestehen sie einfach aus einer bestimmten
Reihenfolge von Feldern in Spalten; die einzelnen entsprechenden Datensätze sind hierbei
in einer Reihe aufgeführt. Sie sind zwar einfach einzurichten, können jedoch nicht zum
Erstellen von Datengruppen oder Graphen verwendet werden. Daher werden sie am besten
nur für Aufgaben wie die Erstellung von Verteilerlisten verwendet.
Tipp: Verwenden Sie tabellarische Berichte, wenn Sie eine einfache Liste oder
eine Liste von Elementen mit einer Gesamtsumme erstellen möchten.
•
Zusammenfassungsberichte ähneln tabellarischen Berichten, jedoch haben die Benutzer hier
die Möglichkeit, Datenreihen zu gruppieren, Zwischenergebnisse/-summen anzuzeigen
und Diagramme zu erstellen. Beispielsweise werden bei den Beispielen für Berichte vom
Typ "Employee Interviewers" (Angestellte Gesprächsleiter), die im folgenden Screenshot
angezeigt werden, im Zusammenfassungsbericht die Zeilen von Reviews anhand der
möglichen Werte im Feld Inhabername gruppiert, sodass wir auf einen Blick
Zwischensummen dazu sehen können, wie oft die beiden Gesprächsleiter mit Bewerbern
gesprochen und Reviews für sie eingegeben haben.
Zusammenfassungsberichte sind zwar ein wenig zeitaufwendiger bei der Einrichtung, sie
bieten uns jedoch wesentlich mehr Optionen zur Bearbeitung und Organisation der Daten
und im Gegensatz zu tabellarischen Berichten können sie auch in Dashboards verwendet
werden. Zusammenfassungsberichte tragen die Hauptlast bei der Berichterstellung: Sie
werden feststellen, dass gemeinhin die meisten Berichte dieses Format aufweisen.
Tipp: Verwenden Sie Zusammenfassungsberichte, wenn Sie
Zwischenergebnisse/-summen basierend auf dem Wert eines bestimmten Felds
anzeigen oder einen hierarchisch gruppierten Bericht erstellen möchten,
beispielsweise die Umsatzzahlen nach Jahr und dann nach Quartal gegliedert.
•
344
Mit Matrixberichten können Sie Datensätze sowohl nach Zeile als auch nach Spalte
gruppieren. Beispielsweise gruppiert bei den folgenden Beispielen für Berichte vom Typ
"Employee Interviewers" (Angestellte Gesprächsleiter) der Matrixbericht die Review-Ziele
anhand der möglichen Werte für das Feld Inhabername und schlüsselt auch die möglichen
Werte des Felds Position (Stelle) in Spalten auf. Folglich bietet uns der Bericht
Zusammenfassungsinformationen. Beispielsweise kann entnommen werden, wie oft ein
Gesprächsleiter Bewerber befragt hat und Reviews für eine bestimmte Stelle eingegeben
hat. Diese Berichte sind besonders zeitaufwendig in der Einrichtung, sie bieten jedoch
auch die detailliertesten Einblicke in die Daten. Ebenso wie Zusammenfassungsberichte
können auch Matrixberichte Graphen aufweisen und in Dashboards verwendet werden.
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Tipp: Verwenden Sie Matrixberichte, wenn Sie Daten nach zwei verschiedenen
Dimensionen aufschlüsseln möchten, die nicht miteinander verwandt sind, wie
beispielsweise Datum und Produkt.
•
Mit verbundenen Berichten können Sie verschiedene Datenansichten aus mehreren
Berichtstypen erstellen. In verbundenen Berichten sind die Daten in Blöcken organisiert.
Die einzelnen Blöcke fungieren jeweils als "Unterbericht", mit eigenen Feldern und Spalten,
eigener Sortierung und eigener Filterung. Sie können ein Diagramm zum verbundenen
Bericht hinzufügen. Beispielsweise übernimmt der verbundene Bericht im folgenden Beispiel
Daten aus zwei Berichtstypen, die mit dem Objekt "Positions" (Stellen) verwandt sind.
Zusammen zeigt der Bericht Bewerbungen an, die zu Stellenanzeigen eingegangen sind,
die für die einzelnen Stellen veröffentlicht wurden.
Tipp: Mit verbundenen Berichten können Sie Daten aus mehreren Berichtstypen
in verschiedenen Ansichten gruppieren und anzeigen.
345
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung112: Tabellarische Berichte, Zusammenfassungsberichte, Matrixberichte
346
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
und verbundene Berichte bieten unterschiedliche Optionen zur Datenanzeige
Einrichten der Personalbeschaffungsanwendung
für Berichte
Bevor wir mit der Erstellung von Berichten beginnen, müssen wir zunächst einige Aufgaben
erledigen, um dafür zu sorgen, dass unsere Berichte problemlos in der
Berichterstellungsanwendung gefunden werden können. Wir müssen die Registerkarte
"Berichte" zur Standardregisterkartenanzeige hinzufügen, neben den Registerkarten "Positions"
(Stellen), "Candidates" (Bewerber) und "Job Applications" (Stellenbewerbungen). Außerdem
müssen wir einen Ordner erstellen, in dem alle von uns erstellten Berichte gespeichert werden.
Beide Aufgaben sind rein optional, sie verbessern jedoch die Benutzerfreundlichkeit der
Personalbeschaffungsanwendung erheblich.
Probieren Sie es aus: Hinzufügen der Registerkarte
"Berichte"
Zuerst fügen wir die Registerkarte "Berichte" der Gruppe der Standardregisterkarten hinzu,
die für jeden Benutzer der Personalbeschaffungsanwendung angezeigt werden. Hierzu müssen
wir uns noch einmal die Personalbeschaffungsanwendung ansehen, die wir anfangs im Abschnitt
Erstellen einer einfachen Anwendung auf Seite 39 erstellt haben.
1. Klicken Sie unter "Setup" auf Erstellen > Anwendungen.
2. Klicken Sie neben der Personalbeschaffungsanwendung auf Bearbeiten.
3. Fügen Sie im Abschnitt "Registerkarten wählen" die Registerkarte "Berichte" in der
Liste "Ausgewählte Registerkarten" hinzu.
4. Sie können optional auch das Kontrollkästchen Persönliche Anpassungen
von benutzerdefinierten Anwendungen des Benutzers
überschreiben aktivieren.
Bei Auswahl dieser Option wird die Registerkarte "Berichte" automatisch
standardmäßig für alle Benutzer der Registerkartenleiste hinzugefügt. Wenn Sie
Ihre Anwendung bereits bereitgestellt haben und Sie die von den vorhandenen
Benutzern vorgenommenen Änderungen lieber nicht überschreiben möchten,
deaktivieren Sie diese Option. Die Benutzer können die Registerkarte "Berichte"
dann manuell auf ihrer persönlichen Registerkartenleiste hinzufügen, indem sie auf
die Registerkarte + klicken.
5. Klicken Sie auf Speichern.
347
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Perfekt! Rufen wir nun die Registerkarte "Berichte" auf, um unsere nächste Aufgabe
auszuführen: Erstellen eines Ordners für Personalbeschaffungsberichte.
Probieren Sie es aus: Erstellen des Ordners "Recruiting
Reports" (Personalbeschaffungsberichte)
Auf der Registerkarte "Berichte" werden kürzlich angezeigte Berichte und Dashboards angezeigt,
die in Berichts- oder Dashboard-Ordnern organisiert sind. Sie können schnell den
Fensterbereich "Ordner" durchsuchen oder eine Suche nach dem gewünschten Element
durchführen. Um alle Elemente oder beispielsweise nur Berichte anzuzeigen, können Sie die
Listenansicht filtern. Jede Organisation enthält als Vorgabe Standardordner, von denen einige
Berichtsvorlagen enthalten.
"Nicht abgelegte öffentliche Berichte" ist ein Standardordner, auf den alle Benutzer zugreifen
können. Als Administrator können Sie Berichte in diesem Ordner speichern, um sie für alle
Personen in Ihrer Organisation freizugeben. Sie können alle anderen Ordner als öffentlich
festlegen, indem Sie sie für alle Benutzer freigeben. Persönliche Ordner (auch Standardordner)
wie "Meine persönlichen benutzerdefinierten Berichte" und "Meine persönlichen Dashboards"
stellen eine Ausnahme dar. Sie enthalten Berichte oder Dashboards, die für den betreffenden
Benutzer privat sind und auf die keine anderen Personen zugreifen können.
Abbildung113: Die Registerkarte "Berichte" und Ordner
Damit die Benutzer auf Ihre Berichte zugreifen können, müssen Sie ihnen Zugriff auf den
Ordner, in dem die Berichte gespeichert sind, gewähren. Erstellen wir einen Ordner für
Berichte, den unsere Benutzer problemlos finden können.
1. Klicken Sie auf der Registerkarte "Berichte" auf
neben dem Fenster "Ordner"
und wählen Sie Neuer Berichtsordner aus.
2. Geben Sie im Feld Bezeichnung des Berichtordners den Text Recruiting
Reports (Personalbeschaffungsberichte) ein. In das Feld Eindeutiger
Ordnername wird automatisch der Eintrag Recruiting_Reports eingefügt.
Behalten Sie diesen Standardwert bei.
3. Klicken Sie auf Speichern.
348
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
4. Klicken Sie neben dem Ordner "Recruiting Reports" (Personalbeschaffungsberichte)
auf
und wählen Sie dann Freigeben.
Anmerkung:
Wenn die Option "Freigeben" nicht angezeigt wird, müssen Sie lediglich die
Ordnerfreigabe aktivieren. Klicken Sie unter "Setup" auf Anpassen > Berichte &
Dashboards > Ordnerfreigabe und stellen Sie sicher, dass Zugriffsebenen für
die Freigabe von Berichts- und Dashboard-Ordnern aktivieren
ausgewählt ist.
Sie können alle Inhalte eines Berichtordners freigeben, indem Sie oben im Dialogfeld eine der
verfügbaren Optionen auswählen: "Benutzer", "Rollen", "Rollen und nachgeordnete Positionen"
oder "Öffentliche Gruppen". Wir wollen festlegen, dass alle Mitarbeiter von Universal
Containers die Berichte in diesem Ordner anzeigen aber nicht ändern können.
5. Klicken Sie auf Rollen und nachgeordnete Positionen.
6. Klicken Sie neben "CEO" auf Freigeben.
7. Vergewissern Sie sich, dass in der Spalte "Zugriff" die Zugriffsebene Betrachter
ausgewählt ist. Dadurch können alle Benutzer in Ihrem Unternehmen diesen Ordner
und die darin enthaltenen Berichte anzeigen. Das Ändern der Berichte innerhalb
des Ordners oder das Hinzufügen neuer Berichte ist jedoch Administratoren
vorbehalten.
8. Klicken Sie zum Speichern der Einstellungen auf Fertig und klicken Sie dann auf
Schließen.
Großartig. Wir können nun unseren ersten Bericht erstellen.
Erstellen eines Zusammenfassungsberichts
Wir beginnen mit der Erstellung eines Zusammenfassungsberichts, mit dem folgende Frage
beantwortet wird: "Für welche Funktionsbereiche sind die meisten neuen oder offenen Stellen
vorhanden und in welcher Region?" Dieser Bericht soll den Titel, den Einstellungs-Manager,
den Standort und den Status der einzelnen Stellen und ein Kreisdiagramm enthalten, in dem
die Daten visuell dargestellt sind. Dabei überspringen wir einige komplexere
Berichterstellungsoptionen, damit wir schnell einen Bericht erstellen können, der unseren
Anforderungen genügt. In unserem zweiten Beispiel definieren wir dann einen komplexeren
Matrixbericht, mit dem einige erweiterte Berichtsfunktionen demonstriert werden.
Da für diesen Bericht so viele verschiedene Berichtsfunktionen verwendet werden, unterteilen
wir den Vorgang in drei Teile:
349
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
1. Erstellen eines Zusammenfassungsberichts
2. Hinzufügen von Spalten und Filtern
3. Hinzufügen eines Diagramms
Probieren Sie es aus: Erstellen eines
Zusammenfassungsberichts
Zum Erstellen unseres Zusammenfassungsberichts öffnen wir zunächst den Berichtsgenerator,
einen leistungsstarken visuellen Editor für Berichte.
1. Klicken Sie auf der Registerkarte "Berichte" auf Neuer Bericht.
Der erste Schritt bei der Berichterstellung ist die Auswahl des richtigen Berichtstyps. Ein
Berichtstyp definiert den Satz an Datensätzen und Feldern, die bei einem Bericht, basierend
auf den Beziehungen zwischen einem primären Objekt und dessen dazugehörigen Objekten,
verfügbar sind. In Berichten werden nur Datensätze angezeigt, die den im Berichtstyp
definierten Kriterien entsprechen. Ihre Administratoren haben möglicherweise
benutzerdefinierte Berichtstypen eingerichtet, die Sie verwenden können. Es stehen für Sie
jedoch auch die verfügbaren Standardberichtstypen zur Wahl.
Um die Navigation in diesem Bildschirm zu erleichtern, wurden alle Objekte und Beziehungen
in Kategorien wie beispielsweise "Accounts & Kontakte" oder "Kundensupportberichte"
eingeordnet. Die benutzerdefinierten Objekte und Beziehungen, die wir für unsere
Personalbeschaffungsanwendung erstellt haben, finden Sie unter "Andere Berichte".
Anmerkung: Die Kategorie "Andere Berichte" enthält alle Berichte, die auf
benutzerdefinierten Objekten basieren. Wenn Sie ein benutzerdefiniertes Objekt
erstellt haben, das sich auf ein Standardobjekt bezieht, wie beispielsweise "Account"
oder "Kontakt", können Sie auch einen Bericht über Ihr benutzerdefiniertes Objekt
in der Kategorie des Standardobjekts ausführen.
2. Wählen Sie auf der Seite "Neuen Bericht erstellen" die Kategorie "Andere Berichte"
aus.
350
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung114: Die Kategorie "Andere Berichte" auf der Seite "Neuen Bericht erstellen"
Objekte, die über eine n:1-Beziehung mit einem anderen Objekt verfügen, wie beispielsweise
"Job Applications" (Stellenbewerbungen) und "Positions" (Stellen), können entweder einzeln
oder im Kontext mit der Beziehung zu dem anderen Objekt ausgewählt werden. Wenn wir
zum Beispiel "Job Applications" (Stellenbewerbungen) zusammen mit "Position" (Stelle)
auswählen, werden in unserem Bericht die Datensätze für "Job Applications"
(Stellenbewerbungen) gezählt, es besteht jedoch auch die Möglichkeit, nach Feldern aus den
zugehörigen Stellendatensätzen zu filtern, zu gruppieren oder anzuzeigen. Dies wird sich etwas
später beim Erstellen von Berichten, in denen Stellenbewerbungsdatensätze gezählt werden,
als sehr nützlich erweisen. Da wir momentan jedoch keine Stellendatensätze in unserem Bericht
zählen müssen und Stellen nicht auf der n-Seite der Beziehung stehen, sehen wir uns vorerst
einen Bericht nur für "Positions" (Stellen) an.
3. Wählen Sie "Positions" (Stellen).
4. Klicken Sie auf Erstellen.
Abbildung115: Benutzerdefinierter Bericht im Berichtsgenerator
Jetzt, nachdem wir den Berichtstyp ausgewählt haben, können wir den Bericht anpassen.
Beachten Sie, dass wir den Berichtstyp nachträglich nicht mehr ändern können. Wenn sie dies
351
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
tun möchten, müssen Sie mit einem ganz neuen Bericht beginnen. Im Berichtsgenerator im
Fenster "Vorschau" wird eine begrenzte Gruppe von Daten angezeigt; wir können den Bericht
auch jederzeit ausführen, um festzustellen, ob wir die gewünschten Ergebnisse erhalten. Sehen
wir beispielsweise nach, wie ein Basisbericht für "Positions" (Stellen) ohne Anpassungen
aussieht.
5. Klicken Sie auf Bericht ausführen.
Abbildung116: Ein Bericht über "Positions" (Stellen) ohne Anpassungen
Anmerkung: Für die Dropdownliste "Anzeige von" wird standardmäßig "My
Positions" (Meine Stellen) angezeigt. Wenn Sie als Benutzer angemeldet sind, der
für keine Stelle als Inhaber zugewiesen ist, wählen Sie "All Positions" (Alle Stellen)
aus, bevor Sie auf Bericht ausführen klicken. Anschließend werden im Bericht alle
Stellen angezeigt, auf die Sie zugreifen können.
Wie Sie sehen, ohne detaillierte Angaben machen zu müssen, verfügen wir bereits jetzt über
eine Liste mit Stellendatensätzen mit einem Wert für "Gesamtsumme" im unteren
Seitenbereich. Dies entspricht in etwa der Darstellung, wenn wir einen tabellarischen Bericht
ohne zusätzliche Spalten auswählen. Sehen wir uns für diesen grundlegenden Bericht nun die
nächste Stufe an.
6. Klicken Sie auf Anpassen, um zum Berichtsgenerator zurückzukehren.
Zum Erstellen eines neuen Berichts müssen wir zunächst das gewünschte Format für den
Bericht auswählen. Die Standardvorgabe lautet "Tabellarisch". Da wir Zeilen mit offenen
Stellen nach Funktionsbereich einordnen möchten, erstellen wir einen
Zusammenfassungsbericht.
352
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
7. Klicken Sie auf Tabellarisch und wählen Sie zum Ändern des Formats Übersicht
aus.
Jetzt möchten wir unsere Zeilen mit Daten nach den Angaben im Feld Functional Area
(Funktionsbereich) gruppieren.
8. Suchen Sie im Fenster "Felder" nach Functional Area (Funktionsbereich) und
ziehen Sie es in den Ablegebereich für Gruppierungen im Fenster "Vorschau". Wenn
Sie über zahlreiche Felder verfügen, können Sie diesen Vorgang am schnellsten
mithilfe der Schnellsuche ausführen.
Abbildung117: Hinzufügen einer Gruppierung für einen Bericht
Die Stellen sollen auch nach Region gruppiert werden. Im Feld "Standort" werden die Stadt
und das Bundesland angezeigt, wir möchten die Daten allerdings nach geografischen Regionen,
wie USA, Großbritannien und Asien/Pazifik gruppieren. Wenn wir das Feld für den Standort
in Buckets einordnen, erhalten wir ein Feld, das wir für die Gruppierung verwenden können.
9. Ziehen Sie Standort aus dem Fenster "Feld" in die Vorschau und platzieren Sie
es hinter "Position Title" (Stellentitel).
10. Klicken Sie auf das
für "Standort" und wählen Sie Bucketing für dieses Feld
durchführen aus.
11. Geben Sie Region unter Name des Bucket-Felds ein.
12. Klicken Sie auf Neuer Bucket, geben Sie USA ein und drücken Sie die Eingabetaste.
13. Wählen Sie:
•
•
•
•
San Francisco, CA
Austin, TX
Boulder, CO
New York, NY
353
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
14. Klicken Sie auf Verschieben in und wählen Sie in der zugehörigen Dropdownliste
USA aus.
15. Klicken Sie auf Neuer Bucket, geben Sie "UK" (Großbritannien) ein und drücken
Sie die Eingabetaste.
16. Verschieben Sie London, England in die Kategorie "UK" (Großbritannien).
17. Verschieben Sie die verbleibenden Einträge in einen Bucket namens "Asia Pacific"
(Asien/Pazifik).
18. Klicken Sie auf OK.
Abbildung118: Erstellen von Bucket-Feldern
Wenn Sie fertig sind, sind die Standorte nach Region eingeordnet und Sie verfügen über ein
Bucket-Feld mit dem Namen "Region", das im Feldfenster angezeigt wird. Wir müssen an
dieser Stelle jedoch nichts tun, da die Plattform es bereits automatisch links neben "Position
Title" (Stellentitel) hinzugefügt hat.
Abbildung119: Bucket-Felder in der Berichtvorschau
Jetzt kommen wir dem Ziel schon näher! In unserem Bericht werden weiterhin nur Stellentitel
aufgelistet, sie sind jedoch nach Funktionsbereichen und nach Region geordnet. Darüber
hinaus wird für jede Gruppierung ein Wert für die Gesamtsumme der Datensätze in Klammern
angegeben. Diese Zahlen bilden die Grundlage für ein Kreisdiagramm, das wir später
hinzufügen.
Probieren Sie es aus: Hinzufügen von Spalten und
Filtern
Wählen wir nun die angezeigten Felder aus, ordnen wir sie und legen wir die Filter fest, die
die Menge der in den Bericht aufgenommenen Datensätze begrenzen.
354
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Neben Position Title (Stellentitel) und Location (Standort) möchten wir auch die
Felder Hiring Manager (Einstellungs-Manager) und Status für die einzelnen Datensätze
anzeigen. Drücken Sie die Strg-Taste (Windows) bzw. die Befehlstaste (Mac), um mehrere
Felder oder Spalten hinzuzufügen.
1. Ziehen Sie im Berichtsgenerator folgende Felder in die Vorschau.
•
•
Hiring Manager (Einstellungs-Manager)
Status
Sie können auch auf Felder doppelklicken, um sie am Ende des Berichts
hinzuzufügen.
2. Ordnen Sie die Spalten durch Ziehen neu an. Wenn Sie fertig sind, sollte die
Reihenfolge wie folgt aussehen:
•
•
•
•
Position Title (Stellentitel)
Location (Standort)
Hiring Manager (Einstellungs-Manager)
Status
Abbildung120: Hinzufügen von Spalten mittels Ziehen und Ablegen
Wir sind unserem Ziel nun noch näher. Allerdings sehen wir am Feld Status, dass im Bericht
auch Datensätze zu Stellen enthalten sind, die bereits besetzt wurden. Da wir nur die neuen
und offenen Stellen sehen möchten, müssen wir Filter festlegen. Mit Filtern wird die Menge
an Datensätzen festgelegt, die in den Bericht aufgenommen werden sollen. Beispielsweise
könnten Sie nur Datensätze mit aufnehmen, die in diesem Monat erstellt wurden, oder nur
Datensätze, die zu einem bestimmten Benutzer gehören. Mit Standardfiltern können Sie rasch
nach dem Feld für den Datensatzinhaber bzw. das Datum filtern. Mit Feldfiltern können Sie
nach jedem beliebigen Feld im Bericht filtern. Da wir offene Stellen in der gesamten
Organisation anzeigen möchten und nicht nur Stellen, deren Inhaber wir selbst sind
(standardmäßig enthalten alle benutzerdefinierten Berichte nur Datensätze vom Typ "Meine"),
müssen wir zwei Filter festlegen.
3. Wählen Sie in der Dropdown-Liste "Anzeige von" die Option All Positions
(Alle Stellen) aus.
355
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
4. Klicken Sie auf Hinzufügen > Feldfilter.
5. Definieren Sie einen Filter für Status equals New Position, Pending
Approval, Open - Approved (Status gleich Neue Stelle, Genehmigung
ausstehend, Offen - Genehmigt)
Tipp: Beachten Sie: Jedes Mal, wenn Sie ein Kontrollkästchen oder ein
Auswahllistenfeld wie Status in Ihrem Filter auswählen, wird neben der Filterzeile
ein Nachschlagesymbol ( ) angezeigt. Klicken Sie auf das Symbol, um gültige Werte
für das betreffende Feld anzuzeigen und schnell diejenigen Felder einzufügen, die Sie
filtern möchten.
Die Verwendung des Filters Status equals New Position, Pending Approval,
Open - Approved (Status gleich Neue Stelle, Genehmigung ausstehend, Offen Genehmigt) führt dazu, dass in unserem Bericht nur diejenigen Stellendatensätze enthalten
sind, die einen dieser drei Statuswerte aufweisen. Beachten Sie, dass das Komma zwischen
den drei Status-Werten als OR-Funktion behandelt wird. Dieser Filter entspricht also der
Kombination aus folgenden drei Filtern.
•
•
•
Status equals New Position, OR (Status gleich Neue Stelle, OR)
Status equals Pending Approval, OR (Status gleich Genehmigung ausstehend, OR)
Status equals Open - Approved (Status gleich Offen- Genehmigt)
Beyond the Basics
Wussten Sie, dass Sie nach einem Bucket-Feld filtern können?
Angenommen, Sie möchten Daten für Regionen außerhalb Großbritanniens anzeigen.
Sie können einen Filter zu dem Bucket-Feld Region hinzufügen, das Sie in der letzten
Übung zum Gruppieren von Daten verwendet haben. Sie können Bucket-Felder wie jedes
andere Feld im Bericht filtern. Der Filter in diesem Beispiel sollte dazu wie folgt festgelegt
werden: Region does not contain UK. (Region enthält nicht Großbritannien)
Wenn Sie weitere Felder hinzufügen, werden diese Standardmäßig kumulativ mithilfe
der Funktion AND auf den Bericht angewendet. Es werden also nur Daten, die alle
Filterbedingungen erfüllen, angezeigt. Aber nun können Sie steuern, wie Filter sich
verhalten, indem Sie Filterlogik aus der Dropdownliste "Hinzufügen" verwenden.
Probieren Sie es aus: Hinzufügen eines Kreisdiagramms
Der letzte Schritt besteht darin, ein Diagramm zusammen mit dem Bericht anzuzeigen. In
unserem Fall möchten wir ein Kreisdiagramm.
356
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
1. Klicken Sie auf Diagramm hinzufügen und wählen Sie den Diagrammtyp
"Kreisdiagramm" aus.
Die Diagrammerstellungsfunktion weiß automatisch, dass die Werte die Anzahl der Datensätze
und die Segmente bzw. Keile die verschiedenen Funktionsbereiche sein sollen. Das liegt daran,
dass Diagrammwerte mit den Zusammenfassungsfeldern des zugehörigen Berichts korrelieren
und die Keile von Kreisdiagrammen mit den Gruppierungen des Berichts. Da wir noch eine
zweite Gruppierung nach Region haben, können wir ein anderes Feld für die Anzeige in den
Keilen auswählen. Wir behalten jedoch die Standardauswahl bei.
Stellen wir nun unser Diagramm fertig und generieren wir unseren endgültigen Bericht.
2. Klicken Sie auf OK.
Abbildung121: Zusammenfassungsbericht für die offenen Stellen nach Region und
Funktionsbereich
Nach der Ausführung des Berichts stehen Ihnen mehrere Optionen zur Anzeige von Daten
zur Verfügung.
•
Sie können die Daten anhand eines anderen Felds gruppieren bzw. zusammenfassen.
Beispielsweise kann die Zusammenfassung anstatt nach Functional Area
(Funktionsbereich) nach Hiring Manager (Einstellungs-Manager) erfolgen.
357
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
•
•
Sie können Daten in ein Excel-Tabellenblatt oder eine CSV-Datei (Comma Separated
Values, kommagetrennte Werte) exportieren.
Sie können alle etwaigen angewendeten Filter löschen.
Sie können die Ergebnisse mit Standardfiltern, wie beispielsweise Datum oder Bereich,
eingrenzen.
Da unser Bericht alle unsere Kriterien erfüllt, speichern wir ihn nun im Ordner
"Personalbeschaffungsberichte".
3. Klicken Sie oben im Bericht auf Speichern.
4. Geben Sie im Feld Berichtsname den Text Open Positions by
Functional Area and Region (Offene Stellen nach Funktionsbereich und
Region) ein.
5. Geben Sie im Feld Berichtsbeschreibung den Text Which functional
areas have the most new or open positions by region? (Welche
Funktionsbereiche weisen die meisten neuen oder offenen Stellen, geordnet nach
Region, auf?) ein.
6. Geben Sie im Feld Eindeutiger Berichtsname den Text
Open_Positions_by_Functional_Area ein, sofern dies nicht bereits der
vorgegebene Wert ist.
7. Wählen Sie in der Dropdownliste Berichtsordner den Eintrag "Recruiting
Reports" (Personalbeschaffungsberichte) aus.
8. Klicken Sie auf Speichern.
Wenn wir nun den Ordner "Recruiting Reports" (Personalbeschaffungsberichte) anzeigen,
sehen wir unseren neuen Zusammenfassungsbericht. Als Nächstes erstellen wir einen
Matrixbericht, mit dem einige erweiterte Berichtsfunktionen genutzt werden können.
Erstellen eines Matrixberichts
Bei unserem nächsten Bericht beantworten wir die Frage "Wie lange brauchen die einzelnen
Personalbeschaffungsmitarbeiter durchschnittlich, um eine Stelle mit bzw ohne erforderliche
Reisetätigkeit zu besetzen?" In diesem Bericht verwenden wir ein Matrixformat, um zu
ermitteln, welchen Unterschied verpflichtende Reisetätigkeit bei der Dauer bis zur
Stellenbesetzung macht. Wenn wir ausschließlich die Daten für das aktuelle und das letzte
Jahr betrachten, enthält der Bericht folgende Elemente:
•
•
358
Datensatzzahl für die einzelnen Stellen, deren Inhaber ein bestimmter
Personalbeschaffungsmitarbeiter ist.
Eine benutzerdefinierte Summenformel für den Prozentsatz der Stellen eines
Personalbeschaffungsmitarbeiters, die verpflichtende Reisetätigkeit beinhalten.
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
•
Einen zeitbasierten Filter, der die Daten auf Stellen einschränkt, die in diesem Jahr oder
im letzten Jahr erstellt wurden
Eine farbcodierte Feldzusammenfassung für die Anzahl der Tage, die die Stellen
durchschnittlich unbesetzt bleiben:
◊ Durchschnittswerte von weniger als 30 Tagen sind grün farbcodiert.
◊ Durchschnittswerte zwischen 30 und 60 Tagen sind gelb farbcodiert.
◊ Durchschnittswerte von mehr als 60 Tagen sind rot farbcodiert.
Da in diesem Bericht so viele verschiedene Berichterstellungsfunktionen verwendet werden,
gliedern wir das Verfahren in vier Teile:
1.
2.
3.
4.
Erstellen eines Matrixberichts
Hinzufügen benutzerdefinierter Zusammenfassungsfelder
Hinzufügen von Spalten und Filtern
Hinzufügen eines Diagramms und von bedingter Hervorhebung
Probieren Sie es aus: Erstellen eines Matrixberichts
Zur Erstellung des Matrixberichts verwenden wir erneut den Berichtsgenerator, wobei wir
diesmal Schritte hervorheben, bei denen die Vorgehensweise von der für den
Zusammenfassungsbericht abweicht.
1. Klicken Sie auf der Registerkarte "Berichte" auf Neuer Bericht.
Auch hier erstellen wir einen Bericht, bei dem die Stellendatensätze gezählt werden.
2. Klicken Sie in der Liste auf das "+", um den Bereich "Andere Berichte" zu erweitern.
3. Wählen Sie "Positions" (Stellen) aus und klicken Sie auf Erstellen.
Da wir die Leistung der einzelnen Personalbeschaffungsmitarbeiter direkt für Stellen vergleichen
möchten, bei denen Reisetätigkeit erforderlich ist bzw. nicht erforderlich ist, verwenden wir
einen Matrixbericht . Auf diese Weise können wir die Stellenzeilen nach
Personalbeschaffungsmitarbeiter gruppieren und die Stellenspalten danach, ob Reisetätigkeit
erforderlich ist oder nicht.
4. Wählen Sie in der Dropdownliste "Format" die Option Matrix aus.
359
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung122: Angabe von Gruppierungen in einem Matrixbericht
Führen wir nun die Gruppierung sowohl nach Zeilen als auch nach Spalten durch. Beachten
Sie die zwei Gruppen von Ablegebereichen für Matrixberichte.
5. Ziehen Sie im Fenster "Felder" Position: Owner Name (Stelle: Inhabername)
in den Ablegebereich für die Zeilengruppierung.
6. Ziehen Sie nun Travel Required (Reise erforderlich) in den Ablegebereich für
die Spaltengruppierung.
Unser Bericht schlüsselt nun die möglichen Werte für das Feld Travel Required (Reise
erforderlich) in der Spaltendimension auf. Die Personalbeschaffungsmitarbeiter werden in der
Zeilendimension ebenfalls aufgeschlüsselt, aber da alle benutzerdefinierten Berichte
standardmäßig nur die Daten zu der Person abfragen, die den Bericht erstellte (d. h. nur
Datensätze vom Typ "Meine"), ist im Bericht bisher nur ein einziger
Personalbeschaffungsmitarbeiter aufgeführt. Machen wir weiter.
Probieren Sie es aus: Hinzufügen von
Zusammenfassungsfeldern
Im nächsten Schritt möchten wir angeben, welche Werte von numerischen Feldern bzw. von
Kontrollkästchenfeldern in unseren Bericht aufgenommen werden sollen und wie die einzelnen
Werte jeweils in Zwischen- und Gesamtsummen zusammengefasst werden sollen. Die Anzahl
360
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
der Datensätze wird zwar stets als Summe zusammengefasst, die anderen numerischen Felder
und Kontrollkästchenfelder können jedoch auf verschiedene Weisen zusammengefasst werden.
Beispielsweise ist es nicht sinnvoll, die Werte der Spalte Days Open (Tage offen) zu
summieren, da die sich so ergebende Summe nicht viel Nutzen hätte. Wenn wir jedoch den
Durchschnitt für Days Open (Tage offen) berechnen, wissen wir ungefähr, wie lange Stellen
unbesetzt bleiben.
Für unseren Bericht müssen wir drei verschiedene Arten von Zusammenfassungen mit
aufnehmen: Datensatzanzahl, Durchschnitt von "Days Open" (Tage offen) und eine Formel,
die den Prozentsatz der Datensätze berechnet, bei denen Reisen erforderlich sind. Die ersten
beiden sind Standard-Zusammenfassungsfelder, für das dritte müssen wir jedoch den Editor
für benutzerdefinierte Zusammenfassungsformeln aufrufen. Beginnen wir mit den ersten
beiden. Das Feld Datensatzzahl wird standardmäßig zum Bericht hinzugefügt. Befassen
wir uns also mit dem Durchschnitt für die Anzahl der Tage, die eine Stelle offen bleibt.
1. Suchen Sie das Feld Days Open (Tage offen) und legen Sie es in der Matrix ab.
2. Wählen Sie im Dialogfeld "Zusammenfassen" die Option Durchschnitt aus.
Erstellen wir nun die Formel zur Berechnung des Prozentsatzes der Datensätze, bei denen
Reisen erforderlich sind.
3. Doppelklicken Sie auf Formel hinzufügen. Der Editor für benutzerdefinierte
Zusammenfassungsformeln wird angezeigt.
361
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung123: Die Erstellungsfunktion für benutzerdefinierte
Zusammenfassungsformeln
Im Formeleditor können wir eine neue Formel auf der Grundlage der zusammenfassbaren
Felder im Bericht definieren. In unserem Fall möchten wir eine Zusammenfassung mit
aufnehmen, die den Prozentsatz der Stellendatensätze angibt, bei denen in den verschiedenen
Segmenten Reisen erforderlich sind. Für diese Berechnung müssen wir die Summe der
Datensätze, bei denen Reisen erforderlich sind, durch die Summe aller Datensätze dividieren:
4. Geben Sie im Feld Spaltenname den Text Travel Required Percentage
(Prozentsatz Reise erforderlich) ein.
5. Geben Sie im Feld Beschreibung den Text The percentage of total
position records that require travel (Der Prozentsatz der
Stellendatensätze insgesamt, bei denen Reisen erforderlich sind) ein.
6. Wählen Sie in der Dropdownliste Format den Wert Prozent aus.
7. Wählen Sie in der Dropdownliste Dezimalstellen den Wert 0 aus.
8. Wählen Sie unter Wo wird diese Formel angezeigt? die Option Auf
allen Zusammenfassungsebenen aus.
Schreiben wir nun unsere Formel. Ähnlich wie bei den anderen Formeleditoren in der Plattform
werden Tools bereitgestellt, die uns die Arbeit erleichtern.
9. Klicken Sie im Abschnitt "Formel" auf Zusammenfassungsfelder und wählen Sie
Travel Required (Reise erforderlich) und dann "Summe" aus.
362
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Der Formeleditor zeigt die folgende API-Darstellung dieser Werte an:
Position__c.Travel_Required__c:SUM
10. Klicken Sie auf die Dropdownliste Operatoren und wählen Sie die Option
Dividieren aus.
11. Klicken Sie auf Zusammenfassungsfeld und wählen Sie Datensatzzahl aus.
Die endgültige Formel sieht wie folgt aus:
Position__c.Travel_Required__c:SUM / RowCount
Wir können rasch überprüfen, dass die Formel korrekt ist, indem wir vor dem Speichern ihre
Syntax überprüfen.
12. Klicken Sie auf Syntax prüfen.
13. Klicken Sie auf OK.
Probieren Sie es aus: Hinzufügen von Spalten und
Filtern
In den nächsten Schritten wählen wir Berichtspalten aus und definieren dann unsere Filter.
Da wir mit dem Hinzufügen von Spalten bereits vertraut sind, führen wir diesen Schritt schnell
zuerst aus.
Anmerkung: Bevor Sie Felder in einen Matrixbericht einfügen, müssen Sie in der
Dropdown-Liste Anzeigen die Option "Details" auswählen. Wenn die Details nicht
angezeigt werden, können Sie nur Zusammenfassungsfelder hinzufügen.
1. Fügen Sie folgende Berichtspalten hinzu, indem Sie darauf doppelklicken:
•
•
Functional Area (Funktionsbereich)
Status
Position: Position Title (Stelle: Stellentitel), Days Open (Tage offen) und
Travel Required (Reise erforderlich) sollten bereits im Bericht enthalten sein.
Für unseren Bericht möchten wir drei Filter definieren: einen, in dem alle Stellen enthalten
sind, einen in dem nur die im vergangenen Jahr erstellten Stellen enthalten sind, und einen,
in dem alle Stellen mit dem Status "Open - Approved" (Offen - Genehmigt) oder "Closed
- Filled" (Geschlossen - Besetzt) enthalten sind.
363
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
2. Wählen Sie in der Dropdownliste "Anzeige von" die Option All Positions (Alle
Stellen) aus.
3. Wählen Sie im Filter "Datumsfeld" die Option Position: Created Date (Stelle:
Erstelldatum) aus.
Beachten Sie, dass alle anderen für das Objekt "Position" (Stelle) definierten Datumsfelder
auch im Filter "Datumsfeld" vorhanden sind. Dazu zählen Close Date (Offen bis), Hire
By (Einstellen bis) und Open Date (Offen von).
4. Wählen Sie für Bereich die Option Aktuelles und vorheriges
Kalenderjahr aus. Die Werte für das Startdatum und das Enddatum werden
automatisch ausgefüllt.
Nun fügen wir einen Feldfilter hinzu, der auf dem Status basieren soll.
5. Klicken Sie auf Hinzufügen.
6. Erstellen Sie diesen Filter:
Status equals Open - Approved, Closed - Filled (Status
gleich Offen - Genehmigt, Geschlossen - Besetzt)
7. Klicken Sie auf OK.
Abbildung124: Filtern des Matrixberichts
Beyond the Basics
Mithilfe von Kreuzfiltern können Sie nach untergeordneten Objekten eines Berichts
anhand der einfachen Bedingungen MIT und OHNE filtern. Beispiel: Sie möchten nur
die Daten für Stellen anzeigen, die über Stellenbewerbungen verfügen. Sie können über
die Dropdownliste "Hinzufügen" im Fenster "Felder" einen Kreuzfilter wie folgt
hinzufügen: Positions with Job Applications (Stellen mit Stellenbewerbungen).
Anschließend können Sie einen weiteren untergeordneten Filter für das Objekt Job
Applications (Stellenbewerbungen) ausführen, um die Ergebnisse zu verfeinern.
364
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung125: Hinzufügen eines Kreuzfilters
Probieren Sie es aus: Hinzufügen eines Diagramms und
von bedingter Hervorhebung
Wir sind fast fertig. Jetzt fügen wir ein horizontales Balkendiagramm hinzu, in dem die
durchschnittliche Anzahl der Tage, die Stellen ausgeschrieben waren, die
Personalbeschaffungsmitarbeiter und ob eine Reisetätigkeit erforderlich ist oder nicht, angezeigt
werden. Zusätzlich wollen wir für bestimmte Daten eine bedingte Hervorhebung festlegen,
damit wir schnell analysieren können, welche Personalbeschaffungsmitarbeiter eine gute
Leistung aufweisen und welche Mitarbeiter sich um eine schnellere Besetzung ihrer Stellen
bemühen müssen.
1. Klicken Sie auf Diagramm hinzufügen.
2. Wählen Sie den Typ "Vertikales Balkendiagramm" aus.
3. Wählen Sie in der Dropdownliste Y-Achse den Eintrag Average Days Open
(Durchschnitt Tage offen) aus.
4. Wählen Sie in der Dropdownliste X-Achse den Eintrag Position: Owner Name
(Stelle: Inhabername) aus.
5. Wählen Sie in der Dropdownliste Gruppieren nach den Eintrag Travel
Required (Reise erforderlich) aus und behalten Sie das Gruppierungsformat
"Nebeneinander" bei.
6. Lassen Sie das Kontrollkästchen Weitere Werte darstellen leer.
365
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Kombinationsdiagramme stellen mehrere Datensets in einem einzigen Diagramm dar. Jedes
Datenset beruht auf einem anderen Feld, sodass die Werte leicht vergleichbar sind. Außerdem
können Sie bestimmte Diagrammtypen kombinieren, um Daten in einem einzigen Diagramm
auf verschiedene Weise darzustellen. Für den Bericht, den wir erstellen, ist kein
Kombinationsdiagramm erforderlich, diese Diagramme sind aber nützlich, um Daten zu
vergleichen, Trends in Diagrammen darzustellen usw.
7. Klicken Sie auf die Registerkarte "Formatierung".
8. Geben Sie in das Feld Diagrammtitel den Text Avg Days to Hire With
and Without Travel (Durchschnittliche Tage bis zur Einstellung mit und ohne
Reisetätigkeit) ein.
9. Klicken Sie auf OK.
Unsere drei Zusammenfassungsfelder können alle hervorgehoben werden, wir möchten jedoch
nur eines markieren: Average Days Open (Durchschnitt Tage offen). Wir möchten nämlich
hervorheben, welche Personalbeschaffungsmitarbeiter Stellen in weniger als 30 Tagen, weniger
als 60 Tagen oder mehr als 60 Tagen besetzen.
10. Klicken Sie auf die Dropdownliste Anzeige von und wählen Sie Bedingte
Hervorhebung aus.
Abbildung126: Hinzufügen von bedingten Hervorhebungen zum Anzeigen von
Datenänderungen
11. Legen Sie in der ersten Zeile die Option Feld auswählen auf Average Days
Open (Durchschnitt Tage offen) fest.
12. Wählen Sie in der ersten Farbauswahl einen Grünton aus. Dies ist die Farbe für den
unteren Bereich.
13. Geben Sie in das erste Textfeld 30 ein. Dies ist der Haltepunkt für den unteren
Bereich.
14. Geben Sie in das zweite Textfeld 60 ein. Dies ist der Haltepunkt für den oberen
Bereich.
15. Wählen Sie in der dritten Farbauswahl einen Rotton aus. Dies ist die Farbe für den
oberen Bereich.
16. Klicken Sie auf OK.
17. Klicken Sie auf Bericht ausführen.
366
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung127: Anzeigen der Ergebnisse des Matrixberichts
Mit unserem Bericht sehen wir auf einen Blick, wie schnell unsere
Personalbeschaffungsmitarbeiter Stellen besetzen und wie lange die Stellen im Durchschnitt
ausgeschrieben sind. Mit der bedingten Hervorhebung wird dargestellt, bei welchen Stellen
die Besetzung länger dauert – das sind im Allgemeinen die, bei denen eine Reisetätigkeit
erforderlich ist. Speichern wir den Bericht schnell, bevor wir fortfahren.
18. Klicken Sie auf Anpassen, um zum Berichtsgenerator zurückzukehren.
19. Klicken Sie oben im Bericht auf Speichern.
20. Geben Sie in das Feld Berichtsname den Text Avg Days to Hire With
and Without Travel (Durchschnittliche Tage bis zur Einstellung mit und ohne
Reisetätigkeit) ein.
Das Feld Eindeutiger Berichtsname wird automatisch ausgefüllt.
21. Geben Sie in das Feld Berichtsbeschreibung den Text On average, how
many days does it take each recruiter to fill a position
with or without required travel? (Wie lange brauchen die einzelnen
Personalbeschaffungsmitarbeiter durchschnittlich, um eine Stelle mit bzw. ohne
erforderliche Reisetätigkeit zu besetzen?) ein.
22. Wählen Sie in der Dropdownliste Berichtsordner den Eintrag Recruiting
Reports (Personalbeschaffungsberichte) aus.
23. Klicken Sie auf Speichern.
367
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
24. Klicken Sie auf Schließen und dann auf Speichern & Schließen, um zur
Registerkarte "Berichte" zurückzukehren.
[other]: Wussten Sie eigentlich, dass Sie Diagramme auch zu anderen Elementen
außer Berichten und Dashboards hinzufügen können? Sie können den Benutzern
direkt auf den Seiten, die sie häufig besuchen, wertvolle Informationen bereitstellen.
Betten Sie dazu einfach Berichtsdiagramme in Detailseiten für Standardobjekte oder
benutzerdefinierte Objekte ein. Wenn Benutzer Diagramme auf Seiten sehen, haben
sie die Möglichkeit, anhand der Daten, die sie im Kontext der Seite angezeigt
bekommen, Entscheidungen zu treffen, ohne an einer anderen Stelle danach suchen
zu müssen.
Weitere Informationen zum Einbetten von Diagrammen in Seitenlayouts erhalten
Sie in der Salesforce-Hilfe unter "Hinzufügen eines Berichtsdiagramms zu einem
Seitenlayout".
Wir haben gelernt, dass mit benutzerdefinierten Berichten viele interessante Daten angezeigt
werden können, sodass wir einen Überblick über die Herausforderungen erhalten, denen sich
eine Organisation stellen muss. Wenn Benutzer diese Berichte jedoch kaum aufrufen, können
ihre Vorteile nicht in vollem Umfang genutzt werden. Wie können wir den Benutzern die
Möglichkeit geben, ohne viel Zeitaufwand Registerkarten mit den Informationen aus ihren
Berichten zu erstellen? Wie wir gleich sehen werden, sind hier Dashboards die Lösung.
Einführung zu Dashboards
In einem Dashboard werden Daten aus Quellberichten als visuelle Komponenten angezeigt.
Bei diesen Komponenten kann es sich um Diagramme, Messdiagramme, Tabellen, Metriken
oder Visualforce-Seiten handeln. Die Komponenten bieten eine Momentaufnahme wichtiger
Kennzahlen und Leistungsindikatoren für Ihre Organisation. Jedes Dashboard kann bis zu 20
Komponenten enthalten. Die Benutzer können alle verfügbaren Dashboards in einem
öffentlichen Ordner in ihrer Organisation anzeigen, wie beispielsweise "Company Dashboards"
(Unternehmens-Dashboards). Sie haben die Möglichkeit, einen Favoriten auszuwählen, dessen
ersten drei Komponenten auf der Registerkarte "Startseite" angezeigt werden.
Benutzer lieben die zusammengefassten Ansichten, die sie über Dashboards erhalten, und sie
dürfen in keiner guten Force.com-Anwendung fehlen.
368
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung128: Beispiel-Dashboard für die Personalbeschaffung
Probieren Sie es aus: Erstellen zusätzlicher
Berichte
Wir erstellen in diesem Kapitel ein kleineres Personalbeschaffungs-Dashboard. Vorher wenden
wir unsere neuen Kenntnisse im Bereich der Berichterstellung an und erstellen ein paar weitere
Berichte. Da wir bereits mit der Funktionsweise des Berichtsgenerators vertraut sind, gehen
wir hier nur auf die Besonderheiten einiger Berichte in der folgenden Tabelle ein. Sie können
sie entweder selbst erstellen oder sich einfach nur mit den Optionen vertraut machen.
Tipp: Sie möchten sich auch durch unsere Dashboard-Anweisungen klicken, haben
aber keine Lust, all diese neuen Berichte zu erstellen? Dann erstellen Sie einfach nur
den Bericht "Positions Open Longer Than 90 Days" (Seit mehr als 90 Tagen
unbesetzte Stellen) in der ersten Zeile. Wenn Sie jedoch das Beispiel-Dashboard
nachstellen möchten, müssen Sie auch die anderen vier Berichte erstellen.
369
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Tabelle45: Spezifikationen für den zusätzlichen Personalbeschaffungsbericht
Berichtsname Frage
Berichtstyp
Positions Open Welche Stellen sind bereits Positions
Longer Than seit mehr als 90 Tagen
(Stellen)
90 Days (Seit unbesetzt?
mehr als 90
Tagen
unbesetzte
Stellen)
Optionen
Format:
Zusammenfassungsbericht
Daten zusammenfassen nach:
Location and then by Functional
Area (Standort und dann nach
Funktionsbereich)
Spalten: Position: (Stelle:)
Position Title (Stellentitel),
Position: (Stelle:) Inhabername,
Status, Open Date (Offen von),
Hire By (Einstellen bis), Days
Open (Tage offen)
Filter: All Positions (Alle
Stellen); Days Open greater or
equal 90 (Tage offen
größer/gleich 90)
Diagr.-Typ: Kreis
Keile: Functional Area
(Funktionsbereich)
Diagrammtitel: Positions Open
Longer Than 90 Days (Seit mehr
als 90 Tagen unbesetzte Stellen)
Job
Für welche Stellen gibt es
Applications by die meisten Bewerber?
Functional
Area
(Stellenbewerbungen
nach
Funktionsbereich)
370
Job
Applications
with Position
(Stellenbewerbungen
mit Stelle)
Format:
Zusammenfassungsbericht
Daten zusammenfassen nach:
Position: (Stelle:) Functional
Area and then by Position
(Funktionsbereich und dann nach
Stelle): Position Title
(Stellentitel)
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Berichtsname Frage
Berichtstyp
Optionen
Spalten: Job Application Number
(Stellenbewerbungsnummer), Job
Application Status (Status der
Stellenbewerbung)
Filter: All job applications (Alle
Stellenbewerbungen); Position
(Stelle): Status equals Open Approved (Status gleich OffenGenehmigt)
Diagr.-Typ: Vertikale Spalte
X-Achse: Position: (Stelle:)
Functional Area
(Funktionsbereich)
Diagrammtitel: Job Applications
by Functional Area
(Stellenbewerbungen nach
Funktionsbereich)
Employee
Interviewers
(Angestellte
Gesprächsleiter)
Welche Mitarbeiter führen
die meisten
Bewerbungsgespräche
durch?
Job
Applications
with Reviews
(Stellenbewerbungen
mit Reviews)
Format:
Zusammenfassungsbericht
Daten zusammenfassen nach:
Review: Created By (Erstellt von)
Spalten: Job Application
(Stellenbewerbung); Job
Application Number
(Stellenbewerbungsnummer), Job
Application (Stellenbewerbung):
Position (Stelle), Job Application
(Stellenbewerbung): Status,
Review: Created Date
(Erstelldatum)
Filter: All job applications (Alle
Stellenbewerbungen)
Diagr.-Typ: Kreis
371
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Berichtsname Frage
Berichtstyp
Optionen
Diagrammtitel: Employee
Interviewers (Angestellte
Gesprächsleiter)
Recruiter
Status (Status
des
Personalbeschafungsmitarbeiters)
Wie sieht die
Stellenbewerbungspipeline
für die einzelnen
Personalbeschaffungsmitarbeiter
und die einzelnen offenen
Stellen aus?
Job
Applications
with Position
(Stellenbewerbungen
mit Stelle)
Format: Matrixbericht
Subtotal Rows by
(Zwischensumme Zeilen nach):
Position: (Stelle:) Owner Name
and then by Position
(Inhabername und dann nach
Stelle): Position Title
(Stellentitel)
Subtotal Columns by
(Zwischensumme Spalten nach):
Job Application Status (Status
der Stellenbewerbung)
Spalten: Job Application
(Stellenbewerbung); Job
Application Number
(Stellenbewerbungsnummer)
Filter: All job applications (Alle
Stellenbewerbungen); Job
Application (Stellenbewerbung):
Last Modified Date Last 120
Days (Zuletzt geändert am
Letzten 120 Tage); Position
(Stelle): Status equals Open Approved, Closed - Filled (Status
gleich Offen - Genehmigt,
Geschlossen - Besetzt)
Positions Hired Wer wurde in den letzten Positions
in Last 90 Days 90 Tagen eingestellt?
(Stellen)
(In den letzten
90 Tagen
besetzte
Stellen)
372
Format:
Zusammenfassungsbericht
Daten zusammenfassen nach:
Functional Area
(Funktionsbereich)
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Berichtsname Frage
Berichtstyp
Optionen
Spalten: Position: (Stelle:)
Position Title (Stellentitel),
Position: (Stelle:) Inhabername,
Hiring Manager
(Einstellungs-Manager), Job
Level (Stellenebene), Location
(Standort), Close Date (Offen
bis)
Filter: All positions (Alle
Stellen); Close Date Last 90
Days (Offen bis Letzten 90
Tage); Status equals Closed Filled (Status gleich Geschlossen
- Besetzt)
Probieren Sie es aus: Erstellen von Dashboards
Nun verfügen wir über eine Reihe von Berichten als Referenz und sind bereit, ein kleines
Dashboard für die Personalbeschaffung zu erstellen. Hierzu arbeiten wir auf der Registerkarte
"Berichte".
Zuerst müssen wir einen Ordner erstellen, in dem unsere Dashboards gespeichert werden
sollen. Wir führen dieselben Schritte aus wie bei der Erstellung eines Ordners, in dem unsere
Berichte gespeichert werden.
1. Klicken Sie auf der Registerkarte "Berichte" auf
neben dem Fenster Ordner
und wählen Sie Neuer Dashboard-Ordner aus.
2. Geben Sie unter Dashboard-Ordner-Bezeichnung Recruiting
Dashboards (Dashboards für die Personalbeschaffung) ein. In das Feld
Eindeutiger Ordnername wird automatisch der Eintrag
Recruiting_Dashboards eingefügt.
3. Klicken Sie auf Speichern.
4. Klicken Sie neben dem Ordner "Recruiting Dashboards" (Dashboards für die
Personalbeschaffung) auf
und wählen Sie dann Freigeben.
5. Klicken Sie oben im Dialogfeld auf Rollen und nachgeordnete Positionen.
6. Klicken Sie neben "CEO" auf Freigeben.
373
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
7. Vergewissern Sie sich, dass in der Spalte "Zugriff" die Zugriffsebene Betrachter
ausgewählt ist. Dadurch können alle Benutzer in Ihrem Unternehmen diesen Ordner
und die darin enthaltenen Berichte anzeigen. Das Ändern der Berichte innerhalb
des Ordners oder das Hinzufügen neuer Berichte ist jedoch Administratoren
vorbehalten.
8. Klicken Sie zum Speichern der Einstellungen auf Fertig und klicken Sie dann auf
Schließen.
Jetzt erstellen wir ein Dashboard.
1. Klicken Sie auf der Seite „Berichte & Dashboards" auf Neues Dashboard.
Abbildung129: Die Seite "Dashboard bearbeiten"
Nachdem wir die Dashboard-Eigenschaften angegeben haben, können wir Komponenten
hinzufügen.
2. Klicken Sie auf Dashboard-Eigenschaften.
3. Geben Sie im Feld Titel den Begriff Recruiting Dashboard (Dashboard
für die Personalbeschaffung) ein.
4. In das Feld Eindeutiger Dashboard-Name wird automatisch der Eintrag
"Recruiting_Dashboard" eingefügt.
5. Wählen Sie zum Speichern den Ordner "Recruiting Dashboards" (Dashboards für
die Personalbeschaffung) aus.
6. Klicken Sie auf OK.
7. Geben Sie als Dashboard-Beschreibung – in das bearbeitbare Feld im oberen Bereich
der Seite – Folgendes ein: A snapshot of open positions, job
applications, frequent interviewers, and recruiter
performance (Ein Snapshot von offenen Stellen, Stellenbewerbungen, häufigen
Gesprächsleitern und der Leistung von Personalbeschaffungsmitarbeitern).
374
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Für jedes Dashboard gibt es einen aktuellen Benutzer, dessen Sicherheitseinstellungen festlegen,
welche Daten in einem Dashboard angezeigt werden. Allen Benutzern mit Zugriff auf den
Ordner werden unabhängig von ihren persönlichen Sicherheitseinstellungen die gleichen Daten
angezeigt.
Die Sicherheitseinstellungen für den aktuellen Benutzer gelten nur für die Dashboard-Ansicht.
Sobald ein Benutzer einen Drilldown zu einem Quellbericht oder einer Detailseite außerhalb
des Dashboards ausführt, bekommt der Benutzer die Daten auf der Grundlage seiner normalen
Sicherheitseinstellungen angezeigt.
Nehmen wir beispielsweise an, dass ein Systemadministrator mit der Berechtigung "Alle Daten
modifizieren" der aktuelle Benutzer unseres Dashboards für die Personalbeschaffung ist. In
diesem Fall wird jeder Datensatz mit Bezug auf die Personalbeschaffung in allen
Gesamtsummen des Berichts in unserem Dashboard gezählt. Dies beinhaltet auch Benutzer,
die bestimmte Datensätze normalerweise nicht anzeigen können (wie beispielsweise diejenigen,
die dem Profil "Standard Employee" (Standardmitarbeiter) zugewiesen sind). Obgleich diese
Benutzer die Zusammenfassungsdaten für alle Datensätze im Dashboard anzeigen könnten,
würden sie, wenn sie zum Quellbericht navigieren, nur die Datensätze anzeigen können, auf
die sie Zugriff haben.
Behalten Sie beim Entwerfen eines Dashboards die Zielgruppe des Dashboards im Hinterkopf.
Überlegen Sie sich, ob es sensible Informationen gibt und wie viel davon die Benutzer Ihrer
Meinung nach anzeigen können sollen. Wenn Sie einem Benutzer Zugriff auf Dashboards
erteilen, die mehr Daten enthalten als die, zu deren Anzeige er normalerweise berechtigt ist,
sollten Sie ihm auf jeden Fall mitteilen, dass er möglicherweise andere Werte angezeigt
bekommt, wenn er im Dashboard durch Klicken zu zugehörigen Berichten navigiert. Wenn
Sie verhindern möchten, dass bestimmte Benutzer auf ein Dashboard zugreifen, speichern Sie
es einfach in einem Ordner mit eingeschränktem Zugriff.
Beyond the Basics
Wussten Sie, dass Sie ein dynamisches Dashboard einrichten können, in dem Benutzern
die Daten entsprechend ihren jeweiligen Sicherheitseinstellungen angezeigt werden?
Angenommen, Sie möchten die gleichen Dashboard-Komponenten für verschiedene
Benutzergruppen anzeigen, wobei jede über einen anderen Umfang verfügen soll, mit dem
sich die Benutzer die Daten anzeigen lassen können. Eigentlich müssten Sie Dutzende
Dashboards mit dem entsprechenden aktuellen Benutzer einrichten und diese in separaten
Ordnern speichern. Mit dynamischen Dashboards können die Administratoren dasselbe
Ziel erreichen, ohne diverse zusätzliche Dashboards und Ordner erstellen und pflegen zu
müssen. In einem einzelnen dynamischen Dashboard kann eine Standardmenge an
Kennzahlen für alle Ebenen der Organisation angezeigt werden.
375
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Weitere Informationen finden Sie unter "Bereitstellen individualisierter Ansichten von
Dashboards" in der Salesforce-Hilfe.
Die Daten, die wir in unserem Dashboard für die Personalbeschaffung anzeigen möchten,
sind nicht besonders sensibel. Folglich wählen wir einen Systemadministrator als aktuellen
Benutzer aus und speichern das Dashboard in einem öffentlichen Ordner.
8. Im Feld Dashboard anzeigen als oben rechts im Bildschirm geben Sie den
Namen Ihres Benutzers ein, da Sie über Systemadministratorberechtigungen verfügen.
Hiermit wird der aktuelle Benutzer für das Dashboard festgelegt.
Nun haben wir ein leeres Dashboard erstellt, das mit Komponenten gefüllt werden kann.
Hinzufügen von Dashboard-Komponenten
Wir haben noch keine Komponenten definiert, sie lassen sich jedoch ganz leicht im
Dashboard-Generator hinzufügen und neu anordnen.
Es gibt fünf Arten von Komponenten.
Symbol
Typ
Beschreibung
Diagramme Zeigt ein Balken-, Spalten-, Linien-, Kreis-, Ringoder Trichterdiagramm oder ein anderes beliebiges
Diagramm an, das in einem Bericht enthalten ist.
Tabellen
Zeigt eine Tabelle an, die Werte und Summen aus
den Spalten im Bericht enthält.
Metriken
Zeigt die Gesamtsumme aus einem Bericht
zusammen mit einer von Ihnen eingegebenen
Bezeichnung an.
Messungen Zeigt die Gesamtsumme eines Berichts als Punkt
auf einer Skala an, die einer Tankanzeige ähnelt.
376
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Visualforce-Seiten Zeigt alle Visualforce-Dashboard-Komponenten
in Ihrer Organisation an.
Probieren Sie es aus: Hinzufügen von
Diagrammkomponenten
Beginnen wir, indem wir ein Diagramm hinzufügen, in dem die Anzahl der offenen Stellen
nach Funktionsbereich angezeigt wird:
1. Ziehen Sie eine Kreisdiagrammkomponente in die linke Spalte Ihres Dashboards.
2. Klicken Sie auf Titel bearbeiten und geben Sie Open Positions by
Functional Area (Offene Stellen nach Funktionsbereich) ein.
3. Klicken Sie auf die Registerkarte "Datenquellen" und suchen Sie nach dem Bericht
"Open Positions by Functional Area" (Offene Stellen nach Funktionsbereich) und
wählen Sie ihn aus.
4. Ziehen Sie den Bericht und legen Sie ihn auf der Kreisdiagrammkomponente ab.
Tipp: Klicken Sie auf für das Kreisdiagramm, um den
Komponenteneditor zu öffnen. Beachten Sie, dass auf der Registerkarte
"Komponentendaten" die Eintragungen für Werte und Keile für das
Kreisdiagramm automatisch vorgenommen werden. Das liegt daran, dass
die Anzahl der Datensätze und das Feld Functional Area
(Funktionsbereich) im Quellberichtsdiagramm verwendet werden. Wenn
im Quellbericht hingegen kein Diagramm vorhanden wäre, würden die
Eintragungen für "Werte" und "Keile" automatisch aus der Anzahl der
Datensätze und der ersten Gruppierung im Bericht abgerufen.
377
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung130: Die Seite "Dashboard-Komponente bearbeiten"
Tada! Jetzt verfügt unser Dashboard über ein Kreisdiagramm! Wenn ein Benutzer auf das
Diagramm klickt, gelangt er zu dem Bericht, anhand dessen das Diagramm erstellt wurde.
Probieren Sie es aus: Hinzufügen einer
Messdiagramm-Komponente
Erstellen wir nun eine Messdiagramm-Komponente, die uns zeigt, wie die Situation in Bezug
auf Stellen aussieht, die seit mehr als 90 Tagen unbesetzt sind.
1. Klicken Sie auf die Registerkarte "Komponenten".
2. Ziehen Sie eine Messdiagramm-Komponente in die mittlere Spalte Ihres Dashboards.
3. Klicken Sie auf Titel bearbeiten und geben Sie Positions Open Longer
Than 90 Days (Seit mehr als 90 Tagen unbesetzte Stellen) ein.
4. Klicken Sie auf die Registerkarte "Datenquellen" und suchen Sie nach dem Bericht
"Positions Open Longer Than 90 Days" (Seit mehr als 90 Tagen unbesetzte Stellen)
und wählen Sie ihn aus.
5. Ziehen Sie den Bericht und legen Sie ihn auf der Messdiagramm-Komponente ab.
Ändern wir nun das Erscheinungsbild unseres Messdiagramms. Wie bei bedingten
Hervorhebungen in unseren Matrixberichten kann auch dieses Messdiagramm unterschiedliche
Farben anzeigen, je nach der Gesamtzahl der Stellen, die schon zu lange unbesetzt sind. Die
Farbe soll grün sein, wenn es weniger als zwei Stellen gibt, gelb, wenn es zwischen zwei und
fünf Stellen gibt, und rot bei mehr als fünf Stellen.
378
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
6. Klicken Sie auf für die Messdiagramm-Komponente, um den Komponenteneditor
zu öffnen.
7. Klicken Sie auf die Registerkarte "Formatierung" und legen Sie folgende Felder fest.
Abbildung131: Formatieren der Messdiagramm-Komponente
•
•
•
•
•
•
•
Geben Sie für Minimum den Wert 0 ein.
Wählen Sie für Farbe für unteren Bereich einen Grünton aus.
Geben Sie für Haltepunkt 1 den Wert 2 ein.
Belassen Sie den Farbton für Farbe für mittleren Bereich bei "Gelb".
Geben Sie für Haltepunkt 2 den Wert 5 ein.
Wählen Sie für Farbe für oberen Bereich einen Rotton aus.
Geben Sie für Maximum den Wert 10 ein.
8. Klicken Sie auf OK.
Perfekt! Unser Dashboard für die Personalbeschaffung enthält nun zwei Komponenten.
Probieren Sie es aus: Hinzufügen einer
Tabellenkomponente
Erstellen wir nun eine Tabellenkomponente, mit der wir anzeigen können, wie viele Tage alle
Personalbeschaffungsmitarbeiter durchschnittlich brauchen, um einen Stelle mit oder ohne
Reisetätigkeit zu besetzen.
1. Klicken Sie auf die Registerkarte "Komponenten".
2. Ziehen Sie eine Tabellenkomponente in die rechte Spalte Ihres Dashboards.
3. Klicken Sie auf Titel bearbeiten und geben Sie Recruiter Performance
(Leistung der Personalbeschaffungsmitarbeiter) ein.
4. Klicken Sie auf die Registerkarte "Datenquellen" und suchen Sie nach dem Bericht
"Avg Days to Hire With and Without Travel" (Durchschnittliche Tage bis zur
Einstellung mit und ohne Reisetätigkeit) und wählen Sie ihn aus.
5. Ziehen Sie den Bericht und legen Sie ihn auf der Messdiagramm-Komponente ab.
379
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
6. Klicken Sie auf für die Tabelle, um den Komponenteneditor zu öffnen.
7. Klicken Sie auf die Registerkarte "Formatierung".
Stellen Sie sicher, dass Chatter-Fotos anzeigen aktiviert ist. Damit wird das
Chatter-Profilbild der einzelnen Personalbeschaffungsmitarbeiter in der Tabelle
angezeigt.
Genau wie im zugrundeliegenden Quellbericht können wir unserer Tabellenkomponente
bedingte Hervorhebungen hinzufügen, um die Leistungsstufen der
Personalbeschaffungsmitarbeiter hervorzuheben. Die Farbe soll grün sein, wenn der
Personalbeschaffungsmitarbeiter weniger als 45 Tage benötigt, gelb, wenn er zwischen 45 und
75 Tage benötigt, und rot, wenn der Wert über 75 liegt.
8. Legen Sie folgende Felder für die bedingte Hervorhebung fest:
•
•
•
•
•
Wählen Sie für Farbe für unteren Bereich einen Grünton aus.
Geben Sie für Haltepunkt 1 den Wert 45 ein.
Belassen Sie den Farbton für Farbe für mittleren Bereich bei "Gelb".
Geben Sie für Haltepunkt 2 den Wert 75 ein.
Wählen Sie für Farbe für oberen Bereich einen Rotton aus.
9. Klicken Sie auf OK.
Abbildung132: Tabellenkomponente
Probieren Sie es aus: Hinzufügen einer metrischen
Komponente
Erstellen wir abschließend eine metrische Komponente, mit der wir anzeigen können, wie
lange alle Personalbeschaffungsmitarbeiter durchschnittlich brauchen, um eine Stelle zu
besetzen.
1. Klicken Sie auf die Registerkarte "Komponenten".
380
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
2. Ziehen Sie eine metrische Komponente auf die rechte Spalte Ihres Dashboards und
legen Sie sie unterhalb der soeben erstellten Tabelle ab.
3. Klicken Sie auf die Registerkarte "Datenquellen" und suchen Sie nach dem Bericht
"Avg Days to Hire With and Without Travel" (Durchschnittliche Tage bis zur
Einstellung mit und ohne Reisetätigkeit) und wählen Sie ihn aus.
4. Ziehen Sie den Bericht und legen Sie ihn auf der metrischen Komponente ab.
Da metrische Komponenten aus einem einzelnen Wert bestehen, benötigen sie keinen Titel.
Stattdessen geben wir ihnen eine Bezeichnung, wie auch bei den anderen Feldern in der
Plattform üblich.
5. Geben Sie im Feld "Bezeichnung" den Text Average Days to Hire
(Durchschnittliche Tage bis zur Einstellung) ein.
Anmerkung: Haben Sie bemerkt, dass wir hier denselben Bericht verwenden, den
wir auch für unsere Tabelle verwendeten? Bei dieser Metrik handelt es sich einfach
um eine weitere Visualisierung der Daten in diesem Bericht.
6. Klicken Sie auf für die metrische Komponente, um den Komponenteneditor zu
öffnen.
7. Klicken Sie auf die Registerkarte "Komponentendaten". Beachten Sie, dass der
metrische Wert automatisch mit der Gesamtsumme der Spalte ausgefüllt wird, die
im Diagramm des Quellenmatrixberichts verwendet wird.
Fügen wir abschließend noch weitere bedingte Hervorhebungen hinzu, um die Werte besonders
zu verdeutlichen.
8. Klicken Sie auf die Registerkarte "Formatierung" und legen Sie folgende Felder fest.
•
•
•
•
•
Wählen Sie für Farbe für unteren Bereich einen Grünton aus.
Geben Sie für Haltepunkt 1 den Wert 45 ein.
Belassen Sie den Farbton für Farbe für mittleren Bereich bei "Gelb".
Geben Sie für Haltepunkt 2 den Wert 75 ein.
Wählen Sie für Farbe für oberen Bereich einen Rotton aus.
9. Klicken Sie auf OK.
Beyond the Basics
Wussten Sie, dass Sie Komponenten im gesamten Dashboard filtern können, um mehrere
Datenansichten zu erreichen?
Dashboard-Filter bieten Ihnen die Flexibilität zur direkten, spontanen Bearbeitung der
Dashboard-Informationen, sodass Sie nicht jeden einzelnen zugrunde liegenden Bericht
381
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
zu filtern brauchen. Klicken Sie im Dashboard-Generator auf Filter hinzufügen, um
einen Dashboard-Filter und die zugehörigen Werte zu erstellen. Dashboards können bis
zu drei Filter aufweisen. In diesem Dashboard können Sie beispielsweise einen Filter
namens Function (Funktion) im Feld "Functional Area" (Funktionsbereich) erstellen.
Bei der Anzeige des Dashboards können die Benutzer verschiedene Filterwerte auswählen,
wie "Finance" (Finanzen) oder "Human Resources" (Personalbereich), um Daten für die
einzelnen Tätigkeitsbereiche im gesamten Dashboard anzuzeigen. Weitere Informationen
finden Sie in der Salesforce-Hilfe unter "Hinzufügen von Dashboard-Filtern".
Abbildung133: Hinzufügen von Dashboard-Filtern
Wir haben nun ein einfaches, aus vier Komponenten bestehendes Dashboard für unsere
Personalbeschaffungsanwendung. (Ihr Dashboard kann geringfügige Abweichungen aufweisen.)
Speichern wir das Dashboard.
10. Klicken Sie auf Schließen und dann auf Speichern & Schließen. Sie können auch
auf Speichern klicken, wenn Sie den Titel oder die Beschreibung aktualisieren oder
den Ordner ändern möchten.
Abbildung134: Vier Komponenten auf dem Dashboard für die Personalbeschaffung
382
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Wenn Sie auf die Registerkarte "Startseite" klicken, können Sie die erste Zeile des Dashboards
zu Ihrer Startseite hinzufügen. Vergewissern Sie sich, dass Sie den Dashboard-Abschnitt zum
Layout der Registerkarte "Startseite" hinzugefügt haben, und wählen Sie anschließend das
Dashboard aus, das in diesem Abschnitt angezeigt werden soll: das Dashboard für die
Personalbeschaffung, das Sie gerade erstellt haben.
1. Klicken Sie unter "Setup" auf Anpassen > Startseite > Startseitenlayouts.
2. Wählen Sie Dashboard-Snapshot aus und klicken Sie auf Weiter.
3. Belassen Sie die Komponenten in ihrer Standardreihenfolge und klicken Sie auf
Speichern.
4. Klicken Sie auf der Registerkarte "Startseite" in der rechten oberen Ecke der
Dashboard-Komponente auf Seite anpassen.
5. Wählen Sie in der Dropdownliste "Dashboard-Snapshot" die Option Recruiting
Dashboard (Dashboard für die Personalbeschaffung) aus.
6. Klicken Sie auf Speichern.
Da wir das Dashboard in einem öffentlichen Ordner gespeichert haben, kann es auch von allen
anderen Benutzern zu ihrer jeweiligen Startseite hinzugefügt werden.
Wie Sie sehen konnten: Nachdem wir die Berichte für unsere Personalbeschaffungsanwendung
erstellt hatten, war es ein Kinderspiel, sie zu einem Dashboard hinzuzufügen. Es ist so einfach,
dass wir Ihnen die restlichen Komponenten als Übung überlassen. Versuchen Sie es einfach
selbst: Probieren Sie aus, wie genau Sie das Beispiel-Dashboard für die Personalbeschaffung
auf Seite 369 nachstellen können.
Aktualisieren von Dashboards
Dashboards stellen einen Schnappschuss Ihrer Daten zu einem bestimmten Zeitpunkt dar.
Auf der Registerkarte "Startseite" ist dieser Zeitpunkt in der linken oberen Ecke der
Dashboard-Komponente angegeben. Auf der Registerkarte "Berichte" ist er in der rechten
oberen Ecke angegeben. Sie können Ihre Dashboards auf jeder dieser Registerkarten
aktualisieren, indem Sie auf Aktualisieren klicken.
Wenn Sie die Enterprise, Unlimited oder Performance Edition verwenden, können Sie festlegen,
dass Dashboards zu bestimmten Zeiten automatisch aktualisiert werden sollen. Nach Abschluss
des Vorgangs erhalten Sie eine Benachrichtigung per E-Mail, in der das aktualisierte Dashboard
enthalten ist.
Die Planung einer Dashboard-Aktualisierung ist einfach. Klicken Sie einfach auf der
Registerkarte "Berichte" auf den Abwärtspfeil auf der Schaltfläche Aktualisieren und wählen
Sie die Option Aktualisierung planen... aus. Geben Sie dann an, wer die
383
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Benachrichtigungs-E-Mail erhalten und zu welchem Zeitpunkt die Aktualisierung erfolgen
soll.
Einführung in Mobile-Dashboards
Die Informationen, die wir in unserem Dashboard für die Personalbeschaffung
zusammengepackt haben, können für viele Leute nützlich sein – selbst für
Personalbeschaffungsmitarbeiter, die sich außerhalb ihres Büros befinden. Bevor wir uns wieder
mit Salesforce1 beschäftigen, müssen wir sicherstellen, dass Dashboards für die mobile
Verwendung aktiviert sind. Wenn das Navigationsmenü keine Dashboards enthält, können
die Benutzer sie auch nicht anzeigen. Sehen wir uns kurz die Konfiguration für unsere mobile
Navigation an.
1. Klicken Sie unter "Setup" auf Mobile Administration > Mobile Navigation.
Diese Seite bestimmt das Erscheinungsbild des Navigationsmenüs in Salesforce1. Das erste
Element in der Liste wird die Zielseite unserer Benutzer in Salesforce1, und da diese
Konfiguration für alle unsere Benutzer gleich ist, soll das erste Element etwas sein, das für alle
nützlich ist. Das Prinzip der Nützlichkeit zieht sich wie ein roter Faden durch die gesamte
Konfiguration: Wir wollen die Elemente, die Benutzer am häufigsten verwenden, ganz oben
platzieren.
Das Element Today bezieht sich auf eine Anwendung, mit deren Hilfe Benutzer ihren
Tagesablauf planen und strukturieren können, indem sie Kalenderereignisse von ihrem
Mobilgerät in ihre Aufgaben, Kontakte und Accounts in Salesforce integrieren. Nur verfügbar
in den herunterladbaren Salesforce1-Anwendungen.
Das Element "Intelligente Suchelemente", das als eine dynamische Liste mit kürzlich verwendeten
Objekten dargestellt wird, kann in der mobilen Version zu einem Satz von acht oder mehr
Menüelementen erweitert werden. Hierbei können andere Elemente nach unten in den nicht
sichtbaren Bildlaufbereich verschoben werden, wenn Sie dieses ganz oben im Menü einfügen.
Alle Elemente, die Sie über den intelligenten Suchelementen einfügen, werden im unbenannten
ersten Abschnitt des Navigationsmenüs angezeigt. Alle Elemente, die Sie unterhalb der
intelligenten Suchelemente einfügen, werden im Abschnitt "Apps" des Navigationsmenüs
angezeigt.
2. Ordnen Sie die Elemente im Bereich "Ausgewählt" mithilfe des Pfeils nachoben
bzw. nach unten wie folgt an:
•
•
•
384
Today
Aufgaben
Feed
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
•
Intelligente Suchelemente
Dashboards
Nachdem wir sichergestellt haben, dass Dashboards für unsere Organisation in Salesforce1
angezeigt werden, sehen wir uns nun an, wie Dashboards auf einem Mobilgerät funktionieren.
1. Starten Sie Salesforce1.
2. Tippen Sie im Navigationsmenü auf Dashboards.
3. Tippen Sie in der Liste der zuletzt verwendeten Dashboards auf Recruiting
Dashboard (Dashboard für die Personalbeschaffung).
Abbildung135: Das Dashboard für die Personalbeschaffung in Salesforce1
Unser Dashboard sieht in der mobilen Version etwas anders aus. Statt alle drei Spalten in einer
Ansicht darzustellen, wird jede Spalte komplett in einer einzigen Ansicht angezeigt. Um
weitere Spalten anzuzeigen, streichen Sie nach links oder rechts. Um die Details zu einer
Komponente anzuzeigen, tippen Sie einfach darauf. In dieser Komponentenansicht können
wir auf Datenpunkte tippen, um ihre Werte markiert anzuzeigen.
385
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Einführung zu benutzerdefinierten
Berichten
Dashboards eignen sich zwar hervorragend zum Darstellen von Daten, viele Benutzer benötigen
aber präzisere Information, die sich speziell auf ihren Tätigkeitsbereich beziehen, sodass sie
ihre eigenen Berichte erstellen müssen. Sie möchten möglicherweise steuern, auf welche Daten
diese Benutzer für ihre Berichte zugreifen können. Zudem möchten Sie ihnen die die Erstellung
der für sie nützlichen Berichte so einfach wie möglich gestalten. Dies können Sie erreichen,
indem Sie Typen für benutzerdefinierte Berichte erstellen.
Mit Typen für benutzerdefinierte Berichte werden Berichtskriterien definiert, mit denen Ihre
Benutzer benutzerdefinierte Berichte erstellen und ausführen können. Wenn Sie einen
Berichtstyp erstellen, geben Sie die Objekte, Beziehungen und Felder an, die die Benutzer für
ihre Berichte auswählen können.
Wofür sind Typen für benutzerdefinierte Berichte in unserer Personalbeschaffungsanwendung
hilfreich? Unsere Personalbeschaffungsmitarbeiter sind bestimmt dankbar, wenn wir ihnen
die Möglichkeit geben, nach Stellen zu suchen, für die sich die Bewerber beworben haben.
Darüber hinaus möchten die Personalbeschaffungsmitarbeiter wahrscheinlich sehen, für welche
dieser Stellenbewerbungen Reviews vorliegen. Auf diese Weise erfahren sie, ob die
Ausschreibungen von Stellen möglicherweise kurz vor dem Abschluss stehen.
Probieren Sie es aus: Erstellen von Berichtstypen
Die meiste Zeit haben wir für dieses Kapitel mit der Registerkarte "Berichte" verbracht. Nun
ist es an der Zeit, zum Menü "Setup" zurückzukehren.
1. Klicken Sie unter "Setup" auf Erstellen > Berichtstypen.
2. Falls eine Vorschaltseite eingeblendet wird, klicken Sie einfach auf Weiter.
3. Klicken Sie auf Neuer Typ für benutzerdefinierte Berichte.
Der Typ des benutzerdefinierten Berichts, den wir erstellen, soll Daten von drei verschiedenen
Objekten enthalten: "Position" (Stelle), "Job Application" (Stellenbewerbung) und "Review".
Da sich die Personalbeschaffungsmitarbeiter aber hauptsächlich für die Stellen interessieren,
legen wir "Position" (Stelle) als Hauptobjekt in diesem Berichtstyp fest.
4. Wählen Sie in der Dropdownliste Hauptobjekt den Eintrag Positions (Stellen)
aus.
386
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Dann geben wir diesem Berichtstyp einen intuitiven Namen und ordnen ihn in eine Kategorie
ein, sodass die Benutzer ihn leichter finden können. Darüber hinaus geben wir eine
Beschreibung ein, damit die Benutzer, die den Berichtstyp auswählen, über dessen Funktion
informiert werden.
5. Geben Sie in das Feld Bezeichnung des Berichtstyps Positions with
Reviewed Job Applications (Stellen mit überprüften Stellenbewerbungen)
ein.
6. Geben Sie in das Feld Name des Berichtstyps Positions_with_Reviewed_Job
Applications ein, falls dieser Eintrag noch nicht vorhanden ist.
7. Geben Sie in das Feld Beschreibung Folgendes ein: Which positions have
job applications that have been reviewed? (Für welche Positionen
sind Stellenbewerbungen vorhanden, die überprüft wurden?)
8. Wählen Sie in der Dropdownliste In Kategorie speichern die Option Andere
Berichte aus.
Wenn Sie einen Berichtstyp erstellen und diesen testen möchten, bevor Sie ihn allen Benutzern
zur Verfügung stellen, setzen Sie dessen Status auf In Entwicklung. Für den Berichtstyp,
den wir gerade erstellen, sind jedoch keine Tests erforderlich, also fahren wir mit seiner
Bereitstellung fort.
9. Wählen Sie Bereitgestellt.
10. Klicken Sie auf Weiter.
Auf der Plattform werden eine grafische Hierarchie und festgelegte Diagramme (auch
Venn-Diagramme genannt) verwendet, damit wir einfach angeben können, welche verwandten
Datensätze von anderen Objekten in die Berichtsergebnisse aufgenommen werden sollen.
11. Klicken Sie in das weiße Feld unter A (Positions (Stellen)). Feld B wird angezeigt.
12. Wählen Sie in Feld B in der Dropdownliste "Job Applications" (Stellenbewerbungen)
aus und lassen Sie die Option Jeder "A"-Datensatz muss mindestens
einen verwandten "B"-Datensatz haben aktiviert.
387
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung136: Berichtstyphierarchie und festgelegtes Diagramm für "Positions"
(Stellen) und "Job Applications" (Stellenbewerbungen)
Wenn wir diese Option aktiviert lassen, geben wir an, dass dieser Berichtstyp nur
Stellendatensätze enthalten soll, für die Stellenbewerbungen vorhanden sind. Beachten Sie,
wie sich die festgelegten Diagramme auf der rechten Seite ändern, wenn wir eine Auswahl
treffen.
13. Klicken Sie in das weiße Feld unter B (Job Applications (Stellenbewerbungen)).
Feld C wird angezeigt.
14. Wählen Sie in Feld C in der Dropdownliste "Reviews" aus und lassen Sie die Option
Jeder "B"-Datensatz muss mindestens einen verwandten
"C"-Datensatz haben aktiviert.
388
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
Abbildung137: Berichtstyphierarchie und festgelegtes Diagramm für "Positions"
(Stellen), "Job Applications" (Stellenbewerbungen) und "Reviews"
Wir haben den Umfang unseres Berichts so eingeschränkt, dass darin nur Stellenbewerbungen
enthalten sind, für die Reviews vorliegen.
15. Klicken Sie auf Speichern.
Unser benutzerdefinierter Berichtstyp ist beinahe fertig. Eigentlich könnten wir sagen, dass
er technisch gesehen fertig ist, wir können ihn für unsere Benutzer allerdings noch praktischer
gestalten: Wir können die Darstellung der Felder im Fenster "Felder" im Berichtsgenerator
neu anordnen.
Dieser Berichtstyp enthält drei Objekte ("Position" (Stelle), "Job Application"
(Stellenbewerbung) und "Review"), die wiederum jeweils mehrere Felder enthalten. Ein
Benutzer, der mithilfe dieses benutzerdefinierten Berichtstyps einen Bericht erstellt, ist mit
diesen vielen Feldern höchstwahrscheinlich überfordert. Also entfernen wir die nicht benötigten
Felder und verschieben die wichtigen Felder nach oben. Wir können auch angeben, welche
Felder standardmäßig ausgewählt werden sollen.
16. Führen Sie auf der Detailseite "Typ des benutzerdefinierten Berichts" einen Bildlauf
nach unten bis zur Themenliste "Für Berichte verfügbare Felder" aus und klicken
Sie auf Layout bearbeiten.
Die nun angezeigte Seite ähnelt der Darstellung im Seitenlayout-Editor, den wir im Abschnitt
Erweitern der einfachen Anwendung mit erweiterten Feldern, Datenvalidierung und
Seitenlayouts auf Seite 71 verwendet haben. Sie können die Felder neu anordnen, indem Sie
389
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
sie an andere Positionen verschieben, ausgewählte Elemente löschen usw. Sie haben außerdem
die Möglichkeit, auf die Felder doppelt zu klicken, um ihre Bezeichnung zu ändern und
anzugeben, ob sie standardmäßig aktiviert sein sollen.
Wichtig: Wenn ein Feld nicht in einem Abschnitt vorhanden ist, steht es den
Benutzern bei der Erstellung von Berichten, die auf diesem Berichtstyp basieren, nicht
zur Verfügung.
Die Seite soll nun neu angeordnet werden.
17. Erstellen Sie einen neuen Abschnitt mit dem Namen Position, Job
Application, and Review Fields (Felder für Stelle, Stellenbewerbung
und Review).
18. Ändern Sie die Bezeichnung der folgenden Felder im Abschnitt "Positions" (Stellen),
indem Sie auf den Feldnamen doppelklicken und ihn im daraufhin angezeigten
Dialogfeld bearbeiten.
•
•
•
Created by (Erstellt von) in Position Created By (Stelle erstellt von)
Erstelldatum inPosition Created Date (Erstelldatum der Stelle)
Status in Position Status (Stellenstatus)
19. Ändern Sie die Bezeichnung der folgenden Felder im Abschnitt "Job Applications"
(Stellenbewerbungen), indem Sie auf den Feldnamen doppelklicken und ihn im
daraufhin angezeigten Dialogfeld bearbeiten.
•
•
•
Created by (Erstellt von) in Job Application Created By
(Stellenbewerbung erstellt von)
Erstelldatum in Job Application Created Date (Erstelldatum der
Stellenbewerbung)
Status in Job Application Status (Status der Stellenbewerbung)
20. Ändern Sie die Bezeichnung der folgenden Felder im Abschnitt "Reviews", indem
Sie auf den Feldnamen doppelklicken und ihn im daraufhin angezeigten Dialogfeld
bearbeiten.
•
•
Created by (Erstellt von) in Review Created By (Review erstellt von)
Erstelldatum in Review Created Date (Erstelldatum des Reviews)
21. Verschieben Sie die folgenden Felder aus dem Abschnitt "Positions" (Stellen) in den
Abschnitt mit den Feldern "Position" (Stelle), "Job Application" (Stellenbewerbung)
und "Review".
•
•
390
Position Title (Stellentitel)
Created By (Erstellt von)
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
•
•
•
•
•
•
•
Created Date (Erstelldatum)
Days Open (Tage offen)
Functional Area (Funktionsbereich)
Hire By (Einstellen bis)
Hiring Manager (Einstellungs-Manager)
Open Date (Offen von)
Status
Travel Required (Reise erforderlich)
22. Verschieben Sie die folgenden Felder aus dem Abschnitt "Job Applications"
(Stellenbewerbungen) in den Abschnitt mit den Feldern "Position" (Stelle), "Job
Application" (Stellenbewerbung) und "Review".
•
•
•
•
•
•
Job Application Number (Stellenbewerbungsnummer)
Average Rating (Durchschnittliche Bewertung)
Created By (Erstellt von)
Created Date (Erstelldatum)
Number of Reviews (Anzahl der Reviews)
Status
Beachten Sie, dass wir das Feld Candidate (Bewerber) nicht mit eingeschlossen haben. Wir
haben es weggelassen, weil dieser Berichtstyp für alle Benutzer verfügbar ist, auch für
Einstellungs-Manager. Wie bereits im letzten Kapitel erwähnt, könnte ein
Einstellungs-Manager versuchen, Bewerber abzuwerben, die sich für eine andere Stelle
bewerben. Daher empfiehlt es sich, die Namen der Bewerber in den Berichten nicht anzuzeigen.
23. Verschieben Sie die folgenden Felder aus dem Abschnitt "Reviews" in den Abschnitt
mit den Feldern "Position" (Stelle), "Job Application" (Stellenbewerbung) und
"Review".
•
•
•
•
Review Number (Review-Nummer)
Created By (Erstellt von)
Created Date (Erstelldatum)
Rating (Bewertung)
24. Aktivieren Sie standardmäßig folgende Felder:
•
•
•
•
Days Open (Tage offen)
Hiring Manager (Einstellungs-Manager)
Job Application Number (Stellenbewerbungsnummer)
Open Date (Offen von)
391
Kapitel 10: Analysieren von Daten mit Berichten und Dashboards
•
•
Position Title (Stellentitel)
Review Number (Review-Nummer)
25. Löschen Sie die einzelnen Abschnitte "Positions" (Stellen), "Job Applications"
(Stellenbewerbungen) und "Reviews".
26. Klicken Sie auf Speichern.
Ihr benutzerdefinierter Berichtstyp ist jetzt fertig! Um ihn auszuprobieren, rufen Sie die
Registerkarte "Berichte" auf, klicken Sie auf Neuer Bericht und wählen Sie die
Berichtstypkategorie "Anderer Bericht" aus. Der Berichtstyp "Positions with Reviewed Job
Applications" (Stellen mit überprüften Stellenbewerbungen) wird unten in der Liste angezeigt.
Rekapitulation
Testen Sie nun Ihre Personalbeschaffungsanwendung! Wir haben fast alle Anforderungen
erfüllt, über die wir am Anfang des Buches gesprochen haben, aber wir haben es noch nicht
ganz geschafft. Im nächsten Kapitel gehen wir über die Point-and-Click-Tools der Plattform
(z. B. Sicherheit und Workflow) hinaus und führen Visualforce und die SOAP-API ein. Diese
Funktionen sind der Schlüssel zur Integration von Funktionen aus dem gesamten Web und
helfen uns dabei, eine wirklich leistungsstarke Anwendung in der Cloud zu erstellen. Und
noch mehr: Wenn Sie erst einmal die Tools beherrschen, die in der Plattform zur Verfügung
stehen, können Sie Ihrer Kreativität freien Lauf lassen: Der Funktionsumfang der
Anwendungen, die Sie auf der Plattform erstellen können, ist nur durch das Web selbst
begrenzt.
392
Kapitel 11
Jenseits der
Point-and-Click-Anwendungsentwicklung
Themen:
•
•
•
•
Einführung in Mashups
und Webservices
Einführung zu Visualforce
Implementieren der
Bewerberkarte
Implementieren der
Schaltfläche "Mass Update
Status"
(Status-Massenaktualisierung)
Bisher haben wir eine überzeugende Anwendung unter
Verwendung verschiedener Teile der Plattform erstellt.
Wir haben ein Datenmodell zur Speicherung unserer
Informationen zur Personalbeschaffung erstellt, Workflowund Genehmigungslogik eingerichtet, um die
Datenverwaltung zu erleichtern, und Berichte und ein
Dashboard zur Erleichterung der Datenfreigabe erstellt.
Dass wir alle diese Teile schnell und einfach
zusammenstellen konnten, ohne irgendwelchen Code
schreiben zu müssen, zeigt, wie leistungsfähig die
Force.com-Plattform ist.
Die Plattform wurde mit einem enormen Aufwand an
Forschungsarbeit und Überlegung entwickelt.
Salesforce.com ist bestrebt, die verschiedenen
Anforderungen an Geschäftsanwendungen im 21.
Jahrhundert zu antizipieren und hat viele dieser
Anforderungen durch einfache und dennoch leistungsstarke
deklarative Point-and-Click-Tools abgedeckt, mit denen
Benutzer ohne technischen Hintergrund ihre speziellen
Geschäftsziele erreichen können. Ein Unternehmen kann
jedoch unmöglich eine einzelne Lösung bereitstellen, die
für jeden perfekt geeignet ist. Daher bietet salesforce.com
Entwicklern die Möglichkeit, schnell und einfach Code
zu schreiben, der auf den Point-and-Click-Funktionen
der Force.com-Plattform beruht. Nachdem Sie sich mit
der Programmierung für die Force.com-Plattform vertraut
393
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
gemacht haben, können Sie Anwendungen für die Cloud
erstellen, mit denen praktisch jede erdenkliche Funktion
ausgeführt werden kann. Ihnen sind keine Grenzen gesetzt.
Personen ohne IT-Hintergrund leiden häufig an
"Programmier-Phobie" und viele Leser haben vermutlich
gute Lust, dieses Buch wegzulegen, sobald sie auf die
Wörter "Code" und "Variable" stoßen. Entspannen Sie
sich. Wenn Sie dieses Kapitel lesen, werden Sie entdecken,
wie einfach und interessant die Programmierung für die
Force.com-Plattform sein kann. Bedenken Sie auch, dass
es nicht Ziel dieses Kapitels ist, aus Ihnen einen
Programmierer zu machen (auch wenn es einen guten
Einstieg darstellt). Stattdessen soll dieses Kapitel Ihnen
einfach nur einen Eindruck davon vermitteln, wie Sie Ihre
Anwendung mit ganz einfacher Programmierung
verbessern können. Wenn Sie den Code nicht selbst
eintippen möchten, kopieren Sie einfach die Codebeispiele
aus den Dateien in der Datei RecruitingApp-7_0.zip,
die Sie unter Erweitern der einfachen Anwendung durch
Beziehungen auf Seite 117 heruntergeladen haben.
Mit dem Beispielcode und einigen Mausklicks können wir
rasch unsere Anwendung erweitern, indem wir Folgendes
hinzufügen:
•
•
Candidate Map (Bewerberkarte) – Eine interaktive
Karte, die die Standorte der Bewerber für eine
bestimmte Stelle anzeigt
Mass Update Status (Status-Massenaktualisierung) –
Die Fähigkeit, das Feld Status bei mehreren
Stellenbewerbungen gleichzeitig zu aktualisieren.
Fangen wir an.
394
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Einführung in Mashups und Webservices
Wenn wir die Anforderungen an unsere Personalbeschaffungsanwendung erneut durchgehen,
sehen wir, dass wir noch eine interaktive Karte implementieren müssen, die die Standorte der
Bewerber für eine bestimmte Stelle anzeigt. Eine derartige Funktion steht natürlich nicht
standardmäßig auf der Plattform zur Verfügung und wir haben definitiv keine Zeit, eine eigene
Karten-Engine zu erstellen. Ist diese Art von Funktion überhaupt möglich?
Natürlich ist sie das. Da die Force.com-Plattform im Web ausgeführt wird, können wir andere
Websites nutzen, um Funktionen zu implementieren, die über unsere Plattform allein nie zur
Verfügung gestellt werden könnten. Mit ein wenig Code können wir also unsere eigenen
Personalbeschaffungsdaten in einem Mashup mit einer interaktiven Karten-Website, wie
Yahoo! Maps, kombinieren und diese Funktion in unsere eigene Anwendung integrieren.
Zur Implementierung eines Mashups müssen wir uns zunächst ein wenig über die Technologie
klar werden, die das alles möglich macht: Webservices. Ein Webservice ist der Mechanismus,
mit dem zwei Anwendungen, die auf verschiedenen Plattformen ausgeführt werden, die in
verschiedenen Sprachen geschrieben wurden und die räumlich voneinander getrennt sind,
Daten über das Internet austauschen können. Mit Webservices ist der Datenaustausch zwischen
zwei derartigen Anwendungen ebenso problemlos möglich, wie bei zwei Prozessen, die Daten
auf demselben Computer austauschen.
Der Datenaustausch zwischen zwei Webservices ähnelt der Methode, mit der Daten zwischen
einem Webbrowser, wie dem Microsoft Internet Explorer, und einem Webserver ausgetauscht
werden. Genau wie ein Webbrowser ein gängiges Netzwerkprotokoll (HTTP über TCP/IP)
verwendet, um HTML-Dateien herunterzuladen, die auf einem Webserver gehostet werden,
kann auch ein Webservice dieses Netzwerkprotokoll verwenden, um Daten von einem anderen
Webservice herunterzuladen. Der wichtigste Unterschied besteht in den eigentlichen Daten,
die gesendet und empfangen werden: Webservices verwenden XML und nicht HTML.
In der Online-Welt gibt es unzählige Webservices, viele davon kostenlos. Für unsere Funktion
"Candidate Map" (Bewerberkarte) nutzen wir die kostenlosen Yahoo! Maps Web Services,
mit denen Sie problemlos interaktive Karten in Ihre Anwendungen einbetten können. Wenn
wir eine Möglichkeit finden, wie wir die Bewerberadressen aus unserer Anwendung an die
Yahoo! Maps Web Services weiterleiten können, übernimmt Yahoo! alle Eintragungen in der
Karte, sodass wir uns nicht darum zu kümmern brauchen, wie unsere Anwendung eine
interaktive Karte rendern kann. Wir müssen nur herausfinden, wie wir die gerenderte Karte
in unsere Anwendung integrieren können.
Anmerkung: Die Force.com-Plattform besitzt außerdem eine eigene leistungsstarke
Webservices-API, zu der auch die SOAP-API gehört. Mit der SOAP-API können
395
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Sie Ihre Salesforce-Organisation unter Verwendung der von Ihnen bevorzugten
Sprache und Plattform anpassen und integrieren. Die SOAP-API definiert einen
Webservice, der vollständigen, zuverlässigen Zugriff auf alle Daten in Ihrer
Organisation ermöglicht, einschließlich der Fähigkeit, Datensätze zu lesen, zu erstellen,
zu aktualisieren und zu löschen.
Da die SOAP-API für unsere Funktion "Candidate Map" (Bewerberkarte) nur im
Hintergrund verwendet wird, werden in diesem Buch keine Details dazu erörtert. Sie
können jedoch mehr darüber im Web Services API Developer's Guide, unter
www.salesforce.com/us/developer/docs/api/index.htm, erfahren.
Einführung zu Visualforce
Wie geben wir also die Adressen unserer Bewerber an Yahoo! Maps Web Services weiter? Und
nachdem Yahoo! Maps Web Services eine interaktive Karte gerendert hat, in der diese Adressen
eingetragen sind, wie integrieren wir dann diese Karte in unsere Anwendung?
Diese Anforderungen wirken vielleicht schrecklich schwer, sie sind jedoch tatsächlich recht
einfach zu erreichen – dank Visualforce. Visualforce ist ein leistungsstarkes und flexibles
Framework, mit dem Sie die Benutzeroberfläche Ihrer Anwendung wesentlich umfassender
anpassen können, als dies mit den Point-and-Click-Tools der Plattform möglich ist. Es ist
die effizienteste Methode zur Kombination von Daten aus mehreren Force.com-Objekten,
zur Einbindung von Daten aus Webservices in Ihre Anwendungen und zur Anpassung der
Logik, die das Verhalten der Benutzeroberfläche der Anwendung vorgibt. Sie werden sehen:
Wenn Sie Visualforce verwenden, steigt Ihre Produktivität und Sie können praktisch jede Art
von browserbasierter Benutzeroberfläche erstellen, die Sie sich nur vorstellen können.
Das Visualforce-Framework besteht aus einer Tag-basierten Markup-Sprache, ähnlich wie
HTML. In der Visualforce-Markup-Sprache entspricht jedes Visualforce-Tag einer
Komponente in der Benutzeroberfläche. Sie brauchen eine Themenliste? Fügen Sie einfach
das Komponenten-Tag <apex:relatedList> hinzu. Sie möchten die Details eines
Datensatzes anzeigen? Verwenden Sie einfach das Tag <apex:detail>.
In der folgenden Grafik sind einige der am häufigsten verwendeten Visualforce-Tags dargestellt
und es ist angegeben, welchen Komponenten der Benutzeroberfläche sie entsprechen. Es gibt
mehr als 125 Tags: von großen Komponenten, wie dem Detailabschnitt einer Standardseite
bis hin zu kleinen Komponenten, wie einem einzigen Feld oder Link. Zu allen diesen Tags
finden Sie Informationen im Visualforce Developer's Guide, unter
www.salesforce.com/us/developer/docs/pages/index.htm.
396
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung138: Beispiele für Visualforce-Komponenten und die zugehörigen Tags
Das Verhalten der Visualforce-Komponenten kann entweder über dieselbe Logik gesteuert
werden, die auch auf Salesforce-Standardseiten verwendet wird, oder Sie können Ihre eigene,
in Apex geschriebene Logik zuordnen. Apex ist die Programmiersprache von salesforce.com,
die in der Cloud auf Force.com-Servern ausgeführt wird.
Keine Panik! Sie brauchen nicht zu lernen, wie man Apex schreibt, um die Funktionen in
diesem Buch erstellen zu können. Visualforce ist mit einer umfangreichen
Komponentenbibliothek ausgestattet, mit der Sie rasch Seiten erstellen können, ohne dass Sie
einen größeren Teil der Funktionalität selbst kodieren müssen. Und da Visualforce-Markup
letztlich in HTML gerendert wird, können Sie Visualforce-Tags neben standardmäßigem
HTML-, JavaScript-, Flash-, AJAX- oder sonstigen Code verwenden, der innerhalb von
HTML-Seiten ausgeführt wird. Wir können also unsere Bewerberkarte erstellen, indem wir
einfach eine Visualforce-Seite erstellen, auf der ein wenig einfaches Visualforce-Markup sowie
JavaScript verwendet wird, um unsere Bewerberadressen an Yahoo! Maps Web Services
weiterzuleiten.
Anmerkung: Weitere Informationen zu Apex finden Sie im Force.com Apex Code
Developer's Guide unter
www.salesforce.com/us/developer/docs/apexcode/index.htm.
397
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Einführung in den
Visualforce-Entwicklungsmodus
Das Erstellen von Visualforce-Seiten ist schnell und einfach und es gibt dafür zwei
Möglichkeiten: Klicken Sie unter "Setup" auf Entwickeln > Seiten oder aktivieren Sie den
Visualforce-Entwicklungsmodus und navigieren Sie zu einer "leeren" Seite.
In diesem Buch verwenden wir den Visualforce-Entwicklungsmodus zur Erstellung und
Bearbeitung unserer Visualforce-Seiten, da er einige praktische Merkmale aufweist. Eines
davon ist die spezielle Entwicklungsfußzeile auf jeder Visualforce-Seite. Über die Fußzeile
können Sie auf einen Editor für das Seitenmarkup zugreifen, der Tools enthält, mit denen Sie
nach Werten suchen, zu einer bestimmten Zeile in Ihrem Code springen sowie Änderungen
rückgängig machen und wiederholen können. Außerdem ermöglicht der Seiteneditor
Hervorhebungen und automatische Vorschläge für Komponenten-Tags und Attribute und
enthält einen Link zur Komponentenreferenzdokumentation, in der Sie Beschreibungen und
Beispiele für alle Visualforce-Komponenten finden.
Während Sie sich im Visualforce-Entwicklungsmodus befinden, können Sie eine neue Seite
erstellen, indem Sie einfach einen eindeutigen URL in die Adressleiste Ihres Browsers eingeben.
Und wenn Sie Code zu Ihrer Visualforce-Seite hinzufügen, können Sie ihn speichern und Ihre
Änderungen werden sofort in Ihrem Browser gerendert!
Abbildung139: Visualforce-Entwicklungsmodus
398
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Probieren Sie es aus: Aktivieren des
Visualforce-Entwicklungsmodus
1. Klicken Sie oben auf einer beliebigen Salesforce-Seite auf den Abwärtspfeil neben
Ihrem Namen. Wählen Sie im Menü unterhalb Ihres Namens Meine Einstellungen
oder Setup aus, je nachdem, welche Option angezeigt wird.
2. Wählen Sie im linken Fenster eine der folgenden Optionen aus:
•
•
Wenn Sie auf Meine Einstellungen geklickt haben, wählen Sie die Optionsfolge
Persönlich > Erweiterte Benutzerdetails.
Wenn Sie auf Setup geklickt haben, wählen Sie die Optionsfolge Meine
persönlichen Daten > Persönliche Daten.
3. Klicken Sie auf Bearbeiten.
4. Aktivieren Sie das Kontrollkästchen Entwicklungsmodus.
5. Klicken Sie auf Speichern.
Implementieren der Bewerberkarte
Nachdem wir nun mit Webservices und Visualforce vertraut sind, können wir den Mashup-Teil
für unsere Personalbeschaffungsanwendung implementieren: die Bewerberkarte. Laut unseren
Anforderungen müssen wir eine Karte für alle Bewerber generieren, die sich um eine bestimmte
Stelle beworben haben, damit wir uns ein besseres Bild von den Umzugskosten machen können,
die mit einer Neueinstellung verbunden wären. Da Universal Containers über Niederlassungen
überall in den USA verfügt, können wir mit dieser Karte auch leichter Bewerber einer
bestimmten Niederlassung zuweisen, wenn eine bestimmte Stelle an mehreren Standorten
offen ist.
Probieren Sie es aus: Erstellen einer
Visualforce-Seite
Nun, da wir uns im Entwicklungsmodus befinden, können wir eine Visualforce-Seite namens
"CandidateMap" erstellen, indem wir einfach den URL in unserem Browser abändern.
Salesforce-URLs sehen üblicherweise wie folgt aus: https://na1.salesforce.com/001/o.
Sie können eine neue Visualforce-Seite erstellen, indem Sie alles rechts neben dem Teil
399
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
salesforce.com/ des URL entfernen und durch apex/, gefolgt vom Namen der zu
erstellenden Seite, ersetzen.
1. Ersetzen Sie in der Adressleiste Ihres Browsers alles rechts von salesforce.com/
durch apex/CandidateMap.
ACHTUNG: Ändern Sie nichts links von salesforce.com/, da diese
Informationen speziell für die verwendete Force.com-Plattform gelten, und
eine Änderung dieser Informationen dazu führt, dass Sie die
Visualforce-Seite nicht erstellen können.
Der so entstehende URL sollte in etwa wie folgt aussehen:
https://na1.salesforce.com/apex/CandidateMap. Beachten Sie, dass bei Ihrem
URL vor dem Teil salesforce.com/ ein anderer Instanzname stehen kann als na1. Das
ist kein Problem.
2. Drücken Sie die Eingabetaste.
Die folgende Visualforce-Fehlerseite wird angezeigt. Sie besagt, dass die Seite noch nicht
vorhanden ist. Auch das ist kein Problem. Es gibt uns die Möglichkeit, den Umgang mit einer
der anderen praktischen Funktionen des Entwicklungsmodus zu üben, der schnellen
Fehlerbehebung. Mit einer schnellen Fehlerbehebung können Elemente zwischendurch erstellt
werden, genau dann, wenn wir sie benötigen. In diesem Fall ist die Seite "CandidateMap"
noch nicht vorhanden, aber im Entwicklungsmodus wird ein Link zur schnellen Fehlerbehebung
angezeigt, mit dem wir sie sofort erstellen können. Das Klicken auf diesen Link entspricht
folgenden Schritten: Setup-Bereich öffnen, zum Abschnitt für Visualforce-Seiten navigieren,
auf Neu klicken, den Namen der Seite eingeben und auf Speichern klicken.
Abbildung140: Visualforce-Fehlerseite
3. Klicken Sie auf den Link Seite "CandidateMap" erstellen.
400
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung141: Visualforce-Seite "CandidateMap"
Herzlichen Glückwunsch! Sie haben Ihre erste Visualforce-Seite erstellt! Nun ist es an der
Zeit, Visualforce-Markup hinzuzufügen, damit unsere Bewerberkarte angezeigt wird.
Probieren Sie es aus: Schreiben von
Visualforce-Markup
Klicken Sie in der Fußzeile unten auf Ihrer neuen Visualforce-Seite auf CandidateMap, um
den Visualforce-Seiteneditor im Entwicklungsmodus anzuzeigen. In diesem Editor wird das
gesamte Markup für die aktuell betrachtete Seite angezeigt.
Abbildung142: Visualforce-Entwicklungsmodus
401
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Wie Sie sehen, weist der Seiteneditor den Standardinhalt auf.
<apex:page >
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Page: CandidateMap
<!-- End Default Content REMOVE THIS -->
</apex:page>
Zum Standardinhalt gehören das Visualforce-Komponenten-Tag <apex:page> in der ersten
Zeile und das schließende Tag, </apex:page>, in der letzten Zeile. Wie bei Elementen in
anderen Markup-Sprachen bestehen auch die Visualforce-Komponenten-Tags aus einem
Start-Tag, wie <apex:page>, und einem End-Tag, das, abgesehen davon, dass es einen
Schrägstrich enthält, mit dem Start-Tag identisch ist, beispielsweise </apex:page>.
Das Tag <apex:page> steht für eine einzelne Visualforce-Seite. Alle anderen Inhalte, die
auf einer Seite angezeigt werden sollen, müssen sich innerhalb des öffnenden und schließenden
<apex:page>-Tags befinden. Wie bereits besprochen, kann es sich bei den Inhalten um
andere Visualforce-Tags, normalen Text, Briefvorlagenfelder, HTML, JavaScript usw. handeln.
Beispielsweise gibt es im Standardinhalt Kommentare, die durch die Symbole <!-- und -->,
das HTML-Header-Tag <h1> und normalen Text gekennzeichnet sind.
Ändern wir das Erscheinungsbild der Seite so, dass es dem Stil des Objekts "Position" (Stelle)
entspricht, also des Objekts, das am engsten mit unserer Bewerberkarte verbunden ist. Wir
können dies tun, indem wir einfach ein Attribut für das Tag <apex:page> festlegen. Wie
bei HTML-Tags konfigurieren Attribute bei Visualforce-Tags den Stil bzw. das Verhalten
des Elements, das durch das Tag repräsentiert wird.
Das Attribut, das wir festlegen müssen, ist standardcontroller. In Visualforce dienen
Controller/Steuerfelder dazu, den Stil der Seite, die Verhaltensweise der Seite, wenn ein
Benutzer auf eine Schaltfläche klickt, sowie die Daten, die auf der Seite angezeigt werden
sollen, festzulegen. Indem wir einfach den Wert des Attributs standardcontroller auf
das Objekt "Position" (Stelle) setzen, konfigurieren wir unsere Seite so, dass sie dasselbe
Erscheinungsbild und dieselbe Verhaltensweisen aufweist wie die Stellenseiten und Stellendaten
anzeigt.
1. Setzen Sie einfach den Cursor unmittelbar vor die schließende Klammer des Tags
<apex:page>, drücken Sie die Leertaste und geben Sie
standardcontroller="Position__c" ein. Es sollte sich in etwa Folgendes
ergeben:
<apex:page standardcontroller="Position__c">
402
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Tipp: Sie können Ihre eigenen Steuerfelder entwickeln, die
Force.com-Plattform beinhaltet jedoch auch ein Standard-Steuerfeld für
alle Objekte, auch für die von Ihnen erstellten benutzerdefinierten Objekte.
Dies ist ein weiterer Vorteil von Force.com!
Beachten Sie, dass das Format für die Festlegung von Attributen wie folgt lautet: Name des
Attributs, gefolgt vom Gleichheitszeichen (=), und dann der Wert des Attributs in
Anführungszeichen. Denken Sie außerdem daran, dass die eindeutigen API-Namen von
benutzerdefinierten Objekten zwei Unterstriche (__) und den Buchstaben c am Ende aufweisen.
Speichern wir unsere Arbeit, damit wir sehen können, was unsere Änderungen bewirken.
2. Klicken Sie auf das Speichersymbol (
Tastenkombination STRG+S.
) im Seiteneditor oder drücken Sie die
Wenn Sie Ihr Markup speichern, wird es von der Force.com-Plattform überprüft, um
sicherzustellen, dass es gültig ist, und Sie werden darauf hingewiesen, wenn Fehler vorliegen.
Wenn das Markup gültig ist, wird die neue Version Ihrer Visualforce-Seite gespeichert und
in Ihrem Browser gerendert.
Sehen Sie die Änderungen an Ihrer Seite? Durch die Festlegung des Attributs
standardcontroller wurde das Erscheinungsbild der Visualforce-Seite dahingehend
geändert, dass nun die Registerkarte "Positions" (Stellen) ausgewählt ist.
403
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung143: Vor und nach der Festlegung des Attributs standardcontroller
Entfernen wir nun den HTML-Standardcode auf unserer Visualforce-Seite und ersetzen wir
ihn durch Elemente, die für unsere Bewerberkarte relevant sind, beispielsweise eine kurze
Beschreibung der Seite, für den Fall, dass der Zweck der Karte für die Benutzer nicht sofort
offensichtlich ist.
3. Löschen Sie das folgende Markup:
<!-- Begin Default Content REMOVE THIS -->
<h1>Congratulations</h1>
This is your new Page: CandidateMap
<!-- End Default Content REMOVE THIS -->
4. Geben Sie das folgende Markup zwischen dem öffnenden und dem schließenden
<apex:page>-Tag ein.
This map shows the locations of candidates who have applied
for the <b>{!Position__c.Name}</b> position.
Es sollte sich in etwa Folgendes ergeben:
<apex:page standardController="Position__c">
This map shows the locations of candidates who have applied for the
<b>{!Position__c.Name}</b> position.
</apex:page>
404
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Die Beschreibung enthält das Briefvorlagenfeld {!Position__c.Name}, eingeschlossen in
das HTML-Tag <b>. Wir haben bei der Erstellung unserer Anwendung recht häufig auf
Briefvorlagenfelder zurückgegriffen. Sie wurden in unserer E-Mail-Vorlage und in einigen
unserer Formeln verwendet. Nun verwenden wir sie noch einmal. Diesmal zusammen mit
HTML-Code und Visualforce-Komponenten-Tags.
5. Klicken Sie auf das Speichersymbol (
) im Seiteneditor.
Derzeit wird unser Briefvorlagenfeld nicht angezeigt, da die Bewerberkarte noch keinen Kontext
aufweist, da es also keinen Stellendatensatz gibt, aus dem sie die Daten übernehmen kann.
Dies braucht Sie im Moment nicht zu kümmern. Wir erfahren später, wie der Kontext festgelegt
wird. Gehen Sie für den Moment davon aus, dass das Briefvorlagenfeld
{!Position__c.Name} den Namen der Stelle rendern und dass das HTML-Tag <b> den
Namen fett formatieren wird.
Wir können nun also die interaktive Karte zu unserer Visualforce-Seite hinzufügen.
Probieren Sie es aus: Hinzufügen der Karte zur
Visualforce-Seite
Die Eigenschaften einer interaktiven Karte, die wesentlich für unsere Funktion "Candidate
Map" (Bewerberkarte) sind, lassen sich durch eine Mischung aus Visualforce-Markup und
JavaScript, das auf Yahoo! Maps Web Services zugreift, erreichen. Wie versprochen, brauchen
Sie nicht JavaScript zu lernen, um die Bewerberkarte einzurichten. Stattdessen verwenden wir
den Beispielcode aus der Datei RecruitingApp-7_0.zip, die Sie im Abschnitt Erweitern
der einfachen Anwendung durch Beziehungen auf Seite 117 von Developer Force
heruntergeladen haben.
1. Suchen Sie in der Datei RecruitingApp-7_0.zip die Datei
CandidateMapSample und öffnen Sie sie in einem Texteditor.
Wichtig: Achten Sie darauf, dass alle Funktionen, die Zeilenumbrüche
zum Code hinzufügen könnten, im Texteditor deaktiviert sind. Sie müssen
die ursprünglichen Zeilenumbrüche im Codebeispiel beibehalten. Neue
Zeilenumbrüche, die durch Umbruchfunktionen in Texteditoren bewirkt
werden, können den Code beschädigen und bewirken, dass das Codebeispiel
nicht ordnungsgemäß funktioniert.
Beachten Sie außerdem, dass das Kopieren von Code aus
Adobe-PDF-Dateien ebenfalls den Code beschädigen kann. Sie sollten
also keinen Code aus PDF-Versionen dieses Buchs kopieren.
405
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
2. Wählen Sie den gesamten Inhalt der Datei aus, kopieren Sie ihn und fügen Sie ihn
in den Seiteneditor unten auf der Visualforce-Seite "CandidateMap" ein. Die Datei
CandidateMapSample enthält das Visualforce-Markup, das Sie in den oben
stehenden Schritten hinzugefügt haben. Ersetzen Sie also einfach alles im Seiteneditor
mit dem gesamten Beispiel in der Datei.
3. Klicken Sie auf das Speichersymbol (
) im Seiteneditor.
Die interaktive Karte sollte auf Ihrer Visualforce-Seite "CandidateMap" angezeigt werden,
allerdings mit einer Fehlermeldung und ohne Eintragungen. Dies liegt daran, dass die
Bewerberkarte noch keinen Kontext hat und die Seite nicht ermitteln kann, welche Bewerber
angezeigt werden sollen. Wir können dies korrigieren, indem wir die Visualforce-Seite
"CandidateMap" einfach zu unseren Layouts für die Stellenseite hinzufügen.
Probieren Sie es aus: Hinzufügen der Candidate
Map (Bewerberkarte) zum Seitenlayout für
Stellen
Visualforce-Seiten können ebenso einfach zu Seitenlayouts hinzugefügt werden wie Felder
oder Abschnitte. Und sobald wir die Visualforce-Seite "CandidateMap" zu unseren Seitenlayouts
für Stellen hinzugefügt haben, werden auf der Karte automatisch die Standorte der Bewerber
um die einzelnen Stellen angezeigt. Wie von Zauberhand.
Wir haben zwei Seitenlayouts für das Objekt "Position" (Stelle) und möchten, dass die Karte
auf beiden angezeigt wird. Fügen wir zunächst die Seite zum ursprünglichen Seitenlayout
"Position Layout" (Stelle-Layout) hinzu.
Wenn Sie standardmäßige Stellendatensätze besitzen, die das Stellenlayout verwenden,
navigieren Sie zu einer dieser Stellen und klicken Sie auf den Link Seitenlayout bearbeiten
in der rechten oberen Ecke des Datensatzes. Wenn Sie keine standardmäßigen Stellendatensätze
besitzen:
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben "Position Layout"
(Stelle-Layout) auf Bearbeiten.
Das Stellenlayout kann nun bearbeitet werden. Erstellen wir einen Abschnitt im Seitenlayout
für die Visualforce-Seite "CandidateMap".
4. Wählen Sie in der Palette die Kategorie "Felder" aus.
406
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
5. Ziehen Sie das Benutzeroberflächenelement "Abschnitt" von der Palette auf die
Stelle unmittelbar unterhalb des Abschnitts "Beschreibung" im Seitenlayout. Das
Popup-Fenster "Layouteigenschaften" wird angezeigt.
6. Geben Sie im Textfeld Abschnittsname den Wert Candidate Map
(Bewerberkarte) ein.
7. Aktivieren Sie im Bereich "Anzeige Abschnittsüberschrift ein" sowohl das
Kontrollkästchen Detailseite als auch das Kontrollkästchen Seite bearbeiten.
8. Wählen Sie in der Dropdownliste Layout die Option 1 Spalte aus.
9. Klicken Sie auf OK.
Verschieben wir nun die Visualforce-Seite "CandidateMap" in unseren neuen Abschnitt.
10. Wählen Sie in der Palette die Kategorie "Visualforce-Seiten" aus.
Wie Sie sehen, ist in der Palette unsere Visualforce-Seite "CandidateMap" als
Benutzeroberflächenelement aufgelistet.
11. Ziehen Sie das Benutzeroberflächenelement "CandidateMap" aus der Palette in den
Abschnitt "Candidate Map" (Bewerberkarte) des Seitenlayouts.
Das JavaScript für "Candidate Map" (Bewerberkarte) generiert eine Karte, die 400 Pixel hoch
ist und sich über die gesamte Breite des Bildschirms erstreckt. Dies ist gerade groß genug, um
nützlich zu sein, ohne zu viel Platz auf dem Bildschirm einzunehmen. Die
Standardeigenschaften des Benutzeroberflächenelements der Visualforce-Seite müssen für die
Karte angepasst werden. Anderenfalls könnte es zu merkwürdigen Abständen um die Karte
und verwirrenden Bildlaufleisten kommen.
Passen wir die Eigenschaften des Benutzeroberflächenelements der Visualforce-Seite für die
Größe der generierten Karte und den Text an, den wir oben zur Visualforce-Seite
"CandidateMap" hinzugefügt haben. (Für den Fall, dass Sie sich nicht mehr erinnern: Der
Text lautete: "This map shows the locations of candidates who have applied for the
<b>{!Position__c.Name}</b> position." (Auf dieser Karte werden die Standorte von Bewerbern
angezeigt, die sich für die Stelle <b>{!Position__c.Name}</b> beworben haben.))
12. Doppelklicken Sie auf das Element "CandidateMap", um die zugehörigen
Eigenschaften aufzurufen.
13. Setzen Sie die Breite auf 100%.
14. Setzen Sie die Höhe auf 405.
Die Höhe wird stets in Pixel angegeben, wohingegen die Breite entweder in Pixel oder als
Prozentsatz angegeben werden kann. Durch die Höhe von 405 Pixel haben wir 400 Pixel Platz
für die Karte und 5 weitere für den Text. Perfekt!
15. Lassen Sie die Kontrollkästchen Bildlaufleisten anzeigen und Bezeichnung
anzeigen deaktiviert.
407
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
16. Klicken Sie auf OK, um die Eigenschaften für das Benutzerelement zu schließen.
17. Klicken Sie im Seitenlayout auf Speichern.
Wiederholen Sie alle oben angegebenen Schritte für Ihr anderes Seitenlayout für das Objekt
"Position" (Stelle): "IT Position Layout" (IT-Stellen-Layout).
Probieren Sie es aus: Aktivieren der
Bewerberkarte für mobile Anwendungen
Eine letzte Maßnahme müssen wir noch ergreifen, bevor wir die Karte ausprobieren können.
Wir wollen sicherstellen, dass die Karte unseren Benutzern angezeigt wird, unabhängig davon,
ob sie über die vollständige Site oder über ein mobiles Gerät auf einen Stellendatensatz
zugreifen. Auf der Detailseite aller Visualforce-Seiten ist ein Kontrollkästchen vorhanden, mit
dem sie für mobile Salesforce-Anwendungen aktiviert werden kann.
1. Klicken Sie unter "Setup" auf Entwickeln > Seiten.
2. Klicken Sie auf CandidateMap (Bewerberkarte). Sie können auf den Link unter
der Spalte "Bezeichnung" oder "Name" klicken. Über beide Links wird die
zugeordnete Detailseite aufgerufen.
3. Klicken Sie auf Bearbeiten.
4. Wählen Sie Verfügbar für Salesforce-Mobilanwendungen aus und
klicken Sie auf Speichern.
Wenn Sie damit fertig sind, ist es an der Zeit die Bewerberkarte zu testen!
Probieren Sie es aus: Testen der Bewerberkarte
Navigieren Sie zu einem Stellendatensatz mit einer oder mehreren Bewerbungen. (Wenn Sie
noch keine Stellenbewerbungen in Ihrer Anwendung erstellt haben, wäre jetzt ein guter
Zeitpunkt dafür.) Nachdem Sie einen Stellendatensatz aufgerufen haben, blättern Sie nach
unten, um die Bewerberkarte in Aktion zu sehen.
408
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung144: Unsere funktionsfähige Bewerberkarte
Starten Sie Salesforce1, um zu sehen, wie die mobile Version der Bewerberkarte aussieht.
Wenn Sie einen Stellendatensatz aufrufen, wischen Sie, bis Sie zur Datensatzdetailansicht
gelangen, und blättern Sie nach unten, um die Bewerberkarte anzusehen. Eine Interaktion mit
der Karte ist auf der Datensatzdetailseite nicht möglich. Tippen Sie hierzu auf die Karte, um
sie auf einer anderen Seite zu öffnen. Das sieht gut aus!
Wie Sie sehen, ist die Visualforce-Seite "Candidate Map" (Bewerberkarte) in unsere
Personalbeschaffungsanwendung eingebettet, genau wie die anderen Funktionen, die wir mit
den deklarativen Point-and-Click-Tools der Plattform erstellt haben. Außerdem sehen Sie,
dass auf der Karte automatisch nur Bewerber angezeigt werden, die sich auf diese Stelle
beworben haben.
Mit sehr wenig Programmieraufwand und einigen wenigen Klicks haben wir Yahoo Maps
Web Services mit Force.com kombiniert und das Ergebnis so aussehen lassen, als sei es speziell
für unsere Personalbeschaffungsanwendung erstellt worden. Sie können die SOAP-API mit
den Tausenden Webservices kombinieren, die heutzutage im Internet verfügbar sind. Die
Möglichkeiten sind praktisch unbegrenzt!
409
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Implementieren der Schaltfläche "Mass
Update Status"
(Status-Massenaktualisierung)
Die Funktion "Candidate Map" (Bewerberkarte), die wir soeben hinzugefügt haben, ist sowohl
nützlich als auch auffällig. Sie hilft den Personalbeschaffungsmitarbeitern, noch effizienter zu
arbeiten, und fügt außerdem eine prägnante Grafik zu einer ansonsten eher unscheinbaren
Datensammlung hinzu. Die nächste Funktion, die wir implementieren, ist ästhetisch weniger
ansprechend, aber wesentlich nützlicher und spart Ihren Benutzern vermutlich sehr viel Zeit.
Stellen Sie sich vor, Sie wären ein Personalbeschaffungsmitarbeiter bei Universal Containers.
Sie sind damit betraut, eine hochattraktive Stelle zu besetzen, für die mehrere Hundert
Bewerbungen eingegangen sind, und Sie haben den Bewerberkreis schließlich auf die drei
besten Kandidaten eingegrenzt. Bevor Sie weitermachen können, müssen Sie jedoch die
Bewerbungen aller anderen Bewerber um die Stelle ablehnen, eine Aufgabe, die etliche Stunden
in Anspruch nehmen kann, wenn Sie jeden einzelnen dieser Stellenbewerbungsdatensätze
öffnen und den Status auf "abgelehnt" setzen müssen. Was können Sie tun?
Glücklicherweise ist die Erstellung von Tools zur Ausführung von Massenaktionen bei Daten
eine weitere der unzähligen Möglichkeiten, für die Sie die Funktionen der Plattform nutzen
können. Mit einigen wenigen Visualforce-Zeilen und den Point-and-Click-Tools der Plattform
können wir die Personalbeschaffungsanwendung so erweitern, dass die Produktivität unserer
Benutzer enorm gesteigert wird. Wenn wir damit fertig sind, ist die Aktualisierung des Felds
Status bei einer Vielzahl von Stellenbewerbungen keine stundenlange stupide Arbeit mehr,
sondern lässt sich ganz einfach mit einigen Mausklicks in wenigen Sekunden erledigen.
Planen der Funktion "Mass Update Status"
(Status-Massenaktualisierung)
Das Ziel ist einfach: Eine Methode erstellen, mit der das Feld Status bei mehreren
Stellenbewerbungen in einem einzigen Vorgang aktualisiert werden kann. Wir müssen nur
ein wenig die Logistik ausarbeiten, um sicherzustellen, dass die Implementierung reibungslos
verläuft. Beispielsweise stellen sich folgende Fragen: Wo in unserer Anwendung möchten die
Benutzer auf die Funktion zur Status-Massenaktualisierung zugreifen? Und wie soll der
eigentliche Aktualisierungsvorgang durchgeführt werden?
Beim Entwerfen einer neuen Funktion ist es wichtig, sich zu überlegen, in welchem Kontext
die Benutzer darauf zugreifen. Da mit der Funktion zur Status-Massenaktualisierung der
410
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Zweck verfolgt wird, das Feld Status bei mehreren Bewerbungen für eine bestimmte Stelle
gleichzeitig zu aktualisieren, ist es am wahrscheinlichsten, dass die Benutzer diesen Vorgang
durchführen möchten, wenn sie gerade einen Stellendatensatz anzeigen. Daher ist es am
sinnvollsten, den Zugriff auf die Funktion "Mass Update Status" (Status-Massenaktualisierung)
auf Stellendatensätzen zur Verfügung zu stellen.
Und wo genau in einem Stellendatensatz sollten wir den Zugriff auf die Funktion bereitstellen?
Nun, im Abschnitt Erweitern der einfachen Anwendung durch Beziehungen auf Seite 117
haben wir die Themenliste "Job Applications" (Stellenbewerbungen) zu unseren
Stellendatensätzen hinzugefügt, mit der die Benutzer rasch alle Bewerbungen ermitteln konnten,
die für eine Position eingegangen waren. Wir können diese Liste nutzen, indem wir neben
jeder Stellenbewerbung ein Kontrollkästchen hinzufügen, sodass die Benutzer diejenigen
Stellenbewerbungen auswählen können, die aktualisiert werden sollen. Anschließend könnten
wir die benutzerdefinierte Listenschaltfläche Update Status (Status aktualisieren) hinzufügen,
mit der die Benutzer die Status-Felder aller ausgewählten Stellenbewerbungen auf einen
Schlag aktualisieren können.
Wenn wir damit fertig sind, funktioniert die Funktion in etwa wie folgt:
1. Öffnen Sie einen Positionsdatensatz und blättern Sie nach unten zur Themenliste
"Job Applications" (Stellenbewerbungen).
2. Wählen Sie in der Themenliste "Job Applications" (Stellenbewerbungen) die
Kontrollkästchen neben den Bewerbungen aus, die aktualisiert werden sollen.
Abbildung145: Themenliste "Job Applications" (Stellenbewerbungen)
3. Klicken Sie auf die Schaltfläche Update Status (Status aktualisieren).
Die Seite "Mass Update Status" (Status-Massenaktualisierung) wird angezeigt.
411
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung146: Seite "Mass Update Status" (Status-Massenaktualisierung)
4. Wählen Sie einen Wert für das Feld Status aus.
5. Klicken Sie auf Speichern.
Das klingt vielleicht so, als sei die Implementierung dieser Funktion mit enormem Aufwand
verbunden, aber es ist wirklich recht einfach. Sie brauchen lediglich die Seite "Mass Update
Status" (Status-Massenaktualisierung) mit ein wenig einfachem Visualforce-Markup zu erstellen
und eine benutzerdefinierte Listenschaltfläche zur Themenliste "Job Applications"
(Stellenbewerbungen) auf Stellendatensätzen hinzufügen. Und im Handumdrehen sind Sie
fertig.
Probieren Sie es aus: Erstellen der Seite "Mass
Update Status" (Status-Massenaktualisierung)
Wir beginnen mit der Implementierung der Funktion "Mass Update Status"
(Status-Massenaktualisierung), indem wir die Visualforce-Seite erstellen, auf der die Benutzer
den Wert auswählen können, mit der das Feld Status aktualisiert wird. Um diese Seite noch
besser nutzbar zu machen, nehmen wir eine Tabelle mit auf, in der für jede ausgewählte
Stellenbewerbung die folgenden Elemente angezeigt werden: Job Application Number
(Stellenbewerbungsnummer), Position Title (Stellentitel), Candidate Name
(Bewerbername) und Status.
1. Ersetzen Sie in der Adressleiste Ihres Browsers alles rechts von salesforce.com/
durch apex/MassUpdateStatus.
Der so entstehende URL sollte in etwa wie folgt aussehen:
https://na1.salesforce.com/apex/MassUpdateStatus. Achten Sie darauf, nur
den Teil des URL zu ändern, der nach salesforce.com/ steht.
412
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
2. Drücken Sie die Eingabetaste.
3. Klicken Sie auf den Link Seite "MassUpdateStatus" erstellen.
Wir haben nun eine neue Visualforce-Seite namens "MassUpdateStatus". Als Nächstes fügen
wir das Visualforce-Markup hinzu, mit dem die Funktionen von "Mass Update Status"
(Status-Massenaktualisierung) implementiert werden.
Zur Eingabe des Markup verwenden wir wie zuvor den Visualforce-Seiteneditor im
Entwicklungsmodus. Diesmal benötigen wir jedoch kein JavaScript; Visualforce kann alles
automatisch erledigen.
4. Klicken Sie in der Fußzeile unten auf der Visualforce-Seite "MassUpdateStatus" auf
MassUpdateStatus, um den Visualforce-Seiteneditor im Entwicklungsmodus
anzuzeigen.
5. Löschen Sie das gesamte Standard-Markup im Visualforce-Seiteneditor im
Entwicklungsmodus und ersetzen Sie es durch folgendes Markup. Denken Sie daran,
dass es einfacher ist, den Code nicht einzutippen, sondern ihn aus der Datei
MassUpdateStatusSample zu kopieren und einzufügen, die in der Datei
RecruitingApp-7_0.zip enthalten ist, die Sie von
developer.force.com/books/fundamentals heruntergeladen haben.
<apex:page standardController="Job_Application__c"
recordSetVar="applications">
<apex:sectionHeader title="Mass Update the Status
of Job Applications"/>
<apex:form>
<apex:pageBlock>
<apex:pageMessages />
<apex:pageBlockButtons>
<apex:commandButton value="Save"
action="{!save}"/>
<apex:commandButton value="Cancel"
action="{!cancel}"/>
</apex:pageBlockButtons>
<apex:pageBlockSection title="Status Update"
collapsible="false">
<apex:inputField value=
"{!Job_Application__c.Status__c}"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Selected Job
Applications" columns="1">
<apex:pageBlockTable value="{!selected}"
var="application">
<apex:column value="{!application.name}"/>
<apex:column value=
"{!application.position__r.name}"/>
<apex:column headerValue="Candidate Name">
<apex:outputText value=
"{!application.candidate__r.
First_Name__c & ' ' & application.
candidate__r.Last_Name__c}"/>
413
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
</apex:column>
<apex:column value=
"{!application.Status__c}"/>
</apex:pageBlockTable>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Tipp: Beachten Sie, dass in diesem Beispielcode einige Komponenten keine
schließenden Tags aufweisen. Wenn in einer Komponente keine anderen
Komponenten geschachtelt sind, können Sie ein schließendes Tag erstellen,
indem Sie am Ende des Start-Tags einen Schrägstrich einfügen, wie in
folgendem Beispiel: <apex:sectionHeader/>.
6. Klicken Sie auf
.
Grundlegendes zum Visualforce Markup
"MassUpdateStatus"
Nehmen wir uns einen Augenblick Zeit, um die wichtigsten Visualforce-Tags zu erörtern, die
wir soeben zu unserer Seite "MassUpdateStatus" hinzugefügt haben. Auch wenn wir nicht
sämtliche Anwendungsfälle für jede Komponente behandeln oder jedes einzelne Attribut
detailliert besprechen, so erhalten Sie doch einen besseren Einblick in die Funktionsweise von
Visualforce.
Tipp: Um allgemeine Beschreibungen und Beispiele für alle Visualforce-Komponenten
und ihre Attribute anzuzeigen, klicken Sie auf den Link Komponentenverweis in
der rechten oberen Ecke des Visualforce-Seiteneditors im Entwicklungsmodus.
<apex:page>
Wie alle Visualforce-Seiten muss auch die Seite "MassUpdateStatus" mit einer
<apex:page>-Komponente beginnen. Wie Sie sehen, weist das Tag dasselbe
standardController-Attribut auf, das auch in unserer interaktiven Funktion "Candidate
Map" (Bewerberkarte) verwendet wurde, auch wenn es diesmal auf das
Stellenbewerbungs-Objekt gesetzt ist: Job_Application__c). Dies liegt daran, dass die
Funktion "Mass Update Status" (Status-Massenaktualisierung) ein Feld in
Bewerbungsdatensätzen aktualisiert, nicht in Stellendatensätzen.
414
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Die Komponente weist außerdem ein recordSetVar-Attribut auf. Wir verwenden dieses
Attribut, um standardcontroller zu ändern, sodass anstatt eines einzelnen Datensatzes
eine Gruppe von Datensätzen verwendet werden kann.
<apex:sectionHeader>
Die Komponente <apex:sectionHeader> fügt oben auf der Seite eine Kopfzeile hinzu.
Über das Attribut title der Komponente wird der Text in der Kopfzeile festgelegt.
<apex:form>
Die Komponente <apex:form> richtet einen Abschnitt auf der Seite ein, in dem die Benutzer
Daten eingeben und durch Klicken auf eine Schaltfläche oder einen Link übermitteln können.
Sie ist wie ein unsichtbarer Container, ähnlich einem <form>-Element in HTML.
<apex:pageBlock>
Die Komponente <apex:pageBlock> gibt einen umrandeten Bereich auf der Seite an,
ähnlich den Bereichen auf Detailseiten, die Abschnitte enthalten.
<apex:pageMessages>
Die Komponente <apex:pageMessages> stellt Platz für Standardsystemmeldungen
(beispielsweise Meldungen, die den Benutzer darauf hinweisen, wenn eine Datei gespeichert
wird) und Fehler, die sich auf die Validierungsregeln beziehen, bereit. Diese Meldungen sind
bereits in der Force.com-Plattform enthalten. Sie brauchen Sie also nicht zu erstellen, sondern
müssen lediglich diese Komponente verwenden, um Platz für sie zu schaffen, für den Fall, dass
die Plattform sie anzeigen muss.
<apex:pageBlockButtons>
Die Komponente <apex:pageBlockButtons> stellt Platz für eine Reihe von Schaltflächen
auf der Seite bereit. In den zugehörigen Unterkomponenten wird angegeben, was die
Schaltflächen bewirken und wie sie beschriftet sind.
<apex:commandButton>
Die einzelnen <apex:commandButton>-Komponenten erstellen jeweils eine einzelne
Schaltfläche innerhalb der Komponente <apex:pageBlockButtons>. Die Seite "Mass
Update Status" (Status-Massenaktualisierung) verwendet zwei
<apex:commandButton>-Komponenten: eine zur Erstellung einer Schaltfläche zum
Speichern und eine zweite zum Erstellen einer Schaltfläche zum Abbrechen. Die Schaltflächen
entsprechen von ihrem Stil her standardmäßigen Salesforce-Schaltflächen.
Das Attribut value in der Komponente <apex:commandButton> bestimmt, welcher Text
auf der Schaltfläche angezeigt wird (z. B. "Speichern" oder "Abbrechen"), während das Attribut
action festlegt, welcher Vorgang beim Klicken auf die Schaltfläche ausgeführt wird. Bei der
415
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Festlegung des Attributs action müssen Sie die Syntax für Briefvorlagenfelder verwenden.
Um beispielsweise die Schaltfläche so zu konfigurieren, dass die auf der Seite eingegebenen
Daten gespeichert werden, setzen Sie das Attribut action auf {!save}.
Jede Schaltfläche wird zweimal auf der Seite "MassUpdateStatus" angezeigt, einmal am oberen
Rand des durch die Komponente <apex:pageBlock> zugewiesenen Bereichs und einmal
am unteren Rand. Dies ist eine integrierte Vorsichtsmaßnahme der Komponente
<apex:pageBlockButtons>, um sicherzustellen, dass die Schaltflächenfunktion für die
Benutzer problemlos sichtbar ist, auch bei großen Seitenblöcken.
<apex:pageBlockSection>
Die Komponente <apex:pageBlockSection> kann innerhalb von
<apex:pageBlock>-Komponenten verwendet werden, um einen Abschnitt auf einer Seite
zu erstellen, der den Abschnitten in Seitenlayouts ähnelt. Auf dieser Seite wird die Komponente
<apex:pageBlockSection> zweimal verwendet.
Die erste Instanz der Komponente <apex:pageBlockSection> weist das Attribut title
auf, das auf "Status Update" (Statusaktualisierung) gesetzt ist. Dieser Text wird oben im
Abschnitt angezeigt. Außerdem weist sie das Attribut collapsible auf, das festlegt, ob die
Benutzer den Abschnitt minimieren und erweitern können, indem sie auf einen Pfeil links
neben dem Titel klicken. Die Benutzer sollen diesen Blockabschnitt der Seite nicht versehentlich
ausblenden können. Daher ist das Attribut auf "false" gesetzt.
Die zweite <apex:pageBlockSection>-Komponente erstellt einen Abschnitt, in dem die
für die Aktualisierung ausgewählten Stellenbewerbungen in Tabellenform angezeigt werden.
Das zugehörige title-Attribut ist auf "Selected Job Applications" (Ausgewählte
Stellenbewerbungen) gesetzt. Außerdem ist das Attribut columns auf "1" gesetzt.
Tipp: Anders als bei Seitenlayouts können Abschnitte auf Visualforce-Seiten mehr
als zwei Spalten aufweisen. Die Stylesheets der Plattform sind jedoch für ein bis zwei
Spalten optimiert, sodass diese Obergrenze besser nicht überschritten werden sollte.
<apex:inputField>
Die Komponente <apex:inputField> rendert das Feld Status aus dem Objekt "Job
Application" (Stellenbewerbung) auf unserer Seite. Verwenden Sie
<apex:inputField>-Komponenten, um HTML-Eingabeelemente für beliebige
Salesforce-Felder zu erstellen. Sie müssen lediglich das Attribut value der Komponente auf
den API-Namen des Salesforce-Objekts und -Felds setzen.
<apex:pageBlockTable>
Die Komponente <apex:pageBlockTable> rendert eine Tabelle mit Feldwerten aus
mehreren Datensätzen eines bestimmten Objekts. Für unsere Funktion müssen wir zwei
Attribute dieser Komponente festlegen: value und var.
416
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Das Attribut value informiert die Tabelle darüber, welche Gruppe von Datensätzen die
anzuzeigenden Werte enthält . In dieser Instanz setzen wir das Attribut auf den Ausdruck
{!selected}, damit die Tabelle Werte aus den ausgewählten Stellenbewerbungen anzeigen
kann.
Das zweite Attribut, var, erstellt einen Namen, den Komponenten innerhalb der Tabelle
verwenden können, um auf einzelne Datensätze in der Datensatzgruppe zu verweisen, ohne
jeden Datensatz tatsächlich anhand des Namens zu referenzieren.
<apex:column>
Die <apex:column>-Komponenten innerhalb von <apex:pageBlockTable> legen die
Spalten der Tabelle fest sowie die Bewerbungsfelder, die in den einzelnen Spalten angezeigt
werden. Für drei der vier <apex:column>-Komponenten brauchen wir lediglich das Attribut
value auf einen Ausdruck zu setzen, der das Feld mithilfe des Werts des Attributs var der
Komponente <apex:pageBlockTable> referenziert, gefolgt vom API-Namen des Felds.
Beispielsweise werden mit dem folgenden Ausdruck die Werte des Felds Job Application
Number (Stellenbewerbungsnummer) angezeigt.
{!application.name}
Für das Feld Candidate Name (Bewerbername) dagegen ist ein wenig mehr Arbeit
erforderlich, da es sich bei dem Feld im Grunde um eine Kombination der Felder First
Name (Vorname) und Last Name (Nachname) aus dem Objekt "Candidate" (Bewerber)
handelt. Um diese Felder zu kombinieren, verwenden wir eine
<apex:outputText>-Komponente in einer <apex:column>-Komponente und setzen das
zugehörige Attribut value auf einen Ausdruck, der die Felder First Name (Vorname) und
Last Name (Nachname) aus dem Objekt "Candidate" (Bewerber) kombiniert.
<apex:column headerValue="Candidate Name">
<apex:outputText value="{!application.
candidate__r.First_Name__c & ' ' &
application.candidate__r.Last_Name__c}"/>
</apex:column>
Wenn Sie Spaltenfelder auf diese Weise generieren, wird das Attribut value (Wert) der
Komponente <apex:column> nicht festgelegt, sodass die Tabelle nicht weiß, was als
Spaltenüberschrift verwendet werden soll. Korrigieren Sie dies, indem Sie das Attribut
headerValue für diese <apex:column>-Komponente festlegen.
Beyond the Basics
Wussten Sie, dass Sie einen Chatter-Feed zu einer Visualforce-Seite hinzufügen können?
417
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Angenommen, Sie möchten den Chatter-Feed für eine Stelle zur zugehörigen Detailseite
hinzufügen. Sie können einfach die Standardkomponente <chatter:feed> verwenden:
<apex:page standardController="Position__c">
<chatter:feed entityId="{$!Position__c.id}">
<apex:detail />
</apex:page>
Weitere Informationen finden Sie im Visualforce Developer's Guide unter
wiki.developerforce.com/index.php/Documentation#Reference_Guides.
Probieren Sie es aus: Erstellen von
benutzerdefinierten Listenschaltflächen
Nun, da unsere Visualforce-Seite "Mass Update Status" (Status-Massenaktualisierung) fertig
ist, können wir die Schaltfläche erstellen, auf die die Benutzer klicken, um auf die Seite
zuzugreifen.
Mit der Plattform können wir zwei Typen von Schaltflächen erstellen:
Schaltflächen auf der Detailseite
Schaltflächen, die auf Detailseiten im Schaltflächenabschnitt des Seitenlayouts angezeigt
werden.
Listenschaltflächen
Schaltflächen, die in Listenansichten, Suchergebnislayouts oder Themenlisten angezeigt
werden.
Wir benötigen eine Schaltfläche, auf die die Benutzer in der Themenliste "Job Applications"
(Stellenbewerbungen) in Stellendatensätzen klicken können. Daher erstellen wir eine
Listenschaltfläche.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Job Application (Stellenbewerbung).
Sie fragen sich vielleicht, warum wir das Objekt Job Application (Stellenbewerbung) ausgewählt
haben und nicht das Objekt Position (Stelle), da die Schaltfläche doch in Stellendatensätzen
angezeigt wird. Der Grund hierfür ist, dass Listenschaltflächen auf dem Objekt erstellt werden,
das aufgelistet wird.
3. Klicken Sie in der Themenliste "Benutzerdefinierte Schaltflächen und Links" auf
Neue Schaltfläche/neuer Link.
418
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Abbildung147: Bearbeitungsseite für benutzerdefinierte Schaltflächen
Die Bearbeitungsseite für benutzerdefinierte Schaltflächen sollte Ihnen bekannt vorkommen,
da sie große Ähnlichkeit mit dem Formeleditor aufweist, den wir vor einiger Zeit gesehen
haben.
4. Geben Sie im Textfeld Bezeichnung den Wert Update Status (Status
aktualisieren) ein.
5. Akzeptieren Sie im Textfeld Name den Standardwert Update_Status.
6. Geben Sie im Feld Beschreibung den Text Updates the Status field
on multiple job applications "Aktualisiert das Statusfeld bei mehreren
Stellenbewerbungen" ein.
Nun können wir angeben, ob wir einen Link für die Detailseite, eine Schaltfläche für die
Detailseite oder eine Listenschaltfläche erstellen möchten. Wir haben uns bereits entschieden,
eine Listenschaltfläche zu erstellen. Behalten Sie die anderen Optionen jedoch für zukünftige
Anwendungen im Hinterkopf.
7. Wählen Sie Listenschaltfläche als Anzeigetyp aus.
Haben Sie bei der Auswahl der Option Listenschaltfläche das Kontrollkästchen
Kontrollkästchen anzeigen (für Auswahl mehrerer Datensätze) bemerkt,
das unterhalb angezeigt wurde? Wenn diese Option aktiviert bleibt, zeigt die Plattform
Kontrollkästchen neben den Datensätzen in der Themenliste an.
8. Lassen Sie das Kontrollkästchen Kontrollkästchen anzeigen (für Auswahl
mehrerer Datensätze) aktiviert.
Als Nächstes können Sie in der Auswahlliste Verhalten auswählen, was geschieht, wenn ein
Benutzer auf die Schaltfläche klickt. Wir wissen, dass die Schaltfläche die Seite "Mass Update
Status" (Status-Massenaktualisierung) öffnen soll, wir können jedoch angeben, ob die Seite
in einem neuen Fenster oder im bestehenden Fenster geöffnet werden soll und ob sie eine
Randleiste und eine Kopfzeile enthalten soll oder nicht. Sie können die Schaltfläche sogar bei
419
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Bedarf für die Ausführung von JavaScript konfigurieren. Für unsere Anwendung ist es am
sinnvollsten, die Schaltfläche so zu konfigurieren, dass die Seite für die Massenaktualisierung
im bestehenden Fenster geöffnet wird, und auch die Randleiste und die Kopfzeile dort zu
belassen.
9. Wählen Sie in der Auswahlliste Verhalten die Option In vorhandenem
Fenster mit Randleiste öffnen aus.
Nun müssen wir die Inhalte angeben, die angezeigt werden sollen. Dazu müssen wir zunächst
den anzuzeigenden Inhaltstyp in der Auswahlliste Inhaltsquelle angeben.
10. Wählen Sie in der Auswahlliste Inhaltsquelle die Option
Visualforce-Seite aus.
Wenn Sie die Option Visualforce-Seite auswählen, wird im unteren Abschnitt der
Bearbeitungsseite für die benutzerdefinierte Listenschaltfläche die Auswahlliste Inhalt
angezeigt. Die Auswahlliste enthält die Visualforce-Seiten in Ihrer Organisation, bei denen
ein Standardsteuerfeld für das Objekt festgelegt ist, für das Sie die Schaltfläche erstellen.
11. Wählen Sie in der Dropdownliste Inhalt die Option
MassUpdateStatus[MassUpdateStatus] aus.
12. Klicken Sie auf Speichern.
Nach dem Klicken auf Speichern werden Sie daran erinnert, dass die Benutzer erst dann auf
die Schaltfläche zugreifen können, wenn sie zu einem Seitenlayout hinzugefügt wurde. Dies
liegt daran, dass die Erstellung von benutzerdefinierten Schaltflächen dem Hinzufügen eines
benutzerdefinierten Felds zu einem Objekt ähnelt: Selbst wenn es in der Datenbank definiert
ist, ist es für niemanden sichtbar, solange Sie es nicht explizit zu einem Seitenlayout hinzufügen.
Probieren Sie es aus: Hinzufügen einer
benutzerdefinierter Listenschaltfläche zu einem
Seitenlayout
Stellen wir unsere Funktion "Mass Update Status" (Status-Massenaktualisierung) fertig, indem
wir die Listenschaltfläche "Update Status" (Status aktualisieren) zu unseren Layouts für die
Stellenseite hinzufügen.
1. Klicken Sie unter "Setup" auf Erstellen > Objekte.
2. Klicken Sie auf Position (Stelle).
3. Klicken Sie in der Themenliste "Seitenlayouts" neben dem Seitenlayout, das Sie als
Erstes bearbeiten möchten, auf Bearbeiten.
420
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
4. Klicken Sie in der Themenliste "Job Application" (Stellenbewerbung) auf das
Schraubenschlüsselsymbol ( ), um die zugehörigen Eigenschaften zu bearbeiten.
5. Klicken Sie unten im Fenster "Themenlisteneigenschaften" auf die Leiste
Schaltflächen, um den Bereich "Schaltflächen" zu erweitern.
Abbildung148: Bearbeitungsseite für benutzerdefinierte Schaltflächen
Hier können wir angeben, welche Standardschaltflächen und benutzerdefinierten Schaltflächen
in der Themenliste angezeigt werden sollen. Die Schaltfläche "Update Status" (Status
aktualisieren), die wir soeben erstellt haben, sollte in der Liste "Verfügbare Schaltflächen"
angezeigt werden.
6. Wählen Sie die Schaltfläche "Update Status" (Status aktualisieren) aus und klicken
Sie auf Hinzufügen, um sie in die Liste "Selected Buttons" (Ausgewählte
Schaltflächen) zu verschieben.
7. Klicken Sie auf OK, um das Fenster mit den Themenlisteneigenschaften zu schließen.
8. Klicken Sie auf Speichern.
Wiederholen Sie das oben stehende Verfahren für das andere Layout der Stellenseite.
Anmerkung: Diese Visualforce-Seite soll nicht für mobile Anwendungen in Salesforce
aktiviert werden. Da in den Themenlisten in Salesforce1 keine Schaltflächen angezeigt
werden, können unsere Benutzer die Seite "Mass Update Status"
(Status-Massenaktualisierung) nicht über ein mobiles Gerät ausführen.
421
Kapitel 11: Jenseits der Point-and-Click-Anwendungsentwicklung
Wenn dies geschehen ist, kann die Funktion "Mass Update Status"
(Status-Massenaktualisierung) getestet werden.
Probieren Sie es aus: Testen der Funktion "Mass
Update Status" (Status-Massenaktualisierung)
Um die Funktion "Mass Update Status" (Status-Massenaktualisierung) zu testen, navigieren
Sie zu einem Stellendatensatz, auf den sich mehrere Personen beworben haben, und blättern
Sie nach unten zur Themenliste "Job Applications" (Stellenbewerbungen). Wie Sie sehen, ist
die Schaltfläche Update Status (Status aktualisieren) vorhanden und neben den
Stellenbewerbungsnummern werden Kontrollkästchen angezeigt, genau wie wir es geplant
hatten.
Wählen Sie nun einige Stellenbewerbungen aus und klicken Sie auf die Schaltfläche Update
Status (Status aktualisieren). Die Visualforce-Seite "Mass Update Status"
(Status-Massenaktualisierung) wird angezeigt. Wie Sie sehen, werden in der unteren Hälfte
der Seite die Stellenbewerbungen angezeigt, die wir auf der vorangegangenen Seite ausgewählt
haben.
Abbildung149: Seite "Mass Update Status" (Status-Massenaktualisierung) mit Anzeige
ausgewählter Bewerbungen
Wählen Sie in der Auswahlliste Status den neuen Status für die ausgewählten Datensätze und
klicken Sie auf Speichern. Salesforce aktualisiert alle ausgewählten Datensätze mit dem neuen
Wert.
Die Funktion arbeitet einwandfrei.
422
Kapitel 12
Weitere Informationen
Themen:
•
•
•
•
•
Developer Force
Optionen für Hilfe und
Schulungen
Multimedia
AppExchange-Partnerprogramm
Was halten Sie davon?
In diesem Buch wurden einige der nativen Technologien
eingeführt, die zur Force.com-Plattform gehören. Wir
haben eine voll funktionsfähige
Personalbeschaffungsanwendung erstellt und wir haben
Visualforce und die SOAP-API eingeführt, um Ihnen zu
zeigen, wie Sie damit zusammengesetzte Anwendungen
erstellen können. Aber in einem einzigen Buch kann
natürlich nicht alles behandelt werden. Wir haben viele
weitere leistungsstarke Tools und Optionen übersprungen
und nicht erörtert, wie Sie Ihre eigenen Anwendungen auf
AppExchange für andere freigeben können. In der Tat
wären wir überrascht, wenn Sie keine weiteren Fragen dazu
hätten, wie Sie all die Funktionen nutzen können, die die
Plattform zu bieten hat.
Glücklicherweise gibt es einige Möglichkeiten, wie Sie
sich eingehender über die Plattform informieren können.
423
Kapitel 12: Weitere Informationen
Developer Force
Developer Force ist das kostenlose Entwicklerprogramm von salesforce.com für die
Force.com-Plattform. Die Developer Force-Website ist eine Entwickler-Community, in der
Sie sich informieren, auf wichtige Ressourcen zugreifen und vielfältige Themen mit anderen
Entwicklern in der Community diskutieren können, die mit Force.com, Database.com, Heroku
und anderen ähnlichen salesforce.com-Plattformen zu tun haben. Zu den Themen aus dem
Bereich der Anwendungsentwicklung gehören Apex, Visualforce, Integration-APIs,
Datenbankthemen, Paketerstellung und Verteilung von Anwendungen und vieles mehr.
Es gibt zahlreiche Möglichkeiten, wie Sie Developer Force nutzen und selbst Beiträge dazu
leisten können. Hier einige Beispiele:
•
•
•
•
•
•
•
•
Technische Artikel zu Entwicklungsthemen lesen und selbst beitragen.
Beispielcode herunterladen und selbst beitragen.
Unsere Blogs lesen, unsere RSS-Feeds abonnieren oder selbst bloggen.
In den Developer Force-Diskussionsforen lesen und selbst Beiträge erstellen.
Den monatlichen Force.com-E-Mail-Newsletter mit Neuigkeiten aus dem
Entwicklungsbereich lesen.
Sich für Veranstaltungen in unserem Veranstaltungskalender anmelden oder archivierte
Multimedia-Veranstaltungen ansehen und -hören.
An speziellen Programmen teilnehmen, wie beispielsweise Entwicklervorschauen, um sich
einen Einblick in die kommenden Neuerungen zu gewinnen.
Technische Webinare ansehen, mit denen Sie sich schnell in neue Funktionen einarbeiten
können.
Optionen für Hilfe und Schulungen
Neben der Developer Force-Website bietet die Plattform selbst zahlreiche Optionen für Hilfe
und Schulungen:
•
•
424
Antworten auf Ihre Fragen: Klicken Sie oben auf einer beliebigen Seite auf Hilfe. Geben
Sie Ihre Stichwörter in das Suchfeld ein und drücken Sie die Eingabetaste. Die Suche
liefert Online-Hilfethemen, Lösungen aus der Knowledge Base und empfohlene Schulungen,
die mit den von Ihnen eingegebenen Stichwörtern übereinstimmen.
Online-Schulungen: Klicken Sie im Fenster "Hilfe & Schulung" auf die Registerkarte
"Schulung", wählen Sie Ihre Rolle und Ihren geografischen Standort aus und klicken Sie
auf Schulungen anzeigen!, um kostenlose Online-Schulungen zu finden. Ihnen stehen
Kapitel 12: Weitere Informationen
•
•
mehr als fünfzehn Online-Schulungskurse zur Verfügung, die Sie rund um die Uhr abrufen
können!
Präsenzschulungen: Eine Reihe von Beispielen in diesem Buch wurde von Salesforce.com
Training & Certification bereitgestellt und ist den weltweit verfügbaren von Experten
geleiteten Schulungskursen entnommen. Die Schulungskurse von Salesforce.com Training
& Certification bieten eine Gelegenheit, praktische Erfahrungen mit der
Force.com-Plattform und den Salesforce-Anwendungen zu sammeln, und bereiten Sie auf
die Salesforce-Zertifizierung vor. Wenn Sie weitere Informationen wünschen oder sich für
einen Kurs einschreiben möchten, rufen Sie die Seite www.salesforce.com/training
auf.
Herunterladen von Tipps und Leitfäden zu bewährten Methoden: Wählen Sie die
Registerkarte "Hilfe" im Fenster "Hilfe & Schulung" und klicken Sie in der Taskleiste auf
Tipps, um Tipps, Implementierungsleitfäden und bewährte Methoden für bestimmte
Funktionen anzuzeigen bzw. herunterzuladen.
Multimedia
Dank der harten Arbeit unserer Kollegen in der Salesforce.com-Community und auf den
Force.com-Websites steht eine beträchtliche Anzahl an Podcasts und Videos zur Verfügung.
Unsere Podcasts und Videos halten die Force.com-Plattform-Community zusammen, indem
sie kostenlosen Zugang zu einer Vielzahl an bewährten Vorgehensweisen, Fallstudien und
produkt- und plattformbezogenen digitalen Audio-Inhalten bieten.
Sie finden Podcasts auf unserem iTunes-Kanal. Suchen Sie dazu im iTunes Music Store nach
"salesforce". Unsere Videos finden Sie unter
http://developer.force.com/content/type/Tech+Talk auf der Developer
Force-Website.
Der Zugang zur Force.com-Plattform und zu CRM-bezogenen Interviews mit Koryphäen,
Präsentationen von Vordenkern sowie zu bewährten Vorgehensweisen ist nur einen Mausklick
entfernt. Viel Spaß beim Zuhören und Zusehen!
AppExchange-Partnerprogramm
Dank der zunehmenden Verbreitung von The Business WebTM können Unternehmen ihre
Services und Anwendungen anderen Unternehmen über das Internet ebenso problemlos zur
Verfügung stellen wie Einzelhändler und Auktionshäuser mit Online-Interessenten in
Verbindung treten können. Als AppExchange-Partner sind bereits über 150 Unternehmen an
diesem neuen Kapitel im EDV-Bereich beteiligt und stellen ihre Angebote über AppExchange
425
Kapitel 12: Weitere Informationen
in The Business Web zur Verfügung. Dank des AppExchange-Partnerprogramms können
sich sowohl junge als auch etablierte Unternehmen dieser stetig größer werdenden Community
von On-Demand-Anbietern ganz problemlos anschließen. Besuchen Sie die Website des
Partnerprogramms unter www.salesforce.com/partners/ und nehmen Sie noch heute
am Force.com AppExchange-Partnerprogramm teil!
Was halten Sie davon?
Nun, damit sind wir am Ende angelangt. Hat Ihnen die Lektüre gefallen? Hat sie Sie dazu
angeregt, Ihre eigenen On-Demand-Anwendungen zu erstellen und sich aktiv am Cloud
Computing zu beteiligen? Wir hoffen das sehr. Wir würden Kommentare von Ihrer Seite zu
schätzen wissen. Mehr noch: Wir hoffen fest auf Ihr Feedback und Ihre Ideen. Rufen Sie die
Developer Force-Diskussionsforen unter
community.salesforce.com/sforce?category.id=developers auf oder senden
Sie uns eine E-Mail unter [email protected] und teilen Sie uns mit, was
Sie denken.
426
Glossar
A|B|C|D|E|F|G|H|I|J|K|L|M|N|P|O|Q|R|S|T|U|V|W|X
|Y|Z
A
Aktivität (Kalenderereignisse/Aufgaben)
Geplante Aufgabe oder Ereignis, optional in Beziehung zu einem anderen Typ von
Datensatz stehend, z. B. einem Account, einem Kontakt, einem Lead, einer Opportunity
oder einem Kundenvorgang.
Administrator (Systemadministrator)
Eine oder mehrere Personen in Ihrem Unternehmen, die die Anwendung konfigurieren
und an die jeweiligen Bedürfnisse anpassen können. Benutzer, denen das Profil eines
Systemadministrators zugewiesen wurde, verfügen über Administratorberechtigungen.
Erweiterte Funktionen
Eine Formelfunktion für die Verwendung bei benutzerdefinierten Schaltflächen, Links
und S-Controls. Beispielsweise gibt die erweiterte Funktion INCLUDE den Inhalt aus
einem S-Control-Auszug zurück.
Analytischer Snapshot
Mit einem analytischen Snapshot können Sie Berichte zu Verlaufsdaten erstellen.
Autorisierte Benutzer können Ergebnisse aus tabellarischen Berichten bzw.
Zusammenfassungsberichten in Feldern in einem benutzerdefinierten Objekt speichern
und anschließend diese Felder den entsprechenden Feldern in einem Zielobjekt zuordnen.
Anschließend können sie planen, wann der Bericht ausgeführt werden soll, um die Felder
des benutzerdefinierten Objekts mit den Daten des Berichts zu laden.
427
Kapitel 1: Glossar
Aktueller Benutzer des analytischen Snapshots
Der Benutzer, dessen Sicherheitseinstellungen die Datenzugriffsebene des Quellberichts
festlegen. Dadurch werden die Sicherheitseinstellungen umgangen. Alle Benutzer, die
die Ergebnisse des Quellberichts im Zielobjekt anzeigen können, erhalten auf diese Weise
u. U. auch Zugriff auf Daten, die ihnen normalerweise nicht zugänglich sind.
Quellbericht für analytischen Snapshot
Der benutzerdefinierte Bericht, der geplant ausgeführt wird und Daten als Datensätze
in ein benutzerdefiniertes Objekt lädt.
Zielbericht für analytischen Snapshot
Das benutzerdefinierte Objekt, das Ergebnisse aus dem Quellbericht in Form von
Datensätzen übernimmt.
Apex
Apex ist eine streng typisierte, objektorientierte Programmiersprache, die Entwicklern
die Ausführung von Anweisungen zur Fluss- und Transaktionssteuerung auf dem
Force.com-Plattformserver in Verbindung mit Aufrufen der Force.com-API gestattet.
Unter Verwendung einer Syntax, die äußerlich Java ähnelt und wie in einer Datenbank
gespeicherte Prozeduren arbeitet, ermöglicht Apex Entwicklern, Geschäftslogik in die
meisten Systemereignisse zu integrieren. Dazu gehören Klicks auf Schaltflächen, die
Aktualisierung verwandter Datensätze und Visualforce-Seiten. Apex-Code kann durch
Webservice-Anforderungen und durch Auslöser für Objekte initiiert werden.
Apex-Steuerfeld
Siehe: Steuerfeld, Visualforce.
Apex-Seite
Siehe: Visualforce-Seite.
Anwendung
Im Englischen auch kurz als "App" (für "Application") bezeichnet. Eine Sammlung von
Komponenten, etwa Registerkarten, Berichte, Dashboards und Visualforce-Seiten, für
eine bestimmte Geschäftsanforderung. Salesforce stellt Standardanwendungen zur
Verfügung, beispielsweise eine Vertriebsanwendung und die Callcenter-Anwendung.
Sie können die Standardanwendungen an Ihre Arbeitsweise anpassen. Darüber hinaus
können Sie eine Anwendung zu einem Paket zusammenstellen und zusammen mit
zugehörigen Komponenten wie benutzerdefinierten Feldern, benutzerdefinierten
Registerkarten und benutzerdefinierten Objekten in AppExchange hochladen.
Anschließend können Sie die Anwendung für andere Salesforce-Benutzer über
AppExchange verfügbar machen.
Anwendungsmenü
Siehe: Force.com-Anwendungsmenü.
428
Kapitel 1: Glossar
AppExchange
AppExchange ist einen Schnittstelle von salesforce.com zum Freigeben, mit der Sie
Anwendungen und Services für die Force.com-Plattform durchsuchen und freigeben
können.
Anwendungsprogrammierschnittstelle (Application Programming Interface, API)
Eine Schnittstelle, die von einem Computersystem, einer Bibliothek oder einer
Anwendung bereitgestellt wird, damit andere Computerprogramme Services darüber
anfordern und Daten austauschen können.
Genehmigungsaktion
Siehe: Workflow- und Genehmigungsaktionen.
Genehmigungsprozess
Als Genehmigungsprozess wird ein automatisierter Prozess bezeichnet, der in Ihrem
Unternehmen zur Genehmigung von Datensätzen in Salesforce eingesetzt werden kann.
In einem Genehmigungsprozess werden die Schritte angegeben, die zur Genehmigung
eines Datensatzes erforderlich sind. Zudem geht hieraus hervor, wer ihn bei den einzelnen
Schritten genehmigen muss. Ein Schritt kann für alle Datensätze im Prozess Gültigkeit
haben oder nur für Datensätze, die bestimmte, vom Administrator definierte Kriterien
erfüllen. Ein Genehmigungsprozess gibt zudem Aufschluss über die Aktionen, die
durchgeführt werden müssen, wenn ein Datensatz genehmigt, abgelehnt, zurückgerufen
oder erstmals zur Genehmigung eingereicht wird.
Automatisch nummerieren
Ein benutzerdefiniertes Feld, bei dem jedem Datensatz automatisch eine eindeutige
laufende Nummer hinzugefügt wird. Diese Felder sind schreibgeschützt.
B
Boole'sche Operatoren
Sie können Boole'sche Operatoren in Berichtsfiltern verwenden, um die logische
Beziehung zwischen zwei Werten anzugeben. So führt der Operator AND zwischen
zwei Werten beispielsweise zu Suchergebnissen, in denen beide Werte enthalten sind.
Der Operator OR zwischen zwei Werten führt zu Suchergebnissen, in denen mindestens
einer der Werte enthalten ist.
C
Klasse, Apex
Eine Vorlage oder ein Entwurf zum Erstellen von Apex-Objekten. Klassen bestehen aus
anderen Klassen, benutzerdefinierten Methoden, Variablen, Ausnahmetypen und
statischem Initialisierungscode. In den meisten Fällen sind Apex-Klassen ihrem jeweiligen
Gegenstück in Java nachempfunden.
429
Kapitel 1: Glossar
Duplizieren
"Duplizieren" ist der Name einer Schaltfläche oder eines Links, mit der bzw. mit dem
Sie neue Elemente durch Kopieren der Informationen aus einem vorhandenen Element
(z. B. eines Kontakts oder einer Opportunity) erstellen können.
Cloud Computing
Ein Modell für die internetbasierte Software-Entwicklung und -Verteilung. Die
Technologie-Infrastruktur für einen Service, einschließlich Daten, wird im Internet
gehostet. Dadurch wird den Kunden das Entwickeln und Verwenden von Services mit
Browsern oder anderen Thin Clients ermöglicht, anstatt in Hardware, Software oder
Wartungen zu investieren.
Kombinationsdiagramm
Kombinationsdiagramme stellen mehrere Datensets in einem einzigen Diagramm dar.
Jedes Datenset beruht auf einem anderen Feld, sodass die Werte leicht vergleichbar sind.
Außerdem können Sie bestimmte Diagrammtypen kombinieren, um Daten in einem
einzigen Diagramm auf verschiedene Weise darzustellen.
Komponente, Visualforce
Ein Element, das mit einem Satz Tags zu einer Visualforce-Seite hinzugefügt werden
kann, beispielsweise <apex:detail>. Visualforce beinhaltet eine Reihe von
Standardkomponenten, Sie können jedoch auch Ihre eigenen benutzerdefinierten
Komponenten erstellen.
Komponentenreferenz, Visualforce
Eine Beschreibung der standardmäßigen und benutzerdefinierten
Visualforce-Komponenten, die in Ihrer Organisation zur Verfügung stehen. Sie können
die Komponentenbibliothek über die Entwicklungsfußzeile aufrufen, die auf allen
Visualforce-Seiten zu finden ist, oder aber über den Visualforce Developer's Guide.
Steuerfeld, Visualforce
Eine Apex-Klasse, die eine Visualforce-Seite mit der Daten- und Geschäftslogik
bereitstellt, die sie ausführen muss. Visualforce-Seiten können die Standardsteuerfelder
verwenden, die standardmäßig für alle Standardobjekte und benutzerdefinierten Objekte
bereitgestellt werden. Alternativ können benutzerdefinierte Steuerfelder verwendet
werden.
Steuerfelderweiterung
Eine Steuerfelderweiterung ist eine Apex-Klasse, die die Funktionen von
Standardsteuerfeldern bzw. benutzerdefinierten Standardsteuerfeldern erweitert.
Steuerfeld
Alle Standard- oder benutzerdefinierten Auswahllisten- oder Kontrollkästchenfelder,
deren Werte die verfügbaren Werte in einem oder mehreren entsprechenden abhängigen
Feldern steuern.
430
Kapitel 1: Glossar
Benutzerdefinierte Anwendung
Siehe: Anwendung.
Benutzerdefiniertes Steuerfeld
Ein benutzerdefiniertes Steuerfeld ist eine Apex-Klasse, die die gesamte Logik für eine
Seite implementiert, ohne dass ein Standardsteuerfeld verwendet wird. Verwenden Sie
benutzerdefinierte Steuerfelder, wenn Ihre Visualforce-Seite vollständig im Systemmodus
ausgeführt werden soll, bei dem die Berechtigungen und Feldebenensicherheit des
aktuellen Benutzers nicht erzwungen werden.
Benutzerdefiniertes Feld
Ein Feld, dass zusätzlich zu den Standardfeldern hinzugefügt werden kann, um Salesforce
an die Anforderungen Ihrer Organisation anzupassen.
Benutzerdefinierte Hilfe
Benutzerdefinierter Text, den Administratoren erstellen können, um Benutzer mit
Informationen auf dem Bildschirm zu Standardfeldern, benutzerdefinierten Feldern oder
benutzerdefinierten Objekten zu unterstützen.
Benutzerdefinierte Links
Benutzerdefinierte Links sind URLs, die von den Administratoren festgelegt wurden,
um Salesforce-Daten mit externen Websites und Back-Office-Systemen zu integrieren.
Wurden früher als Weblinks bezeichnet.
Benutzerdefiniertes Objekt
Bei benutzerdefinierten Objekten handelt es sich um benutzerdefinierte Datensätze, in
denen unternehmensspezifische Daten gespeichert werden.
Typ des benutzerdefinierten Berichts
Siehe: Berichtstyp.
Benutzerdefinierte Einstellungen
Benutzerdefinierte Einstellungen ähneln benutzerdefinierten Objekten und ermöglichen
den Anwendungsentwicklern, benutzerdefinierte Datensets zu erstellen und
benutzerdefinierte Daten für eine Organisation, ein Profil oder einen bestimmten Benutzer
zu erstellen und zuzuordnen. Alle Daten zu benutzerdefinierten Einstellungen sind im
Anwendungs-Cache verfügbar, was einen effizienten Zugriff ohne den Aufwand
wiederholter Anfragen an die Datenbank ermöglicht. Diese Daten können dann von
Formelfeldern, Validierungsregeln, Apex und der SOAP-API verwendet werden.
Siehe auch: Benutzerdefinierte Hierarchieeinstellungen und Benutzerdefinierte
Listeneinstellungen.
Benutzerdefinierte Ansicht
Eine Anzeigefunktion, mit der ein bestimmter Satz an Datensätzen für ein bestimmtes
Objekt angezeigt wird.
431
Kapitel 1: Glossar
D
Dashboard
In einem Dashboard werden Daten aus Quellberichten als visuelle Komponenten angezeigt.
Bei diesen Komponenten kann es sich um Diagramme, Messdiagramme, Tabellen,
Metriken oder Visualforce-Seiten handeln. Die Komponenten bieten eine
Momentaufnahme wichtiger Kennzahlen und Leistungsindikatoren für Ihre Organisation.
Jedes Dashboard kann bis zu 20 Komponenten enthalten.
Datenbank
Eine geordnete Sammlung von Informationen. Zu der Architektur, die der
Force.com-Plattform zugrunde liegt, gehört auch eine Datenbank, in der Ihre Daten
gespeichert sind.
Datenbanktabelle
Eine Liste von Informationen – dargestellt als Zeilen und Spalten – zu der Person, dem
Element bzw. dem Konzept, die bzw. das sie verfolgen möchten. Siehe auch: Objekt.
Data Loader
Ein Tool der Force.com-Plattform, das zum Importieren und Exportieren von Daten
aus Ihrer Salesforce-Organisation verwendet wird.
Dezimalstellen
Parameter für benutzerdefinierte Zahlen-, Währungs- und Prozentfelder, der die
Gesamtzahl der Ziffern festlegt, die Sie rechts neben einem Dezimalzeichen eingeben
können, z. B. "4,98", wenn Sie "2" angeben. Beachten Sie, dass die eingegebenen
Dezimalzahlen ggf. gerundet werden. Wenn Sie z. B. "4,986" in einem Feld mit dem
Wert "2" für Dezimalstellen eingeben, wird die Zahl auf "4,99" aufgerundet.
Salesforce verwendet das kaufmännische Runden. Werte mit einer 5 an zweiter Stelle
nach dem Komma werden immer aufgerundet. Der Wert 1,45 wird beispielsweise auf
1,5 gerundet. Der Wert -1,45 wird auf -1,5 gerundet.
Delegierte Verwaltung
Ein Sicherheitsmodell, bei dem eine Gruppe von Benutzern, die keine Administratoren
sind, Administratoraufgaben wahrnimmt.
Delegierte Authentifizierung
Ein Sicherheitsprozess, bei dem die Benutzer der Force.com-Plattform über eine externe
Stelle authentifiziert werden.
Abhängigkeiten
Eine Beziehung, bei der das Vorhandensein eines Objekts vom Vorhandensein eines
anderen Objekts abhängt. Es gibt eine Vielzahl verschiedener Abhängigkeiten,
beispielsweise Pflichtfelder, abhängige Objekte (übergeordnet/untergeordnet),
432
Kapitel 1: Glossar
Dateieinschluss (z. B. referenzierte Bilder) sowie Sortierabhängigkeiten (wenn ein Objekt
vor einem anderen Objekt bereitgestellt werden muss).
Abhängiges Feld
Jedes benutzerdefinierte Auswahllisten- oder Mehrfach-Auswahllistenfeld, das verfügbare
Werte basierend auf dem in seinem entsprechenden Steuerfeld ausgewählten Wert
anzeigt.
Detail
Eine Seite, auf der Informationen zu einem einzelnen Objektdatensatz angezeigt werden.
Die Detailseite eines Datensatzes ermöglicht das Anzeigen der Informationen, während
die Bearbeitungsseite deren Bearbeitung erlaubt.
Dieser Begriff wird in Berichten verwendet, um zwischen zusammenfassenden
Informationen und der Einbeziehung aller Spaltendaten für alle Informationen in einem
Bericht zu unterscheiden. Mit der Schaltfläche Details anzeigen/Details ausblenden
können Sie die Anzeige von Detailinformationen in einem Bericht umschalten.
Developer Edition
Eine kostenlose, voll funktionsfähige Salesforce-Organisation für Entwickler für
Erweiterungs-, Integrations- und Entwicklungsarbeiten mit der Force.com-Plattform.
Developer Edition-Accounts sind unter developer.force.com verfügbar.
Entwicklungsumgebung
Eine Salesforce-Organisation, in der Sie Konfigurationsänderungen vornehmen können,
die sich nicht auf die Benutzer in der Produktionsumgebung auswirken. Es gibt zwei
Arten von Entwicklungsumgebungen: Sandbox-Instanzen und Organisationen mit
Developer Edition.
Developer Force
Die Developer Force-Website unter developer.force.com bietet eine vollständige Palette
von Ressourcen für Plattformentwickler, darunter Beispielcode, Toolkits, eine
Online-Entwickler-Community sowie die Möglichkeit, eingeschränkte
Force.com-Plattformumgebungen zu erhalten.
Dokumentbibliothek
Ein Ort zum Speichern von Dokumenten, ohne diese mit Accounts, Kontakten,
Opportunities oder anderen Datensätzen zu verknüpfen.
E
E-Mail-Benachrichtigung
E-Mail-Benachrichtigungen sind Workflow- und Genehmigungsaktionen, die mithilfe
einer E-Mail-Vorlage und einer Workflowregel oder eines Genehmigungsprozesses
433
Kapitel 1: Glossar
generiert und an festgelegte Empfänger, entweder Salesforce- Benutzer oder andere
Personen, gesendet werden.
Unternehmensanwendung
Eine Anwendung, die dazu gedacht ist, die Funktionstüchtigkeit einer Organisation
insgesamt zu unterstützen, und nicht dazu, ein bestimmtes Problem zu lösen.
Entity-Relationship-Diagramm (ERD)
Ein Datenmodellierungstool, mit dem Sie Ihre Daten in Einheiten/Entitäten (bzw.
Objekte, wie sie bei der Force.com-Plattform genannt werden) organisieren und die
zwischen ihnen herrschenden Beziehungen definieren können. ERD-Diagramme für
wichtige Salesforce-Objekte wurden im SOAP API Developer's Guide veröffentlicht.
Ereignis
Ein Ereignis ist eine Aktivität, dessen Ausführungszeit geplant ist. Beispiel: eine
Besprechung oder ein geplanter Anruf.
F
Feld
Ein Teil eines Objekts, der eine bestimmte Information enthält, beispielsweise einen
Text oder einen Währungswert.
Feldebenensicherheit
Einstellungen, die angeben, ob Felder verborgen, sichtbar, schreibgeschützt oder von
Benutzern bearbeitet werden können. Nur in der Enterprise, Unlimited, Performance
und Developer Edition verfügbar.
Feldabhängigkeit
Ein Filter, mit dem Sie die Inhalte einer Auswahlliste auf der Grundlage des Werts eines
anderen Felds ändern können.
Feldaktualisierung
Feldaktualisierungen sind Workflow- und Genehmigungsaktionen, die das zu
aktualisierende Feld und den neuen Wert dafür angeben. Je nach Feldtyp können Sie
auswählen, dass ein bestimmter Wert angewendet werden soll, einen leeren Wert festlegen
oder einen Wert auf der Grundlage einer von Ihnen erstellten Formel berechnen.
Filterbedingung/-kriterien
Bedingung für bestimmte Felder, durch die Elemente in eine Listenansicht oder einen
Bericht eingeschlossen werden, z. B. "Bundesland gleich Bayern".
Ordner
Ein Ordner ist ein Ort, an dem Sie Berichte, Dashboards, Dokumente bzw.
E-Mail-Vorlagen speichern können. Ordner können öffentlich, ausgeblendet oder
434
Kapitel 1: Glossar
freigegeben sein und sie können auf "Schreibschutz" oder "Lese-/Schreibzugriff" gesetzt
sein. Sie legen anhand von Rollen, Berechtigungen, öffentlichen Gruppen und
Lizenztypen fest, wer auf die Inhalte zugreifen darf. Sie können einen Ordner in der
gesamten Organisation verfügbar machen oder als privat deklarieren, sodass nur dessen
Inhaber darauf zugreifen kann.
Force.com
Die salesforce.com-Plattform zur Erstellung von Anwendungen in der Cloud. Force.com
bietet eine Kombination aus leistungsstarker Benutzeroberfläche, Betriebssystem und
Datenbank und ermöglicht Ihnen so, Anwendungen in der Cloud für Ihr gesamtes
Unternehmen anzupassen und bereitzustellen.
Force.com-Anwendungsmenü
Ein Menü, über das Benutzer mit einem einzigen Mausklick zwischen anpassbaren
Anwendungen ("Apps") hin- und herschalten können. Das Force.com-Anwendungsmenü
wird oben auf jeder Seite der Benutzeroberfläche angezeigt.
Force.com IDE
Ein Eclipse-Plug-in, mit dem Entwickler Force.com-Anwendungen in der
Eclipse-Entwicklungsumgebung verwalten, verfassen, debuggen und bereitstellen können.
Web Services-API
Eine Anwendungsprogrammierschnittstelle für Webservices, die Zugriff auf die
Informationen Ihrer Salesforce-Organisation bereitstellt. Siehe auch: SOAP-API und
Bulk API.
Fremdschlüssel
Ein Feld, dessen Wert mit dem Primärschlüssel einer anderen Tabelle übereinstimmt.
Sie können sich einen Fremdschlüssel als Kopie des Primärschlüssels aus einer anderen
Tabelle vorstellen. Zwischen zwei Tabellen wird eine Beziehung erstellt, indem die Werte
des Fremdschlüssels in einer Tabelle mit den Werten des Primärschlüssels in einer
anderen Tabelle abgeglichen werden.
Formelfeld
Eine benutzerdefinierte Feldart. Formelfelder berechnen ihre Werte basierend auf den
Werten von Briefvorlagenfeldern, Ausdrücken oder anderen Werten automatisch.
Funktion
Integrierte Formeln, die Sie mit Eingabeparametern anpassen können. Die
DATE-Funktion erstellt z. B. einen Datumsfeldtyp aus einem angegebenen Jahr, Monat
und Tag.
435
Kapitel 1: Glossar
G
Globale Variable
Ein spezielles Briefvorlagenfeld, mit dem Sie Daten in Ihrer Organisation referenzieren
können.
Ein Modifizierer für den Methodenzugriff für jede beliebige Methode, die außerhalb
einer Anwendung referenziert werden muss, entweder in der SOAP-API oder durch
anderen Apex-Code.
Gruppe
Eine Gruppe ist ein Satz Benutzer. Gruppen können einzelne Benutzer, andere Gruppen
oder die Benutzer in einer Rolle umfassen. Gruppen können verwendet werden, um den
Freigabezugriff auf Daten zu definieren oder um anzugeben, welche Daten bei der
Verwendung von Connect für Outlook oder Connect für Lotus Notes synchronisiert
werden sollen.
Benutzer können ihre eigenen persönlichen Gruppen definieren. Administratoren können
persönliche Gruppen erstellen, die alle Personen in der Organisation verwenden können.
Group Edition
Ein Produkt für kleinere Unternehmen und Arbeitsgruppen mit einer begrenzten Anzahl
an Benutzern.
H
Benutzerdefinierte Hierarchieeinstellungen
Eine Art von benutzerdefinierter Einstellung, bei der eine integrierte hierarchische Logik
verwendet wird, mit der Sie Einstellungen für bestimmte Profile oder Benutzer
"personalisieren" können. Die hierarchische Logik überprüft Organisation, Profil und
Benutzereinstellungen für den aktuellen Benutzer und gibt den spezifischsten
("niedrigsten") Wert zurück. In der Hierarchie werden Einstellungen für eine Organisation
durch Profileinstellungen überschrieben, die wiederum durch Benutzereinstellungen
überschrieben werden.
Registerkarte “Startseite”
Auf der Startseite können Benutzer in der Randleiste Menüpunkte und Optionen
auswählen, aktuelle Aufgaben und Aktivitäten anzeigen oder eine andere Registerkarte
auswählen.
Hover-Detail
In Hover-Details wird ein interaktives Overlay mit detaillierten Informationen zu einem
Datensatz angezeigt, wenn Benutzer in der Liste der zuletzt verwendeten Elemente in
der Randleiste oder in einem Nachschlagefeld auf einer Datensatz-Detailseite mit dem
Mauscursor auf einen Link zu diesem Datensatz zeigen. Auf diese Weise können Benutzer
schnell Informationen zu einem Datensatz anzeigen, bevor sie auf Anzeigen für die
436
Kapitel 1: Glossar
Detailseite des Datensatzes bzw. Bearbeiten für die Bearbeitungsseite klicken. Die in
den Hover-Details angezeigten Felder werden durch das Mini-Seitenlayout des jeweiligen
Datensatzes bestimmt. Die Felder, die in dokumentbezogenen Hover-Details angezeigt
werden, können nicht angepasst werden.
I
ID
Siehe: Salesforce-Datensatz-ID.
Integrierte Entwicklungsumgebung (Integrated Development Environment, IDE)
Eine Softwareanwendung, die Softwareentwicklern umfassende Möglichkeiten bietet,
beispielsweise einen Quellcode-Editor, Test- und Debugging-Tools sowie Integration
mit Quellcode-Steuersystemen.
Sofortige Aktion
Eine Workflowaktion, die umgehend ausgeführt wird, wenn die Bedingungen einer
Workflowregel erfüllt sind.
Importassistent
Ein Tool für den Import von Daten in Ihre Salesforce-Organisation, das über das Setup
aufgerufen werden kann.
Instanz
Der Cluster an Software und Hardware, der als einzelner logischer Server dargestellt
wird, der als Host für die Daten einer Organisation fungiert und deren Anwendungen
ausführt. Die Force.com-Plattform wird auf mehreren Instanzen ausgeführt, die Daten
für die verschiedenen Einzelorganisationen werden jedoch jeweils stets auf einer einzelnen
Instanz konsolidiert.
J
Verknüpfungsobjekt
Ein benutzerdefiniertes Objekt mit zwei Master-Detail-Beziehungen. Mit einem
benutzerdefinierten Verknüpfungsobjekt können Sie eine n:n-Beziehung zwischen zwei
Objekten herstellen. Beispielsweise können Sie ein benutzerdefiniertes Objekt mit dem
Namen "Problem" verwenden, das sich auf das Standardobjekt eines Kundenvorgangs
bezieht. Dabei könnte sich ein Problem auf mehrere Kundenvorgänge beziehen und ein
Kundenvorgang auch auf mehrere Probleme.
K
Kein Glossareintrag unter diesem Buchstaben.
437
Kapitel 1: Glossar
L
Layout
Siehe: Seitenlayout.
Länge
Parameter für benutzerdefinierte Textfelder, der die Höchstzahl der Zeichen (bis zu 255)
angibt, die ein Benutzer in das jeweilige Feld eingeben kann.
Parameter für Zahlen-, Währungs- und Prozentfelder, der die Gesamtzahl der Ziffern
festlegt, die Sie links neben einem Dezimalzeichen eingeben können, z. B. "123,98",
wenn Sie "3" angeben.
Briefkopf
Bestimmt die grundlegenden Attribute einer HTML-E-Mail-Vorlage. Benutzer können
Briefköpfe mit Attributen wie Hintergrundfarbe, Logo, Schriftgröße und Schriftfarbe
erstellen.
Listenansicht
Eine Listenanzeige von Elementen (z. B. Accounts oder Kontakte), die auf bestimmten
Kriterien beruht. Salesforce bietet einige vordefinierte Ansichten.
In der Agentenkonsole ist die Listenansicht der obere Rahmen, der eine Listenansicht
von Datensätzen enthält, die auf bestimmten Kriterien basiert. Die Listenansichten, die
Sie zur Anzeige in der Konsole auswählen können, sind dieselben Listenansichten, die
auch auf den Registerkarten anderer Objekte definiert sind. Das Erstellen einer
Listenansicht innerhalb der Konsole ist nicht möglich.
Nachschlagefenster
Bei einigen Feldern verfügbares Popup-Dialogfeld, mit dem Sie nach neuen Elementen
wie Kontakten, Accounts oder Benutzern suchen können.
Nachschlagefeld
Ein Typ Feld, das einen linkfähigen Wert zu einem anderen Datensatz enthält.
Nachschlagefelder können in Seitenlayouts angezeigt werden, bei denen das Objekt eine
Nachschlage- oder Master-Detail-Beziehung zu einem anderen Objekt aufweist.
Kundenvorgänge weisen z. B. eine Nachschlagebeziehung mit Vermögenswerten auf,
die es Benutzern ermöglicht, von der Kundenvorgangsbearbeitungsseite einen
Vermögenswert mit einem Nachschlagedialogfeld auszuwählen und in der Detailseite
des Kundenvorgangs auf den Namen eines Vermögenswerts zu klicken.
Nachschlagebeziehung
Eine Beziehung zwischen zwei Datensätzen, sodass Sie Datensätze einander zuordnen
können. Beispiel: Kundenvorgänge haben eine Suchbeziehung mit Vermögenswerten,
über die Sie einen bestimmten Vermögenswert mit einem Kundenvorgang verknüpfen
können. Auf der einen Seite der Beziehung ermöglicht es ein Nachschlagefeld Benutzern,
auf ein Nachschlagesymbol zu klicken und einen weiteren Datensatz aus einem
438
Kapitel 1: Glossar
Popup-Fenster auszuwählen. In dem verknüpften Datensatz kann dann eine Themenliste
mit allen Datensätzen angezeigt werden, die mit dem Datensatz verbunden sind. Wenn
ein Nachschlagefeld einen Datensatz referenziert, der gelöscht wurde, löscht Salesforce
standardmäßig das Nachschlagefeld. Alternativ können Sie verhindern, dass Datensätze
gelöscht werden, wenn sie sich in einer Nachschlagebeziehung befinden.
M
Manuelle Freigabe
Regeln für den Zugriff auf der Datensatzebene, mit denen die Datensatzinhaber
Benutzern, die keinen anderweitigen Zugriff auf den Datensatz haben, Lese- und
Bearbeitungsberechtigungen erteilen können.
n:n-Beziehung
Eine Beziehung, in der jede Seite der Beziehung zahlreiche untergeordnete Elemente
auf der anderen Seite aufweisen kann. n:n-Beziehungen werden über Verknüpfungsobjekte
implementiert.
Masterauswahlliste
Eine vollständige Liste der Auswahllistenwerte, die für einen Datensatztyp oder
Geschäftsprozess verfügbar sind.
Matrixbericht
Matrixberichte ähneln Übersichtsberichten, ermöglichen jedoch das Gruppieren und
Zusammenfassen von Daten nach Zeilen und Spalten. Sie können als Quellbericht für
Dashboard-Komponenten verwendet werden. Verwenden Sie diesen Typ zum Vergleich
verwandter Summen, insbesondere wenn Sie große Datenmengen zusammenfassen
möchten und Werte in mehreren unterschiedlichen Feldern miteinander vergleichen
müssen. Dieser Typ eignet sich auch für Fälle, in denen Daten anhand von Datum und
anhand von Produkt, Person oder Geografie betrachtet werden sollen.
Metadaten
Informationen zu Struktur, Erscheinungsbild und Funktionsumfang einer Organisation
und ihrer Teile. Force.com verwendet XML zur Beschreibung von Metadaten.
Mini-Seitenlayout
Eine Untergruppe der Elemente im bestehenden Seitenlayout eines Datensatzes, die von
Administratoren zur Anzeige in der Miniansicht der Agentenkonsole sowie in den
Hover-Details ausgewählt wurden. Mini-Seitenlayouts übernehmen Datensatztyp- und
Profilverknüpfungen, Themenlisten, Felder sowie Feldzugriffseinstellungen des
Seitenlayouts.
Mandantenfähigkeit
Ein Anwendungsmodell, bei dem alle Benutzer und Anwendungen eine einzige,
gemeinsame Infrastruktur und Codebasis gemeinsam verwenden.
439
Kapitel 1: Glossar
N
Notizen
Verschiedene Informationen zu einem bestimmten Datensatz.
O
Objekt
Mit einem Objekt können Informationen in der Salesforce-Organisation gespeichert
werden. Das Objekt stellt die allgemeine Definition des zu speichernden Informationstyps
dar. So können Sie beispielsweise mit dem Kundenvorgangsobjekt Informationen zu
Kundenanfragen speichern. Für jedes Objekt verfügt die Organisation über mehrere
Datensätze, in denen die Informationen zu bestimmten Instanzen des betreffenden
Datentyps gespeichert werden. So könnte es beispielsweise einen
Kundenvorgangsdatensatz geben, in dem die Informationen zur Schulungsanfrage von
Michael Schmidt gespeichert werden, und einen anderen Kundenvorgangsdatensatz zur
Speicherung der Informationen, die das Konfigurationsproblem von Marie Hansen
betreffen.
Objektspezifische Hilfe
Benutzerdefinierter Hilfstext, der bei jedem benutzerdefinierten Feld bereitgestellt werden
kann. Sie wird auf der Startseite (Übersicht) und den Detail- und Bearbeitungsseiten
des benutzerdefinierten Objektdatensatzes sowie auf allen Listenansichten und
Themenlisten angezeigt.
Objektebenensicherheit
Einstellungen, mit denen ein Administrator ganze Objekte vor Benutzern verbergen
kann, sodass diese nicht wissen, dass Daten dieser Art vorliegen. Die
Objektebenensicherheit wird mit Objektberechtigungen angegeben.
1:n-Beziehung
Eine Beziehung, bei der ein Einzelobjekt mit vielen anderen Objekten in Verbindung
steht. Beispielsweise kann ein Account einen oder mehrere zugehörige Kontakte
aufweisen.
Organisation
Eine Bereitstellung von Salesforce mit einer definierten Menge lizenzierter Benutzer.
Eine Organisation ist der virtuelle Speicherplatz, der einem einzelnen Kunden von
salesforce.com zur Verfügung gestellt wird. Ihre Organisation enthält alle Ihre Daten
und Anwendungen und ist von allen anderen Organisationen getrennt.
Unternehmensweite Standardeinstellungen
Einstellungen, mit denen Sie den Basiszugriff auf Daten angeben können, der für einen
Benutzer in Ihrer Organisation gilt. Beispielsweise können Sie durch unternehmensweite
Standardeinstellungen festlegen, dass alle Benutzer jeden beliebigen Datensatz eines
440
Kapitel 1: Glossar
bestimmten Objekts sehen können, das über ihre Objektberechtigungen aktiviert wurde,
dass sie jedoch eine gesonderte Genehmigung benötigen, um einen solchen Datensatz
zu bearbeiten.
Ausgehende Nachricht
Eine ausgehende Nachricht ist eine Workflow-, Genehmigungs- bzw. Meilensteinaktion,
die die von Ihnen angegebenen Informationen an den von Ihnen bestimmten Endpunkt,
beispielsweise einen externen Service, sendet. Eine ausgehende Nachricht sendet die
Daten in den angegebenen Feldern als SOAP-Nachricht an den Endpunkt.Ausgehende
Nachrichten werden im Salesforce-Setup-Menü konfiguriert. Im Anschluss muss der
externe Endpunkt konfiguriert werden. Mithilfe der SOAP-API können Sie einen
Listener für die Nachrichten erstellen.
Overlay
Ein Overlay zeigt zusätzliche Informationen an, wenn mit dem Mauszeiger auf bestimmte
Elemente der Benutzeroberfläche gezeigt wird. Je nach Overlay werden die Informationen
ausgeblendet, wenn der Mauszeiger wegbewegt, außerhalb des Overlay geklickt oder auf
eine Schaltfläche zum Schließen geklickt wird.
Owner (Inhaber)
Einzelner Benutzer, dem ein Datensatz (z. B. ein Kontakt oder Kundenvorgang)
zugewiesen wurde.
P
Platform as a Service (PaaS)
Eine Umgebung, in der die Entwickler mithilfe von Programmiertools von einem
Dienstanbieter Anwendungen erstellen und diese in einer Cloud bereitstellen. Die
Anwendung wird als Service gehostet und den Kunden über das Internet bereitgestellt.
Der PaaS-Anbieter stellt eine API zum Erstellen und Erweitern spezialisierter
Anwendungen bereit. Der PaaS-Anbieter ist außerdem für die tägliche Wartung, den
Betrieb und die Unterstützung der bereitgestellten Anwendung und der Daten der
einzelnen Kunden zuständig. Dank dieses Service brauchen die Programmierer die
Anwendungen nicht mit ihrer eigenen Hardware, Software und ihren eigenen
IT-Ressourcen zu installieren, zu konfigurieren und zu warten. Über die PaaS-Umgebung
können Services für jedes beliebige Marktsegment bereitgestellt werden.
Platform Edition
Eine Salesforce-Edition, die auf der Enterprise, Unlimited oder Performance-Edition
beruht und keine der standardmäßigen Salesforce-CRM-Anwendungen beinhaltet, wie
die Vertriebsanwendung oder die Service & Support-Anwendung.
Primärschlüssel
Ein Begriff aus dem Bereich der relationalen Datenbanken. Jede Tabelle in einer
relationalen Datenbank enthält ein Feld, in dem der Datenwert den Datensatz eindeutig
441
Kapitel 1: Glossar
kennzeichnet. Dieses Feld wird als Primärschlüssel bezeichnet. Die Beziehung zwischen
zwei Tabellen wird erstellt, indem die Werte des Fremdschlüssels in einer Tabelle mit
den Werten des Primärschlüssels in einer anderen Tabelle abgeglichen werden.
Druckvorschau
Eine Option, mit der eine Seite in einem druckbaren Format angezeigt wird.
Private Freigabe
Bei privaten Freigaben werden hochgeladene Pakete durch den URL von Salesforce
freigegeben. Dieser URL wird auf der AppExchange-Plattform nicht angegeben. Durch
Verwendung der nicht aufgelisteten URL können Sie ein Paket freigeben, ohne den
Prozess des Auflistens zu durchlaufen oder es zu veröffentlichen.
Process Visualizer
Ein Tool, das eine grafische Version eines Genehmigungsprozesses anzeigt. Dieses
schreibgeschützte Diagramm wird als Flussdiagramm angezeigt. Das Diagramm und
ein Randleistenbereich mit Informationen erleichtern Visualisierung und Verständnis
der definierten Schritte, Regelkriterien und Aktionen, aus denen der
Genehmigungsprozess besteht.
Produktionsorganisation
Eine Salesforce-Organisation, bei der live geschaltete Benutzer auf Daten zugreifen.
Profil
Legt die Berechtigungen eines Benutzers zur Ausführung verschiedener Funktionen in
Salesforce fest. So berechtigt das Profil eines Lösungsmanagers einen Benutzer z. B zum
Erstellen, Bearbeiten und Löschen von Lösungen.
Q
Warteschlange
Ein Bereich, in dem Elemente vor der Verarbeitung zwischengespeichert werden. Bei
Salesforce kommen Warteschlangen bei zahlreichen unterschiedlichen Funktionen und
Technologien zum Einsatz.
R
Schreibschutz
Eines der Standardprofile, die einem Benutzer zugewiesen werden können. Benutzer,
die lediglich über Lesezugriff verfügen, können im Rahmen ihrer Rolle im Unternehmen
Informationen einsehen und zur Berichterstellung nutzen. (Wenn der Benutzer, der über
Lesezugriff verfügt, der CEO ist, kann er sämtliche Daten im System anzeigen. Wenn
der Benutzer, der über Lesezugriff verfügt, die Rolle "Westlicher Vertrieb" besitzt, kann
er sämtliche Daten für seine Rolle und alle in der Hierarchie untergeordneten Rollen
anzeigen.)
442
Kapitel 1: Glossar
Zuletzt verwendete Elemente
Liste der Links in der Randleiste mit den Datensätzen, auf die zuletzt zugegriffen wurde.
Beachten Sie, dass nicht alle Datensatztypen in den zuletzt verwendeten Elementen
angezeigt werden.
Datensatz
Eine einzelne Instanz eines Salesforce-Objekts. Beispielsweise könnte "Christian Müller"
der Name eines Kontaktdatensatzes sein.
Datensatz-ID
Siehe: Salesforce-Datensatz-ID.
Sicherheit auf der Datensatzebene
Eine Methode zur Datenkontrolle, bei der Sie einem bestimmten Benutzer gestatten
können, ein Objekt anzuzeigen und zu bearbeiten, dann jedoch die Datensätze
einschränken, die der Benutzer anzeigen darf.
Datensatzname
Ein Standardfeld bei allen Salesforce-Objekten. Immer wenn ein Datensatzname in einer
Force.com-Anwendung angezeigt wird, wird der Wert als Link zu einer Detailansicht
des Datensatzes dargestellt. Bei einem Datensatznamen kann es sich entweder um
Freiform-Texte oder um ein Feld mit automatischer Nummerierung handeln.
Datensatzname braucht keinen eindeutigen Wert aufzuweisen.
Datensatztyp
Ein Datensatztyp ist ein Feld, das für bestimmte Datensätze verfügbar ist und einige
oder alle der standardmäßigen und benutzerdefinierten Auswahllistenwerte für den
jeweiligen Datensatz enthalten kann. Datensatztypen können mit Profilen verknüpft
werden, damit für Benutzer mit diesem Profil nur die enthaltenen Auswahllistenwerte
verfügbar sind.
Papierkorb
Eine Seite, auf der Sie gelöschte Informationen anzeigen und wiederherstellen können.
Der Zugriff auf den Papierkorb ist über den Link in der Randleiste möglich.
Themenliste
Ein Abschnitt eines Datensatzes oder einer anderen Detailseite, in dem die zu diesem
Datensatz gehörenden Einträge aufgeführt sind. Beispielsweise die Themenliste
“Phasenverlauf” einer Opportunity oder die Themenliste “Offene Aktivitäten” eines
Kundenvorgangs.
Hover-Links für Themenlisten
Ein Typ Link, mit dem Sie rasch Informationen auf einer Detailseite zu Themenlisten
anzeigen können, indem Sie mit dem Mauszeiger auf den Link zeigen. Der Administrator
muss die Anzeige von Hover-Links aktivieren. Der angezeigte Text enthält die
443
Kapitel 1: Glossar
entsprechende Themenliste und ihre Datensatzanzahl. Sie können des Weiteren auf
diesen Typ Link klicken, um zum Inhalt der Themenliste zu gelangen, ohne auf der
Seite einen Bildlauf nach unten durchführen zu müssen.
Verwandtes Objekt
Objekte, die laut Festlegung eines Administrators in der Miniansicht der Agentenkonsole
angezeigt werden, wenn ein bestimmter Typ von Datensätzen in der Detailansicht der
Konsole eingeblendet wird. Wenn die Detailansicht beispielsweise einen Kundenvorgang
enthält, kann ein Administrator einen zugehörigen Account, Kontakt oder Vermögenswert
zur Anzeige in der Miniansicht auswählen.
Beziehung
Eine Verbindung zwischen zwei Objekten, die dazu dient, miteinander verbundene
Listen in Seitenlayouts und Detailebenen in Berichten zu erstellen. Entsprechende Werte
in einem bestimmten Feld in beiden Objekten werden zum Verknüpfen in Beziehung
stehender Daten verwendet; wenn ein Objekt z. B. Daten zu Unternehmen und ein
anderes Objekt Daten zu Personen speichert, kann eine Beziehung verwendet werden,
um zu ermitteln, welche Personen in einem bestimmten Unternehmen arbeiten.
Bericht
Ein Bericht gibt eine Menge von Datensätzen aus, die bestimmte Kriterien erfüllen, und
zeigt diese in geordneten Zeilen und Spalten an. Berichtsdaten können gefiltert, gruppiert
und grafisch als Diagramm dargestellt werden. Berichte werden in Ordnern gespeichert,
über die gesteuert wird, welche Benutzer zugreifen können. Siehe: Tabellarischer Bericht,
Übersichtsbericht und Matrixbericht.
Berichtstyp
Ein Berichtstyp definiert den Satz an Datensätzen und Feldern, die bei einem Bericht
basierend auf den Beziehungen zwischen einem primären Objekt und dessen
dazugehörigen Objekten verfügbar sind. In Berichten werden nur Datensätze angezeigt,
die den im Berichtstyp definierten Kriterien entsprechen. Salesforce umfasst einen Satz
vordefinierter Standardberichtstypen. Darüber hinaus können Administratoren auch
benutzerdefinierte Berichtstypen erstellen.
Rollenhierarchie
Eine Sicherheitseinstellung auf Datensatzebene, die verschiedene Benutzerebenen
definiert, sodass Benutzer höherer Ebenen unabhängig von den
organisationsübergreifenden Freigabemodelleinstellungen Informationen anzeigen und
bearbeiten können, deren Inhaber Benutzer sind bzw. die von Benutzern freigegeben
wurden, welche sich in der Rollenhierarchie unter ihnen befinden.
Rollup-Zusammenfassungsfeld
Ein Feldtyp, der automatisch aggregierte Werte aus untergeordneten Datensätzen in
einer Master-Detail-Beziehung bereitstellt.
444
Kapitel 1: Glossar
Aktueller Benutzer
Für jedes Dashboard gibt es einen aktuellen Benutzer, dessen Sicherheitseinstellungen
festlegen, welche Daten in einem Dashboard angezeigt werden. Wenn der aktuelle
Benutzer ein spezieller Benutzer ist, sind die den Dashboard-Benutzern angezeigten
Daten von den Sicherheitseinstellungen dieses Benutzers abhängig. Ihre eigenen
persönlichen Sicherheitseinstellungen sind dabei unerheblich. Bei dynamischen
Dashboards können Sie den aktuellen Benutzer auf den angemeldeten Benutzer festlegen,
sodass die einzelnen Benutzer das Dashboard gemäß ihrer eigenen Zugriffsebene anzeigen
können.
S
SaaS
Siehe: Software as a Service (SaaS).
Salesforce-Datensatz-ID
Eine eindeutige 15- oder 18-stellige alphanumerische Zeichenfolge, die einen einzelnen
Datensatz in Salesforce kennzeichnet.
Sandbox-Organisation
Eine nahezu identische Kopie einer Salesforce-Produktionsorganisation. Sie können
mehrere Sandbox-Instanzen in separaten Umgebungen zu verschiedensten Zwecken
erstellen, beispielsweise für Tests und Schulungen, ohne die Daten und Anwendungen
in Ihrer Produktionsumgebung zu gefährden.
Speichern unter
Option bei standardmäßigen, öffentlichen oder benutzerdefinierten Berichten zum
Speichern der Parameter des Berichts, ohne den ursprünglichen Bericht zu ändern. Es
wird ein neuer benutzerdefinierter Bericht mit Ihren gespeicherten Änderungen erstellt.
Speichern & Neu
Alternative Speicherfunktion auf den meisten Seiten, mit denen Sie Ihre aktuellen
Änderungen speichern und einen neuen Eintrag erstellen können.
Suche
Funktion, mit der Sie nach Informationen suchen können, die mit bestimmten
Stichwörtern übereinstimmen. Wenn Sie die Randleistensuche verwenden, geben Sie
die Suchbegriffe in den Suchabschnitt der Randleiste ein oder klicken Sie auf Erweiterte
Suche..., um weitere Suchoptionen anzuzeigen. Wenn Sie die globale Suche verwenden,
geben Sie die Suchbegriffe im Suchfeld in der Kopfzeile ein.
Einstellungen
Ein Menü, in dem Administratoren Organisationseinstellungen und
Force.com-Anwendungen anpassen und definieren können. In Abhängigkeit von den
Benutzeroberflächeneinstellungen Ihrer Organisation kann es sich bei "Setup" um einen
445
Kapitel 1: Glossar
Link in der Kopfzeile der Benutzeroberfläche oder in der Dropdown-Liste unter Ihrem
Namen handeln.
Details anzeigen/ausblenden
Bei Berichten verfügbare Option, mit denen die Details einzelner Spaltenwerte in
Berichtsergebnissen angezeigt bzw. ausgeblendet werden können.
Randleiste
Links auf jeder Seite angezeigte Spalte mit Links zu zuletzt verwendeten Elementen und
anderen Ressourcen.
SOAP (Simple Object Access Protocol)
Ein Protokoll, das eine einheitliche Methode zur Weitergabe von XML-kodierten Daten
festlegt.
Software as a Service (SaaS)
Ein Bereitstellungsmodell, bei dem eine Software-Anwendung als Service gehostet und
den Kunden über das Internet bereitgestellt wird. Der SaaS-Anbieter ist für die tägliche
Wartung, den Betrieb und die Unterstützung der Anwendung und der Daten der
einzelnen Kunden zuständig. Dank dieses Service brauchen die Kunden die Anwendungen
nicht mit ihrer eigenen Hardware, Software und ihren eigenen IT-Ressourcen zu
installieren, zu konfigurieren und zu warten. Über das SaaS-Modell können Services für
jedes beliebige Marktsegment bereitgestellt werden.
Quellbericht
Ein benutzerdefinierter Bericht, der geplant ausgeführt wird und Daten als Datensätze
in ein Zielobjekt für einen analytischen Snapshot lädt.
Standardobjekt
Ein integriertes Objekt, das in der Force.com-Plattform enthalten ist. Sie können auch
benutzerdefinierte Objekte erstellen, um anwendungsspezifische Informationen zu
speichern.
Zusammenfassungsbericht
Zusammenfassungsberichte ähneln tabellarischen Berichten, jedoch haben die Benutzer
hier die Möglichkeit, Datenreihen zu gruppieren, Zwischenergebnisse/-summen
anzuzeigen und Diagramme zu erstellen. Sie können als Quellbericht für
Dashboard-Komponenten verwendet werden. Verwenden Sie diesen Berichtstyp, um
Zwischenergebnisse/-summen basierend auf dem Wert eines bestimmten Felds anzuzeigen
oder zur Erstellung einer hierarchischen Liste, etwa aller Opportunities Ihres Teams,
mit Zwischenergebnissen/-summen nach Phase und Eigentümer geordnet.
Systemadministrator
Siehe: Administrator (Systemadministrator).
446
Kapitel 1: Glossar
T
Tab
Eine Registerkarte ist eine Schnittstellenkomponente, mit der Sie in einer Anwendung
navigieren können. Registerkarten dienen als Ausgangspunkt für Anzeige, Bearbeitung
und Eingabe von Informationen für ein bestimmtes Objekt. Wenn Sie oben auf der Seite
auf eine Registerkarte klicken, wird die zugehörige Registerkartenstartseite für das
betreffende Objekt angezeigt. Registerkarten können mit einem Objekt, einer Webseite
oder einer Visualforce-Seite verknüpft sein.
Tabellarischer Bericht
Tabellarische Berichte stellen die schnellste und einfachste Möglichkeit zur Betrachtung
von Daten dar. Ähnlich wie Tabellenblätter bestehen sie einfach aus einer bestimmten
Reihenfolge von Feldern in Spalten; die einzelnen entsprechenden Datensätze sind
hierbei in einer Reihe aufgeführt. Tabellarische Berichte sind am besten zum Erstellen
von Listen mit Datensätzen oder mit einer einzelnen Gesamtübersicht geeignet. Sie
können nicht zum Erstellen von Gruppen mit Daten oder Diagrammen und in
Dashboards nur dann verwendet werden, wenn die Zeilenanzahl beschränkt ist. Beispiele
sind Kontaktverteilerlisten und Aktivitätsberichte.
Aufgabe
Weist eine Aufgabe einem von Ihnen angegebenen Benutzer zu. Sie können Thema,
Status, Priorität und Fälligkeitsdatum für die Aufgabe angeben. Aufgaben
sind Workflow- und Genehmigungsaktionen, die durch Workflowregeln oder
Genehmigungsprozesse ausgelöst werden.
Informationen zu kalenderbezogenen Aufgaben finden Sie unter Aktivität
(Kalenderereignisse/Aufgaben).
Text
Datentyp eines benutzerdefinierten Felds, das die Eingabe einer beliebigen Kombination
aus Buchstaben, Zahlen oder Symbolen mit einer maximalen Länge von 255 Zeichen
ermöglicht.
Textbereich
Datentyp eines benutzerdefinierten Felds, das Einträge mit bis zu 255 Zeichen in
separaten Zeilen ermöglicht.
Textbereich (lang)
Siehe: Langer Textbereich.
Zeitabhängige Workflowaktion
Eine Workflowaktion, die ausgeführt wird, wenn die Bedingungen einer Workflowregel
sowie ein damit verknüpfter Zeitauslöser erfüllt sind.
447
Kapitel 1: Glossar
Zeitauslöser
Ein Ereignis, das gemäß einem angegebenen Zeitschwellenwert startet, beispielsweise
sieben Tage vor dem Schlusstermin einer Opportunity. Sie können beispielsweise eine
zeitbasierte Workflow-Aktion definieren, die sieben Tage vor einem geplanten
Meilenstein eine E-Mail an den Account-Manager sendet.
U
V
Validierungsregel
Eine Regel, die verhindert, dass ein Datensatz gespeichert wird, wenn er nicht den
angegebenen Standards entspricht.
Visualforce
Eine einfache, Tag-basierte Markupsprache, mit der Entwickler problemlos
benutzerdefinierte Seiten und Komponenten für auf der Plattform erstellte Anwendungen
definieren können. Jedes Tag entspricht einer grob- oder feinteiligen Komponente, z. B.
einem Seitenabschnitt, einer verwandten Liste oder einem Feld. Die Komponenten
können durch dieselbe Logik gesteuert werden, die auf den Salesforce-Standardseiten
verwendet wird. Alternativ können Entwickler Ihre eigene Logik mit einem in Apex
geschriebenen Steuerfeld verknüpfen.
Visualforce-Steuerfeld
Siehe: Steuerfeld, Visualforce.
Visualforce-Seite
Eine mithilfe von Visualforce erstellte Webseite. Typischerweise stellen Visualforce-Seiten
Informationen dar, die für Ihre Organisation relevant sind, sie können jedoch auch Daten
ändern oder erfassen. Sie können auf verschiedene Weisen gerendert werden,
beispielsweise als PDF-Dokument oder E-Mail-Anhang, und sie können mit einem
CSS-Stil verknüpft werden.
W
Webservice
Ein Mechanismus, anhand dessen zwei Anwendungen problemlos Daten über das
Internet austauschen können, selbst wenn sie auf verschiedenen Plattformen ausgeführt
werden, in verschiedenen Sprachen geschrieben wurden oder räumlich voneinander
getrennt sind.
Webregisterkarte
Eine benutzerdefinierte Registerkarte, die Ihren Benutzern die Verwendung externer
Websites aus der Anwendung heraus gestattet.
448
Kapitel 1: Glossar
Assistent
Eine Benutzeroberfläche, die einen Benutzer in mehreren Schritten durch eine komplexe
Aufgabe führt.
Workflow- und Genehmigungsaktionen
Workflow- und Genehmigungsaktionen wie z. B. E-Mail-Benachrichtigungen, Aufgaben,
Feldaktualisierungen und ausgehenden Nachrichten, können durch eine Workflowregel
oder einen Genehmigungsprozess ausgelöst werden.
Workflowaktion
Eine Workflowaktion, wie etwa eine E-Mail-Benachrichtigung, Feldaktualisierung,
ausgehende Nachricht oder Aufgabe, wird ausgelöst, wenn die Bedingungen einer
Workflowregel erfüllt sind.
Workflow-E-Mail-Benachrichtigung
Eine Workflow-Aktion, die eine E-Mail sendet, wenn eine Workflowregel ausgelöst
wird. Im Gegensatz zu Workflowaufgaben, die nur Anwendungsbenutzern zugewiesen
werden können, können Workflowbenachrichtigungen an jeden beliebigen Benutzer
oder Kontakt gesendet werden, solange dieser über eine gültige E-Mail-Adresse verfügt.
Workflowfeldaktualisierung
Eine Workflowaktion, die den Wert eines bestimmten Felds in einem Datensatz ändert,
wenn eine Workflowregel ausgelöst wird.
Workflowausgangsnachricht
Eine Workflowaktion, die Daten an einen externen Webservice sendet, beispielsweise
eine andere Cloud Computing-Anwendung. Ausgehende Nachrichten kommen in erster
Linie bei zusammengesetzten Anwendungen zum Einsatz.
Workflowwarteschlange
Eine Liste von Workflow-Aktionen, die planungsgemäß auf der Grundlage von
Workflowregeln ausgelöst werden, die mindestens eine zeitabhängige Workflowaktion
aufweisen.
Workflowregel
Workflowregeln lassen Workflowaktionen ausführen, sobald ihre festgelegten
Bedingungen erfüllt sind. Sie können Workflowaktionen so konfigurieren, dass sie sofort
ausgeführt werden, wenn ein Datensatz die Bedingungen Ihrer Workflowregel erfüllt,
oder Zeitauslöser einrichten, die Workflowaktionen an einem bestimmten Tag ausführen.
Workflowaufgabe
Eine Workflowaktion, die einem Anwendungsbenutzer eine Aufgabe zuweist, wenn
eine Workflowregel ausgelöst wird.
449
Kapitel 1: Glossar
X
XML (Extensible Markup Language)
Eine Markup-Sprache, die Freigabe und Transport strukturierter Daten ermöglicht. Alle
Force.com-Komponenten, die über die Metadaten-API abgerufen oder bereitgestellt
werden, werden durch XML-Definitionen dargestellt.
Y
Kein Glossareintrag unter diesem Buchstaben.
Z
Zip-Datei
Ein Format zur Datenkomprimierung und -archivierung.
Eine Sammlung von Dateien, die von der Metadaten-API abgerufen oder bereitgestellt
wurden. Siehe auch: Lokales Projekt.
450
Index
Index
__c, Suffix 49, 63
"Job Posting" (Stellenausschreibung),
benutzerdefiniertes Objekt 157, 161
*, Platzhalterzeichen für die Suche 155
&&, Funktion 94
||, Funktion
94
1
n-Beziehungen 157
Alle anzeigen, Berechtigung 248
Alle Daten anzeigen, Berechtigung 247
Alle Daten modifizieren, Berechtigung 247
Amazon.com 2
Analysen
Siehe:Berichte 342
AND(), Funktion 94
Andere Berichte, Kategorie 350
Anforderungen, Personalbeschaffungsanwendung
24
Anhänge, Aktivieren für benutzerdefinierte Objekte
A
Abhängige Auswahllisten
Mobil 97
Abhängige Auswahllistenfelder
Erstellen 77
Abhängigkeitsmatrix, Feld 77
Abkürzung für die Eingabe von Zahlenwerten 329
Ablehnen von Datensätzen 337
Abschnitte, Seitenlayout 101
Administrative Berechtigungen
Global 247
Aktionen, Genehmigung
Siehe:Genehmigungsaktionen 330
Aktionen, Workflow
Siehe:Workflowaktionen 289
Aktionslayouts
Anpassen 269
Informationen 268
Aktivieren
Genehmigungsprozesse 333
Workflowregeln 298
Zeitabhängiger Workflow 309
Aktivitäten, Aktivieren für benutzerdefinierte
Objekte 51
Aktualisieren von Dashboards 383
Aktualisierungen, Workflowfeld
Siehe:Workflowfeldaktualisierungen 289
Aktueller Benutzer, Dashboard 375
Alle ändern, Berechtigung 248
51
Ansichten, Definieren 242
Anwendung anpassen, Berechtigung 247
Anwendungen
Bearbeitungsseiten 11
Benutzerdefinierte Anwendung, Assistent 42
Cloud Computing 1
Datenbanken 31
Datenzentriert 14
Debuggen 46
Detailseiten 11
Erstellen 42
Felder 35
Festlegen des Standards 192
Formulare 11
Grundelemente 11
Informationen 42
Iterative Erstellung 46
Logos 44
Mandantenfähig 17
metadatengesteuert 18
Navigation 11
Objekte 33
Profile 45
Registerkarten 11, 44, 52
Standardregisterkartenanzeige 192
Verteilung auf AppExchange 21
Vorteile 14
Zusammenarbeit 15
Anzeigen von Warteschlangeninhalten 310
451
Index
Apex
Informationen 19, 397
API
__c, Suffix 49, 63
Bezeichnungen und Namen, Feld 63
Bezeichnungen und Namen, Objekt 49
Informationen 19, 395
Name 82
Objektbezeichnungen und Namen 49
Vergleich von Feldbezeichnungen und Namen
62
AppExchange
Partnerprogramm 425
Architektur, mandantenfähig 17
Assistenten
Benutzerdefinierte Anwendung 42
Benutzerdefinierte Registerkarte 51, 53
Benutzerdefiniertes Formelfeld 84
Genehmigungsprozess, Schnellstart 321
Genehmigungsprozess, standardmäßiges Setup
321
Importieren 171
Neuer Genehmigungsschritt 326
Workflowregel 292
Attribute, Visualforce 402
Aufgaben
Aktivieren für benutzerdefinierte Objekte 51
Aufgaben, Workflow
Siehe:Workflowaufgaben 289
Ausbildungs-Services, Force.com-Plattform 424
Ausdehnen von Formelfeldern 144
Ausgehende Nachrichten, Workflow
Siehe:Workflowausgangsnachrichten 290
Auslöser
Workflowregel 293
Zeitabhängiger Workflow 308
Auswahllisten
Mobil 97
Auswahllistenfelder
Abhängig und steuernd 76
Erstellen 73
Erstellen von abhängigen 77
Automatische Nummerierung, Datentypen 49
B
Bearbeitbarkeit, Datensatz 323
452
Bearbeitungsseiten 11, 57
Bedingte Hervorhebung 365
Bedingungen, Fehler bei Validierungsregel 92
Beispielformeln 82
Benachrichtigungen
Aktivieren 264
Benachrichtigungen innerhalb der Anwendung
263
Benachrichtigungen übertragen (Push) 263
Genehmigungsanfragen 320
Informationen 263
Benachrichtigungen, Workflow
Siehe:Workflow-E-Mail-Benachrichtigungen
290
Benutzer
Dashboard, aktueller Benutzer 375
Definieren 242
Erstellen 221
Hierarchische Beziehungsfelder 322
Unterstützung für mehrere 15
Benutzer verwalten, Berechtigung 247
Benutzer, standardmäßiger Workflowbenutzer 309
Benutzer, Standardobjekt 121
Benutzerdefinierte Anwendung, Assistent 42
Benutzerdefinierte E-Mail-Vorlagen 312
Benutzerdefinierte Formelfelder
Mobil 97
Siehe:Formelfelder 81
Benutzerdefinierte Objekte
Detailseite 59
Siehe auch:Objekte 25, 47
Warteschlangen 302
Zugriff mithilfe von Hierarchien gewähren 218
Benutzerdefinierte Registerkarten, Assistent 51
Benutzeroberflächendesign
Visualforce 20
Benutzerobjekt
Manager, Feld 322
Berechtigungen
Administrativ 247
Objekt- und Datensatzebene im Vergleich 195
Berechtigungssätze
Erstellen 197
Informationen 188
Bereiche, Seitenlayoutfeld 101
Bereinigen von Daten 90
Bereitstellungsstatus 51
Index
Berichte
Aktivieren für benutzerdefinierte Objekte 50
Andere Berichte, Kategorie 350
Bedingte Hervorhebung 365
Dashboards 368, 384
Diagramme 356, 365
Erstellen einer Zusammenfassung 349
Erstellen von Matrixberichten 358
Filtern von Daten 355, 363
Formate 343
Gruppieren von Datensätzen 353, 360
Informationen 342
Kombinationsdiagramm 366
Mobil 384
Objekte 350
Ordner 347–348
Personalbeschaffungsanwendung 28
Registerkarte 342, 347
Zusammenfassungsfelder 360
Berichtsgenerator
Benutzerdefinierter Bericht 350
Berichtstypen, benutzerdefiniert
Erstellen 386
Informationen 386
Bezeichnungen und Namen
Feld 49, 62
Objekt 49, 62
Beziehungen
Berichte über 350
Entity-Relationship-Diagramm (ERD) für die
Personalbeschaffungsanwendung 168
Hierarchisch 322
Informationen 118
Master-Detail, benutzerdefinierte Felder 120
n:n 157
Nachschlagefelder, benutzerdefiniert 119
Übersicht 119
Verknüpfungsobjekte 157
Beziehungsfelder 119
Briefvorlagenfelder
Name 82
C
Candidate (Bewerber), benutzerdefiniertes Objekt
Erstellen 123
Candidate Map (Bewerberkarte)
Aktivieren für mobile Anwendung 408
Code 405
Erstellen 399
Hinzufügen zu Seitenlayouts 406
Testen 408
Chatter
Benachrichtigungen 263–265
Feed-Verfolgung 256
Folgen 260
Gruppen 262
Hinzufügen von Elementen zu
Visualforce-Seiten 417
Informationen 256, 266
Chatter Desktop 261
Cloud Computing
Anwendungen 1
Datenbanken 31
Plattformen 2
Code
Apex
19
Informationen 19
Force.com-Plattform 393
Code, Candidate Map (Bewerberkarte) 405
Company Dashboards (Unternehmens-Dashboards),
Ordner 376
D
Dashboard-Registerkarte 373
Dashboards
Aktualisieren 383
Aktueller Benutzer 375
Erstellen 373
Hinzufügen einer Diagrammkomponente 377
Hinzufügen einer Messdiagramm-Komponente
378
Hinzufügen einer metrischen Komponente 380
Hinzufügen einer Tabellenkomponente 379
Hinzufügen zur Registerkarte "Startseite" 382
Informationen 368, 384
Komponenten 376
Mobil 384
Personalbeschaffungsanwendung 28
Planen 383
453
Index
Dashboards (Fortsetzung)
Sicherheit 375
Daten, Importieren 170
Datenbanken
Datensätze 34
Datenwerte 35
Definition 33
Entitäten 33
Felder 35
Fremdschlüssel 37
Objekte 33
Primärschlüssel 37
Relational 35
Tabellen 33
Datenbankkonzepte 37
Datenbereinigung 90
Datenintegrität 235
Datensatz-ID 147
Datensätze
Anzeigen in Warteschlangen 310
Bearbeitbarkeit in Genehmigungsprozessen
Delegieren der Verwaltung (Fortsetzung)
Informationen 247
Objektebenenberechtigungen 248
Delegierte Verwaltung, Gruppen
Definieren 250
Überprüfen 253
Delegierte, Genehmigungsprozess 327
Demos von Anwendungen 21
Detailseiten 11, 57
Developer Edition 5
Developer Force
Informationen 6
Diagramme
Dashboard 376–377
Siehe:Berichte 342
Dokumentation, Force.com-Plattform 424
Drahtlose Geräte, Genehmigungsprozesse 325
Dreamforce-Veranstaltung 424
Duplizieren von Profilen 191
Durchschnitte, Bericht 360
Durchsuchbare Felder 124
323
Einreichen für Genehmigung 335
Genehmigen und Ablehnen 337
Gesperrt 336
Gruppieren in einem Bericht 353, 360
Validieren vor dem Speichern 90
Datensatztyp, Feld 239
Datensatztypen
Erstellen 236
Informationen 236
Datentypen
Automatische Nummerierung 49
Feld ändern 62
Text 49
Datenwerte
Abkürzung für die Eingabe von Zahlen 329
Einschränken mit Seitenlayouts 99
Datenzentrierte Anwendungen 14
Datumsfelder 66
Days Open (Tage offen), Feld, Berechnung 82
Debuggen von Anwendungen 46
Delegieren der Verwaltung
Gruppen 250
Gruppen, definieren 250
Gruppen, Überprüfen 253
454
E
E-Mail-Benachrichtigungen, Workflow
Siehe:Workflow-E-Mail-Benachrichtigungen
290
E-Mail-Vorlagen
Auswählen eines Briefvorlagenfeldtyps 315
Benennen 314
Briefvorlagenfelder 312
Erstellen 312, 320
Typen 312
eBay 2, 17
Editor, erweiterte Formel 85
Eigenschaften, Feld 105
Einführende Vorschaltseite 43
Einschränken von Feldern mit Seitenlayouts 99
Employment Website (Jobbörse),
benutzerdefiniertes Objekt 159
Entitäten, Datenbank 33
Entity-Relationship-Diagramm (ERD),
Personalbeschaffungsanwendung 168
Entwicklerkonsole 317
Entwicklerressourcen 423
Entwicklung, metadatengesteuert 18
Index
Entwicklungsmodus, Visualforce 398
Ereignisse
Aktivieren für benutzerdefinierte Objekte 51
Erstellen der mobilen Version 67
Erweiterte Felder
Mobil 97
Erweiterte Formeln, Editor 85
Externe ID, Felder 124
F
Farben, Registerkarte 53
Feedback, Senden, Buch 6
Fehlerbedingungen, Validierungsregel 92
Fehlerprüfung bei Datensätzen 90
Feldabhängigkeiten
Mobil 97
Feldabhängigkeitsmatrix 77
Feldaktualisierungen, Workflow
Siehe:Workflowfeldaktualisierungen 289
Feldebenensicherheit
Definieren in Profilen 208
Vergleich mit Seitenlayouts 206
Felder
__c, Suffix 63
Abhängige Auswahllisten 76
Auswahlliste, Mehrfachauswahl 72
Auswahlliste, Standard 72
Briefvorlagen 81, 312
Datentyp 60
Definition 35, 60
Durchsuchbar 124
Eigenschaften 105
Einschränken mit Seitenlayouts 99
Erforderlich 43, 105
Erstellen einer Master-Detail-Beziehung 143
Erstellen einer Nachschlagebeziehung 120
Erstellen für Datum 66
Erstellen für Währung 64
Erstellen von abhängigen Auswahllisten 77
Erstellen von Auswahllisten 73
Erstellen von Formeln 84
Erstellen von Kontrollkästchen 65
Erstellen von Master-Detail-Beziehungen mit
mehreren Ebenen 144
Erstellen von Text 61
Felder (Fortsetzung)
Erweitert 72
Externe ID 124
Formel 81
Fremdschlüssel 37
Hierarchische Beziehung 322
Hinzufügen auf Startseiten von Registerkarten
138
Hinzufügen in Nachschlagefenstern 138
Hinzufügen in Suchergebnissen 138
Hinzufügen in Themenlisten 138
Hinzufügen in Themenlisten für Objekte ohne
Registerkarte 153
Indiziert 124
Kompakte Layouts 113
Master-Detail-Beziehung 120
Nachschlagebeziehung 119
Owner (Inhaber) 56
Primärschlüssel 37
Schreibschutz 105
Seitenlayouts 98, 108
Standardmäßig und benutzerdefiniert 35
Standardwerte 88
Validierungsregeln 90
Wechselnde Datentypen 62
Zusammenfassungsbericht 360
Feldverlaufsverfolgung
Aktivieren für benutzerdefinierte Objekte 51
Filter
Berichtseinstellungen 355, 363
Hinzufügen von Feldern für die Suche 138
Force.com-Plattform
Anwendungsmenü 45
API 19
AppExchange-Verzeichnis 21
Datenbanken 31
Datensätze 34
Datenzentrierte Anwendungen 14
Einführung 9
Hilfe und Schulung 424
Integration 395
Kodieren 393
Kollaborative Anwendungen 15
Mandantenfähigkeit 17
Metadaten-API 18
Metadatengesteuerte Entwicklung 18
455
Index
Force.com-Plattform (Fortsetzung)
Mobil 20
Objekte 33
Partner 425
Podcasts 425
Setup-Bereich 40
Strukturierte Informationen 14
Unterstützende Technologie 15
Videos 425
Force.com-Plattform – Grundlagen, Buch
Inhalt 3
Online-Version 3
Screenshots 5
Senden von Feedback 6
Übungen 5
Zielgruppe 3
Formelfelder
Beispielformeln 82
Benutzerdefinierter Bericht, Zusammenfassung
361
Erstellen 84
Erweiterter Editor 85
IF(), Funktion 83
Informationen 81
ISBLANK(), Funktion 83
Prüfen der Syntax 88
TODAY(), Funktion 82
Zusammenführen von Feldern 81
Formeln
Ausdehnung 144
Objektübergreifend 144
Standardwert 88
Formulare 11
Fragen zur Bestimmung der unternehmensweiten
Standardeinstellungen 213
Freigabe
Benutzer 245
Kriterienbasiert 233
Überschreiben 248
Freigabe, manuell
Siehe:Manuelle Freigabe 185
Freigabeeinstellungen, Seite 216
Freigabemodelle
Siehe:Unternehmensweite
Standardeinstellungen 213
Freigaberegeln
Erstellen 231
456
Freigaberegeln (Fortsetzung)
Informationen 227
Öffentliche Gruppen 229
Freigeben von Anwendungen 21
Fremdschlüssel 37, 158
Funktionen
&& 94
|| 94
AND() 94
HYPERLINK 147
IF() 83
ISBLANK() 83, 93
ISPICKVAL() 94
OR() 94
TODAY() 82
Funktionen, Personalbeschaffungsanwendung 24
Für Genehmigung einreichen, Schaltfläche 335
G
Gebrauchstauglichkeit 235
Genehmigen von Datensätzen 337
Genehmigungen in Chatter 320
Genehmigungsaktionen
Erstellen 331
Informationen 330
Siehe auch:Workflowaktionen 330
Genehmigungsbenachrichtigungen 320
Genehmigungsprozesse
Aktionen 318
Aktivieren 333
Datensatz, Bearbeitbarkeit 323
Drahtlose Geräte 325
Erstellen 321
Für Genehmigung einreichen, Schaltfläche 335
Genehmigen und Ablehnen von Datensätzen
337
Genehmiger delegieren 327
Mehrere Genehmiger 329
Personalbeschaffungsanwendung 27
Planung 319
Schnellstart oder standardmäßiges Setup 321
Seitenlayouts 323
Testen 334
Themenliste "Zu genehmigende Elemente"
338
Index
Genehmigungsprozesse (Fortsetzung)
Verlaufsinformationen 325
Visualizer 334
Zugeordnete Benutzer 329
Genehmigungsschritte
Anordnen 327
Erstellen 326
Genehmigungs- und Ablehnungsaktionen 327
Informationen 326
Zuweisen eines Genehmigers 327
Genehmigungsverlauf, Themenliste 325, 336
Geschäftslogik 287, 318
Gesperrte Datensätze 336
Google 2, 17
Graphen
Siehe:Berichte 342
Gruppen, öffentlich 229
Gruppieren von Berichtsdatensätzen 353, 360
Gruppierungen, Seitenlayoutfeld 101
H
Hervorhebung, bedingt
Siehe bedingte Hervorhebung 365
Hierarchien, Rolle
Siehe:Rollenhierarchien 185
Hierarchische Beziehungsfelder 322
Hilfe und Schulung, Optionen 424
Hiring Manager (Einstellungs-Manager),
Berechtigungssatz 197
HTML-E-Mail-Vorlagen 312
HYPERLINK 147
Hyperlinks
Siehe:Links 11
I
ID-Felder, extern 124
IF(), Funktion 83
Importieren von Daten
Anzeigen in der Importwarteschlange 173
Indizierte Felder 124
Information, strukturiert 14
Inhaber, Standardfeld 56
Inhalt, Buch 3
Installieren von Anwendungen 21
Interviewer (Gesprächsleiter), Berechtigungssatz
204
ISBLANK(), Funktion 83, 93
ISPICKVAL(), Funktion 94
iTunes, Force.com-Plattform, Podcasts 425
J
JavaScript, mit Visualforce 405
Job Application (Stellenbewerbung),
benutzerdefiniertes Objekt
Erstellen 131
Job applications (Stellenbewerbungen)
Mass Update Status
(Status-Massenaktualisierung), Info 410
Mass Update Status
(Status-Massenaktualisierung), Seite 412
K
Kanal, Force.com iTunes 425
Kartenfunktion, Personalbeschaffungsanwendung
Erstellen 399
Kollaborative Anwendungen 15
Kombinationsdiagramm 366
Kommunikationsvorlagen 312
Kompakte Layouts 113, 128–129, 134
Komponenten, Dashboard 376
Kontext 410
Kontrollkästchenfelder 65
Kundenvorgangswarteschlangen 302
L
Layout, Schaltfläche für die Listenansicht 136
Layouts, kompakte
Siehe "Kompakte Layouts" 113
Layouts, Seite
Siehe "Seitenlayouts" 98, 108
Layouts, Suche
Siehe Suchlayouts 136
Leadwarteschlangen 302
Leerräume, Seitenlayouts 104
Links 11
Listen, Themenlisten 59, 118
Listenansicht, Rollenhierarchie 223
Listenansicht, Schaltfläche, Layout 136
457
Index
Listenansichten 11
Listenschaltflächen
Benutzerdefiniertes Erstellen 418
Listenseiten 43, 58
Logik, Geschäft 287
Logos, Anwendung 44
Lösungsmanager, Profil 187
M
Manager, Feld 322
Mandantenfähige Architektur 17
Manuelle Freigabe
Definieren 234
Marketingbenutzer, Profil 187
Markup, Visualforce
Verwenden 401
Mashups
Implementieren 399
Informationen 2, 395
Mass Update Status (Status-Massenaktualisierung)
Informationen 410
Planung 410
Seite 412
Testen 422
Master-Detail Beziehung
Primär 162
Sekundär 163
Sekundär, Freigabeauswirkungen 232
Master-Detail-Beziehung, Felder
Erstellen 143
Erstellen mehrerer Ebenen 144
Unternehmensweite Standardeinstellungen 217
Matrix, Feldabhängigkeit 77
Matrixberichte 344
Mehrere Benutzer, Unterstützen 15
Mehrfach-Auswahllistenfelder 72
Menü, Force.com-Plattform
Informationen 45
Messdiagramme, Dashboard 376, 378
Metadaten-API
Informationen 18
Metadatengesteuerte Entwicklung 18
Metriken, Dashboard 376, 380
Microsoft 14
Mobil
Abhängige Auswahllisten 97
458
Mobil (Fortsetzung)
Aktivieren von Visualforce-Seiten 408
Auswahllisten 97
Benutzerdefinierte Formelfelder 97
Candidate Map (Bewerberkarte) 408
Dashboards 384
Erweiterte Felder 97
Feldabhängigkeiten 97
Validierungsregeln 97
Mobile, Force.com-Plattform 20
Modell, metadatengesteuerte Entwicklung 18
Modelle, Freigabe
Siehe:Unternehmensweite
Standardeinstellungen 213
N
n
n-Beziehungen 157
Nachrichten, Workflow, ausgehend
Siehe:Workflowausgangsnachrichten 290
Nachschlagebeziehungsfelder
Erstellen 120
Symbol 121
Nachschlagefenster
*, Platzhalterzeichen für die Suche 155
Hinzufügen von Feldern 138
Namen und Bezeichnungen
Feld 49, 62
Objekt 49, 62
Navigation 11, 52
Neu erstellen, Dropdownliste 56
Nicht abgelegte öffentliche E-Mail-Vorlagen,
Ordner 314
Notizen, Aktivieren für benutzerdefinierte Objekte
51
O
Objekte
__c, Suffix 49
Aktivieren der Feldverlaufsverfolgung 51
Aktivieren von Aktivitäten 51
Aktivieren von Berichten 50
Aktivieren von Notizen und Anhängen 51
Automatisch nummeriert 49
Benutzerdefiniert 25
Index
Objekte (Fortsetzung)
Bereitstellungsstatus 51
Berichte über 350
Bezeichnungen und Namen 50
Beziehungen 26, 36, 118, 157
Erstellen 48
Erstellen einer Registerkarte 53
Festlegen der Objektebenenberechtigungen
194
Hinzufügen abhängiger Auswahllistenfelder
77
Hinzufügen von Auswahllistenfelder 73
Hinzufügen von Datumsfeldern 66
Hinzufügen von Formelfeldern 84
Hinzufügen von Kontrollkästchenfeldern 65
Hinzufügen von Master-Detail-Feldern 143
Hinzufügen von Master-Detail-Feldern mit
mehreren Ebenen 144
Hinzufügen von Nachschlagefeldern 120
Hinzufügen von Textfeldern 61
Hinzufügen von Währungsfeldern 64
Informationen 47
Kompakte Layouts 113
Seitenlayouts 98, 108
Standardbenutzer 121
Standardmäßig und benutzerdefiniert 35, 47
Themenlisten 59, 118
Validierungsregeln 90
Verknüpfung 157
Warteschlangen 302
Workflow 292
Workflowaktionen 297
Objektebenenberechtigungen 248
Objektebenensicherheit
Vergleich mit Feldebenensicherheit 195
Objektübergreifende Formelfelder 144
Öffentliche Gruppen 229
Online-Version des Buchs 3
Operatoren
Verketten 147
OR(), Funktion 94
Oracle 14
Ordner
Bericht 347–348
Company Dashboards
(Unternehmens-Dashboards) 376
Ordner (Fortsetzung)
Nicht abgelegte öffentliche E-Mail-Vorlagen
314
Organisationen 42
Organisieren von Feldern auf Seiten 98
P
Palette, Seitenlayout 101
Partnerprogramm 425
Personalbeschaffungsanwendung
"Job Posting" (Stellenausschreibung),
benutzerdefiniertes Objekt 157
"Job Posting" (Stellenausschreibung), Objekt
161
Anforderungen 24
Benutzerdefinierte Objekte 25
Berechnung des Felds "Days Open" (Tage
offen) 82
Berechtigungssätze 189
Berichte und Dashboards 28
Candidate (Bewerber), Objekt 123
Candidate Map (Bewerberkarte) 399
Design-Übersicht 25
Einführung 23
Employment Website (Jobbörse), Objekt 159
Entity-Relationship-Diagramm (ERD) 168
Hiring Manager (Einstellungs-Manager),
Berechtigungssatz 197
Importieren von Beispieldaten 170
Interviewer (Gesprächsleiter),
Berechtigungssatz 204
Job Application (Stellenbewerbung), Objekt
130
Kodieren 393
Objekte 33
Position (Stelle), benutzerdefiniertes Objekt
47
Profile 189
Registerkarten 26
Review, Objekt 141
Rollenhierarchie 218
Sicherheits- und Freigaberegeln 27
Standard Employee (Standardmitarbeiter),
Profil 196
Steuern des Datenzugriffs 177
Visualforce 29
459
Index
Personalbeschaffungsanwendung (Fortsetzung)
Workflow und Genehmigungen 27
Pflichtfelder 43, 105
Planen von Dashboards 383
Planung, Funktion "Mass Update Status"
(Status-Massenaktualisierung) 410
Plattform, Salesforce
Siehe:Force.com-Plattform 9
Plattformen, Cloud Computing 2
Platzhalterzeichen, *, Suche 155
Podcasts 425
Position (Stelle), benutzerdefiniertes Objekt 47
Primärschlüssel 37
Process Visualizer 334
Profile
Anwendungen 45
Definieren der Feldebenensicherheit 208
Duplizieren 191
Erstellen 190
Feldberechtigungen 185
Feldebenensicherheit 206
Festlegen einer Standardanwendung 192
Informationen 187
Objektberechtigungen 184
Objektebenensicherheit 186
Registerkarten 55
Standard 187
Vergleich mit Rollen 219
Prozesse, Genehmigung
Siehe Genehmigungsprozesse 318
Publisher-Aktionen
Aktionen vom Typ "Anruf protokollieren" 266
Aktionslayouts 268–269
Aktualisierungsaktionen 266
Anpassen globaler Publisher-Layouts 272
Anpassen von Aktionen und Aktionslayouts
269
Erstellaktionen 266
Erstellen von globalen Aktionen 267, 271
Erstellen von objektspezifischen Aktionen
275, 277
Erstellen von vordefinierten Feldwerten 270
Globale Aktionen 266–267, 271, 273
Globale Publisher-Layouts 272
Informationen 266
460
Publisher-Aktionen (Fortsetzung)
Objektspezifische Aktionen 266, 275, 277–
278, 281
Seitenlayouts 278
Vordefinierte Feldwerte 270
Zuweisen objektspezifischer Aktionen 278
R
Recruiter (Personalbeschaffungsmitarbeiter), Profil
190
Regeln, Freigabe
Siehe:Freigaberegeln 185
Regeln, Validierung
Siehe:Validierungsregeln 90
Regeln, Workflow
Siehe:Workflowregeln 288
Registerkarte "Startseite"
Hinzufügen von Dashboards 382
Registerkarten
Berichte 342, 347
Dashboard 373
Erstellen 53
Hinzufügen von Feldern auf Startseiten von
Registerkarten 138
Hinzufügen zu Anpassungen der Benutzer 55
Informationen 52
Personalbeschaffungsanwendung 26
Profile 55
Standardeinstellung festlegen 347
Standardwerte anzeigen 192
Starten des Assistenten für benutzerdefinierte
Registerkarten 51
Startseite 44, 368
Stil 53
Registerkartenleiste 41
Relationale Datenbanken 35
Ressourcen, Entwickler 423
Review, benutzerdefiniertes Objekt
Erstellen 142
Rezensieren von Anwendungen 21
Rollen
Zuweisen von Workflowaufgaben 297
Rollenhierarchien
Ansichten 223
Definieren 223
im Vergleich zu Organigramm 219
Index
Rollenhierarchien (Fortsetzung)
Informationen 218
Personalbeschaffungsanwendung 218
Vergleich mit Profilen 219
Rollup-Zusammenfassungsfelder
Erstellen 150
Informationen 150
S
Salesforce Classic 20
salesforce.com
Training & Certification 6
Salesforce1 20
Sandbox 5
Schaltfläche, Layout, Listenansicht 136
Schaltflächen
Erstellen von benutzerdefinierten Listen 418
Für Genehmigung einreichen 335
Hinzufügen zu Seitenlayouts 420
Schemagenerator 122
Schlüssel
Fremd 158
Primär und fremd 37
Schreibgeschützte Felder 105
Schreibschutz, Profil 187
Schulungsoptionen 424
Screenshots, Buch 5
Seiten
Detail und Bearbeitung 57
Freigabeeinstellungen 216
Liste 43, 58
Seitenlayout-Editor 99
Vorschaltseiten 43
Seiteneditor, Visualforce 398
Seitenlayouts
Abschnitte 101
Candidate Map (Bewerberkarte) 406
Editor 99
Eigenschaften von Themenlisten 153
Einschränken des Feldzugriffs 99
Erstellen 239
Genehmigung 323
Hinzufügen von benutzerdefinierten
Listenschaltflächen 420
Hinzufügen von Visualforce-Seiten 406
Seitenlayouts (Fortsetzung)
Layout bearbeiten, Link 128
Leerräume 104
Palette 101
Pflichtfelder 105
Schnellspeicherung 105
Schreibgeschützte Felder 105
Speichern 105
Vergleich mit Feldebenensicherheit 206
Zuweisen 240
Senden von Feedback zum Buch 6
Services, Web
Siehe:Webservices 395
Setup-Bereich
Detailseiten und Bearbeitungsseiten 57
Sicherheit
Kriterienbasierte Freigabe 233
Sicherheit auf der Datensatzebene
Informationen 213
Vergleich mit Objektebenensicherheit 195
Sicherheit und Freigabe
Datensatztypen 236
Feldberechtigungen 185
Feldebenensicherheit 206
Festlegen der Objektebenenberechtigungen
194
Freigaberegeln 185, 227
Gestaltung für Ihre Organisation 184
Manuelle Freigabe 185, 233
Objektberechtigungen 184
Objektebenensicherheit 186
Personalbeschaffungsanwendung 27
Profile und Rollen 219
Rollenhierarchien 185, 218
Sicherheit auf der Datensatzebene 185, 213
Single Sign-On 254
Übersicht 184
Unternehmensweite Standardeinstellungen
185, 213
SOAP-API
Siehe:API 19
Sortierte Listenansicht, Rollenhierarchie 223
Spezifikationen, Personalbeschaffungsanwendung
24
Standard Employee (Standardmitarbeiter), Profil
196
Standard-Auswahllistenfelder 72
461
Index
Standardanwendung, Festlegen 192
Standardbenutzer, Profil 187
Standardeinstellungen, unternehmensweit 213
Standardfeldwerte 88
Standardmäßiger Workflowbenutzer 309
Standardobjekte
Benutzer 121
Standardprofile
Bearbeiten 188
Status
Mass Update Status
(Status-Massenaktualisierung), Info 410
Mass Update Status
(Status-Massenaktualisierung), Seite 412
Steuerfelder, Visualforce 402
Steuernde Auswahllistenfelder 76
Stile, Registerkarte 53
Strukturansicht, Rollenhierarchie 223
Strukturierte Informationen 14
Suchen nach Datensätzen durch Nachschlagen 155
Suchlayouts
Hinzufügen von Feldern 137
Suffix, __c 49, 63
Summen, Bericht 360
Symbole
Nachschlagen 121
Registerkarte 53
Syntax, Prüfen der Formel 88
Systemadministrator, Profil
Berechtigungen 247
T
Tabellarische Berichte 344
Tabellen
Dashboard 376, 379
Datenbank 33
Tags, Visualforce 396
Technologien, unterstützende 15
Testen
Mass Update Status
(Status-Massenaktualisierung), Funktion 422
Text-E-Mail-Vorlagen 312
Text, Datentypen 49
Textfelder 61
Themenliste "Zu genehmigende Elemente" 338
462
Themenlisten
Eigenschaften 153
Genehmigungsverlauf 325, 336
Hinzufügen von Feldern 138
Hinzufügen von Feldern zu Objekten ohne
Registerkarte 153
Zu genehmigende Elemente 338
TODAY(), Funktion 82
Training & Certification 6
U
Über dieses Buch 3
Überlegungen, Personalbeschaffungsanwendung 24
Überwachen der Workflow-Warteschlange 310
Übungen, Buch 5
Universal Containers, Info 24
Unternehmensweite Standardeinstellungen
Bestimmen 213
Einstellen 216
Master-Detail-Beziehung, Felder 217
V
Validierungsregeln
&&, Funktion 94
||, Funktion 94
AND(), Funktion 94
Erstellen 91
Fehlerbedingungen 92
ISBLANK(), Funktion 93
ISPICKVAL(), Funktion 94
Mobil 97
OR(), Funktion 94
Testen 95
Verbundene Berichte 345
Verfolgen, Feldverlauf
Aktivieren für benutzerdefinierte Objekte 51
Verketten 147
Verknüpfungsobjekte 157
Verlauf, Genehmigungsprozess 325
Verlaufsverfolgung, Feld
Aktivieren für benutzerdefinierte Objekte 51
Vertragsmanager, Profil 187
Verwaltung
Delegieren 247
Index
Verwenden von Zugriff mithilfe von Hierarchien,
Kontrollkästchen 218
Verzeichnis, AppExchange 21
Videos 425
Visualforce
Aktivieren für mobile Anwendung 408
Attribute 402
Dashboard 376
Entwicklungsmodus 398
Erstellen von benutzerdefinierten Schaltflächen
418
Erstellen von Seiten 399
Hinzufügen zu Seitenlayouts 406
Informationen 396
JavaScript 405
Markup 396
Markup, Verwenden 401
Personalbeschaffungsanwendung 29
Seiten-Tag 402
Seiteneditor 398
Seiteneditor, Anzeigen 401
Steuerfelder 402
Visualforce-E-Mail-Vorlagen 312
Visualforce-Seiten
Mass Update Status
(Status-Massenaktualisierung), Seite 412
Vorlagen. E-Mail
Siehe E-Mail-Vorlagen 311
Vorschaltseiten 43
Workflow-E-Mail-Benachrichtigungen
Erstellen 316
Workflow-Warteschlange, zeitabhängig 310
Workflowaktionen
Objekte 297
Zeitabhängig 296, 307
Zeitauslöser 308
Workflowaufgaben
Erstellen 296
Testen 300
Zeitabhängig 308
Zuweisen zu Rollen 297
Workflowausgangsnachrichten 290
Workflowfeldaktualisierungen
Erstellen 302, 305, 332
Workflowregeln
Aktivieren 298
Aktivieren, zeitabhängig 309
Erstellen 292, 305, 316
Evaluationskriterien 293
Informationen 288
Objekte 292
Standardmäßiger Workflowbenutzer 309
Y
Yahoo! 2, 17
Yahoo! Maps
Integration 395, 399
W
Z
Währungsfelder 64
Warteschlangen
Anzeigen 310
Benachrichtigen von Mitgliedern 303
Erstellen 302
Importieren 173
Informationen 302
Zeitabhängiger Workflow 310
Webservices
Informationen 395
Werte, Daten 35
Workflow
Informationen 287
Personalbeschaffungsanwendung 27
Zahlenwerte, Abkürzung für die Eingabe 329
Zeitabhängiger Workflow
Aktivieren 309
Erstellen 307
Informationen 307
Standardmäßiger Workflowbenutzer 309
Warteschlange 310
Zeitauslöser 308
Zielgruppe, Buch 3
Zusammenfassungsberichte 344
Zusammenfassungsfelder, Bericht
Benutzerdefiniertes Erstellen 361
Informationen 360
Zuweisen von Seitenlayouts 240
463