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
- Einfaches Apex Refactoring in VSCode
- Mehr Datenspeicher
- Endlich Listenansichten merken statt dieser doofer 'Zuletzt angezeigt' Liste
- Sandboxen klonen. Trialforce (für Partner) konnte das schon lange. Ich vermute, es war so ein Ressourcen Thema.
- Flow Templates, auch hier. Besonders spannend für ISVs.
- Beta für automatische Field Level Security in Apex
- Daß ich das noch erleben darf: Viewstate Limit in Visualforce angehoben. Von 135 KB auf sagenhafte 170 KB.
- Lightning App Template Switching (und hier), yay! Bisher war umständliches Klonen oder Nachbauen angesagt.
- Salesforce IoT in Service Cloud inbegriffen - eingeschränkte Features, trotzdem cool.
- Fühlt sich modern an: Identity First Login Page. Man gibt lediglich einen Identifier an (zB Email), wie es damit dann weitergeht, entscheidet das System.
- Bisher war es wohl möglich, eine valide Session ID mittels Outbound Messaging an einen ungesicherten Endpoint zu übermitteln. Das hat Salesforce behoben
- Saucoole und durchdachte Veränderungen in der Dashboard Konfiguration, hier und hier mit Compact Components und hier mit Formeln auf Gruppen-Ebene in Tabellen
- Neue wichtige 'Consent' Objekte rund um GDPR/DSGVO, das erspart das Selberbauen.
- Templates für Quip und Dokumente in Record Pages einbauen. Bleibt so ein bißchen die Frage, welche Daten vom Dokument ins CRM gehören und ob Nutzer sich bewegen lassen, beides zu pflegen. Vielleicht geht auch Einstein demnächst her und sagt: Ich lege jetzt zwei neue Kontakte für Account A und B an und lege für den 'wichtigeren' Kontakt auch gleich eine Opportunity Kontakt Rolle an.
- Wundervoller Permission-Set Groups Pilot. Ist zwar auch einfach selbst gebaut, aber umso schöner, wenn es im Standard kommt. Mehr Permission Sets, weniger Profile braucht die Welt.
- Joined Reports sind da
- Unauthenticated Flows nun auch von meiner Website (bisher nur Community). Pfundig!
- Muß ich unbedingt ausprobieren, Einstein Next Best Action und Flows und Recommendations.
- Org Wide Sharing Rule Standards für Externe Nutzer. Macht das Leben soviel leichter.
- Einstein Limit auf 20 Millionen Datensätze erhöht und Smart Dashboard Templates hören sich sehr verlockend an, denn alles von Hand zu bauen, ist großer Aufwand.
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
undapex: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 Interfacelightning:utilityItem
- Coole Sache, daß
lightning:inputAddress
undlightning: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
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ `` { | } ~.
könnt ihr nun Paßwörtern benutzen.- Data Privacy Records aka Indidivual in Lightning Experience mergen.
- Einsehbares Scoring für Einstein halte ich für eine sehr, sehr sinnvolle und wichtige Verbesserung
- Hyperlinks in Chatter Posts
- Record Actions für Wave Components in Communities, siehe auch hier
- Cases annehmen wie in alten Zeiten. Der nötige Button ist da und auch wie damals kann der Supervisor Emails, die die neue Kraft am ersten Tag geschrieben hat, erst lesen und freigeben. Und Case Hierarchy auch noch. Ich sag ja, wie damals.
- War auch Quatsch, dass nur Live Agents Chatlogs lesen konnten statt aller Service Mitarbiter.
- Lightning für Gmail und Salesforce Inbox benutzen dieselbe Chrome Extension: Salesforce
- Mehr Details im Kalender
Außerdem öffentliche Kalender und Wiederkehrende Ereignisse - Mehr Freigaben mittels Territory (darunter Berichte und ListViews) und Territory Forecasts können geteilt werden.