Files
Crumb-Core-v.1/docs/crumbforest/# 🧱 Blockly-Terminal-Bridge Logbuch.md

2.4 KiB

🧱 Blockly-Terminal-Bridge Logbuch

📅 Datum: 2025-06-05

🎯 Ziel

Eine funktionierende Verbindung zwischen Blockly-Editor und Crumbforest-Terminal herstellen, um kindgerecht generierten Code in ein Backend zu übertragen und dort zu verarbeiten.


Ergebnis

Die Verbindung steht. Blockly sendet erfolgreich generierten Code über eine POST-Anfrage an das CakePHP 5 Backend. Die API antwortet mit einer Erfolgsmeldung.


🧠 Beispielhafte Nutzereingabe in Blockly

Blockly-Blöcke:

set item to 0
if item = 0
  print "Wuhuuu"

Generierter Code:

var item;

item = 0;
if (item == 0) {
  window.alert('Wuhuuuu');
}

Antwort der API:

{
  "status": "success",
  "message": "Blockcode received.",
  "received": "var item;\n\n\nitem = 0;\nif (item == 0) {\n  window.alert('Wuhuuuu');\n}\n"
}

🔄 Häufige Fehlerquellen und Lösungsschritte

CSRF Fehler

  • Fehler: Missing or incorrect CSRF cookie type.
  • Lösung: Im Application.php wurde der CSRF-Schutz für alle Pfade unter /crumbapi/ deaktiviert:
'skipCheckCallback' => function (ServerRequestInterface $request) {
    return str_starts_with((string)$request->getUri()->getPath(), '/crumbapi/');
}

Authentication Error

  • Fehler: The request object does not contain the required authentication attribute.
  • Lösung: Manuelles Einfügen eines leeren AuthenticationService im Middleware-Stack für API-Pfade:
if (str_starts_with($path, '/crumbapi/')) {
    $emptyAuthService = new AuthenticationService();
    $request = $request->withAttribute('authentication', $emptyAuthService);
    return $handler->handle($request);
}

MethodNotAllowedException

  • Fehler: Method Not Allowed
  • Lösung: In routes.php wurde explizit die POST-Methode registriert:
$builder->connect(
    '/blockly-terminal',
    ['controller' => 'Crumbapi', 'action' => 'blocklyTerminal'],
    ['_method' => ['POST']]
);

🖼️ Visuelle Dokumentation

  • Blockly-Blockstruktur [siehe Anhang: PXL_20250605_200744146.MP.jpg]
  • Terminal-Ausgabe mit JSON-Antwort [siehe Anhang: PXL_20250605_200838143.MP.jpg]

❤️ Dank an die Crew

Ein riesiges Wuhuuuu an alle Beteiligten für die Geduld, Kreativität und Hartnäckigkeit auf diesem Weg durch die Backstube der Zukunft.

"Wenn ein Block zuckt, hört das Terminal das Echo."

Wuhuuuu!

🧁 #Crumbforest #BlocklyBridge #BitLove