Allesmeister

Zubringer und Dokumentation für den Zettelmeister · fl.de

Überblick – Die Meister-Familie

Der Allesmeister (Am) sorgt dafür, dass andere Anwendungen (Katalogmeister, Farbmeister, …) ihre Inhalte als Zettel im Zettelmeister (Zm) darstellen und bedienen können. Dazu liefert jede Anwendung eine kleine HTML-API – Am dokumentiert das Muster und stellt Hilfsskripte bereit.

Zettelmeister
zm · zm.fl.de
3D-Zettel-App · PHP + JS · JSON-Welten
zm.fl.de ↗ · GitHub ↗
Allesmeister
am · am.fl.de
Zubringer · Doku · Shell-Skripte
am.fl.de ↗ · GitHub ↗
Katalogmeister
km · km.fl.de
MySQL-Katalog · 1655 Flugautos
km.fl.de ↗ · GitHub ↗
opnn
opnn · opnn.fl.de
OpenProject-Spiegel · Node.js · Port 3334
opnn.fl.de ↗
Farbmeister
fm · farbmeister.de
Farb-Verwaltung (geplant)
farbmeister.de ↗

Das API-Muster

Jede Anwendung stellt einen /api/div-Endpunkt bereit, der benannte HTML-Abschnitte (Divs) zurückliefert. Der Zm holt diese über seinen PHP-Proxy und zeigt sie im Zettel an.

# Zm-Zettel ruft auf: https://zm.fl.de/index.php?aktion=km&div=5-ergebnis&route=search&q=Autogyro ↓ PHP-Proxy (zm/index.php) – fügt zmkey hinzu https://km.fl.de/api/div.php?div=5-ergebnis&route=search&q=Autogyro&zmkey=… ↓ km-API (PHP) <table> … 50 Treffer für „Autogyro" … </table>

Zm-Proxy – erweiterbar

$_apiZiele = [
    'opnn' => 'https://opnn.fl.de/api/div/',   // Node.js (div im Pfad)
    'km'   => 'https://km.fl.de/api/div.php',  // PHP (div als ?div=)
    // 'fm' => 'https://farbmeister.de/api/div.php',
];

Div-Nummern

DivInhaltAuth
2-wegweiserNavigationsspaltezmkey
3-anmeldenAnmeldeformular (opnn)
4-sucheSuchformular
5-ergebnisDaten-Ausgabezmkey
6-berichtMeldungen / Fehler

km-API · km.fl.de/api/div.php

PHP-API für den Katalogmeister. DB: OffenesProjektKm, Tabelle Flugautos (1655 Einträge).

AufrufLiefert
?div=4-suche&q=BegriffSuchformular
?div=5-ergebnis&route=search&q=BegriffTreffer-Tabelle (max. 50)
?div=5-ergebnis&route=liste&seite=1Alle Einträge (25 pro Seite)
?div=2-wegweiserNavigationsspalte
?div=6-bericht&msg=Text&typ=errorMeldungskasten

km.js – Zm-Shortcuts

kmSucheNeu()      // Suchzettel (Formular + Ergebnisse)
kmListeNeu()      // Alle Einträge, seitenweise
kmWegweiserNeu()  // Navigationsspalte

Zettel-JSON-Feld opDiv:

{ "quelle": "km", "rezept": "suche", "params": {} }

Shell-Skripte · am.fl.de/sh/

SkriptZweck
am_konfig.sh Pfade zu Am, Zm, Km; DB-Zugangsdaten; Km-API-Pfad
am_hilfe.sh am_log · am_zettel_json · am_zettel_hinzufuegen · am_welt_liste
test_zettel.sh Grundmuster: Erläuterungszettel in Zm einfügen
sh/km/km_zm.sh Km-Zubringer: legt Km-Wegweiser, Km-Suche, Km-Liste in der Zm-Welt an

Einbinden

source /home/www/am.fl.de/html/sh/am_konfig.sh
source /home/www/am.fl.de/html/sh/am_hilfe.sh

zettel=$(am_zettel_json --titel "Titel" --inhalt "<p>Text</p>" --farbe "#d4ffea")
am_zettel_hinzufuegen "$ZM_DATEN/1/willkommen.json" "$zettel"

am_zettel_json – Parameter

ParameterVoreinstellungBedeutung
--titelNeuer ZettelTitel
--inhalt<p></p>HTML-Inhalt
--farbe#FFFFEEHintergrundfarbe (Hex)
--winkel0Drehung in Grad
--breite / --hoehe300 / 200Größe in px
--stichworteKomma-getrennte Schlüsselwörter
--linkKlickziel-URL
--op-divJSON für API-Zettel, z.B. '{"quelle":"km","rezept":"suche","params":{}}'

am_zettel_entfernen

am_zettel_entfernen "$ZM_DATEN/1/willkommen.json" "km-zubringer"
# Entfernt alle Zettel deren stichworte-Feld "km-zubringer" enthält

km_zm.sh – Km-Zubringer

# Standard: legt 3 Zettel in $KM_ZM_WELT an
bash /home/www/am.fl.de/html/sh/km/km_zm.sh

# Andere Zm-Welt als Ziel:
bash /home/www/am.fl.de/html/sh/km/km_zm.sh /pfad/zur/welt.json

Legt drei Zettel an (Stichwort km-zubringer, Farbe #d4ffea):

ZettelRezeptInhalt
Km-WegweiserwegweiserNavigationsspalte (240 × 360)
Km-SuchesucheSuchformular + Ergebnisse (440 × 480)
Km-ListelisteAlle Einträge seitenweise (480 × 520)

Bei jedem Aufruf werden alte km-zubringer-Zettel zuerst entfernt, dann frische angelegt.

Zertifikate & nginx

echo "DOMAIN.de" | sudo bash /usr/local/bin/zert.sh
# Voraussetzung: /home/www/DOMAIN/html muss existieren

Einrichtungs-Protokoll

Git-Log (Allesmeister)