Packen und Verteilen von Anwendungen

Packen und Verteilen von Anwendungen Benutzerhandbuch, Winter ’17 @salesforcedocs Letzte Aktualisierung: 19.08.2016 Die englische Version dieses Do...
Author: Gundi Kraus
7 downloads 3 Views 914KB Size
Packen und Verteilen von Anwendungen Benutzerhandbuch, Winter ’17

@salesforcedocs Letzte Aktualisierung: 19.08.2016

Die englische Version dieses Dokuments hat Vorrang vor der übersetzten Version. © Copyright 2000–2016 salesforce.com, Inc. Alle Rechte vorbehalten. Salesforce ist eine registrierte Marke von salesforce.com,

inc., ebenso wie andere Namen und Marken. Weitere in diesem Dokument erwähnte Marken sind möglicherweise Marken der jeweiligen Inhaber.

INHALT Packen und Verteilen von Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Paketerstellung und Verteilung – Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Arbeiten mit Paketen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Verteilen von Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Bereitstellung von Support für Abonnenten Ihrer Anwendungen . . . . . . . . . . . . . . . . . . . . . 98

Verzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Packen und Verteilen von Anwendungen Paketerstellung und Verteilung – Übersicht In diesem Handbuch finden Sie Informationen dazu, wie Sie Anwendungen, die mithilfe der Force.com-Plattform erstellt wurden, in Paketen zusammenstellen und verteilen können. Es enthält folgende Abschnitte: Arbeiten mit Paketen Hier werden die Einzelheiten der Erstellung von und der Arbeit mit verwalteten Paketen erläutert, sodass Ihre Anwendung problemlos in anderen Organisationen installiert werden kann. Verteilen von Anwendungen Hier wird erläutert, wie Sie Ihre Anwendungen bereitstellen können, entweder über AppExchange oder über Ihre eigene Website. Außerdem werden die Grundlagen der Übertragung von Upgrades per Push-Vorgang an Ihre Abonnenten behandelt. Bereitstellung von Support für Abonnenten Ihrer Anwendungen Hier wird erläutert, wie Sie sich bei Abonnentenorganisationen anmelden können, um Support bereitzustellen und Probleme zu beheben. Weitere Informationen zu diesen Themen finden Sie im ISVforce Guide oder im Salesforce-Partnerportal.

Arbeiten mit Paketen Grundlegendes zu Paketen Ein Paket kann nur eine einzige Komponente oder auch einen umfangreichen Satz verwandter Anwendungen enthalten. Nachdem Sie ein Paket erstellt haben, können Sie es an andere Salesforce-Benutzer und -Organisationen verteilen, auch außerhalb Ihres Unternehmens. Es gibt zwei Arten von Paketen – nicht verwaltete und verwaltete:

AUSGABEN Verfügbarkeit: Salesforce Classic

Nichtverwaltete Pakete Verfügbarkeit: Group, Nichtverwaltete Pakete werden üblicherweise verwendet, um Open-Source-Projekte oder Professional, Enterprise, Performance, Unlimited Anwendungsvorlagen an Entwickler zu verteilen und ihnen so die grundlegenden Bausteine und Developer Edition für eine Anwendung zur Verfügung zu stellen. Sobald die Komponenten aus einem nicht verwalteten Paket installiert wurden, können sie in der Organisation, in der Sie installiert wurden, bearbeitet werden. Der Entwickler, der das nicht verwaltete Paket erstellt und hochgeladen NUTZERBERECHTIGUNGEN hat, hat keine Kontrolle über die Installierten Komponenten und kann diese nicht ändern oder Upgrades dafür vornehmen. Nichtverwaltete Pakete sollten nicht verwendet werden, Erstellen von Paketen: um Komponenten aus einer Sandboxorganisation in eine Produktionsorganisation zu • "AppExchange-Pakete erstellen" migrieren. Verwenden Sie stattdessen Änderungssets. Verwaltete Pakete Verwaltete Pakete werden üblicherweise von Salesforce-Partnern verwendet, um Anwendungen zu verteilen und an Kunden zu verkaufen. Diese Pakete müssen aus einer Organisation mit Developer Edition erstellt werden. Mithilfe von AppExchange und Lizenzmanagementanwendung (LMA) können Entwickler benutzerbasierte Lizenzen für die Anwendung verkaufen und verwalten. Verwaltete Pakete sind außerdem vollständig

1

Hochladen von Paketen in AppExchange: • "AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Glossar

Upgrade-fähig. Um reibungslose Upgrades zu gewährleisten, können bestimmte Änderungen mit zerstörender Wirkung, wie das Entfernen von Objekten oder Feldern, nicht durchgeführt werden. Verwaltete Pakete bieten zudem folgende Vorteile: • Schutz des geistigen Eigentums für Apex • Integrierte Versionserstellungsunterstützung für Komponenten mit API-Zugriff • Die Möglichkeit für Verzweigungen und Patches bei früheren Versionen • Die Möglichkeit zur reibungslosen Übertragung von Aktualisierungen per Push-Vorgang an Abonnenten • Eindeutige Benennung aller Komponenten zur Sicherstellung von konfliktfreien Installationen In den folgenden Definitionen werden diese Konzepte erläutert: Komponenten Eine Komponente ist ein Bestandteil eines Pakets. Sie definiert ein Element, etwa ein benutzerdefiniertes Objekt oder ein benutzerdefiniertes Feld. Sie können Komponenten in einem Paket kombinieren und so für leistungsstarke Funktionen oder Anwendungen sorgen. In einem nicht verwalteten Paket ist das Upgrade von Komponenten nicht möglich. In einem verwalteten Paket sind Upgrades bei einigen Komponenten möglich, bei anderen hingegen nicht. Attribute Ein Attribut ist ein Feld in einer Komponente, etwa der Name einer E-Mail-Vorlage oder das Kontrollkästchen Berichte zulassen eines benutzerdefinierten Objekts. Bei einer nicht Upgrade-fähigen Komponente in einem nicht verwalteten oder veralteten Paket können die Attribute sowohl vom Entwickler (der Person, die das Paket erstellt hat) als auch vom Abonnenten (der Person, die das Paket installiert hat) bearbeitet werden. Bei einer Upgrade-fähigen Komponente in einem verwalteten Paket können einige Attribute vom Entwickler bearbeitet werden, einige vom Abonnenten und einige sind gesperrt, können also weder vom Entwickler noch vom Abonnenten bearbeitet werden. Pakete bestehen aus einer oder mehreren Salesforce-Komponenten, die wiederum aus einem oder mehreren Attributen bestehen. Komponenten und ihre Attribute verhalten sich in verwalteten und nicht verwalteten Paketen unterschiedlich. Wenn Sie vorhaben, eine Anwendung zu verteilen, müssen Sie unbedingt während des Entwicklungsprozesses die Paketerstellung im Auge haben. Beispiel: • Berücksichtigen Sie bei der Erstellung Ihrer Anwendung, wie die Komponenten und ihre Attribute sich in verschiedenen Paketen und Salesforce-Editionen verhalten. • Berücksichtigen Sie während der Vorbereitung der Anwendung für die Verteilung, wie Sie sie an Ihre Kunden veröffentlichen möchten. • Berücksichtigen Sie während der Installation eines Pakets die Sicherheits- und Lizenzvereinbarungen Ihres Unternehmens. SIEHE AUCH: Verwalten von Paketen Vorbereiten der Anwendungen für die Verteilung

Glossar Die folgenden Begriffe und Definitionen beschreiben wichtige Konzepte und Möglichkeiten bei Anwendungen und beim Zusammenstellen von Paketen: Anwendung Im Englischen auch kurz als "App" (für "Application") bezeichnet. Eine Sammlung von Komponenten, etwa Registerkarten, Berichte, Dashboards und Visualforce-Seiten, für eine bestimmte Geschäftsanforderung. Salesforce stellt Standardanwendungen zur Verfügung, beispielsweise eine Vertriebsanwendung und die Callcenter-Anwendung. Sie können die Standardanwendungen an Ihre Arbeitsweise anpassen. Darüber hinaus können Sie eine Anwendung zu einem Paket zusammenstellen und zusammen mit zugehörigen

2

Packen und Verteilen von Anwendungen

Glossar

Komponenten wie benutzerdefinierten Feldern, benutzerdefinierten Registerkarten und benutzerdefinierten Objekten in AppExchange hochladen. Anschließend können Sie die Anwendung für andere Salesforce-Benutzer über AppExchange verfügbar machen. AppExchange AppExchange ist eine Schnittstelle von Salesforce zum Freigeben, mit der Sie Anwendungen und Services für die Force.com-Plattform durchsuchen und freigeben können. Beta, verwaltetes Paket Im Rahmen von verwalteten Paketen stellt ein verwaltetes Beta-Paket eine frühe Version eines verwalteten Pakets dar, das zum Testen an eine Auswahl der vorgesehenen Benutzer verteilt wird. Bereitstellen Ändern des Funktionsstatus von inaktiv in aktiv. So müssen Sie beispielsweise beim Entwickeln neuer Funktionen auf der Salesforce-Benutzeroberfläche die Option "Bereitgestellt" aktivieren, damit die entsprechenden Funktionen für andere Benutzer angezeigt werden und von ihnen genutzt werden können. Der Vorgang, durch den einen Anwendung oder andere Funktionen von der Entwicklungs- in die Produktionsumgebung übertragen wird. Das Verschieben von Metadaten-Komponenten von einem lokalen Dateisystem in eine Salesforce-Organisation. Bei installierten Anwendungen werden durch die Bereitstellung alle benutzerdefinierten Objekte in der Anwendung für die Benutzer in Ihrer Organisation verfügbar gemacht. Solange ein benutzerdefiniertes Objekt nicht bereitgestellt wird, steht es nur für Administratoren und Benutzer mit der Berechtigung “Anwendung anpassen” zur Verfügung. Lizenzmanagementanwendung (License Management Application, LMA) Kostenlose AppExchange-Anwendung, mit der Sie Vertriebs-Leads und -Accounts sämtlicher Benutzer nachverfolgen können, der eines Ihrer verwalteten Pakete (Anwendung) von der AppExchange-Plattform herunterlädt. Lizenzmanagementorganisation (LMO) Die Salesforce-Organisation, die Sie zur Nachverfolgung all der Salesforce-Benutzer verwenden, die Ihr Paket installieren. In Lizenzmanagementorganisationen muss die Lizenzmanagementanwendung (LMA) installiert sein. Sie erhält automatisch eine Benachrichtigung, wenn Ihr Paket installiert bzw. deinstalliert wird, sodass Sie die Benutzer ohne Probleme über Upgrades informieren können. Sie können eine beliebige Enterprise-, Unlimited-, Performance- oder Developer Edition-Organisation als Ihre Lizenzmanagementorganisation angeben. Weitere Informationen finden Sie unter http://www.salesforce.com/docs/en/lma/index.htm. Hauptversion Eine wichtige Version eines Pakets. Bei diesen Versionen steigen die Haupt- und Nebennummern einer Paketversion auf einen ausgewählten Wert. Verwaltetes Paket Eine Zusammenstellung von Anwendungskomponenten, die als Einheit in AppExchange gepostet werden und die mit einem Namespace und u. U. einer Lizenzmanagementorganisation verknüpft sind. Für die Unterstützung von Upgrades müssen Pakete verwaltet sein. Eine Organisation kann ein einzelnes verwaltetes Paket erstellen, das von vielen verschiedenen Organisationen heruntergeladen und installiert werden kann. Verwaltete Pakete unterscheiden sich dahingehend von nicht verwalteten Paketen, dass einige gesperrte Komponenten vorliegen, wodurch der Upgrade-Vorgang (die Erweiterung) des verwalteten Pakets zu einem späteren Zeitpunkt möglich ist. Nichtverwaltete Pakete enthalten keine gesperrten Komponenten und es können keine Upgrades dafür vorgenommen werden. Außerdem sind in verwalteten Paketen bestimmte Komponenten (z. B. Apex) für die abonnierenden Organisationen verschleiert, um das geistige Eigentum des Entwicklers zu schützen. Erweiterung verwalteter Pakete Jegliches Paket, jegliche Komponente bzw. Gruppe von Komponenten, die die Funktionalität eines verwalteten Pakets ergänzt. Erweiterungen können erst nach Installation des entsprechenden Pakets installiert werden. Namespace-Präfix Im Paketkontext ist ein Namespace-Präfix ein aus 1 bis 15 Zeichen bestehender alphanumerischer Kennzeichner, der Ihr Paket und dessen Inhalte von den Paketen anderer Entwickler in AppExchange unterscheidet. Bei Namespace-Präfixen wird nicht zwischen

3

Packen und Verteilen von Anwendungen

Glossar

Groß- und Kleinschreibung unterschieden. ABC und abc wird also nicht als eindeutig erkannt. Ihr Namespace-Präfix muss über alle Salesforce-Organisationen hinweg global eindeutig sein. Es sorgt dafür, dass Ihr verwaltetes Paket ausschließlich Ihrer eigenen Kontrolle unterliegt. Paket Gruppe von Force.com-Komponenten und -Anwendungen, die anderen Unternehmen über AppExchange zur Verfügung gestellt werden. Mithilfe von Paketen können Sie eine Anwendung mit den zugehörigen Komponenten "bündeln" und geschlossen auf AppExchange hochladen. Paketabhängigkeit Eine Paketabhängigkeit wird erstellt, wenn eine Komponente eine andere Komponente, Berechtigung oder Einstellung referenziert, die erforderlich ist, damit die Komponente gültig ist. Komponenten sind beispielsweise folgende Elemente: • Standardfelder oder benutzerdefinierte Felder • Standardobjekte oder benutzerdefinierte Objekte • Visualforce-Seiten • Apex-Code Zu den Berechtigungen und Einstellungen zählen unter anderem: • Unternehmensbereiche • Mehrfachwährungen • Datensatztypen Paketinstallation Eine Installation bindet den Inhalt eines Pakets in Ihre Salesforce-Organisation ein. Ein Paket in AppExchange kann eine Anwendung, eine Komponente oder eine Kombination aus beidem enthalten. Nach der Installation eines Pakets müssen Sie u. U. Komponenten im Paket bereitstellen, um es den Benutzern in Ihrer Organisation allgemein zur Verfügung zu stellen. Paketversion Als Paketversion wird eine Zahl bezeichnet, die die Reihe von Komponenten identifiziert, die in einem Paket hochgeladen werden. Die Versionsnummer weist das Format Hauptnummer.Nebennummer.Patchnummer (z. B. 2.1.3) auf. Die Haupt- und Nebennummer steigen mit jeder Hauptversion auf einen ausgewählten Wert. Die Patchnummer wird nur bei Patchversionen generiert und aktualisiert. Für nicht verwaltete Pakete sind keine Upgrades möglich. Somit ist jede Paketversion einfach eine Menge von Komponenten zur Verteilung. Paketversionen haben größere Bedeutung bei verwalteten Paketen. Die Pakete können je nach Version ein unterschiedliches Verhalten aufweisen. Herausgeber können mithilfe von Paketversionen die Komponenten in ihren verwalteten Paketen kontrolliert weiterentwicklen, indem Sie nachfolgende Paketversionen veröffentlichen, ohne vorhandene Integrationen beim Kunden zu unterbrechen, bei denen das Paket zum Einsatz kommt. Siehe auch Patch und Patch-Entwicklungsorganisation. Patch Mit einem Patch können Entwickler die Funktionalität vorhandener Komponenten in einem verwalteten Paket ändern, während für abonnierende Organisationen sichergestellt werden kann, dass es keine sichtbaren Änderungen am Verhalten des Pakets gibt. Sie können beispielsweise neue Variablen hinzufügen oder den Text einer Apex-Klasse ändern. Sie können jedoch keine zugehörigen Methoden hinzufügen, verwerfen oder entfernen. Patches werden mittels einer Patchnummer verfolgt, die an jede Paketversion angehängt wird. Siehe auch Patch-Entwicklungsorganisation und Paketversion. Patch-Entwicklungsorganisation Die Organisation, in der Patchversionen entwickelt, verwaltet und hochgeladen werden. Patch-Entwicklungsorganisationen werden für eine Entwicklerorganisation automatisch erstellt, wenn diese die Erstellung eines Patch anfordert. Siehe auch Patch und Paketversion. Patchversion Ein kleineres Upgrade für ein verwaltetes Paket. Bei diesen Versionen erhöht sich die Patchnummer einer Paketversion schrittweise.

4

Packen und Verteilen von Anwendungen

Glossar

Herausgeber Der Herausgeber eines AppExchange-Eintrags ist der Salesforce-Benutzer bzw. das -Unternehmen, der oder das den Eintrag veröffentlicht hat. Push-Upgrade Eine Methode zum Bereitstellen von Aktualisierungen, bei dem Upgrades eines installierten verwalteten Pakets an alle Organisationen gesendet werden, bei denen das Paket installiert wurde. Abonnent Der Abonnent eines Pakets ist ein Salesforce-Benutzer mit einem installierten Paket in seiner Salesforce-Organisation. Testorganisation Eine Testorganisation ist eine voll funktionsfähige Salesforce-Organisation, die eine Anwendung und alle vom Paketherausgeber hinzugefügten Beispieldatensätze für ein bestimmtes Paket enthält. Sie ermöglicht Benutzern in AppExchange über eine vertraute Salesforce-Oberfläche als Benutzer mit Leserechten erste Erfahrungen mit einer Anwendung zu machen. Nichtverwaltetes Paket Ein Paket, für das sein Entwickler kein Upgrade durchführen kann bzw. das nicht von ihm gesteuert werden kann. Durchführen von Upgrade-Vorgängen Ein Upgrade eines Pakets ist die Installation einer neueren Version. Salesforce unterstützt Upgrades für verwaltete Pakete, bei denen es sich nicht um eine Beta-Version handelt. Hochladen Durch Hochladen eines Pakets in Salesforce wird ein Installations-URL bereitgestellt, sodass andere Benutzer dieses installieren können. Des Weiteren wird das Paket zum Veröffentlichen in AppExchange verfügbar gemacht.

5

Packen und Verteilen von Anwendungen

Erstellen von verwalteten Paketen

Erstellen von verwalteten Paketen Das Erstellen von verwalteten Paketen ist ebenso einfach wie das Erstellen nicht verwalteter Pakete. Die einzige Voraussetzung für die Erstellung verwalteter Pakete besteht darin, dass Sie eine Organisation mit Developer Edition verwenden müssen. Vor der Erstellung eines verwalteten Pakets: • Installieren Sie optional die Lizenzmanagementanwendung (License Management Application, LMA) von http://sites.force.com/appexchange. Suchen Sie nach License Management App, um sie zu finden. Die Lizenzmanagementanwendung (LMA) zeichnet Informationen zu jedem Benutzer auf, der Ihre Anwendung installiert. Damit können Sie nachverfolgen, welche Benutzer über welche Version verfügen, sodass Sie Informationen über Upgrades verteilen können.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und -Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

Die Lizenzmanagementanwendung (LMA) kann in allen Salesforce-Organisationen mit Ausnahme von Organisationen mit Personal, Group oder Professional Edition installiert werden. Es kann sich dabei (muss jedoch nicht) um dieselbe Salesforce-Organisation handeln, die Sie zum Erstellen bzw. Hochladen des Pakets verwenden. Außerdem können Sie mit ein und NUTZERBERECHTIGUNGEN derselben Lizenzmanagementanwendung (LMA) beliebig viele Ihrer verwalteten Pakete in verschiedenen Developer Edition-Organisationen verwalten. Aktivieren verwalteter • Konfigurieren Sie Ihre Entwicklereinstellungen. In Ihren Entwicklereinstellungen werden Ihr Namespace-Präfix, die Salesforce-Organisation, in der Sie die Lizenzmanagementanwendung (LMA) installieren, und das nicht verwaltete Paket angegeben, das in ein verwaltetes Paket konvertiert werden soll.

Pakete: • “Anwendung anpassen” Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete herunterladen"

IN DIESEM ABSCHNITT: Informationen zu verwalteten Paketen Konfigurieren Ihrer Entwicklereinstellungen Registrieren eines Namespace-Präfixes Angabe einer Lizenzmanagementorganisation SIEHE AUCH: Verwalten von Paketen Konvertieren von nicht verwalteten Paketen in verwaltete Pakete Konfigurieren Ihrer Entwicklereinstellungen Registrieren eines Namespace-Präfixes Angabe einer Lizenzmanagementorganisation

6

Packen und Verteilen von Anwendungen

Erstellen von verwalteten Paketen

Informationen zu verwalteten Paketen Ein verwaltetes Paket ist eine Zusammenstellung von Anwendungskomponenten, die als Einheit in AppExchange gepostet werden und die mit einem Namespace und einer Lizenzmanagementorganisation verknüpft sind. • Zum Erstellen von und Arbeiten mit verwalteten Paketen muss eine Developer Edition-Organisation verwendet werden. • Verwaltete Pakete werden mit den folgenden Symbolen dargestellt: –

Verwaltet – Beta



Verwaltet – Veröffentlicht



Verwaltet – Installiert

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

Konfigurieren Ihrer Entwicklereinstellungen Mit den Entwicklereinstellungen in einer Organisation mit Developer Edition können Sie ein einzelnes verwaltetes Paket erstellen und in AppExchange hochladen, sodass andere Benutzer es installieren und in ihrer Organisation ein Upgrade des Pakets durchführen können. Nachdem Sie Ihre Entwicklereinstellungen einmal konfiguriert haben, können Sie sie nicht mehr bearbeiten. Unabhängig von den Entwicklereinstellungen können Sie immer eine unbegrenzte Anzahl nicht verwalteter Pakete erstellen. So konfigurieren Sie Ihre Entwicklereinstellungen: 1. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Klicken Sie auf Bearbeiten. Anmerkung: Diese Schaltfläche wird nicht angezeigt, wenn Sie Ihre Entwicklereinstellungen bereits konfiguriert haben.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

3. Überprüfen Sie die zur Konfiguration der Entwicklereinstellungen erforderliche Auswahl und klicken Sie auf Weiter.

NUTZERBERECHTIGUNGEN

4. Registrieren Sie ein Namespace-Präfix.

Konfigurieren von Entwicklereinstellungen: • “Anwendung anpassen”

5. Wählen Sie das Paket aus, das in ein verwaltetes Paket konvertiert werden soll. Wenn Sie noch kein Paket haben, das konvertiert werden soll, lassen Sie diese Auswahl frei und aktualisieren Sie sie später. 6. Klicken Sie auf Auswahl überprüfen.

Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete hochladen"

7. Klicken Sie auf Speichern.

7

Packen und Verteilen von Anwendungen

Erstellen von verwalteten Paketen

Tipp: Möglicherweise möchten Sie eine Lizenzmanagementorganisation (LMO) angeben für Ihr verwaltetes Paket; weitere Informationen finden Sie unter http://sites.force.com/appexchange/publisherHome. SIEHE AUCH: Erstellen von verwalteten Paketen Registrieren eines Namespace-Präfixes Angabe einer Lizenzmanagementorganisation

Registrieren eines Namespace-Präfixes Im Paketkontext ist ein Namespace-Präfix ein aus 1 bis 15 Zeichen bestehender alphanumerischer Kennzeichner, der Ihr Paket und dessen Inhalte von den Paketen anderer Entwickler in AppExchange unterscheidet. Bei Namespace-Präfixen wird nicht zwischen Groß- und Kleinschreibung unterschieden. ABC und abc wird also nicht als eindeutig erkannt. Ihr Namespace-Präfix muss über alle Salesforce-Organisationen hinweg global eindeutig sein. Es sorgt dafür, dass Ihr verwaltetes Paket ausschließlich Ihrer eigenen Kontrolle unterliegt. Salesforce stellt allen eindeutigen Komponentennamen in Ihrer Salesforce-Organisation automatisch Ihr Namespace-Präfix, gefolgt von zwei Unterstrichen ("__") voran. Eine eindeutige Paketkomponente muss einen Namen aufweisen, den keine andere Komponente in Salesforce trägt, wie beispielsweise benutzerdefinierte Objekte, benutzerdefinierte Felder, benutzerdefinierte Links, S-Controls und Validierungsregeln. Falls Ihr Namespace-Präfix beispielsweise "abc" lautet und Ihr verwaltetes Paket das benutzerdefinierte Objekt "Spesen__c" im API-Namen enthält, verwenden Sie den API-Namen "abc__Spesen__c", um über die APIauf dieses Objekt zuzugreifen. Das Namespace-Präfix wird auf allen Komponenten-Detailseiten angezeigt.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

ACHTUNG: In der S-Control-Bibliothek oder auf der Registerkarte “Dokumente” gespeicherte S-Controls, die die Force.com-API nicht verwenden, funktionieren nach der Registrierung eines Namespace-Präfix weiterhin ordnungsgemäß. Für außerhalb Ihrer Organisation gespeicherte S-Controls und S-Controls, die die Force.com-API zum Aufrufen von Salesforce verwenden, kann jedoch eine gewisse Feinabstimmung erforderlich sein. Weitere Informationen finden Sie unter S-Control in der Object Reference (in englischer Sprache). Ihr Namespace-Präfix muss folgende Bedingungen erfüllen: • Es muss mit einem Buchstaben beginnen. • Es muss 1 bis 15 alphanumerische Zeichen enthalten. • Es darf keine zwei aufeinanderfolgende Unterstriche enthalten. So registrieren Sie ein Namespace-Präfix. 1. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Klicken Sie auf Bearbeiten. Anmerkung: Diese Schaltfläche wird nicht angezeigt, wenn Sie Ihre Entwicklereinstellungen bereits konfiguriert haben. 3. Überprüfen Sie die zur Konfiguration der Entwicklereinstellungen erforderliche Auswahl und klicken Sie dann auf Weiter. 4. Geben Sie das Namespace-Präfix ein, das Sie registrieren möchten. 5. Klicken Sie auf Verfügbarkeit überprüfen, um zu ermitteln, ob das Namespace-Präfix bereits in Verwendung ist. 6. Falls das eingegebene Namespace-Präfix nicht verfügbar ist, wiederholen Sie die beiden letzten Schritte. 7. Klicken Sie auf Auswahl überprüfen.

8

Packen und Verteilen von Anwendungen

Verwalten von Paketen

8. Klicken Sie auf Speichern. SIEHE AUCH: Erstellen von verwalteten Paketen Konfigurieren Ihrer Entwicklereinstellungen Angabe einer Lizenzmanagementorganisation

Angabe einer Lizenzmanagementorganisation Eine Lizenzmanagementorganisation ist die Salesforce-Organisation, mit der Sie alle Salesforce-Benutzer nachverfolgen können, die Ihr verwaltetes Paket installieren. Die Lizenzmanagementorganisation wird (in Form eines Leaddatensatzes) darüber informiert, wenn ein Benutzer Ihr Paket installiert bzw. deinstalliert, und verfolgt jeden Paket-Upload in Force.com AppExchange.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

Als Lizenzmanagementorganisation kann jede beliebige Salesforce-Organisation mit Enterprise, Unlimited, Performance oder Developer Edition fungieren, für die die kostenlose Anwendung License Management Application (LMA) aus AppExchange installiert wurde. Um eine Lizenzmanagementorganisation festzulegen, besuchen Sie http://sites.force.com/appexchange/publisherHome.

Paket-Uploads und Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

SIEHE AUCH: Erstellen von verwalteten Paketen Konfigurieren Ihrer Entwicklereinstellungen Registrieren eines Namespace-Präfixes

Verwalten von Paketen Ein Paket ist eine Sammlung mit Force.com-Komponenten und -Anwendungen, die anderen AUSGABEN Unternehmen über AppExchange zur Verfügung gestellt werden. Ein verwaltetes Paket ist eine Zusammenstellung von Anwendungskomponenten, die als Einheit in AppExchange gepostet Verfügbarkeit: Salesforce werden und die mit einem Namespace und einer Lizenzmanagementorganisation verknüpft sind. Classic Für die Unterstützung von Upgrades müssen Pakete verwaltet sein. Eine Organisation kann ein Verfügbarkeit: Group, einzelnes verwaltetes Paket erstellen, das von vielen verschiedenen Organisationen heruntergeladen Professional, Enterprise, und installiert werden kann. Verwaltete Pakete unterscheiden sich dahingehend von nicht Performance, Unlimited verwalteten Paketen, dass einige gesperrte Komponenten vorliegen, wodurch der Upgrade-Vorgang und Developer Edition (die Erweiterung) des verwalteten Pakets zu einem späteren Zeitpunkt möglich ist. Nichtverwaltete Pakete enthalten keine gesperrten Komponenten und es können keine Upgrades dafür vorgenommen werden. Außerdem sind in verwalteten Paketen bestimmte Komponenten (z. B. NUTZERBERECHTIGUNGEN Apex) für die abonnierenden Organisationen verschleiert, um das geistige Eigentum des Hochladen von Paketen: Entwicklers zu schützen. Geben Sie zum Verwalten von Paketen im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. Weitere Informationen zur Anpassung finden Sie unter Konfigurieren Ihrer Entwicklereinstellungen auf Seite 7. Die Liste der Pakete bietet folgende Möglichkeiten:

9



"AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Klicken Sie auf Neu, um ein neues Paket zu erstellen, geben Sie einen Paketnamen und eine Beschreibung ein und klicken Sie dann auf Speichern, um das Paket in der Liste der Pakete zu speichern. • Klicken Sie zum Aktualisieren der Paketeigenschaften auf Bearbeiten. • Klicken Sie zum Löschen des Pakets auf Entf. Die in Ihrem Paket enthaltenen Komponenten werden nicht gelöscht. • Klicken Sie auf den Namen des Pakets, um die Paketdetails anzuzeigen. Anmerkung: Klicken Sie auf der Paketupload-Detailseite auf Weiter zu AppExchange, um einen Testlauf zu erstellen oder eine Lizenzmanagementorganisation (LMO) für das auszuwählen, was Sie hochgeladen haben. IN DIESEM ABSCHNITT: Informationen zu Paketversionen Erstellen von Paketen Pakete sind Container zur Verteilung benutzerdefinierter Funktionen in Salesforce-Organisationen. Sie können ein Paket erstellen, um Ihre Anwendung oder Lightning-Komponente in AppExchange hochzuladen oder um Änderungen in den Organisationen bereitzustellen. Hinzufügen von Komponenten zu einem Paket Verfügbare Komponenten in verwalteten Paketen Geschützte Komponenteen Automatisch zu Paketen hinzugefügte Komponenten Bearbeiten von Komponenten und Attributen nach der Installation Verhalten der Komponenten in Paketen Legen Sie beim Erstellen einer Anwendung für die Verteilung fest, was Sie in Ihre Pakete aufnehmen möchten, wie Sie Ihre Anwendung entwerfen möchten und wie Ihre Pakete verteilt werden sollen (verwaltet oder nichtverwaltet). Berechtigungssätze und Profileinstellungen in Paketen Entwickler können Berechtigungssätze und Profileinstellungen verwenden, um Berechtigungen und andere Zugriffseinstellungen für Pakete zu gewähren. Beachten Sie bei der Entscheidung, ob Berechtigungssätze, Profileinstellungen oder Kombinationen aus beiden verwendet werden, die übereinstimmenden und unterschiedlichen Merkmale. SIEHE AUCH: Grundlegendes zu Paketen Erstellen von Paketen

10

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Informationen zu Paketversionen Als Paketversion wird eine Zahl bezeichnet, die die Reihe von Komponenten identifiziert, die in einem Paket hochgeladen werden. Die Versionsnummer weist das Format Hauptnummer.Nebennummer.Patchnummer (z. B. 2.1.3) auf. Die Haupt- und die Nebennummer steigen mit jeder Hauptversion auf einen ausgewählten Wert. Die Patchnummer wird nur bei Patchversionen generiert und aktualisiert. Für nicht verwaltete Pakete sind keine Upgrades möglich. Somit ist jede Paketversion einfach eine Menge von Komponenten zur Verteilung. Paketversionen haben größere Bedeutung bei verwalteten Paketen. Die Pakete können je nach Version ein unterschiedliches Verhalten aufweisen. Herausgeber können mithilfe von Paketversionen die Komponenten in ihren verwalteten Paketen kontrolliert weiterentwicklen, indem sie nachfolgende Paketversionen veröffentlichen, ohne vorhandene Integrationen beim Kunden zu unterbrechen, bei denen das Paket zum Einsatz kommt. Versionsnummern hängen vom Paketveröffentlichungstyp ab, der angibt, wie die Pakete verteilt werden. Es gibt zwei Sorten:

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und -Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

Hauptversion Eine Hauptversion kennzeichnet ein Paket vom Typ Verwaltet – Veröffentlicht. Bei diesen Versionen steigen die Haupt- und Nebennummern einer Paketversion auf einen ausgewählten Wert. Patchversion Patch-Veröffentlichungen sind nur für Patch-Versionen eines Paketes gedacht. Bei diesen Versionen erhöht sich die Patchnummer einer Paketversion schrittweise. Wenn ein bestehender Abonnent eine neue Paketversion installiert, ist weiterhin nur eine einzige Instanz jeder Komponente im Paket vorhanden, die Komponenten können jedoch ältere Versionen emulieren. Beispielsweise kann ein Abonnent ein verwaltetes Paket verwenden, das eine Apex-Klasse enthält. Wenn der Herausgeber sich entschließt, eine Methode in der Apex-Klasse zu ersetzen und eine neue Paketversion herauszugeben, wird dem Abonnenten nach der Installation der neuen Version weiterhin nur eine einzige Instanz der Apex-Klasse angezeigt. Diese Apex-Klasse kann jedoch weiterhin die früheren Versionen für jeden beliebigen Code emulieren, der die ersetzte Methode in der älteren Version referenziert. Paketentwickler können in Apex-Klassen und -Auslösern bedingte Logik verwenden, um bei verschiedenen Versionen ein unterschiedliches Verhalten darzustellen. Dadurch können die Paketentwickler weiterhin in früheren Paketversionen bestehendes Verhalten in Klassen und Auslösern unterstützen und gleichzeitig den Code weiterentwickeln. Bei der Entwicklung von Clientanwendungen mithilfe der API können Sie die Version des jeweiligen Pakets angeben, die Sie in Ihren Integrationen verwenden. SIEHE AUCH: Verwalten von Paketen Planen der Veröffentlichung verwalteter Pakete

11

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Erstellen von Paketen Pakete sind Container zur Verteilung benutzerdefinierter Funktionen in Salesforce-Organisationen. Sie können ein Paket erstellen, um Ihre Anwendung oder Lightning-Komponente in AppExchange hochzuladen oder um Änderungen in den Organisationen bereitzustellen. 1. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Klicken Sie auf Neu. 3. Geben Sie einen Namen für das Paket ein. Dabei muss es sich nicht um denselben Namen handeln, der in AppExchange angezeigt wird. 4. Wählen Sie im Dropdown-Menü die Standardsprache sämtlicher Komponentenbezeichnungen im Paket aus.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN

5. Sie können auch einen benutzerdefinierten Link im Feld Benutzerdefinierten Erstellen von Paketen: Link konfigurieren auswählen, um Konfigurationsinformationen für Benutzer • "AppExchange-Pakete erstellen" anzuzeigen, die Ihre Anwendung installieren. Sie können einen vorab definierten benutzerdefinierten Link zu einem URL oder S-Control auswählen, den Sie für Ihre Startseitenlayouts erstellt haben; ziehen Sie die Option “Konfigurieren” auf Seite 72 zurate. Der benutzerdefinierte Link wird in Salesforce auf den Download-Seiten von Force.com AppExchange und den Anwendungsdetailseiten der Organisation der installierenden Person als Link vom Typ Konfigurieren angezeigt. 6. Optional können Sie im Feld Bei Apex-Fehler benachrichtigen den Benutzernamen der Person eingeben, die eine E-Mail-Benachrichtigung erhalten soll, wenn in Apex eine Ausnahme auftritt, die nicht vom Apex-Code behandelt wird. Wenn Sie keinen Benutzernamen angeben, wird für jede nicht behandelte Ausnahme eine E-Mail-Benachrichtigung erstellt, die an Salesforce gesendet wird. Dies ist nur für verwaltete Pakete verfügbar. Anmerkung: Apex kann nur von Organisationen mit Developer, Enterprise, Unlimited und Performance Edition verwaltet werden. 7. Optional können Sie im Feld Bei Paketerstellungsfehler benachrichtigen die E-Mail-Adresse der Person eingeben, die eine E-Mail-Benachrichtigung erhalten soll, falls bei dem Versuch eines Abonnenten, eine Anwendung in einem Paket zu installieren, zu aktualisieren oder zu deinstallieren, ein Fehler auftritt. Dieses Feld wird nur angezeigt, wenn Benachrichtigungen bei Paketerstellungsfehlern aktiviert sind. Wenden Sie sich zur Aktivierung von Benachrichtigungen an Ihren Ansprechpartner bei Salesforce. 8. Geben Sie optional eine Beschreibung ein, die das Paket beschreibt. Sie können diese Beschreibung ändern, bevor Sie sie in AppExchange hochladen. 9. Optional können Sie ein Post-Installations-Skript angeben. Dabei handelt es sich um ein Apex-Skript, das nach der Installation oder dem Upgrade des Pakets in der Abonnentenorganisation ausgeführt wird. Weitere Informationen finden Sie unterAusführen von Apex bei Paketinstallation/-Upgrade. 10. Optional können Sie ein Deinstallationsskript angeben. Dabei handelt es sich um ein Apex-Skript, das nach der Deinstallation des Pakets in der Abonnentenorganisation ausgeführt wird. Weitere Informationen finden Sie unter Ausführen von Apex bei Paketdeinstallation. 11. Klicken Sie auf Speichern. SIEHE AUCH: Vorbereiten der Anwendungen für die Verteilung

12

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Hinzufügen von Komponenten zu einem Paket Nachdem Sie ein Paket erstellt haben, müssen Sie ihm Komponenten hinzufügen, beispielsweise Anwendungs-, Objekt- oder Apex-Klassen bzw. Visualforce-Seiten. Diese Pakete können zur Freigabe für andere Benutzer entweder privat hochgeladen oder auf der AppExchange-Plattform von Force.com gepostet und so für die Öffentlichkeit freigegeben werden. Wenn Sie einem Paket Komponenten hinzufügen möchten, geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. Wählen Sie dann den Namen des Pakets aus, dem Sie Komponenten hinzufügen möchten. Gehen Sie auf der Paketdetailseite folgendermaßen vor:

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

1. Klicken Sie auf Komponenten hinzufügen. 2. Wählen Sie aus der Dropdownliste den Komponententyp, den Sie dem Paket hinzufügen möchten. • Um die Inhalte der sortierten Spalte anzuzeigen, die mit einem bestimmten Buchstaben beginnen, klicken Sie oben in der Liste auf den entsprechenden Buchstaben.

NUTZERBERECHTIGUNGEN Erstellen von Paketen: • "AppExchange-Pakete erstellen"

• Um zur nächsten (oder vorherigen) Komponentengruppe zu gelangen, klicken Sie auf den Link Nächste Seite (bzw. Vorherige Seite), sofern verfügbar. • Wählen Sie unten in der Liste (wenn verfügbar) die Option weniger oder mehr aus, um eine kürzere bzw. längere Anzeigeliste zu erhalten. 3. Wählen Sie die Komponenten aus, die Sie hinzufügen möchten. 4. Klicken Sie auf Zu Paket hinzufügen. 5. Wiederholen Sie diese Schritte, bis Sie alle Komponenten hinzugefügt haben, die das Paket enthalten soll. SIEHE AUCH: Verwalten von Paketen Vorbereiten der Anwendungen für die Verteilung

Verfügbare Komponenten in verwalteten Paketen Nicht alle Komponenten können für die Verteilung in Pakete aufgenommen werden. Wenn Sie eine Anwendung erstellen, die nicht paketfähige Komponenten verwendet, müssen Ihre Abonnenten diese Komponenten nach der Installation Ihrer Anwendung erstellen und konfigurieren. Wenn eine einfache Installation für Ihre Abonnenten wichtig ist, sollten Sie bei der Entwicklung die paketfähigen Komponenten im Auge behalten. In der folgenden Tabelle werden die Komponenten angezeigt, die in einem verwalteten Paket verfügbar sind. Außerdem wird angezeigt, ob das Paket aktualisiert bzw. gelöscht werden kann oder nicht. In den folgenden Abschnitten werden die Tabellenspalten und ihre Werte beschrieben. Upgrade-fähig Einige Komponenten werden beim Paket-Upgrade auf eine neuere Version aktualisiert. • Nein: Es wird kein Upgrade der Komponente durchgeführt. • Ja: Es wird ein Upgrade der Komponente durchgeführt. Vom Abonnenten löschbar Abonnenten und Personen, die ein Paket installieren, können die Komponente löschen. • Nein: Der Abonnent kann die Komponente nicht löschen.

13

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Ja: Der Abonnent kann die Komponente löschen. Vom Entwickler löschbar Ein Entwickler hat die Möglichkeit, einige Komponenten zu löschen, nachdem ein Paket als "Verwaltet - Veröffentlicht" hochgeladen wurde. Die gelöschten Komponenten werden nicht im Rahmen eines Paket-Upgrades in der Organisation des Abonnenten gelöscht. Das Attribut "Schutz möglich" enthält weitere Details zum Löschen von Komponenten. • Nein: Der Entwickler kann keine Komponenten vom Typ "Verwaltet – Veröffentlicht löschen. • Ja: Der Entwickler kann Komponenten vom Typ "Verwaltet – Veröffentlicht löschen. Schutz möglich Entwickler können bestimmte Komponenten als geschützt kennzeichnen. Geschützte Komponenten können nicht mit Komponenten, die in der Organisation eines Abonnenten erstellt wurden, verknüpft und nicht von ihnen referenziert werden. Ein Entwickler kann geschützte Komponenten in zukünftigen Versionen löschen, ohne sich Gedanken über fehlschlagende Installationen machen zu müssen. Wenn eine Komponente jedoch als nicht geschützt gekennzeichnet ist und global veröffentlicht wurde, kann der Entwickler sie nicht löschen. Wenn der Abonnent ein Upgrade auf eine Version des Pakets vornimmt, in der die Komponente gelöscht wurde, wird die Komponente aus der Organisation des Abonnenten entfernt. • Nein: Die Komponente kann nicht als geschützt gekennzeichnet werden. • Ja: Die Komponente kann als geschützt gekennzeichnet werden. Schutz des geistigen Eigentums Bestimmte Komponenten beinhalten automatisch Funktionen zum Schutz des geistigen Eigentums, wie beispielsweise durch verschleierten Apex-Code. Die einzigen Ausnahmen sind Apex-Methoden, die als global deklariert sind, bei denen also die Methodensignaturen vom Abonnenten angezeigt werden können. Die Informationen in den Komponenten, die Sie in ein Paket aufnehmen und veröffentlichen, sind möglicherweise für Benutzer in AppExchange sichtbar. Gehen Sie beim Hinzufügen Ihres Codes zu benutzerdefinierten S-Controls, Formeln, Visualforce-Seiten oder anderen Komponenten, die Sie in Ihrer Anwendung nicht verbergen können, mit Bedacht vor. • Nein: Die Komponente unterstützt den Schutz geistigen Eigentums nicht. • Ja: Die Komponente unterstützt den Schutz geistigen Eigentums. Komponente

Upgrade-fähig

Vom Abonnenten Vom Entwickler löschbar löschbar

Schutz möglich

Schutz des geistigen Eigentums

Aktion

Ja

Nein

Nein

Nein

Nein

Apex-Klasse

Ja

Nein

Ja (sofern nicht auf Nein globalen Zugriff gesetzt)

Ja

Apex-Freigabe-Grund Ja

Nein

Nein

Nein

Nein

Apex-Freigabe-Neuberechnung Nein

Ja

Ja

Nein

Nein

Apex-Auslöser

Ja

Nein

Ja

Nein

Ja

Anwendung

Nein

Ja

Ja

Nein

Nein

Artikeltyp

Ja

Nein

Nein

Nein

Nein

Callcenter

Nein

Ja

Nein

Nein

Nein

Nein

Nein

Nein

Nein

Kompaktes Layout Ja

14

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Upgrade-fähig

Vom Abonnenten Vom Entwickler löschbar löschbar

Schutz möglich

Schutz des geistigen Eigentums

Verbundene Anwendung

Ja

Ja

Ja

Nein

Nein

Benutzerdefinierte Ja Schaltfläche/benutzerdefinierter Link

Ja*

Ja**

Nein, außer benutzerdefinierte Links (nur für die Startseite)

Nein

Für Ja benutzerdefinierte Konsolenkomponenten

Ja*

Ja**

Nein

Nein

Benutzerdefiniertes Ja Feld

Ja*

Ja**

Nein

Nein

Benutzerdefinierte Ja Bezeichnung

Nein

Ja, wenn geschützt

Ja

Nein

Benutzerdefiniertes Ja Objekt

Ja*

Ja**

Nein

Nein

Benutzerdefinierte Ja Berechtigung

Nein

Nein

Nein

Nein

Typ des Ja benutzerdefinierten Berichts

Nein

Nein

Nein

Nein

Benutzerdefinierte Ja Einstellung

Ja*

Ja**

Nein

Ja

Dashboard

Nein

Ja

Ja

Nein

Nein

Dokument

Nein

Ja

Ja

Nein

Nein

E-Mail-Vorlage

Nein

Ja

Ja

Nein

Nein

Externe Datenquelle

Ja

Nein

Nein

Nein

Nein

Feldset

Ja

Ja*

Ja**

Nein

Nein

Lightning-Seite

Ja

Nein

Nein

Nein

Nein

Flow

Ja

Ja

Nein

Nein

Nein

Ordner

Nein

Ja

Ja

Nein

Nein

Komponente auf der Startseite

Ja

Nein

Nein

Nein

Nein

1

1

ist eine Service Cloud-Lizenz erforderlich.

15

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Upgrade-fähig

Vom Abonnenten Vom Entwickler löschbar löschbar

Schutz möglich

Schutz des geistigen Eigentums

Startseitenlayout

Nein

Ja

Ja

Nein

Nein

Briefkopf

Nein

Ja

Ja

Nein

Nein

Lightning-Anwendung Ja

Nein

Nein

Nein

Nein

Lightning-Komponente Ja

Nein

Nein

Nein

Nein

Lightning-Ereignis Ja

Nein

Nein

Nein

Nein

Lightning-Benutzeroberfläche Ja

Nein

Nein

Nein

Nein

Listenansicht

Ja

Ja

Nein

Nein

Anmeldeinformation Ja mit Name

Nein

Nein

Nein

Nein

Seitenlayout

Ja

Ja

Nein

Nein

Berechtigungssatz Ja

Ja*

Ja**

Nein

Nein

Platform Cache

Nein

Nein

Nein

Nein

Nein

Prozess

Siehe Flow.

Datensatztyp

Ja

Ja*

Ja**

Nein

Nein

Einstellung für Remote-Standort

Nein

Ja

Ja

Nein

Nein

Bericht

Nein

Ja

Ja

Nein

Nein

Bericht-Snapshot

Nein

Ja

Ja

Nein

Nein

S-Control

Ja

Nein

Nein

Nein

Nein

Statische Ressource

Ja

Ja*

Ja**

Nein

Nein

Registerkarte

Ja

Ja*

Ja**

Nein

Nein

Übersetzung

Ja

Nein

Nein

Nein

Nein

Validierungsregel Ja

Ja*

Ja**

Nein

Nein

Visualforce-Komponente Ja

Ja***

Ja**

Nein

Ja

Visualforce-Seite

Ja*

Ja**

Nein

Nein

Wave-Anwendung Ja

Nein

Ja

Nein

Nein

Wave-Dashboard

Ja

Nein

Ja

Nein

Nein

Wave-Datenfluss

Ja

Nein

Ja

Nein

Nein

Wave-Datenset

Ja

Nein

Ja

Nein

Nein

Nein

Nein

Ja

16

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Upgrade-fähig

Vom Abonnenten Vom Entwickler löschbar löschbar

Schutz möglich

Schutz des geistigen Eigentums

Wave-Linse

Ja

Nein

Ja

Nein

Nein

Workflow-E-Mail-Benachrichtigung Ja

Nein

Ja, wenn geschützt

Ja

Nein

Workflow-Feldaktualisierung Ja

Nein

Ja, wenn geschützt

Ja

Nein

Workflowausgangsnachricht Ja

Nein

Ja, wenn geschützt

Ja

Nein

Workflowregel

Ja

Nein

Nein

Nein

Nein

Workflow-Aufgabe Ja

Nein

Ja, wenn geschützt

Ja

Nein

* Wenn Sie diesen Komponententyp aus einer neuer Version Ihres Pakets entfernen und ein Abonnent ein Upgrade vornimmt, kann der Administrator (Systemadministrator) der Abonnentenorganisation die Komponente löschen. ** Wenn für Ihre Paketerstellungsorganisation die Funktion zum Entfernen von Komponenten aktiviert wurde, können Sie diese Komponententypen selbst dann löschen, wenn sie Teil eines Pakets vom Typ Verwaltet - Veröffentlicht sind. *** Wenn Sie eine öffentliche Visualforce-Komponente aus einer neuen Version Ihres Pakets entfernen und ein Abonnent ein Upgrade vornimmt, wird die Komponenten beim Upgrade aus der Organisation des Abonnenten entfernt. Wenn es sich um eine globale Visualforce-Komponente handelt, verbleibt sie in der Abonnentenorganisation, bis sie vom Administrator (Systemadministrator) gelöscht wird. Attribute und Verhaltensweisen von Komponenten Nur manche Attribute einer Komponente sind Upgrade-fähig. Viele Komponenten verhalten sich außerdem anders oder weisen zusätzliche Beschränkungen auf, wenn sie sich in einem verwalteten Paket befinden. Diese Verhaltensweisen müssen beim Entwerfen des Pakets berücksichtigt werden. Wenn Sie Ihren Namespace registrieren, nachdem Sie einen Flow auf einer Visualforce-Seite oder im Apex-Code referenziert haben, sollten Sie nicht vergessen, dem Flow-Namen den Namespace hinzuzufügen. Andernfalls treten bei der Installation des Pakets Fehler auf. Löschen von Visualforce-Seiten und globalen Visualforce-Komponenten Bevor Sie Visualforce-Seiten oder globale Visualforce-Komponenten aus Ihrem Paket löschen, entfernen Sie alle Verweise auf öffentliche Apex-Klassen und öffentliche Visualforce-Komponenten aus den Seiten oder Komponenten, die Sie löschen möchten. Nachdem Sie die Verweise entfernt haben, aktualisieren Sie Ihre Abonnenten auf eine Zwischenpaketversion, bevor Sie die Seite oder die globale Komponente löschen. SIEHE AUCH: ISVforce-Handbuch: Löschen von Komponenten in verwalteten Paketen

Geschützte Komponenteen Entwickler können bestimmte Komponenten als geschützt kennzeichnen. Geschützte Komponenten können nicht mit Komponenten, die in der Organisation eines Abonnenten erstellt wurden, verknüpft und nicht von ihnen referenziert werden. Ein Entwickler kann geschützte Komponenten in zukünftigen Versionen löschen, ohne sich Gedanken über fehlschlagende Installationen machen zu müssen. Wenn eine Komponente jedoch als nicht geschützt gekennzeichnet ist und global veröffentlicht wurde, kann der Entwickler sie nicht löschen. Entwickler können folgende Komponenten in verwalteten Paketen als geschützt kennzeichnen.

17

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Benutzerdefinierte Bezeichnungen • Benutzerdefinierte Links (nur für die Startseite) • Workflowbenachrichtigungen • Workflowfeldaktualisierungen • Workflowausgangsnachrichten • Workflowaufgaben • Workflow-Flow-Auslöser Eine Teilnahme am Pilotprogramm für Flow-Auslöser-Workflow-Aktionen ist nicht mehr möglich. Wenn Sie das Pilotprogramm bereits in Ihrer Organisation aktiviert haben, können Sie weiterhin Flow-Auslöser-Workflow-Aktionen erstellen und bearbeiten. Nutzen Sie anderenfalls die Aktion vom Typ "Flows" im Prozessgenerator.

Automatisch zu Paketen hinzugefügte Komponenten Beim Hinzufügen von Komponenten zu Ihrem Paket werden einige zugehörige Komponenten automatisch hinzugefügt, sofern erforderlich. Wenn Sie zum Beispiel eine Visualforce-Seite zu einem Paket hinzufügen, das auf einen benutzerdefinierten Controller verweist, wird diese Apex-Klasse ebenfalls hinzugefügt. Lesen Sie die folgende Liste, um nachvollziehen zu können, welche Komponenten möglicherweise automatisch hinzugefügt werden: Manuell hinzugefügte Komponente:

Ggf. automatisch eingeschlossene Komponententypen:

Aktion

Zielobjekt der Aktion (sofern es sich um ein benutzerdefiniertes Objekt handelt), Zielfeld der Aktion, Datensatztyp der Aktion, vordefinierte Feldwerte, Aktions-Layout, sowie etwaige benutzerdefinierte Felder, auf die sich das Aktionslayout bzw. die vordefinierten Werte im Zielobjekt beziehen.

Bericht-Snapshot

Berichte

Apex-Klasse

Benutzerdefinierte Felder, benutzerdefinierte Objekte und andere explizit referenzierte Apex-Klassen sowie alle weiteren direkt von der Apex-Klasse referenzierten Elemente Anmerkung: Wenn eine Apex-Klasse auf eine benutzerdefinierte Bezeichnung verweist und es Übersetzungen für diese Bezeichnung gibt, müssen Sie die einzelnen Sprachen explizit in dieses Paket aufnehmen, damit diese Übersetzungen aufgenommen werden.

Apex-Auslöser

Benutzerdefinierte Felder, benutzerdefinierte Objekte und andere explizit referenzierte Apex-Klassen sowie alle weiteren direkt vom Apex-Auslöser referenzierten Elemente

Artikeltyp

Benutzerdefinierte Felder, Standard-Seitenlayout

Kompaktes Layout

Benutzerdefinierte Felder

Benutzerdefinierte Anwendung

Benutzerdefinierte Registerkarten (einschließlich Web-Registerkarten), Dokumenten (als Bilder auf der Registerkarte gespeichert), Dokumentordner

Benutzerdefinierte Schaltfläche/benutzerdefinierter Link

Benutzerdefinierte Felder und benutzerdefinierte Objekte

Benutzerdefiniertes Feld

Benutzerdefinierte Objekte

18

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Manuell hinzugefügte Komponente:

Ggf. automatisch eingeschlossene Komponententypen:

Benutzerdefinierte Startseitenlayouts

Komponenten für benutzerdefinierte Startseiten im Layout

Benutzerdefinierte Einstellungen

Apex-Freigabegründe, Apex-Freigabeneuberechnungen, Apex-Auslöser, benutzerdefinierte Schaltflächen oder Links, benutzerdefinierte Felder, Listenansichten, Seitenlayouts, Datensatztypen, Validierungsregeln

Benutzerdefiniertes Objekt

Benutzerdefinierte Felder, Validierungsregeln, Seitenlayouts, Listenansichten, benutzerdefinierte Schaltflächen, benutzerdefinierte Links, Datensatztypen, Apex-Freigabegründe, Apex-Freigabeneuberechnungen und Apex-Auslöser Anmerkung: • Apex-Freigabegründe sind in Erweiterungen nicht verfügbar. • Nach Paketerstellung und Installation werden nur öffentliche Listenansichten aus einer Anwendung installiert. Falls ein benutzerdefiniertes Objekt benutzerdefinierte Listenansichten aufweist, die Sie in Ihr Paket aufnehmen möchten, müssen Sie sicherstellen, dass die Listenansicht für alle Benutzer zugänglich ist.

Benutzerdefiniertes Objekt (als externes Externe Datenquelle, benutzerdefinierte Felder, Seitenlayouts, Listenansichten, Objekt) benutzerdefinierte Schaltflächen und benutzerdefinierte Links Anmerkung: • Nach Paketerstellung und Installation werden nur öffentliche Listenansichten aus einer Anwendung installiert. Falls ein externes Objekt benutzerdefinierte Listenansichten aufweist, die Sie in Ihr Paket aufnehmen möchten, müssen Sie sicherstellen, dass die Listenansicht für alle Benutzer zugänglich ist. • In verwalteten und nicht verwalteten Paketen sind externe Objekte in der benutzerdefinierten Objektkomponente enthalten. Benutzerdefinierte Registerkarte

Benutzerdefinierte Objekte (einschließlich aller zugehörigen Komponenten), S-Controls und Visualforce-Seiten

Dashboard

Ordner, Berichte (einschließlich aller zugehörigen Komponenten), S-Controls und Visualforce-Seiten

Dokument

Ordner

E-Mail-Vorlage

Ordner, Briefkopf, benutzerdefinierte Felder und Dokumente (als Bilder auf dem Briefkopf bzw. der Vorlage gespeichert)

Feldset

Alle referenzierten Felder

Lightning-Seite

Alle zugehörigen Aktionen

Lightning-Seiten-Registerkarte

Lightning-Seite

Flow

Benutzerdefinierte Objekte, benutzerdefinierte Felder, Apex-Klassen und Visualforce-Seiten

Ordner

Alle Elemente im Ordner

19

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Manuell hinzugefügte Komponente:

Ggf. automatisch eingeschlossene Komponententypen:

Lightning-Anwendung

Alle von der Anwendung referenzierten Lightning-Ressourcen, z. B. Komponenten, Ereignisse und Benutzeroberflächen. Benutzerdefinierte Felder, benutzerdefinierte Objekte, Listenansichten, Seitenlayouts und Apex-Klassen, die von der Anwendung referenziert werden.

Lightning-Komponente

Alle von der Komponente referenzierten Lightning-Ressourcen, z. B. geschachtelte Komponenten, Ereignisse und Benutzeroberflächen. Benutzerdefinierte Felder, benutzerdefinierte Objekte, Listenansichten, Seitenlayouts und Apex-Klassen, die von der Komponente referenziert werden.

Lightning-Ereignis

Benutzerdefinierte Felder, benutzerdefinierte Objekte, Listenansichten und Seitenlayouts

Lightning-Benutzeroberfläche

Benutzerdefinierte Felder, benutzerdefinierte Objekte, Listenansichten und Seitenlayouts

Seitenlayout

Aktionen, benutzerdefinierten Schaltflächen, benutzerdefinierte Links, S-Controls und Visualforce-Seiten

Berechtigungssatz

Alle dem Berechtigungssatz zugewiesenen benutzerdefinierten Berechtigungen, externen Datenquellen, Visualforce-Seiten und Apex-Klassen

Datensatztyp

Datensatztyp-Zuordnungen, kompaktes Layout

Bericht

Ordner, benutzerdefinierte Felder, benutzerdefinierte Objekte, Typen für benutzerdefinierte Berichte und benutzerdefinierte S-Controls

S-Control

Benutzerdefinierte Felder und benutzerdefinierte Objekte

Übersetzung

Übersetzte Begriffe für die ausgewählte Sprache in Komponenten des Pakets

Validierungsregel

Benutzerdefinierte Felder (in der Formel referenziert)

Visualforce-Startseitenkomponente

Zugehörige Visualforce-Seite

Visualforce-Seiten

Apex-Klassen, die als benutzerdefinierte Controller verwendet werden, benutzerdefinierte Visualforce-Komponenten und referenzierte Feldsets

Workflow-Regel

Alle verknüpften Workflowbenachrichtigungen, Feldaktualisierungen, ausgehende Nachrichten und Aufgaben (wenn die Workflow-Regel für ein benutzerdefiniertes Objekt ausgelegt ist, wird das benutzerdefinierte Objekt ebenfalls automatisch mit aufgenommen)

Anmerkung: Einige Paketkomponenten, beispielsweise Validierungsregeln oder Datensatztypen, werden möglicherweise nicht in der Liste der Paketkomponenten angezeigt, werden jedoch dennoch aufgenommen und zusammen mit den anderen Komponenten installiert.

Bearbeiten von Komponenten und Attributen nach der Installation In der folgenden Tabelle wird dargestellt, welche Komponenten und Attribute nach der Installation aus einem verwalteten Paket bearbeitet werden können. Bearbeitbar für Entwickler Der Entwickler kann die Komponentenattribute in dieser Spalte bearbeiten. Diese Attribute sind in der Organisation des Abonnenten gesperrt.

20

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Bearbeitbar für Abonnenten und Entwickler Der Abonnent und der Entwickler können die Komponentenattribute in dieser Spalte bearbeiten. Diese Attribute können jedoch nicht aktualisiert werden. Die neuesten Änderungen gelten nur für neue Abonnenten. Gesperrt Sobald der Status eines Pakets "Verwaltet - Veröffentlicht" lautet, können weder Entwickler noch Abonnent die Komponentenattribute in dieser Spalte bearbeiten. Komponente

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler

Aktion

• Zieldatensatztyp • Aktionslayout

• Alle Felder mit Ausnahme von "Zieldatensatztyp"

• Vordefinierte Werte für Aktionsfelder Bericht-Snapshot

Apex-Klasse

• Alle Attribute mit Ausnahme • Eindeutiger Name des von Eindeutiger Name des Bericht-Snapshots Bericht-Snapshots • API-Version

• Name

• Code Apex-Freigabe-Grund

• Bezeichnung des Grunds

Apex-Freigabe-Neuberechnung Apex-Auslöser

• Name des Grunds • Apex-Klasse

• API-Version

• Name

• Code Anwendung

Artikeltypen

• Alle Attribute mit Ausnahme • Anwendungsname von "Anwendungsname" • Beschreibung

• Verfügbar für Kundenportal • Name

• Bezeichnung

• Kanalanzeigen

• Bezeichnung – Plural

• Standardfreigabemodell

• Beginnt mit Vokal

• Entwicklungsstatus • Unternehmensbereiche aktivieren • Verwenden von Zugriff mithilfe von Hierarchien • Suchlayouts

Kompaktes Layout

• Alle Attribute

21

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler

Verbundene Anwendung

• Zugriffsmethode

• ACS-URL

• API-Name

• Zeichenbereichsanwendungs-URL • Einheiten-ID

• Erstelldatum/Erstellt von

• Rückmeldungs-URL

• IP-Relaxation

• Verbraucherschlüssel

• Name der verbundenen Anwendung

• Berechtigungssätze verwalten

• Verbrauchergeheimnis

• Kontakt-E-Mail

• Profile verwalten

• Installationsdatum

• Kontakt-Telefon

• Start-URL (mobil)

• Beschreibung

• Zulässige Benutzer

• Zuletzt geändert am/Zuletzt geändert von

• Symbol-URL

• Aktualisierungstoken-Richtlinie • Version

• Info-URL

• SAML-Attribute

• Vertrauenswürdiger IP-Bereich

• Serviceanbieterzertifikat

• Standorte

• Thematyp

• Installiert von

• Start-URL

• Logo-Bild-URL • OAuth-Umfang Benutzerdefinierte • Verhalten Schaltfläche/benutzerdefinierter • URL für Schaltfläche/Link Link • Inhaltsquelle

• Höhe

• Anzeigetyp

• Skalierbar

• Name

• Adressleiste anzeigen

• Beschreibung

• Menüleiste anzeigen

• Kontrollkästchen anzeigen

• Bildlaufleisten anzeigen

• Bezeichnung

• Statuszeile anzeigen

• Linkcodierung

• Symbolleisten anzeigen • Breite • Fensterposition

Benutzerdefiniertes Feld

• Darstellungsformat für die automatische Nummerierung

• Hilfetext

• Name der untergeordneten Beziehung

• Typ ausblenden

• Datentyp

• Zeichen ausblenden

• Externe ID

• Freigabeeinstellung

• Feldname

• Auswahllistenwerte sortieren

• Rollup-Zusammenfassungsfeld

• Feldbezeichnung • Formel

• Feldverlauf verfolgen

• Rollup-Zusammenfassungstyp

• Dezimalstellen • Beschreibung • Standardwert

• Chatter-Feed-Verfolgung

• Länge

• Rollup-Zusammenfassungsobjekt • Eindeutig

• Nachschlagefilter • Bezeichnung für Themenliste • Erforderlich

22

Packen und Verteilen von Anwendungen

Komponente

Verwalten von Paketen

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler • Filterkriterien für Rollup-Zusammenfassung

Benutzerdefinierte Bezeichnung

• Kategorie

• Name

• Kurzbeschreibung • Wert

Benutzerdefiniertes Objekt

• Beschreibung

• Aktivitäten zulassen

• Bezeichnung

• Berichte zulassen

• Bezeichnung - Plural • Datensatzname • Beginnt mit Vokal

• Objektname

• Datentyp des Datensatznamens • Verfügbar für Kundenportal • Anzeigeformat des • Einstellungen für die Datensatznamens kontextabhängige Hilfe • Standardfreigabemodell • Entwicklungsstatus • Unternehmensbereiche aktivieren • Erweitertes Nachschlagen • Verwenden von Zugriff mithilfe von Hierarchien • Suchlayouts • Feldverlauf verfolgen

Benutzerdefinierte Berechtigung

• Verbundene Anwendung • Beschreibung • Bezeichnung • Name

Typ des benutzerdefinierten • Alle Attribute mit Ausnahme • Entwicklungsstatus Berichts von Entwicklungsstatus und Name des Berichtstyps

• Name des Berichtstyps

Benutzerdefinierte Einstellung

• Beschreibung

• Objektname

• Bezeichnung

• Einstellungstyp • Sichtbarkeit

Dashboard

• Alle Attribute mit Ausnahme • Eindeutiger von Eindeutiger Dashboard-Name Dashboard-Name

23

Packen und Verteilen von Anwendungen

Komponente

Verwalten von Paketen

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler

Dokument

• Alle Attribute mit Ausnahme • Eindeutiger Dokumentname von Eindeutiger Dokumentname

E-Mail-Vorlage

• Alle Attribute mit Ausnahme • E-Mail-Vorlagenname von E-Mail-Vorlagenname

Externe Datenquelle

• Typ

• Authentifizierungsanbieter • Name • Zertifikat • Benutzerdefinierte Konfiguration • Endpunkt • Identitätstyp • OAuth-Umfang • Kennwort • Protokoll • Benutzername

Feldset

• Beschreibung • Bezeichnung

• Ausgewählte Felder (nur • Name vom Abonnenten gesteuert)

• Verfügbare Felder Lightning-Seite

• Lightning-Seite

Flow

• Gesamter Flow

• Name

• Eindeutiger Flow-Name

• Beschreibung

• URL

• Status Ordner

Komponente auf der Startseite

• Alle Attribute mit Ausnahme • Eindeutiger Ordnername von Eindeutiger Ordnername • Text

• Name

• Komponentenposition

• Typ

Startseitenlayout

• Alle Attribute mit Ausnahme • Layoutname von Layoutname

Briefkopf

• Alle Attribute mit Ausnahme • Briefkopfname von Briefkopfname

24

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler

Lightning-Anwendung

• API-Version

Name

• Beschreibung • Bezeichnung • Markup Lightning-Komponente

Name

• API-Version • Beschreibung • Bezeichnung • Markup

Lightning-Ereignis

Name

• API-Version • Beschreibung • Bezeichnung • Markup

Lightning-Benutzeroberfläche • API-Version

Name

• Beschreibung • Bezeichnung • Markup Listenansicht

Anmeldeinformation mit Name

• Alle Attribute mit Ausnahme • Eindeutiger Ansichtsname von Eindeutiger Ansichtsname • Endpunkt

• Authentifizierungsanbieter • Name

• Bezeichnung

• Zertifikat • Identitätstyp • OAuth-Umfang • Kennwort • Protokoll • Benutzername

Seitenlayout

Berechtigungssatz

• Alle Attribute mit Ausnahme • Name des Seitenlayouts von Name des Seitenlayouts • Beschreibung

• Name

• Bezeichnung • Benutzerdefinierte Objektberechtigungen

25

Packen und Verteilen von Anwendungen

Komponente

Verwalten von Paketen

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler • Benutzerdefinierte Feldberechtigungen • Zugriffseinstellungen für Apex-Klassen • Zugriffseinstellungen für Visualforce-Seiten

Platform Cache Datensatztyp

• Alle Attribute • Beschreibung

• Aktiv

• Bezeichnung für Datensatztyp

• Geschäftsprozess

• Name

Einstellung für Remote-Standort

Alle Attribute mit Ausnahme von • Remote-Standort-Name Remote-Standort-Name

Bericht

• Alle Attribute mit Ausnahme • Eindeutiger Berichtsname von Eindeutiger Berichtsname

S-Control

• Inhalt

• Erstellung im Vorfeld auf Seite

• Beschreibung

• S-Control-Name • Typ

• Kodierung • Dateiname • Bezeichnung Statische Ressource

• Beschreibung

• Name

• Datei Registerkarte

• Beschreibung

• Mit der mobilen Salesforce Classic-Anwendung kompatibel

• Kodierung • Hat eine Randleiste

• Registerkartenstil

• Höhe • Bezeichnung • S-Control • Benutzerdefinierter Link für Vorschaltseite • Typ • URL • Breite

26

• Registerkartenname

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Komponente

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler

Übersetzung

• Alle Attribute

Validierungsregel

• Beschreibung

• Aktiv

• Regelname

• Fehlerbedingungsformel • Fehlerposition • Fehlermeldung Visualforce-Komponente

• API-Version

• Name

• Beschreibung • Bezeichnung • Markup Visualforce-Seite

• API-Version

• Name

• Beschreibung • Bezeichnung • Markup Workflow-E-Mail-Benachrichtigung

• Weitere E-Mails

• Beschreibung

• E-Mail-Vorlage • E-Mail-Adresse des Absenders • Empfänger Workflow-Feldaktualisierung • Beschreibung

• Nachschlagen

• Name

• Benutzer senden als

• Name

• Aktiv

• Regelname

• Zuweisen zu

• Thema

• Feldwert • Formelwert Workflowausgangsnachricht • Beschreibung • Endpunkt-URL • Zu sendende Felder • Sitzungs-ID senden Workflowregel

• Beschreibung • Evaluationskriterien • Regelkriterien

Workflow-Aufgabe

• Kommentare • Fälligkeitsdatum

27

Packen und Verteilen von Anwendungen

Komponente

Verwalten von Paketen

Bearbeitbar für Entwickler Bearbeitbar für Gesperrt Abonnenten und Entwickler • Priorität • Datensatztyp • Status

Verhalten der Komponenten in Paketen Legen Sie beim Erstellen einer Anwendung für die Verteilung fest, was Sie in Ihre Pakete aufnehmen möchten, wie Sie Ihre Anwendung entwerfen möchten und wie Ihre Pakete verteilt werden sollen (verwaltet oder nichtverwaltet).

AUSGABEN

Anmerkung:

Verfügbarkeit: Salesforce Classic

• Komponentennamen müssen innerhalb einer Organisation eindeutig sein. Um sicherzustellen, dass die Namen Ihrer Komponenten nicht mit jenen in der Organisation einer installierenden Person in Konflikt stehen, sollten Sie ein verwaltetes Paket verwenden, sodass die Namen aller Ihrer Komponenten Ihr Namespace-Präfix enthalten.

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

Apex-Klassen oder -Auslöser

NUTZERBERECHTIGUNGEN

Alle Apex-Elemente, die Bestandteil eines Pakets sind, müssen eine kumulierte Testabdeckung von mindestens 75 % aufweisen. Auch jeder Auslöser muss eine gewisse Testabdeckung aufweisen. Wenn Sie Ihr Paket in AppExchange hochladen, werden sämtliche Tests ausgeführt, um sicherzustellen, dass sie fehlerfrei verlaufen. Außerdem werden alle Tests ausgeführt, wenn das Paket in der Organisation der installierenden Person installiert wird. Die installierende Person kann entscheiden, ob das Paket installiert werden soll, falls ein Test fehlschlägt.

Erstellen von AppExchange-Paketen: • "AppExchange-Pakete erstellen"

Tipp: Zur Vermeidung von Konflikten bei der Benennung empfiehlt Salesforce die Verwendung verwalteter Pakete für alle Pakete mit Apex. Auf diese Weise wird sichergestellt, dass alle Apex-Objekte Ihr Namespace-Präfix enthalten. Wenn es beispielsweise eine Apex-Klasse namens MyHelloWorld gibt und der Namespace für Ihre Organisation OneTruCode lautet, so wird auf die Klasse als OneTruCode.MyHelloWorld verwiesen. Berücksichtigen Sie bei der Aufnahme von Apex in Ihr Paket folgende Aspekte: • Verwaltete Pakete erhalten einen eindeutigen Namespace. Dieser Namespace wird automatisch Ihren Klassennamen, Methoden, Variablen usw. vorangestellt. Dies trägt zur Vermeidung doppelter Namen in der Organisation der installierenden Person bei. • In einer einzelnen Transaktion kann nur auf 10 eindeutige Namespaces verwiesen werden. Nehmen wir beispielsweise an, Sie haben ein Objekt, das eine Klasse in einem verwalteten Paket ausführt, wenn das Objekt aktualisiert wird. Anschließend aktualisiert diese Klasse ein zweites Objekt, das wiederum eine andere Klasse in einem anderen Paket ausführt. Der Zugriff auf das zweite Paket erfolgte zwar nicht direkt vom ersten aus, da er jedoch in derselben Transaktion stattfand, wird er bei der Anzahl der Namespaces, auf die innerhalb einer einzelnen Transaktion zugegriffen wird, berücksichtigt. • Wenn Sie Methoden als Webservices verfügbar machen, stellen Sie eine detaillierte Dokumentation zur Verfügung, damit die Abonnenten externen Code schreiben können, der Ihren Webservice aufruft. • Wenn eine Apex-Klasse auf eine benutzerdefinierte Bezeichnung verweist und es Übersetzungen für diese Bezeichnung gibt, nehmen Sie die Sprachen, die diese Übersetzungen enthalten sollen, explizit in dieses Paket auf. • Wenn Sie das Freigabeobjekt eines benutzerdefinierten Objekts (z. B. MyCustomObject__share) in Apex referenzieren, wird dadurch eine Abhängigkeit vom Freigabemodell zu Ihrem Paket hinzugefügt. Sie müssen die organisationsweite

28

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Standardfreigabe-Zugriffsebene für das benutzerdefinierte Objekt auf "Privat" setzen, damit andere Organisationen Ihr Paket erfolgreich installieren können. • Der Code in Apex-Klassen oder -Auslösern, die Teil eines verwalteten Pakets sind, wird automatisch verschleiert und kann in einer installierenden Organisation nicht angezeigt werden. Die einzigen Ausnahmen sind Methoden, die als global deklariert sind, bei denen also die Methodensignaturen in einer installierenden Organisation angezeigt werden können. • Mit der Anmerkung deprecated (verworfen/ersetzt) in Apex können Sie globale (global) Methoden, Klassen, Ausnahmen, Enumerationen, Schnittstellen und Variablen kennzeichnen, die in späteren Versionen des verwalteten Pakets, in dem sie sich befinden, nicht mehr referenziert werden können. Dies ist nützlich, wenn Sie Code in verwalteten Paketen refaktorisieren, um ihn an die sich entwickelnden Anforderungen anzupassen. Nachdem Sie eine andere Paketversion als Verwaltet - Veröffentlicht hochgeladen haben, können neue Abonnenten, die die aktuellste Paketversion installieren, die verworfenen Elemente nicht mehr sehen. Die Elemente bleiben jedoch für bestehende Abonnenten undAPI-Integrationen funktionsfähig. • Apex-Elemente, die in einem nichtverwalteten Paket enthalten sind, das explizit auf einen Namespace verweist, können nicht hochgeladen werden. • Apex-Code, der sich auf Datenkategorien bezieht, kann nicht hochgeladen werden. • Bevor Sie Visualforce-Seiten oder globale Visualforce-Komponenten aus Ihrem Paket löschen, entfernen Sie alle Verweise auf öffentliche Apex-Klassen und öffentliche Visualforce-Komponenten aus den Seiten oder Komponenten, die Sie löschen möchten. Nachdem Sie die Verweise entfernt haben, aktualisieren Sie Ihre Abonnenten auf eine Zwischenpaketversion, bevor Sie die Seite oder die globale Komponente löschen. Apex-Freigabe-Gründe Apex-Freigabe-Gründe können direkt zu einem Paket hinzugefügt werden, sind jedoch nur für benutzerdefinierte Objekte verfügbar. Kompakte Layouts Beim Erstellen eines Pakets für ein kompaktes Layout werden dessen Datensatztyp-Zuordnungen nicht mit aufgenommen. Abonnenten oder Personen, die ein Paket mit einem kompakten Layout installieren möchten, müssen dessen Datensatztyp-Zuordnungen in ihrer Organisation neu erstellen. Verbundene Anwendungen • Verbundene Anwendungen können nur verwalteten Paketen hinzugefügt werden. Verbundene Anwendungen werden für nicht verwaltete Pakete nicht unterstützt. • Abonnenten oder Personen, die ein Paket installieren möchten, können eine verbundene Anwendung selbst nicht löschen, sondern nur das zugehörige Paket deinstallieren. Ein Entwickler hat die Möglichkeit, eine verbundene Anwendung zu löschen, nachdem ein Paket als Verwaltet - Veröffentlicht hochgeladen wurde. Die verbundene Anwendung wird im Rahmen eines Paket-Upgrades in der Organisation des Abonnenten gelöscht. • Wenn Sie eine verbundene Anwendung aktualisieren und dafür eine neue Paketversion erstellen, wird durch die Aktualisierung dieses Pakets in der Kundenorganisation auch die vorhandene verbundene Anwendung aktualisiert. • Wenn Sie ein Push-Upgrade eines Pakets durchführen, das eine verbundene Anwendung enthält, deren OAuth-Umfang oder IP-Bereich im Vergleich zur Vorgängerversion geändert wurde, schlägt das Upgrade fehl. Dies ist eine Sicherheitsfunktion, mit der verhindert wird, dass nicht autorisierte Benutzer durch ein Upgrade eines installierten Pakets umfassenden Zugriff auf eine Kundenorganisation erhalten. Kunden können dennoch ein Pull-Upgrade desselben Pakets ausführen. Dies ist zulässig, da der Kunde über diesen Vorgang informiert ist und ihm zustimmt. • Sie haben die Möglichkeit, vorhandene verbundene Anwendungen (d. h. solche, die mit älteren Versionen als Summer ‘13 erstellt wurden) einem verwalteten Paket hinzuzufügen. Zudem können neue und bestehende verbundene Anwendungen im selben verwalteten Paket miteinander kombiniert werden. • Für verbundene Anwendungen, die mit älteren Versionen als Summer ‘13 erstellt wurden, bleibt der Installations-URL so lange gültig, bis Sie ein Paket für eine neue Version erstellen und dieses hochladen. Nachdem Sie eine neue Version des Pakets mit einer aktualisierten verbundenen Anwendung hochgeladen haben, funktioniert der Installations-URL nicht mehr.

29

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Benutzerdefinierte Konsole Ein Paket, das eine benutzerdefinierte Konsolenkomponente enthält, kann nur in einer Organisation mit aktiver Service Cloud-Lizenz oder mit der Berechtigung "Vertriebskonsole" installiert werden. Benutzerdefinierte Felder • Werte von Auswahllistenfeldern für benutzerdefinierte Felder können von den Abonnenten hinzugefügt, bearbeitet und gelöscht werden. Entwickler sollten diese Tatsache umfassend berücksichtigen, wenn sie im Code explizit auf einen Auswahllistenwert verweisen. Auswahllistenwerte können vom Entwickler hinzugefügt und gelöscht werden. Während eines Paket-Upgrades werden keine neuen Auswahllistenwerte für bestehende Felder in der Organisation des Abonnenten installiert. Alle vom Entwickler gelöschten Auswahllistenwerte sind in der Organisation des Abonnenten weiterhin verfügbar. • Entwickler können erforderliche und universell erforderliche benutzerdefinierte Felder zu verwalteten Paketen hinzufügen, solange diese Standardwerte aufweisen. • Felder mit automatischer Nummerierung und Pflichtfelder können nicht hinzugefügt werden, nachdem das Objekt in einem Paket des Typs Verwaltet - Veröffentlicht hochgeladen wurde. Benutzerdefinierte Bezeichnungen Wenn eine Bezeichnung übersetzt wird, muss die Sprache explizit in das Paket aufgenommen werden, damit auch die Übersetzungen in das Paket aufgenommen werden. Die Abonnenten können die Standardübersetzung für eine benutzerdefinierte Bezeichnung überschreiben. Benutzerdefinierte Objekte • Wenn ein Entwickler die Attribute Berichte zulassen und Aktivitäten zulassen bei einem benutzerdefinierten Objekt im Paket aktiviert, sind diese Funktionen auch bei einem Upgrade für die Organisation des Abonnenten aktiviert. Wenn diese Attribute einmal in einem Paket des Typs Verwaltet - Veröffentlicht aktiviert wurden, können sie weder vom Entwickler noch vom Abonnenten deaktiviert werden. • Überschreibungen von standardmäßigen Schaltflächen und Links können ebenfalls in Pakete aufgenommen werden. • Wenn Sie in Ihrem Erweiterungspaket auf Verlaufsinformationen für im Basispaket enthaltene benutzerdefinierte Objekte zugreifen möchten, sollten Sie mit dem Paketinhaber zusammenarbeiten, um: 1. Die Verlaufsverfolgung in der Versionsorganisation des Basispakets zu aktivieren. 2. Eine neue Version des Basispakets hochzuladen. 3. Die neue Version des Basispakets in der Versionsorganisation des Erweiterungspakets zu installieren, um auf die Verlaufsverfolgungsinformationen zuzugreifen. Als eine bewährte Vorgehensweise sollten Sie die Verlaufsverfolgung für die im Basispaket enthaltenen benutzerdefinierten Objekte nicht direkt in der Versionsorganisation des Erweiterungspakets aktivieren. Dies kann beim Installieren des Pakets und beim Erstellen von Patch-Organisationen für das Erweiterungspaket zu einem Fehler führen. Benutzerdefinierte Berechtigungen Wenn Sie ein Änderungsset mit einer benutzerdefinierten Berechtigung bereitstellen, die eine verbundene Anwendung enthält, muss die verbundene Anwendung bereits in der Zielorganisation installiert sind. Typen für benutzerdefinierte Berichte Ein Entwickler kann einen benutzerdefinierten Berichtstyp in einem verwalteten Paket bearbeiten, nachdem es veröffentlicht wurde, und neue Felder hinzufügen. Abonnenten erhalten diese Änderungen automatisch, wenn sie eine neuere Version des verwalteten Pakets installieren. Entwickler können jedoch keine Objekte aus dem Berichtstyp löschen, nachdem das Paket veröffentlicht wurde. Wenn Sie ein Feld in einem benutzerdefinierten Berichtstyp löschen, der Teil eines verwalteten Pakets ist, und das gelöschte Feld Teil eines Bucketing ist oder in einer Gruppierung verwendet wird, erhalten Sie eine Fehlermeldung.

30

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Benutzerdefinierte Einstellungen • Wenn in einem verwalteten Paket eine benutzerdefinierte Einstellung vorhanden ist und für Sichtbarkeit "Geschützt" angegeben ist, ist die benutzerdefinierte Einstellung in der Organisation des Abonnenten nicht in der Liste der Komponenten für das Paket enthalten. Alle Daten für die benutzerdefinierte Einstellung werden vor dem Abonnenten verborgen. Benutzerdefinierte Registerkarten • Der Registerkartenstil für eine benutzerdefinierte Registerkarte muss innerhalb Ihrer Anwendung eindeutig sein. Innerhalb der Organisation, in der die Anwendung installiert wird, braucht er dagegen nicht eindeutig zu sein. Der Stil einer benutzerdefinierten Registerkarte führt nicht zu Konflikten mit bereits in der Umgebung der installierenden Person vorhandenen benutzerdefinierten Registerkarten. • Um benutzerdefinierte Registerkartennamen in verschiedenen Sprachen bereitzustellen, geben Sie unter "Setup" im Feld Schnellsuche den Text Registerkarten und Bezeichnungen umbenennen ein und wählen Sie dann Registerkarten und Bezeichnungen umbenennen aus. • Abonnenten können keine benutzerdefinierten Registerkarten in verwalteten Paketen bearbeiten. Kundenportal und Partnerportal Pakete, die sich auf Kundenportal- oder Partnerportal-Felder beziehen, werden unterstützt. Der Abonnent kann das Paket nur installieren, wenn das entsprechende Portal für ihn aktiviert ist. Dashboard-Komponenten Entwickler von verwalteten Paketen müssen sich darüber im Klaren sein, welche Auswirkungen die Einführung von Dashboard-Komponenten mit sich bringt, die auf in einer früheren Version des Pakets veröffentlichte Berichte verweisen. Wenn der Abonnent den Bericht gelöscht oder in einen persönlichen Ordner verschoben hat, wird die Dashboard-Komponente, die auf den Bericht verweist, bei der Installation verworfen. Ebenso gilt: Wenn der Abonnent den Bericht geändert hat, kann dieser Bericht Ergebnisse ausgeben, die beeinflussen, welche Informationen von der Dashboard-Komponente angezeigt werden. Die bewährte Vorgehensweise ist daher, dass der Entwickler ein Dashboard und die zugehörigen Berichte in derselben Version veröffentlicht. Unternehmensbereiche • Wenn für ein benutzerdefiniertes Objekt in einem Paket Unternehmensbereiche aktiviert sind, muss bei der abonnierenden Organisation die Funktion für Unternehmensbereiche installiert sein, damit die Installation des Pakets möglich ist. • Die Festlegung des Filters für Unternehmensbereiche bei einem Bericht führt nicht zu einer Abhängigkeit. Die Einstellung wird bei der Installation in der Organisation des Abonnenten verworfen. • Die Zusammenfassung anhand des Unternehmensbereichsfelds des Objekts (z. B. "Accountunternehmensbereich") in einem Bericht führt zu einer Abhängigkeit. • Wenn das Unternehmensbereichsfeld des Objekts in einem Bericht als Spalte aufgenommen wird und die Organisation des Abonnenten keine Unternehmensbereiche im Objekt unterstützt, wird die Spalte bei der Installation verworfen. • Wenn Sie einen Berichtstyp für benutzerdefinierte Berichte installieren, der das Unternehmensbereichsfeld eines Objekts als Spalte enthält, wird diese Spalte verworfen, wenn die Organisation keine Unternehmensbereiche unterstützt. Externe Datenquellen • Nach der Installation einer externe Datenquelle über ein verwaltetes oder nicht verwaltetes Paket muss sich der Abonnent beim externen System neu authentifizieren. – Bei der Kennwortauthentifizierung muss der Abonnent das Kennwort erneut in der Definition der externen Datenquelle eingeben. – Bei OAuth muss der Abonnent den Rückmeldungs-URL in der Clientkonfiguration für den Authentifizierungsanbieter aktualisieren und sich dann durch Auswahl von Authentifizierungs-Flow bei Auswahl von "Speichern" starten für die externe Datenquelle neu authentifizieren.

31

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Zertifikate können nicht in einem Paket zusammengestellt werden. Wenn Sie eine externe Datenquelle, die ein Zertifikat angibt, zu einem Paket hinzufügen, stellen Sie sicher, dass die Abonnentenorganisation über ein gültiges Zertifikat mit demselben Namen verfügt. Externe Objekte In verwalteten und nicht verwalteten Paketen sind externe Objekte in der benutzerdefinierten Objektkomponente enthalten. Feldabhängigkeiten • Entwickler und Abonnenten können Feldabhängigkeiten hinzufügen, ändern oder entfernen. • Wenn der Entwickler eine Feldabhängigkeit hinzufügt, wird sie bei der Installation hinzugefügt, es sei denn, der Abonnent hat bereits eine Abhängigkeit für dasselbe Feld angegeben. • Wenn ein Entwickler eine Abhängigkeit entfernt, wird diese Änderung bei einem Upgrade nicht in der Organisation des Abonnenten berücksichtigt. • Wenn der Entwickler eine neue Zuordnung von Auswahllistenwerten zwischen den abhängigen Feldern und den Steuerfeldern einführt, wird die Zuordnung während eines Upgrades hinzugefügt. • Wenn ein Entwickler eine Zuordnung von Auswahllistenwerten entfernt, wird diese Änderung bei einem Upgrade nicht in der Organisation des Abonnenten berücksichtigt. Feldsets Feldsets in installierten Paketen variieren bei Paket-Upgrades hinsichtlich ihres Zusammenführungsverhaltens: Aktion des Paketentwicklers:

Auswirkungen beim Paket-Upgrade:

Ändern eines Felds von Nicht verfügbar auf Verfügbar Das geänderte Feld wird am Ende des aktualisierten Feldsets in der Spalte platziert, in der es hinzugefügt wurde. für das Feldset oder In dem Feldset Hinzufügen eines neuen Felds

Das neue Feld wird am Ende des aktualisierten Feldsets in der Spalte platziert, in der es hinzugefügt wurde.

Ändern eines Felds von Verfügbar für das Feldset oder In dem Das Feld wird aus dem aktualisierten Feldset entfernt. Feldset auf Nicht verfügbar Ändern eines Felds von In dem Feldset auf Verfügbar für das Die Änderung wirkt sich nicht auf das aktualisierte Feldset aus. Feldset (oder umgekehrt)

Anmerkung: Die Abonnenten werden nicht auf Änderungen an ihren installierten Feldsets hingewiesen. Der Entwickler muss die Benutzer – über die Versionshinweise für das Paket oder über andere Dokumentation – auf Änderungen an veröffentlichen Feldsets hinweisen. Durch Zusammenführen können Felder im Feldset entfernt werden. Nach der Installation eines Feldsets können die Abonnenten beliebige Felder hinzufügen bzw. entfernen. Flows • Sie können nur Pakete aus aktiven Flows erstellen. Die aktive Version des Flows wird ermittelt, wenn Sie eine Paketversion hochladen. Wenn keine der Flow-Versionen aktiv ist, schlägt der Upload fehl. • Um ein verwaltetes Paket mit einer anderen Flow-Version zu aktualisieren, aktivieren Sie die betreffende Version und laden Sie das Paket erneut hoch. Sie brauchen die neu aktivierte Version nicht zum Paket hinzuzufügen. Wenn Sie jedoch versehentlich eine Flow-Version aktivieren und das Paket hochladen, verteilen Sie damit die betreffende Flow-Version an alle. Überprüfen Sie stets, welche Version Sie wirklich hochladen möchten. • In einer Entwicklungsorganisation können Sie Flows bzw. Flow-Versionen nicht mehr löschen, nachdem Sie sie in ein veröffentlichtes Paket oder in ein verwaltetes Beta-Paket hochgeladen haben.

32

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Flow-Komponenten können nicht aus Paketinstallationen vom Typ "Verwaltet – Beta" in Entwicklungsorganisationen gelöscht werden. • Sie können keinen Flow aus einem installierten Paket löschen. Um einen in einem Paket befindlichen Flow aus Ihrer Organisation zu entfernen, deaktivieren Sie ihn und deinstallieren Sie dann das Paket. • Wenn mehrere Versionen eines Flows aus mehreren nicht verwalteten Paketen installiert sind, ist es nicht möglich, nur eine bestimmte Version durch die Deinstallation des zugehörigen Pakets zu löschen. Durch die Deinstallation eines Pakets – sei es verwaltet oder nicht verwaltet –, das irgendeine Version aus dem Flow enthält, wird der gesamte Flow entfernt, einschließlich aller Versionen. • Sie können Flows nicht in Paket-Patches einschließen. • Ein aktiver Flow in einem Paket ist nach der Installation aktiv. Die zuvor aktive Version des Flows in der Zielorganisation wird zugunsten der neu installierten Version deaktiviert. Alle in Bearbeitung befindlichen Flows, die auf der nun deaktivierten Version beruhen, werden weiterhin ohne Unterbrechung ausgeführt, ihnen liegt jedoch die vorherige Version des Flows zugrunde. • Durch das Aufrüsten (Upgrade) eines verwalteten Pakets in Ihrer Organisation wird nur dann eine neue Flow-Version installiert, wenn eine neue Version vom Entwickler zur Verfügung steht. Nach mehreren Upgrades können Sie somit über mehrere Flow-Versionen verfügen. • Wenn Sie ein Paket mit mehreren Flow-Versionen in einer neuen Zielorganisation installieren, wird nur die aktuellste Flow-Version bereitgestellt. • Wenn Sie einen Flow aus einem nicht verwalteten Paket installieren, das den gleichen Namen, aber eine andere Versionsnummer als ein Flow aufweist, der in Ihrer Organisation vorhanden ist, wird der neu installierte Flow zur aktuellen Version des vorhandenen Flow. Wenn der Paket-Flow allerdings den gleichen Namen und die gleiche Versionsnummer wie ein Flow aufweist, der in Ihrer Organisation bereits vorhanden ist, schlägt die Paketinstallation fehl. Flows können nicht überschrieben werden. • Der Cloud-Flow-Designer kann keine Flows öffnen, die aus verwalteten Paketen installiert wurden. Ordner • Komponenten, die von Salesforce in Ordnern gespeichert werden, beispielsweise Dokumente, können nicht zu Paketen hinzugefügt werden, wenn sie in persönlichen und nicht abgelegten Ordnern gespeichert wurden. Legen Sie Dokumente, Berichte und andere von Salesforce in Ordnern gespeicherte Komponenten in einem Ihrer öffentlich zugänglichen Ordner ab. • Komponenten wie Dokumente, E-Mail-Vorlagen, Berichte oder Dashboards werden in der Organisation des Benutzers, der die Installation vornimmt, in neuen Ordnern gespeichert, wobei die Ordnernamen des Herausgebers übernommen werden. Benennen Sie diese Ordner so, dass aus dem Namen hervorgeht, dass die Ordner Teil des Pakets sind. • Wenn ein neuer Bericht, ein neues Dashboard, ein neues Dokument oder eine neue E-Mail-Vorlage bei einem Upgrade installiert wird und der Ordner, der die Komponente enthält, vom Abonnenten gelöscht wurde, wird der Ordner neu erstellt. Komponenten im Ordner, die zuvor gelöscht wurden, werden nicht wiederhergestellt. • Der Name der in einem Ordner enthaltenen Komponenten muss für alle Ordner desselben Komponententyps (ausgenommen persönliche Ordner) eindeutig sein. Die in einem persönlichen Ordner enthaltenen Komponenten müssen nur innerhalb des persönlichen Ordners eindeutig sein. Startseitenkomponenten Wenn Sie ein benutzerdefiniertes Startseitenlayout in ein Paket einfügen, werden alle Komponenten der benutzerdefinierten Registerkarte "Startseite", die im Seitenlayout enthalten sind, automatisch hinzugefügt. Standardkomponenten, wie Nachrichten und Hinweise, werden nicht in das Paket aufgenommen und setzen die Nachrichten und Hinweise der installierenden Person nicht außer Kraft. Um eine Nachricht in Ihr benutzerdefiniertes Startseitenlayout aufzunehmen, erstellen Sie eine benutzerdefinierte Startseiten-Registerkartenkomponente vom Typ "HTML-Bereich", die ihre Nachricht enthält. Geben Sie unter "Setup" im Feld Schnellsuche den Text Startseitenkomponenten ein und wählen Sie dann Startseitenkomponenten aus. Fügen Sie die Nachricht dann Ihrem benutzerdefinierten Startseitenlayout hinzu.

33

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Startseitenlayouts Nach der Installation werden Ihre benutzerdefinierten Startseitenlayouts zusammen mit allen Startseitenlayouts des Abonnenten aufgeführt. Erleichtern Sie die Unterscheidung der Layouts, indem Sie den Namen Ihrer Anwendung in den Namen des Seitenlayouts aufnehmen. Listenansichten Listenansichten, die mit Warteschlangen verknüpft sind, können nicht in ein Paket aufgenommen werden. Mehrere Währungen • Wenn ein Abonnent einen Bericht oder Berichtstyp für benutzerdefinierte Berichte installiert, der das Währungsfeld eines Objekts als Spalte enthält, wird diese Spalte verworfen, wenn in der Organisation des Abonnenten nicht mehrere Währungen unterstützt werden. • Das Referenzieren des Währungsfelds eines Objekts in den Kriterien eines Berichts (z. B. Accountwährung) führt zu einer Abhängigkeit. • Die Zusammenfassung anhand des Währungsfelds eines Objekts in einem Bericht führt zu einer Abhängigkeit. • Die Verwendung einer Währungsbenennung in einem Berichtskriterienwert (z. B. "Jahresumsatz ist EUR 100") führt nicht zu einer Abhängigkeit. Der Bericht gibt einen Fehler aus, wenn er in der Organisation der installierenden Person ausgeführt wird und diese die Währung nicht unterstützt. • Wenn das Währungsfeld des Objekts in einem Bericht als Spalte aufgenommen wird und in der Organisation des Abonnenten nicht mehrere Währungen unterstützt werden, wird die Spalte bei der Installation verworfen. • Wenn ein Abonnent einen Berichtstyp für benutzerdefinierte Berichte installiert, der das Währungsfeld eines Objekts als Spalte enthält, wird diese Spalte verworfen, wenn in der Organisation nicht mehrere Währungen unterstützt werden. Anmeldeinformationen mit Namen • Nach der Installation einer Anmeldeinformation mit Name über ein verwaltetes oder nicht verwaltetes Paket muss sich der Abonnent beim externen System neu authentifizieren. – Bei der Kennwortauthentifizierung gibt der Abonnent das Kennwort erneut in der Definition der Anmeldeinformation mit Name ein. – Bei OAuth aktualisiert der Abonnent den Rückmeldungs-URL in der Clientkonfiguration für den Authentifizierungsanbieter und authentifiziert sich dann erneut durch Auswahl von Authentifizierungs-Flow bei Auswahl von "Speichern" starten für die Anmeldeinformation mit Name. • Anmeldeinformationen mit Name werden nicht automatisch zu Paketen hinzugefügt. Wenn Sie eine externe Datenquelle oder Apex-Code, die bzw. der eine Anmeldeinformation mit Name als Callout-Endpunkt angibt, zu einem Paket hinzufügen, fügen Sie auch die Anmeldeinformation mit Name zu diesem Paket hinzu. Alternativ stellen Sie sicher, dass die Abonnentenorganisation über eine gültige Anmeldeinformation mit Name mit demselben Namen verfügt. Wenn Sie mehrere Organisationen besitzen, können Sie eine Anmeldeinformation mit demselben Namen, jedoch mit einem anderen Endpunkt-URL in jeder Organisation erstellen. Anschließend können Sie – für alle Organisationen – ein Paket der Callout-Definition, die auf den freigegebenen Namen dieser Anmeldeinformationen mit Name verweist, erstellen und bereitstellen. Die Anmeldeinformation mit Name kann beispielsweise in jeder Organisation einen anderen Endpunkt-URL aufweisen, um den Unterschieden zwischen Entwicklungs- und Produktionsumgebungen Rechnung zu tragen. Wenn der freigegebene Name dieser Anmeldeinformationen mit Namen durch ein Apex-Callout angegeben wird, kann ein Paket der Apex-Klasse, durch die das Callout definiert wird, erstellt und in allen betreffenden Organisationen bereitgestellt werden, ohne die Umgebung programmatisch zu überprüfen. • Zertifikate können nicht in einem Paket zusammengestellt werden. Wenn Sie eine Anmeldeinformation mit Name, die ein Zertifikat angibt, zu einem Paket hinzufügen, stellen Sie sicher, dass die Abonnentenorganisation über ein gültiges Zertifikat mit demselben Namen verfügt.

34

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Folgende Callout-Optionen für Anmeldeinformationen mit Namen können nur über die Benutzeroberfläche festgelegt werden. Wenn die Standardwerte für die Zielorganisation nicht geeignet sind, muss der Administrator der betreffenden Organisation die Anmeldeinformation mit Name nach der Bereitstellung manuell konfigurieren. – Autorisierungskopfzeile generieren – Standard: Aktiviert – Briefvorlagenfelder in HTTP-Kopfzeile zulassen – Standard: Deaktiviert – Briefvorlagenfelder im HTTP-Text zulassen – Standard: Deaktiviert Seitenlayouts Bei Organisationen mit Group bzw. Professional Edition wird das Seitenlayout des Benutzers, der ein Paket hochlädt, als Layout verwendet. In Organisationen mit Enterprise, Unlimited, Performance und Developer Edition wird dieses Layout zum Standardseitenlayout. Nehmen Sie Seitenlayouts zusammen mit den zugehörigen Datensatztypen in das Paket auf, wenn das Layout in einem bestehenden Objekt installiert ist. Anderenfalls weisen Sie die installierten Seitenlayouts manuell Profilen zu. Wenn ein Seitenlayout und ein Datensatztyp infolge einer Paketinstallation erstellt werden, wird die Seitenlayoutzuweisung des hochladenden Benutzers für den betreffenden Datensatztyp dem Datensatztyp für alle Profile in der Abonnentenorganisation zugewiesen, es sei denn, es wird ein Profil während eines Installations- oder Upgrade-Vorgangs zugeordnet. Berechtigungssätze Sie können Berechtigungssätze als Komponenten in ein Paket aufnehmen. Dabei gelten folgende Berechtigungen und Zugriffseinstellungen: • Benutzerdefinierte Objektberechtigungen • Externe Objektberechtigungen • Benutzerdefinierte Feldberechtigungen • Benutzerdefinierte Berechtigungen • Sichtbarkeitseinstellungen der benutzerdefinierten Registerkarte • Apex-Klassenzugriff • Visualforce-Seitenzugriff • Zugriff auf die externe Datenquelle Anmerkung: Zugewiesene Anwendungen und Standardeinstellungen der Registerkartensichtbarkeit gehören nicht zu den Komponenten eines Berechtigungssatzes. Verwenden Sie Berechtigungssätze, um eine Zusammenstellung von Berechtigungen zu installieren bzw. aktualisieren. Im Gegensatz zu den Profileinstellungen überschreiben Berechtigungssätze keine Profile. Auswahllistenwerte • Abonnenten können Werte von Auswahllistenfeldern umbenennen und löschen. Entwickler sollten diese Tatsache umfassend berücksichtigen, wenn sie in Apex explizit auf den Wert eines Auswahllistenfelds verweisen. • Werte von Auswahllistenfeldern können in der Organisation des Entwicklers hinzugefügt und gelöscht werden. Bei einem Upgrade werden keine neuen Werte installiert. Alle vom Entwickler gelöschten Werte sind in der Organisation des Abonnenten so lange weiterhin verfügbar, bis sie vom Abonnenten gelöscht werden. Profileinstellungen Zu den Profileinstellungen gehören die folgenden Einstellungen für die Komponenten im Paket: • Zugewiesene Anwendungen • Zugewiesene verbundene Anwendungen • Registerkarteneinstellungen • Seitenlayoutzuordnungen

35

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Datensatztypzuordnungen • Benutzerdefinierte Objektberechtigungen • Externe Objektberechtigungen • Benutzerdefinierte Feldberechtigungen • Benutzerdefinierte Berechtigungen • Apex-Klassenzugriff • Visualforce-Seitenzugriff • Zugriff auf die externe Datenquelle Profileinstellungen überschreiben bestehende Profile in der Organisation der installierenden Person mit bestimmten Änderungen an den Berechtigungen und Einstellungen . Datensatztypen • Wenn Datensatztypen im Paket enthalten sind, muss die Organisation des Abonnenten Datensatztypen unterstützen, damit das Paket installiert werden kann. • Wenn ein neuer Auswahllistenwert installiert wird, wird er mit allen installierten Datensatztypen entsprechend den vom Entwickler angegebenen Zuordnungen verknüpft. Diese Zuordnung kann von den Abonnenten geändert werden. • Das Referenzieren des Felds für den Datensatztyp eines Objekts in den Kriterien eines Berichts (z. B. Account-Datensatztyp) führt zu einer Abhängigkeit. • Die Zusammenfassung anhand des Felds für den Datensatztyp eines Objekts in den Kriterien eines Berichts (z. B. Account-Datensatztyp) führt zu einer Abhängigkeit. • Wenn das Feld für den Datensatztyp eines Objekts als Spalte in einen Bericht aufgenommen wird und die Organisation des Abonnenten keine Datensatztypen für das Objekt verwendet oder keine Datensatztypen unterstützt, wird die Spalte bei der Installation verworfen. • Wenn Sie einen Berichtstyp für benutzerdefinierte Berichte installieren, der ein Feld für den Datensatztyp eines Objekts als Spalte enthält, wird diese Spalte verworfen, wenn die Organisation keine Datensatztypen unterstützt oder für das Objekt keine Datensatztypen definiert sind. Bericht-Snapshots Entwickler von verwalteten Paketen müssen sich darüber im Klaren sein, welche Auswirkungen die Einführung von Bericht-Snapshots mit sich bringt, die auf in einer früheren Version des Pakets veröffentlichte Berichte verweisen. Wenn der Abonnent den Bericht gelöscht oder in einen persönlichen Ordner verschoben hat, wird der Bericht-Snapshot, der auf den Bericht verweist, nicht installiert, selbst wenn auf der Seite für die Paketinstallation angegeben ist, dass er installiert wird. Ebenso gilt: Wenn der Abonnent den Bericht geändert hat, kann dieser Bericht Ergebnisse ausgeben, die beeinflussen, welche Informationen vom Bericht-Snapshot angezeigt werden. Die bewährte Vorgehensweise ist daher, dass der Entwickler den Bericht-Snapshot und die zugehörigen Berichte in derselben Version veröffentlicht. Da der aktuelle Benutzer vom Abonnenten ausgewählt wird, können bestimmte Feldzuordnungen für Bericht-Snapshots ungültig werden, wenn der aktuelle Benutzer keinen Zugriff auf Quell- oder Zielfelder hat. Berichte Wenn ein Bericht Elemente enthält, die nicht in ein Paket aufgenommen werden können, werden diese Elemente verworfen oder herabgestuft oder aber das Hochladen des Pakets schlägt fehl. Beispiele: • Hierarchie-Drilldowns werden bei Aktivitäts- und Opportunityberichten verworfen. • Filter für nichtpaketfähige Felder werden automatisch verworfen (z. B. Filter für Datensatztypen bei Standardobjekten). • Das Hochladen von Paketen schlägt fehl, wenn ein Bericht Filterlogik für ein nicht paketfähiges Feld enthält (z. B. bei Filtern für Datensatztypen bei Standardobjekten). • Nachschlagewerte für das Feld Kampagne auswählen in Standardkampagnenberichten werden verworfen.

36

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Berichte werden bei Pakten verworfen, wenn sie in einen privaten Ordner oder den Ordner "Nicht abgelegte öffentliche Berichte" verschoben wurden. • Wenn ein Paket in einer Organisation installiert wird, die nicht über Chart Analytics 2.0 verfügt, geschieht Folgendes: – Verbunddiagramme werden herabgestuft anstatt verworfen. Beispielsweise wird ein vertikales Spalten-Verbunddiagramm mit hinzugefügter Linie zu einem einfachen vertikalen Spaltendiagramm herabgestuft. Ein Balken-Verbunddiagramm mit zusätzlichen Balken wird zu einem einfachen Balkendiagramm herabgestuft. – Nicht unterstützte Diagrammtypen, wie Ring- und Trichterdiagramme, werden verworfen. S-Controls Nur S-Controls in nicht verwalteten Paketen, die vor dem 1. Januar 2010 erstellt wurden, können von Abonnenten installiert werden. S-Controls wurden verworfen und werden durch Visualforce-Seiten abgelöst. Übersetzungsworkbench • Wenn Sie die Übersetzungsworkbench aktiviert und eine Sprache zu Ihrem Paket hinzugefügt haben, werden alle zugehörigen übersetzten Werte automatisch für die entsprechenden Komponenten im Paket ebenfalls aufgenommen. Vergewissern Sie sich, dass Sie Übersetzungen für alle möglichen Komponenten angegeben haben. • Die Personen, die Ihr Paket installieren, können der Paketdetailseite entnehmen, welche Sprachen im Paket unterstützt werden. Die installierende Person muss keinerlei Aktivierungen vornehmen, damit die Übersetzungen in den im Paket befindlichen Sprachen angezeigt werden. Die Übersetzungsworkbench sollte nur dann von der installierenden Person aktiviert werden, wenn Übersetzungen für nichtverwaltete Komponenten nach der Installation geändert, die Übersetzungen benutzerdefinierter Bezeichnungen in einem verwalteten Paket überschrieben oder Übersetzungen in weitere Sprachen vorgenommen werden sollen. • Wenn Sie eine Paketerweiterung entwerfen, können Sie Übersetzungen für die Erweiterungskomponenten aufnehmen, nicht jedoch zusätzliche Übersetzungen für Komponenten im Basispaket. Validierungsregeln Bei der Aufnahme von benutzerdefinierten Objekten in Pakete werden alle zugeordneten Validierungsregeln automatisch ebenfalls in das Paket aufgenommen. Wave Analytics Wave Analytics-Komponenten umfassen Wave-Anwendungen, Dashboards, Datenflüsse, Datensets und Linsen. Während Sie Ihre Wave-Komponenten zu einem Paket bündeln, sollten Sie diese Tipps und bewährten Vorgehensweisen berücksichtigen. • Zum Erstellen eines Pakets sind Wave-Administratorberechtigungen erforderlich, nicht jedoch für die Bereitstellung, die lediglich Salesforce-Administratorberechtigungen erfordert. • Zwischen Datensets und Datenflüssen findet kein Spidering statt, was bedeutet, dass auch keine Abhängigkeiten entstehen. Wenn Pakete aus beiden Elementen erstellt werden sollen, müssen diese manuell hinzugefügt werden. Falls dies nicht erfolgt, wird bei der Bereitstellung ein Fehler angezeigt. Das Gleiche gilt auch für Änderungssets – fügen Sie für die Paketerstellung aus Datensets und Datenflüssen beides manuell hinzu. • Bilder werden bei der Bereitstellung eines Dashboards, in dem ein Bild-Widget verwendet wird, das auf in der Zielorganisation nicht verfügbare Bilddateien verweist, nicht dargestellt. Es gibt zwei Behelfslösungen. Laden Sie die Bilder entweder manuell hoch oder fügen Sie dem Paket einen Ordner mit den Bildern hinzu. Die Dokument-ID der Bilddatei im Bild-Widget muss mit derjenigen des Bildes übereinstimmen. Der Benutzer kann das Dashboard auf dem Ziel nicht mit einer ungültigen Dokument-ID speichern, er kann es jedoch anzeigen und bearbeiten. • Wenn ein von Ihnen bereitgestelltes Dashboard über ein Link-Widget verfügt, das auf ein anderes in der Zielorganisation vorhandenes Dashboard verweist, müssen Sie den Linkverweis manuell so aktualisieren, dass auf das richtige Dashboard verwiesen wird. Wenn das verlinkte Dashboard in der Zielorganisation nicht vorhanden ist, wird eine Fehlermeldung angezeigt. Stellen Sie entweder auch das verlinkte Dashboard bereit oder erstellen Sie das verlinkte Dashboard in der Zielorganisation neu. Aktualisieren Sie das Link-Widget so, dass es auf das verlinkte Dashboard verweist.

37

Packen und Verteilen von Anwendungen

Verwalten von Paketen

• Gehen Sie bei der Paketerstellung von Datenflüssen vorsichtig vor. Ungültige Schemaüberschreibungen und nicht unterstützte oder unzulässige Parameter werden entfernt (Type = dim wird beispielsweise nicht mehr unterstützt und heißt jetzt Type = text). Kommentare in JSON werden entfernt. Knoten werden möglicherweise in einer anderen Reihenfolge angezeigt. Workflow • Salesforce lässt nicht zu, dass Sie Workflowbenachrichtigungen hochladen, die eine öffentliche Gruppe, einen Partnerbenutzer oder einen Rollenempfänger aufweisen. Legen Sie einen Benutzer als Empfänger fest, bevor Sie die Anwendung hochladen. Während der Installation ersetzt Salesforce den betreffenden Benutzer durch den Benutzer, der die Anwendung installiert. Dieser wiederum kann die Anwendung nach Bedarf anpassen. • Salesforce lässt nicht zu, dass Sie Workflow-Feldaktualisierungen hochladen, die ein Inhaber-Feld in eine Warteschlange ändern. Ändern Sie den aktualisierten Feldwert in einen Benutzer, bevor Sie die Anwendung hochladen. Während der Installation ersetzt Salesforce den betreffenden Benutzer durch den Benutzer, der die Anwendung installiert. Dieser wiederum kann die Anwendung nach Bedarf anpassen. • Salesforce lässt nicht zu, dass Sie Workflowregeln, Feldaktualisierungen und ausgehende Nachrichten hochladen, die auf einen Datensatztyp in einem Standardobjekt oder einem Objekt mit dem Status "Verwaltet/Installiert" verweisen. • Salesforce lässt nicht zu, dass Sie Workflowaufgaben hochladen, die einer Rolle zugewiesen sind. Ändern Sie den Wert des Felds Zugewiesen zu auf einen Benutzer, bevor Sie die Anwendung hochladen. Während der Installation ersetzt Salesforce den betreffenden Benutzer durch den Benutzer, der die Anwendung installiert. Dieser wiederum kann die Anwendung nach Bedarf anpassen. • Sie können Workflowregeln und zugehörige Workflowaktionen, wie beispielsweise -E-Mail-Benachrichtigungen und Feldaktualisierungen, in ein Paket aufnehmen. Zeitabhängige Auslöser werden jedoch nicht in das Paket aufgenommen. Weisen Sie die Personen, die die Installation vornehmen, darauf hin, etwaige zeitabhängige Auslöser, die für Ihre Anwendung von Bedeutung sind, einzurichten. Flow-Auslöser können nicht in einem Paket zusammengestellt werden. Eine Teilnahme am Pilotprogramm für Flow-Auslöser-Workflow-Aktionen ist nicht mehr möglich. Wenn Sie das Pilotprogramm bereits in Ihrer Organisation aktiviert haben, können Sie weiterhin Flow-Auslöser-Workflow-Aktionen erstellen und bearbeiten. Nutzen Sie anderenfalls die Aktion vom Typ "Flows" im Prozessgenerator. • Einige Workflowaktionen können vom Entwickler geschützt werden. Weitere Informationen zu geschützten Komponenten finden Sie unter Geschützte Komponenten auf Seite 38. • Entwickler können Workflowaktionen jederzeit mit einer Workflowregel verknüpfen oder die Verknüpfung aufheben. Diese Änderungen, einschließlich der Aufhebung der Verknüpfung, werden bei der Installation in der Organisation des Abonnenten berücksichtigt. Bei verwalteten Paketen können die Abonnenten die Verknüpfung zwischen Workflowaktionen und einer Workflowregel nicht aufheben, wenn die Verknüpfung vom Entwickler erstellt wurde. • Verweise auf einen bestimmten Benutzer in Workflowaktionen, beispielsweise den E-Mail-Empfänger einer Workflow-E-Mail-Benachrichtigung, werden durch den Benutzer ersetzt, der das Paket installiert. Workflowaktionen, die auf Rollen, öffentliche Gruppen, Accountteam-, Opportunity-Team- oder Kundenvorgangsteam-Rollen verweisen, werden möglicherweise nicht hochgeladen. • Verweise auf eine organisationsweite Adresse, wie beispielsweise die Von E-Mail-Adresse einer Workflow-E-Mail-Benachrichtigung, werden während der Installation auf "Aktueller Benutzer" zurückgesetzt • Bei der Installation weisen alle Workflow-Regeln, die im installierten bzw. aktualisierten Paket neu erstellt wurden, denselben Aktivierungsstatus auf wie im hochgeladenen Paket.

Geschützte Komponenten Entwickler können bestimmte Komponenten als geschützt kennzeichnen. Geschützte Komponenten können nicht mit Komponenten, die in der Organisation eines Abonnenten erstellt wurden, verknüpft und nicht von ihnen referenziert werden. Ein Entwickler kann geschützte Komponenten in zukünftigen Versionen löschen, ohne sich Gedanken über fehlschlagende Installationen machen zu müssen.

38

Packen und Verteilen von Anwendungen

Verwalten von Paketen

Wenn eine Komponente jedoch als nicht geschützt gekennzeichnet ist und global veröffentlicht wurde, kann der Entwickler sie nicht löschen. Entwickler können folgende Komponenten in verwalteten Paketen als geschützt kennzeichnen: • Benutzerdefinierte Bezeichnungen • Benutzerdefinierte Links (nur für die Startseite) • Workflowbenachrichtigungen • Workflowfeldaktualisierungen • Workflowausgangsnachrichten • Workflowaufgaben

Überlegungen rund um das Thema "Geistiges Eigentum" Die folgenden Informationen sind wichtig für den Schutz Ihres geistigen Eigentums. • Veröffentlichen Sie nur Paketkomponenten, die Ihr eigenes geistiges Eigentum sind und zu deren Weitergabe Sie berechtigt sind. • Sobald Komponenten, die Sie in Force.com AppExchange zur Verfügung stellen, von anderen Personen installiert wurden, können Sie sie nicht mehr widerrufen. • Die Informationen in den Komponenten, die Sie in ein Paket aufnehmen und veröffentlichen, sind möglicherweise für Benutzer von Force.com AppExchange sichtbar. Gehen Sie beim Hinzufügen Ihres Codes zu Formeln, Visualforce-Seiten oder anderen Komponenten, die Sie in Ihrer Anwendung nicht verbergen können, mit Bedacht vor. • Der Code in Apex-Elementen, die Teil eines verwalteten Pakets sind, wird automatisch verschleiert und kann in einer installierenden Organisation nicht angezeigt werden. Die einzigen Ausnahmen sind Methoden, die als global deklariert sind, bei denen also die Methodensignaturen in einer installierenden Organisation angezeigt werden können.

Berechtigungssätze und Profileinstellungen in Paketen Entwickler können Berechtigungssätze und Profileinstellungen verwenden, um Berechtigungen und andere Zugriffseinstellungen für Pakete zu gewähren. Beachten Sie bei der Entscheidung, ob Berechtigungssätze, Profileinstellungen oder Kombinationen aus beiden verwendet werden, die übereinstimmenden und unterschiedlichen Merkmale. Verhalten

Berechtigungssätze

Profileinstellungen

Welche Berechtigungen und Einstellungen sind enthalten?

• Benutzerdefinierte Objektberechtigungen

• Zugewiesene Anwendungen

• Externe Objektberechtigungen

• Zugewiesene verbundene Anwendungen

• Benutzerdefinierte Feldberechtigungen

• Registerkarteneinstellungen

• Benutzerdefinierte Berechtigungen

• Datensatztypzuordnungen

• Seitenlayoutzuordnungen

• Benutzerdefinierte • Sichtbarkeitseinstellungen Objektberechtigungen der benutzerdefinierten • Externe Registerkarte Objektberechtigungen • Apex-Klassenzugriff • Benutzerdefinierte • Visualforce-Seitenzugriff Feldberechtigungen

39

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition Berechtigungssätze sind verfügbar in: Contact Manager, Professional, Group, Enterprise, Performance, Unlimited, Developer und Database.com Edition

Packen und Verteilen von Anwendungen

Verhalten

Verwalten von Paketen

Berechtigungssätze

Profileinstellungen

• Zugriff auf die externe Datenquelle

• Benutzerdefinierte Berechtigungen

Anmerkung: Obwohl Berechtigungssätze zugewiesene Anwendungen und Standardeinstellungen für die Registerkartensichtbarkeit beinhalten, können diese Einstellungen können jedoch nicht als Komponenten des Berechtigungssatzes zu einem Paket gebündelt werden.

• Apex-Klassenzugriff • Visualforce-Seitenzugriff • Zugriff auf die externe Datenquelle

Können diese in verwalteten Paketen aufgerüstet werden?

Ja.

Profileinstellungen werden beim Installieren oder Aufrüsten bei den vorhandenen Profilen in der Organisation des Abonnenten angewendet. Es werden nur Berechtigungen angewendet, die sich auf neue Komponenten beziehen, die im Rahmen des Installierens oder Aufrüstens erstellt wurden.

Können Abonnenten diese bearbeiten?

Die Abonnenten können Berechtigungssätze in nicht verwalteten Paketen bearbeiten, nicht jedoch in verwalteten Paketen.

Ja.

Können diese dupliziert oder erstellt werden?

Ja. Wenn jedoch ein Abonnent einen Berechtigungssatz dupliziert oder einen Berechtigungssatz erstellt, der auf dem Berechtigungssatz eines Pakets basiert, wird er in nachfolgenden Upgrades nicht aktualisiert. Es werden nur die im Paket enthaltenen Berechtigungssätze aktualisiert.

Ja. Abonnenten können alle Profile duplizieren, die Berechtigungen und Einstellungen enthalten, die sich auf Paketkomponenten beziehen.

Umfassen diese Standardobjektberechtigungen?

Nein. Außerdem können Sie keine Objektberechtigungen für ein benutzerdefiniertes Objekt in einer Master-Detail-Beziehung aufnehmen, bei der der Master ein Standardobjekt ist.

Nein.

Umfassen diese Benutzerberechtigungen? Nein.

Nein.

Sind diese im Installationsassistenten enthalten?

Ja. Profileinstellungen werden beim Installieren oder Aufrüsten bei den vorhandenen Profilen in der Organisation des Abonnenten angewendet. Es werden nur Berechtigungen angewendet, die sich auf neue Komponenten beziehen, die im

Nein. Abonnenten müssen die Berechtigungssätze nach der Installation zuweisen.

40

Packen und Verteilen von Anwendungen

Verhalten

Verwalten von Paketen

Berechtigungssätze

Profileinstellungen Rahmen des Installierens oder Aufrüstens erstellt wurden.

Welche Anforderungen bestehen bezüglich Berechtigungssätze werden nur installiert, der Benutzerlizenzen? wenn die Abonnentenorganisation mindestens eine Benutzerlizenz aufweist, die mit den Berechtigungssätzen übereinstimmen. Beispiel: Berechtigungssätze mit der Salesforce Platform-Benutzerlizenz werden nicht in Organisationen installiert, die keine Salesforce Platform-Benutzerlizenzen aufweisen. Wenn ein Abonnent nachträglich eine Lizenz erwirbt, muss das Paket neu installiert werden, um die mit der neu erworbenen Lizenz verknüpften Berechtigungssätze zu erhalten.

Keine. In Abonnentenorganisationen werden mit der Installation die Profileinstellungen und nicht ihre Benutzerlizenzen überschrieben.

Berechtigungssätze ohne Benutzerlizenz werden immer installiert. Wenn Sie einen Berechtigungssatz ohne Benutzerlizenz zuweisen, müssen alle aktivierten Einstellungen und Berechtigungen laut der Lizenz des Benutzers zulässig sein. Anderenfalls schlägt die Zuweisung fehl. Wie werden sie Benutzern zugeordnet?

Abonnenten müssen Berechtigungssätze aus Paketen nach Installation des Pakets zuweisen.

Profileinstellungen werden bei vorhandenen Profilen angewendet.

Bewährte Methoden • Verwenden Sie neben Paketprofilen noch Berechtigungssätze, damit Ihre Abonnenten auf einfache Weise Berechtigungen für vorhandene Anwendungsbenutzer hinzufügen können. • Verwenden Sie Berechtigungssätze nicht als einziges Modell zum Gewähren von Berechtigungen für Ihre Anwendung, wenn Benutzer auf Anwendungen, Standardregisterkarten, Seitenlayouts und Datensatztypen zugreifen müssen. • Erstellen Sie gepackte Berechtigungssätze, die Zugriff auf die benutzerdefinierten Komponenten in einem Paket gewähren, nicht jedoch auf standardmäßige Salesforce-Komponenten.

41

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Festlegen des Entwicklungsprozesses Alle Pakete sind so lange nicht verwaltet, bis Sie sie in verwaltete Pakete konvertieren. Hierfür müssen verwaltet Pakete in einer Developer Edition-Organisation erstellt werden. Möglicherweise bevorzugen Sie die Entwicklung verwalteter Pakete, weil Sie vor der Veröffentlichung Betatests daran durchführen und Upgrades dafür anbieten können. Vor der Erstellung eines Pakets müssen Sie den Entwicklungsprozess festlegen, den Sie durchführen möchten, damit Sie den geeignetsten Pakettyp für Ihren Prozess auswählen können:

Entwickeln von nicht verwalteten Paketen • Entwerfen Sie Ihre Anwendung.

AUSGABEN Verfügbarkeit: Salesforce Classic Nichtverwaltete Pakete sind verfügbar in: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition Verwaltete Pakete sind verfügbar in: Developer Edition

• Packen Sie Ihre Anwendung und laden Sie sie hoch.

Entwickeln von verwalteten Pakten • Entwerfen Sie Ihre Anwendung. • Packen Sie eine Beta-Version Ihrer Anwendung und laden Sie sie hoch. • Holen Sie Feedback von Ihren Beta-Testern ein und nehmen Sie die entsprechenden Korrekturen an Ihrer Anwendung vor. • Erstellen Sie ein Paket mit der endgültigen Version der Anwendung und laden Sie sie hoch. IN DIESEM ABSCHNITT: Planen der Veröffentlichung verwalteter Pakete Löschen von Komponenten aus verwalteten Paketen Anzeigen nicht verwendeter Komponenten in einem Paket Ändern benutzerdefinierter Felder nach der Veröffentlichung eines Pakets Konfigurieren von Standardpaketversionen für API-Aufrufe Informationen zum API- und dynamischen Apex-Zugriff in Paketen Verwalten des API- und dynamischen Apex-Zugriffs in Paketen Generieren einer Unternehmens-WSDL mit verwalteten Paketen Grundlegendes zu Abhängigkeiten Umfeldzentrum Im Umfeldzentrum können Sie von einem Standort aus mehrere Salesforce-Organisationen verbinden, erstellen, anzeigen und sich bei ihnen anmelden. Wenn Ihr Unternehmen über mehrere Umgebungen für Entwicklung, Testen und Testversionen verfügt, können Sie mithilfe des Umfeldzentrums Ihre Organisationsverwaltung optimieren. SIEHE AUCH: Planen der Veröffentlichung verwalteter Pakete Verwalten von Paketen Erstellen und Hochladen von Patches

42

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Planen der Veröffentlichung verwalteter Pakete Die Veröffentlichung eines AppExchange-Pakets ähnelt der Freigabe anderer Programme in der Software-Entwicklung. Das Roll-out kann in Iterationen durchgeführt werden, um sicherzustellen, dass alle Komponenten wie geplant funktionieren. Sie können sogar mit Betatestern arbeiten, die angeboten haben, eine frühe Version Ihres Pakets zu installieren und Feedback abzugeben. Sobald Sie ein Paket durch Veröffentlichung in AppExchange freigeben, kann es von allen installiert werden. Sie sollten also Ihre Veröffentlichung sorgfältig planen. Überprüfen Sie die unten definierten Zustände, um sich mit dem Veröffentlichungsprozess vertraut zu machen. Salesforce wendet automatisch den entsprechenden Zustand auf Ihr Paket und Ihre Komponenten an – je nach den von Ihnen ausgewählten Hochladeeinstellungen und der Position im Veröffentlichungsprozess. Zustand

Beschreibung

Nichtverwaltet

Das Paket wurde noch nicht in ein verwaltetes Paket konvertiert, bzw. die Komponente wurde noch nicht zu einem verwalteten Paket hinzugefügt. Hinweis: Eine Komponente mit dem Status "Verwaltet – Beta" kann in den Status "Nichtverwaltet" übergehen, wenn sie aus einem verwalteten Paket entfernt wird. Alle Pakete sind nicht verwaltet, es sei denn, es ist durch eines der unten stehenden Verwaltungssymbole anders angegeben:

Verwaltet – Beta

Das Paket bzw. die Komponente wurde in der aktuellen Salesforce-Organisation erstellt und ist verwaltet, wurde jedoch aus einem der folgenden Gründe nicht veröffentlicht: • Es wurde noch nicht hochgeladen. • Es wurde mit der Option Verwaltet – Beta hochgeladen. Durch diese Option wird verhindert, dass das Paket veröffentlicht, als öffentlich in AppExchange verfügbar gemacht wird. Der Entwickler kann weiterhin alle Komponenten bearbeiten. Dies gilt jedoch nicht unbedingt auch für Personen, die das Paket installieren (abhängig von den Komponenten im Paket). Anmerkung: Installieren Sie keinesfalls ein Paket mit dem Status "Verwaltet – Beta" über ein Paket mit dem Status "Verwaltet – Veröffentlicht". Anderenfalls kann das Paket nicht mehr aktualisiert werden und die einzige Option, die Ihnen bleibt, ist das Deinstallieren und erneute Installieren des Pakets.

Verwaltet - Veröffentlicht

Das Paket bzw. die Komponente wurde in der aktuellen Salesforce-Organisation erstellt und ist verwaltet. Außerdem wurde es mit der Option Verwaltet Veröffentlicht hochgeladen. Dies bedeutet, dass es in AppExchange veröffentlicht werden kann und öffentlich verfügbar ist. Hinweis: Wenn Sie ein Paket in diesen Zustand versetzt haben, können einige Eigenschaften weder vom Entwickler noch von Personen, die das Paket herunterladen, bearbeitet werden. Diese Art von Version gilt als Hauptversion.

Patch

Ziehen Sie das Erstellen eines Patch statt einer neuen Hauptversion in Betracht, wenn Sie für ein verwaltetes Paket ein kleineres Upgrade bereitstellen müssen. Mit einem Patch können Entwickler die Funktionalität vorhandener Komponenten in einem verwalteten Paket ändern, während sichergestellt werden kann, dass die Abonnenten keine sichtbaren Änderungen am Paket wahrnehmen. Diese Art von Version gilt als Patch-Version.

Verwaltet – Installiert

Das Paket bzw. die Komponente wurde aus einer anderen Salesforce-Organisation installiert, ist jedoch verwaltet.

43

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Ein Entwickler kann die Funktionen in einem verwalteten Paket im Laufe der Zeit verfeinern, indem er neue Versionen hochlädt und veröffentlicht, um sie an die sich entwickelnden Anforderungen anzupassen. Dazu kann es erforderlich sein, einige der Komponenten im verwalteten Paket neu zu gestalten. Entwickler können einige, jedoch nicht alle Arten von Komponenten in einem Paket mit dem Status "Verwaltet – Veröffentlicht" bei der Aktualisierung des Pakets löschen. SIEHE AUCH: Verwalten von Paketen Festlegen des Entwicklungsprozesses

Löschen von Komponenten aus verwalteten Paketen Nachdem Sie ein Paket des Typs Verwaltet – Veröffentlicht hochgeladen haben, stellen Sie möglicherweise fest, dass einige Komponenten aus Ihrer Organisation gelöscht werden müssen. Folgende Situationen sind möglich: • Nach dem Hinzufügen zu einem Paket kann die Komponente nicht mehr gelöscht werden. • Die Komponente kann gelöscht werden, sie kann dann jedoch nur über die Seite "Gelöschte Paketkomponenten" wiederhergestellt werden. • Die Komponente kann gelöscht werden, sie kann dann jedoch weder über die Seite "Gelöschte Paketkomponenten" noch über den Papierkorbwiederhergestellt werden. Geben Sie für den Zugriff auf die Seite "Gelöschte Paketkomponenten" unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. Wählen Sie das Paket aus, in das die Komponente hochgeladen wurde, und klicken Sie dann auf Gelöschte Komponenten anzeigen. Sie können Komponenten aus dem Papierkorb und über die Seite "Gelöschte Paketkomponenten" vor dem Hochladen einer neuen Version des Pakets jederzeit wiederherstellen. Klicken Sie dazu neben der Komponente auf Löschen rückgängig machen.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN Löschen von Komponenten aus einem Paket: • "AppExchange-Pakete erstellen"

Nachdem ein Paket mit einer zum Löschen gekennzeichneten Komponente hochgeladen wurde, ist die Komponente dauerhaft gelöscht. ACHTUNG: Auch wenn eine Komponente gelöscht wurde, bleibt ihr Name in Salesforce erhalten. Es kann keine weitere Komponente mit diesem Namen erstellt werden. Auf der Seite "Gelöschte Paketkomponenten" ist aufgeführt, welche Namen nicht mehr verwendet werden können. Geben Sie für den Zugriff auf die Seite "Gelöschte Paketkomponenten" unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. Wählen Sie das Paket aus, in das die Komponente hochgeladen wurde, und klicken Sie dann auf Gelöschte Komponenten anzeigen. Wenn eine Komponente über den Papierkorb wiederhergestellt werden kann, kann sie auch über diese Seite wiederhergestellt werden. Hier können folgende Arten von Komponenten wiederhergestellt werden. • Apex-Klassen und Auslöser ohne Zugriff vom Typ global • Benutzerdefinierte Registerkarten. • Visualforce-Komponenten mit Zugriff vom Typ öffentlich • Geschützte Komponenten, darunter: – Benutzerdefinierte Bezeichnungen – Benutzerdefinierte Links (nur für die Startseite) – Workflowbenachrichtigungen – Workflowfeldaktualisierungen – Workflowausgangsnachrichten

44

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

– Workflowaufgaben – Workflow-Flow-Auslöser Eine Teilnahme am Pilotprogramm für Flow-Auslöser-Workflow-Aktionen ist nicht mehr möglich. Wenn Sie das Pilotprogramm bereits in Ihrer Organisation aktiviert haben, können Sie weiterhin Flow-Auslöser-Workflow-Aktionen erstellen und bearbeiten. Nutzen Sie anderenfalls die Aktion vom Typ "Flows" im Prozessgenerator. • Datenkomponenten, z. B. Dokumente, Dashboards und Berichte. Dies sind die einzigen Komponententypen, die auch aus dem Papierkorb wiederhergestellt werden können. Sie können Komponenten aus dem Papierkorb und über die Seite "Gelöschte Paketkomponenten" vor dem Hochladen einer neuen Version des Pakets jederzeit wiederherstellen. Klicken Sie dazu neben der Komponente auf Löschen rückgängig machen. Für die gelöschten Komponenten werden die folgenden Informationen (in alphabetischer Reihenfolge) angezeigt: Attribut

Beschreibung

Aktion

Wenn das Paket des Typs Verwaltet – Veröffentlicht nicht mit gelöschter Komponente hochgeladen wurde, ist hier der Link Löschen rückgängig machen enthalten, mit dem Sie die Komponente wiederherstellen können.

Verfügbar in Versionen

Zeigt die Versionsnummer des Pakets an, in dem eine Komponente vorhanden ist.

Name

Zeigt den Namen der Komponente an.

Übergeordnetes Objekt

Zeigt den Namen des übergeordneten Objekts an, mit dem eine Komponente verknüpft ist. Beispielsweise ist ein benutzerdefiniertes Objekt einem benutzerdefinierten Feld übergeordnet.

Typ

Zeigt den Typ der Komponente an.

Anzeigen nicht verwendeter Komponenten in einem Paket In dieser Tabelle sind Komponenten dargestellt, die in der aktuellen Version eines Pakets nicht mehr verwendet werden. Alle hier dargestellten Komponenten, die Teil eines verwalteten Pakets sind, können sicher gelöscht werden, sofern Sie sie nicht in benutzerdefinierten Integrationen verwendet haben. Nachdem Sie eine nicht verwendete Komponente gelöscht haben, wird sie 15 Tage lang in dieser Liste angezeigt. Innerhalb dieses Zeitraums können Sie entweder den Löschvorgang rückgängig machen, um die Komponente sowie alle darin gespeicherten Daten wiederherzustellen, oder die Komponente endgültig löschen. Beachten Sie, dass beim Rückgängigmachen des Löschvorgangs eines benutzerdefinierten Felds einige Eigenschaften des Felds verloren gehen bzw. geändert werden. Nach 15 Tagen werden das Feld und seine Daten endgültig gelöscht.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition

Anmerkung: Bevor Sie benutzerdefinierte Felder löschen, können Sie einen Datensatz der Daten erstellen. Geben Sie unter Setup im Feld Schnellsuche den Text Datenexport ein und wählen Sie dann Datenexport aus. Folgende Komponenteninformationen werden angezeigt (in alphabetischer Reihenfolge):

45

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Attribut

Beschreibung

Aktion

Zwei Optionen möglich: • Löschen rückgängig • Löschen

Name

Zeigt den Namen der Komponente an.

Übergeordnetes Objekt

Zeigt den Namen des übergeordneten Objekts an, mit dem eine Komponente verknüpft ist. Beispielsweise ist ein benutzerdefiniertes Objekt einem benutzerdefinierten Feld übergeordnet.

Typ

Zeigt den Typ der Komponente an.

Ändern benutzerdefinierter Felder nach der Veröffentlichung eines Pakets Die folgenden Änderungen sind an benutzerdefinierten Feldern in einem Paket nach dessen Veröffentlichung zulässig.

AUSGABEN

• Die Länge von Textfeldern kann erhöht bzw. verringert werden.

Verfügbarkeit: Salesforce Classic

• Die Anzahl der Stellen links bzw. rechts vom Dezimaltrennzeichen in einem Zahlenfeld kann erhöht bzw. verringert werden. • Erforderliche Felder können als nicht erforderlich festgelegt werden und umgekehrt. Wenn ein Standardwert für ein Feld erforderlich war, kann diese Einschränkung entfernt werden, und umgekehrt.

Verfügbarkeit: Developer Edition

Konfigurieren von Standardpaketversionen für API-Aufrufe Als Paketversion wird eine Zahl bezeichnet, die die Reihe von Komponenten identifiziert, die in einem Paket hochgeladen werden. Die Versionsnummer weist das Format Hauptnummer.Nebennummer.Patchnummer (z. B. 2.1.3) auf. Die Haupt- und die Nebennummer steigen mit jeder Hauptversion auf einen ausgewählten Wert. Die Patchnummer wird nur bei Patchversionen generiert und aktualisiert. Herausgeber können mithilfe von Paketversionen die Komponenten in ihren verwalteten Paketen kontrolliert weiterentwicklen, indem Sie nachfolgende Paketversionen veröffentlichen, ohne vorhandene Integrationen beim Kunden zu unterbrechen, bei denen das Paket zum Einsatz kommt. Standardpaketversionen für API-Aufrufe bieten Fallback-Einstellungen für den Fall, dass Paketversionen nicht von einem API-Aufruf bereitgestellt werden. Viele API-Clients enthalten keine Paketversionsinformationen, sodass in den Standardeinstellungen das bestehende Verhalten für diese Clients beibehalten wird.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN Konfigurieren von Standardpaketversionen für API-Aufrufe: • “Anwendung anpassen”

Sie können die Standardpaketversionen für Enterprise-API-Aufrufe und Partner-API-Aufrufe angeben. Die Unternehmens-WSDL ist für Kunden gedacht, die eine Integration ausschließlich für ihre Salesforce-Organisation erstellen möchten. Sie ist streng typisiert, was bedeutet, dass die Aufrufe Objekte und Felder mit bestimmten Datentypen bearbeiten, beispielsweise int und string. Die Partner-WSDL ist für Kunden, Partner und ISVs gedacht, die eine Integration erstellen möchten, die über mehrere Salesforce-Organisationen hinweg funktioniert, unabhängig von den jeweiligen benutzerdefinierten Objekten und Feldern. Sie ist locker typisiert, was bedeutet, dass die Aufrufe Name-Wert-Paare von Feldnamen und Werten bearbeiten und nicht spezifische Datentypen.

46

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Sie müssen die Unternehmens-WSDL mit bestimmten Paketversionen verknüpfen, um das bestehende Verhalten für die Clients beizubehalten. Es gibt Optionen zur Festlegung der Paketversionsbindungen für einen API-Aufruf von Clientanwendungen, wobei entweder die Unternehmens- oder die Partner-WSDL verwendet wird. Die Paketversionsinformationen für API-Aufrufe, die auf der Grundlage der Unternehmens-WSDL von einer Clientanwendung ausgegeben werden, richten sich nach der ersten Übereinstimmung in den folgenden Einstellungen. 1. PackageVersionHeader-SOAP-Header. 2. Der SOAP-Endpunkt enthält einen URL in dem Format serverName/services/Soap/c/api-version/ID. Dabei ist api-version die Version der API, beispielsweise 38.0, und ID codiert Ihre Paketversionsauswahl zum Zeitpunkt der Erstellung der Unternehmens-WSDL. 3. Standardversionseinstellungen für das Unternehmenspaket. Die Partner-WSDL ist flexibler, da sie für die Integration mit mehreren Organisationen verwendet wird. Wenn Sie bei der Konfiguration der Standardversionen für Partnerpakete die Option “Nicht angegeben” für eine Paketversion auswählen, richtet sich das Verhalten nach der zuletzt installierten Paketversion. Dies bedeutet, dass sich das Verhalten von Paketkomponenten, wie beispielsweise eines Apex-Auslösers, ändern kann, wenn das Paket aktualisiert wird. Eine solche Änderung wirkt sich unmittelbar auf die Integration aus. Die Abonnenten können eine bestimmte Version eines installierten Pakets für alle Partner-API-Aufrufe von Clientanwendungen auswählen, um sicherzustellen, dass ihre bestehenden Integrationen nicht durch spätere Installationen von Paketversionen beeinträchtigt werden. Die Paketversionsinformationen für Partner-API-Aufrufe richtet sich nach der ersten Übereinstimmung in den folgenden Einstellungen. 1. PackageVersionHeader-SOAP-Header. 2. Bei API-Aufrufen von einer Visualforce-Seite werden die für die Visualforce-Seite festgelegten Paketversionen verwendet. 3. Standardversionseinstellungen für das Partnerpaket. Konfigurieren von Standardpaketversionen für API-Aufrufe: 1. Geben Sie unter Setup im Feld Schnellsuche den Text API ein und wählen Sie dann API aus. 2. Klicken Sie auf Versionseinstellungen für Unternehmenspaket konfigurieren oder Versionseinstellungen für Partnerpaket konfigurieren. Diese Links sind nur verfügbar, wenn mindestens ein verwaltetes Paket in Ihrer Organisation installiert ist. 3. Wählen Sie für jedes Ihrer installierten verwalteten Pakete eine Paketversion aus. Wenn Sie sich nicht sicher sind, welche Paketversion Sie auswählen sollen, sollten Sie die Standardauswahl beibehalten. 4. Klicken Sie auf Speichern. Anmerkung: Die Installation einer neuen Version eines Pakets in Ihrer Organisation hat keine Auswirkungen auf die aktuellen Standardeinstellungen.

Informationen zum API- und dynamischen Apex-Zugriff in Paketen Apex-Paketkomponenten können über dynamisches Apex und die API auf standardmäßige und benutzerdefinierte Objekte in der Organisation zugreifen, in der sie installiert sind. Entwickler von Force.com-AppExchange-Paketen, die für externe Kunden bestimmt sind (werden auch als Drittanbieter-Entwickler bzw. -Partner bezeichnet), möchten diesen Zugriff möglicherweise einschränken. Durch die Zugriffseinschränkung ist das Sicherheitsrisiko für Administratoren bei der Installation geringer. Es kann auch vorkommen, dass Administratoren, die Pakete dieser Art installieren, diesen Zugriff nach der Installation einschränken möchten (aus Gründen der Sicherheit), auch wenn die Paketentwickler dies nicht getan haben. Beim API-Zugriff handelt es sich um eine Paketeinstellung, die den dynamischen Apex- und API-Zugriff steuert, über den S-Controls und andere Paketkomponenten auf Standardobjekte verfügen. Sowohl für den Entwickler, als auch für die installierende Person wird die Einstellung auf der Paketdetailseite angezeigt. Mit dieser Einstellung können folgende Rechte eingestellt werden:

47

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Contact Manager, Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

• Der Entwickler eines AppExchange-Pakets kann den API-Zugriff für ein Paket einschränken, bevor das Paket auf Force.com AppExchange hochgeladen wird. Nach erfolgter Beschränkung werden den Paketkomponenten Apex- und API-Sitzungen zur Verfügung gestellt, die auf die benutzerdefinierten Objekte im jeweiligen Paket beschränkt sind. Der Entwickler kann zudem den Zugriff auf spezifische standardmäßige Objekte sowie beliebige benutzerdefinierte Objekte in anderen Paketen ermöglichen, von denen dieses Paket abhängig ist. • Die Person, die das Paket installiert, kann bei der Installation des Pakets in ihrer Organisation Paketzugriffsberechtigungen annehmen oder ablehnen. • Nach der Installation können Administratoren jederzeit den Apex- und API-Zugriff für ein Paket ändern. Die installierende Person kann zudem den Zugriff auf zusätzliche Objekte gewähren, beispielsweise benutzerdefinierte Objekte, die in der Organisation der installierenden Person erstellt wurden, oder Objekte, die von nicht in Beziehung stehenden Paketen installiert wurden. Für die API-Zugriffseinstellung stehen zwei Optionen zur Verfügung: • Die Standardeinstellung Uneingeschränkt, mit der die Paketkomponenten denselben API-Zugriff auf Standardobjekte haben wie der Benutzer, der in dem Moment angemeldet ist, in dem die Komponente eine Anforderung an die API sendet. Apex wird im Systemmodus ausgeführt. Durch den uneingeschränkten Zugriff wird Apex Lesezugriff auf alle standardmäßigen und benutzerdefinierten Objekte gewährt. • Die Option Eingeschränkt, mit der der Administrator auswählen kann, auf welche Standardobjekte die Komponenten im Paket zugreifen können. Des Weiteren können die Komponenten in eingeschränkten Paketen nur auf benutzerdefinierte Objekte im aktuellen Paket zugreifen, wenn der Benutzer über die Objektberechtigungen verfügt, die den Zugriff darauf gestatten.

Überlegungen zum API- und dynamischen Apex-Zugriff in Paketen Standardmäßig kann dynamisches Apex nur auf die Komponenten zugreifen, die im Paket des jeweiligen Code enthalten sind. Um Zugriff auf standardmäßige Objekte zu gewähren, die nicht im Paket enthalten sind, muss der Entwickler den API-Zugriff aktivieren. 1. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Wählen Sie das Paket mit dynamischem Apex aus, das in der installierenden Organisation auf standardmäßige Objekte zugreifen können muss. 3. Aktivieren Sie in der Themenliste mit den Paketdetails entweder Einschränkungen aktivieren oder Eingeschränkt, je nachdem, welche Option verfügbar ist. 4. Legen Sie die Zugriffsebene ("Lesen", "Erstellen", "Bearbeiten", "Löschen") für die standardmäßigen Objekte fest, auf die dynamisches Apex zugreifen kann. 5. Klicken Sie auf Speichern. Die Auswahl von Eingeschränkt für die Einstellung API-Zugriff in einem Paket wirkt sich folgendermaßen aus: • Der API-Zugriff in einem Paket hat Vorrang vor den folgenden Benutzerberechtigungen: – Autor-Apex – Anwendung anpassen – HTML-Vorlagen bearbeiten – Schreibgeschützte Felder bearbeiten – Rechnungsstellung verwalten – Callcenter verwalten – Kategorien verwalten – Verwalten von Typen für benutzerdefinierte Berichte – Dashboards verwalten – Briefköpfe verwalten

48

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

– Paketlizenzen verwalten – Öffentliche Dokumente verwalten – Öffentliche Listenansichten verwalten – Öffentliche Berichte verwalten – Öffentliche Vorlagen verwalten – Benutzer verwalten – Datensatz übertragen – Assistenten für Team-Neuzuordnung verwenden – Setup und Konfiguration anzeigen – Wöchentlicher Datenexport • Falls die Berechtigungen zum Lesen, Erstellen, Bearbeiten und Löschen in der Einstellung API-Zugriff für Objekte nicht ausgewählt sind, haben die Benutzer über die Paketkomponenten keinen Zugriff auf diese Objekte. Dies gilt auch, wenn die Benutzer die Berechtigungen "Alle Daten modifizieren" und "Alle Daten anzeigen" aufweisen. • Ein Paket mit API-Zugriff vom Typ Eingeschränkt kann keine neuen Benutzer erstellen. • Salesforce verhindert, dass von einem AppExchange-Paket mit Zugriff vom Typ Eingeschränkt aus auf Webservices und executeanonymous()-Anforderungen zugegriffen wird. Des Weiteren müssen noch folgende Überlegungen beim API-Zugriff in Betracht gezogen werden: • Workflowregeln und Apex-Auslöser werden unabhängig vom API-Zugriff in Paketen ausgelöst. • Wenn sich eine Komponente in mehreren Paketen in einer Organisation befindet, gilt für die betreffende Komponente unabhängig von der für den Zugriff festgelegten Einstellung in allen Paketen in der Organisation uneingeschränkter API-Zugriff. • Wenn Salesforce ein neues Standardobjekt einführt, nachdem Sie den eingeschränkten Zugriff für ein Paket ausgewählt haben, wird der Zugriff auf das neue Standardobjekt nicht standardmäßig gewährt. Sie müssen die Einstellung für den eingeschränkten Zugriff um das neue Standardobjekt ergänzen. • Beim Upgrade eines Pakets werden Änderungen am API-Zugriff auch dann ignoriert, wenn sie vom Entwickler angegeben werden. Dadurch wird sichergestellt, dass der Administrator, der das Upgrade installiert, die vollständige Kontrolle erhält. Die Personen, die das Paket installieren, sollten die Änderungen am Paketzugriff in jedem Upgrade während der Installation sorgfältig untersuchen und alle annehmbaren Änderungen festhalten. Da diese Änderungen ignoriert werden, sollte der Administrator dann nach der Installation eines Upgrades alle annehmbaren Änderungen manuell vornehmen. • S-Controls werden von Salesforce bereitgestellt und in Salesforce inline dargestellt. Aufgrund dieses hohen Maßes der Integration gibt es mehrere Möglichkeiten, mit denen die Eskalation der Berechtigungen eines S-Control in einem installierten Paket auf die uneingeschränkten Berechtigungen des Benutzers erfolgen könnte. Zum Schutz der Sicherheit von Organisationen, die Pakete installieren, weisen S-Controls folgende Einschränkungen auf: – Für Pakete, die Sie selbst entwickeln (also nicht über AppExchange installieren), ist das Hinzufügen von S-Controls zu Paketen nur mit dem standardmäßigen API-Zugriff vom Typ Uneingeschränkt möglich. Verfügt ein Paket einmal über ein S-Control, ist die Aktivierung des API-Zugriffs vom Typ Eingeschränkt nicht mehr möglich. – Für Pakete, die Sie installiert haben, können Zugriffsbeschränkungen auch dann aktiviert werden, wenn das jeweilige Paket S-Controls enthält. Zugriffsbeschränkungen bieten jedoch nur einen gewissen S-Control-Schutz. Laut Salesforce-Empfehlung sollten Sie sich mit JavaScript in einem S-Control auseinandersetzen, bevor Sie sich hinsichtlich der S-Control-Sicherheit auf Zugriffsbeschränkungen verlassen. – Falls ein installiertes Paket den API-Zugriff Eingeschränkt aufweist, können Upgrades nur dann erfolgreich durchgeführt werden, wenn die aktualisierte Version keine S-Controls enthält. Falls in der aktualisierten Version S-Controls vorhanden sind, müssen Sie den API-Zugriff des aktuell installierten Pakets in Uneingeschränkt ändern.

49

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Verwalten des API- und dynamischen Apex-Zugriffs in Paketen Beim API-Zugriff handelt es sich um eine Paketeinstellung, die den dynamischen Apex- und API-Zugriff steuert, über den S-Controls und andere Paketkomponenten auf Standardobjekte verfügen. Sowohl für den Entwickler, als auch für die installierende Person wird die Einstellung auf der Paketdetailseite angezeigt. Mit dieser Einstellung können folgende Rechte eingestellt werden: • Der Entwickler eines AppExchange-Pakets kann den API-Zugriff für ein Paket einschränken, bevor das Paket auf Force.com AppExchange hochgeladen wird. Nach erfolgter Beschränkung werden den Paketkomponenten Apex- und API-Sitzungen zur Verfügung gestellt, die auf die benutzerdefinierten Objekte im jeweiligen Paket beschränkt sind. Der Entwickler kann zudem den Zugriff auf spezifische standardmäßige Objekte sowie beliebige benutzerdefinierte Objekte in anderen Paketen ermöglichen, von denen dieses Paket abhängig ist. • Die Person, die das Paket installiert, kann bei der Installation des Pakets in ihrer Organisation Paketzugriffsberechtigungen annehmen oder ablehnen. • Nach der Installation können Administratoren jederzeit den Apex- und API-Zugriff für ein Paket ändern. Die installierende Person kann zudem den Zugriff auf zusätzliche Objekte gewähren, beispielsweise benutzerdefinierte Objekte, die in der Organisation der installierenden Person erstellt wurden, oder Objekte, die von nicht in Beziehung stehenden Paketen installiert wurden.

Einrichten des API-Zugriffs und dynamischen Apex-Zugriffs in Paketen Ändern der Paketzugriffsberechtigungen in einem von Ihnen oder einem Mitarbeiter in Ihrem Unternehmen erstellten Paket: 1. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN Bearbeiten des API-Zugriffs und dynamischen Apex-Zugriffs für ein von Ihnen erstelltes oder installiertes Paket: • "AppExchange-Pakete erstellen" Annehmen oder Ablehnen des API-Zugriffs oder dynamischen Apex-Zugriffs für ein Paket im Rahmen der Installation: • "AppExchange-Pakete herunterladen"

2. Wählen Sie ein Paket aus. 3. Das Feld API-Zugriff zeigt die aktuelle Einstellung, eingeschränkt oder Uneingeschränkt, und den Link Einschränkungen aktivieren oder Einschränkungen deaktivieren an. Falls die Berechtigungen zum Lesen, Erstellen, Bearbeiten und Löschen in der Einstellung API-Zugriff für Objekte nicht ausgewählt sind, haben die Benutzer über die Paketkomponenten keinen Zugriff auf diese Objekte. Dies gilt auch, wenn die Benutzer die Berechtigungen "Alle Daten modifizieren" und "Alle Daten anzeigen" aufweisen. Über das Feld API-Zugriff können Sie folgende Einstellungen vornehmen: Einschränkungen aktivieren Diese Option ist nur verfügbar, wenn die aktuelle Einstellung Uneingeschränkt ist. Wählen Sie diese Option aus, wenn Sie für Paketkomponenten den dynamischen Apex- und API-Zugriff auf Standardobjekte im Unternehmen der installierenden Person angeben möchten. Bei Auswahl dieser Option wird die Liste der erweiterten Objektberechtigungen angezeigt. Aktivieren Sie die Kontrollkästchen Lesen, Erstellen, Bearbeiten oder Löschen, um den Zugriff für jedes Objekt in der Liste zu ermöglichen. Diese Auswahl ist in einigen Fällen deaktiviert. Klicken Sie auf Speichern, wenn der Vorgang beendet ist. Weitere Informationen zur Auswahl der Option Eingeschränkt und dazu, wann sie deaktiviert ist, finden Sie unter Überlegungen zum API- und dynamischen Apex-Zugriff in Paketen auf Seite 48. Einschränkungen deaktivieren Diese Option ist nur verfügbar, wenn die aktuelle Einstellung Eingeschränkt ist. Aktivieren Sie diese Option, wenn Sie die Apex- und API-Zugriffsberechtigungen von Komponenten im Paket auf standardmäßige und benutzerdefinierte Objekte nicht einschränken möchten. Mit dieser Option werden sämtlichen Komponenten im Paket dieselben API-Zugriffsrechte wie dem angemeldeten Benutzer erteilt. Wenn ein Benutzer beispielsweise auf Accounts zugreifen kann, hat eine Apex-Klasse im Paket, das versucht, auf Accounts zuzugreifen, Erfolg, wenn sie von diesem Benutzer ausgelöst wird.

50

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Eingeschränkt Klicken Sie auf diesen Link, wenn Sie den API-Zugriff bereits eingeschränkt haben und die Einschränkungen bearbeiten möchten.

Annehmen oder Ablehnen von API- und dynamischen Apex-Zugriffsberechtigungen während der Installation -So können Sie die API- und dynamischen Apex-Zugriffsberechtigungen für ein von Ihnen installiertes Paket annehmen oder ablehnen: • Starten Sie die Installation in Force.com AppExchange. • Lassen Sie unter API-Zugriff genehmigen den Zugriff zu, indem Sie auf Weiter klicken, oder lehnen Sie den Zugriff ab, indem Sie auf Abbrechen klicken. Führen Sie die Installationsschritte fertig aus, sofern Sie den Vorgang nicht abgebrochen haben.

Ändern der API- und dynamischen Apex-Zugriffsberechtigungen nach der Installation So bearbeiten Sie die API- und dynamischen Apex-Zugriffsberechtigungen des Pakets nach der Paketinstallation: 1. Geben Sie unter Setup im Feld Schnellsuche den Text Installierte Pakete ein und wählen Sie dann Installierte Pakete aus. 2. Klicken Sie auf den Namen des zu bearbeitenden Pakets. 3. Das Feld API-Zugriff zeigt die aktuelle Einstellung, eingeschränkt oder Uneingeschränkt, und den Link Einschränkungen aktivieren oder Einschränkungen deaktivieren an. Falls die Berechtigungen zum Lesen, Erstellen, Bearbeiten und Löschen in der Einstellung API-Zugriff für Objekte nicht ausgewählt sind, haben die Benutzer über die Paketkomponenten keinen Zugriff auf diese Objekte. Dies gilt auch, wenn die Benutzer die Berechtigungen "Alle Daten modifizieren" und "Alle Daten anzeigen" aufweisen. Über das Feld API-Zugriff können Sie folgende Einstellungen vornehmen: Einschränkungen aktivieren Diese Option ist nur verfügbar, wenn die aktuelle Einstellung Uneingeschränkt ist. Wählen Sie diese Option aus, wenn Sie für Paketkomponenten den dynamischen Apex- und API-Zugriff auf Standardobjekte im Unternehmen der installierenden Person angeben möchten. Bei Auswahl dieser Option wird die Liste der erweiterten Objektberechtigungen angezeigt. Aktivieren Sie die Kontrollkästchen Lesen, Erstellen, Bearbeiten oder Löschen, um den Zugriff für jedes Objekt in der Liste zu ermöglichen. Diese Auswahl ist in einigen Fällen deaktiviert. Klicken Sie auf Speichern, wenn der Vorgang beendet ist. Weitere Informationen zur Auswahl der Option Eingeschränkt und dazu, wann sie deaktiviert ist, finden Sie unter Überlegungen zum API- und dynamischen Apex-Zugriff in Paketen auf Seite 48. Einschränkungen deaktivieren Diese Option ist nur verfügbar, wenn die aktuelle Einstellung Eingeschränkt ist. Aktivieren Sie diese Option, wenn Sie die Apex- und API-Zugriffsberechtigungen von Komponenten im Paket auf standardmäßige und benutzerdefinierte Objekte nicht einschränken möchten. Mit dieser Option werden sämtlichen Komponenten im Paket dieselben API-Zugriffsrechte wie dem angemeldeten Benutzer erteilt. Wenn ein Benutzer beispielsweise auf Accounts zugreifen kann, hat eine Apex-Klasse im Paket, das versucht, auf Accounts zuzugreifen, Erfolg, wenn sie von diesem Benutzer ausgelöst wird. Eingeschränkt Klicken Sie auf diesen Link, wenn Sie den API-Zugriff bereits eingeschränkt haben und die Einschränkungen bearbeiten möchten.

51

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Generieren einer Unternehmens-WSDL mit verwalteten Paketen Wenn Sie eine Unternehmens-WSDL herunterladen und in Ihrer Organisation verwaltete Pakete installiert sind, müssen Sie in einem zusätzlichen Schritt die Version der einzelnen installierten Pakete auswählen, die jeweils in die generierte WSDL aufgenommen werden soll. Die Unternehmens-WSDL ist streng typisiert, was bedeutet, dass sie Objekte und Felder mit bestimmten Datentypen enthält, beispielsweise int und string.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Enterprise,

Als Paketversion wird eine Zahl bezeichnet, die die Reihe von Komponenten identifiziert, die in Performance, Unlimited einem Paket hochgeladen werden. Die Versionsnummer weist das Format und Developer Edition Hauptnummer.Nebennummer.Patchnummer (z. B. 2.1.3) auf. Die Haupt- und die Nebennummer steigen mit jeder Hauptversion auf einen ausgewählten Wert. Die NUTZERBERECHTIGUNGEN Patchnummer wird nur bei Patchversionen generiert und aktualisiert. Herausgeber können mithilfe von Paketversionen die Komponenten in ihren verwalteten Paketen kontrolliert Herunterladen einer WSDL: weiterentwicklen, indem Sie nachfolgende Paketversionen veröffentlichen, ohne vorhandene • “Anwendung anpassen” Integrationen beim Kunden zu unterbrechen, bei denen das Paket zum Einsatz kommt. Ein Abonnent kann eine Paketversion für jedes installierte verwaltete Paket auswählen, damit sein API-Client weiterhin mit einem bestimmten, bekannten Verhalten funktionieren kann, selbst wenn spätere Versionen eines Pakets installiert werden. Jede Paketversion kann Variationen in der Zusammenstellung seiner Objekte und Felder aufweisen. Daher müssen Sie beim Generieren der stark typisierten WSDL eine bestimmte Version auswählen. So laden Sie eine Unternehmens-WSDL herunter, wenn verwaltete Pakete installiert sind: 1. Geben Sie unter Setup im Feld Schnellsuche den Text API ein und wählen Sie dann API aus. 2. Klicken Sie auf Unternehmens-WSDL generieren. 3. Wählen Sie für jedes Ihrer installierten verwalteten Pakete die Paketversion aus. Wenn Sie sich nicht sicher sind, welche Paketversion Sie auswählen sollen, sollten Sie die Standardauswahl (die zuletzt verwendete Paketversion) beibehalten. 4. Klicken Sie auf Generieren. 5. Verwenden Sie das Menü Datei in Ihrem Browser, um die WSDL auf Ihrem Computer zu speichern. 6. Importieren Sie auf Ihrem Computer die lokale Kopie des WSDL-Dokuments in Ihre Entwicklungsumgebung. Beachten Sie bei Ihrer generierten Unternehmens-WSDL folgende Punkte: • Ihre jeweilige Versionsauswahl für das verwaltete Paket ist in einem Kommentar oben in der WSDL angegeben. • Die generierte WSDL enthält die Objekte und Felder in Ihrer Organisation, einschließlich derjenigen, die in den ausgewählten Versionen des jeweiligen installierten Pakets enthalten sind. Wenn ein Feld oder Objekt in einer späteren Paketversion hinzugefügt wird, müssen Sie die Unternehmens-WSDL mit der betreffenden Paketversion generieren, damit sie in Ihrer API-Integration mit dem betreffenden Objekt oder Feld funktioniert. • Der SOAP-Endpunkt am Ende der WSDL enthält einen URL in dem Format serverName/services/Soap/c/api-version/ID. Dabei ist api-version die Version der API, beispielsweise 38.0, und ID codiert Ihre Paketversionsauswahl bei der Kommunikation mit Salesforce. Außerdem können Sie die Standardpaketversionen für die Unternehmens-WSDL auswählen, ohne unter Setup auf der Seite "API" eine WSDL herunterzuladen. Standardpaketversionen für API-Aufrufe bieten Fallback-Einstellungen für den Fall, dass Paketversionen nicht von einem API-Aufruf bereitgestellt werden. Viele API-Clients enthalten keine Paketversionsinformationen, sodass in den Standardeinstellungen das bestehende Verhalten für diese Clients beibehalten wird.

52

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Grundlegendes zu Abhängigkeiten Paketabhängigkeiten werden erstellt, wenn eine Komponente eine andere Komponente, Berechtigung oder Einstellung referenziert, die erforderlich ist, damit die Komponente gültig ist. Force.com verfolgt bestimmte Abhängigkeiten, zu denen etwa folgende zählen: • Unternehmensabhängigkeiten, beispielsweise Mehrfachwährungen bzw. Kampagnen, sind aktiviert. • Komponentenspezifische Abhängigkeiten, beispielsweise Angabe dazu, ob bestimmte Datensatztypen oder Unternehmensbereiche vorhanden sind • Verweise auf Standardobjekte und benutzerdefinierte Objekte sowie Standardfelder und benutzerdefinierte Felder Pakete, Apex-Klassen, Apex-Auslöser, Visualforce-Komponenten und Visualforce-Seiten können Abhängigkeiten von Komponenten innerhalb einer Organisation aufweisen. Diese Abhängigkeiten werden auf der Seite “Abhängigkeiten anzeigen” aufgeführt. Abhängigkeiten sind für die Paketerstellung von großer Bedeutung, da jede Abhängigkeit in einer Komponente eines Pakets als Abhängigkeit des gesamten Pakets gilt. Anmerkung: Die Organisation der installierenden Person muss sämtliche auf der Seite Abhängigkeiten anzeigen aufgeführten Abhängigkeitskriterien erfüllen. Andernfalls schlägt die Installation fehl. So müssen im Unternehmen der installierenden Person beispielsweise Unternehmensbereiche aktiviert sein, um ein Paket installieren zu können, das Unternehmensbereiche referenziert. Abhängigkeiten sind wichtig für Apex-Klassen und -Auslöser, da jede Komponente, von der eine Klasse oder ein Auslöser abhängt, in der Klasse bzw. im Auslöser enthalten sein muss, wenn der Code bereitgestellt oder in ein Paket aufgenommen wird. Neben den Abhängigkeiten wird auch der Operationsumfang auf der Seite “Abhängigkeiten anzeigen” angezeigt. Beim Operationsumfang handelt es sich um eine Tabelle, in der alle Datenbankmanipulationssprachen-Operationen (DML-Operationen) wie insert oder merge aufgeführt werden, die Apex für ein bestimmtes Objekt ausführt. Über den Operationsumfang kann bei der Installation einer Anwendung der volle Umfang der Datenbankoperationen der Anwendung ermittelt werden.

AUSGABEN Verfügbarkeit: Salesforce Classic AppExchange-Pakete und Visualforce sind verfügbar in: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition Apex ist verfügbar in: Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN Hochladen von Paketen: • "AppExchange-Pakete hochladen" So zeigen Sie Apex-Abhängigkeiten an: • "Autor-Apex" So zeigen Sie Visualforce-Abhängigkeiten an: • “Entwicklermodus”

So zeigen Sie die Abhängigkeiten und den Operationsumfang eines Pakets, einer Apex-Klasse, eines Apex-Auslösers oder einer Visualforce-Seite an: 1. Navigieren Sie über "Setup" zur gewünschten Komponente: • Geben Sie für Pakete im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. • Geben Sie für Apex-Klassen im Feld Schnellsuche den Text Apex-Klassen ein und wählen Sie dann Apex-Klassen aus. • Wechseln Sie für Apex-Auslöser in den Verwaltungseinstellungen für das entsprechende Objekt zu "Auslöser". • Geben Sie für Visualforce-Seiten im Feld Schnellsuche den Text Visualforce-Seiten ein und wählen Sie dann Visualforce-Seiten aus. 2. Wählen Sie den Namen der Komponente aus. 3. Klicken Sie bei Paketen sowie allen anderen Komponenten auf Abhängigkeiten anzeigen, um eine Liste der Objekte anzuzeigen, die von der ausgewählten Komponente abhängen.

53

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Wenn eine Liste der abhängigen Objekte angezeigt wird, klicken Sie auf Felder, um auf das Detail auf Feldebene des Operationsumfangs zuzugreifen. Das Detail auf Feldebene enthält beispielsweise Informationen darüber, ob das Feld von Apex aktualisiert wird. Weitere Informationen finden Sie unter Operationsumfang des Felds. Pakete, Apex-Code und Visualforce-Seiten können von vielen Komponenten abhängen. Hier einige Beispiele: • Benutzerdefinierte Felddefinitionen • Validierungsformeln • Berichte • Datensatztypen • Apex • Visualforce-Seiten und Komponenten Falls eine Visualforce-Seite beispielsweise einen Verweis auf ein Mehrfachwährungsfeld wie {!contract.ISO_code} enthält, hängt diese Visualforce-Seite von einer Mehrfachwährung ab. Wenn ein Paket diese Visualforce-Seite enthält, hängt es ebenfalls von der Mehrfachwährung ab. Um dieses Paket in einem Unternehmen installieren zu können, muss die Option für Mehrfachwährungen aktiviert sein. SIEHE AUCH: Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen Veröffentlichen von Erweiterungen zu verwalteten Paketen

Umfeldzentrum Im Umfeldzentrum können Sie von einem Standort aus mehrere Salesforce-Organisationen verbinden, erstellen, anzeigen und sich bei ihnen anmelden. Wenn Ihr Unternehmen über mehrere Umgebungen für Entwicklung, Testen und Testversionen verfügt, können Sie mithilfe des Umfeldzentrums Ihre Organisationsverwaltung optimieren. Im Umfeldzentrum können Sie folgende Aufgaben ausführen: • Verbinden bestehender Organisationen mit dem Zentrum mithilfe der automatischen Erkennung verbundener Organisationen. • Erstellen von Organisationen mit Standard oder Partner Edition für Entwicklung, Prüfung und Testversionen.

AUSGABEN Verfügbarkeit: Salesforce Classic und Lightning Experience Verfügbarkeit: Enterprise, Performance und Unlimited Edition

• Anzeigen und Filtern von Zentrumsmitgliedern nach ausgewählten Kriterien, wie beispielsweise Edition, Erstelldatum, Instanz, Ursprung und SSO-Status. • Erstellen von Single Sign On (SSO)-Benutzerzuordnungen für einen einfachen Anmeldezugriff auf Zentrumsmitglieder. Jede Zentrumsmitgliedsorganisation entspricht einem EnvironmentHubMember-Objekt. EnvironmentHubMember ist ein Standardobjekt, das "Accounts" oder "Kontakte" ähnelt. Das bedeutet, dass Sie die Plattform verwenden können, um das Umfeldzentrum programmgesteuert zu erweitern. Sie können beispielsweise für jede Mitgliedsorganisation benutzerdefinierte Felder erstellen, Workflow-Regeln einrichten oder Benutzerzuordnungen definieren und den Zugriff per SSO mithilfe der API aktivieren.

54

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

IN DIESEM ABSCHNITT: Erste Schritte für das Umfeldzentrum Konfigurieren Sie das Umfeldzentrum so, dass Benutzer in Ihrem Unternehmen auf die Anwendung zugreifen und Mitgliedsorganisationen erstellen und verwalten können. Aktivieren Sie dann "Meine Domäne", sodass Sie bestehende Organisationen mit dem Zentrum verbinden und SSO-Benutzerzuordnungen erstellen können. Verwalten von Organisationen im Umfeldzentrum Sie können all Ihre bestehenden Salesforce-Organisationen von einem zentralen Standort aus verwalten, indem Sie sie mit dem Umfeldzentrum verbinden. Sie können Organisationen auch mithilfe der Salesforce-Vorlagen für Entwicklung, Prüfung und Testversionen erstellen. Single Sign On im Umfeldzentrum Wenn Sie Anwendungen entwickeln, testen und bereitstellen, müssen Sie zwischen mehreren Salesforce-Umgebungen wechseln und jedes Mal Anmeldeinformationen eingeben. Single Sign On (SSO) vereinfacht diesen Prozess, da sich damit Umfeldzentrum-Benutzer bei Mitgliedsorganisationen anmelden können, ohne sich immer wieder neu authentifizieren zu müssen. Sie können SSO einrichten, indem Sie Benutzerzuordnungen manuell definieren oder eine entsprechende Formel erstellen. Umfeldzentrum – Bewährte Methoden Beachten Sie bei der Verwendung des Umfeldzentrums die folgenden Richtlinien und bewährten Vorgehensweisen. Häufig gestellte Fragen zum Umfeldzentrum Antworten auf häufige Fragen zum Umfeldzentrum. Überlegungen zum Umfeldzentrum in Lightning Experience Berücksichtigen Sie beim Erstellen und Verwalten von Organisationen im Umfeldzentrum die folgenden Überlegungen.

Erste Schritte für das Umfeldzentrum Konfigurieren Sie das Umfeldzentrum so, dass Benutzer in Ihrem Unternehmen auf die Anwendung zugreifen und Mitgliedsorganisationen erstellen und verwalten können. Aktivieren Sie dann "Meine Domäne", sodass Sie bestehende Organisationen mit dem Zentrum verbinden und SSO-Benutzerzuordnungen erstellen können. IN DIESEM ABSCHNITT: Konfigurieren des Umfeldzentrums Aktivieren Sie das Umfeldzentrum in Ihrer Organisation und konfigurieren Sie es, um anderen Benutzern Zugriff darauf zu gewähren.

AUSGABEN Verfügbarkeit: Salesforce Classic und Lightning Experience Verfügbarkeit: Enterprise, Performance und Unlimited Edition

Aktivieren von "Meine Domäne" für das Umfeldzentrum "Meine Domäne" ist erforderlich, damit Sie bestehende Organisationen mit dem Umfeldzentrum verbinden und SSO-Benutzerzuordnungen erstellen können. Aktivieren Sie also "Meine Domäne" in der Organisation, in der das Umfeldzentrum installiert ist.

Konfigurieren des Umfeldzentrums Aktivieren Sie das Umfeldzentrum in Ihrer Organisation und konfigurieren Sie es, um anderen Benutzern Zugriff darauf zu gewähren.

NUTZERBERECHTIGUNGEN

1. Wenden Sie sich zur Aktivierung des Umfeldzentrums in Ihrer Organisation an Salesforce. Wenn Sie ein ISV-Partner sind, können Sie diesen Schritt überspringen. Das Umfeldzentrum ist bereits in Ihrer Partner-Geschäftsorganisation installiert.

Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

55

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

2. Melden Sie sich bei der Organisation an, in der das Umfeldzentrum aktiviert ist, und wechseln Sie dann zu "Setup". 3. Weisen Sie den Benutzern Zugriff auf Funktionen im Umfeldzentrum zu. a. Geben Sie unter "Setup" im Feld Schnellsuche den Text Profile ein und wählen Sie dann Profile aus. b. Erstellen Sie ein Profil oder bearbeiten Sie ein vorhandenes. c. Bearbeiten Sie die Einstellungen des Profils. Abschnitt "Profil"

Umfeldzentrum-Einstellungen

Einstellungen für benutzerdefinierte Anwendungen

Aktivieren Sie die benutzerdefinierte Umfeldzentrums-Anwendung, damit sie im App Launcher in Lightning Experience oder im Anwendungsmenü in Salesforce Classic verfügbar ist.

Zugriff auf verbundene Anwendung

Sofern Sie von Salesforce keine anderen Anweisungen erhalten haben, passen Sie in diesem Abschnitt des Profils keine Einstellungen an.

Serviceanbieter-Zugriff

Wenn Sie Single Sign On (SSO) in einer Mitgliedsorganisation aktivieren, werden in diesem Abschnitt des Profils neue Einträge angezeigt. Die Einträge werden im Format Serviceanbieter [Organisations-ID] angezeigt, wobei Organisations-ID die ID der Mitgliedsorganisation ist. Benutzern, die keinen Zugriff auf den Serviceanbieter haben, wird manchmal diese Meldung angezeigt, wenn sie versuchen, sich über SSO anzumelden: "Benutzer '[Benutzer-ID]' hat keinen Zugriff auf diesen Serviceanbieter '[Serviceanbieter-ID]'." Wenn Sie das Umfeldzentrum in einer neuen Organisation konfigurieren, ist dieser Abschnitt leer.

Administrative Berechtigungen

Aktivieren Sie "Umfeldzentrum verwalten", um den Benutzern Folgendes zu ermöglichen: • Erstellen von Organisationen für Entwicklung, Prüfung und Testversionen • Konfigurieren von SSO für Mitgliedsorganisationen

Allgemeine Benutzerberechtigungen

Aktivieren Sie "Organisation mit Umfeldzentrum verbinden", damit die Benutzer vorhandene Organisationen mit dem Umfeldzentrum verbinden können.

Standardobjektberechtigungen

Gewähren Sie Objektberechtigungen, die auf den für die jeweiligen Umfeldzentrum-Benutzer erforderlichen Zugriffsstufen basieren. Zentrumsmitglieds-Objekt: • "Lesen": Datensätze bestehender Zentrumsmitglieder anzeigen. • "Erstellen": Diese Berechtigung hat keine Auswirkungen auf die Möglichkeit zur Erstellung von

56

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Abschnitt "Profil"

Umfeldzentrum-Einstellungen Zentrumsmitgliedsdatensätzen. Das liegt daran, dass die Datensatzerstellung durch Verbinden einer vorhandenden Organisation oder durch Erstellen einer Organisation im Umfeldzentrum erfolgt. • "Bearbeiten": Datensätze bestehender Zentrumsmitglieder bearbeiten. • "Löschen": Eine Organisation aus dem Zentrum "trennen" und ihren entsprechenden Zentrumsmitgliedsdatensatz und Serviceanbieterdatensatz (falls für das Mitglied SSO aktiviert war) löschen. • "Alle anzeigen": Alle Zentrumsmitgliedsdatensätze lesen, unabhängig davon, wer sie erstellt hat. • "Alle ändern": Alle Zentrumsmitgliedsdatensätze lesen, bearbeiten und löschen, unabhängig davon, wer sie erstellt hat. Objekt "Einladungen zum Zentrum": • Wenn die Berechtigung "Organisation mit Umfeldzentrum verbinden" aktiviert wird, aktivieren Sie auch "Erstellen", "Lesen", "Aktualisieren" und "Löschen" für "Einladungen zum Zentrum". Registrierungsanforderungsobjekt: • Aktivieren Sie, wenn Sie die Berechtigung "Umfeldzentrum verwalten" aktivieren, "Erstellen" und "Lesen" für "Registrierungsanforderungen", um es Benutzern zu erlauben, Organisationen zu erstellen. Aktivieren Sie optional "Löschen", um es Benutzern zu erlauben, Organisationen aus dem Zentrum zu löschen.

d. Wählen Sie Speichern.

Aktivieren von "Meine Domäne" für das Umfeldzentrum "Meine Domäne" ist erforderlich, damit Sie bestehende Organisationen mit dem Umfeldzentrum verbinden und SSO-Benutzerzuordnungen erstellen können. Aktivieren Sie also "Meine Domäne" in der Organisation, in der das Umfeldzentrum installiert ist. 1. Finden Sie einen Domainnamen und registrieren Sie ihn. a. Geben Sie unter "Setup" im Feld Schnellsuche den Text Meine Domäne ein und wählen Sie dann Meine Domäne aus.

NUTZERBERECHTIGUNGEN Einrichten von Domänennamen: • "Anwendung anpassen"

b. Geben Sie den Unterdomänennamen ein, den Sie im Beispiel-URL verwenden möchten. c. Wählen Sie Verfügbarkeit überprüfen. Wählen Sie einen anderen Namen aus, wenn der gewählte bereits verwendet wird. d. Wählen Sie Bedingungen, um die Vereinbarung einzusehen, und aktivieren Sie dann das Kontrollkästchen.

57

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

e. Wählen Sie Domäne registrieren. Sobald Ihre neue Domäne zum Testen bereit ist, erhalten Sie eine entsprechende Bestätigungs-E-Mail von Salesforce. 2. Testen Sie den Domänennamen und stellen Sie ihn für die Organisation bereit. a. Klicken Sie auf den URL in der E-Mail, um sich mit Ihrem neuen Domänennamen bei Salesforce anzumelden. Alternativ geben Sie unter "Setup" im Feld Schnellsuche den Text Meine Domäne ein, wählen Sie Meine Domäne und anschließend Zum Anmelden hier klicken aus. b. Testen Sie die neue Domäne, indem Sie in Ihrer Organisation auf Registerkarten und Links klicken. Beachten Sie, dass auf allen Seiten Ihr neuer Domänenname angezeigt wird. Tipp: Wenn Sie in Ihrer Organisation benutzerdefinierte Schaltflächen oder Visualforce-Seiten verwenden, testen Sie sie vor der Bereitstellung des neuen Domänennamens. Verwenden Sie in Ihren Anpassungen keine instanzbasierten URLs. c. Um den neuen Domänennamen für Ihre Organisation bereitzustellen, geben Sie unter "Setup" im Feld Schnellsuche den Text Meine Domäne ein, wählen Sie Meine Domäne und anschließend Benutzern bereitstellen aus. Die Domäne wird sofort aktiviert und die Benutzer werden auf Seiten mit der neuen Domäne umgeleitet. 3. Legen Sie die Anmelderichtlinie der Domäne für Benutzer fest, die auf Ihre Seiten zugreifen. a. Geben Sie unter "Setup" im Feld Schnellsuche den Text Meine Domäne ein und wählen Sie dann Meine Domäne aus. b. Wählen Sie unter "Meine Domäneneinstellungen" Bearbeiten aus. c. Um die Authentifizierung für Benutzer, die nicht ihre domänenspezifische Anmeldeseite verwenden, zu deaktivieren, wählen Sie die Anmelderichtlinie aus. Diese Option erhöht die Sicherheit, indem Anmeldeversuche von Personen verhindert werden, die Ihren Domänennamen nicht kennen. d. Wählen Sie basierend auf Ihrer gewünschten Sicherheitsebene eine Umleitungsrichtlinie aus. Sie haben die folgenden 3 Möglichkeiten (Reihenfolge nach steigender Sicherheit): • Leiten Sie Benutzer auf dieselbe Seite in der Domäne um. • Leiten Sie Benutzer mit einer Warnung um. • Verhindern Sie die Umleitung, indem Sie Benutzer den neuen Domänennamen eingeben lassen.

Verwalten von Organisationen im Umfeldzentrum Sie können all Ihre bestehenden Salesforce-Organisationen von einem zentralen Standort aus verwalten, indem Sie sie mit dem Umfeldzentrum verbinden. Sie können Organisationen auch mithilfe der Salesforce-Vorlagen für Entwicklung, Prüfung und Testversionen erstellen. IN DIESEM ABSCHNITT: Verbinden von Organisation mit dem Umfeldzentrum Sie können bestehende Salesforce-Organisationen mit dem Umfeldzentrum verbinden und so all Ihre Umgebungen für Entwicklung, Prüfung und Testversionen von einem Standort aus verwalten. Wenn Sie eine Organisation mit dem Zentrum verbinden, werden zugehörige Organisationen automatisch erkannt, sodass Sie diese nicht manuell verbinden müssen.

58

AUSGABEN Verfügbarkeit: Salesforce Classic und Lightning Experience Verfügbarkeit: Enterprise, Performance und Unlimited Edition

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Erstellen einer Organisation über das Umfeldzentrum Über das Umfeldzentrum können Sie Organisationen für Entwicklung, Prüfung und Testversionen erstellen. Wenn Sie ein ISV-Partner sind, können Sie auch Organisationen der Partner Edition mit höheren Obergrenzen, größerem Speicher und anderen Anpassungen zur Unterstützung der Anwendungsentwicklung erstellen. Wenn Sie eine Organisation über das Umfeldzentrum erstellen, wird dieses ein Zentrumsmitglied, dessen Standardsprache durch das Gebietsschema des Benutzers festgelegt wird.

Verbinden von Organisation mit dem Umfeldzentrum Sie können bestehende Salesforce-Organisationen mit dem Umfeldzentrum verbinden und so all Ihre Umgebungen für Entwicklung, Prüfung und Testversionen von einem Standort aus verwalten. Wenn Sie eine Organisation mit dem Zentrum verbinden, werden zugehörige Organisationen automatisch erkannt, sodass Sie diese nicht manuell verbinden müssen. Folgende Arten zugehöriger Organisationen werden automatisch erkannt. • Bei allen Organisationen alle aus ihnen erstellten Sandbox-Organisationen • Bei Organisationen der Version alle zugehörigen Patch-Organisationen

NUTZERBERECHTIGUNGEN Verbinden von Organisationen mit dem Umfeldzentrum: • "Organisation mit Umfeldzentrum verbinden"

• Bei Trialforce-Managementorganisationen alle darüber erstellten Trialforce-Quellorganisationen • Bei Organisationen, in denen die License Management App (LMA) installiert ist, alle Organisationen der Version mit einem verwalteten Paket, das in der LMA registriert wurde. Anmerkung: Sie können eine Sandbox-Organisation nicht direkt mit dem Umfeldzentrum verbinden. Wenn Sie eine Sandbox verbinden möchten, müssen Sie zunächst die zum Erstellen der Sandbox verwendete Organisation mit dem Umfeldzentrum verbinden. Aktualisieren Sie dann die Sandbox-Organisation. Durch die Aktualisierung wird sie automatisch als ein Zentrumsmitglied hinzugefügt. 1. Melden Sie sich beim Umfeldzentrum an und wählen Sie Organisation verbinden. 2. Geben Sie den Admin-Benutzernamen für die Organisation, für die Sie eine Verbindung herstellen möchten, und optional eine Kurzbeschreibung ein. Mithilfe einer Beschreibung können Sie die Organisation später leichter finden, insbesondere wenn Ihr Zentrum viele Mitglieder besitzt. 3. Standardmäßig ist Single Sign On (SSO) für die verbundene Organisation aktiviert. Zur Deaktivierung von SSO deaktivieren Sie die Option SSO für diese Organisation automatisch aktivieren. 4. Wählen Sie erneut Organisation verbinden aus. 5. Geben Sie im Popup-Fenster den Benutzernamen und das Kennwort des Administrators der Organisation ein. Wenn Ihnen das Popup-Fenster nicht angezeigt wird, deaktivieren Sie vorübergehend die Software zum Blockieren von Werbeanzeigen in Ihrem Browser und versuchen Sie es erneut. 6. Wählen Sie Anmelden und anschließend Zulassen aus.

Erstellen einer Organisation über das Umfeldzentrum Über das Umfeldzentrum können Sie Organisationen für Entwicklung, Prüfung und Testversionen erstellen. Wenn Sie ein ISV-Partner sind, können Sie auch Organisationen der Partner Edition mit höheren Obergrenzen, größerem Speicher und anderen Anpassungen zur Unterstützung der Anwendungsentwicklung erstellen. Wenn Sie eine Organisation über das Umfeldzentrum erstellen, wird dieses ein Zentrumsmitglied, dessen Standardsprache durch das Gebietsschema des Benutzers festgelegt wird. Anmerkung: Sie können pro Tag bis zu 20 Organisationen erstellen. Wenn Sie mehr Organisationen erstellen, legen Sie in der Partner-Community einen Kundenvorgang an.

59

NUTZERBERECHTIGUNGEN Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

1. Melden Sie sich beim Umfeldzentrum an und wählen Sie Organisation erstellen. 2. Wählen Sie einen Zweck für die Organisation aus. Zweck

Hiermit können Sie Folgendes erstellen:

Entwicklung

Organisationen der Developer Edition, um Anwendungen und Pakete von Anwendungen zu erstellen.

Test/Demo

Testversionen von standardmäßigen Salesforce-Organisationen zu Test- und Demozwecken. Diese Organisationen ähneln denen, die Kunden unter www.salesforce.com/trial erstellen. Wenn Sie eine Organisation vom Typ "Test/Demo" erstellen, können Sie eine Trialforce-Vorlage angeben, wenn die Organisation Ihre Anpassungen enthalten soll.

Trialforce

Trialforce-Quellorganisationen (TSOs) können im Umfeldzentrum erstellt und alternativ zu einer Trialforce-Verwaltungsorganisation verwendet werden. Verwenden Sie zum Erstellen von TSOs das Umfeldzentrum, es sei denn, Sie benötigen benutzerdefiniertes Branding auf Ihrer Anmeldeseite oder in E-Mails.

3. Geben Sie die für den ausgewählten Organisationstyp erforderlichen Informationen ein. 4. Lesen Sie den Rahmen-Abonnementvertrag und wählen Sie dann das entsprechende Kontrollkästchen aus. 5. Wählen Sie Erstellen. Sobald Ihre Organisation bereit ist, erhalten Sie eine Bestätigungs-E-Mail und die Organisation wird in der Liste der Zentrumsmitglieder angezeigt.

Single Sign On im Umfeldzentrum Wenn Sie Anwendungen entwickeln, testen und bereitstellen, müssen Sie zwischen mehreren Salesforce-Umgebungen wechseln und jedes Mal Anmeldeinformationen eingeben. Single Sign On (SSO) vereinfacht diesen Prozess, da sich damit Umfeldzentrum-Benutzer bei Mitgliedsorganisationen anmelden können, ohne sich immer wieder neu authentifizieren zu müssen. Sie können SSO einrichten, indem Sie Benutzerzuordnungen manuell definieren oder eine entsprechende Formel erstellen. Im Umfeldzentrum werden folgenden SSO-Methoden für die Benutzerzuordnung unterstützt. SSO-Methode

Beschreibung

Zugeordnete Benutzer

Ordnen Sie Benutzer im Umfeldzentrum manuell Benutzern in einer Mitgliedsorganisation zu. Die Standardmethode für SSO-Benutzerzuordnungen, die über die Mitgliedsdetailseite definiert werden, lautet "Zugeordnete Benutzer".

Verbund-ID

Ordnen Sie die Benutzer zu, die sowohl im Umfeldzentrum als auch in einer Mitgliedsorganisationen über dieselbe Verbund-ID verfügen.

Benutzernamensformel

Ordnen Sie Benutzer im Umfeldzentrum über eine von Ihnen definierte Formel Benutzern in einer Mitgliedsorganisation zu.

60

AUSGABEN Verfügbarkeit: Salesforce Classic und Lightning Experience Verfügbarkeit: Enterprise, Performance und Unlimited Edition

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Wenn Sie mehrere SSO-Methoden angeben, werden sie in der folgenden Reihenfolge evaluiert: (1) Zugeordnete Benutzer, (2) Verbund-ID und (3) Benutzernamensformel. Die erste Methode, die eine Übereinstimmung ergibt, wird zur Anmeldung des Benutzers verwendet, und die anderen Methoden werden ignoriert. Wenn kein passender Benutzer gefunden wird, wird der Benutzer über das Umfeldzentrum zur standardmäßigen Salesforce-Anmeldeseite weitergeleitet. Anmerkung: SSO kann für neu hinzugefügte Benutzer oder für in einer Sandbox-Organisation definierte Benutzerzuordnungen nicht verwendet werden. Nur in der übergeordneten Organisation für die Sandbox sollten Benutzer hinzugefügt, Benutzerinformationen bearbeitet oder SSO-Benutzerzuordnungen definiert werden. IN DIESEM ABSCHNITT: Aktivieren von SSO für eine Mitgliedsorganisation Sie können Single Sign On (SSO) aktivieren, damit sich Umfeldzentrum-Benutzer bei einer Mitgliedsorganisation anmelden können, ohne sich erneut authentifizieren zu müssen. Definieren von SSO-Benutzerzuordnungen Sie können Single Sign On (SSO)-Benutzerzuordnungen zwischen einem Benutzer im Umfeldzentrum und einem Benutzer in einer Zentrumsmitgliedsorganisation manuell definieren. Bevor Sie eine Benutzerzuordnung definieren, aktivieren Sie SSO in der Zentrumsmitgliedsorganisation. Verwenden einer Verbund-ID oder einer Formel für SSO Sie können einen Umfeldzentrum-Benutzer über eine Verbund-ID oder eine Benutzernamensformel zu einem Benutzer in einer Mitgliedsorganisation zuordnen. Für beide Methoden müssen Sie zunächst SSO in der Zentrumsmitgliedsorganisation aktivieren. Deaktivieren von SSO für eine Mitgliedsorganisation Wenn Sie möchten, dass sich Benutzer des Umfeldzentrums bei der Anmeldung bei einer Mitgliedsorganisation erneut authentifizieren, können Sie SSO deaktivieren. Durch die Deaktivierung von SSO werden die von Ihnen definierten Benutzerzuordnungen nicht entfernt und Sie können SSO zu einem späteren Zeitpunkt wieder aktivieren.

Aktivieren von SSO für eine Mitgliedsorganisation Sie können Single Sign On (SSO) aktivieren, damit sich Umfeldzentrum-Benutzer bei einer Mitgliedsorganisation anmelden können, ohne sich erneut authentifizieren zu müssen.

NUTZERBERECHTIGUNGEN

1. Melden Sie sich beim Umfeldzentrum an und wählen Sie dann eine Mitgliedsorganisation aus. Wenn Sie keine Mitgliedsorganisationen sehen können, sehen Sie in Ihrer Listenansicht nach.

Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

2. Wählen Sie SSO aktivieren aus. 3. Bestätigen Sie, das Sie SSO für diese Organisation aktivieren möchten, und wählen Sie erneut SSO aktivieren aus.

Definieren von SSO-Benutzerzuordnungen Sie können Single Sign On (SSO)-Benutzerzuordnungen zwischen einem Benutzer im Umfeldzentrum und einem Benutzer in einer Zentrumsmitgliedsorganisation manuell definieren. Bevor Sie eine Benutzerzuordnung definieren, aktivieren Sie SSO in der Zentrumsmitgliedsorganisation. Benutzerzuordnungen können eine n:1-Beziehung, aber keine 1:n-Beziehung darstellen. Anders ausgedrückt bedeutet dies, dass Sie mehrere Benutzer im Umfeldzentrum einem Benutzer in

61

NUTZERBERECHTIGUNGEN Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

einer Mitgliedsorganisation zuordnen können. Wenn Sie beispielsweise möchten, dass sich alle Mitglieder Ihres QS-Teams bei einer Testorganisation als derselbe Benutzer anmelden, können Sie Benuterzuordnungen definieren. 1. Melden Sie sich beim Umfeldzentrum an und wählen Sie dann eine Mitgliedsorganisation aus. Wenn Sie keine Mitgliedsorganisationen sehen können, sehen Sie in Ihrer Listenansicht nach. 2. Wechseln Sie zur Themenliste"Single Sign-On-Benutzerzuordnungen" und wählen Sie Neue SSO-Benutzerzuordnung aus. 3. Geben Sie den Benutzernamen des Benutzers an, den Sie in der Mitgliedsorganisation zuordnen möchten, und schlagen Sie dann einen Benutzer im Umfeldzentrum nach. 4. Wählen Sie Speichern.

Verwenden einer Verbund-ID oder einer Formel für SSO Sie können einen Umfeldzentrum-Benutzer über eine Verbund-ID oder eine Benutzernamensformel zu einem Benutzer in einer Mitgliedsorganisation zuordnen. Für beide Methoden müssen Sie zunächst SSO in der Zentrumsmitgliedsorganisation aktivieren. 1. Melden Sie sich beim Umfeldzentrum an und wählen Sie dann eine Mitgliedsorganisation aus. Wenn Sie keine Mitgliedsorganisationen sehen können, sehen Sie in Ihrer Listenansicht nach.

NUTZERBERECHTIGUNGEN Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

2. Wechseln Sie zu den SSO-Einstellungen und wählen Sie eine Methode aus. Methode

Schritte

SSO-Methode 2 – Verbund-ID

Aktivieren Sie das Kontrollkästchen.

SSO-Methode 3 – Benutzernamensformel

Aktivieren Sie das Kontrollkästchen und definieren Sie anschließend eine Formel. Wenn Sie beispielsweise den ersten Teil des Benutzernamens (den Teil vor dem @-Zeichen) mit einem expliziten Domänennamen abgleichen möchten, geben Sie Folgendes ein: LEFT($User.Username, FIND("@", $User.Username)) & ("mydev.org")

3. Wählen Sie Speichern.

Deaktivieren von SSO für eine Mitgliedsorganisation Wenn Sie möchten, dass sich Benutzer des Umfeldzentrums bei der Anmeldung bei einer Mitgliedsorganisation erneut authentifizieren, können Sie SSO deaktivieren. Durch die Deaktivierung von SSO werden die von Ihnen definierten Benutzerzuordnungen nicht entfernt und Sie können SSO zu einem späteren Zeitpunkt wieder aktivieren. 1. Melden Sie sich beim Umfeldzentrum an und wählen Sie dann eine Mitgliedsorganisation aus. Wenn Sie keine Mitgliedsorganisationen sehen können, sehen Sie in Ihrer Listenansicht nach.

NUTZERBERECHTIGUNGEN Einrichten und Konfigurieren des Umfeldzentrums: • "Umfeldzentrum verwalten"

2. Wählen Sie SSO deaktivieren. 3. Bestätigen Sie, das Sie SSO für diese Organisation deaktivieren möchten, und wählen Sie erneut SSO deaktivieren aus.

62

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Umfeldzentrum – Bewährte Methoden Beachten Sie bei der Verwendung des Umfeldzentrums die folgenden Richtlinien und bewährten Vorgehensweisen.

AUSGABEN

• Wenn Sie ein Administrator oder Entwickler sind, wählen sie die Organisation als Zentrumsorganisation aus, die Ihr Team am häufigsten verwendet. Wenn Sie ein ISV-Partner sind, ist das Umfeldzentrum bereits in Ihrer Partner-Geschäftsorganisation installiert.

Verfügbarkeit: Salesforce Classic und Lightning Experience

• Richten Sie "Meine Domäne" zusätzlich zur Zentrumsorganisation für jede Mitgliedsorganisation ein. Da "Meine Domäne" immer einen eindeutigen Domänen-URL enthält, kann hiermit leichter zwischen den für Entwicklungs-, Test- und Probezwecke verwendeten Mitgliedsorganisationen unterschieden werden.

Verfügbarkeit: Enterprise, Performance und Unlimited Edition

• Da es sich bei jeder Mitgliedsorganisation um ein Standardobjekt (vom Typ "EnvironmentHubMember") handelt, können Sie das Verhalten ändern oder programmgesteuert darauf zugreifen. Sie können beispielsweise für jede Mitgliedsorganisation benutzerdefinierte Felder erstellen, Workflow-Regeln einrichten oder Benutzerzuordnungen definieren und den Zugriff per Single Sign On mithilfe der API aktivieren. • Entscheiden Sie sich basierend auf den Sicherheitsanforderungen Ihres Unternehmens für eine Strategie zum Aktivieren des Zugriffs per SSO. Wählen Sie anschließend die SSO-Methode (explizite Zuordnung, Verbund-ID oder benutzerdefinierte Formel) aus, die am besten zu Ihren Anforderungen passt. • SSO kann für neu hinzugefügte Benutzer oder für in einer Sandbox-Organisation definierte Benutzerzuordnungen nicht verwendet werden. Nur in der übergeordneten Organisation für die Sandbox sollten Benutzer hinzugefügt, Benutzerinformationen bearbeitet oder SSO-Benutzerzuordnungen definiert werden. • Die verbundene Umfeldzentrums-Anwendung ist nur für die interne Verwendung vorgesehen. Aktivieren Sie sie nicht für alle Profile. Sofern nicht anders von Salesforce angewiesen, löschen Sie die verbundene Anwendung nicht und passen Sie ihre Einstellungen nicht an.

Häufig gestellte Fragen zum Umfeldzentrum Antworten auf häufige Fragen zum Umfeldzentrum.

AUSGABEN

IN DIESEM ABSCHNITT:

Verfügbarkeit: Salesforce Classic und Lightning Experience

Kann das Umfeldzentrum in Lightning Experience verwendet werden? Wo wird das Umfeldzentrum installiert? Muss für das Umfeldzentrum "Meine Domäne" verwendet werden? Kann das Umfeldzentrum in mehr als einer Organisation installiert werden?

Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition

Kann das Umfeldzentrum in einer Sandbox-Organisation aktiviert werden? Welche Organisationstypen können im Umfeldzentrum erstellt werden? Wie wird das Gebietsschema für die im Umfeldzentrum selbsterstellten Organisationen bestimmt? Entsprechen die im Umfeldzentrum erstellten Organisationen denen, die im Partnerportal erstellt wurden? Kann eine Organisation Mitglied von mehreren Umfeldzentren sein? Kann das Umfeldzentrum deaktiviert werden?

Kann das Umfeldzentrum in Lightning Experience verwendet werden? Ja, sowohl Salesforce Classic als auch Lightning Experience unterstützen das Umfeldzentrum.

63

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Wo wird das Umfeldzentrum installiert? Wenn Sie ein ISV-Partner sind, ist das Umfeldzentrum bereits in Ihrer Partner-Geschäftsorganisation installiert. Installieren Sie das Umfeldzentrum andernfalls in einer Organisation (beispielsweise Ihrer CRM-Organisation), auf die alle Ihre Benutzer zugreifen können. Installieren Sie das Umfeldzentrum nicht in einer Developer Edition-Organisation, die Ihr verwaltetes Paket enthält. Dadurch können beim Hochladen einer neuen Paketversion oder Übertragen eines Upgrades per Push-Vorgang an Kunden Probleme auftreten.

Muss für das Umfeldzentrum "Meine Domäne" verwendet werden? Nein, "Meine Domäne" ist nicht erforderlich. Wenn Sie "Meine Domäne" jedoch nicht einrichten, können Sie vorhandene Organisationen weder mit dem Umfeldzentrum verbinden noch Single Sign-On verwenden, um sich bei Mitgliederorganisationen anzumelden. Salesforce empfiehlt, beim Konfigurieren des Umfeldzentrums "Meine Domäne" einzurichten.

Kann das Umfeldzentrum in mehr als einer Organisation installiert werden? Ja, Sie müssen jedes Umfeldzentrum jedoch unabhängig voneinander verwalten. Obwohl Salesforce ein Umfeldzentrum pro Unternehmen empfiehlt, könnten sich verschiedene Zentren für Ihr Unternehmen als sinnvoll erweisen. Zum Beispiel, wenn Sie Organisationen separat beibehalten möchten, die mit Produktlinien verknüpft sind.

Kann das Umfeldzentrum in einer Sandbox-Organisation aktiviert werden? Nein, das Umfeldzentrum kann in einer Sandbox-Organisation nicht aktiviert werden. Aktivieren Sie das Umfeldzentrum in einer Produktionsorganisation, auf die alle Ihre Benutzer zugreifen können.

Welche Organisationstypen können im Umfeldzentrum erstellt werden? Sie können Organisationen für die Entwicklung, für die Prüfung und für Testversionen erstellen. ISV-Partner können auch Organisationen der Partner Edition mit höheren Obergrenzen, größerem Speicher und anderen Anpassungen zur Unterstützung der Anwendungsentwicklung erstellen. Protokollieren Sie einen Kundenvorgang in der Partner-Community, wenn Sie ein Partner sind, die Partner Edition-Organisationen im Umfeldzentrum jedoch nicht anzeigen können. Organisationstyp

Bester Verwendungszweck

Läuft ab nach

Group Edition

Testen

30 Tage

Enterprise Edition

Testen

30 Tage

Professional Edition

Testen

30 Tage

Partner Developer Edition

Entwickeln von Anwendungen und Lightning-Komponenten

Nie

Partner Group Edition

Zuverlässige Test- und Kundendemos

1 Jahr, sofern Sie keine Erweiterung anfordern

Partner Enterprise Edition

Zuverlässige Test- und Kundendemos

1 Jahr, sofern Sie keine Erweiterung anfordern

Partner Professional Edition

Zuverlässige Test- und Kundendemos

1 Jahr, sofern Sie keine Erweiterung anfordern

Trialforce-Quellorganisation

Erstellen von Trialforce-Vorlagen

1 Jahr, sofern Sie keine Erweiterung anfordern

64

Packen und Verteilen von Anwendungen

Festlegen des Entwicklungsprozesses

Organisationstyp

Bester Verwendungszweck

Läuft ab nach

Beratungspartner-Edition

Kundendemos

1 Jahr, sofern Sie keine Erweiterung anfordern

Wie wird das Gebietsschema für die im Umfeldzentrum selbsterstellten Organisationen bestimmt? Ihr Salesforce-Benutzergebietsschema bestimmt das Standard-Gebietsschema für die von Ihnen erstellten Organisationen. Wenn Ihr Benutzergebietsschema beispielsweise auf Deutsch (Deutschland) festgelegt ist, ist dieses das Standard-Gebietsschema für die von Ihnen erstellten Organisationen. Auf diese Weise sind die von Ihnen erstellten Organisationen bereits für die Regionen angepasst, in denen sie sich befinden.

Entsprechen die im Umfeldzentrum erstellten Organisationen denen, die im Partnerportal erstellt wurden? Ja, die Organisationen sind mit denen von Ihnen im Partnerportal erstellten identisch. Das Umfeldzentrum verwendet dieselben Vorlagen. Daher verfügen die Organisationen über dieselben Anpassungen, beispielsweise höhere Obergrenzen und mehr Lizenzen. Sie können das Umfeldzentrum auch verwenden, um dieselben Organisationen der Group, Professional und Enterprise Edition zu erstellen, die von Kunden verwendet werden. Auf diese Weise können Sie Ihre Anwendung auf realistische Kundenimplementierungen testen.

Kann eine Organisation Mitglied von mehreren Umfeldzentren sein? Nein, eine Organisation kann jeweils nur Mitglied von einem Umfeldzentrum sein. Nachdem Sie eine Organisation mit dem Umfeldzentrum verbunden haben, müssen Sie sich an den Salesforce-Kundensupport wenden, um die Verknüpfung zu unterbrechen.

Kann das Umfeldzentrum deaktiviert werden? Nachdem Sie das Umfeldzentrum in einer Organisation installiert haben, können Sie es nicht mehr deaktivieren. Sie können das Umfeldzentrum jedoch für Benutzer ausblenden. Wechseln Sie zu "Setup", geben Sie im Feld "Schnellsuche" den Text Anwendungsmenü ein und wählen Sie dann Anwendungsmenü aus. Im "Anwendungsmenü" können Sie auswählen, ob eine Anwendung ausgeblendet oder eingeblendet werden soll.

Überlegungen zum Umfeldzentrum in Lightning Experience Berücksichtigen Sie beim Erstellen und Verwalten von Organisationen im Umfeldzentrum die folgenden Überlegungen.

AUSGABEN

Listenansichtseinschränkungen Zentrumsmitglieder können beim Erstellen oder Aktualisieren von Listenansichten in Lightning Experience nicht nach dem Ablaufdatum der Organisation gefiltert werden. Wenn Sie über eine Listenansicht verfügen, die ein Ablaufdatum der Organisation in den zugehörigen Filterkriterien aufweist, funktioniert diese Listenansicht in Lightning Experience nicht. Wechseln Sie zum Filtern der Zentrumsmitglieder nach Ablaufdatum der Organisation zu Salesforce Classic und verwenden Sie dann die Listenansicht.

Verfügbarkeit: Salesforce Classic und Lightning Experience

65

Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition

Packen und Verteilen von Anwendungen

Lösen von Fehlschlägen beim APEX-Test

Lösen von Fehlschlägen beim APEX-Test Möglicherweise können Paketinstallationen oder -Upgrades nicht durchgeführt werden, da sie den Apex-Test nicht abdecken. In einigen Fällen kann dies jedoch ignoriert werden. So schreibt ein Entwickler möglicherweise einen Apex-Test, bei dem gewisse Faktoren bezüglich der Daten eines Abonnenten vorausgesetzt werden. Wenn Sie ein Abonnent sind, dessen Installation aufgrund eines Apex-Tests nicht durchgeführt werden kann, wenden Sie sich an den Paketentwickler, um Hilfe zu erhalten.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

Falls Sie ein Entwickler sind und eine Installation aufgrund eines Fehlers im Zusammenhang mit dem Apex-Test nicht durchgeführt werden kann, überprüfen Sie Folgendes: • Achten Sie darauf, alle für den Apex-Test erforderlichen Daten bereitzustellen; verlassen Sie sich nicht auf die vorhandenen Abonnentendaten. • Falls ein Abonnent eine Validierungsregel, ein erforderliches Feld oder einen Auslöser für ein Objekt erstellt, auf das sich Ihr Paket bezieht, schlägt Ihr Test möglicherweise fehl, sofern eine DML-Operation für das entsprechende Objekt ausgeführt wird. Falls dieses Objekt lediglich zu Testzwecken und niemals während der Laufzeit erstellt wird und die Erstellung aufgrund der beschriebenen Konflikte fehlschlägt, können Sie den Fehler problemlos ignorieren und den Test fortsetzen. Wenden Sie sich andernfalls an den Kunden und ermitteln Sie das Ausmaß.

Ausführen von Apex bei Paketinstallation/-Upgrade Anwendungsentwickler können ein Apex-Skript angeben, das automatisch ausgeführt wird, nachdem ein Abonnent ein verwaltetes Paket installiert oder aufgerüstet hat. Dies ermöglicht die individuelle Anpassung der Paketinstallation bzw. des Paket-Upgrades auf der Grundlage genauer Angaben über die Abonnentenorganisationen. Beispielsweise können Sie mithilfe des Skripts benutzerdefinierte Einstellungen ausfüllen, Beispieldaten erstellen, eine E-Mail an die installierende Person senden, ein externes System benachrichtigen oder einen Stapelvorgang starten, mit dem ein neues Feld in einer großen Datenmenge automatisch ausgefüllt wird. Der Einfachheit halber können Sie nur ein einziges Post-Installations-Skript angeben. Es muss sich um eine Apex-Klasse handeln, die Mitglied des Pakets ist. Das Post-Installations-Skript wird aufgerufen, nachdem Tests durchgeführt wurden, und unterliegt den Standard-Obergrenzen. Es wird als spezieller Systembenutzer ausgeführt, der Ihr Paket repräsentiert, so dass es den Anschein hat, als würden alle vom Skript ausgeführten Vorgänge von Ihrem Paket ausgeführt. Sie können über "UserInfo" auf diesen Benutzer zugreifen. Dieser Benutzer wird nur während der Laufzeit angezeigt, nicht während der Testausführung. Wenn das Skript fehlschlägt, wird der Installations- bzw. Upgrade-Vorgang abgebrochen. Alle Fehler im Skript werden per E-Mail an den im Feld Bei Apex-Fehler benachrichtigen des Pakets angegebenen Benutzer gesendet. Wenn kein Benutzer angegeben wurde, sind die Installations-/Upgrade-Details nicht verfügbar. Das Post-Installations-Skript weist die folgenden zusätzlichen Eigenschaften auf: • Es kann Batchaufträge, geplante Aufträge und zukünftige Aufträge initiieren. • Es kann nicht auf Sitzungs-IDs zugreifen. • Es kann Callouts nur mittels eines asynchronen Vorgangs durchführen. Das Callout erfolgt, nachdem das Skript ausgeführt wurde, die Installation vollständig ist und das Commit erfolgt ist. Anmerkung: Sie können kein Post-Installations-Skript in einem neuen Testunternehmen ausführen, das über Trialforce bereitgestellt wird. Das Skript wird nur ausgeführt, wenn ein Abonnent Ihr Paket in einer bestehenden Organisation installiert. IN DIESEM ABSCHNITT: Wie funktionieren Post-Installations-Skripts?

66

Packen und Verteilen von Anwendungen

Ausführen von Apex bei Paketinstallation/-Upgrade

Beispiel für ein Post-Installations-Skript Angabe eines Post-Installations-Skripts

Wie funktionieren Post-Installations-Skripts? Ein Post-Installations-Skript ist eine Apex-Klasse, die die InstallHandler-Schnittstelle implementiert. Diese Schnittstelle weist eine einzelne Methode namens onInstall auf, mit der die bei der Installation durchzuführenden Aktionen angegeben werden. global interface InstallHandler { void onInstall(InstallContext context) }

Die Methode onInstall verwendet ein Kontextobjekt als Argument, das folgende Informationen angibt: • Die Organisations-ID der Organisation, in der die Installation stattfindet. • Die Benutzer-ID des Benutzers, der die Installation initiierte. • Die Versionsnummer des zuvor installierten Pakets (angegeben mithilfe der Klasse Version). Es handelt sich hierbei stets um eine dreiteilige Nummer, wie beispielsweise 1.2.0. • Ob es sich bei der Installation um ein Upgrade handelt. • Ob es sich bei der Installation um eine Push-Installation handelt. Das Kontextargument ist ein Objekt, dessen Typ die InstallContext-Schnittstelle ist. Diese Schnittstelle wird automatisch vom System implementiert. Die folgende Definition der InstallContext-Schnittstelle zeigt die Methoden, die Sie für das Kontextargument aufrufen können. global interface InstallContext { ID organizationId(); ID installerId(); Boolean isUpgrade(); Boolean isPush(); Version previousVersion(); }

Versionsmethoden und -klassen Sie können die Methoden in der Klasse System.Version verwenden, um die Version eines verwalteten Pakets abzurufen und Paketversionen zu vergleichen. Als Paketversion wird eine Zahl bezeichnet, die Komponenten identifiziert, die in einem Paket hochgeladen werden. Die Versionsnummer weist das Format Hauptnummer.Nebennummer.Patchnummer (z. B. 2.1.3) auf. Die Haupt- und die Nebennummer steigen mit jeder Version, bei der es sich nicht um ein Patch handelt, auf einen ausgewählten Wert. Für die Erhöhung der Haupt- und Nebennummer wird stets die Patchnummer 0 verwendet. Im Folgenden sehen Sie Instanzmethoden für die Klasse System.Version. Methode

Argumente

Rückgabetyp

compareTo

System.Version version Ganze Zahl

Beschreibung Vergleicht die aktuelle Version mit der angegebenen Version und gibt einen der folgenden Werte zurück: • 0, wenn die aktuelle Paketversion gleich der angegebenen Paketversion ist • Einen ganzzahligen Wert größer null, wenn die aktuelle Paketversion größer ist als die angegebene Paketversion

67

Packen und Verteilen von Anwendungen

Methode

Argumente

Ausführen von Apex bei Paketinstallation/-Upgrade

Rückgabetyp

Beschreibung • Einen ganzzahligen Wert kleiner null, wenn die aktuelle Paketversion kleiner ist als die angegebene Paketversion Wenn eine zweiteilige Versionsnummer mit einer dreiteiligen Versionsnummer verglichen wird, wird die Patchnummer ignoriert und dem Vergleich werden nur Haupt- und die Nebennummer zugrunde gelegt.

major

Ganze Zahl

Gibt die Hauptnummer der Paketversion des aufrufenden Codes zurück.

minor

Ganze Zahl

Gibt die Patchnummer der Paketversion des aufrufenden Codes zurück.

Patch

Ganze Zahl

Gibt die Paket-Patchversionsnummer des aufrufenden Codes zurück oder null, wenn es keine Patchversion gibt.

Die Klasse System enthält zwei Methoden, mit denen Sie bedingte Logik angeben können, sodass unterschiedliche Paketversionen ein unterschiedliches Verhalten aufweisen. • System.requestVersion: Gibt eine zweiteilige Versionsnummer zurück, die die Haupt- und Nebenversionsnummer eines Pakets enthält. Mit dieser Methode können Sie die Version einer installierten Instanz Ihres Pakets ermitteln, von der aus der aufrufende Code auf Ihr Paket verweist. Auf der Basis der Version des aufrufenden Codes können Sie das Verhalten Ihres Paketcodes anpassen. • System.runAs(System.Version): Ändert die aktuelle Paketversion in die im Argument angegebene Paketversion. Wenn ein Abonnent mehrere Versionen Ihres Pakets installiert hat und Code schreibt, der Apex-Klassen oder Auslöser in Ihrem Paket referenziert, muss jeweils die referenzierte Version ausgewählt werden. Sie können verschiedene Codepfade im Apex-Code Ihres Pakets ausführen, je nach der Versionseinstellung des aufrufenden Apex-Codes, der die Referenz vornimmt. Sie können die Paketversionseinstellung des aufrufenden Codes ermitteln, indem Sie die Methode System.requestVersion im Paketcode aufrufen. SIEHE AUCH: Apex Developer Guide: Version Class (Versionsklasse)

Beispiel für ein Post-Installations-Skript Das unten stehende Beispiel-Post-Installations-Skript führt folgende Aktionen bei der Paket-Installation bzw. beim Paket-Upgrade durch: • Wenn die vorherige Version NULL ist, das Paket also zum ersten Mal installiert wird, führt das Skript folgende Aktionen durch: – Es erstellt einen neuen Account ("Newco") und überprüft dessen Erstellung. – Es erstellt eine neue Instanz des benutzerdefinierten Objekts "Survey" mit der Bezeichnung "Client Satisfaction Survey". – Es sendet eine E-Mail an den Abonnenten, in der die Installation des Pakets bestätigt wird. • Wenn die vorherige Version 1.0 lautet, erstellt das Skript eine neue Instanz von "Survey" mit der Bezeichnung "Upgrading from Version 1.0".

68

Packen und Verteilen von Anwendungen

Ausführen von Apex bei Paketinstallation/-Upgrade

• Wenn es sich bei dem Paket um ein Upgrade handelt, erstellt das Skript eine neue Instanz von "Survey" mit der Bezeichnung "Sample Survey during Upgrade". • Wenn das Upgrade per Push-Vorgang verteilt wird, erstellt das Skript eine neue Instanz von "Survey" mit der Bezeichnung "Sample Survey during Push". global class PostInstallClass implements InstallHandler { global void onInstall(InstallContext context) { if(context.previousVersion() == null) { Account a = new Account(name='Newco'); insert(a); Survey__c obj = new Survey__c(name='Client Satisfaction Survey'); insert obj; User u = [Select Id, Email from User where Id =:context.installerID()]; String toAddress= u.Email; String[] toAddresses = new String[]{toAddress}; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(toAddresses); mail.setReplyTo('[email protected]'); mail.setSenderDisplayName('My Package Support'); mail.setSubject('Package install successful'); mail.setPlainTextBody('Thanks for installing the package.'); Messaging.sendEmail(new Messaging.Email[] { mail }); } else if(context.previousVersion().compareTo(new Version(1,0)) == 0) { Survey__c obj = new Survey__c(name='Upgrading from Version 1.0'); insert(obj); } if(context.isUpgrade()) { Survey__c obj = new Survey__c(name='Sample Survey during Upgrade'); insert obj; } if(context.isPush()) { Survey__c obj = new Survey__c(name='Sample Survey during Push'); insert obj; } } }

Sie können Post-Installations-Skripts mithilfe der neuen Methode testInstall der KlasseTest testen. Diese Methode verwendet folgende Argumente: • Eine Klasse, die die InstallHandler-Schnittstelle implementiert. • Ein Version-Objekt, das die Versionsnummer des bestehenden Pakets angibt. • Ein optionaler boolescher Wert, der true (wahr) ist, wenn es sich um eine Push-Installation handelt. Die Standardvorgabe lautet false (falsch). In diesem Beispiel wird gezeigt, wie ein in der Apex-Klasse PostInstallClass implementiertes Post-Installations-Skript getestet werden kann. @isTest static void testInstallScript() {

69

Packen und Verteilen von Anwendungen

Ausführen von Apex bei Paketdeinstallation

PostInstallClass postinstall = new PostInstallClass(); Test.testInstall(postinstall, null); Test.testInstall(postinstall, new Version(1,0), true); List a = [Select id, name from Account where name ='Newco']; System.assertEquals(a.size(), 1, 'Account not found'); }

Angabe eines Post-Installations-Skripts Nachdem Sie das Post-Installations-Skript erstellt und getestet haben, können Sie im Nachschlagefeld Post-Installations-Skript auf der Seite "Paketdetails" genauere Angaben dazu machen. In darauf folgenden Patch-Versionen können Sie die Inhalte des Skripts ändern, nicht jedoch die Apex-Klasse. Die Klassenauswahl steht außerdem als Package.postInstallClass über die Metadaten-API zur Verfügung. Dies wird in der Datei package.xml als foo-Element dargestellt.

Ausführen von Apex bei Paketdeinstallation Anwendungsentwickler können ein Apex-Skript angeben, das automatisch ausgeführt wird, nachdem ein Abonnent ein verwaltetes Paket deinstalliert hat. Dies ermöglicht die Durchführung von Bereinigungs- und Benachrichtigungsaufgaben auf der Grundlage genauer Angaben über die Abonnentenorganisationen.Der Einfachheit halber können Sie nur ein einziges Deinstallationsskript angeben. Es muss sich um eine Apex-Klasse handeln, die Mitglied des Pakets ist. Das Deinstallationsskript unterliegt den Standard-Obergrenzen. Es wird als spezieller Systembenutzer ausgeführt, der Ihr Paket repräsentiert, so dass es den Anschein hat, als würden alle vom Skript ausgeführten Vorgänge von Ihrem Paket ausgeführt. Sie können über "UserInfo" auf diesen Benutzer zugreifen. Dieser Benutzer wird nur während der Laufzeit angezeigt, nicht während der Testausführung. Wenn das Skript fehlschlägt, wird der Deinstallationsvorgang fortgesetzt, es erfolgt jedoch kein Commit für die vom Skript durchgeführten Änderungen. Alle Fehler im Skript werden per E-Mail an den im Feld Bei Apex-Fehler benachrichtigen des Pakets angegebenen Benutzer gesendet. Wenn kein Benutzer angegeben wurde, sind die Deinstallationsdetails nicht verfügbar. Für das Deinstallationsskript gelten folgende Einschränkungen: Es kann nicht verwendet werden, um Batchaufträge, geplante Aufträge und zukünftige Aufträge zu initiieren, auf Sitzungs-IDs zuzugreifen oder Callouts durchzuführen. IN DIESEM ABSCHNITT: Wie funktionieren Deinstallationsskripts? Beispiel für ein Deinstallationsskript Angabe eines Deinstallationsskripts

Wie funktionieren Deinstallationsskripts? Ein Deinstallationsskript ist eine Apex-Klasse, die die UninstallHandler-Schnittstelle implementiert. Diese Schnittstelle weist eine einzelne Methode namens onUninstall auf, mit der die bei der Deinstallation durchzuführenden Aktionen angegeben werden. global interface UninstallHandler { void onUninstall(UninstallContext context) }

Die Methode onUninstall verwendet ein Kontextobjekt als Argument, das folgende Informationen angibt: • Die Organisations-ID der Organisation, in der die Deinstallation stattfindet.

70

Packen und Verteilen von Anwendungen

Ausführen von Apex bei Paketdeinstallation

• Die Benutzer-ID des Benutzers, der die Deinstallation initiierte. Das Kontextargument ist ein Objekt, dessen Typ die UninstallContext-Schnittstelle ist. Diese Schnittstelle wird automatisch vom System implementiert. Die folgende Definition der UninstallContext-Schnittstelle zeigt die Methoden, die Sie für das Kontextargument aufrufen können. global interface UninstallContext { ID organizationId(); ID uninstallerId(); }

Beispiel für ein Deinstallationsskript Das unten stehende Beispiel-Deinstallationsskript führt folgende Aktionen bei der Paket-Deinstallation durch: • Fügt einen Eintrag in den Feed ein, der beschreibt, von welchem Benutzer und in welcher Organisation die Deinstallation durchgeführt wurde. • Erstellt und versendet eine E-Mail, mit der diesem Benutzer die Deinstallation bestätigt wird. global class UninstallClass implements UninstallHandler { global void onUninstall(UninstallContext ctx) { FeedItem feedPost = new FeedItem(); feedPost.parentId = ctx.uninstallerID(); feedPost.body = 'Thank you for using our application!'; insert feedPost; User u = [Select Id, Email from User where Id =:ctx.uninstallerID()]; String toAddress= u.Email; String[] toAddresses = new String[] {toAddress}; Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); mail.setToAddresses(toAddresses); mail.setReplyTo('[email protected]'); mail.setSenderDisplayName('My Package Support'); mail.setSubject('Package uninstall successful'); mail.setPlainTextBody('Thanks for uninstalling the package.'); Messaging.sendEmail(new Messaging.Email[] { mail }); } }

Sie können Deinstallationsskripts mithilfe der Methode testUninstall der KlasseTest testen. Diese Methode verwendet als Argument eine Klasse, die die UninstallHandler-Schnittstelle implementiert. In diesem Beispiel wird gezeigt, wie ein in der Apex-Klasse UninstallClass implementiertes Deinstallationsskript getestet werden kann. @isTest static void testUninstallScript() { Id UninstallerId = UserInfo.getUserId(); List feedPostsBefore = [SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY]; Test.testUninstall(new UninstallClass()); List feedPostsAfter = [SELECT Id FROM FeedItem WHERE parentId=:UninstallerId AND CreatedDate=TODAY]; System.assertEquals(feedPostsBefore.size() + 1, feedPostsAfter.size(),

71

Packen und Verteilen von Anwendungen

Entwickeln von Dokumentation für Anwendungen

'Post to uninstaller failed.'); }

Angabe eines Deinstallationsskripts Nachdem Sie das Deinstallationsskript erstellt und getestet und es in Ihr Paket aufgenommen haben, können Sie im Nachschlagefeld Deinstallationsskript auf der Seite "Paketdetails" genauere Angaben dazu machen. In darauf folgenden Patch-Versionen können Sie die Inhalte des Skripts ändern, nicht jedoch die Apex-Klasse. Die Klassenauswahl steht außerdem als Package.uninstallClass über die Metadaten-API zur Verfügung. Dies wird in der Datei package.xml als foo-Element dargestellt.

Entwickeln von Dokumentation für Anwendungen Salesforce empfiehlt, in AppExchange eine Anwendung mit folgenden Dokumentationstypen zu veröffentlichen:

AUSGABEN

Konfigurationsoption Für Personen, die Ihre Anwendung installieren, können Sie die Option Konfigurieren bereitstellen. Diese Option kann beispielsweise mit folgenden Installations- und Konfigurationsdetails verknüpft werden:

Verfügbarkeit: Salesforce Classic

• Beschaffung des externen Service für eine zusammengesetzte Anwendung • Benutzerdefinierte Anwendungseinstellungen

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

Die Option Konfigurieren ist in Ihrem Paket als benutzerdefinierter Link enthalten. Sie können für Ihre Startseitenlayouts einen benutzerdefinierten Link erstellen und ihn zu Ihrem Paket hinzufügen. 1. Erstellen Sie einen benutzerdefinierten Link zu einem URL, der Konfigurationsinformationen oder die Visualforce-Seite enthält, die die Konfiguration implementiert. Wenn Sie einen benutzerdefinierten Link erstellen, wählen Sie für die Anzeigeeigenschaften In separatem Popup-Fenster öffnen aus, sodass der Benutzer zu derselben Salesforce-Seite zurückkehrt, wenn er fertig ist. 2. Wählen Sie diesen benutzerdefinierten Link im Feld Benutzerdefinierten Link konfigurieren Ihrer Paketdetails aus, wenn Sie das Paket erstellen. Datenblatt Stellen Sie den Personen, die Ihre Anwendung installieren sollen, die grundlegenden Daten zur Verfügung, die sie über ihre Anwendung wissen müssen. Anleitungen für Anpassungen und Verbesserungen Teilen Sie den Installationsbenutzern mit, welche Anpassungen sie nach der Installation im Rahmen ihrer Implementierung vornehmen müssen. Benutzerdefinierte Hilfe Sie können benutzerdefinierte Hilfe für Ihre benutzerdefinierten Objektdatensätze und Ihre benutzerdefinierten Felder bereitstellen. SIEHE AUCH: Grundlegendes zu Paketen Zuweisen von Force.com AppExchange-Herausgebern

72

Packen und Verteilen von Anwendungen

Zuweisen von Force.com AppExchange-Herausgebern

Zuweisen von Force.com AppExchange-Herausgebern Benutzer, die Pakete in AppExchange veröffentlichen, müssen über die folgenden Benutzerberechtigungen verfügen:

AUSGABEN

Force.com AppExchange-Pakete erstellen Ermöglicht es einem Benutzer, Pakete zu erstellen und Komponenten hinzuzufügen.

Verfügbarkeit: Salesforce Classic

Force.com AppExchange-Pakete hochladen Ermöglicht es einem Benutzer, Pakete in AppExchange hochzuladen und zu registrieren bzw. dort zu veröffentlichen.

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

Das Systemadministratorprofil weist automatisch beide Berechtigungen auf. Ermitteln Sie, welche Benutzer über diese Berechtigung verfügen sollten, und weisen Sie ihnen dann die entsprechenden Benutzerprofile oder Berechtigungssätze zu. NUTZERBERECHTIGUNGEN Zuweisen von Berechtigungen: • “Anwendung anpassen”

SIEHE AUCH: Grundlegendes zu Paketen Entwickeln von Dokumentation für Anwendungen

Konvertieren von nicht verwalteten Paketen in verwaltete Pakete Ihre Organisation hat möglicherweise bereits Pakete in das Force.com AppExchange-Verzeichnis hochgeladen und dort registriert. Alle Pakete, die vor dem Winter '07-Release hochgeladen wurden, sind nicht verwaltet. Dies bedeutet, dass für sie im Unternehmen der installierenden Person kein Upgrade vorgenommen werden kann. Sie können diese Pakete in verwaltete Pakete konvertieren, indem Sie Ihre Organisation für verwaltete Pakete konfigurieren und ein zu verwaltendes Paket auswählen. Dadurch können Sie die Personen, die Installationen durchführen, darüber informieren, wenn ein Upgrade für sie zur Installation bereitsteht.

AUSGABEN

Bevor Sie ein bestehendes Paket in ein verwaltetes Paket konvertieren, sollten Sie die Personen, die das Paket derzeit installiert haben, davon in Kenntnis setzen, wie sie ihre Daten speichern können:

Paket-Uploads und Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

1. Export sämtlicher Daten aus der früheren, nicht verwalteten Version des Pakets. 2. Deinstallation des nichtverwalteten Pakets. 3. Installation der neuen, verwalteten Version des Pakets.

Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

4. Importieren aller exportierten Daten in das neue verwaltete Paket. Anmerkung: Hinweis für installierende Personen: Wenn Sie an einer Installation eines nicht verwalteten Pakets Anpassungen vorgenommen haben, sollten Sie vor der Deinstallation eine Liste dieser Anpassungen erstellen, da Sie sie sicherlich erneut implementieren möchten. Allerdings sind einige Anpassungen bei verwalteten Paketen nicht möglich. Konvertieren eines nicht verwalteten Pakets in ein verwaltetes Paket: 1. Aktivieren Sie verwaltete Pakete für Ihre Organisation 2. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 3. Bearbeiten Sie das Paket, das verwaltet werden soll, und wählen Sie dann Verwaltet aus.

73

NUTZERBERECHTIGUNGEN Konfigurieren von Entwicklereinstellungen: • “Anwendung anpassen” Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Verteilen von Anwendungen

ACHTUNG: Für die Konvertierung eines nicht verwalteten Pakets in ein verwaltetes Paket muss ein Namespace-Präfix registriert werden, das sich auf die API-Namen eindeutig benannter Paketkomponenten, wie beispielsweise von benutzerdefinierten Feldern oder S-Controls, auswirkt. In der S-Control-Bibliothek oder auf der Registerkarte “Dokumente” gespeicherte S-Controls, die die Force.com-API nicht verwenden, funktionieren nach der Registrierung eines Namespace-Präfix weiterhin ordnungsgemäß. Für außerhalb Ihrer Organisation gespeicherte S-Controls und S-Controls, die die Force.com-API zum Aufrufen von Salesforce verwenden, kann jedoch eine gewisse Feinabstimmung erforderlich sein. Weitere Informationen finden Sie unter S-Control in der Object Reference (in englischer Sprache). SIEHE AUCH: Verwalten von Paketen Erstellen von verwalteten Paketen

Verteilen von Anwendungen Vorbereiten der Anwendungen für die Verteilung Wenn Sie bereit sind, Ihr Paket zu verteilen, müssen Sie festlegen, ob Sie ein verwaltetes oder ein nicht verwaltetes Paket veröffentlichen möchten.

AUSGABEN

1. Erstellen von Paketen:

Verfügbarkeit: Salesforce Classic

a. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. b. Klicken Sie auf Neu. c. Geben Sie einen Namen für das Paket ein. Dabei muss es sich nicht um denselben Namen handeln, der in AppExchange angezeigt wird.

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

d. Wählen Sie im Dropdown-Menü die Standardsprache sämtlicher Komponentenbezeichnungen im Paket aus.

NUTZERBERECHTIGUNGEN

e. Sie können auch einen benutzerdefinierten Link im Feld Benutzerdefinierten Link konfigurieren auswählen, um Konfigurationsinformationen für Benutzer anzuzeigen, die Ihre Anwendung installieren. Sie können einen vorab definierten benutzerdefinierten Link zu einem URL oder S-Control auswählen, den Sie für Ihre Startseitenlayouts erstellt haben; ziehen Sie die Option “Konfigurieren” auf Seite 72 zurate. Der benutzerdefinierte Link wird in Salesforce auf den Download-Seiten von Force.com AppExchange und den Anwendungsdetailseiten der Organisation der installierenden Person als Link vom Typ Konfigurieren angezeigt.

Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete hochladen"

f. Optional können Sie im Feld Bei Apex-Fehler benachrichtigen den Benutzernamen der Person eingeben, die eine E-Mail-Benachrichtigung erhalten soll, wenn in Apex eine Ausnahme auftritt, die nicht vom Apex-Code behandelt wird. Wenn Sie keinen Benutzernamen angeben, wird für jede nicht behandelte Ausnahme eine E-Mail-Benachrichtigung erstellt, die an Salesforce gesendet wird. Dies ist nur für verwaltete Pakete verfügbar. Anmerkung: Apex kann nur von Organisationen mit Developer, Enterprise, Unlimited und Performance Edition verwaltet werden. g. Optional können Sie im Feld Bei Paketerstellungsfehler benachrichtigen die E-Mail-Adresse der Person eingeben, die eine E-Mail-Benachrichtigung erhalten soll, falls bei dem Versuch eines Abonnenten, eine Anwendung in einem Paket zu installieren, zu aktualisieren oder zu deinstallieren, ein Fehler auftritt. Dieses Feld wird nur angezeigt, wenn

74

Packen und Verteilen von Anwendungen

Vorbereiten der Anwendungen für die Verteilung

Benachrichtigungen bei Paketerstellungsfehlern aktiviert sind. Wenden Sie sich zur Aktivierung von Benachrichtigungen an Ihren Ansprechpartner bei Salesforce. h. Geben Sie optional eine Beschreibung ein, die das Paket beschreibt. Sie können diese Beschreibung ändern, bevor Sie sie in AppExchange hochladen. i. Optional können Sie ein Post-Installations-Skript angeben. Dabei handelt es sich um ein Apex-Skript, das nach der Installation oder dem Upgrade des Pakets in der Abonnentenorganisation ausgeführt wird. Weitere Informationen finden Sie unterAusführen von Apex bei Paketinstallation/-Upgrade. j. Optional können Sie ein Deinstallationsskript angeben. Dabei handelt es sich um ein Apex-Skript, das nach der Deinstallation des Pakets in der Abonnentenorganisation ausgeführt wird. Weitere Informationen finden Sie unter Ausführen von Apex bei Paketdeinstallation. k. Klicken Sie auf Speichern. 2. Salesforce setzt die Zugriffsrechte für Ihre Paket-API auf Uneingeschränkt. Sie können diese Einstellung ändern, um den API-Zugriff von Salesforce-Komponenten im Paket weiter einzuschränken. Weitere Informationen finden Sie unter Verwalten des API-Zugriffs und dynamischen Apex-Zugriffs in Paketen auf Seite 50. 3. Fügen Sie die erforderlichen Komponenten für Ihre Anwendung hinzu. a. Klicken Sie auf Komponenten hinzufügen. b. Wählen Sie aus der Dropdownliste den Komponententyp, den Sie dem Paket hinzufügen möchten. • Um die Inhalte der sortierten Spalte anzuzeigen, die mit einem bestimmten Buchstaben beginnen, klicken Sie oben in der Liste auf den entsprechenden Buchstaben. • Um zur nächsten (oder vorherigen) Komponentengruppe zu gelangen, klicken Sie auf den Link Nächste Seite (bzw. Vorherige Seite), sofern verfügbar. • Wählen Sie unten in der Liste (wenn verfügbar) die Option weniger oder mehr aus, um eine kürzere bzw. längere Anzeigeliste zu erhalten. c. Wählen Sie die Komponenten aus, die Sie hinzufügen möchten. d. Klicken Sie auf Zu Paket hinzufügen. e. Wiederholen Sie diese Schritte, bis Sie alle Komponenten hinzugefügt haben, die das Paket enthalten soll. Anmerkung: • Einige zugehörige Komponenten werden automatisch in das Paket aufgenommen, auch wenn sie u. U. nicht in der Liste mit den Paketelementen aufgeführt sind. Wenn Sie beispielsweise einem Paket ein benutzerdefiniertes Objekt hinzufügen, werden die zugehörigen benutzerdefinierten Felder, Seitenlayouts und Beziehungen mit Standardobjekten automatisch hinzugefügt. • Wenn Sie ein Paket mit einem verbundenen Bericht erstellen, werden die einzelnen Blöcke in das Paket aufgenommen. Die Blöcke werden zwar in den Paketen als Berichte angezeigt, wenn Sie jedoch auf einen Block klicken, so wird eine Fehlermeldung angezeigt, die besagt, dass Sie nicht über ausreichende Berechtigungen für die Anzeige des Berichts verfügen. Hierbei handelt es sich um erwartungsgemäßes Verhalten. Klicken Sie zur Ausführung stattdessen auf den Namen des verbundenen Berichts. 4. Bei Bedarf können Sie auf Abhängigkeiten anzeigen klicken und eine Liste der Komponenten überprüfen, die von anderen Komponenten, Berechtigungen oder Einstellungen im Paket abhängen. Eine Einheit kann beispielsweise ein S-Control, ein standardmäßiges oder benutzerdefiniertes Feld oder eine organisationsweite Einstellung, wie mehrere Währungen, enthalten. Ihr Paket kann nur installiert werden, wenn auch die aufgeführten Komponenten aktiviert bzw. installiert werden. Weitere Informationen zu Abhängigkeiten finden Sie unter Grundlegendes zu Abhängigkeiten auf Seite 53. Klicken Sie auf Fertig, um zur Paketdetailseite zurückzukehren.

75

Packen und Verteilen von Anwendungen

Vorbereiten der Anwendungen für die Verteilung

Anmerkung: Pakete, die eines der folgenden Elemente enthalten, können nicht hochgeladen werden: • Worfklowregeln oder Workflowaktionen (wie Feldaktualisierungen oder ausgehende Nachrichten), die auf Datensatztypen verweisen. • Berichte, die auf Datensatztypen in Standardobjekten verweisen. 5. Klicken Sie auf Hochladen. Anmerkung: Wenn Sie ein verwaltetes Paket erstellen, das in AppExchange veröffentlicht werden soll, müssen Sie Ihre Anwendung zertifizieren lassen, bevor Sie sie in ein Paket integrieren können. Weitere Informationen finden Sie im Artikel zur Sicherheitsprüfung bei AppExchange. 6. Gehen Sie auf der Seite zum Hochladen von Paketen wie folgt vor: a. Geben Sie einen Versionsnamen ein. Es ist nützlich, eine kurze Beschreibung und das Datum anzugeben. b. Geben Sie eine Versionsnummer für den Upload ein, beispielsweise 1.0. Das Format lautethauptnummer.nebennummer. Anmerkung: Wenn Sie eine neue Patch-Version hochladen, können Sie die Patch-Nummer nicht ändern. Die Versionsnummer steht für die Version eines Pakets. Dieses Feld ist für verwaltete und nicht verwaltete Pakete erforderlich. Bei verwalteten Paketen entspricht die Versionsnummer einem Upload vom Typ Verwaltet – Veröffentlicht. Für alle Beta-Uploads wird so lange dieselbe Versionsnummer verwendet, bis Sie eine Paketversion vom Typ Verwaltet – Veröffentlicht mit einer neuen Versionsnummer hochladen. Das folgende Beispiel stellt die Abfolge von Versionsnummern für eine Reihe von Uploads dar. Upload-Sequenz Typ

Versoinsnummer Notizen

Erster Upload

Verwaltet (Beta)

1.0

Der erste Upload vom Typ Verwaltet – Beta.

Zweiter Upload

Verwaltet/Veröffentlicht

1.0

Ein Upload vom Typ Verwaltet – Veröffentlicht. Beachten Sie, dass sich die Versionsnummer nicht ändert.

Dritter Upload Verwaltet/Veröffentlicht

1.1

Beachten Sie die Änderung der Nebenversionsnummer für diesen Upload vom Typ Verwaltet – Veröffentlicht.

Vierter Upload Verwaltet (Beta)

2.0

Der erste Upload vom Typ Verwaltet – Beta für Versionsnummer 2.0. Beachten Sie die Aktualisierung der Hauptversionsnummer.

Fünfter Upload Verwaltet/Veröffentlicht

2.0

Ein Upload vom Typ Verwaltet – Veröffentlicht. Beachten Sie, dass sich die Versionsnummer nicht ändert.

c. Wählen Sie für verwaltete Pakete einen Veröffentlichungstyp aus: • Wählen Sie Verwaltet – Veröffentlicht aus, um eine Upgrade-fähige Version hochzuladen. Nach dem Hochladen sind einige Attribute Ihrer Salesforce-Komponenten gesperrt. • Wählen Sie Verwaltet – Beta aus, wenn Sie eine Version Ihres Pakets für eine kleine Stichprobe Ihrer Zielgruppe zu Testzwecken hochladen möchten. Sie können die Komponenten nach wie vor ändern und weitere Beta-Versionen hochladen. Anmerkung: Beta-Pakete können nur in Organisationen mit Developer Edition bzw. in Sandboxorganisationen installiert und folglich nicht per Push-Vorgang an Kundenorganisationen übertragen werden. d. Ändern Sie die Beschreibung, wenn erforderlich.

76

Packen und Verteilen von Anwendungen

Vorbereiten der Anwendungen für die Verteilung

e. Wahlweise können Sie einen Link zu den Versionshinweisen für das Paket angeben. Klicken Sie auf URL und geben Sie die Details in dem eingeblendeten Textfeld ein. Dieser Link wird während des Installationsvorgangs und nach der Installation auf der Paketdetailseite angezeigt. Anmerkung: Als bewährte Methode sollte dieser Link auf einen externen URL verweisen, damit Sie die Informationen unabhängig vom Paket den Kunden bereits vor der Veröffentlichung zur Verfügung stellen und aktualisieren können. f. Wahlweise können Sie einen Link zu Anweisungen nach der Installation für das Paket angeben. Klicken Sie auf URL oder Visualforce-Seite und geben Sie die Details in dem eingeblendeten Textfeld ein. Dieser Link wird nach der Installation auf der Paketdetailseite angezeigt. Anmerkung: Als bewährte Methode sollte dieser Link auf einen externen URL verweisen, damit Sie die Informationen unabhängig vom Paket aktualisieren können. g. Geben Sie optional ein Kennwort ein und bestätigen Sie es, um das Paket privat für jemanden freizugeben, der über das Kennwort verfügt. Geben Sie kein Kennwort ein, um das Paket jedem in AppExchange zugänglich zu machen und das Paket öffentlich freizugeben. h. Salesforce wählt die gefundenen Anforderungen automatisch aus. Wählen Sie außerdem alle weiteren erforderlichen Komponenten in den Abschnitten für die Paketanforderungen und die Objektanforderungen aus, um die installierenden Personen über alle Anforderungen für dieses Paket zu informieren. i. Klicken Sie auf Hochladen. 7. Sobald Ihr Upload abgeschlossen ist, können Sie folgende Schritte ausführen: • Klicken Sie zum Ändern der Kennwortoption auf den Link Kennwort ändern. • Klicken Sie auf Ersetzen, um Neuinstallationen dieses Pakets zu verhindern, den weiteren Betrieb bestehender Installationen jedoch zu ermöglichen. Anmerkung: Sie können die neueste Version eines verwalteten Pakets nicht ersetzen. Denken Sie daran, ein Paket, das Sie ersetzen, auch aus AppExchange zu entfernen. Siehe "Entfernen von Anwendungen aus AppExchange" in der Online-Hilfe zu AppExchange. • Klicken Sie auf Ersetzung aufheben, um eine ersetzte Version erneut zur Installation zur Verfügung zu stellen. Nachdem Ihr Paket erfolgreich hochgeladen wurde, erhalten Sie eine E-Mail mit einem Installationslink. Anmerkung: • Beim Verwenden des Installations-URL wird standardmäßig das alte Installationsprogramm angezeigt. Sie können das Installationsverhalten anpassen, indem Sie den Installations-URL ändern, den Sie Ihren Kunden bereitstellen. – Um auf das neue Installationsprogramm zuzugreifen, hängen Sie dem Installations-URL den Text &newui=1 an. – Um mit der standardmäßig ausgewählten Option "Alle Benutzer" auf das neue Installationsprogramm zuzugreifen, hängen Sie dem Installations-URL zusätzlich den Text &p1=full an.

77

Packen und Verteilen von Anwendungen

Vorteile der Verwendung von Trialforce

• Wenn Sie das Paket von Ihrer Salesforce-Produktionsorganisation aus hochgeladen haben, informieren Sie Benutzer, die das Paket in einer Sandboxorganisation installieren möchten, darüber, dass sie den Teil "login.salesforce.com" des Installations-URL durch "test.salesforce.com" ersetzen müssen.

SIEHE AUCH: Grundlegendes zu Paketen Verwalten von Paketen Grundlegendes zu Abhängigkeiten Verwalten von Versionen Erstellen und Hochladen von Patches Veröffentlichen von Upgrades zu verwalteten Paketen Veröffentlichen von Erweiterungen zu verwalteten Paketen

Vorteile der Verwendung von Trialforce Mit Trialforce können Sie schnell und einfach eine kostenlose Testversion Ihres Angebots bereitstellen. Bei jeder Bereitstellung einer Testversion erstellt Trialforce einen Lead in der License Management App. Dies hilft Ihnen beim Verfolgen der Verwendung und Konvertierung von potenziellen Kunden in bezahlende Kunden. Mit Trialforce haben Sie folgende Möglichkeiten: • Ausführen Ihrer eigenen Marketingkampagne, um die Wahrnehmung und Annahme durch Kunden zu maximieren. • Anpassen Ihres Angebots, einschließlich Branding, Funktionen, Design, Daten und Testerfahrung. • Verwalten der Testversionen für mehrere Angebote, Versionen und Editionen bequem an einem Ort. • Kunden, einschließlich Nicht-Administratorbenutzer, können Ihre Anwendung oder Komponente testen, ohne sich in Ihrer Produktionsumgebung anmelden zu müssen. IN DIESEM ABSCHNITT: Einrichten von benutzerdefiniertem Branding für Trialforce Trialforce-Quellorganisationen Neue Trialforce-Quellorganisation Bearbeiten von Trialforce-Quellorganisationen Trialforce

78

Packen und Verteilen von Anwendungen

Vorteile der Verwendung von Trialforce

Einrichten von benutzerdefiniertem Branding für Trialforce Anwendungsentwickler, die mithilfe von Trialforce neue Testversionen ihres Produkts erstellen, können optional eine Anmelde-Site mit Branding sowie System-E-Mails einrichten. Wenn Sie diese Bereiche mit dem Firmendesign Ihres Unternehmens gestalten, kommen die Benutzer Ihrer Anwendung bereits bei der Anmeldung mit dem Erscheinungsbild Ihres Unternehmens in Kontakt. Das benutzerdefinierte Branding sollte nur für Nicht-CRM-Anwendungen und nicht für Anwendungen verwendet werden, die Salesforce CRM erweitern und Salesforce-Standardobjekte wie Leads, Opportunities und Kundenvorgänge erfordern.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

Durch eine Anmeldeseite mit Branding können Sie Ihre Anmeldedomäne und Anmelde-Site angeben.

NUTZERBERECHTIGUNGEN

• Anmeldedomänen enden auf .cloudforce.com. Wenn Ihr Firmenname also "mycompany" lautet, dann ist Ihre Anmeldedomäne mycompany.cloudforce.com.

Verwalten von Trialforce: • "Anwendung anpassen"

• Zu Ihrer benutzerdefinierten Anmelde-Site gehören Ihr Text und Ihr Firmenlogo sowie auf Mobilgeräte abgestimmte Versionen Ihre Anmelde-Site. E-Mails mit Branding ermöglichen die Angabe von Feldern in vom System generierten E-Mails, sodass Ihr Firmenname, Ihre Adresse und andere zugehörige Details in der E-Mail-Korrespondenz verwendet werden. Sie können mehrere E-Mail-Sätze mit Branding für unterschiedliche Kampagnen oder Kundensegmente erstellen. Anmerkung: Zur Konfiguration des Brandings müssen Sie bei einer Trialforce-Managementorganisation (TMO) angemeldet sein. Um Ihre TMO abzurufen, müssen Sie in der Partner-Community einen Kundenvorgang protokollieren. IN DIESEM ABSCHNITT: Trialforce – Anmelde-Site mit Branding Trialforce-E-Mail-Sätze mit Branding

Trialforce – Anmelde-Site mit Branding Verwenden Sie die Trialforce-Seite "Anmelde-Site mit Branding", um eine Anmeldeseite zu erstellen, zu veröffentlichen und zu bearbeiten, die dem für Ihr Unternehmen üblichen Erscheinungsbild entspricht. • Wenn Sie noch keine Anmelde-Site eingerichtet haben, klicken Sie auf Anmelde-Site einrichten. • Wenn Sie bereits eine Anmelde-Site eingerichtet haben, klicken Sie auf Veröffentlichen, um die Site verfügbar zu machen, oder auf Site-Editor starten, um Änderungen vorzunehmen.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN

IN DIESEM ABSCHNITT:

Definieren des Paketdesigns: • “Paketdesign”

Trialforce – Domäne der Anmelde-Site Erstellen einer Anmeldeseite mit Branding Trialforce-Anmelde-Branding-Editor

Trialforce – Domäne der Anmelde-Site Wählen Sie eine Subdomain aus, unter der sich die Kunden bei Ihrer Anwendung anmelden. Normalerweise ist die Subdomain der Name Ihres Unternehmens.

79

Packen und Verteilen von Anwendungen

Vorteile der Verwendung von Trialforce

1. Geben Sie im entsprechenden Feld einen Namen ein. 2. Klicken Sie auf Verfügbarkeit überprüfen. 3. Akzeptieren Sie die Nutzungsbedingungen. 4. Klicken Sie auf Speichern und Editor starten.

Erstellen einer Anmeldeseite mit Branding Kunden melden sich in der Regel bei der herkömmlichen Website login.salesforce.com an. Durch eine Anmeldeseite mit Branding können Sie diese Domäne und Teile dieser Anmeldeseite anpassen, um Ihren Kunden eine Erfahrung mit Branding zu bieten. Zu Ihrer benutzerdefinierten Anmelde-Site gehören Ihr Text und Ihr Firmenlogo sowie auf Mobilgeräte abgestimmte Versionen Ihre Anmelde-Site.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

Erstellen einer Anmeldeseite mit Branding: 1. Melden Sie sich bei Ihrer Trialforce-Managementorganisation an. 2. Geben Sie unter Setup im Feld Schnellsuche den Text Anmelde-Site ein und wählen Sie dann Anmelde-Site aus.

NUTZERBERECHTIGUNGEN

3. Klicken Sie auf Anmelde-Site einrichten.

Verwalten von Trialforce: • "Anwendung anpassen"

4. Wählen Sie eine Subdomain für Ihre Anmelde-Site aus, indem Sie im angezeigten Feld einen Namen angeben. Normalerweise ist dies der Name Ihres Unternehmens. Anmerkung: Anmeldedomänen enden auf .cloudforce.com. Wenn Ihr Firmenname also "mycompany" lautet, dann ist Ihre Anmeldedomäne mycompany.cloudforce.com. 5. Überprüfen Sie die Verfügbarkeit der Domäne und akzeptieren Sie dann die Nutzungsbedingungen. 6. Klicken Sie auf Speichern und Editor starten. 7. Verwenden Sie den Anmeldemarken-Editor, um das Erscheinungsbild Ihrer Anmeldeseite zu ändern. Weitere Hilfe zur Verwendung des Editors erhalten Sie, wenn Sie auf Hilfe zu dieser Seite klicken. 8. Klicken Sie auf Speichern und schließen. 9. Um diese Änderungen für Ihre TSO verfügbar zu machen, klicken Sie auf Veröffentlichen. Andernfalls werden Ihre Änderungen gespeichert und Sie können die Veröffentlichung zu einem späteren Zeitpunkt durchführen.

Trialforce-Anmelde-Branding-Editor Verwenden Sie den Anmelde-Branding-Editor, um Ihre Anmeldeseiten zu entwerfen.

AUSGABEN

1. Melden Sie sich bei Ihrer Trialforce-Managementorganisation an. 2. Geben Sie unter Setup im Feld Schnellsuche den Text Anmelde-Site ein und wählen Sie dann Anmelde-Site aus.

Verfügbarkeit: Salesforce Classic

3. Klicken Sie oben im Editor auf die Registerkarte für die Größe der Anmeldeseite: Desktop oder Mobiltelefon.

Verfügbarkeit: Developer Edition

4. Erweitern Sie im linken Fenstern den Knoten "Seitenkopfzeile" und klicken Sie auf Datei auswählen, um Ihr Firmenlogo für alle Bildschirmgrößen auszuwählen, die Ihre App unterstützt. 5. Geben Sie im Feld Logo-Link > Benutzerdefinierten Link verwenden optional eine Webadresse ein, die verwendet wird, wenn ein Kunde auf Ihr Logo klickt, beispielsweise Ihre

80

NUTZERBERECHTIGUNGEN Verwalten von Trialforce: • "Anwendung anpassen"

Packen und Verteilen von Anwendungen

Vorteile der Verwendung von Trialforce

Unternehmenswebsite. Die URL muss mit http:// oder https:// beginnen. Wenn Sie dieses Feld leer lassen, weist Ihr Logo keinen Link auf. 6. Erweitern Sie den Knoten "Seiteninhalt" und fügen Sie den URL des Links für die Testanmeldung im Feld Link für Testanmeldung > Benutzerdefinierten Link verwenden ein. Dies ist der Link, auf den potenzielle Kunden klicken, um eine kostenlose Testversion auf Ihrer Website anzufordern. In der Regel erstellen ISVs dazu eine separate Anmeldeseite. 7. Geben Sie URLs für den rechten und unteren Frame der Seite ein. Wenn Sie diese Felder leer lassen, werden standardmäßig die Frames verwendet, die auch auf der Salesforce-Anmeldeseite verwendet wurden. 8. Erweitern Sie die Fußzeile der Seite und geben Sie Ihren Firmennamen und die Schriftfarbe an. 9. Erweitern Sie den Knoten für den Seitenhintergrund und geben Sie ein Hintergrundbild und eine Hintergrundfarbe an. 10. Klicken Sie oben auf der Seite auf Speichern und schließen. 11. Klicken Sie auf der Seite "Anmelde-Site mit Branding" für die Größe der Seite auf Vorschau, die Sie anzeigen möchten. Vergewissern Sie sich, dass Ihre Anmeldeseite für jede von Ihrer Anwendung unterstützte Anmeldeseite korrekt angezeigt wird.

Trialforce-E-Mail-Sätze mit Branding Mit dem E-Mail-Design von Trialforce können Sie das Erscheinungsbild der vom System generierten E-Mails so anpassen, dass diese aussehen, als ob sie von Ihrem Unternehmen stammen und nicht von Salesforce. Das E-Mail-Design von Trialforce kann nur von Benutzern verwendet werden, die sich über Trialforce für Ihre Anwendung registrieren. Jede Trialforce-Quellorganisation enthält einen Standardsatz von E-Mail-Benachrichtigungen, die an Kunden gesendet werden. Beispielsweise erhalten die Kunden eine E-Mail-Benachrichtigung, wenn sie sich zum ersten Mal anmelden oder wenn sie Ihr Kennwort zurücksetzen. Sie müssen nicht alle diese vom System generierten E-Mails selbst umschreiben. Sie geben einfach die Werte für die Felder an und das System kümmert sich um den Rest.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Definieren des Paketdesigns: • "Paket-Branding"

IN DIESEM ABSCHNITT: Bearbeiten von Trialforce-E-Mail-Sätzen mit Branding

Bearbeiten von Trialforce-E-Mail-Sätzen mit Branding Klicken Sie zunächst auf Neuer E-Mail-Satz oder neben einem bestehenden Datenset auf Bearbeiten. 1. Füllen Sie die Felder mit Ihren Unternehmensdaten aus. 2. Klicken Sie sich im Bereich "Vorschau der E-Mails anzeigen" durch die verschiedenen Typen generierter E-Mails und stellen Sie sicher, dass sie den richtigen Text enthalten 3. Klicken Sie auf Speichern. 4. Um diese E-Mails für Ihre Trialforce-Quellorganisationen verfügbar zu machen, klicken Sie auf Veröffentlichen. Andernfalls werden Ihre Änderungen gespeichert und Sie können die Veröffentlichung zu einem späteren Zeitpunkt durchführen.

81

Packen und Verteilen von Anwendungen

Vorteile der Verwendung von Trialforce

Trialforce-Quellorganisationen Auf der Trialforce-Seite "Quellorganisationen" können Sie Ihre Trialforce-Quellorganisationen erstellen und verwalten.

AUSGABEN

• Klicken Sie zum Erstellen einer neuen Quellorganisation auf Neu.

Verfügbarkeit: Salesforce Classic

• Wenn Sie über eine bestehende Quellorganisation verfügen, die Sie verwenden möchten, klicken Sie auf Anmelden. • Um eine bestehende Quellorganisation zu bearbeiten, klicken Sie auf Bearbeiten.

Verfügbarkeit: Developer Edition

Neue Trialforce-Quellorganisation So erstellen Sie eine neue Quellorganisation:

AUSGABEN

1. Geben Sie einen neuen Benutzernamen und eine E-Mail-Adresse für den Administratoraccount ein. 2. Geben Sie den Namen der Quellorganisation ein und wählen Sie das Branding aus.

Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

3. Klicken Sie auf Erstellen.

NUTZERBERECHTIGUNGEN Definieren des Paketdesigns: • "Paket-Branding"

Bearbeiten von Trialforce-Quellorganisationen So bearbeiten Sie eine Trialforce-Quellorganisation:

AUSGABEN

1. Geben Sie den Namen der Quellorganisation ein und wählen Sie das Branding aus. Verfügbarkeit: Salesforce Classic

2. Klicken Sie auf Speichern.

Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Definieren des Paketdesigns: • "Paket-Branding"

82

Packen und Verteilen von Anwendungen

Erstellen von Registrierungen über die API

Trialforce Erstellen einer Trialforce-Vorlage:

AUSGABEN

1. Klicken Sie auf Neue Trialforce-Vorlage. 2. Geben Sie eine Beschreibung der Vorlage an und legen Sie fest, ob das angezeigte Dialogfeld Daten enthalten soll.

Verfügbarkeit: Salesforce Classic

3. Klicken Sie auf Speichern.

Verfügbarkeit: Developer Edition

Sie erhalten eine E-Mail mit der Organisations-ID der neuen Vorlage, sobald diese erstellt wurde. Sie müssen die Vorlage zur Überprüfung übermitteln, bevor Sie sie zur Anmeldung von Testorganisationen verwenden können. Denken Sie daran, immer eine neue Vorlage zu generieren, wenn Sie an Ihrer TSO Aktualisierungen vornehmen, damit Ihre Testversionen immer dem aktuellen Stand entsprechen. Anmerkung: Sie können nur dann eine Trialforce-Vorlage erstellen, wenn Ihre Trialforce-Quellorganisation weniger als 256 MB groß ist.

NUTZERBERECHTIGUNGEN Definieren des Paketdesigns: • "Paketdesign"

Die einzelnen Trialforce-Vorlagen haben jeweils einen Status mit einem der folgenden Werte. Läuft Unmittelbar nach der Erstellung haben Trialforce-Vorlagen stets diesen Status. Anschließend wechselt der Status zu "Erfolg" oder "Fehler". Erfolg Die Trialforce-Vorlage kann zum Erstellen von Testorganisationen verwendet werden. Fehler Die Trialforce-Vorlage kann nicht verwendet werden, da ein Problem aufgetreten ist und Debugging-Maßnahmen erforderlich sind. Gelöscht Die Trialforce-Vorlage steht nicht mehr zur Verwendung zur Verfügung. Gelöschte Vorlagen werden bei Systemaktualisierungen entfernt.

Erstellen von Registrierungen über die API Sie können API-Aufrufe an das SignupRequest-Objekt richten, um Testorganisationen für potenzielle Kunden zu erstellen. Wenn Sie Testorganisationen (oder Registrierungen) über ein Webformular erstellen, besteht nicht die Möglichkeit, den Registrierungsvorgang anzupassen oder seinen Status nachzuverfolgen. Mithilfe der API können Sie detaillierte Informationen zu allen Registrierungen Ihrer Geschäftsorganisation zusammenstellen und analysieren. Dadurch lässt sich der Registrierungsvorgang besser steuern und die Sichtbarkeit potenzieller Kunden wird erhöht. Beispielsweise haben Sie folgende Möglichkeiten:

NUTZERBERECHTIGUNGEN Erstellen oder Anzeigen von Registrierungsanforderungen: • "Registrierungsanforderung API"

• Führen Sie Berichte aus und rufen Sie Kennzahlen ab, wie beispielsweise die Anzahl der Registrierungen pro Tag oder die Anzahl der Registrierungen in verschiedenen Ländern. • Passen Sie das SignupRequest-Objekt an, indem Sie Felder hinzufügen, die für Ihr Unternehmen von besonderem Interesse sind. • Erstellen Sie Auslöser, um bestimmte Aktionen zu initialisieren, beispielsweise das Senden von E-Mail-Benachrichtigung, wenn eine Registrierungsanforderung erfolgt. • Aktivieren Sie Registrierungen über viele verschiedene Client-Anwendungen und -Geräte, um zusätzliche Kanäle für die Gewinnung von Kunden zu schaffen. Erste Schritte bei der Erstellung neuer Registrierungen über die API: 1. Erstellen Sie eine Trialforce-Quellorganisation (TSO) über Ihre Trialforce-Managementorganisation (TMO).

83

Packen und Verteilen von Anwendungen

Erstellen von Registrierungen über die API

2. Installieren Sie Ihre Anwendung zusammen mit für den Test sinnvollen Beispieldaten. in der TSO. 3. Konfigurieren Sie die TSO so, wie sie Ihren Kunden dargestellt werden soll. Dies beinhaltet auch die Angabe von benutzerdefiniertem Branding. 4. Erstellen Sie anhand der TSO eine Trialforce-Vorlage. 5. Eröffnen Sie einen Kundenvorgang, um diese Funktion zu aktivieren. a. Melden Sie sich bei der Partner-Community an. b. Klicken Sie auf der Registerkarte "Support" auf Neuer Kundenvorgang. c. Wählen Sie die Kategorie AppExchange und Funktionsanforderungen > Trialforce aus. d. Geben Sie in der Beschreibung folgende Details an: • die Organisations-ID Ihrer TSO • die Vorlagen-ID der Trialforce-Vorlage, die Sie verwenden möchten • die Organisation, die Sie für die Erstellung von Registrierungen verwenden möchten (damit die korrekten Benutzerberechtigungen aktiviert werden können) Anmerkung: Sie können zwar neue Registrierungen über jede beliebige Organisation mit den entsprechenden Berechtigungen erstellen, es empfiehlt sich jedoch, dies über Ihre Geschäftsorganisation auszuführen. Dann können Sie ganz leicht Registrierungsdaten über bestehende Geschäftsprozesse integrieren. Sie können beispielsweise eine Workflowregel erstellen, um die einzelnen Registrierungsanforderungen in einen Lead umzuwandeln, oder Berichte ausführen, um die Anzahl der Registrierungen in einem angegebenen Zeitraum zu verfolgen. Sie erhalten eine Benachrichtigung per E-Mail, wenn die Vorlage genehmigt wurde. Anschließend kann sie für die Erstellung neuer Registrierungen durch API-Aufrufe an das SignupRequest-Objekt verwendet werden. Details zum SignupRequest-Objekt und ein Code-Beispiel, in dem die Verwendung des Objekts dargestellt wird, finden Sie weiter unten. Weitere Informationen zum Arbeiten mit Objekten finden Sie im Handbuch Object Reference for Salesforce and Force.com. IN DIESEM ABSCHNITT: Registrierungsanforderung – Startseite Erstellen von Registrierungsanforderungen Anzeigen von Details zu Registrierungsanforderungen

Registrierungsanforderung – Startseite Anmerkung: Es sind maximal 20 Registrierungen pro Tag für Sie möglich. Wenn Sie zusätzliche Registrierungen vornehmen möchten, müssen Sie in der Partner-Community einen Kundenvorgang protokollieren. Die Registerkarte "Registrierungsanforderungen" zeigt die Startseite für Registrierungsanforderungen an. Auf dieser Seite können Sie die folgenden Aktionen ausführen.

NUTZERBERECHTIGUNGEN Erstellen bzw. Anzeigen von Registrierungsanforderungen: • "Registrierungsanforderung API"

• Erstellen Sie eine neue Registrierung. Wenn Sie eine Trialforce-Vorlage zum Erstellen der Registrierung verwenden, müssen Sie sicherstellen, dass die Vorlage genehmigt wurde. • Zeigen Sie die Details einer vorherigen Registrierung, einschließlich des zugehörigen Verlaufs und Genehmigungsstatus, an. • Erstellen Sie neue Ansicht, um Registrierungen anzuzeigen, die mit von Ihnen angegebenen Kriterien übereinstimmen.

84

Packen und Verteilen von Anwendungen

Erstellen von Registrierungen über die API

Erstellen von Registrierungsanforderungen 1. Wählen Sie aus der Dropdownliste "Neu erstellen" in der Randleiste die Option Registrierungsanforderung aus oder klicken Sie auf der Startseite für Registrierungsanforderungen neben Aktuelle Registrierungsanforderungen auf Neu. 2. Geben Sie die Informationen für die Registrierungsanforderung ein. 3. Klicken Sie auf Speichern, wenn Sie fertig sind, oder klicken Sie auf Speichern & Neu, um die aktuelle Registrierungsanforderung zu speichern und eine weitere hinzuzufügen.

NUTZERBERECHTIGUNGEN Erstellen bzw. Anzeigen von Registrierungsanforderungen: • "Registrierungsanforderung API"

Anzeigen von Details zu Registrierungsanforderungen Führen Sie auf der Detailseite "Registrierungsanforderung" folgende Vorgänge aus:

NUTZERBERECHTIGUNGEN

• Klicken Sie zum Löschen der Registrierungsanforderung auf Löschen. • Klicken Sie auf Duplizieren, um eine neue Registrierungsanforderung mit denselben Attributen wie dieser zu erstellen. Die Detailseite enthält folgende Abschnitte:

Erstellen bzw. Anzeigen von Registrierungsanforderungen: • "Registrierungsanforderung API"

• Details zur Registrierungsanforderung • Verlauf der Registrierungsanforderung

Details zur Registrierungsanforderung In diesem Abschnitt werden folgende Attribute (in alphabetischer Reihenfolge) angezeigt: Attribut

Beschreibung

Unternehmen

Der Name des Unternehmens, das die Testregistrierung anfordert.

Land

Der aus zwei Zeichen bestehende Ländercode gemäß ISO-3166 in Großbuchstaben. Eine vollständige Liste dieser Codes finden Sie auf zahlreichen Websites, wie beispielsweise: www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html

Ersteller-Organisation Die aus 15 Zeichen bestehende Organisations-ID der erstellten Testorganisation. Dies ist ein vom

System nach der Verarbeitung der Registrierungsanforderung bereitgestelltes schreibgeschütztes Feld. E-Mail

Die E-Mail-Adresse des Administratorbenutzers für die Testregistrierung.

Fehlercode

Der Fehlercode, der erstellt wird, wenn die Registrierungsanforderung fehlschlägt. Dies ist ein vom System bereitgestelltes schreibgeschütztes Feld, das nur für Support-Zwecke verwendet wird.

Vorname

Der Vorname des Administratorbenutzers für die Testregistrierung.

Nachname

Der Nachname des Administratorbenutzers für die Testregistrierung.

Edition

Die Salesforce-Vorlage, die zum Erstellen der Testorganisation verwendet wird. Mögliche Werte sind Partner Group, Professional, Partner Professional, Sales Professional, Professional TSO, Enterprise, Partner Enterprise, Service Enterprise, Enterprise TSO, Developer und Partner Developer.

85

Packen und Verteilen von Anwendungen

Erstellen von Registrierungen über die API

Attribut

Beschreibung

Bevorzugte Sprache

Die Sprache der zu erstellenden Testorganisation. Geben Sie die Sprache mithilfe eines unter "Vollständig unterstützte Sprachen" in "Welche Sprachen werden von Salesforce unterstützt" in der Salesforce-Hilfe aufgelisteten Sprachcodes an. Verwenden Sie beispielsweise zh_CN für vereinfachtes Chinesisch. Der von Ihnen ausgewählte Wert setzt die durch das Gebietsschema festgelegte Sprache außer Kraft. Wenn Sie eine ungültige Sprache angeben, wird für die Organisation standardmäßig Englisch als Sprache verwendet. Wird während der Registrierungsanforderung ausgefüllt und ist ausschließlich zur internen Verwendung durch Salesforce vorgesehen.

ShouldConnectToEnvHub Wenn auf true festgelegt, wird die Testorganisation mit dem Umfeldzentrum verbunden. Die

Registrierung muss in der Zentrumsmasterorganisation oder einer Speichen-Organisation erfolgen. Quellorganisation

Die aus 15 Zeichen bestehende Organisations-ID der Trialforce-Quellorganisation, über die die Trialforce-Vorlage erstellt wurde.

Status

Der Status der Anforderung. Mögliche Werte: Neu, Läuft, Fehler oder Erfolg. Der Standardwert lautet Neu.

Vorlage

Die 15 Zeichen umfassende ID der genehmigten Trialforce-Vorlage, die als Basis für die Testregistrierung dient. Die Vorlage ist erforderlich und muss von Salesforce genehmigt werden.

Vorlagenbeschreibung Die Beschreibung der genehmigten Trialforce-Vorlage, die als Basis für die Testregistrierung dient. Testtage

Die Dauer der Testregistrierung in Tagen. Dieser Wert muss kleiner oder gleich der Testtage für die genehmigte Trialforce-Vorlage sein. Wenn hier kein Wert angegeben wurde, wird standardmäßig die für die Trialforce-Vorlage festgelegte Dauer verwendet.

Benutzername

Der Benutzername des Administratorbenutzers für die Testregistrierung. Dieser muss den in RFC822 festgelegten Adresskonventionen folgen: www.w3.org/Protocols/rfc822/#z10

Verlauf der Registrierungsanforderung In diesem Abschnitt wird Folgendes angezeigt: das Datum, an dem die Registrierungsanforderung erstellt wurde, durch welchen Benutzer sie erstellt wurde und die Aktionen, die dafür ausgeführt wurden.

86

Packen und Verteilen von Anwendungen

Veröffentlichen von Erweiterungen zu verwalteten Paketen

Veröffentlichen von Erweiterungen zu verwalteten Paketen Eine Erweiterung ist ein Paket, eine Komponente oder eine Gruppe von Komponenten, die zur Funktionalität eines verwalteten Pakets beiträgt. Voraussetzung für eine Erweiterung ist, dass das grundlegende verwaltete Paket in der Organisation installiert ist. Falls Sie beispielsweise eine Anwendung zum Einstellen neuer Mitarbeiter erstellt haben, kann eine Erweiterung dieser Anwendung eine Komponente zum Durchführen von Prüfvorgängen von Kandidaten im Hintergrund umfassen. Die Gemeinschaft der Entwickler, Benutzer und Visionäre, die Anwendungen in Force.com AppExchange erstellen und veröffentlichen, leisten ihren Beitrag dazu, dass Force.com eine so wertvolle Entwicklungsplattform ist. Mit dieser Gemeinschaft können Sie Erweiterungen für die Anwendungen anderer Personen erstellen und andere Benutzer dazu ermutigen, Erweiterungen für Ihre Anwendungen zu erstellen. Veröffentlichen von Erweiterungen für ein verwaltetes Paket: 1. Installieren Sie das Basispaket in der Salesforce-Organisation, die Sie für das Hochladen der Erweiterung verwenden möchten. 2. Erstellen Sie Ihre Erweiterungskomponenten. Anmerkung: Installieren Sie zum Erstellen einer Erweiterung das Basispaket und schließen Sie in Ihrem Paket eine Abhängigkeit zu diesem Basispaket ein. Das Erweiterungsattribut wird automatisch aktiv.

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

NUTZERBERECHTIGUNGEN Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete hochladen"

3. Erstellen Sie ein neues Paket und fügen Sie Ihre Erweiterungskomponenten hinzu. Salesforce nimmt automatisch einige zugehörige Komponenten in das Paket auf. 4. Laden Sie das neue Paket hoch, das die Erweiterungskomponenten enthält. 5. Fahren Sie wie gewohnt mit dem Veröffentlichungsprozess fort. Informationen zum Erstellen einer Testorganisation bzw. zum Registrieren und Veröffentlichen Ihrer Anwendung finden Sie unter http://sites.force.com/appexchange/publisherHome. Anmerkung: Für Pakete kann kein Upgrade zu Verwaltet (Beta) durchgeführt werden, wenn sie in der gleichen Organisation wie eine Erweiterung verwendet werden. SIEHE AUCH: Vorbereiten der Anwendungen für die Verteilung Grundlegendes zu Abhängigkeiten Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

87

Packen und Verteilen von Anwendungen

Veröffentlichen von Upgrades zu verwalteten Paketen

Veröffentlichen von Upgrades zu verwalteten Paketen Als Herausgeber müssen Sie zunächst dafür sorgen, dass Ihre Anwendung Upgrade-fähig ist, indem Sie sie in ein verwaltetes Paket konvertieren. Alle Änderungen, die Sie an den Komponenten in einem verwalteten Paket vornehmen, sind automatisch in den späteren Uploads des betreffenden Pakets enthalten. Es gibt nur eine einzige Ausnahme. Beim Upgrade eines Pakets werden Änderungen am API-Zugriff auch dann ignoriert, wenn sie vom Entwickler angegeben werden. Dadurch wird sichergestellt, dass der Administrator, der das Upgrade installiert, die vollständige Kontrolle erhält. Die Personen, die das Paket installieren, sollten die Änderungen am Paketzugriff in jedem Upgrade während der Installation sorgfältig untersuchen und alle annehmbaren Änderungen festhalten. Da diese Änderungen ignoriert werden, sollte der Administrator dann nach der Installation eines Upgrades alle annehmbaren Änderungen manuell vornehmen. Weitere Informationen finden Sie unter Informationen über API- und dynamischen Apex-Zugriff in Paketen auf Seite 47. So veröffentlichen Sie Upgrades für ein verwaltetes Paket:

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition Paket-Uploads und -Installationen sind in der Group, Professional, Enterprise, Performance, Unlimited und Developer Edition verfügbar.

1. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Wählen Sie das Paket aus der Liste der verfügbaren Pakete aus. 3. Zeigen Sie die Liste der Paketkomponenten an. Die Änderungen, die Sie an den Komponenten in diesem Paket vorgenommen haben, sind automatisch in dieser Liste enthalten. Wenn die Änderungen zusätzliche Komponenten referenzieren, werden diese Komponenten ebenfalls automatisch eingeschlossen. Wenn Sie neue Komponenten hinzufügen möchten, klicken Sie auf Hinzufügen, um sie manuell zum Paket hinzuzufügen. 4. Klicken Sie auf Hochladen und laden Sie sie wie gewohnt hoch. Anmerkung: Nach dem Upload einer neuen Version Ihres verwalteten – veröffenlichten Pakets können Sie auf Ersetzen klicken, damit installierende Personen ältere Versionen nicht mehr installieren können. Indem Sie ältere Versionen ersetzen, verhindern Sie, dass ältere Versionen neu installiert werden, ohne dabei negative Auswirkungen auf vorhandene Installationen der älteren Version zu verursachen. Weitere Informationen finden Sie unter Verwalten von Versionen auf Seite 89.

NUTZERBERECHTIGUNGEN Konfigurieren von Entwicklereinstellungen: • “Anwendung anpassen” Erstellen von Paketen: • "AppExchange-Pakete erstellen" Hochladen von Paketen: • "AppExchange-Pakete hochladen"

Sie können die neueste Version eines verwalteten Paket-Uploads nicht ersetzen. 5. Wenn Sie eine E-Mail mit dem Link zum Upload in Force.com AppExchange erhalten, benachrichtigen Sie die Benutzer mit Installationen, dass eine neue Version zur Verfügung steht. Verwenden Sie zur Verteilung dieser Informationen die Liste der Benutzer mit Installationen der Lizenzmanagementanwendung (License Management Application, LMA). Die Lizenzmanagementanwendung (LMA) speichert automatisch die Versionsnummer, die die installierenden Personen in ihrer jeweiligen Organisation verwenden. SIEHE AUCH: Vorbereiten der Anwendungen für die Verteilung Grundlegendes zu Abhängigkeiten Verwalten von Versionen Erstellen und Hochladen von Patches Veröffentlichen von Erweiterungen zu verwalteten Paketen

88

Packen und Verteilen von Anwendungen

Verwalten von Versionen

Verwalten von Versionen Nachdem Sie ein Paket nach AppExchange hochgeladen haben, können Sie dieses auch weiterhin von Salesforce aus verwalten. So verwalten Sie Ihre Versionen:

AUSGABEN

1. Geben Sie unter "Setup" im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus.

Verfügbarkeit: Salesforce Classic

2. Wählen Sie das Paket aus, das die Anwendung oder die Komponenten enthält, die Sie hochgeladen haben.

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

3. Wählen Sie die Versionsnummer aus, die auf der Registerkarte "Versionen" aufgeführt wird. • Klicken Sie zum Ändern der Kennwortoption auf den Link Kennwort ändern. • Klicken Sie auf Ersetzen, um neue Installationen dieses Pakets zu verhindern und den Weiterbetrieb bestehender Installationen zu ermöglichen. Anmerkung: Sie können die neueste Version eines verwalteten Pakets nicht ersetzen.

NUTZERBERECHTIGUNGEN Hochladen von Paketen: • "AppExchange-Pakete hochladen"

Denken Sie daran, ein Paket, das Sie ersetzen, auch aus AppExchange zu entfernen. Siehe "Entfernen von Anwendungen aus AppExchange" in der Online-Hilfe zu AppExchange. • Klicken Sie auf Ersetzung aufheben, um eine ersetzte Version erneut zur Installation zur Verfügung zu stellen. Anmerkung: Klicken Sie auf der Paketupload-Detailseite auf Weiter zu AppExchange, um einen Testlauf zu erstellen oder eine Lizenzmanagementorganisation (LMO) für das auszuwählen, was Sie hochgeladen haben. SIEHE AUCH: Vorbereiten der Anwendungen für die Verteilung Grundlegendes zu Abhängigkeiten Erstellen und Hochladen von Patches Veröffentlichen von Upgrades zu verwalteten Paketen Veröffentlichen von Erweiterungen zu verwalteten Paketen

89

Packen und Verteilen von Anwendungen

Erstellen und Hochladen von Patches

Erstellen und Hochladen von Patches Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung.

AUSGABEN

Patch-Versionen werden in Patch-Entwicklungsorganisationen entwickelt und verwaltet. Außerdem können Sie sich unter Bewährte Methoden für Push-Upgrades und Patch-Versionen auf Seite 97 informieren. Erstellen einer Patch-Version: 1. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Klicken Sie auf den Namen des verwalteten Pakets. 3. Klicken Sie auf die Registerkarte "Patch-Organisation" und dann auf Neu. 4. Wählen Sie in der Dropdownliste Durchführung des Patch-Vorgangs für Hauptversion die Paketversion aus, für die Sie ein Patch erstellen möchten. Der Veröffentlichungstyp muss Verwaltet/Veröffentlicht lauten.

Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Push-Übertragung von Upgrades oder Erstellen von Patch-Entwicklungsorganisationen: • "AppExchange-Pakete hochladen"

5. Geben Sie einen Username für eine Anmeldung bei Ihrer Patch-Organisation an. 6. Geben Sie eine Email Address an, die zu Ihrer Anmeldung gehört. 7. Klicken Sie auf Speichern. Anmerkung: Falls Sie sich einmal nicht an Ihre Anmeldeinformationen erinnern können, klicken Sie auf der Detailseite des Pakets unter Patch-Entwicklungsorganisationen auf Zurücksetzen, um die Anmeldeinformationen für Ihre Patch-Entwicklungsorganisation zurückzusetzen. Nach Empfang einer E-Mail mit dem Hinweis, dass Salesforce Ihre Patch-Entwicklungsorganisation erstellt hat, können Sie auf Anmelden klicken und mit dem Entwickeln der Patch-Version beginnen. Die Entwicklung in Patch-Entwicklungsorganisationen ist eingeschränkt. Im Folgenden finden Sie eine Liste mit Einschränkungen: • Neue Paketkomponenten können nicht hinzugefügt werden. • Vorhandene Paketkomponenten können nicht gelöscht werden. • API- und dynamische Apex-Zugriffssteuerungen können für das Paket nicht geändert werden. • Kein Verwerfen (Ersetzen) von Apex-Code. • Keine neuen Apex-Klassenbeziehungen, wie extends (erweitert), können hinzugefügt werden. • Keine neuen Apex-Zugriffsmodifikatoren, wie virtual (virtuell) oder global (global), können hinzugefügt werden. • Es können keine neuen Webservices hinzugefügt werden. • Es können keine neuen Funktionsabhängigkeiten hinzugefügt werden. Laden Sie nach dem Abschließen der Patch-Entwicklung diesen über die Benutzeroberfläche in Ihrer Patch-Entwicklungsorganisation hoch. (Sie können ein Paket auch mithilfe der Tooling-API hochladen. Beispielcode und weitere Details finden Sie im Objekt "PackageUploadRequest" im Tooling API Developer Guide.) 1. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 2. Klicken Sie auf den Namen des Pakets. 3. Klicken Sie auf der Seite zum Hochladen von Paketen auf Hochladen. 4. Geben Sie einen Versionsnamen ein. Es ist nützlich, eine kurze Beschreibung und das Datum anzugeben. 5. Beachten Sie, dass sich bei der Versionsnummer die Patchnummer erhöht hat.

90

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

6. Wählen Sie für verwaltete Pakete einen Veröffentlichungstyp aus: • Wählen Sie Verwaltet – Veröffentlicht aus, um eine Upgrade-fähige Version hochzuladen. Nach dem Hochladen sind einige Attribute Ihrer Salesforce-Komponenten gesperrt. • Wählen Sie Verwaltet – Beta aus, wenn Sie eine Version Ihres Pakets für eine kleine Stichprobe Ihrer Zielgruppe zu Testzwecken hochladen möchten. Sie können die Komponenten nach wie vor ändern und weitere Beta-Versionen hochladen. Anmerkung: Beta-Pakete können nur in Organisationen mit Developer Edition bzw. in Sandboxorganisationen installiert und folglich nicht per Push-Vorgang an Kundenorganisationen übertragen werden. 7. Ändern Sie die Beschreibung, wenn erforderlich. 8. Geben Sie optional ein Kennwort ein und bestätigen Sie es, um das Paket privat für jemanden freizugeben, der über das Kennwort verfügt. Geben Sie kein Kennwort ein, um das Paket jedem in AppExchange zugänglich zu machen und das Paket öffentlich freizugeben. 9. Salesforce wählt die gefundenen Anforderungen automatisch aus. Wählen Sie außerdem alle weiteren erforderlichen Komponenten in den Abschnitten für die Paketanforderungen und die Objektanforderungen aus, um die installierenden Personen über alle Anforderungen für dieses Paket zu informieren. 10. Klicken Sie auf Hochladen. Um Ihr Patch zu verteilen, können Sie entweder den Upload-Link freigeben oder ein Push-Upgrade planen. SIEHE AUCH: Planen von Push-Upgrades Anzeigen des Push-Upgrade-Verlaufs Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

Planen von Push-Upgrades Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung. Nachdem Sie eine Patch-Version Ihres Pakets erstellt haben, können Sie diese mithilfe eines Push-Upgrades automatisch für Kunden bereitstellen. Tipp: Salesforce empfiehlt dringend, die folgende Reihenfolge der Schritte für die Push-Übertragung von Paket-Upgrades einzuhalten: 1. Führen Sie zunächst eine Push-Übertragung des Upgrades für Ihre eigene Organisation durch, sodass Sie Tests durchführen und eventuelle Fehler beheben können, bevor Upgrades bei Abonnenten durchgeführt werden. 2. Wenn Sie damit fertig sind und sich mit Ihren Kunden in Bezug auf deren Änderungsmanagementprozesse abgesprochen haben, führen Sie das Push-Upgrade zunächst für eine kleine Anzahl an Kundenorganisationen durch. Versuchen Sie den Vorgang, wenn möglich, zunächst mit Sandboxorganisationen. 3. Wenn Sie mit den ersten Ergebnissen zufrieden sind, führen Sie das Push-Upgrade bei einer größeren Kundenbasis durch, entsprechend Ihrer Vereinbarungen mit den jeweiligen Kunden.

91

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Push-Übertragung von Upgrades: • "AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

4. Verwerfen Sie die vorherige Version Ihres Pakets in Ihrer Hauptentwicklungsorganisation. Ersetzen Sie die Version gegebenenfalls in AppExchange und aktualisieren Sie IhrTrialforce-Setup. 5. Wenn es sich bei dem Upgrade um ein Patch handelte, reintegrieren Sie die Änderungen nach der erfolgreichen Verteilung des Upgrades an die Abonnentenorganisationen wieder in Ihre Hauptentwicklungsorganisation. Weitere Informationen zum Kombinieren von Patches in der Hauptentwicklungsorganisation erhalten Sie im Kapitel zum "Working with Patch Versions" im ISVforce Guide. Unter Bewährte Methoden für Push-Upgrades und Patch-Versionen auf Seite 97 finden Sie weitere Informationen. Planen eines Push-Upgrades mithilfe der Benutzeroberfläche 1. Melden Sie sich bei Ihrer Hauptentwicklungsorganisation an (nicht der Patch-Organisation, die Sie zum Hochladen der neuen Version verwendet haben). 2. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. 3. Klicken Sie auf den Namen des verwalteten Pakets, für das Sie ein Push-Upgrade durchführen möchten. 4. Klicken Sie auf der Paketdetailseite auf die Registerkarte Versionen und dann auf Push-Upgrades. 5. Klicken Sie auf Planen von Push-Upgrades. 6. Wählen Sie in der Dropdown-Liste Patch-Version eine Paketversion aus, für die der Push-Vorgang durchgeführt werden soll. Anmerkung: Beta-Versionen sind für den Empfang von Push-Upgrades nicht berechtigt. 7. Geben Sie ein Geplantes Startdatum ein, um anzugeben, wann ein Push-Upgrade beginnen soll. 8. Wählen Sie im Abschnitt "Zielorganisationen auswählen" aus, welche Organisationen Ihr Push-Upgrade erhalten sollen. Falls eine Organisation für die ausgewählte Paketversion bereits ein Push-Upgrade erhalten hat, wird sie in dieser Liste nicht angezeigt. Organisationen können folgendermaßen ausgewählt werden: • Eingabe eines Begriffs, mit dem nach dem Namen oder der ID einer Organisation gefiltert wird. Bei Namen werden teilweise Übereinstimmungen unterstützt; IDs müssen genau übereinstimmen. • Auswahl zwischen Produktions- und Sandboxorganisationen in der Dropdownliste Organisationen. • Auswahl von Organisationen, die bereits eine bestimmte Version installiert haben. • Klicken auf einzelne Organisationen oder Aktivieren der Kontrollkästchen Alle auswählen und Auswahl aufheben. In diesem Abschnitt werden ferner die folgenden Informationen zur Organisation (alphabetisch sortiert) aufgeführt: Feld

Beschreibung

Aktuelle Version

Die aktuelle Paketversion, die bei einer Organisation installiert ist.

Unternehmens-ID

ID, anhand der Salesforce die Organisation eindeutig identifizieren kann.

Unternehmensname

Name der Organisation. Durch Klicken auf diesen Namen wird der Upgrade-Verlauf der Organisation angezeigt.

Hauptansprechpartner

Name des Kontakts, der das Paket installiert hat.

9. Klicken Sie auf Planen. Ein derzeit durchgeführtes Push-Upgrade kann durch Klicken auf Abbrechen gestoppt werden. Planen eines Push-Upgrades mithilfe der Enterprise-API

92

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

1. Authentifizieren Sie sich an Ihrer Hauptentwicklungsorganisation (nicht an der Patch-Organisation, die Sie zum Hochladen der neuen Version verwendet haben) gemäß dem von Ihnen verwendeten Tool. 2. Ermitteln Sie die Paketversion, die Sie für Ihre Abonnenten aktualisieren möchten, indem Sie das Objekt "MetadataPackageVersion" abfragen. 3. Rufen Sie die Liste der Abonnentenorganisationen ab, die berechtigt sind, aktualisiert zu werden, indem Sie das Objekt "PackageSubscriber" abfragen. 4. Erstellen Sie ein "PackagePushRequest"-Objekt. "PackagePushRequest"-Objekte verwenden eine "PackageVersionId" und optional einen "ScheduledStartTime"-Parameter, um anzugeben, wann der Push beginnt. Wenn Sie den Parameter "ScheduledStartTime" weglassen, beginnt der Push, wenn Sie den Status der "PackagePushRequest" auf Ausstehend festlegen. 5. Erstellen Sie für jeden berechtigten Abonnenten einen "PackagePushJob" und verknüpfen Sie ihn mit der von Ihnen im vorherigen Schritt erstellten "PackagePushRequest". 6. Planen Sie das Push-Upgrade durch Ändern des Status der "PackagePushRequest" zu Ausstehend. 7. Überprüfen Sie den Status der Objekte "PackagePushRequest" und "PackagePushJob", indem Sie die Felder Status abfragen. Beispielcode und weitere Details finden Sie in den Objektbeschreibungen unter Object Reference for Salesforce and Force.com oder im SOAP API Developer Guide. IN DIESEM ABSCHNITT: Anzeigen des Push-Upgrade-Verlaufs Bewährte Methoden für Push-Upgrades und Patch-Versionen SIEHE AUCH: Anzeigen von Details zu Push-Upgrades Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

Anzeigen des Push-Upgrade-Verlaufs Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung. Geben Sie zum Anzeigen der Details von allen durch Ihre Organisation gesendeten Push-Upgrades im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus. Klicken Sie auf den Namen des Pakets, das Sie anzeigen möchten, und klicken Sie dann auf Push-Upgrades. Auf der Seite "Push-Upgradeverlauf" wird der Status sämtlicher ausstehender und vorangehender Push-Upgrades aufgeführt. So filtern Sie den Push-Upgradeverlauf: 1. Wählen Sie in der Dropdownliste eine Versionsnummer aus. Wird keine Version ausgewählt, entspricht dies der Auswahl sämtlicher Versionsangaben. 2. Wählen Sie in der Statusliste eine oder mehrere Statusangaben aus. Wird kein Status ausgewählt, entspricht dies der Auswahl sämtlicher Statusangaben. 3. Klicken Sie auf Anwenden, um die Liste zu filtern. Klicken Sie auf Löschen, um alle Filter zu entfernen. Im Verlauf werden die folgenden Informationen (alphabetische Reihenfolge) angezeigt:

93

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Anzeigen des Push-Upgrade-Verlaufs: • "AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

Spalte

Beschreibung

Aktion

Ein derzeit durchgeführtes Push-Upgrade kann durch Klicken auf Abbrechen gestoppt werden.

Startdatum

Geplantes Startdatum/geplanter Startzeitpunkt des Push-Upgrades.

Status

Status des Push-Upgrade (geplant, in Bearbeitung, abgeschlossen, abgebrochen oder abgeschlossen mit Fehlern).

Ziel

Name der Organisation, für die das Push-Upgrade bestimmt war. Bei mehreren Organisationen wird in diesem Feld nur die erste Organisation in der Warteschlange aufgeführt, gefolgt von der Anzahl der insgesamt ausgewählten Organisationen. Durch Klicken auf diesen Link erhalten Sie weitere Informationen zum Ziel-Push-Upgrade und zu jeder einzelnen Organisation.

Version

Die Paketversionsnummer des Push.

IN DIESEM ABSCHNITT: Anzeigen von Details zu Push-Upgrades Anzeigen des Upgrade-Verlaufs einer Organisation SIEHE AUCH: Anzeigen von Details zu Push-Upgrades Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

Anzeigen von Details zu Push-Upgrades Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung. Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus, um Informationen über ein spezifisches Push-Upgrade zu erhalten, das von Ihrer Organisation gesendet wurde. Klicken Sie auf den Namen des Pakets, das Sie anzeigen möchten, und klicken Sie dann auf Push-Upgrades. Durch Klicken auf den Namen für ein Ziel gelangen Sie zur Seite "Push-Upgrade-Details", die sowohl Informationen zum Push-Auftrag als auch zu jeder Organisation, für die es gepusht wurde, umfasst. Im Abschnitt "Auftragsdetails" finden Sie folgende Informationen zum Push-Upgrade insgesamt (in alphabetischer Reihenfolge): Feld

Beschreibung

Enddatum

Datum und Zeitpunkt der Beendigung des Push-Upgrades.

94

AUSGABEN Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Anzeigen des Push-Upgrade-Details: • "AppExchange-Pakete hochladen"

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

Feld

Beschreibung

Fehlschläge beim APEX-Test ignorieren

Gibt an, ob Apex-Testfehler, die möglicherweise die ordnungsgemäße Funktion der installierten Anwendung verhindern, ignoriert wurden.

Geplant von

Name des Benutzers, der das Push-Upgrade initiiert hat.

Startdatum

Geplantes Startdatum/geplanter Startzeitpunkt des Push-Upgrades.

Status

Status des Push-Upgrade (geplant, in Bearbeitung, abgeschlossen, abgebrochen oder abgeschlossen mit Fehlern).

Version

Die Paketversionsnummer des Push.

Im Abschnitt "Organisationen" können Sie eine Liste aller Organisationen anzeigen, die ein Push-Upgrade erhalten haben. Sie können Organisationen filtern, indem Sie das Suchfeld verwenden und einen Begriff eingeben, mit dem nach dem Namen oder der ID einer Organisation gefiltert wird. Bei Namen werden teilweise Übereinstimmungen unterstützt; IDs müssen genau übereinstimmen. Über die Dropdownliste können Sie auch nach dem Status des Push-Upgrades filtern. Die Liste umfasst die folgenden Informationen zu jeder Organisation (in alphabetischer Reihenfolge): Feld

Beschreibung

Dauer

Zeit, die das Push-Upgrade in Anspruch genommen hat.

Fehlertyp

Führt ggf. den Typ der aufgetretenen Fehler auf. Falls beim Push-Upgrade ein Fehler aufgetreten ist, wird im ausblendbaren Abschnitt eine mögliche Erläuterung aufgeführt. Klicken Sie auf Erneut versuchen, falls das Push-Upgrade nicht erfolgreich durchgeführt wurde und Sie einen neuen Versuch durchführen möchten.

Unternehmens-ID

ID, anhand der Salesforce die Organisation eindeutig identifizieren kann.

Unternehmensname

Name der Organisation. Durch Klicken auf diesen Namen wird der Upgrade-Verlauf der Organisation angezeigt.

Start

Geplantes Startdatum/geplanter Startzeitpunkt des Push-Upgrades.

Status

Status des Push-Upgrade (geplant, in Bearbeitung, abgeschlossen, abgebrochen oder abgeschlossen mit Fehlern).

SIEHE AUCH: Anzeigen des Push-Upgrade-Verlaufs Planen von Push-Upgrades Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

95

Packen und Verteilen von Anwendungen

Planen von Push-Upgrades

Anzeigen des Upgrade-Verlaufs einer Organisation Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung.

AUSGABEN Verfügbarkeit: Salesforce Classic

Geben Sie unter Setup im Feld Schnellsuche den Text Pakete ein und wählen Sie dann Pakete aus, um weitere Informationen über eine bestimmte Organisation zu erhalten, die ein Push-Upgrade empfangen hat. Klicken Sie auf den Namen des Pakets, das Sie anzeigen möchten, und klicken Sie dann auf den Namen eines Ziels. Durch Klicken auf eine Organisation in der Liste der Ziele werden die folgenden Details angezeigt (in alphabetischer Reihenfolge):

Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN

Feld

Beschreibung

Aktuelle Version

Die aktuelle Paketversion, die bei einer Organisation installiert ist.

Unternehmens-ID

ID, anhand der Salesforce die Organisation eindeutig identifizieren kann.

Unternehmensname

Name der Organisation.

Hauptansprechpartner

Name des Kontakts, der das Paket installiert hat.

E-Mail Hauptansprechpartner

Die E-Mail-Adresse des Paketherausgebers.

Status

Status des Push-Upgrade (geplant, in Bearbeitung, abgeschlossen, abgebrochen oder abgeschlossen mit Fehlern).

Anzeigen des Push-Upgrade-Verlaufs: • "AppExchange-Pakete hochladen"

Im Push-Upgrade-Verlauf werden die folgenden Informationen (alphabetische Reihenfolge) angezeigt: Feld

Beschreibung

Aktion

Durch Klicken auf Details anzeigen gelangen Sie zurück zu den Auftragsdetails für das Upgrade.

Startdatum

Geplantes Startdatum/geplanter Startzeitpunkt des Push-Upgrades.

Status

Status des Push-Upgrade (geplant, in Bearbeitung, abgeschlossen, abgebrochen oder abgeschlossen mit Fehlern).

96

Packen und Verteilen von Anwendungen

Häufig gestellte Fragen zum Veröffentlichen von Paketen

Feld

Beschreibung

Version

Die Paketversionsnummer des Push.

SIEHE AUCH: Anzeigen von Details zu Push-Upgrades Anzeigen des Push-Upgrade-Verlaufs Erstellen und Hochladen von Patches Planen von Push-Upgrades Vorbereiten der Anwendungen für die Verteilung Verwalten von Versionen Veröffentlichen von Upgrades zu verwalteten Paketen

Bewährte Methoden für Push-Upgrades und Patch-Versionen Anmerkung: Patch-Versionen und Push-Upgrades stehen nur Salesforce-ISV-Partnern zur Verfügung.

AUSGABEN

Beachten Sie beim Planen von Push-Upgrades die folgenden bewährten Methoden: • Planen Sie Push-Upgrades für eine Zeit mit geringer Systemauslastung beim Kunden und außerhalb der Zeitfenster für Salesforce-Hauptversionen, um mögliche Beeinträchtigungen für die Abonnenten möglichst gering zu halten. • Vermeiden Sie Änderungen an Validierungsregeln, Formelfeldern und von Apex-Auslösern ausgelösten Fehlern, da sie sich negativ auf die Integrationen der Abonnenten auswirken können. • Bei Visualforce-Seiten, die während eines Push-Upgrades aktualisiert werden, geht der Status der Anzeige verloren, wenn die Seite oder das Steuerfeld geändert wird. Beachten Sie beim Erstellen von Patch-Versionen außerdem folgende bewährte Methoden: • In Patches sollten keine sichtbaren Änderungen an Paketen vorgenommen werden. Mit Ausnahme von Änderungen der Paketversionsnummer werden Abonnenten bei Push-Upgrades nicht benachrichtigt.

Verfügbarkeit: Salesforce Classic Verfügbarkeit: Developer Edition

NUTZERBERECHTIGUNGEN Push-Übertragung von Upgrades oder Erstellen von Patch-Entwicklungsorganisationen: • "AppExchange-Pakete hochladen"

Häufig gestellte Fragen zum Veröffentlichen von Paketen AUSGABEN

IN DIESEM ABSCHNITT:

Verfügbarkeit: Salesforce Classic

Wie wird der Rang von Paketen festgelegt? Was kann ich alles veröffentlichen?

Wie wird der Rang von Paketen festgelegt? In AppExchange werden ähnlich wie auf den meisten Verbraucher-Websites Feedbacks und Beurteilungen aufgelistet. Die Salesforce-Benutzer haben dadurch die Möglichkeit zu bestimmen, wie nützlich ein Paket ist.

97

Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited und Developer Edition

Packen und Verteilen von Anwendungen

Bereitstellung von Support für Abonnenten Ihrer Anwendungen

Was kann ich alles veröffentlichen? Sie können eine beliebige, für eine bestimmte Geschäftsanforderung zugeschnittene Sammlung von Komponenten veröffentlichen, wie z. B. Registerkarten, Berichte und Dashboards. Sie können diese Komponenten in einem Paket bündeln und sie zusammen veröffentlichen. . Unabhängig davon, welche Komponenten Sie Ihrem Paket hinzufügen, werden niemals Ihre Daten aufgenommen.

Bereitstellung von Support für Abonnenten Ihrer Anwendungen Kundensupport Anwendungsherausgeber sind für den Endbenutzer-Support für alle ihre Anwendungen verantwortlich. Wenn sich Kunden mit einer Frage zu Ihren Anwendungen an den Salesforce-Kundensupport wenden, verweisen wir den Benutzer auf die Supportinformationen auf den Registerkarten "Info" und "Support" für Ihre Anwendungen. Vergessen Sie nicht, Supportinformationen für Ihre AppExchange-Anwendungen mit aufzunehmen. Wenn bei Ihnen die License Management App (LMA) installiert ist, können Sie sich bei der Organisation eines Benutzers anmelden und administrativen Support für Ihre Kunden bereitstellen. Diese Funktion ist nur für verwaltete Pakete verfügbar, die die Sicherheitsprüfung bestanden haben. Weitere Informationen finden Sie unter Anmelden bei Abonnentenorganisationen.

Abonnentenorganisation Auf dieser Seite finden Sie eine Liste der Abonnentenorganisationen, in denen Ihr Paket installiert ist. Um rasch eine Abonnentenorganisation zu finden, geben Sie den Namen einer Abonnentenorganisation oder die Organisations-ID in das Suchfeld ein und klicken Sie auf Suche. Klicken Sie auf den Namen einer Abonnentenorganisation, um detaillierte Informationen dazu anzuzeigen. Anmerkung: In dieser Liste werden nur Abonnenten angezeigt, bei denen mindestens ein verwaltetes Paket installiert ist, das mit Ihrer LMA verknüpft ist.

NUTZERBERECHTIGUNGEN Anmelden bei Abonnentenorganisationen: • "Bei Abonnentenorganisation anmelden"

Anzeigen von Abonnentendetails Auf der Seite "Abonnentenübersicht", die durch Klicken auf den Namen der Organisation auf der Registerkarte Abonnenten derLMA aufgerufen werden kann, finden Sie detaillierte Informationen zu den einzelnen Abonnentenorganisationen. Dadurch erhalten Sie Einblicke, wie ein Kunde Ihre Anwendung verwendet, und Hilfe bei der Fehlerbehebung. Unter "Organisationsdetails": • Der Name und die Kontaktinformationen stammen von der Seite "Firmeninformationen" unter "Setup" in der Organisation des Abonnenten. Diese Daten können von den Informationen in Ihren Lead-, Account- bzw. Kontaktdatensätzen in der LMA abweichen.

NUTZERBERECHTIGUNGEN Anmelden bei Abonnentenorganisationen: • "Bei Abonnentenorganisation anmelden"

• "Organisations-ID" ist eine eindeutige ID, die die Salesforce-Organisation des betreffenden Kunden angibt. • "Instanz" legt fest, in welchem Salesforce-Rechenzentrum sich die Organisation dieses Kunden befindet. Außerdem wird damit festgelegt, wann der Kunde eine Aufrüstung auf die neue Version von Salesforce erhält. Unter trust.salesforce.com finden Sie während des Veröffentlichungszeitraums Daten zu der vom Kunden verwendeten Salesforce-Version. Auf der Seite sind auch diese Themenlisten vorhanden.

98

Packen und Verteilen von Anwendungen

Anfordern des Anmeldezugriffs

Einschränkungen Informationen über den Dateispeicherplatz, den Datenspeicherplatz und die Anzahl der API-Anforderungen, die mit diesem Kunden verknüpft sind, angegeben als Prozentsatz. Anmeldezugriff gewährt Eine Liste der Benutzer, die Anmeldezugriff gewährt haben, sowie das Datum, an dem der Zugriff abläuft. Pakete und Lizenzierung Eine Liste aller in dieser Organisation installierten Pakete, die mit dieser LMA verknüpft sind. Für jedes Paket werden die Version der Anwendung, die ein Kunde derzeit verwendet, die Gesamtzahl der dem Abonnenten bereitgestellten Lizenzen sowie die Anzahl der verwendeten Lizenzen angegeben. Diese Informationen sollten mit dem Lizenzdatensatz für den Abonnenten in Ihrer LMA übereinstimmen.

Anfordern des Anmeldezugriffs Bitten Sie den Benutzer, seine persönlichen Einstellungen aufzurufen und auf Anmeldezugriff auf Account gewähren bzw. auf Anmeldezugriff gewähren zu klicken (je nachdem, was davon angezeigt wird), um Zugriff zu gewähren. Falls der Publisher nicht auf dieser Seite aufgeführt ist, hat dies einen der folgenden Gründe: • Ein Systemadministrator hat die Möglichkeit deaktiviert, dass Benutzer ohne Administratorrechte den Zugriff gewähren können. • Der Benutzer hat keine Lizenz für das Paket. • Das Paket wurde für die gesamte Organisation lizenziert. Nur Administratoren, in deren Profil die Berechtigung "Benutzer verwalten" aktiviert ist, können den Zugriff gewähren. • Die Organisationseinstellung Administratoren können sich als beliebiger Benutzer anmelden ist aktiviert. Anmerkung: Wenn die Organisationseinstellung Administratoren können sich als beliebiger Benutzer anmelden nicht aktiviert ist, kann der Zugriff nur für einen begrenzten Zeitraum gewährt werden und der Abonnent kann den Zugriff jederzeit widerrufen. Etwaige Änderungen, die Sie vornehmen, während Sie als Abonnent angemeldet sind, werden im Verlauf gespeichert.

Anmelden bei Abonnentenorganisationen Verfügbarkeit: Enterprise, Performance, Unlimited und Developer Edition

Anmerkung: Diese Funktion ist nur in Organisationen mit einer vollständigen Salesforce-Lizenz verfügbar. Anmelden, nachdem ein Benutzer Ihnen den Zugriff gewährt hat:

NUTZERBERECHTIGUNGEN Anmelden bei Abonnentenorganisationen: • "Bei Abonnentenorganisation anmelden"

1. Klicken Sie in der Lizenzmanagementanwendung (LMA) auf die Registerkarte Abonnenten. 2. Wenn Sie schnell und einfach eine Abonnentenorganisation finden möchten, geben Sie den Namen oder die Unternehmens-ID eines Abonnenten in das Suchfeld ein und klicken Sie auf Suchen. 3. Klicken Sie auf den Namen der Abonnentenorganisation. 4. Klicken Sie auf der Seite "Organisationsdetails" neben dem Namen eines Benutzers auf Anmelden. Achten Sie darauf, dass Sie dieselben Berechtigungen haben wie der Benutzer, als der Sie angemeldet sind. 5. Wenn Sie die Fehlerbehebung abgeschlossen haben, klicken Sie auf Zurück zur Abonnentenübersicht, um zu Ihrer Organisation zurückzukehren.

99

Packen und Verteilen von Anwendungen

Fehlerbehebung in Abonnentenorganisationen

Anmerkung: In dieser Liste werden nur Abonnenten angezeigt, bei denen mindestens ein verwaltetes Paket installiert ist, das mit Ihrer LMA verknüpft ist.

Bewährte Methoden • Wenn Sie auf eine Abonnentenorganisation zugreifen, werden Sie bei Ihrer LMO (Lizenzmanagementorganisation) abgemeldet. Sie können eine eigene Domäne ("Meine Domäne") einrichten, damit Sie nicht automatisch bei Ihrer LMO abgemeldet werden, wenn Sie sich bei einer Abonnentenorganisation anmelden. Geben Sie zum Einrichten von "Meine Domäne" unter "Setup" im Feld Schnellsuche den Text Meine Domäne ein und wählen Sie dann Meine Domäne aus. • Achten Sie darauf, nur vertrauenswürdigen Mitarbeitern des Supports und der Technikabteilung die Anmeldung bei der Organisation eines Abonnenten zu gestatten. Da diese Funktion möglicherweise einen uneingeschränkten Lese-/Schreibzugriff auf Kundendaten und -konfigurationen beinhaltet, ist es für Ihre Reputation unerlässlich, deren Sicherheit zu schützen. • Sie können den Zugriff kontrollieren, indem Sie die Benutzerberechtigung "Bei Abonnentenorganisation anmelden" über ein Profil oder einen Berechtigungssatz nur bestimmten Benutzern erteilen.

Fehlerbehebung in Abonnentenorganisationen Wenn Sie als Benutzer bei der Organisation eines Abonnenten angemeldet sind, können Sie Apex-Debug-Protokolle erstellen, die die Ausgabe Ihrer verwalteten Pakete enthalten. Hierzu zählt die Protokollierung von Informationen, die dem Abonnenten in der Regel nicht angezeigt werden. Mit diesen Protokollinformationen können Sie die Fehlerbehebung von Problemen durchführen, die spezifisch für diese Abonnentenorganisation sind. 1. Starten der Entwicklerkonsole 2. Führen Sie den Vorgang durch und zeigen Sie das Debug-Protokoll mit der Ausgabe an. Wenn der Benutzer über Zugriff verfügt, legen Sie ein Debug-Protokoll an: Geben Sie unter "Setup" im Feld Schnellsuche den Text Debug-Protokolle ein und wählen Sie dann Debug-Protokolle aus. Beachten Sie, dass Abonnenten die von Ihnen angelegten oder erstellten Protokolle nicht anzeigen können, da diese Ihren Apex-Code in nicht verborgener Form enthalten. Darüber hinaus können Sie auch in geschützten benutzerdefinierten Einstellungen enthaltene Daten aus Ihren verwalteten Paketen anzeigen und bearbeiten, wenn Sie als Benutzer angemeldet sind.

100

VERZEICHNIS AppExchange (Fortsetzung) Versionstypen verwalteter Pakete 11 Verwalten von Paketen 9 Verwalten von Uploads 89 Verwaltete Pakete 7

A Abhängigkeiten Grundlegendes 53 Abonnenten-Support 98, 100 Anmelden 98, 100 Anwendungen Entwerfen 28 Entwicklungsprozess 42 Laden 74 Nichtverwaltete Pakete 28 Komponentenverhalten 28 Pakete 28 Komponentenverhalten 28 Verwaltete Pakete 28 Komponentenverhalten 28 Apex Abhängigkeiten 53 Bearbeiten des Zugriffs aus AppExchange-Paketen 50 Zugriff von Paketen aus 47 API Bearbeiten des Zugriffs aus AppExchange-Paketen 50 Herunterladen der Unternehmens-WSDL 52 Standardpaketversionen 46 Zugriff von Paketen aus 47 AppExchange Anmelde-Branding 79–80 Bearbeiten des API-Paketzugriffs 50 Benutzerdefinierte Hilfe 72 Design 79–80 E-Mail-Design 81–83 Entwerfen von Anwendungen 28 Entwickeln der Anwendungsdokumentation 72 Entwicklereinstellungen 9 Erstellen von Paketen 12, 46, 66–68, 70–72, 74 Erstellen von Patches 90 Herausgeber zuweisen 73 Hinzufügen von Komponenten 13 Hochladen von Paketen 74 Hochladen von Patches 90 Löschen von Komponenten 44 Paket-API-Zugriff 47 Versionen verwalteter Pakete 11

B Benutzerdefinierte Hilfe AppExchange-Anwendungen 72 Benutzersupport 98 Bewährte Methoden Patch-Versionen 97 Push-Upgrades 97

E Entwicklereinstellungen Konfigurieren 7 Lizenzmanager 9 Namespace-Präfix 8 Erstellen von Registrierungen über die API 83

H Häufig gestellte Fragen Festlegen des Rangs von Paketen 97 Veröffentlichen 98

I Integration Herunterladen der Unternehmens-WSDL 52 Standardpaketversionen 46 Verwaltete Pakete 46, 52

N Namespace-Präfix 9 Nichtverwaltete Pakete Geschützte Komponenten 17 Paketfähige Komponenten 18

O Operationsumfang 53

P Paket-API-Zugriff 47 Pakete Abhängigkeiten 53 Benutzersupport 98

101

Verzeichnis

Pakete (Fortsetzung) Berechtigungssätze und Profileinstellungen 39 Deinstallationsskript 70–71 Design 79–83 Entwicklereinstellungen 9 Erstellen 12, 46, 66–68, 70–72, 74 Gegenüberstellung: Nichtverwaltet und verwaltet 1 Geschützte Komponenten 17 Hinzufügen von Komponenten 13 Komponentenverhalten 20 Laden 74 Löschen von Komponenten 44 Nicht verwendete Komponenten 45 Paketfähige Komponenten 13, 18 Post-Installations-Skript 66–68 Testfehler, Lösen 66 Verteilung 1 Vorbereiten von Anwendungen 1 Paketerstellung Push-Upgrades, planen 91 Patch-Versionen Erstellen 90 Laden 90 Push-Upgrades Auftragsdetails 94 Details 93 Organisationsdetails 96 Planen 91

R Registrierungsanforderung Erstellen 85 Registrierungsanforderungen Anzeigedetails 85 Startseite 84

S Support für Endbenutzer 98

T Trialforce Erstellen einer Testorganisation 83 Registrierung 83

V Verwaltete Pakete Aktivieren 6 Erweiterungen 87 Geschützte Komponenteen 17 Herunterladen der Unternehmens-WSDL 52 Informationen 7 Komponentenverhalten 20 Konvertieren in 73 Paketfähige Komponenten 13, 18 Patch-Versionen, bewährte Methoden 97 Planung 43 Push-Upgrades 91 Push-Upgrades, bewährte Methoden 97 Standardpaketversionen 46 Veröffentlichen von Upgrades 88 Versionen 11 Versionstypen 11 Visualforce Abhängigkeiten 53

W WSDLs Herunterladen 52

102