Salesforce und Chrome
Eine lange Liste von Critical Updates wird im Frühling automatisch eingeschaltet. Mutet wie Frühjahrsputz bis in die letzten Ecken an und das von zwei Seiten gleichzeitig: Salesforce und Chrome. Lang ist es nicht mehr hin, wer noch nicht alles überprüft hat, hat einiges vor sich.
Genau Hinsehen in Salesforce
Wenn das Guest User Profile Sicherheits Update erzwungen wird (siehe auch hier), dann trifft das besonders auch Communities und Sites, dazu hier eine Zusammenfassung von Katie Kodes. Records, die von einem Guest User erstellt wurden, brauchen jetzt einen Owner, der via GuestRecordDefaultOwnerId
in den Site Einstellungen festgelegt werden kann. Alles zu Gunsten besserer und modularer Sicherheit - da werden Zugriffsrechte massiv auseinandergedröselt (Sharing ist ein Beispiel unter vielen, Data Access Regeln erzwingen in Flow Formeln ein anderes). Daher gilt es auch Lightning Component Controller zu prüfen und für Lightning Out erwarte ich auch noch Überraschungen.
Und noch genauer mit Chrome
Chrome schlägt von ganz anderer Seite in eine Sicherheits-Kerbe - gerade im Kontext von Visalforce Pages und iframes (und Lightning Experience). Der Browserhersteller kommt mit baldigen Updates zu Cookie-Sicherheit. Hier muß man bei sich daheim als auch in der Marketing Cloud gucken, ob man betroffen ist. Das alles läuft mindestens darauf hinaus, daß sobald Chrome v80 ernst macht, alles über https:// laufen sollte.
Besonders freut mich: Manche ein Anbieter von Deployment Management oder Datensicherung waren bisher in der Lage, sehr genau zu sagen, was sich bei einem Upgrade eines AppExchange Paketes so alles in dem Paket geändert hatte - vor allem auch auf Apex-Seite - dabei sichert Salesforce für Apex die Wahrung intellektuellen Eigentums zu. Die Lücke wurde nun geschlossen.
Zu den nötigen Hardware und Netzwerk Spezifikationen für Lightning Experience sagt Salesforce im Übrigen aktuell folgendes:
Beachtenswert: 150ms Latenz und 3Mbs (gerade unterwegs eine Herausforderung) und 3 GB für Browser-Tab RAM dürfte den einen oder anderen Bürorechner etwas fordern.
Weiter mit Einstein für Jedermann
Das Portfolio weitet sich aus und Einstein Predicitions hat es in Sandboxen geschafft. Das ist Klasse zum Rumspielen.
Folgerichtig kann Extended Metadata (XMD), also Einstein Konfigurationsdaten, via Changesets (und auch in Paketen) produktiv gesetzt werden. Mit den neuen Formatierungsmöglichkeiten für Nummern sind nun auch alle Bedürfnisse in Sachen Währungsformate erfüllbar. Gut finde ich auch, dass verschiedene Interaktionen (1) - vormals Bindings
- zwischen Widgets keinen Code mehr erfordern (2). Ditto für Referenzlinien (3). Hilfreich auch, daß an mehr Stellen das konfigurierte Sharing greift und zumindest im Piloten mehr Datenquellen unterstützt werden:
- SugarCRM
- Zendesk
- Teradata
- Google Cloud Storage
- SAP SuccessFactors
- Zuora AQuA
Sicher ein Effekt der Mulesoft Akquisition, wobei auch alle MuleSoft Connections in Einstein verfügbar sind. Zu dieser Offensive läßt Salesforce viele Einstein Features wie Case Classification bis zu einem gewissen Grad kostenlos werden oder auch Discovery und weitet lezteres auch in andere Produkte wie Pardot aus (Pilot).
Wie rechnet eigentlich Einstein? Mittels Regressionen und Gradient Boosting Machines, im Piloten kommt XGBoost hinzu. Aus den drei Modellen ermittelt Einstein für sich selbst den Gewinner und nutzt nur noch dieses Modell. Ab Frühling lassen sich ferner "Was wäre wenn" Szenarien abbilden und ohne Umweg über ein Dataset mit Salesforce Daten sprechen.
Einstein für Jedermann wird auch ermöglicht durch sanftere Anforderungen (beispielsweise 400 statt 1000 Opportunities) bei den nötigen historischen Datenmengen, um belastbare Aussagen zu erhalten.
Winter 20 nochmal
Ein Nachtrag: Unlocked Packages sind auch für ISVs benutzbar. Migration von 1GP zu 2GP soll ab Spring 21 möglich sein.
Gleichzeitig hat man im letzten Release einige Sachen rund um Namespace eingeschränkt. Und auch in diesem Release kommen weitere Details mit Einschränkungen ans Licht:
BEHAVIOR CHANGE: For unlocked packaging, the Territory2 type now requires packages without a namespace in all API versions
Möchte man das Security Review bestehen mit 2nd Generation Packaging, dann darf kein Visualforce drin sein und für letzteres wurde @namespaceaccessible
aus dem Release genommen (siehe unten).
Nicht ins Release geschafft:
@namespaceAccessible
für Visualforce- Das Critical Update zu richtigen HTML Ausgabe von Formeln im Kontext von Flows wurde (schnellstens) retired.
Lieblingsfeatures
- Kein maximum Daily Limit mehr auf API Calls. Allocations insgesamt erhöht. Developer Orgs ausgeschlossen.
- Sehr folgerichtig: Invocable Actions mit generischem
sObject Type
. Flow macht überhaupt alles immer besser. - Data Masking in Sandboxen. Die Logik wohnt im Übrigen in einem Managed Package, das erst in Production installiert werden muss.
Finalizer Interface
für Asynchrones Queueable Apex - unabhängig vom Erfolg der asynchronen Operation Logik ausführen.Security.stripInaccessible
undWITH SECURITY ENFORCED
für SOQL generally available.- Quip mittels Clicks (und Code) Automatisierungen managen und auch selektiv Dokumentbereiche upaten.
- "BEFORE Trigger" Funktionalität mit Flows. Richtig gute Sache. Kein vollwertiger Ersatz für Trigger, da nur der Datensatz selbst verändert werden kann. Bitte Kleingedrucktes beachten. Dennoch könnten der eine oder andere Before Trigger dadurch abgelöst werden, inbesondere im Kontext von Validierung.
Die Frage, wie man zwischen Workflows, Triggern, Before Save Flows und Process Builder den Überblick behalten kann, lassen wir außen vor. Es werden sich neue Best Practices ergeben. - Die neue Salesforce mobile App für alle. Einstein Analytics auch mit dabei.
- URL Hacks sind jetzt keine mehr. Default Field Values on Record Create auch für eigene Components mittels
lightning:pageReferenceUtils
- Man braucht in LWCs
@track
nicht mehr, es sei denn man braucht es (im Kontext von deeply nested properties). - RIP, Power Of One. Unqiue Value Count ist generally available und so auch Field-To-Field Filter.
- Permission Set Groups generally available
- Tips beim Bauen von Record Pages:
- Stellt Euch mal vor, Entwickler könnten den Flow Designer mit neuen Features ausstatten. Diese Idee (mittels LWC) ist im Piloten.
- Tasks an Queues hängen, darauf haben wir lange gewartet
- Enhanced Related Lists sind generally available. Auch darauf lang gewartet.
- Den neuen App Launcher mag ich sehr
Developer
- Ein neues Critical Update wird vermutlich Bauschmerzen bereiten: Statt nur Top Level Components werden alle Aura oder Lightning Web Components auf die Access Modifier geprüft.
- DX für Communities. Im Metdaten API Format ist eine Community ein Batzen Binärdatei. Im DX Source Format aufgebrochen in lesbare Artefakte. Bin stark dafür, als nächstes die Marketing Cloud zu DXen.
- Noch einmal DX bzw. Metdaten API: Erneut ist vieles, das nur mit Clicks im Setup zu erreichen war, jetzt als Metdaten Einstellung verfügbar geworden.
- 55 (statt bisher 35) Child-To-Parent Abfragen in einer SOQL Query
- Ich wußte doch, das ist was fischig bei
lightning:input/lightning-input
:
Data entry now uses the Salesforce locale instead of the system locale. The component previously used the system locale for data entry and the Salesforce locale for data display when the field loses focus. Now the experience is more consistent.
lightning:messageChannel
und als Modul@salesforce/messageChannel
in Beta. Damit können sich Visualforce Bestandteile, Aura und Lightning Web Components auf einer Record Page austauschen.- Best Practices/Considerations für Flows in Unlocked Packages
- Ein Standard SQL Adapter für Einstein in Richtung Google BigQuery
- Chats mit Lightning Web Components ausbauen
- JSON Konvertierung mittels Custom Component im Analytics Kontext
- Der Kalendar ist als
CalendarView
ein Standard Objekt mit DML und Schnickschnack - Salesforce äußert sich immer mehr zu Browerstest im Kontext von Lightning, zum Beispiel hier. Daher auch der Hinweis in den aktuellen Release Notes, daß inbesondere Browsertests leicht 'kaputt' gehen können, wenn sich Salesforce weiterentwickelt. Ganz besonders Shadow DOM und Synthetic Shadow DOM (LWC) bereiten Kopfzerbrechen. Um dem zu begegnen, gibt es einerseits einen Knowledge-Artikel und eine Chrome Extension, die dabei helfen soll.
- Custom Settings in Scratch/Dev Orgs konfigurierbar wie in Sandbox/Production
- Locker kann in Communities auch ganz abgeschaltet werden. Ich hoffe, das mach keine Schule. Damit LWCs dann noch funktionieren, bitte
lightningCommunity__RelaxedCSP
implementieren. - Gute Locker Nachrichten - ein weiteres Loophole geschlossen:
document.execCommand(insertHTML)
wird von Lightning Locker geprüft. - Welche Sachen dürfen eigentlich von einer Trusted Site geladen werden? Das kann man jetzt einstellen.
- Geb ich zu, check ich nicht: Wire Adapters Not Guaranteed to Emit the Same Data
- Invocable Actions mit Kategorien versehen. Tut den Admins den Gefallen.
- LWC basierte Community Templates. Leider erst im Developer Preview.
Admins
- Lange Zeit war es so: Angenommen sei ein Account mit Lookup auf einen Contact. Auf letzteren hat der Nutzer keinen Zugriff. Der Name des Contacts war dennoch auf dem Account sichtbar. Abschalten mit diesem Critial Update für Lookups.
- Achtung, das (selten genutzte) Standard Feld
UserPermissionsMobileUser
auf dem User Objekt als auch das StandardObjektMobileSession
wurden entfernt. - Für Italien: Keine SMS Konversationen mehr verfügbar
- Klonen von Release-Preview Sandboxen. Bitte daran denken, daß eine Partial Sandbox nur in eine Partial Sandbox geklont werden kann. Die meisten von uns haben nur eine Partial Sandbox, daher kann sie ohne Mehrkosten nicht geklohnt werden.
- Keyboard Shortcuts im Flow Builder
- Ob es nun klug ist, Flows ohne Field Level Security laufen zu lassen? Statt im User Kontext können Screenflows in einem
with sharing
System Kontext laufen ähnlich wie Apex (hier geht auchwithout sharing
). - Event Details über Compact Layouts steuern
- Statt nur it
isDeleted
, mit dem neuenDeleteEvent
Records im Papierkorb ausfindig machen - Verhaltensänderung bei Case Closed Status, damit ähnlich wie in Classic.
By default, the setting is disabled, so closed statuses are hidden.
- Einstein Dashboards bequemer an mehr Leute schicken
- Bots erhalten granularere Logs, damit läßt sich die Qualität leichter erhöhen zu dieser Initiative gehört auch "Conversation Repair".
- CPQ wächst weiter ins Salesforce Kernprodukt hinein und wechselt von Package Licences zu Permission Set Licences.
- Erleichterung: Statt Profil für Community Delegated Admins reicht jetzt ein Permission Set
- Field Services Schedules optimal berechnen lassen und komplexe Termin-Abhängigkeiten
- Einstein Analytics ohne Bezug zu einem sObject einsetzen und herausfinden, wo die Daten eigentlich so genau herkommen.
- Wurde lang gewünscht, nun kann man mehrere Emails mit dem neuen
ContactPointEmail
Objekt an Person Accounts oder Individuen legen. Ditto für Telefonnummern (ContactPointPhone
), Details hier. Alles Bestandteile zum Besseren Management aller Kommunikationskanäle, für die ein OptIn vorliegt. Managebar unter anderem in Service Cloud.
- Mehr Details im Setup Audit Log: Email Deliverability, Connected App Details, Custom Notifications
- External Sharing (untersützt nun Leads und Campaigns) war die eine Seite der Medaille, die andere steckt in der Beta: External Account Hierarchy für Communities. Zusammen dürften diese beiden Neuerungen die Kopfschmerzen aus anspruchsvollen Sharing Szenarien nehmen.
Like Salesforce role hierarchies, data belonging to accounts in an external account hierarchy is available to the parent accounts in the hierarchy. This way, external users don’t have to rely on sharing rules to access data from their child accounts.
- Auf Wunsch keine "Sind Sie sicher..." Meldungen mehr beim Wechseln auf Externe URLs, sofern eingestellt. Stichwort: Trusted Redirects
- API Zugriff für Community/Portal Nutzer auf installierte Pakete einschränken. Super.
- Granulare Zugriffregelung für Custom Settings. Hintegrund: Strengere Absicherung selbiger
- Wer Links in seiner Org benutzt, die noch Instanznamen beinhalten (EU6, NA4), sollte, wird sie bald nicht mehr sehen - Salesforce entfernt diese Details aus allen URLs. Bestehende Links funktionieren weiterhin. Bitte auch Firewall / SAML Einstellungen prüfen.
- Die MyDomain Updates führen auch dazu, daß neue Zertifikate verwendet werden.
- Bis zu 100 statt 25 Components in einem Bereich (Region) einer Lightning Record Page
- Hab ich wirklich vermißt: Aktionen auch dann ausführen, wenn eine Next Best Action abgelehnt wird.
- Keine manuelles (mit Apex) Erstellen von Recommendation Daten mehr nötig, geht jetzt auch über UI. Dazu auch hübsche Dashboards zum Vergleichen von Strategien:
- Advanced Currency Manager in LEX verfügbar, mit Einschränkungen.
- Eine Subscriptions Related List für Platform Events (aktuell nur Subscriber aus Processes sichtbar)
- Im letzten Release vollwertiges
sObject
geworden, in diesem sindOpportunityContactRoles
auch im Process Builder angekommen. - Partial Saves für Flows mit praktischer Übersichtstabelle, wann das ggf. vorkommt und wer das auslösen kann. Spannend ist, wie da Error Recovery aussehen könnte.
- Weniger unhandled Exceptions auf Grund von Null Values in Process und Flow Formeln/Checks
- Usability Updates für Flownatics: Alle Felder eines Datensatzes in einem Flow mitnehmen und diesen im Editor direkt aktivieren. Vor allem aber, weniger Variablen vorher ausdenken / anlegen müssen. Einer der Sachen, die mir bei Flows sehr unsympathisch waren. \
- Wie man sich als Trailhead-Autor fühlt, kann man sich mit myTrailhead vorstellen
- Email Relay etwas aufgeräumt und BCC Emails auch ab Professional Edition
- Der Classic-Javascript-Button-Konverter hat dazugelernt in Sachen Alerts und Tasks/Contract
Nutzer
- Account Daten nutzen um Kontakte für Massen-Emails besser zu finden. Gab es bis jetzt nur in Classic. Auch mit dabei: Email-Entwürfe speichern (Gabs nicht in Classic).
- Opportunities mit Produkten und auch Kampagnen samt Mitglieder klonen.
- Apropos Produkte, Preisbucheinträge sind in Lightning Experience leichter/überhaupt zu erreichen, für Opportunities gibt es weiters eine bessere Produktsuche mit Filtermöglichkeiten (konfiguriert über das Search Layout) und ferner lassen sich Opportunities direkt auf der Forecast-Seite editieren.
- Kein Limit mehr auf Salesforce Felder in Quip Templates
- Statt 15 Minuten, 2 Stunden Zeit, um OAuth zu bestätigen
- Wenns der Admin erlaubt, mit der AppleId in Salesforce einloggen. Ob Google auch kommt?
- Case Merge ist generally available in Lightning Experience
- Salesforce Maps sehe ich in der Consumer Goods Cloud zum ersten Mal in etwas größerem Einsatz. Routenberechnung für Shop Manager.
- Reports samt Report Builder in Lightning Communities angekommen. Für Partner Community und Customer Community Plus Lizenzen.
- Eine Liste meiner liebsten Einstein Dashboards zusammenstellen - genannt "Watchlist"
- Makros laufen im Hintergrund und blockieren die UI nicht mehr und Bulk Macros
- Omnichannel Supervisor müssen Filter nicht immer neu zusammenklicken
- Nutzer der aktuellen Gmail oder Outlook Integrationen erhalten sofort Einblick in GDPR Details