Skip to Content
CubyStudio-Integration

Studio-Integration

Cuby ist direkt in das ProcessCube® Studio eingebettet und bildet die Startseite der Anwendung. Es stellt alle Plattform-Verbindungen (Engine, Authority, LowCode) für das Studio bereit.

Überblick

Beim Start des Studios passiert Folgendes:

Automatische Installation

Der CubyManager im Electron-Main-Prozess prüft beim Start, ob Cuby bereits installiert ist. Falls nicht, wird es automatisch heruntergeladen:

PlattformInstallationsmethodeInstallationsverzeichnis
WindowsPowerShell-Skript~/.processcube/cuby/
macOS/LinuxBash-Skript~/.processcube/cuby/

Die Installation wird über den ProcessCube® Marketplace (marketplace.processcube.io) durchgeführt. Fortschritt und Fehler werden dem Benutzer über Notifications im Studio angezeigt.

Webview-Einbettung

Cuby wird als Electron-Webview im Editor-Bereich des Studios angezeigt:

  • URL: http://localhost:3847
  • Dokumenttyp: cuby://editor
  • Command: „View: Start page” / „Welcome” / „Home” / „Cuby”

Theme-Synchronisation

Das Studio synchronisiert sein Theme (Light/Dark) automatisch mit dem Cuby-Webview:

http://localhost:3847/?theme=dark http://localhost:3847/?theme=light

Wenn der Benutzer das Theme im Studio wechselt, wird der Webview automatisch mit dem neuen Theme neu geladen.

Links im Cuby-Webview, die normalerweise ein neues Browserfenster öffnen würden (target="_blank"), werden stattdessen in einem Studio-Webview-Tab geöffnet. Der Benutzer bleibt so immer innerhalb des Studios.

ProcessCubes-Synchronisation

Der wichtigste Integrationspunkt ist die ProcessCubes-Registry. Das Studio fragt alle 10 Sekunden den Cuby-API-Endpoint ab:

GET http://localhost:3847/api/processcubes

Die Antwort enthält alle registrierten ProcessCube-Instanzen:

[ { "productId": "processcube-engine", "name": "ProcessCube Engine", "engineUrl": "http://localhost:8000", "lowcodeUrls": ["http://localhost:1880"], "authorityUrl": "http://localhost:5000" } ]

Synchronisations-Ablauf

Das Studio:

  1. Vergleicht die empfangene Liste mit den aktuell verbundenen Engines
  2. Fügt neue Engines hinzu, die in Cuby registriert, aber im Studio noch nicht verbunden sind
  3. Entfernt Engines, die in Cuby nicht mehr registriert sind

Cuby ist die einzige Quelle für automatische Engine-Verbindungen. Benutzer können zusätzlich manuell Engines verbinden — diese werden von der Synchronisation nicht berührt.

IPC-Kommunikation

Die Kommunikation zwischen Studio und Cuby erfolgt über Electron IPC-Events:

EventRichtungBeschreibung
CUBY_START_SETUPRenderer → MainSetup initiieren
CUBY_CHECKINGMain → RendererInstallation wird geprüft
CUBY_INSTALLINGMain → RendererInstallation läuft
CUBY_INSTALL_ERRORMain → RendererInstallationsfehler
CUBY_READYMain → RendererCuby ist erreichbar

Authentifizierungs-Flow

Cuby bietet einen PostMessage-basierten Auth-Flow für die iframe-Einbettung:

/apps-Namespace

Alle Seiten sind unter dem /apps-Prefix ohne Header und Footer verfügbar (optimiert für die Einbettung):

RouteSeite
/appsMeine Apps (installierte Produkte)
/apps/product/:idProdukt-Detail
/apps/marketplaceMarketplace
/apps/setup/products/:id/configPlugin-Konfiguration

Herunterfahren

Wenn das Studio beendet wird, sendet der CubyManager eine Benachrichtigung an Cuby:

POST http://localhost:3847/api/parent-closed

Cuby kann darauf reagieren und laufende Produkte geordnet herunterfahren.

Weitere Informationen