Skip to main content

Verteilen von Upgrades

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Auflisten verschiedener Möglichkeiten zur Bereitstellung von Upgrades für Ihre Kunden
  • Beschreiben der Tools, mit denen Sie Ihren Kunden Upgrades erleichtern können

Aktuelle Version, bitte!

In der letzten Lektion haben Sie Paketversionsnummern kennengelernt, mit denen bestimmte Versionen Ihrer verwalteten Pakete identifiziert werden.

Wie bereits erwähnt, ist die Pflege verschiedener Versionen Ihres Produkts alles andere als ideal. Versuchen Sie, alle Ihre Kunden auf ein und dieselben Version – der neuesten Version – Ihres Produkts zu halten. So hat jeder dieselbe Erfahrung, die neuesten Fehlerbehebungen und alle coolen Funktionen.

Sehen wir uns an, wie das geht.

Übertragen von Push-Upgrades an Ihre Kunden

Wenn Sie wirklich möchten, dass Ihre Kunden die aktuelle Version Ihres Produkts verwenden, können Sie dies auf einfache Weise sicherstellen: Verwenden Sie Push-Upgrades. Bei einem Push-Upgrade übertragen Sie die aktuelle Version Ihres Produkts an Ihre Kunden. Diese müssen nichts für das Upgrade tun – sie verwenden einfach die neue Version, sobald sie sie haben.

Für Haupt- oder Neben-Updates sowie neue Patch-Versionen können Sie Push-Upgrades nutzen. Wenn ein Push-Upgrade abgeschlossen ist, sehen Kunden eine neue Versionsnummer auf der Seite "Paketdetails" des Produkts. Und natürlich sehen sie auch alle Ihre coolen neuen Funktionen.

Kommunikation ist alles

Wir hoffen, dass wir Sie inzwischen von Push-Upgrades überzeugt haben. Jetzt können Sie die Botschaft an Ihre Kunden weitergeben – diese möchten sicher über ein anstehendes Push-Upgrade informiert werden, bevor sie es bekommen!

Der Push-Mechanismus

Und so funktioniert ein Push-Upgrade:

  • Sie wählen eine oder mehrere Kundenorganisationen für das Upgrade aus.
  • Sie wählen die Version Ihrer Anwendung aus, die in diesen Organisationen installiert werden soll.
  • Sie planen das Upgrade für ein bestimmtes Datum und eine bestimmte Uhrzeit.
  • Sie verfolgen den Fortschritt des Upgrades. Überprüfen Sie, ob das Upgrade erfolgreich abgeschlossen wurde, oder brechen Sie ein anstehendes Upgrade ab, wenn Sie es erneut planen möchten.

Das ist ein grober Überblick. Sie entscheiden im Einzelnen, wie das Upgrade abläuft – welche Organisationen zuerst aktualisiert werden und was mit jeder Organisation geschieht.

Hinweis

Salesforce empfiehlt nachdrücklich, Push-Upgrades so zu planen, dass sie außerhalb der Hauptgeschäftszeiten erfolgen.

Große Macht bringt große Verantwortung mit sich

Push-Upgrades geben Ihnen Kontrolle. Sie können alles verteilen, von einem einfachen Patch bis hin zu einer umfassenden Überarbeitung Ihrer Anwendung. Sie können das Upgrade für einen einzelnen Kunden oder alle Kunden vornehmen.

Richtig durchgeführt, kann ein Push-Upgrade nahtlos sein – jeder erhält die neue Version und verwendet sie. Schlecht durchgeführt, na ja … Jeder, der einen Computer benutzt, weiß, wie ein verpfuschtes Upgrade aussieht.

Lassen Sie Ihr Urteilsvermögen walten. Wenn Sie viele Funktionen oder Komponenten hinzufügen, sollten Sie die Auswirkungen bedenken:

  • Funktionieren die Komponenten mit vorhandenen Installationen?
  • Beeinträchtigt Ihr Upgrade gängige Anpassungen?
  • Verändert Ihr Upgrade Kundendaten auf störende Weise?

Neue Funktionen sind einfach zu verwalten – keiner Ihrer Kunden nutzt sie, bis Sie Ihr Upgrade ausliefern. Vorhandene Funktionen sind schwieriger. Versuchen Sie, die Funktionsweise beizubehalten, damit Ihre Kunden produktiv bleiben.

Salesforce-Partner benötigen spezielle Berechtigungen zur Verwendung von Push-Upgrades. Um Zugriff anzufordern, protokollieren Sie einen Support-Kundenvorgang in der Salesforce-Partner-Community (Anmeldung erforderlich). 

Automatisieren der Details

Upgrades sind komplizierter als Neuinstallationen, da sie Änderungen an einem vorhandenen System vornehmen. Und wer weiß schon, was in einer Kundenorganisation vor sich geht.

Manchmal fallen Arbeiten an, die nach der Installation ausgeführt werden müssen. So können Sie beispielsweise Kundendaten ändern, um eine aktualisierte Formel einzubinden oder Unstimmigkeiten zu beseitigen. Mit Apex-Metadaten können Sie sogar ein Seitenlayout aktualisieren, wenn Sie Ihr Paket um ein benutzerdefiniertes Feld erweitern.

Salesforce ermöglicht Ihnen, eine Apex-Klasse für Arbeiten nach der Installation zu schreiben. Diese Klasse führt ihre Arbeit aus, nachdem Ihr Upgrade in einer Organisation installiert wurde.

Wie sieht eine solche Klasse aus? Hier ein einfaches Beispiel:

global class PostInstallClass implements InstallHandler { 
global void onInstall(InstallContext context) { 
if(context.previousVersion() == null) { 
// This means the package is being installed for the first time // 
Perform required activities for the first time install Account a = new Account(name='NewAccount'); 
insert(a); 
} 
else if(context.previousVersion().compareTo(new Version(1,0)) == 0) { // 
This means the previous version is 1.0
} if(context.isUpgrade()) { 
// This means the package is getting upgraded // 
Perform required activities for package upgrades } 
if(context.isPush()) { 
//This means the package is getting pushed //
Perform required activities for push upgrades
} 
} 
}

Jede neue Apex-Klasse benötigt eine Testklasse, daher hier eine für unser Beispiel:

@isTest 
static void testInstallScript() { 
PostInstallClass postinstall = new PostInstallClass(); 
Test.testInstall(postinstall, null); 
Test.testInstall(postinstall, new Version(1,0), true); 
List<Account> a = [Select id, name from Account where name ='NewAccount']; 
System.assertEquals(a.size(), 1, 'Account not found'); 
}

Verwenden Sie die Methode testInstall der Klasse Test, um die Klasse PostInstall zu testen. Was umfasst diese Methode? Sie entscheiden!

Durchdachte Automatisierung

Automatisierung ist großartig, wenn sie funktioniert. Überlegen Sie, wie Sie sie am besten mit vorhandenen und neuen Funktionen nutzen können.

Verwenden Sie für Verbesserungen vorhandener Funktionen eine Klasse nach der Installation, um vorhandenen Benutzern automatisch alle neuen Berechtigungen für Funktionskomponenten zuzuweisen. So kann jeder das Paket ohne Unterbrechung weiter nutzen.

Verwenden Sie kein Apex-Skript nach der Installation, um Komponentenberechtigungen für neue Funktionen automatisch zuzuweisen. Machen Sie stattdessen Kundenadministratoren auf diese Funktionen aufmerksam und lassen Sie sie die Details ausarbeiten.

Planen Ihres Upgrades

Nachdem Sie Ihr Upgrade nun definiert haben, ist es an der Zeit, es zu planen. Wer erhält das Upgrade und wann?

Planen von Upgrades mit der SOAP-API

Mit der SOAP-API können Sie Upgrades programmgesteuert planen und steuern sowie deren Fortschritt nachverfolgen. Die SOAP-API bietet Ihnen folgende Möglichkeiten:

  • Verwenden von SOQL-Abfragen zum Ermitteln der Kunden, die Ihr Paket verwenden
  • Planen von Push-Upgrades für diese Kunden
  • Überwachen des Status eines Upgrades und Prüfen auf Fehler

Die API bietet Ihnen viel Flexibilität bei der Bereitstellung von Upgrades. Sie können z. B. ein Webformular erstellen, das Kunden ermöglicht, ein Upgrade auf eine neue Version durchzuführen. Durch Anklicken einer Schaltfläche im Formular kann ein Push-Upgrade für diese Kunden geplant werden.

Die Verwendung der SOAP-API wird hier nicht beschrieben – sie ist etwas komplizierter. Im Second-Generation Managed Packaging Developer Guide erfahren Sie, wie sie eigene Push-Upgrades planen können.

Veränderung: Die einzige Konstante

Wenn Sie Software entwickeln, ändern sich die Dinge. Fehler werden behoben, Funktionen kommen hinzu und Algorithmen und Strukturen entwickeln sich. Sie haben sich bereits mit Änderungen im eigenen Entwicklungsteam auseinandergesetzt. Jetzt haben Sie gesehen, wie Sie diese Änderungen an Ihre Kunden weitergeben.

Nutzen Sie diese Tools, um Ihren Kunden nahtlose Aktualisierungen auf dem schnellsten Wege bereitzustellen. Als Salesforce-Kunden erwarten sie alle Vorteile von Software as a Service. Wenn Sie das SaaS-Versprechen halten, haben Sie glückliche Kunden.

Ressourcen

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"