Simplifier Makers ClubSimplifier Makers Club
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Kurse
  • Marktplatz
  • Lizenzen
  • Login
  • Werde Mitglied im Club
  • Deutsch
  • Englisch
  • Try for free
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Kurse
  • Marktplatz
  • Lizenzen
  • Login
  • Werde Mitglied im Club
  • Deutsch
  • Englisch
  • Try for free
home/Wissensdatenbank/Plugins/So verwenden Sie das Simplifier Content Repository Plugin

So verwenden Sie das Simplifier Content Repository Plugin

Written by Christian Kleinschroth
Juli 24, 2024

Voraussetzungen

Wenn Sie das von uns empfohlene Standard-Setup auf Basis von Docker Compose(https://github.com/simplifier-ag/docker-compose) verwenden, wird das Content Repository Plugin standardmäßig gestartet und konfiguriert.

Wenn Sie Simplifier auf andere Weise ausführen, folgen Sie bitte Schritt 1.

Schritt 1: Einrichten des Content Repository-Plugins

Wenn Sie das empfohlene Docker-Compose-Setup verwenden, müssen Sie nichts weiter tun. Verwenden Sie einfach das Standard-Setup, und alles wird automatisch vorbereitet. Sie können Schritt 1 überspringen und mit Schritt 2 fortfahren.

Simplifer verwendet eine Namenskonvention. Um mit dieser Anleitung fortzufahren, müssen Sie den Namen der Hauptdatenbank von Simplifier und den Benutzernamen kennen, der für diese Verbindung verwendet wird. Bitte ersetzen Sie ${simplifierDatabaseName} durch den tatsächlichen Namen der Simplifier-Hauptdatenbank und ${simplifierDatabaseUser} durch den tatsächlichen Namen des Datenbankbenutzers, der bereits für die Simplifier-Hauptdatenbank verwendet wird.

1.1 Erstellen der Datenbank

Erstellen Sie eine Datenbank mit dem Namen

${simplifierDatabaseName}_content

Bitte befolgen Sie die Namenskonvention, um eine manuellere Einrichtung zu vermeiden.

1.2 Zugriffsrechte an DB-Benutzer vergeben

Geben Sie dem Benutzer, den Sie für die Simplifier-Hauptdatenbank konfiguriert haben, volle Rechte auf diese neue Datenbank.

 GRANT ALL PRIVILEGES ON ${simplifierDatabaseName}_content TO ${simplifierDatabaseUser}@'%'

1.3 Content-Repository-Plugin aktivieren

Konfigurieren Sie Ihr Setup so, dass die Umgebungsvariable PLUGINLIST gesetzt wird. Wenn Sie diese Variable nicht verwenden, muss sie auf folgende Weise gesetzt werden:
PLUGINLIST=contentRepoPlugin
Wenn Sie die Variable bereits definiert haben, vergewissern Sie sich, dass contentRepoPlugin Teil der kommagetrennten Liste ist, die Sie als Wert angeben. Das Setup für den Start aller Standard-Plugins würde wie folgt aussehen:
PLUGINLIST=keyValueStorePlugin,pdfPlugin,captcha,contentRepoPlugin,jsonStore

 

Schritt 2: Dateisystem oder Dateisystem löschen?

Es stehen zwei Arten von Content Repositories zur Verfügung:

  • Das Dateisystem speichert die empfangenen Content-Repository-Daten in einer Datenbank.
  • Das übersichtliche Dateisystem speichert diese Daten in einem tatsächlichen Dateisystem (vgl. Windows Explorer).

Im Falle des dateisystembasierten Repositorys werden die Dateien und Ordner durch IDs identifiziert, während für das klare Dateisystem Ordner- und Dateipfade verwendet werden.

Darüber hinaus verfügt jedes dateisystembasierte Repository über einen expliziten Zugriffskontrollmechanismus, da bei der Erstellung von Ordnern und Dateien ebenfalls Berechtigungsobjekte definiert werden müssen.

Schritt 3: Verwenden Sie vorkonfigurierte Business Objects-Funktionen

Für die sofortige Nutzung der Plugin-Funktionen können Sie einfach die Business-Objekte ‘SF_ContentRepository_FileSystem’ oder ‘SF_ContentRepository_ClearFileSystem’ aus unserem Marketplace verwenden.

1. Legen Sie die Zugriffskontrolle fest: Implementieren Sie Ihr Sicherheitskonzept, indem Sie die Berechtigung “Plugin: Content Repository’ zu den Definitionen der relevanten Benutzerrollen hinzufügen. Sie können die “zugewiesenen Berechtigungen” verfeinern, indem Sie einzelne Berechtigungen auswählen oder abwählen. Darüber hinaus können Sie den Zugriff auf Repositories mit dem PermissionType ‘App’ und einer geeigneten PermissionID steuern.

Schritt 3a: Verwenden des Dateisystems

2. Zugriffskontrolle für Ordner und Dateien festlegen: Im Falle von Dateisystem müssen Sie die Zugriffskontrolle (mit PermissionType ‘Session’ und PermissionID) für Ordner und Dateien separat angeben.

3. Content Repository initialisieren: Prüfen Sie, ob das benötigte Content Repository bereits existiert oder ob es erst angelegt werden muss. Dazu können Sie z.B. die Funktion ‘contentRepositoryFind’ des Business Object (BO) ‘SF_ContentRepository_FileSystem’ verwenden. Für den Fall, dass das Content Repository nicht existiert, ist die Ausführung des BO nicht erfolgreich, d.h. die Verbindung des roten Ausgangsports kann genutzt werden, um die Funktion ‘contentRepositoryAdd’ auszuführen, um ein Content Repository mit dem Namen ‘newContentRepo’ anzulegen:

4. Erstellen Sie einen Ordner: Nachdem Sie das Repository erstellt haben, fügen Sie einen Ordner mit ‘contentFolderAdd’ des BO ‘SF_ContentRepository_FileSystem’ hinzu. Für das Input-Mappingsehen Sie sich bitte das folgende Beispiel an:

5. Hochladen einer Datei: Im Allgemeinen können Sie eine Datei hinzufügen, indem Sie entweder den Inhalt direkt als base64 übergeben (Eingabeparameter “data”), auf einen Upload-Sitzungsschlüssel verweisen (Eingabeparameter “uploadSession”) oder eine andere bestehende Inhaltsdatei anhand ihrer ID kopieren (Eingabeparameter“copyFrom”).

Exemplarisch werden wir einen Anwendungsfall implementieren, bei dem ein Benutzer eine Datei hochladen kann. Hierfür verwenden wir das Widget “ui_unified_FileUploader”:

Wenn Sie Dateien auf den Simplifier-Server hochladen möchten, stellen Sie bitte sicher, dass dem ausführenden Benutzer das Berechtigungsobjekt ‘Uploader’ mit der Eigenschaft ‘allow’ als Teil einer Rolle zugewiesen ist. Dies dient dazu, 403 Forbidden-Fehler zu vermeiden, die während der Upload-Aktion von der Uploader-API zurückgegeben werden.

Um die ausgewählte Datei zu erhalten, verwenden Sie einen Skriptblock mit den folgenden Codezeilen, um das Dateiobjekt in der globalen Variable ‘uploaderFile’ zu speichern:

var uploaderInput = this.getView().byId("FileUploader");

if (uploaderInput.getValue() !== "") {
     var files = uploaderInput.oFileUpload.files;
     if (files.length === 1) {
          this.getGlobals().setVar("uploaderFile", files[0]);
     }
}

Verwenden Sie diese Variable als Eingabe für die Hilfsfunktion ‘uploadFileToSimplifier’ des clientseitigen BO ‘SF_File’.

Mit dem zurückgegebenen Upload-Sitzungsschlüssel können Sie das Input-Mapping der Funktion ‘contentFileAdd’ des BO ‘SF_ContentRepository_FileSystem’ zum Anlegen einer neuen Datei im Content Repository definieren:

Add file to content repository

6. Eine Datei herunterladen: Um eine Datei aus dem Content Repository herunterzuladen, können Sie entweder die Download-URL oder den base64-kodierten Inhalt der Datei anfordern. Im Falle der base64-kodierten Daten verwenden Sie die Funktion ‘contentFileGet’ des BO ‘SF_ContentRepository_FileSystem’. Im Falle der Download-URL wird empfohlen, die Funktion ‘contentFileGetMetadata’ zu verwenden, da dies einen Performance-fressenden Full-Data-Download innerhalb der App vermeidet. Der Arbeitsablauf (und das Output-Mapping für die BO-Funktion) für diesen “externen” Datendownload wird hier beispielhaft dargestellt:

Um den Download-Prozess des Browsers zu nutzen, können Sie die ‘downloadFile’-Helper-Funktion der clientseitigen BO ‘SF_File’ (StandardContent) verwenden und das Input-Mapping wie folgt konfigurieren:

Schritt 3b: Verwenden des Clear File Systems

2. Content Repository initialisieren: Prüfen Sie, ob das benötigte Content Repository bereits existiert oder ob es erst angelegt werden muss. Dazu können Sie z.B. die Funktion ‘contentRepositoryFind’ des Business Object (BO)‘SF_ContentRepository_ClearFileSystem’ verwenden. Für den Fall, dass das Content Repository nicht existiert, ist die Ausführung des BO nicht erfolgreich, d.h. die Verbindung des roten Ausgangsports kann genutzt werden, um die Funktion ‘contentRepositoryAdd’ auszuführen, um ein Content Repository mit dem Namen ‘newContentRepo’ anzulegen:

3. Erstellen Sie einen Ordner: Nachdem Sie das Repository erstellt haben, fügen Sie einen Ordner mit ‘contentFolderAdd’ des BO ‘SF_ContentRepository_ClearFileSystem’ hinzu. Für das Input-Mappingsehen Sie sich bitte das folgende Beispiel an:

4. Hochladen einer Datei: Im Allgemeinen können Sie eine Datei hinzufügen, indem Sie entweder den Inhalt direkt als base64 übergeben (Eingabeparameter “data”), auf einen Upload-Sitzungsschlüssel verweisen (Eingabeparameter “uploadSession”) oder eine andere vorhandene Inhaltsdatei anhand ihres Dateipfads kopieren (Eingabeparameter“copyFrom”).

Exemplarisch werden wir einen Anwendungsfall implementieren, bei dem ein Benutzer eine Datei hochladen kann. Hierfür verwenden wir das Widget “ui_unified_FileUploader”:

Wenn Sie Dateien auf den Simplifier-Server hochladen möchten, stellen Sie bitte sicher, dass dem ausführenden Benutzer das Berechtigungsobjekt ‘Uploader’ mit der Eigenschaft ‘allow’ als Teil einer Rolle zugewiesen ist. Dies dient dazu, 403 Forbidden-Fehler zu vermeiden, die während der Upload-Aktion von der Uploader-API zurückgegeben werden.

Um die ausgewählte Datei zu erhalten, verwenden Sie einen Skriptblock mit den folgenden Codezeilen, um das Datei-Objekt in der globalen Variable ‘uploaderFile’ zu speichern:

var uploaderInput = this.getView().byId("FileUploader");

if (uploaderInput.getValue() !== "") {
     var files = uploaderInput.oFileUpload.files;
     if (files.length === 1) {
          this.getGlobals().setVar("uploaderFile", files[0]);
     }
}

Verwenden Sie diese Variable als Input für die ‘uploadFileToSimplifier’-Helper-Funktion des clientseitigen BO ‘SF_File’.

Mit dem zurückgegebenen Upload-Session-Schlüssel können Sie das Input-Mapping der ‘contentFileAdd’ -Funktion des BO ‘SF_ContentRepository_ClearFileSystem’ zum Anlegen einer neuen Datei im Content Repository definieren:

Add file to content repository
Mapping to add file to content repository

Hinweis: Dateien, die über https://simplifier.example.com/client/1.0/html5Uploader hochgeladen werden , werden in “/opt/simplifier/data/storage/uploads” gespeichert und nicht automatisch gelöscht. Dies muss innerhalb des Docker-Containers erfolgen.

5. Laden Sie eine Datei herunter: Um eine Datei aus dem Inhalts-Repository herunterzuladen, können Sie entweder die Download-URL oder den base64-codierten Inhalt der Datei anfordern. Im Falle der base64-kodierten Daten verwenden Sie die ‘contentFileGet’ -Funktion des BO ‘SF_ContentRepository_ClearFileSystem’. Im Falle der Download-URL empfiehlt es sich, die Funktion ‘contentFileGetMetadata’ zu verwenden, da so ein performancefressender Volldaten-Download innerhalb der App vermieden wird. Beispielhaft wird hier der Workflow (und das Ausgabemapping für die BO-Funktion) für diesen ‘externen’ Datendownload dargestellt:

Add file to content repository

Um den Download-Prozess des Browsers zu nutzen, können Sie die ‘downloadFile’-Helper-Funktion der clientseitigen BO ‘SF_File’ (StandardContent) verwenden und das Input-Mapping wie folgt konfigurieren:

Anhang

Datase-Verbindung manuell einrichten

WARNUNG: Bitte verwenden Sie diese Methode nur, wenn Sie vom Simplifier-Support dazu aufgefordert wurden.

Gehen Sie in das Verzeichnis ‘plugins/contentRepoPlugin/src/main/resources’ und kopieren Sie die Datei ‘settings.conf.dist’ als ‘settings.conf’. Passen Sie die Konfiguration der Einstellungen an Ihre Datenbankumgebung an:

database {
     dbms: "mysql"
     user: "simplifier"
     pass: "simplifier"
     host: "localhost"
     port: 3306
     database: "contentrepo"
}

Wenn für ein ‘FileSystem’-Repository ein relativer Pfad angegeben wird (der nicht mit einem ‘/’ beginnt), wird er relativ zu einem zuvor konfigurierten Verzeichnis zum Speichern von Dateien ausgewertet. Um dies zu setzen, muss die Eigenschaft ‘fileSystemRepository.baseDirectory’ auch in der Datei ‘settings.config’ konfiguriert werden:

fileSystemRepository {
     baseDirectory: "/opt/simplifier/data/plugins/contentRepoPlugin"
}
Tags:BENUTZEROBERFLÄCHETextAnNetzRUHEPAUSESkriptHTMLpdfVerbindung

Was this article helpful?

Yes  No
Related Articles
  • Wie man mit Dateien umgeht, die mit dem FileUploader ausgewählt wurden
  • Feinabstimmung und Ausführung benutzerdefinierter AI-Modelle in Simplifier
  • Verwendung der Simplifier Teams App
  • Wie man wertvolle Hilfen und Vorschläge in Benutzereingaben integriert
  • So integrieren Sie Simplifier in CI/CD-Pipelines
  • So verwenden Sie Google reCAPTCHA v3 Essentials
Leave A Comment Antwort abbrechen

Du musst angemeldet sein, um einen Kommentar abzugeben.

Plugins
  • So verwenden Sie das Simplifier Content Repository Plugin
  • Plugin-Entwicklung mit NodeJS
  • PDF-Vorlagen: Gestalten Sie den Inhalt der Kopf-/Fußzeile dynamisch
  • Erstellen Sie eine PDF-Vorlage über das Plugin
  • Generieren eines PDFs mit Simplifier per Plugin
  • Verwenden Sie das ContentRepository-Plug-In, um Dateien von Ihrem Windows-Freigabevolume zu verarbeiten
Knowledgebase Categories
  • Erste Schritte 4
  • Mobiler Client 2
  • Layout & Design 4
  • Widgets 8
  • Integration 10
  • Datenbank Handling 1
  • Anleitungen 27
  • Best Practices 4
  • Cloud Services 6
  • Plugins 6

  Erstellen von Testfällen mit dem UI5 Test Recorder

Konvertieren von Text in Sprache mit dem Google TTS Connector  

Link einfügen/ändern

Gib die Ziel-URL ein

Oder verlinke auf bestehende Inhalte

    Es wurde kein Suchbegriff angegeben. Es werden die aktuellen Inhalte angezeigt. Verwende zur Auswahl eines Elements die Suche oder die Hoch-/Runter-Pfeiltasten.