• Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
  • Englisch
  • Docs
  • Wissensdatenbank
  • F.A.Q
  • Forum
  • Medien
  • Kurse
  • Marktplatz
  • Login
  • Try for free
home/Wissensdatenbank/Plugins/Plugin-Entwicklung mit NodeJS

Plugin-Entwicklung mit NodeJS

Written by Steffen Decker
Juli 24, 2024

Einleitung

Die simplifier plattform kann über ihre Plugin-Architektur auf Basis von Webservices um Kernfunktionen erweitert werden. Jedes Plugin stellt einen Microservice dar, der sich beim Simplifier registriert und seine Funktionen über den Prozessdesigner zur Verfügung stellt. Im folgenden Beispiel verwenden wir die beliebte nodejs Javascript Runtime, die eine schnelle Entwicklung von serverseitigen Funktionalitäten ermöglicht. ( Plugin Architectur)

Voraussetzungen

  • Docker Hub-Konto (Docker Hub)
  • Git (Installieren von Git)

Schritt 1 – Klonen des Github-Projekts

Erstellen Sie einen Ordner zum Klonen des SimplifierNodeJSPlugin-Codes aus dem GitHub-Projekt. Im Folgenden verwenden wir /DIRECTORY als Platzhalter für den Systempfad des Ordners. Geben Sie den folgenden Code in das Befehlszeilenfenster ein (ersetzen Sie /DIRECTORY durch den Pfad Ihres Ordners):

cd /DIRECTORY
git clone https://github.com/simplifier-ag/SimplifierNodeJSPluginExample.git

Schritt 2 – Einstellungen ändern

Generieren Sie ein Simplifier Plugin Secret , indem Sie den entsprechenden Schritt-für-Schritt-Anweisungen in der Simplifier-Dokumentation folgen. Im Folgenden verwenden wir 192.168.1.2 als Platzhalter für die Simplifier-Domain und 192.168.1.3 als Platzhalter für die Plugin-Server-Domain. Fügen Sie das generierte Geheimnis in die Konfigurationseinstellungsdatei (DIRECTORY/simplifierPlugin/conf/settings.json) des SimplifierNodeJSPlugin ein:

{
    "registration": {
      "host": "192.168.1.2",
      "port": 8085,
      "secret": "XXX"
    },
    "http": {
      "interface": "0.0.0.0",
      "port": 9877,
      "exposedHost": "192.168.1.3"
    },
    "timeoutSeconds": 60
}

Schritt 3 – Erstellen einer Dockerfile

Erstellen Sie eine neue Datei “Dockerfile” mit Inhalt:

FROM node:current-stretch
#install node application
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 9877
#start application
ENTRYPOINT [ "node", "/usr/src/app/bin/runPlugin.js", "&" ]

Schritt 4: Erstellen von Dockerignore

Erstellen Sie eine neue Datei “.dockerignore” mit Inhalt:

.git
.gitignore
node_modules
npm-debug.log
Dockerfile*
docker-compose*
README.md
LICENSE

Schritt 5 – Erstellen eines Container-Images

Verwenden Sie die folgenden Befehlszeilen , um ein Containerimage von SimplifierNodeJSPlugin zu erstellen (ersetzen Sie USER_NAME durch den Namen Ihres Docker Hub-Kontos):

cd /DIRECTORY/simplifiernodeplugin/
docker build -t USER_NAME/simplifier_plugin .
docker push USER_NAME/simplifier_plugin:latest

Schritt 6 – Image aus Container erstellen

Erstellen Sie als Nächstes ein Image aus dem Container, indem Sie die folgenden Befehlszeilen eingeben:

docker network create --driver=bridge --subnet=192.168.1.0/24 br0
docker run --name simplifier --network br0 --ip=192.168.1.2 -v -d /opt/simplifier/data:/opt/simplifier/data -p 80:80 -p 443:443 -p 8085:8085 -p 8090:8090  simplifierag/onpremise
docker run --name plugin --network br0 --ip=192.168.1.3 -p 9877:9877 -d -v /opt/simplifierPlugin/config:/usr/src/app/conf USER_NAME/simplifier_plugin

Schritt 7 – Öffnen Sie die Benutzeroberfläche des Simplifier-Plugins

Öffnen Sie Ihre Simplifier-Plattform und wählen Sie die Plugin-Kachel in der Dashboard-Ansicht aus.

Wenn sich das neue Plugin korrekt registriert hat, sehen wir auf der rechten Seite die verfügbaren Funktionen als Slots.

Schritt 8 – Führen Sie die Plugin-Funktion im Business Objekt aus

Wir können jetzt die Slots mit der Simplifier-API innerhalb eines Geschäftsobjekts verwenden ( Simplifier Plugin Usage Documentation):

Simplifier.Plugin.[PluginName].[PluginSlot]
Simplifier.Plugin.SimplifierNodeJSPlugin.sayHello()

Schritt 9 – Schreiben Sie Ihre eigenen Plugin-Slots mit NodeJS-Code

    1. Erstellen Sie eine neue MySlot.js Datei im Ordner:[Directory]/simplifiernodeplugin/plugin/slots
    2. Fügen Sie den folgenden Code als grundlegendes Framework in die neue Slot-Datei ein:
      "use strict";
      
      let Slot = require('../../lib/slot');
      
      class MySlot extends Slot {
      
          execute() { }
      }
      module.exports = new MySlot();
    3. Fügen Sie die neue Slot-Klasse zur vorhandenen Slot-Schnittstelle hinzu:
      [Directory]/SimplifierNodeJSPlugin/plugin/interfaces/slots.js

      const slots = [
      
           require('../slots/MySlot')
      
           .....
      
      ]

    Bitte überprüfen Sie die SayHelloSlot.js oder PrintToConsoleSlot.js Dateien als Codebeispiele.

Optionaler Schritt 10 – Aufheben der Registrierung des Plug-ins vom Simplifier

Wenn der Plugin-Webservice gestoppt wird, hat sich das Plugin automatisch vom Simplifier abgemeldet. Es kann jedoch vorkommen, dass das Plugin unerwartet abstürzt oder aufgrund eines nodejs Programmierfehlers nicht mehr korrekt läuft. In diesem Fall muss der Simplifier neu gestartet werden oder es muss folgender API-Request aufgerufen werden:

POST: http://192.168.1.2:8080/plugin/registerPlugin
Plugin-Secret: **PLUGINSECRET**

{
 "action": "unregister",
 "plugin": {
   "hostname": "Not relevant for this request",
   "port": -1
   "actorSystemName": "Not relevant for this request",
   "pluginName": "NodeDemoPlugin",
   "slots": [],
   "httpPorts": []
 }
}
Tags:BENUTZEROBERFLÄCHETextAnDesignerNetzRUHEPAUSESkriptAPI

Was this article helpful?

Yes  No
Related Articles
  • Verwenden Sie das ContentRepository-Plug-In, um Dateien von Ihrem Windows-Freigabevolume zu verarbeiten
  • Generieren eines PDFs mit Simplifier per Plugin
  • Erstellen Sie eine PDF-Vorlage über das Plugin
  • So verwenden Sie das Simplifier Content Repository Plugin
  • PDF-Vorlagen: Gestalten Sie den Inhalt der Kopf-/Fußzeile dynamisch
Leave A Comment Antworten abbrechen

Du musst angemeldet sein, um einen Kommentar abzugeben.

Plugins
  • Plugin-Entwicklung mit NodeJS
  • PDF-Vorlagen: Gestalten Sie den Inhalt der Kopf-/Fußzeile dynamisch
  • So verwenden Sie das Simplifier Content Repository Plugin
  • 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 26
  • Best Practices 3
  • Cloud Services 6
  • Plugins 6

  PDF-Vorlagen: Gestalten Sie den Inhalt der Kopf-/Fußzeile dynamisch

GetApp Bewertung

Benutzerbewertungen

Capterra

Benutzerbewertungen

Für AWS-Kunden

Für SAP-Kunden

  • Contact | Imprint | Privacy | © 2025 Simplifier AG. All Rights Reserved.

  • Englisch
  • Deutsch

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.