Sommerfrische: DevOps Center, Code Builder und mehr

Es dauert im Einzelnen mitunter noch bis Mitte Juli, dann sind einige lang versprochenen Themen mindestens in Preview:

DevOps Center (Beta)

Gegenwärtig nur mit Github nutzbar und von der Idee her durch Partner erweiterbar, d.h. es muß nicht bei Github bleiben - aber Salesforce wird nichts dafür tun. Mein Eindruck ist, Salesforce wird genau beobachten, ob und wie genau DevOps Center von den Nutzern und dem Partner Ökosystem angenommen wird.

Code Builder (Beta, Managed Package)

Der Nachfolger der Developer Console. Schön für LWC Development im Browser / auf der Org. Ist für mich keine Alternative. Es geht mir in der Developer Console um einfaches Updaten von Daten mittels Query Builder und Analyse von Query oder System Performance.

Für ISVs: Lizenzen für eigene Features (Developer Preview)

Seit es AppExchange gibt, gibt es den Wunsch von ISVs, AddOns zu verkaufen ohne verwirrte Umwege über extra lizensierte Extension Packages oder Feature Parameter.

Für alle und ISVs: DML im User Mode statt wie bisher nur im System Mode (Beta)

Ein guter Teil von ISV Apex Code ist in der Regel dazu da, alle möglichen Sicherheitschecks durchzuführen, um Permissions der jeweiligen Nutzer zu berücksichtigen. Den kann man sich in Zukunft sparen und nur noch Ausnahmen regeln.

Subscription Management

Daß es ein neues Produkt gibt, ist nicht die Nachricht. Daß es Subscriptions sind, schon. Mit dem Thema wurden Kunden gern auf Dritte verwiesen und das obwohl Salesforce selbst mit Abos/Subscriptions Geld verdient. Eine gängige Argumentation war, daß es eine Frage von Renewal Opportunities sei und Prozeßautomatisierung, also Trigger. Subscription Management bietet mehr und setzt dafür auf Platform Events.  Die offene Frage lautet, wie sich Subscription Management zu Salesforce CPQ/Revenue Cloud verhält.

sf oder sfdx

Das steht hier auch als Erinnerung an mich selbst, die neuen CLI Befehle des "Unified CLI" auszuprobieren. Laut Blog Artikel, kann sf mehr als sfdx in puncto Scratch Org Erstellung - zum Beispiel den Prozeß nach einem Timeout wiederaufnehmen. Schön wäre, wenn VS Code schon sf nutzen würde, aber es ist ja noch in Beta. Die Vision, ein Commerce Cloud Project mit ähnlichen Befehlen wie ein Sales Cloud Projekt zu erstellen ist reizvoll, dananch hören die Gemeinsamkeiten allerdings schon auf, weil technisch völlig unterschiedliche Projekte entstehen.  

Außerdem

Nachdem myTrailhead Sales Enablement heißt, zieht in diesem Release High Velocity Sales nach  - ein Tool für Inhouse Agenten an der Telefonleitung. Es heißt jetzt Sales Engagement.

Bei DSVGO und GDPR habe ich öfter gehört: Salesforce kann für Euch sensible Daten nicht aufräumen, das muß jeder selbst wissen. In Teilen und in der Health Cloud geht es wohl doch: Löschjobs für sensible Health Card Daten.

Ich habe lange die SOAP API Dokumentation genutzt, um herauszufinden, welche Felder es auf Objekten gibt. Mir und Salesforce ist bereits aufgefallen, daß die Salesforce Object Reference dasselbe bietet. Salesforce hat die SOAP Dokumentation daher gekürzt und ich muß umlernen.

Industry Common Components, darunter Batch Management, Decision Tables und Business Rule Engine, finde ich immer noch beeindruckend. Da tut sich auch regelmäßig etwas in puncto Feature, auch Tableau, nunmehr Analytics CRM, hat eine ganze Reihe an Features erhalten. Ein Vergleich mit Core Cloud Innovation verbittet sich natürlich.

Breaking Changes

For example, your org has a flow that includes an account record’s description in the text input of a display text component. The account record’s description uses merge fields. The description is “{!Account.Industry} company from {!Account.BillingCity}”. In API version 54.0 and earlier, the two merge fields are evaluated, so the description would render as “Education company from San Francisco”. From API version 55.0 onward, the two merge fields aren’t evaluated, so the description renders as “{!Account.Industry} company from {!Account.BillingCity}”.
Likewise, in API version 55.0 onward, if an end user enters the merge field {!Account.Name} in an input for a screen flow, it renders as {!Account.Name} and isn’t evaluated. In API version 54 and earlier, the account name is rendered. Essentially, if a merge field is used in an input in a way that surfaces data, the merge field isn’t evaluated.

Lieblingsfeatures

Demo orgs: demo
Developer Edition orgs: develop
Free orgs: free
Patch orgs: patch
Scratch orgs: scratch
Trailhead Playgrounds: trailblaze
For example, the My Domain login URL format for a partitioned scratch org is https://MyDomainName.scratch.my.salesforce.com.

  • Das bedeutet viele neue URLs und es gibt eine eigene Apex Klasse für: System.DomainCreator . Es gibt damit keinen Grund mehr, Salesforce URLs im Code manuell als Text/String zusammenzukleben.

Für Entwickler

Für Admins

*) "Service Cloud with the Digital Engagement and Messaging for In-App and Web SKUs. This change also applies to Service Cloud Unlimited and Performance editions with a Messaging for In-App and Web SKU"

Für Benutzer