Verwenden der Klasse “DocumentManager”
Die Klasse dvelop_docs_dev.DocumentManager bietet verschiedene Funktionen an, um über eigenen Apex-Code mit Dokumenten aus dem angebundenen Dokumentenmanagementsystem (DMS) zu arbeiten und die Dokumente zu verwalten.
Signatur
global with sharing class DocumentManager extends SubscriberInterface
Oberklasse
Inhalt
Konstruktoren
Du kannst eine Instanz von DocumentManager mit folgenden Konstruktoren erzeugen:
DocumentManager()
Der Konstruktor erstellt eine DocumentManager-Instanz mit Standardwerten.
Signatur
global DocumentManager()
Methoden
Die Klasse DocumentManager bietet folgende Methoden:
Anmerkung
Für die Methoden der Oberklasse, wirf einen Blick auf Verwenden der Klasse "SubscriberInterface".
downloadDocument(documentId)
Die Methode lädt ein DMS-Dokument mit der übergebenen ID herunter und gibt als Ergebnis die Klasse DocumentDownloadResult mit Namen und Inhalt der Datei des Dokuments zurück.
Anmerkung
Eine genaue Anleitung, wie du Dokumente herunterladen kannst, findest du hier.
Signatur
global DocumentDownloadResult downloadDocument(String documentId)
Parameter
documentId: Die ID des DMS-Dokuments, das nach Salesforce heruntergeladen werden soll.
Datentyp: String
Rückgabe
Eine Instanz der Klasse dvelop_docs_dev.DocumentDownloadResult, die den Dateinamen und den Inhalt der Datei des Dokuments enthält.
downloadDocuments(documentIds, finisher, proceedOnFailure)
Die Methode lädt mehrere DMS-Dokumente asynchron herunter und gibt die Ergebnisse an den übergebenen AsyncProcessFinisher-Job weiter.
Anmerkung
Eine genaue Anleitung, wie du Dokumente herunterladen kannst, findest du hier.
Warnung
Diese Methode startet einen asynchronen Queueable-Prozess mit System.enqueueJob(). Beachte die Limits für Queueable Jobs in dem Kontext, in dem du die Methode aufrufst.
Signatur
global void downloadDocuments(List<String> documentIds, AsyncProcessFinisher finisher, Boolean proceedOnFailure)
Parameter
documentIds: Eine Liste der IDs der DMS-Dokumente, die nach Salesforce heruntergeladen werden sollen.
Datentyp: List<String>
finisher: Eine Instanz eines AsyncProcessFinisher-Jobs. Dieser Job wird nach Abschluss der Download-Queue angehängt und erhält eine Liste der Klasse DocumentDownloadResult als Output für seinen Standardparameter.
Datentyp: dvelop_docs_dev.AsyncProcessFinisher
proceedOnFailure: Legt fest, ob der Prozess fortgesetzt wird, wenn beim Herunterladen eines Dokuments ein Fehler auftritt.
Datentyp: Boolean
Standardwert: false
Rückgabe (an den "Finisher"-Job)
Eine Liste mit Instanzen der Klasse dvelop_docs_dev.DocumentDownloadResult, die die Ergebnisse der einzelnen Downloads beinhalten.
downloadDocumentToRecord(recordId, documentId)
Die Methode lädt ein DMS-Dokument mit der übergebenen ID herunter und speichert das Dokument als Datei in einem Salesforce-Datensatz.
Anmerkung
Eine genaue Anleitung, wie du Dokumente herunterladen kannst, findest du hier.
Warnung
Diese Methode führt DML aus. Beachte die Limits für DML-Statements in dem Kontext, in dem du die Methode aufrufst. Direkt nach einer DML-Operation sind keine HTTP-Callouts mehr möglich.
Signatur
global Id downloadDocumentToRecord(Id recordId, String documentId)
Parameter
recordId: Die ID des Datensatzes, an den das heruntergeladene DMS-Dokument angehängt werden soll.
Datentyp: Id
documentId: Die ID des DMS-Dokuments, das nach Salesforce heruntergeladen werden soll.
Datentyp: String
Rückgabe
Die ID des ContentDocument-Datensatzes, das für das heruntergeladene DMS-Dokument am verwandten Datensatz erstellt wurde.
searchDocuments(options)
Die Methode führt eine Suche nach Dokumenten im DMS aus. Die Parameter der Suche werden durch die übergebene Instanz von DocumentSearchOptions bestimmt.
Warnung
Die Methode searchDocuments(options) ist veraltet, wird aber weiterhin unterstützt. Dennoch empfehlen wir den Umstieg auf die neue Methode search(options), um alle Vorteile nutzen zu können.
Signatur
global List<Map<String, String>> searchDocuments(DocumentSearchOptions options)
Parameter
options: Eine Instanz von beliebig konfigurierten Suchoptionen, aus denen die Parameter für die Suche ermittelt werden.
Datentyp: dvelop_docs_dev.DocumentSearchOptions
Rückgabe
Eine Liste von gefundenen Dokumenten in generischem Wörterbuchformat (Map).
search(options)
Die Methode führt eine Suche nach Dokumenten im DMS aus. Die Parameter der Suche werden durch die übergebene Instanz von DocumentSearchOptions bestimmt.
Anmerkung
Eine genaue Anleitung, wie du nach DMS-Dokumenten mit komplexen Suchparametern suchen kannst, findest du hier.
Signatur
global List<Document> search(DocumentSearchOptions options)
Parameter
options: Eine Instanz von beliebig konfigurierten Suchoptionen, aus denen die Parameter für die Suche ermittelt werden.
Datentyp: dvelop_docs_dev.DocumentSearchOptions
Rückgabe
Eine Liste von dvelop_docs_dev.Document für die gefundenen DMS-Dokumente.
searchDocumentsWithIds(searchAttributeKey, documentIds)
Die Methode führt eine Suche nach Dokumenten mit bestimmten IDs im DMS aus.
Anmerkung
Eine genaue Anleitung, wie du nach DMS-Dokumenten anhand ihrer IDs suchen kannst, findest du hier.
Signatur
global List<Document> searchDocumentsWithIds(String searchAttributeKey, List<String> documentIds)
Parameter
searchAttributeKey: Der Schlüssel der Quelleigenschaft, die der Dokument-ID im verbundenen DMS zugewiesen ist.
Datentyp: String
documentIds: Die Liste an IDs der gesuchten Dokumente.
Datentyp: List<String>
Rückgabe
Eine Liste von dvelop_docs_dev.Document für die gefundenen DMS-Dokumente.
getDocument(documentId)
Die Methode ruft ein Dokument mit der angegebenen ID aus dem DMS ab und gibt das Ergebnis als Instanz der Klasse Document wieder.
Anmerkung
Eine genaue Anleitung, wie du ein bestimmtes DMS-Dokument abrufen kannst, findest du hier.
Signatur
global Document getDocument(String documentId)
Parameter
documentId: Die ID des DMS-Dokuments, dessen Eigenschaften, Links und Kategorien ermittelt werden.
Datentyp: String
Rückgabe
Eine Instanz der Klasse dvelop_docs_dev.Document für das DMS-Dokument, das mit der ID am verbundenen DMS gefunden wurde.
updateDocument(documentId, updatedCategory, updatedAttributes)
Die Methode aktualisiert die Eigenschaften und optional die Kategorie des DMS-Dokuments mit der gegebenen ID.
Anmerkung
Eine genaue Anleitung, wie du ein bestimmtes DMS-Dokument aktualisieren kannst, findest du hier.
Signatur
global void updateDocument(String documentId, String updatedCategory, List<DocumentAttribute> updatedAttributes)
Parameter
documentId: Die ID des DMS-Dokuments, das aktualisiert werden soll.
Datentyp: String
updatedCategory: Der Schlüssel der neuen Kategorie. Wenn die Kategorie nicht aktualisiert werden soll, kann stattdessen null übergeben werden.
Datentyp: String
updatedAttributes: Eine Liste von Eigenschaften, die aktualisiert werden sollen.
Datentyp: List<dvelop_docs_dev.DocumentAttribute>
deleteDocument(documentId, ?reason)
Die Methode löscht ein Dokument oder eine Akte mit der gegebenen ID aus dem DMS.
Anmerkung
Eine genaue Anleitung, wie du ein bestimmtes DMS-Objekt löschen kannst, findest du hier.
Signatur
global void deleteDocument(String documentId)
global void deleteDocument(String documentId, String reason)
Parameter
documentId: Die ID des DMS-Objekts, das gelöscht werden soll.
Datentyp: String
reason: Der Grund für die Löschung des Objekts. Die Zeichenkette muss zwischen drei und 80 Zeichen lang sein.
Datentyp: String
Standardwert: “Von d.velop documents for Salesforce gelöscht.”
sendEmail(options)
Die Methode versendet eine E-Mail mit Anhängen aus Salesforce (ContentDocument) und dem verbundenen DMS (DMS-Dokumente). Die Details der E-Mail werden durch die übergebene Instanz von DocumentEmailOptions bestimmt.
Anmerkung
Eine genaue Anleitung, wie du E-Mails mit Salesforce- und DMS-Anhängen versendest, findest du hier.
Signatur
global void sendEmail(DocumentEmailOptions options)
Parameter
options: Eine Instanz von beliebig konfigurierten E-Mail-Optionen, aus denen die nötigen E-Mail-Details und Anhänge ermittelt werden.
Datentyp: dvelop_docs_dev.DocumentEmailOptions
createFolder(category, attributes)
Die Methode erstellt eine Akte mit der angegebenen Kategorie und der Liste an Eigenschaften im DMS.
Anmerkung
Eine genaue Anleitung, wie du Akten im DMS erstellst, findest du hier.
Signatur
global String createFolder(String category, List<DocumentAttribute> attributes)
Parameter
category: Der Schlüssel der Kategorie, die die Akte haben soll.
Datentyp: String
attributes: Eine Liste von Eigenschaften, die für die Akte festgelegt werden sollen.
Datentyp: List<dvelop_docs_dev.DocumentAttribute>
Rückgabe
Die ID der erstellten Akte im DMS.
shareDocuments(downloadUrls)
Die Methode erzeugt temporäre URLs, um DMS-Dokumente mit Dritten zu teilen.
Anmerkung
Eine genaue Anleitung, wie du DMS-Dokumente mit Dritten teilst, findest du hier.
Warnung
Die Methode steht in SharePoint-Umgebungen nicht zur Verfügung.
Signatur
global Map<String, String> shareDocuments(Set<String> downloadUrls)
Parameter
downloadUrls: Eine Menge an Download-URLs der Dokumente, die geteilt werden sollen.
Datentyp: Set<String>
Rückgabe
Ein generisches Wörterbuch (Map) mit den übergebenen Download-URLs und den dazugehörigen temporären Links.