Hochladen von Salesforce-Dateien in das DMS
In diesem Kapitel erfährst du, wie du Salesforce-Dateien (ContentDocument, Attachment und EmailMessage) als Dokumente in das DMS hochlädst. Du kannst die Dateien und Datensätze einzeln hochladen oder direkt alle Anhänge eines Ursprungsdatensatzes in das DMS migrieren.
Inhalt
Anfordern einer gültigen Benutzersitzung für den Prozess
Um sicherzustellen, dass der Hochladevorgang im inbegriffenen Queueable-Prozess mit einer gültigen Benutzersitzung durchgeführt wird, muss die Benutzersitzung vorher in d.velop documents angefordert werden. Die Benutzersitzung kannst du entweder manuell anfordern oder vom Prozess durchführen lassen.
Wie du eine gültige Benutzersitzung erhältst, erfährst du in den folgenden Abschnitten:
Inhalt
Authentifizieren im Vorfeld (empfohlen)
Um im Vorfeld eine gültige Benutzersitzung anzufordern, bietet die Klasse DocumentUploader verschiedene Methoden. Du kannst z.B. direkt eine Sitzung für den angemeldeten Benutzer bzw. Servicebenutzer abrufen. Alternativ kannst du auch eine Sitzung anhand eines zuvor erlangten Cookies (z.B. mithilfe von Methoden der Klasse OpenAPI) verwenden.
Im Folgenden erfährst du, wie du die verschiedenen Methoden verwendest.
Authentifizieren im Vorfeld – angemeldeter Benutzer
// Create the document uploader - This can happen anywhere in your code dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate as the currently logged in user docUploader.authenticateInCurrentUserContext(); // Define upload request(s) // ... // Start the process docUploader.startUpload(requests);
Authentifizieren im Vorfeld – Servicebenutzer
// Create the document uploader - This can happen anywhere in your code dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate as the service user docUploader.authenticateInServiceUserContext(); // Define upload request(s) // ... // Start the process docUploader.startUpload(requests);
Authentifizieren im Vorfeld – mit Cookie
// Create the document uploader - This can happen anywhere in your code dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Fetch a cookie (cached or completely fresh) and pass it to the uploader that starts the process String cookie = dvelop_docs_dev.OpenAPI.getValidCookieForConfigUser(); docUploader.setAuthentication(cookie); // Define upload request(s) // ... // Start the process docUploader.startUpload(requests);
Authentifizieren während des Prozesses
Für den Fall, dass im Vorfeld keine gültige Benutzersitzung erhalten wurde, fordert der Upload-Prozess einmalig mithilfe der internen Queueable-Klasse AuthenticationJob eine Sitzung in d.velop documents an. Dabei wird entweder eine bereits mittels Salesforce Plattform Cache zwischengespeicherte Sitzung verwendet oder eine komplett neue Sitzung in Identityprovider angefragt.
Du kannst das Verhalten von AuthenticationJob mithilfe der Klasse DocumentUploadOptions beeinflussen und so z.B. den Prozess mit den Zugangsdaten des Servicebenutzers ausführen.
Anmerkung
Wenn im Vorfeld keine Sitzung angefordert und DocumentUploadOptions nicht an den Prozess übergeben wurde, werden die Fallback-Optionen (useConfigUser = false – skipValidate = false) verwendet.
Nachfolgend erfährst du im Beispiel, wie du die Rahmenparameter des Prozesses mit der Klasse anpassen kannst.
Authentifizieren während des Prozesses – Beeinflussen der Optionen
// Create the document uploader - This can happen anywhere in your code dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Define your custom options dvelop_docs_dev.DocumentUploadOptions options = new dvelop_docs_dev.DocumentUploadOptions(true, false); // Define upload request(s) // ... // Start the process - Use the overloaded method signature "startUpload(requests, options)" docUploader.startUpload(requests, options);
Siehe auch
Hochladen von "ContentDocument"- und "Attachment"-Dateien
In diesem Abschnitt erfährst du, wie du einzelne oder mehrere ContentDocument- oder Attachment-Dateien aus Salesforce in das DMS hochlädst.
Inhalt
Hochladen einer ContentDocument-/Attachment-Datei
Im Kontext eines Datensatzes kannst du mithilfe der Klasse ContentDocumentUploadRequest und der Methode startUpload(requests) eine ContentDocument- oder Attachment-Datei hochladen.
Im nachfolgenden Beispiel erfährst du, wie du die Klasse verwendest.
// Create a new uploader instance dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate against connected DMS docUploader.authenticateInCurrentUserContext(); // Define upload request(s) dvelop_docs_dev.ContentDocumentUploadRequest request = new dvelop_docs_dev.ContentDocumentUploadRequest(); request.relatedEntityId = '0019Z00000I7cpRQAR'; request.contentDocumentId = '0699Z000001ygrqQAA'; request.documenttypeKey = 'Schriftverkehr_Kunde'; request.preserveFileAfterUpload = true; List<dvelop_docs_dev.IDocumentUploadRequest> uploadRequests = new List<dvelop_docs_dev.IDocumentUploadRequest>{ request }; // Perform the action - Start the upload process docUploader.startUpload(uploadRequests);
Um mehrere ContentDocument-/Attachment-Dateien oder andere Objekte nacheinander hochzuladen, erweitere die Liste um zusätzliche IDocumentUploadRequest-Instanzen.
Siehe auch
Hochladen von "EmailMessage"-Objekten
In diesem Kapitel erfährst du, wie du einzelne oder mehrere EmailMessage-Objekte in das DMS hochlädst.
Inhalt
Hochladen eines EmailMessage-Objekts
Im Kontext eines Datensatzes kannst du mithilfe der Klasse EmailMessageUploadRequest und der Methode startUpload(requests) ein EmailMessage-Objekt hochladen.
Im folgenden Beispiel siehst du, wie du die Klasse verwendest.
// Create a new uploader instance dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate against connected DMS docUploader.authenticateInCurrentUserContext(); // Define upload request dvelop_docs_dev.EmailMessageUploadRequest request = new dvelop_docs_dev.EmailMessageUploadRequest(); request.relatedEntityId = '0019Z00000I7cpRQAR'; request.emailMessageIds = new List<Id>{ '02s9Z000003G7TeQAK' }; request.documenttypeKey = 'Schriftverkehr_Kunde'; List<dvelop_docs_dev.IDocumentUploadRequest> uploadRequests = new List<dvelop_docs_dev.IDocumentUploadRequest>{ request }; // Perform the action - Start the upload process docUploader.startUpload(uploadRequests);
Um mehrere EmailMessage- oder andere Objekte nacheinander hochzuladen, erweitere die Liste um zusätzliche IDocumentUploadRequest-Instanzen.
Siehe auch
Hochladen neuer Versionen
In diesem Kapitel erfährst du, wie du ContentDocument- oder Attachment-Dateien als neue Versionen von DMS-Dokumenten hochlädst.
Inhalt
Hochladen von ContentDocument-/Attachment-Dateien als neue Version
Du kannst ContentDocument - und Attachment-Dateien mithilfe der Klasse UploadNewVersionRequest und der Methode startUpload(requests) als neue Version eines DMS-Dokuments hochladen.
Im folgenden Beispiel erfährst du, wie du die Klasse verwendest.
// Create a new uploader instance dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate against connected DMS docUploader.authenticateInCurrentUserContext(); // Define upload request dvelop_docs_dev.UploadNewVersionRequest request = new dvelop_docs_dev.UploadNewVersionRequest(); request.contentDocumentId = '0699Z000001ygrqQAA'; request.dmsDocumentId = 'XH00020875'; List<dvelop_docs_dev.IDocumentUploadRequest> uploadRequests = new List<dvelop_docs_dev.IDocumentUploadRequest>{ request }; // Perform the action - Start the upload process docUploader.startUpload(uploadRequests);
Um mehrere neue Versionen oder Objekte nacheinander hochzuladen, erweitere die Liste um zusätzliche IDocumentUploadRequest-Instanzen.
Siehe auch
Migrieren von mit Datensätzen verbundenen Salesforce-Dateien und E-Mails
In diesem Kapitel erfährst Du, wie du mit Datensätzen verbundene ContentDocument- und Attachment-Dateien sowie EmailMessage-Objekte in das DMS migrierst.
Inhalt
Migrieren von Salesforce-Dateien und EmailMessage-Objekten
Du kannst Dateien und EmailMessage -Objekte mithilfe der Klasse AttachmentMigrationRequest und der Methode startUpload(requests) von einem bestimmten Datensatz lösen und migrieren. Die migrierten Elemente kannst du entweder am entsprechenden Ort beibehalten oder anschließend aus Salesforce löschen, um Speicherplatz einzusparen.
Im folgenden Beispiel erfährst du, wie du die Klasse verwendest.
// Create a new uploader instance dvelop_docs_dev.DocumentUploader docUploader = new dvelop_docs_dev.DocumentUploader(); // Authenticate against connected DMS docUploader.authenticateInCurrentUserContext(); // Define upload request dvelop_docs_dev.AttachmentMigrationRequest request = new dvelop_docs_dev.AttachmentMigrationRequest(); request.relatedEntityId = '0019Z00000I7cpVQAR'; request.docTypeKey = 'Schriftverkehr_Kunde'; request.fileTypesToProcess = '*'; request.transferAndRemoveEmails = true; request.preserveFilesAfterTransfer = true; request.preserveEmailsAfterTransfer = true; List<dvelop_docs_dev.IDocumentUploadRequest> uploadRequests = new List<dvelop_docs_dev.IDocumentUploadRequest>{ request }; // Perform the action - Start the upload process docUploader.startUpload(uploadRequests);
Um mehrere Datensätze nacheinander abzuarbeiten oder Objekte hochzuladen, erweitere die Liste um zusätzliche IDocumentUploadRequest-Instanzen.