08 JanWarum haben Salesforce Record-Ids eine Länge von 15 und 18 Zeichen?

Vielleicht seid  Ihr auch schon einmal darüber gestolpert, dass Salesforce Datensätze mal 15 Zeichen lang sind, mal 18. Und hier spreche ich vom gleichen Datensatz, beispielsweise einem Account. Direkt im Link oder in einem Export von einem Report werden 15 Zeichen ausgegeben, nutzt man hingegen den DataLoader sind es 18. Was steckt also dahinter?

Salesforce-15

Der Grund weshalb ich diesen Post schreibe ist, dass ich Zeuge wurde wie ein neuer Admin eine Große Anzahl der vorhandenen 100.000 Account Daten unbrauchbar gemacht hatte indem ihm der Unterschied nicht klar war. Spätestens jetzt habe ich Eure Aufmerksamkeit! (Wir konnten die Daten übrigens retten, es gab ein Backup).

Was steckt also dahinter?

Die 15-stellige ID ist case sensitive, d.h. es ist ein Unterschied, ob eine ID 001i000000032b oder 001i000000032B lautet.
Das Problem entsteht in externen Programmen in denen Salesforce Daten verwendet werden. Excel beispielsweise unterscheidet nicht zwischen Groß- und Kleinbuchstaben, d.h. in einem VLOOKUP (SVERWEIS auf deutsch) sind beide Datensätze die gleichen! Und jetzt wisst Ihr auch schon, dass das sehr häßlich werden kann.

Aus diesem Grund gibt es weitere 3 Stellen, die von Salesforce am Ende hinzugefügt werden wenn Ihr die Daten exportiert. In meinem Beispiel wäre das dann beispielsweise: 001i000000032b43x und 001i000000032Bj4s. Das kann dann auch Excel nicht mehr verwechseln.

Ein gern genommener Anfängerfehler ist, Daten über einen Report zu exportieren und dann in Excel zu verarbeiten.
Das mag zwar bequem erscheinen, ist aber ein totales No-Go. Nutzt für externe Verarbeitung IMMER 18-stellige IDs, am einfachsten geht das über einen DataLoader (Original von Salesforce, Jitterbit DataLoader, dataloader.io oder andere).

Kann ich die 3 zusätzlichen Stellen auch selbst hinzufügen?

In Salesforce selbst sind die IDs 15-stellig gespeichert, das erspart Speicherplatz. Die 3 zusätzlichen Stellen werden bei Bedarf berechnet. Salesforce hat zu diesem Zweck die Formel CASESAFEID(Id) eingeführt. Falls Ihr im Netz auch über komplexe Algorithmen stolpert mit denen Ihr das berechnen könnt, so solltet Ihr wissen, dass die Funktion CASESAFEID(Id) erst in Spring’12 eingeführt wurde, vorher musste man sich mit einer sehr, sehr langen Formel helfen, die seitdem obsolet ist.

Und denkt immer daran: Wenn Ihr Daten in einem externen System verarbeitet, macht vorher ein Backup!

Wie geht Ihr mit den IDs um? Wir freuen uns über Rückmeldungen.

 

11 AugSalesforce 2-Faktor Authentifizierung abschalten – Gewusst wie und wann

Es ist mir wieder passiert: Vor kurzem habe ich meinen Arbeitgeber gewechselt und damit habe ich keinen Zugriff mehr auf meine alte Handynummer und Email-Adresse. Zudem nervt es mich sowieso immer wenn ich mich in reinen Developer-Editionen authentifizieren muss. In diesen Umgebungen hab ich nichts zu verheimlichen, da reicht mir auch eine reine Username und Passwort-Abfrage. Reichlich genervt habe ich die Funktion recherchiert wie man das umgehen kann, hier mein Blogpost dazu:

Gewusst wie

Die Funktion die 2-Faktor-Authentifizierung zu umgehen ist mit guter Absicht etwas im Administrationsmenü versteckt. Ausschalten kann man sie nicht, wohl aber umgehen!

Das Profil bietet die Möglichkeit eine sog. “Login IP Range” einzutragen. Alle Logins die von innerhalb dieses IP Bereiches kommen werden dann ohne weitere Authentifizierungen durchgeroutet, Ihr könnt Euch beim Benutzen von externen Tools zudem die Eingabe des Security Tokens sparen.

Seid Euch bitte bewusst was Ihr hier tut, das hat in einer Produktions-Umgebung meiner Meinung nach nichts verloren. Das ist etwas für Developer-Orgs, nicht mal für Sandboxen.

Login IP Range

 

Gewusst Wann

Eine Möglichkeit die 2-Faktor-Authentifizierung für alle Profile abzuschalten gibt es nicht, sollte es auch nicht geben.

Denn in einer Produktivumgebung werdet Ihr eventuell den umgekehrten Weg gehen wollen:

Hier könnt Ihr die Funktion so nutzen wie sie gedacht ist, nämlich die User gänzlich auszusperren wenn sie nicht innerhalb des IP Bereiches auf die Salesforce-Umgebung zugreifen. Unter anderem ist das für den Einsatz mit VPN gedacht. Hier geht der User über eine VPN-Verbindung ins Netz und hat damit einen festgelegten IP-Bereich.

 

Ich jedenfalls lasse alle Produktiv-Umgebungen unberührt, füge aber in jede Test und Demo-Umgebung seit ein paar Tagen den Bereich von 0.0.0.0 bis 255.255.255.255 – und bin damit auf der sicheren Seite, denn das sind alle IP Adressen, die es weltweit gibt.

 

01 OctAppExchange 5-5-5: Phonedeck im Kurzreview

Noch immer bin ich ganz begeistert von Phonedeck, einer Lösung mit der man mit wenigen Klicks und mit Hilfe seines iPhones oder Androids überall ein CallCenter aufbauen kann.

Technisch toll umgesetzt entfällt die Integration von einer Telefonanlage, was bei vielen Kunden oft der Grund ist eine tiefe Integration der Telefone dann doch nicht mit Salesforce zu machen.

Weil wir so begeistert waren, geht das Video diesmal 25 Minuten, jede davon ist sehenswert!

Ihr findet die Lösung auch auf der AppExchange, dem Salesforce Marktplatz für Business-Anwendungen und -Erweiterungen.

Ganz herzlichen Dank an Alexander Roth für die Vorbereitung und die Demo. Wir wünschen dem Phonedeck-Team als junges Startup viel Erfolg mit der Lösung, unter anderem als Aussteller auf der diesjährigen Dreamforce in San Francisco!

16 Sep16777216 Farben in Salesforce

Hinweis: zum Anzeigen der Grafiken bitte den Beitrag in Vollansicht lesen.

Situation

Für die graphische Aufwertung von Reports und Dashboards bietet Salesforce.com die Möglichkeit, eigene Farben auszuwählen. Picklist-Werten werden die Farben standardmäßig automatisch zugewiesen. Für die manuelle Zuweisung steht ein Colorpicker-Widget mit 72 Farben zur Verfügung (siehe Abb. 1):

colorpicker1

Ein vergleichbares Colorpicker-Widget – jedoch mit nur 25 Farben – gibt es beim “conditional highlighting” in Dashboard Charts (siehe Abb. 2):

colorpicker2

Problematik

Oft aber reicht diese Farbauswahl nicht aus.

Sollen beispielsweise Listenwerte per conditional highlighting hervorgehoben werden (in Abb. 3 – am Beispiel von Email-Duplikaten), wird eine signalisierende Farbe benötigt, die zudem genügend Kontrast zu den schwarzen Ziffern bietet.

colorpicker3

Als weiteres Beispiel seien Opportunity Stages genannt, die den Sales-Fortschritt anhand eines blauen Farbverlaufs visualisieren (siehe Abb. 4).

colorpicker4

Sicherlich gibt es weitere Beispiele, z.B. Farbwahl gemäß Company Brand, etc., in denen eine erweiterte Farbpalette benötigt wird.

Lösung

Mit folgendem Trick lassen sich die Farben beliebig wählen, hier mithilfe des Firefox-Browsers konfiguriert:

  1. Sieht man die Farbpalette im Browser, bewegt man die Maus in der Palette über eine Farbe (in Abb. 5 am Beispiel Rot dargestellt). Nun erscheint am unteren Rand der Befehl, welcher zum Setzen der Farbe verwendet wird, hier “javascript:setcolor(‘C25454’);”.colorpicker5
  2. Klickt man nun die rechte Maustaste und wählt “Element untersuchen”, öffnet sich folgendes Fenster mit der Code-Ansicht.colorpicker6
  3. Hier kann man nun den Wert ändern, z.B. von C25454 auf FF2200 und mit der Return-Taste bestätigen. Bewegt man wiederum die Maus über die Farbe (in diesem Beispiel Rot), erscheint der Befehl mit neuem Parameter “javascript:setcolor(‘FF2200’);”.
  4. Klickt man nun die linke Maustaste, wird der geänderte Befehl abgeschickt und die Farbe wunschgemäß angepasst.

Der Farbwert setzt sich aus den Hexadezimalwerten für RGB zusammen, hier im Beispiel: Rot=FF + Grün=22 + Blau=00. Es gibt Tools, mit denen sich diese RGB-Werte berechnen oder von Dezimal nach Hexadezimal umrechnen lassen (ColorPicker, Paletteneditoren, Office-Produkte mit Farbauswahlmenü, etc.).

Viel Spaß damit! Gerne hören wir von Euren Erfahrungen.

Vielen Dank an Roger Henze, Fa. MuniConS GmbH, für diesen Gastbeitrag.

10 MarAppExchange 5-5-5: VisualLifecycle im Kurzreview

In unserer Videocast Serie haben wir heute Levin Beicht zu Gast.

vllogo

Levin und sein Team von Apracor haben sich darauf spezialisiert Prozesse in Salesforce zu modellieren ohne dass man dazu Code schreiben muss.

Herausgekommen ist nach einem Jahr intensiver Arbeit ein beeindruckendes Tool, welches es in 2 Varianten auf der AppExchange zum Installieren in Eure Salesforce-Umgebung gibt.

Schon mit der kostenlosen easy Variante könnte Ihr Prozesse modellieren und Euch einen guten Überblick über das Tool verschaffen. Die VisualLifecycle professional bietet Euch noch mehr Funktionalitäten zum fairen Preis wie wir finden.

Ich selbst war von der Demo begeistert, weil sie

  • die Möglichkeit bietet einzelne Prozesse und Prozess-Schritte so gestalten, dass neue Mitarbeiter weniger Fehler machen können und
  • man als Arbeitgeber die Freiheitsgrade der Mitarbeiter einschränken kann.
  • Darüber hinaus reduziert sich die Einlernzeit neuer Mitarbeiter.

Aber das Beste: Die Prozesse lassen sich mit wenigen Klicks auch wieder ändern. Aus meiner Sicht DER VORTEIL des Tool, das ohne Code auskommt.

Wie immer können und wollen wir mit unserem Video kein Produkttraining ersetzen, wer mehr Interesse hat, sollte sich unverbindlich mit Levin Beicht in Kontakt setzen.

Doch seht selbst:

22 FebSalesforce Freigaberegeln mit APEX

In einem vergangenen Blogpost habe ich zusammengestellt wie man sich in Salesforce die Freigaberegeln definieren kann und habe darauf viele Rückfragen bezüglich APEX bekommen, daher will ich diesem Thema mal hier näher auf den Grund gehen:

Wie funktionieren die Freigaben im Detail – und wie kann man auf die Regeln per APEX zugreifen bzw. diese erstellen?

Das Prinzip ist so einfach wie genial. Um das zu verstehen müssen wir einen kurzen (sehr kurzen!) Ausflug in die Datenbank von Salesforce machen:

Für jedes Objekt für das die Unternehmensweiten Standardeinstellungen NICHT “öffentlicher Lese-/Schreibzugriff” ist, wird eine weiteres Objekt angelegt in dem die Freigaben abgelegt werden. Über die Admin-Bedienoberfläche ist das aber nicht sichtbar. Um darauf zuzugreifen bedient man sich Admin-Tool (z.B. Eclipse, Develpper Konsole, SoqlXplorer etc.) und findet dort das entsprechende Objekt.

Ich habe für Euch die Account-Sicherheitseinstellungen auf privat gesetzt und EINE einzige Freigaberegel erstellt und Euch mit dem SoqlXplorer einen Screenshot gemacht:

AccountSharing

 

Was dann in der Datenbank abgelegt wird ist nicht etwa die Regel selbst, sondern es wird für jeden (!) Account für den eine Freigaberegel erstellt wurde diese in die Sharing-Tabelle eingetragen. In diesem Beispiel wurde also aus einer Regel 12 Einträge.

Das ist auch der Grund weshalb man immer die Meldung bekommt, dass die Regeln “berechnet” werden und das etwas dauern kann nach dem Speichern. Denn Salesforce übersetzt die von Euch erstellten Freigaberegeln auf die Accounts und trägt diese dann in die Tabelle ein. Bei riesigen Datenmengen und entsprechend vielen Usern kann das schon mal richtig viel werden und entsprechend lange dauern.

So, und wie greift man jetzt auf die Tabelle per APEX zu? Ganz einfach: Ihr habt die Chance selbst dort Einträge vorzunehmen bzw. diese auch wieder zu löschen. In der Praxis sieht das dann so aus, dass man (bleiben wir beim Beispiel Account) bei jedem Speichern/Erstellen/Löschen einen Trigger startet, der die Sharing-Regeln in der Tabelle überarbeitet bzw. einträgt.

Ihr legt dort fest welcher User oder welche Gruppe (Vorsicht, das sind keine Chatter-Gruppen, sondern öffentliche Gruppen!) welchen Zugriff auf den Datensatz bekommt.

Mein Tip war und bleibt: Man kommt fast immer mit den Standard-Regeln aus. Erst wenn diese zu 100% ausgenutzt worden sind und Ihr Freigaben braucht, die man einfach nicht anders machen kann, solltet Ihr die APEX-Regeln nutzen.

Was ist Eure Best-Practice?

09 JanSalesforce Release Notes für Spring’14 sind verfügbar

Seit heute sind die Release Notes für das kommende Spring’14 Release verfügbar:

https://help.salesforce.com/help/pdfs/en/salesforce_spring14_release_notes.pdf

Stand heute sind es bereits 325 Seiten voller Neuigkeiten. In der Vergangenheit wurden die Release Notes meistens noch etwas erweitert mit den Wochen. Schaut also öfter mal vorbei was es Neues gibt.

Meine Highlights

Meine Highlights nach einem ersten drüberlesen:

– Salesforce Files (Früher bekannt unter Chatter Files) ist nun für alle Kunden verfügbar. Damit kann man Dokumente zwischen dem Rechner und Salesforce spielend leicht synchronisieren, ähnlich wie das box oder dropbox anbieten.

– Es gibt ein neues Standard-Objekt: Orders. Zeitgleich gibt es auch eine API, um Orders (Bestellungen) automatisch zu erfassen.

– Die Outlook-Integration hat eine weitere Ergänzung erfahren: Ab sofort kann man Kundenvorgänge mit einem Mausklick aus einer Mail erstellen.

– Die Service Konsole unterstützt jetzt Multi-Monitor-Support und man kann leichter Anhänge per Drag&Drop an die Kundenkommunikation anhängen. Zusätzlich ist es jetzt auch möglich in Kundenemails Bilder direkt in den Text einzufügen, was bisher nur über Umwege ging ist jetzt im Standard verfügbar.

– Ein Schmankerl für Power-User ist, dass man Topics nun auch direkt  Objekten hinzufügen kann und in Listenansichten nach diesen Topics sortieren und filtern kann. Zusammen mit dem neuen Skill-Management, das für die User als Pilot im neuen Release eingeführt wird kann man sich also künftig je nach Topic einer Opportunity die richtigen Spezialisten vorschlagen lassen innerhalb der Firma.

Was sind Eure Highlights?

Das neue Release ist in Kürze in den Sandboxen verfügbar und Anfang Februar 2014 dann in allen Produktionsumgebungen.

02 DecSalesforce Integration für Arme

Das Thema wie Daten nach Salesforce hineinkommen und wieder exportiert werden können ist ein Thema, das jeden (aber auch wirklich jeden) vor dem Kauf brennend interessiert, daher möchte ich diesem Dauerbrenner einen Blogpost widmen.

Um es vorwegzunehmen. In meinen 10 Jahren Berufserfahrung war es noch nie so leicht Daten zu laden oder zu entladen wie heute. Die Tools sind einfach klasse geworden.

Daten exportieren

Dafür gibt es eine Funktion im Setup, die es Euch erlaubt alle (!) Daten per Knopfdruck und in Form von csv (Comma Separated Files) zu exportieren. Das beinhaltet auch die Dateien (Powerpoint, Excel etc.), die Ihr im Laufe der Zeit hochgeladen habt. Und ja, Ihr erhaltet auch die Information wie die Daten und Dateien zueinander gehören mit exportiert.

Ich empfehle Euch nachdrücklich die Erinnerungsmail zu nutzen, die Ihr wöchentlich (bei Professional Edition monatlich) erhalten könnt um Eure Daten lokal als Backup zu speichern. Man weiss ja nie, ob mal jemand aus Versehen alte Daten gelöscht hat. Ihr habt aktuell kein Backup bei Euch lokal gespeichert? Los geht!

Daten laden

Wenige Daten könnte Ihr bequem mit Bordmitteln laden – mit dem sogenannten Wizard – der im Setup eingebaut ist (Datenverwaltung -> Datenimport-Assistent). Allein dieses Tool hätte einen eigenen Post verdient, weil es seit der Überarbeitung im letzten Release deutlich hübscher und besser bedienbar geworden ist.

Probiert den Datenimport-Assistenten einfach mal selbst aus, wenn Ihr beispielsweise Accounts laden möchtet.

Und hier mein ultimativer TIP: Speichert Eure Excel Sheets mit OPEN OFFICE als csv-Dateien ab. Microsoft Excel eignet sich nicht zum Arbeiten mit csv-Dateien (das macht statt Kommas Semikolons – weshalb, das muss uns Microsoft noch erklären).

Sobald die Aufgabe etwas kniffliger wird, werdet Ihr mit dem Assistenten an Grenzen kommen. Vor allem dann, wenn Ihr die selbe Aufgabe mehrfach machen wollt, wenn ihr beispielsweise einen Fehler gemacht hattet und die Ursprungsdatei anpassen wollt oder mehr Daten laden wollt etc. werdet Ihr für ein etwas schlaueres Tool dankbar sein.

Für diesen Fall gibt es eine grosse Anzahl an KOSTENLOSEN Tools, die Ihr nutzen könnt.

Den Salesforce DataLoader gibt es als Bordmittel, dataloader.io, den Jitterbit Data Loader, Skyvva und viele mehr könnt ihr ebenfalls nutzen. Sie alle nutzen die Salesforce APIs und unterstützen Euch dabei Eurer Aufgabe Herr zu werden.

Ich persönlich arbeite inzwischen nur noch mit Jitterbit und dataloader.io und zwar aus folgenden Gründen:

Bei beiden Tools kann ich mehrere Logins hinterlegen (z.B. Testumgebung, Produktionsumgebung) und sämtliche Vorgänge (Laden von Daten, Exportieren etc.) speichern. Gerade wenn ich regelmässig Vorgänge durchführen muss, dann ist das super weil es mir Zeit erspart.

Mein Favorit ist seit Neuestem dataloader.io

Letzte Woche hatte ich einen Kunden am Telefon, der mit dem Assistenten an Grenzen gekommen war und dem ich dataloader.io empfohlen habe – und er war begeistert, so wie ich.

Seit dem letzten Release von dataloader.io lassen sich Laden- und Entlade-Vorgänge mit regelmässiger Abfolge automatisieren – und das kostenlos! Ihr legt beispielsweise fest, dass jeden Tag um 7:00 Uhr ein CSV-Sheet die Umsatzdaten Eurer Accounts aktualisiert – und das geschieht nach der einmaligen Konfiguration von allein.

Ihr könnt als Quelle FTP, Dropbox oder box.com angeben. Den Ausspruch “Integration für Arme” habe ich von meinem Kunden gerne an dieser Stelle übernommen.

Ihr habt somit die Möglichkeit Daten aus Bestandssystemen, Buchungssystemen, was auch immer nach Salesforce automatisch einmal am Tag hochzuladen. Oder alternativ Daten einmal täglich nach FTP, Dropbox oder box.com zu exportieren und von dort weiterzuverarbeiten.

Überlegt selbst welche Möglichkeiten Euch damit zur Verfügung stehen! Und das kostenlos! Bisher haben alle Tool-Hersteller Geld für Prozess-Automatisierungen genommen, dataloader.io hat das jetzt durchbrochen. Und macht damit natürlich Werbung für deren richtig, richtig schicke Integrations-Plattform Mulesoft, die Euch mit dem CloudHub noch ganz andere Möglichkeiten bietet (Ein Blick auf deren Portfolio lohnt sich!)

Natürlich bekommt Ihr keine Garantie für den Betrieb von dataloader.io und es ersetzt kein hochwertiges Integrationswerkzeug. Aber für eine Integration von unkritischen Daten auf dennoch sicherem Weg ist es unschlagbar gut.

Probiert es aus, Ihr werdet begeistert sein wie leicht sich Daten laden, mappen und exportieren lassen.

Wieso ist das bei Salesforce so einfach?

Ganz einfach, weil Salesforce konsequent auf offene Standards setzt und APIs für den Zugriff auf das System zur Verfügung stellt. Die anderen Hersteller verfolgen da den Weg die User in ihrer eigenen Welt einzusperren. Es ist oft ein Drama auf die Daten bei anderen Systemen zuzugreifen, von einfachen Wegen die Daten zu verarbeiten ganz zu schweigen. Für Ihr Integrations- bzw. Migrations-Projekt benötigt Ihr jetzt “nur noch” Zugriff auf die anderen Systeme, dann geht’s los.

Für Migrations-Projekte macht Euch schon heute an die Analyse darüber wie Ihr die Daten aus Euren Altsystem entladen bekommt. Diese Frage werdet Ihr Euch künftig nicht mehr stellen brauchen. Sie wurde in nur wenigen Zeilen hier beantwortet.

Welche Tools nutzt Ihr, was sind Eure Erfahrungen, welche Use Cases könnt Ihr Euch vorstellen mit den Möglichkeiten von dataloader.io?

19 AugJeder sieht nur was er soll – Freigaberegeln entmystifiziert

So ziemlich jeder Kunde hat den Wunsch in seiner Software genau zu regeln wer von den Mitarbeitern welche Daten sehen darf.

Die Möglichkeiten die Freigaberegeln von Datensätzen zu definieren sind sehr vielfältig und haben mich dazu bewogen hier mal zusammenfassen zu schildern welche Wege Euch zur Verfügung stehen wenn Ihr die Freigaben verwalten wollt.

Der Einstieg: Unternehmensweite Standardeinstellungen

Hinter dem im deutschen nicht so richtig prickelnden Begriff steckt eine absolut essentielle Funktionalität. Nicht umsonst wird darauf in der Administrator-Prüfung sehr ausführlich eingegangen.

Recht oder Zugriffsreche in Salesforce zu vergeben funktioniert immer nach dem generellen Muster:

Es gibt eine Standardeinstellung und man kann Benutzern weitere Rechte hinzugeben. Daher ist es wichtig die Grundeinstellungen richtig zu setzen. Wenn die ganze Firma Account-Daten lesen und schreiben sollen darf, dann wäre die Standardeinstellung entsprechend – und es gebe keinen weiteren Grund mehr für zusätzliche Freigaberegeln.

Ihr habt grundsätzlich 3 Möglichkeiten (es gibt wenige Ausnahmen auf die ich hier nicht eingehen möchte):

  • Privat – Nur der Datensatzinhaber hat Zugriff auf den Datensatz
  • Öffentlicher Lesezugriff – Die ganze Firma hat lesende Rechte auf den Datensatz, nur der Datensatzinhaber hat das Recht ihn zu editieren
  • Öffentlicher Lese-/Schreibzugriff – Alle in der Firma haben Zugriff auf den Datensatz und dürfen ihn bearbeiten

Wenn ihr einen der ersten beiden Einstellungen für Eure Objekte ausgewählt habt, dann gibt es noch weitere Orte an denen Ihr den Benutzern freigaben erteilen könnt – und darum soll sich dieses Blog drehen.

Um alle Punkte im Detail mit Praxisbeispielen zu erörtern würde sich eher ein Buch anbieten als ein Blog, gedacht ist das Blog an dieser Stelle zum Einstieg und zum Überblick:

1. Freigaberegeln – der Klassiker

Am bekanntesten dürften die Freigaberegeln sein. Im Setup kann man unter Freigaberegeln die unternehmensweiten Einstellungen vornehmen und auch gleich ausnahmen definieren. Abhängig von jedem (!) Feld auf Eurem Datensatz könnt Ihr Regeln definieren wer zusätzlich die Daten sehen kann.

Ein Klassiker deshalb, weil man in 90% der Fälle damit schon am Ziel ist und die Freigaben für ganze Gruppen, Teams und Rollen aus Eurem Org-Chart geben könnt. Probiert es mal aus.

2. Manuelle Freigaben

Wenn Ihr den Button “Manuelle Freigabe” in Eurem Layout habt und der Benutzer das Recht hat Freigaben zu erteilen, dann könnt Ihr so Euren Benutzern individuell das Recht geben Datensätze Kollegen freizugeben. Es ist halt kein automatisierter Prozess, sondern für alle Sonderfälle gedacht und gemacht bei denen Ihr explizit keine Automatisierung wollt.

3. Account Teams – Auch für Opportunities und Cases

Ebenfalls ein manueller Prozess: Wenn Ihr in größeren Teams arbeitet, dann bietet es sich eventuell an mit Account Teams zu arbeiten. Wenn Ihr einen Kollegen in Euer Account Team aufnehmt, dann gebt ihr ihm Zugriff auf den Account selbst und nach Wunsch auch direkt Zugriff auf die Opportunities und die Cases. Ob Vollzugriff oder nicht: Einstellungssache.

TIP: Wenn Ihr das öfter nutzt, dann definiert Euch bei Eurem User Euer Standard Account Team. So tut Ihr Euch leichter Euer Team hinzuzufügen.

4. Opportunity Teams

Ähnlich wie Account Teams könnt Ihr auf Euren Opportunities Teams definieren mit denen Ihr arbeiten wollt und die Zugriff auf Euren Datensatz bekommen. Ist so ähnlich wie manuelles Sharing, aber mit dem Zusatz, dass Ihr den Kollegen (und Partnern) Rollen geben könnt, die Euch die Zusammenarbeit vereinfacht.

5. Rollenhierarchy – Zugriff auf Opportunities

Recht unbekannt ist, dass man auch im Org-Chart definieren kann wie der Zugriff auf Opportunities ist deren Account-INHABER man selbst ist. Ich selbst empfehle immer die Einstellung so zu setzen, dass man Zugriff auf alle Opportunities. Nur in Ausnahmefällen macht es Sinn anders vorzugehen.

6. Territories – Zugriff auf ein komplettes Gebiet

Zunächst müssen die Territories von Salesforce über ein Ticket aktiviert werden. Wenn Ihr das getan habt und diese nutzt, dann vergesst bitte nicht, dass auf diese genutzt werden können für Freigaben in Eurem Territory: Generell sehr Ihr alle Accounts in Eurem Territory, aber auch der Zugriff auf Kontakte, Opportunities und Cases kann hier geregelt werden.

Der Einsatz von Territories sollte genau abgewogen werden. Wenn Ihr tatsächlich in Teams arbeitet, kann der Einsatz mehr als Sinn machen. Probiert es am Besten mal in einer Development-Umgebung oder Sandbox vorab aus – niemals in Produktion, das es sich aktuell nicht wieder abschalten lässt!

7. APEX Freigaberegeln

Solltet Ihr mit den Freigaberegeln und den anderen Möglichkeiten tatsächlich an Grenzen stossen (was mir selbst noch nicht passiert ist), dann steht Euch der Weg offen über Code nach Eurem wohlgefallen Regeln zu erstellen und Freigaben zu erteilen.

Mein Fazit

Die Einsatzmöglichkeiten von Freigaben sind sehr vielfältig und quasi unlimitiert. Versucht wenn möglich mit den Sandard-Einstellungen auszukommen, die sehr, sehr mächtig sind.

Nutzt die anderen Möglichkeiten nach Bedarf, bedenkt aber bitte auch, dass Ihr als Admins das auch pflegen müsst und dann erteilte Freigaben im Zweifelsfall an neue Kollegen übertragen müsst.

Daher mein Rat (wie bei so vielem): Wägt die Möglichkeiten gut ab und entscheidet Euch dann für wenige der oben genannten Optionen. Ihr wollt ja lange Freude an Eurer Salesforce-Umgebung haben.

Was sind Eure Erfahrungen? Wie geht Ihr vor?

 

 

 

17 JulAdmin Basics: Darum überschreibt man niemals nie einen bestehenden Benutzer

Nachdem ich es in den letzten Tagen zweimal mit dem gleichen Problem bei Kunden zu tun hatte, möchte ich dieses Blog einem totalen Basic widmen, das viel zu wenig Beachtung findet: dem Benutzer.

Jeder Nutzer in Salesforce wird als Benutzer angelegt und bekommt seinen Login-Namen und legt sich selbst ein Passwort fest. Was aber, wenn der Benutzer ausscheidet und ein anderer seine Funktion übernimmt?

Der schnellste – und leider auch schlimmste – Weg ist einfach den vorherigen Benutzer zu überschreiben, die Emailadresse auszutauschen, den Login-Namen zu ändern und das Passwort zurückzusetzen. So einfach kann das gehen, hier nur ein paar der Nachteile die Ihr Euch dabei einhandelt:

Wenn wir und klar machen, dass die Historie des neuen Benutzers dabei übernommen wird, wird vieles klar:

  • Der neue Benutzer hat bereits viele Daten angelegt, letzte Änderungen vorgenommen
  • Der neue Benutzer hat bereits Aktivitäten, die eigentlich gar nicht seine sind
  • Die persönlichen Einstellungen des Benutzers sind bereits gefüllt
  • Die Feldhistorie (wer hat was wann geändert) wird verfälscht
  • Reports können etwas Falsches aussagen, wenn auf diverse Systemfelder reportet wird

Richtig übel wird es aber, wenn Ihr Chatter einsetzt (was ich Euch hiermit nachdrücklich empfehlen möchte, solltet Ihr es noch nicht tun!):

  • Alle alten Posts werden auf den neuen Benutzer übertragen
  • Der neue Benutzer ist in Gruppen eingetragen, für die er eigentlich keinen Zugriff haben sollte
  • Andere Benutzer wundern sich, wieso bei alten Posts ein anderer User steht
  • etc.

Ihr seht, Ihr handelt Euch nur Nachteile ein.

Der richtige Weg ist folgender:

Deaktivert erst den alten Benutzer, denn so bekommt Ihr sofort die Lizenz freigegeben, die Ihr benötigt um den neuen Benutzer anzulegen. Danach legt einen neuen Benutzer an und schenkt ihm ein jungfreuliches Profil. Benennt den alten User eventuell um, beispielsweise von “Sabine Stub” in “X – Sabine Stub”, dann weiss jeder in der Firma, dass die Person nicht mehr aktiv ist.

Danach übertragt die Accounts, Kontakte und offenen Opportunities und Kundenvorgänge mit den eingebauten Admin-Klick-Tools an jemand anderen.

Glaubt mir, das bisschen Arbeit lohnt sich sehr. Es wird Euch viele Rückfragen des neuen Benutzers ersparen und damit Eure und seine Zeit und Frustration sparen.

Welche Erfahrungen habt Ihr mit der Administration von Benutzern gemacht? Über welche Themen sollen wir bloggen? Wir freuen uns auf Euer Feedback.