Das Paket Fractal/Fractal
stellt sowie die App component-fractal
stellen die zentrale Schnittstelle zwischen den Komponenten- und Elementbibliotheken (StyleguideStyleguides) und brandbox dar. Es bietet Sie bieten durch die Integration von Fractal (https://fractal.build/) eine Weboberfläche für die Ansicht von allen verfügbaren Komponenten und Elementen für die Benutzeroberflächen von brandbox und stellt mit Hilfe von NodeJS und etlichen Node-Modulen eine Reihe von Funktionen für die Integration bereit.
Aufbau des Plugins
Das Paket liegt zwischen den Styleguides in brandbox-styleguide/*
und brandbox als Integrationsstelle. Dadurch entsteht nur eine harte Referenz auf Fractal/Fractal
anstelle eines spezifischen Styleguide-Pakets. Innerhalb von Fractal/Fractal
kann dadurch eine hohe Dynamik geschaffen werden.
Sonderrolle für framework-styleguide
Der Styleguide framework-styleguide
wird als Basis für alle Styleguides der Benutzeroberfläche (Admin admin
oder Public public
) genutzt und muss daher auch von allen Styleguides mit einer höheren Priorität unterstzützt werden. Der Styleguide framework-styleguide
liefert auch selbst keine Layouts.
Partials
In brandbox zur Verfügung stehende Handlebar-Partials sind unter anderem Komponenten und Elemente aus den einzelnen Styleguides. Das Paket Fractal/Fractal
Die App component-fractal
sammelt bei der Installation von brandbox über Composer alle Komponenten und Elemente aus den installierten Styleguides ein und erstellt eine Partial-Auflistung welche von brandbox genutzt wird. In brandbox selbst soll es kein komplexes HTML mehr geben. Hierfür sollen Komponenten und Elemente aus den Styleguides genutzt werden welche dann an den entsprechenden Stellen aufgerufen werden.
Info |
---|
Die Partials haben eindeutige Namen und können von einem Styleguide mit einer höheren Priorität überschrieben werden. |
CSS
Das Paket Fractal/Fractal
generiert bei der Installation von brandbox Die App component-fractal
generiert CSS-Dateien für die verschiedenen Bereiche von brandbox. Als Grundlage dienen SCSS-Dateien aus den Styleguides. Zusätzlich können Themes konfiguriert werden. In einem Theme können unter anderem Schriften, Schriftgrößen, Abstände, Farben, uvm. konfiguriert werden.
Info |
---|
Wie auch bei Partials können die SCSS-Dateien überschrieben werden. Zusätzlich besteht die Möglichkeit in einem Styleguide mit höherer Priorität die Standardvariablen zu überschreiben . |
Verwendung
...
. |
...
Fractal in einem Docker-Container starten
Um die Weboberfläche von Fractal zu erreichen muss der interne Port 3000
über die docker-compose.yml
freigegeben entsprechende Docker-Container für Fractal gestartet werden.
Codeblock | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
services: application:fractal: image: registry.brandbox.host/runtime/fractal:develop hostname: fractal-$COMPOSE_PROJECT_NAME imagedomainname: local.brandbox.de volumes: - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/temp:/var/www/temp/ - /mnt/nfsstorage/${COMPOSE_PROJECT_NAME}/share:/var/www/share/ - ./www/plugin:/var/www/plugin env_file: - [brandbox...]docker.env working_dir: /var/www portsnetworks: - internal "3000" - proxy labels: traefik.enable: "true" - "[traefik.backend.loadbalancer.]method: "drr" [ traefik.docker..] |
Werden die Container nach der Anpassung neu gestartet ist Port 3000
auf einem zufälligen anderen Port verfügbar.
Nach dieser Anpassung muss die Umgebung für das Ausführen von Fractal vorbereitet werden. Dazu ist der Terminalzugriff auf den Container notwendig.
- Wechseln Sie in das Verzeichnis
plugin/remote/brandbox/framework/
- Führen Sie dort den Befehl
npm install --only=dev
aus - Wechseln sie danach in das Verzeichnis
plugin/remote/brandbox/framework/src/Fractal/Fractal
- Führen Sie dort den Befehl
node fractal.js
aus
...
network: traefik_webgateway
traefik.frontend.rule: "Host:fractal-$COMPOSE_PROJECT_NAME.local.brandbox.de"
traefik.port: 8080
expose:
- "8080" |
Die Weboberfläche von Fractal ist nach dem Start des Containers unter der Adresse https://fractal-$COMPOSE_PROJECT_NAME.local.brandbox.de/
erreichbar.
Automatische Befehle manuell ausführen
Für Fractal/Fractal component-fractal
stehen nebem der Fractal-Weboberfläche auch ein paar Befehl Befehle zur Verfügung welche auf Basis von Node NodeJS geschrieben wurden. Diese werden von brandbox entweder als Teil der Installation oder automatisch durch einen PHP-Request ausgeführt. Nachfolgend finden Sie die verfügbaren Befehle welche Die Befehle müssen innerhalb von plugin/remote/brandbox/framework/src/Fractal/Fractal
ausgeführt werden müssen.
...
component-fractal
ausgeführt werden und können mithilfe von node main --help
eingesehen werden.
Versionshinweise
Info |
---|
brandbox 8 (framework 2.0.0)
|
Info |
---|
brandbox 8 (framework 2.7.0)
|
Info |
---|
brandbox 10 (framework 3.0.0)
|