Salesforce Spring '17 - Zeit zum Luft holen

"Über'n Garten durch die Lüfte" - Lightning konsolidiert mit mehr Fokus auf API und Entwickler. Community Nutzer, Service Nutzer und Verantwortliche für IT Sicherheit dürfen sich auch freuen//

Da guckt man einmal nicht hin und schon drei Blog-Beiträge später ist das neue Salesforce Release angekündigt. Das hatte bisher bei mir wegen der Regenbogen-Farben Debatte einen gewissen Eindruck hinterlassen, ansonsten aber keine großen Wellen im Vorfeld geschlagen.

Viel wirklich Neues oder Begeisterndes ist mir beim Lesen der Release Notes in diesem Frühjahr dann auch nicht begegnet und das ist sogar ganz leicht zu erklären:

Der Frühling '17 ist überschaubar - es kommen gerade mal um die 20 neue sObjekte hinzu - mit einem Schwerpunkt auf Objekten für Funktionen aus dem Bereich VoIP/Telefonie. In diesem Release geht Skype for Business als Lightning Component in Salesforce in die Beta für alle. Das war also keine Überraschung.

In etwa doppelt so viele sObjekte wurden verändert. Mit knapp 60 Veränderungen ist Spring '17 damit seit einem Jahr das kleinste Update in dieser Hinsicht.

Ich finde das gut.
Wir brauchen Zeit.

Lightning ist jetzt offiziell etwas über ein Jahr alt und ich hätte gerne wirklich ein bißchen Zeit zum Aufatmen und auch Aufholen. Wir Administratoren und Entwickler sind hinten dran. Seit Stunde 0 mit Winter '16 hat Salesforce Lightning-Anwendern eine ansprechende Oberfläche geboten, die Salesforce Admins, Entwickler Designer in die Bringschuld gebracht hat. Salesforce lebt hohe Qualitätsstandards und große Nutzer-Freundlichkeit in seinen Lightning Components vor. Durch die neue UI sind die Ansprüche der Nutzer andere geworden. Tabellen und Buttons sind einer durchdachten Rich-UI gewichen. Diesen Look and Feel würden wir auch gerne so schnell und unkompliziert liefern können, wie das unsere Anwender von Feature in Classic gewohnt sind. Was geht nicht alles mit Visualforce, einer Controller Extension und zwei Inputfields. So schnell geht das aber nicht mehr. Auch Salesforce läßt öffentlich wissen: 80 % Klicks, 20 % Code gilt nicht für Lightning. Das macht uns aktuell wesentlich langsamer in einem ohnehin schon neuen und daher auch noch wackeligen Terrain.

Wir müssen zum Teil neue Best Practices aufbauen, unseren Werkzeug Koffer für Lightning neu gestalten. Wir können auch nicht vollen Fokus auf Lightning legen, es gibt Bestände zu pflegen in Visualforce und Classic. Neu-Einsteiger sollten keinesfalls auf Visualforce und Classic verzichten, sie müssen sich daher gleichzeitig in zwei Systeme einfinden, die noch nicht kongruent sind. Noch härter trifft es ISVs, die zum Beispiel Console Apps samt CTI anbieten. Um als "Lightning Ready" zu gelten, müssen sie mit diesem Release zwei oder mehr Console / CTI APIs beherrschen und pflegen.

Das ist schon einiges verlangt. Auch für interne Salesforce Kräfte, wenn man bedenkt, daß Salesforce Designer ganz nah am Puls der Unternehmen sitzen und ihn manchmal beschleunigen oder beruhigen müssen. Da läppert sich einiges, wenn eine epochale Veränderung wie Lightning eintritt.

Lightning denken lernen

Kein Poweruser, den ich kenne, nutzt zur Zeit Lightning für Arbeiten im Setup Bereich. Das Aufmachen verschiedener Tabs in Salesforce Classic ist um sehr vieles schneller, den Regebogen, die Kaffeetasse oder den Schneemann hat man doch mindestens einmal zu viel gesehen. Die Klickwege und Antwort-Zeiten sind noch weit von Classic entfernt.

Mitnichten glaube ich, daß Salesforce die Admins und Poweruser aus dem Blick verloren hat. Wir sind nur ein Subset, die Platform richtet sich - wie üblich schmerzhaft bis tragisch-komisch früh - auf ein Morgen aus, das uns heute schon begegnet: Viele junge Endnutzer empfinden Salesforce Classic als praktisch und zugleich stinkend langweilig. Manch einer findet sich schließlich ein in die Welt der Spalten Layouts und der extrem flotten Delivery als kompakte HTML Seite. Aber wo bitte sind eigentlich die ganzen sozialen Medien, die ich für die tägliche Arbeit brauche, in Salesforce Classic zu finden?

In Lightning ist auf jeden Fall Twitter enthalten und Chatter ist in großen Organisationen schon mit dem kommenden Release auf einer Stufe mit den bekannten sozialen Netzwerken, was Lebendigkeit, Funktionalität und einfache Handhabe besonders auch mobil anbelangt. Chatter bekommt

the biggest improvement to Chatter groups in years

mit frei konfigurierbaren Group HomePages. Damit ist schnell eine interne Seite für ein Projekt aufgesetzt, die mit allen nötigen Featuers bestückt werden kann, die projektspezifisch sind. Richtig gut - mehr Kollaboration, mehr Individualität, mehr Granularität.

Ich bleibe dabei, daß sich mit Lightning auch neue Design Denkwege hinzukommen oder schon da sind - Alternativen zu Trigger und Methodenaufruf bei Knopfdruck zum Beispiel. Ich spreche von (Platform) Actions und (Platform) Events. Schaut Euch hierzu nur mal die Ergebnisse folgender Query in Eurer Org an:

SELECT DeviceFormat, Label, Type, Section,  
       ActionTarget, ActionTargetType, ActionListContext
  FROM PlatformAction
  WHERE ActionListContext = 'Record' AND
        SourceEntity = 'Account' AND
        Section = 'Page' AND
        DeviceFormat = 'Phone'

`

Es wird noch mal knackig mit Summer '17

Für Entwickler lohnt ein Blick ins Kleingedruckte, es gab viele API Updates (z.B geht die Lightning API in die Beta). Begrüßenswert, daß API-first wieder mehr in den Fokus gerät, das ist an vielen Features zu erkennen. Das macht Mut. Gleichzeitig ist das Frühlings-Release wie die Ruhe zwischen zwei Stürmen. Die Lightning Einführung haben wir gerade so verwunden, da kommt das Locker Service Update mit Nebenwirkungen, die bereits im Frühling zu spüren sind.

In Sandboxen und Developer Editionen werden in Lightning striktere Content Security Policies angewendet. Das als Vorgeschmack für Summer '17, in dem der LockerService dann endlich verpflichtend werden soll. Haben wir schon mal gehört, da steht aber auch:

When LockerService is activated in sandboxes or Developer Edition orgs, you can't edit rich-text fields, and the fields are grayed out. Rest assured that the limitation is only temporary for Spring ’17.

Rich Text Felder werden in Production bei aktiviertem Locker Service bis Summer 17 nicht mehr bearbeitbar sein. Dem zu Grunde liegen die Änderungen in den Content Security Policies samt CSP Trusted Sites und ich vermute, daß Quill den CK Editor bis dahin als Rich Text Editor beerbt haben wird.

Ich bin ein großer Bewunderer des LockerService und habe noch größeren Respekt vor der intellektuellen Leistung dahinter. Für die dadurch enstehende Sicherheit und die Entstehung eines lebendigen und vertrauenswürdigen App/Component Marktes nehme ich diese Einschränkungen gern in Kauf.

Features im Einzelnen

Meine unsortierten Highlights

  • Sowohl Knowledge als auch Service Console jetzt GA in Lightning mit Einschränkungen und auch Konzeptänderungen. Cum grano salis zu genießen Lightning

    some features in Salesforce Classic console apps, such as keyboard shortcuts and macros, aren’t available in Lightning console apps. You can’t migrate Salesforce Classic console apps to Lightning Experience.

  • Salesforce1 wird als App (Android/iOS) als auch mobile Browser unterstützt. Salesforce1
  • Großes und ehrliches Update für die Community Dokumentation - das war alles sehr verstreut bisher. Lightning
  • Byebye Inner Classes für Exceptions. alle Editionen
  • Aus meiner Sicht immer noch völlig unter dem Radar: Platform Events nun in Beta mit starken Verbesserungen (u.a. Apex Test Support). alle Editionen
  • Reports können jetzt programmatisch via REST gelöscht werden und Dashboards besser ausgelesen. alle Editionen
  • Hervorragend Picklistfields bekommen endlich einen Developername! alle Editionen
  • Es gibt jetzt einen EmailMergeFieldService für Chatter REST bzw ConnectAPI. Damit kommen wir ohne Hack an Merge-Field Optionen an. Vielleicht auch außerhalb von Emails brauchbar. alle Editionen
  • EmailMessage sObject erhält MessageIdentifier und ´ThreadIdentifier´. Gute Nachrichten :) alle Editionen
  • System.Test.createStub() - Apex Stub API generally available. Ein wichtiger Schritt fürs Testing. alle Editionen
  • Salesforce Lightning Design System out of the box in Visualforce mittels <apex:slds> alle Editionen
  • Quill wird Nachfolger von CK Editor als RichText Editor in Salesforce - Notes als Versuchsballon? alle Editionen
  • Salesforce Classic App geht im Dezember 2017 in Rente. alle Editionen Ironischerweise wird für Workarounds wie recurring Tasks auf mobilem Endgerät zu erstellen auf Salesforce Classic verwiesen

    Salesforce1 users can’t create recurring tasks with a frequency of every weekday. And we don’t recommend editing tasks with this frequency in Salesforce1 because the edit page doesn’t show the task’s recurrence settings. To create or edit tasks that repeat every weekday, use Salesforce Classic.

  • Die Fieldservice App für iOS hört sich richtig gut an iOS
  • Für Chatter Nutzer und alle, die es noch werden dürfen, sind editierbare Layouts für jede einzelne Gruppe eine fantastische Sache. Flinke Admins und gute Components vorausgesetzt, hat das Züge von Kollaboration in Echtzeit, die Spaß macht. Hör ich da Leaderboards? Lightning
  • Customisable Chatter Feeds + Apex Support: Weniger Lärm, mehr Fokus. Lightning
  • Na toll: Login As und Zwei Faktor Authentifizierung machen das Supporter-Leben schwerer. alle Editionen

Developer

Lightning

Lightning bekommt für Entwickler ein großes Update mit brauchbaren Neuerungen wie auswahlsweise:

  • Component.getName() - das löst die umständliche Art mittels ´instanceOf´ an dieselbe Information ranzukommen.
  • onActiveEvent (Usecase: Nutzer aktiviert zB ein LightningTabs macht besonders mit event.getSource() Freude. Lightning
  • verständlichere und hübschere Lightning Error Messages
  • Lightning Out Anywhere - darauf habe ich eigentlich gewartet, aber Lightning Out für PublicSites ist das nur, wenn auch eine Community aktiv ist. :( Die ganz vielen gelben Warn-Kästchen bitte besonders zu Herzen nehmen!
  • Achtung bei aura:token - das Update verrät, daß die Funktion nicht in Packages verwendet werden kann
  • Unbound Expressions (einer meiner Favoriten - granularere Kontrolle = bessere Performance)
  • lightning:container für Eure React/Ionic App live in Salesforce (Iframe) - Hört sich nach Canvas an? Nicht ganz, denn mit .message() kann man aus dem Lightning Container nach Hause telefonieren Developer
  • Lightning API in der Developer Preview - gibt zu einer Resource (zB Account ID, Picklist) alle Daten und Metadaten, die zB zur zugehörigen RecordPage gehören, zurück. Das sogar getrennt nach Anzeigegröße. Damit kann man einerseits die Konfiguration beibehalten, andererseits aber eine eigene UI bauen. Lightning
  • Visualforce jetzt auch in Napili Community Template möglich - bis hin zu Canvas Apps! Lightning

Einstein

  • Ein bißchen Einstein gefällig? Diesmal handfest und ohne Marketing Brimborium? Metamind läßt grüßen - im Pilot ist nun der Predictive Vision Service für Developer zugänglich.

Metamind Docs

  • Link zu den API Docs, von Haus aus bringt Metamind zwei Models mit: Food Image Model und General Image. Mir persönlich wäre Spracherkennung wichtiger, denn ein eigenes Model für den Service zu erstellen, braucht mindestens 1000 Bilder pro Label und das ist ne Menge Arbeit.

    Schaut Euch die API Doc auf jeden Fall an - die ist so schön, so dürfte alles von Salesforce aussehen! Pilot

Alles andere

  • Es tut sich auch ein bißchen was in Sachen Encryption. Ein Critical Update sorgt dafür, daß Administratoren nicht mehr von Haus aus alle verschlüsselten Felder sehen können. Das freut die Auditoren, denn mit dem Event Log für Setup Veränderungen wir damit belegbar, wann / wer Zugriff auf verschlüsselte Daten erhalten hat. Das geschieht still und heimlich bis 2030, wer sich nicht aktiv dafür entscheidet. Ein weiteres in Spring 17 angekündigtes Update schaltet Masking im Kontext von Shield ab. In Sachen Security-Design entwickelt Salesforce eine sehr begrüßenswerte Konsistenz. alle Editionen
  • Aufpassen: Das Critical Update zu den Approval Prozessen kommt doch erst Spring 18, aber besser jetzt schon erledigen: Unbedingt prüfen, ob submitterId für jede Apexklasse/Flow/Process, die einen Approval Process auslöst, gesetzt ist. Die muss mit der Konfiguration des jeweiligen Approval Processes übereinstimmen. alle Editionen
  • Neue Permission für ISVs: View and Debug Managed Apex (author Apex reicht in Zukunft nicht mehr) - der Viewing User braucht diese Persmission für LoginAs Partner
  • Apex Debugger für ISVs (ich dachte, die hießen nun App Innovation Partners?) nun einmal gratis. Partner
  • Custom Metadata Types unterstützen jetzt auch LongText Files und Relationships. alle Editionen
  • Hatte auf gute Nachrichten gehofft, aber: CTI wird noch komplizierter. Für Lightning und Classic gelten unterschiedliche APIs (LS läßt grüßen) und außerdem verhalten die sich auch noch im Kontext einer Konsole anders als in der freien Wildbahn. Classic != Lightning
  • Updates zu Big Object - eigene Indizes, die einiges an Verhalten umstellen und auch Date-Funktionen nun verfügbar.alle Editionen
  • Yay! Bulk API versteht jetzt auch QueryAll und Bulk API Version 2 in Beta alle Editionen
  • WITH HIGHLIGHT erleichtert das Finden von Matches in eine SOSL Query. alle Editionen
  • Wurd dann mal Zeit: Product2 jetzt auch für OrderItems. alle Editionen
  • Web Server Authentication Flow wurde vereinfacht, clientSecret jetzt optional (Hier gibts Hintergrundinfos) alle Editionen
  • Auch ExternalObjects und External Services erhalten ein Usability Update (keine Überraschungen). Vor allem Salesforce-to-Salesforce sollte kaum noch Aufwand bedeuten, aber auch wiederkehrende Tasks über externe Daten (Beta) alle Editionen
  • LockerService und Page Header in Communities: Dos and Dont's alle Editionen
  • SAQL erhält weitere Funktionen Wave
  • Snap In Chat wird GA, weiter Snap Ins angekündigt alle Editionen

Für Admins

  • Mit gutem Beispiel geht Salesforce in Sachen IoT voran: Es werden verschiedene Authentifizierungsmethoden (Schlagwort: Identity) für Geräte in der IoT Cloud angeboten. alle Editionen
  • Immer mehr Javascript Hacks sterben (zu Recht): Die Formel HYPERLINK darf kein Javascript mehr enthalten.alle Editionen
  • Global Actions jetzt für Contracts und Orders.. alle Editionen
  • Bessere Übersicht in der Frage: Welches Lightning Layout nutze ich wofür? Lightning
  • GlobalPicklists werden erwachsen (Api Name war bisher zB identisch mit Label.....). Muss ich mir langsam mal anschauen - gibts dafür schon einen Trailhead? alle Editionen
  • Mehr Action Buttons im Hightlight Panel möglich. Bitte nicht übertreiben, zu viele Knöpfe verwirrt User. Lightning
  • Zahlreiche Usability Updates für Salesforce1 insbesondere auch Tasks. Es bleibt der eine oder andere Wermutstropfen wie zum Beispiel recurring Tasks. Salesforce1
  • Zahlreiche Verbesserungen in der Administration und im WYSIWYG für Communities (z. B. Themes, Konfiguration in Abhängigkeit von RecordTypes, u.v.m.) Lightning
  • 100 Communities per Org erlaubt. alle Editionen
  • Email To Case: Queues werden unterstützt alle Editionen
  • Lightning for Outlook / Gmail ab Spring 17 auch in der Service Cloud. Lightning
  • Granulare Einstellungen für Connected Apps - was mittels OAUTH geht, läßt sich jetzt besser konfigurieren. alle Edition

Für Anwender

  • Wesentlich bessere Unterstützung von Google Docs in Chatter / Files. Lightning
  • End of Support für Community Templates Koa, Kokua und Napili, die älter als Oktober 2015 / Winter 16 sind. Bitte updaten Lightning
  • Der Omni Channel Supervisor ist GA und ziemlich Wow! Classic
  • Weitere Babysteps mit Gmail und Google Calendar Sync Lightning
  • Ein bißchen mehr als der Google Sync kann mittlerweile Inbox (für einen Aufpreis) Inbox
  • Etwas davon und noch mehr kann Insights - ein Einstein / AI Produkt (für einen Aufpreis) Lightning
  • 50 Produkte auf einmal klick-effizient zur Opportunity hinzufügen? Geht jetzt in Lightning Lightning
  • Ordner für Eure Dateien sind jetzt in Beta Lightning
  • Verbessertes Group Layout in Lightning
  • Der All Company Feed wird umbenannt in Company Highlights. Warum das erwähnenswert ist? Weil Einstein dahinter analysiert, welche Themen gerade besonders spannend sind. Lightning
Show Comments