Spring 19 - Auf dem Weg zu neuen Standards

Mehr Web-Standards? Ja, bitte! Wer kann da schon Nein sagen. Das scheint mir die zentrale Aussage hinter den neuen Lightning Web Components (LWCs) zu sein. Ganz vorneweg: Dokumentation, Beispiele, ein eigener Playground zum Experimentieren, Aussichten auf Open Source - Salesforce hat alles besser gemacht als beim Launch von Aura basierten Components. Lightning Web Components rendern auch schneller, das ist Fakt. Außerdem sitzt Salesforce neuerdings in dem für Web Components verantwortlichen Konsortium - prima ist das, für uns als Salesforce Kunden als auch für die Web Community: Salesforce hat hohe Standards.

Ob LWCs in den 'Flow' einer bewährten Platform passen, die sich bisher - aus Gründen der eben genannten Sicherheit, Performance und auch des Selbstverständnis - ihre eigenen Standards geschaffen hat, wird sich zeigen. Ob sich diesmal das Versprechen, Entwickler schneller (und günstiger) an die Plattform zu bekommen, einlösen wird, ebenfalls. Das Versprechen gab es bereits bei Einführung der Aura basierten Components.
Feststeht, daß LWCs eine völlig andere "Denke" vorausetzen - anders als Visualforce und anders als Aura. Beides für die Plattform erdachte Technologien.

Das aktuelle Release wirkt - neben den kommunizierten Highlights wie mehr Datenspeicher, pinnbare Listviews, der neue Flow Builder - mehr in der Detailtiefe. 'Critical Updates' Updates sind diesmal zahlreich.

Darunter verbirgt sich auch die "automatische Aktivierung" von Lightning Experience ab 12. Oktober 2019. Aus meiner Sicht kein großes Thema, da die meisten Enterprise Kunden eigene Profile haben. Ganz anders Professional und Group Edition Anwender. So langsam sollten wir uns alle mit Lightning als "neuen" Standard auseinandersetzen. Deswegen sind Sachen, die ab diesem Release lediglich in Classic funktionieren, vielleicht Sachen, die da bleiben. Für Lightning sind das neue, abzuwägende Features. Der Papierkorb fällt mir hier als Beispiel ein.

A propos neue Standards: Den neuen Flow Builder find ich super, ich baue damit zum ersten Mal gerne Flows.

In diesem Blogbeitrag neben Liebglingsfeatures und Features für Entwickler/Admin/User eine neue Kategorie:

#Nichtmitdabei

Th[ese] feature[s] [aren't] quite ready, so we’re removing [them] while we make improvements.

  • Capture Change Events in Apex Triggers (Developer Preview)
  • Assess Audience Effectiveness with Google Analytics
  • Filter Reports by Inactive Picklist Values
  • Email Relay Activation Settings Have Moved to a Different Page
  • See Which Objects Were Searched at a Glance
  • Create Objects From Spreadsheets
  • Improve Dataset Security with Broader Sharing Inheritance

Lieblingsfeatures

Für Entwickler

  • Keine Ahnung, was das soll mit den Platform Events:

    High-volume platform events are now the default event type for new event definitions.

Ab diesem Release sind nur noch High Volume Platform Events erstellbar. Getestet habe ich das nur in der UI.

  • lightning:container jetzt auch für Communities, Frühling beschert auch granularere Template Export Funktionen!
  • Liebe Päckle-Schubser und Namespace-Verwender, das Critical Update zu Query Parametern hab ich auf StackExchange besser verstanden. Bitte auch genau hinschauen bei Asset Files (z.B. Logos). Updaten ja, löschen nein. Und Flows und Processes müssen nicht mehr aktiv ins Paket.
  • Change Data Capture deploybar
  • Für Partner gab es das schon länger, nun grundsätzlich: DX für alle ohne zusätzliche Lizentkosten.
  • CSS Updates in der Community fällig.
  • Es gibt sie noch, Updates für Visualforce: apex:enhancedList und apex:detail vertragen sich unter demselben Controller. Außerdem Toasts. Überfällig wie ich finde und bereits lang verfügbar als unsupported Hack.
  • Event Monitoring Customer könnnen Apex Exceptions auch im Event Log nachlesen (inkl. StackTrace). Wäre doch eigentlich was für alle?
  • Neue Datumsformate im $Locale Value Provider und ein neuer Global Value Provider $ContentAsset
  • lightning:unsavedChanges klingt besser, finde ich, als es ist. Es hört nicht aktiv mit, aber hilft Entwicklern, dasselbe Erlebnis wie in der Standard UI zu schaffen.
  • Seit 2017 im Einsatz, ist Quill nun der ganz offizielle Rich Text Editor.
  • Ob man den neuen standard__webPage PageReference Type auch für interne Navigation/Caching Themen nutzen kann? Muß ich rausfinden.
  • Die Sache mit Encryption für Entwickler auf der Platform ist, daß die Art und Weise, wie man Queries schreibt, nicht dieselbe ist wie im unerverschlüsselten Kontext, z.B. schreibt man mehr SOSL. Salesforce räumt das langsam auf, es gibt nun einen neuen Filter im Preview
  • Beinahe Parität versprechen die Lightning Console APIs mit Spring 19. Seht selbst.
  • Eher ein DevOps Thema: Wesentlich besserer Metadatan Support für Bots
  • Wohoo, Calendar gibt es als sObjekt
  • Wohoo2 (für ISVs): ein ParentOrg Feld auf PackageSubscriber
  • Wohoo3 (für DX Fans): SratchOrgInfo bekommt das LoginUrl Feld
  • Einstein Next Best Actions, Strategies, Recommendations finden sich für Apex Entwickler in ConnectApi.NextBestAction
  • Test.stopTest() verbessert, berücksichtigt z.B. auch Flows, siehe auch hier
  • Bisher war flexipage:availableForAllPageTypes das einzige, was man für UtilityBar Components beachten mußte. Jetzt gibts ein weiteres Interface lightning:utilityItem
  • Coole Sache, daß lightning:inputAddress und lightning:outputAddress das Darstellen statischer Maps und Adressvervollständigung beherrschen können.

Für Admins

  • Falls Eure Anwender mal in Lightning und auch in Classic unterwegs sind, bitte genau lesen, was sich mit der Zuweisung der HomePage ändert.
  • Das hängt mit diesem tollen Feature zusammen: Eine HomePage per App. In Konsequenz bedeutet das Veränderung bis auf Profil Ebene.

    ProfileActionOverride
    Beginning with API version 45.0, this metadata type can’t be defined on Profile. Instead, access ProfileActionOverride from the encompassing CustomApplication. Home page assignments related to user profile must now also have a corresponding app assignment because more granular Home page assignments are supported. As a result, ProfileActionOverride is defined for CustomApplication rather than Profile. Link

  • Genau hinschauen lohnt sich, Salesforce hat sehr viele Compliance Dokumente aktualisiert. Verdeutlicht wurde dabei unter anderem, wann Daten zu Heroku fließen.
  • Dashboard und Report Subscription via Gruppen, Nutzer und Rollen
  • Bei Neukunden zählen wesentlich mehr Emails in die Daily Limits als bisher.
  • Neues Email Privacy Setting, das ihr anschalten solltet.
  • Relative Datumswerte für Makros
  • Dateiordner nun auch für Asset Files (z.B. Logos)
  • Die Videos gab es schon eine Weile, aber sie waren verstaubt. Neue Lern-Videos zu Outlook/Gmail Connectoren (dazu auch erweiterte Doku) und Community.
  • Mit einem Critical Update bringt die HYPERLINK Formel dazu, sich auch in LEX richtig zu verhalten.
  • Erst in Beta, dabei fühlt sich das für mich überfällig an: Attribute Based Routing in OmniChannel. Es geht nicht immer um Skills oder Verfügbarkeit.
  • External Objects in Processes und Flows verfügbar, siehe auch hier. Ferner besserer Event Support, so daß man Apex Batch Error Handling flowen kann.
  • Surverys übersetzbar
  • Manual Sharing für Territories kommt ebenfalls per Critical Update, kann zwei Wochen dauern nach Aktivierung.
  • Einstellungen für Guided Actions deploybar, siehe auch hier
  • File Upload auch für unauthentifizierte Nutzer
  • Reports auf Chatter Topics.
  • Weniger Flow/Process Exceptions, dank besserer NULL Rückgabe.
  • Ein feines Detail: Scheduled Actions sofort feuern.
  • Viel praktisches bei den Updates in Sachen Einstein in der Service Cloud
  • Eure Community als Mobile App? Kauft man Mobile Publisher, geht das.
  • Default Field Values mittels Custom Metadata Types
  • Neue Permission, um wirklich an alle ContentDocuments ranzukommen
  • 'Where is this used' weiterhin in der Beta.
  • Mehr Infos über Login auf der Login History Page
  • Praktisch, Login as Guest User für Communities, noch besser: eine Übersicht, die hilft, CSP Probleme zu verstehen
  • Bisher wurden Email Adressen in Sandboxen mit @example.com ersetzt. Nun wird ein .invalid drangehängt, sonst bleibt alles gleich. Nice to know: Findet Salesforce irgendwo eine .invalid Email Adresse, versucht es gar nicht, eine Mail zu senden.
  • Einstellbares Whitelisting für Visualforce Click Jack Protection
  • Encryption Updates für Discovery Data (Pilot), Rich Text Felder (GA)
  • Konfigurierbare Styles für featured Topics in Communities, ditto für Buttons
  • Wenn ein ISV Paket Verschlüsselung unterstützt, kann Admin das nun selbst einschalten, statt Support zu fragen.
  • Device Management in Salesforce selbst gibt es nun in der Beta. Sinnvolle Ergänzung mindestens für jene, die mit Salesforce alles machen.
  • External Identity Nutzer können jetzt auch ohne Kontakt. Eine Erleichterung.
  • Ausgelaufene Emailadressen in einer Community sind gefährlich. Lieber periodisch nachhaken, ob noch alles stimmt.
  • Google Translate für Community Feed einschaltbar

Für Nutzer