Kurz-Übersicht
Die Lightning Experience kommt im überarbeiteten Look, statt Weiß gibt es dezenten Astro- und Trailhead Hintergrund - wem das nicht gefällt, hat als Alternative: Hellgrau.
Wichtig ist mir dabei, daß die Lightning Experience wesentlich aufgeräumter und schärfer rüberkommt - egal mit welchem Hintergrund. Überhaupt ist in diesem Release viel passiert, um Menschen, die mit vielen verschiedenen Daten in Listen zu tun haben, besser unter die Arme zu greifen. Wenn ich tippen müßte, glaube ich, hat das was mit der Service Cloud zu tun - ohne kluge Listen, ist man da schnell aufgeschmissen. Kein Wunder also, daß mit Winter 18 alle wichtigen Service Cloud Feature vorhanden sind - Console und Makros inklusive! Das beinhaltete sogar Unterstützung für Cases im Lightning Data Service. Das wird Console Components richtig boosten.
Support und Service finden weltweit nicht nur in Englisch statt, insofern sind alle Verbesserungen 1) überfällig und 2) sehr willkommen, die sich rund um besseren Multi Language Support drehen - sowohl customer-facing als auch was das Importieren von Daten nach Salesforce in verschiedenen internationalen Formaten betrifft. Dennoch ist nicht alles komplett in Lightning angekommen (z.B. Knowledge Übersetzungen).
Classic Email Templates erhalten ein Revival - HTML, Text und 'custom formats' (Anfrage, ob damit VF gemeint ist, läuft. Antwort: VF wird nicht unterstützt.) können nun auch wieder zum Einsatz kommen. Zu haben in Sales und Service Cloud und in Gmail und Microsoft Integrationen.
Klar steckt auch viel Einstein in dem Release - zum Beispiel Einstein Analytics (formerly known as Wave) und Updates zu Discovery. Und ein Einstein Tool in der Beta, das automatisch Kontakte pflegt. Und Opportunity Roles automatisch anpaßt. o_O ? Ja, war auch meine Reaktion. Kein Schmäh.
Nicht gut genug? Die besten 3 Sachen zum Schluß, Details weiter unten oder in diesem Blog.
-
Visualforce kann jetzt out of the box dynamisch, wo nötig, Lightning Styling setzen. Es gibt keine Gründe gegen Lightning mehr. Selbst nicht für die, die viel in Visualforce investiert haben.
-
Wer schon immer mal sowas wie dynamische Page Layouts haben wollte und das Aussehen von Lightning Apps völlig frei bestimmen, der wird mit Winter 18 besonders glücklich.
-
Salesforce DX - die 180° Wende in Sachen Entwickeln auf der Salesforce Platform - ist jetzt generally available. Herzlichen Glückwunsch, Wade Wagener, das ist ein großer Erfolg und ich bin totaler Fanboy.
Lieblingsfeatures
- Ja, das hat mich echt überrascht: Kontakte werden automatisch von der Einstein AI selektiert und synchronisiert, also angelegt (Beta Feature). Ihre Rollen auf Opportunities werden dabei ebenfalls automatisch aktualisiert. Woher kommen die Daten?
- Einer der coolsten Sachen ist sicher das dynamische Einblenden von Components anhand von Filterkriterien auf der Record Home Page. Damit haben wir von Daten abhängige dynamische Page Layouts. AWESOME!
- Dicht gefolgt von:
<apex:page lightningStylesheets="{!$User.UIThemeDisplayed == 'Theme4d'}">
sorgt für SLDS in Lightning und Classic Charme in Classic. Zur Erinnerung:<apex:slds>
lädt im Grunde nur die Styles und ist Ersatz für die statische Resource. Bitte beachten:
some components differ slightly in style from Lightning Experience. For example,
<apex:selectOptions>
,<apex:selectRadio>
,<apex:inputFile>
, and some<apex:inputField>
elements use the browser’s default styling
Meine Meinung: Selbst denen, die viel in Visualforce Pages investiert haben, gehen langsam die Argumente gegen Lightning aus.
- Das Vorhalten größerer Mengen historischer Daten auf der Platform konnte bisher nicht empfohlen werden. Mit dem Custom Big Objects Preview könnte das bald Geschichte sein. Sämtliche UI muß man sich allerdings dazu gerade selbst bauen und 'actionable' sind die Daten auch noch nicht.
To support the scale of data in a big object, features like triggers, flows, processes, and Salesforce1, are not available.
- Es gibt den Report Builder nun auch in Lightning (Beta) - an sich eine Nachricht, aber er kann noch zu wenig. Folgendes kann die Beta nicht:
- Joined reports
- Bucketing
- Custom summary formulas
- Cross filters
- Row limit filters
- Role hierarchy filters
- Dashboard Settings menu
- Report Properties menu
- Die Lightning Console JavaScript API ist live und bringt eine Beta für OmniChannel in Lightning mit! Damit ist auch die Service Cloud vollständig in Lightning angekommen. Ein Meilenstein. Achtung:
The generally available Lightning Console JavaScript API has significant differences from the pilot version. The API syntax has changed. Methods now use promises instead of callbacks to return responses. Also, methods in the Utility Bar API, like methods in the Workspace API, take a JSON array of arguments.
The Lightning components associated with the API have also changed. To use the Workspace API or the Utility Bar API, add <force:workspaceAPI />
and <force:utilityBarAPI />
, respectively, to your Lightning component.
The API has several new methods and events, and some methods take different arguments. Check the Salesforce Console Developer Guide reference to see the arguments for a method.
Wäre nur halb so schön ohne die Makros in Lightning und allem anderen bezüglich Service und Cases in Lightning.
- Die Bulk API 2 ist GA und unterstützt Semikolon. Außerdem insgesamt 150 MB an Daten (base64) pro Request und 1 Million Zeilen pro 24h! Mittels
unprocessedrecords
finden wir heraus, welche Daten nicht bearbeitet worden sind. - Wer sich im enterprise Maßstab im Microsoft Exchange Universum bewegt, für den hat Einstein Activity Capture eine Menge nützlicher Optionen zu bieten. Reicht von Kontakten zu Angeboten zu Verträgen und natürlich Ereignisse für Kalender.
- Eine Hierachie Ansicht für Assets ist im Lightning Standard jetzt enthalten. Assets halte ich für eines der vielseitigisten Standard Objekte, die es gibt.
- Es sind zahlreiche neue Base Lightning Components veröffentlicht worden, darunter
lightning:combobox
undlightning:datatable
- zwei random picks aus der langen Liste der vielen neuen UI Components.
Auch einige neue Service Components, die Zugriff auf Notifications und Overlays geben sind dabei. Hab ich aber noch nicht getestet. Als besonderes Schmankerl:lightning:flexipageRegionInfo
. Damit können Components herausfinden, wie breit sie im AppBuilder sind.lightning:flexipageRegionInfo
ist nicht pixelgenau, sondern liefert folgende Werte zurück:Small
,Medium
,Large
,Xlarge
. Entsprechend kann zusätzliches CSS für bestimmte Werte angegeben werden. Beispiel aus den Docs:
<aura:component implements="flexipage:availableForAllPageTypes">
<aura:attribute name="width" type="String"/>
<lightning:flexipageRegionInfo width="{!v.width}"/>
<div class="{! 'container' + (v.width=='SMALL'?' narrowRegion':'')}">
<div class="{! 'eachField f1' + (v.width=='SMALL'?' narrowRegion':'')}">
<lightning:input name="field1" label="First Name"/>
</div>
<div class="{! 'eachField f2' + (v.width=='SMALL'?' narrowRegion':'')}">
<lightning:input name="field2" label="Last Name"/>
</div>
</div>
</aura:component>
- Auch hübsch:
aura:method
kann einen Return Value liefern, falls es sich um synchronen Code handelt. - Wir sind nicht mehr auf die Templates für Lightning Applikationen beschränkt, die Salesforce liefert. Mit neuen Interfaces wie z.B.
lightning:recordHomeTemplate
können wir unsere eigenen bauen. Viel Macht, viel Verantwortung. Natürlich gibt es Usecases und gleichzeitig muß nicht jede App komplett anders aussehen. Die Verantwortung dafür liegt zwischen Admins und Devs und die Nutzer werden's einem danken. - 1000 Workflow Time Triggers pro Stunde für neue Orgs, die mit Winter 18 erstellt werden. Alle anderen müssen ihren Account Executive fragen.
- Yeah - Multi Currency (mehrere Währungen in der Org) endlich ohne Support und Brimborium einschalten
- Out of Office Funktion - überall, wo mein Name oder Bild auftaucht wird auch klar mitgeteilt, daß ich weg bin. Gute Sache!
- Communities können mit einem kostenlosen Content Delivery Network geboostet werden (Beta) und bekommen endlich einen persistenten Cache wie das in Salesforce selbst auch ist. Zum Entwickeln bitte abschalten.
- Einstein Analytics (formerly Wave) überzeugt in diesem Release mit der Möglichkeit, Apex als Teil des Aufrufes (Step) zu benutzen. Straight-Forward geht zwar anders, man muß extra einen REST Endpoint erstellen, aber immerhin.
- Einstein Discovery wird flexibler. Zwar sagen die Release Notes nicht genau wie, aber offenbar lassen sich eigene Ideen besser einbringen. So kann man auch Daten aus Analytics in Discovery laden (Beta). Empfohlen hierzu der aktualisierte Trail Gain Insight with Einstein Discovery
- Yeah, mehr Shortcuts zur Navigation und anderem
- Besondere Erwähnung verdient: Der Lightning Kalender lädt jetzt alle 60 Sekunden neu, damit man es nicht mehr manuell machen muß. [...]
Spannendes für Entwickler
-
Lightning Data Service GA und er kann jetzt auch Cases!
-
Saubere Daten sind wertvolle Daten.
FindDuplicates Class
ermöglicht Entwickler vor dem Einfügen neuer Daten zu prüfen, ob es eventuell Duplikate sind. Schreit nach neuer best practice -
SOSL kann nun innerhalb von ListViews suchen:
FIND {Acme} IN ALL FIELDS RETURNING Account(Id, Name USING ListView=MVPCustomers)
Bitte darauf achten, daß verschiedene ListViews mit selbem Namen in einer Org existieren können. -
Die Federated Search unterstützt RSS als Rückgabe Format.
-
notifyInitializationComplete()
verfügbar für Softphones in Lightning Open CTI API. -
Mehr Debug Info in den Logs über Platform Events
-
Tooling API unterstützt nun CRUD in aktiven Orgs. Ausnahme bilden die üblichen Verdächtigen wie
CustomObject
oderApexClass
-
Die User Interface API ist auch GA und ich halte sie für einen klugen Schachzug. 100%ige Kontrolle über die UI bei 100%iger Aufrechterhaltung der Konfigurationsmöglichkeiten von Salesforce. Ob wohl schon jemand an einem node wrapper dafür arbeitet?
-
aura:dependency
unterstützt ab API 41 keine Wildcards*
mehr. -
Lightning als auch JS Remoting erhalten ein Payload Data Limit von nun 4 MB (statt 1 MB).
-
Lightning Linter (na, gut, ESLint mit Fokus auf Locker) nun auch in der Dev Console. Höchste Zeit. Außerdem sagt Salesforce:
However, the validation service enforces only a tight, focused set of rules, and doesn’t prevent bugs or poor software design. Treat the validation service as a starting point for ensuring that your code is well written, not proof that you’ve achieved that goal.
- Sofern ihr Named Credentials verwendet bitte prüfen, ob sie mit
https://
beginnen (Ausnahme: Type Anonymous). Sonst geht gar nix mehr ab Winter 18. - External Objects verstehen
Database.QueryLocator
und eine App hilft, Probleme zu identifizieren.
Admins und Poweruser
- Lightning Pages können geklont werden.
- Process Builder und Platform Events können jetzt miteinander - ditto für Flow, da kann man sogar auf Platform Events zwischendruch warten.
- A propos Flows: Werden nun zum First Citizen des Salesforce Ökosystem. URL Parameter (Picklist Values) funktionieren nun auch in Lightning und Flows können als Object Specific Actions genutzt und in Custom Lightning Components eingebaut werden!
- Ein bißchen was fürs Auge: Dynamic Branding erlaubt unterschiedliche Login Screens für verschiedene Nutzergruppen. Sicher auch für Communities spannend.
- Zur Erinnerung: Salesforce Mobile Classic wird am 1. Dezember 2017 hart abgeschaltet.
- Sämtlicher Apex Code wird endlich bei einem Deployment neu kompiliert.
- URL Parameter für Flows in Lightning funktionieren nun so wie aus Classic gewohnt
- Die Partner Community hat neue Funktionsbereiche, die gerade für Reselling-Programme sinnvoll sind: Channel Programs and Levels erlauben das Konfigurieren von Resourcen und Abläufen pro (geographischen) Channel. Auch Marketing Budget läßt sich allokieren und: Distributed Marketing (extra Installation, Pilot) ermöglicht das Bereitstellen von Marketing Journeys für alle Partner. Die können diese dann noch anpassen. An frei definierbare Metriken wurde auch gleich gedacht: Scorecards for Partners. Weil das doch auch alles viel auf einmal ist, gibt's ein Guided Setup dazu. Runde Sache.
ContractLineItem
hat jetzt eineProduct2Id
,Assets
erhaltenProductCode
undStockKeepingUnit
- letzteres gibt es auch neu aufProduct2
- Das Critical Update zur Hyperlink() Formel Funktion
gehört mit der Lightning Funktion für Weblinks zusammen. - Byebye, Cloud Scheduler. Geht mit Winter 18 in Rente. Kennst Du nicht? Genau deswegen. Dasselbe gilt für "Stay in Touch" Emails. Oh good old days of CRM.
- Wenn auch etwas spät, Communities erhalten weitere, allernorts übliche Standardfunktionen: Gepinnte Beiträge, Up und DownVotes. Mitunter Pilot oder Beta. Hier dasselbe in Apex
- Die Chatter-Suche in Commnunities wird mächtiger: Ein Pilot ermöglicht das Suchen über alle Community-Kontexte.
- Beachtlich, was man mit Event Monitoring (sold seperately) in Winter 18 alles anstellen kann - das geht bis hinunter auf die Click Ebene in der Lightning UI. Wenn ich mir das als großes Dashboard vorstelle, krieg ich feuchte Adoption-Admin-Augen.
- Überflüssige Sharing Rules werden jetzt asynchron gelöscht und stören Admins nicht mehr.
- Salesforce findet Übersetzungen jetzt doch wichtig genug, um sich Standards anzupassen. Ab Winter 18 gibt es XLIFF (XML Localization Interchange File Format) für Übersetzungen. Mehr Infos zu XLIFF hier - ist zB bei Typo3 schon lange Standard.
- Mehr Standardobjekte für Communities verfügbar und bessere Change Set Unterstützung
- Und eine Beta um Marketing Cloud mit der Community zu vernetzen.
- Dashboard Componenten für HomePages und Lightning Apps und vieles neu aufpoliert in den Dashboards selbst
- Mittlerweile muß man nicht mehr SAQL auswendig runterschreiben könnnen: Datasets aufbauen leicht gemacht im neuen Dataset Builder und Dataflow Editor. Ausserdem zahlreiche Usability Updates.
- Eigentlich out of Scope aber die Field Service App leistet beachtliches, gerade auch in Sachen Möglichkeiten für Admins.
- Es erinnert ein bißchen an Microsoft und Internet Explorer. Data.com Services sind nicht mehr Out of The Box bei Salesforce integriert. Auch der Tab ist weg.
- Beim Anlegen einer neuen Opportunity, Opportunity Produkte verpflichtend machen.
- Territory Management
Anwender und allgemeine Verbesserungen
- Überarbeiteter und besserer Look der Lightning Experience
- Leads mit allen Optionen konvertieren, die man sich so wünscht.
- Wenns der Admin einbaut I: Das Einstein Lead Scoring auch in Classic
- Wenns der Admin einbaut II:
Related List Quick Link
Component erlaubt endlich mehr als 4 Felder in einer Related List in Lightning.
- Damit nicht genug, List Views sind ein großes Thema in Winter 18 Andy Schmiechen hat das in zwei kurzen Videos toll zusammengefaßt.
New with List Views! Now you can clone, adjust columns, wrap text & edit inline with @Salesforce #Winter18 @salesforceadmns #AwesomeAdmin pic.twitter.com/SQfFJCMCgj
— Andy Schmiechen (@AndySchmiechen) September 1, 2017
Who knew? Send List Email from a List View? Use Templates & Merge fields to send email to each recipient. #Winter18 @Salesforceadmns pic.twitter.com/kbA4TfJkct
— Andy Schmiechen (@AndySchmiechen) September 5, 2017
- Im Einzelnen:
- Emails aus Listenansichten versenden (SalesCloud)
- Spalten passen sich beim Laden dem Inhalt an
- Alternativ: Feste Spaltenbreiten vergeben, die sich Salesforce merkt.
- Text Wrapping / Fließender Umbruch
- So schön wie in Classic: Klonen und Speichern als
- Bis zu 200 Einträge in einer List View auf einmal editieren
- Leere bzw verwaiste Mergefields erzeugen keine Fehler mehr beim Versenden von Emails
- Ein Chatter Client für Windows 10. Hab ich schon installiert, bin zufrieden.
- Nicht so toll ist, daß Salesforce1, Tasks und Push Reminder immer noch ein Thema sind
- Google Events werden endlich in alle beiden Richtungen gesynct - allerdings mit Vorsicht zu genießen: In Classic bedeutet das den Verlust der Multi Calendar View. Zum Trost: Tasks werden besser gehandelt und Classic Templates sind jetzt für Gmail verfügbar.
- Im Großen und Ganzen auch für Office365 verfügbar
- Ähnlich zu den List Views gibt es jetzt ein Lightning Dashboard, das viele Zeilen und Spalten kann.
- Community 360 nun generally available - sowohl für Classic(!) als auch Lightning. Bietet alle möglichen Perspektiven auf Community Nutzer.
The activity includes viewing articles and cases, and posts or comments made in the community.
- Reminders für Tasks - liebe Admins, dazu muß ein neue Feld
Reminder Set
aufs Page Layout.
Zu guter letzt: Meine Wunschliste
lightning:inputField
- war auf der Roadmap, hats nicht geschafft- API First auch für related Lists: Zwar können User viele Einträge auf einmal in Listen editieren, wir Entwickler können dieses Feature aber noch nicht für uns fruchtbar machen.
- Ditto in diesem Zusammenhang für das Lightning DataService Pendant des
StandardSetControllers
- Kürzere Release Notes. 560 Seiten....