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:
| Plattform | Installationsmethode | Installationsverzeichnis |
|---|---|---|
| Windows | PowerShell-Skript | ~/.processcube/cuby/ |
| macOS/Linux | Bash-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=lightWenn der Benutzer das Theme im Studio wechselt, wird der Webview automatisch mit dem neuen Theme neu geladen.
Link-Handling
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/processcubesDie 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:
- Vergleicht die empfangene Liste mit den aktuell verbundenen Engines
- Fügt neue Engines hinzu, die in Cuby registriert, aber im Studio noch nicht verbunden sind
- 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:
| Event | Richtung | Beschreibung |
|---|---|---|
CUBY_START_SETUP | Renderer → Main | Setup initiieren |
CUBY_CHECKING | Main → Renderer | Installation wird geprüft |
CUBY_INSTALLING | Main → Renderer | Installation läuft |
CUBY_INSTALL_ERROR | Main → Renderer | Installationsfehler |
CUBY_READY | Main → Renderer | Cuby 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):
| Route | Seite |
|---|---|
/apps | Meine Apps (installierte Produkte) |
/apps/product/:id | Produkt-Detail |
/apps/marketplace | Marketplace |
/apps/setup/products/:id/config | Plugin-Konfiguration |
Herunterfahren
Wenn das Studio beendet wird, sendet der CubyManager eine Benachrichtigung an Cuby:
POST http://localhost:3847/api/parent-closedCuby kann darauf reagieren und laufende Produkte geordnet herunterfahren.
Weitere Informationen
- Dashboard — Die Willkommensseite im Detail
- Konfiguration — ProcessCubeInfo-Datenmodell
- API-Referenz — Alle REST-Endpoints
- Engine-Verbindung — Engines im Studio verwalten