Dateien nach "/" hochladen

This commit is contained in:
Oliver Braasch committed 2026-09-18 10:05:52 +02:00
1 parent fa4f92e706
commit f8c1fdb6da
1 file changed
+51 -47
+51 -47
View File
@@ -1,32 +1,50 @@
# JSON Studio & MariaDB Workbench
# JSON Studio & MariaDB Workbench
Zwei JSON-Editoren nebeneinander, die komplett im Browser laufen. Gedacht für
den Alltag mit Daten aus Shops, Schnittstellen und Tabellen: importieren,
vergleichen, umformen, wieder ausgeben.
**Live nutzen:** [https://software.obraasch.de/](https://software.obraasch.de/json-workbench/json-workbench.html)
**Live nutzen:** https://software.obraasch.de/json-workbench/
---
## Funktionen
**Import**
JSON · CSV · Excel (xlsx/xls) · YAML (auch mehrere Dokumente) · XML ·
SQL-Dump (liest `INSERT`-Anweisungen zurück) · direkt von einer URL ·
aus einer Datenbank über eine HTTP-Brücke
JSON · CSV · Excel (xlsx/xls, auch mehrere Blätter) · YAML (auch mehrere
Dokumente) · XML · SQL-Dump (liest `INSERT`-Anweisungen zurück, auch mit
mehreren Tabellen) · direkt von einer URL · aus einer Datenbank über eine
HTTP-Brücke
**Export**
JSON · CSV · Excel · YAML · XML · MariaDB-Skript (`CREATE TABLE` + `INSERT`) ·
JSON-Schema (Draft 2020-12) · an einen Webhook senden · in eine Datenbank schreiben
JSON · CSV · Excel · YAML · XML · JSON-Schema (Draft 2020-12) · an einen
Webhook senden · in eine Datenbank schreiben (anhängen, ersetzen oder
aktualisieren)
**MariaDB-Skript-Generator**
`CREATE TABLE` + `INSERT` aus den vorhandenen Daten, mit:
- automatischer Typerkennung inklusive Unterscheidung zwischen `INT` und dem
größeren `BIGINT` bei sehr großen Zahlen
- manueller Korrektur jedes Spaltentyps (mit Längenangabe und Erklärung, wofür
welcher Typ gedacht ist)
- wählbarem Primärschlüssel: automatische `id`-Spalte, eine vorhandene Spalte,
oder mehrere zusammen als zusammengesetzter Schlüssel
- Umbenennung einzelner Spalten für den SQL-Namen, unabhängig vom JSON-Feldnamen
- Einstellungen werden pro Dokument gemerkt, bis der Editor geleert wird
**Arbeiten mit zwei Dokumenten**
Inhalt hin- und herkopieren · Verschachtelungen auflösen („Flatten“, nötig für
CSV/Excel/Datenbank) · Feld-für-Feld-Vergleich mit Bericht als Markdown oder CSV
CSV/Excel/Datenbank) · Feld-für-Feld-Vergleich mit Bericht als Markdown oder
CSV · Pfad eines Feldes kopieren (z. B. für n8n-Ausdrücke)
**Sonstiges**
Hell- und Dunkelmodus · Snippet-Bibliothek · Tastaturkürzel · integrierte
Anleitung · Sicherung aller Einstellungen als JSON-Datei für den Umzug auf
einen anderen Rechner
**Komfort**
Hell- und Dunkelmodus · Dateiname wird beim Öffnen automatisch zum
Dokumentnamen · Liste der letzten 5 geöffneten Dateien pro Editor ·
Snippet-Bibliothek für wiederkehrende Vorlagen · optionale automatische
Sicherung als Download in festem Abstand (standardmäßig aus) ·
Tastaturkürzel · integrierte Anleitung mit Tooltips · Sicherung aller
Einstellungen, Snippets und Datenbank-Profile als JSON-Datei für den Umzug
auf einen anderen Rechner
---
@@ -97,46 +115,25 @@ entgegennimmt und an die Datenbank weiterreicht.
---
## Die Übersichtsseite
## Datenschutz & Datenhaltung
`index.php` gehört ins Wurzelverzeichnis der Domain und listet automatisch
alle Unterordner auf, die eine Datei `tool.json` enthalten. Ein Ordner ohne
diese Datei taucht nicht auf.
```json
{
"name": "JSON Studio & MariaDB Workbench",
"beschreibung": "Kurzbeschreibung in einem Satz.",
"einstieg": "json-workbench.html",
"repository": "https://gitea.obraasch.de/oliver/json-studio",
"repositoryName": "Quellcode (Gitea)",
"version": "3.0",
"lizenz": "MIT",
"stand": "2026-09-16",
"tags": ["JSON", "CSV", "Excel"],
"sichtbar": true
}
```
Nur `name` und `einstieg` sind wirklich nötig, alles andere ist optional.
`sichtbar: false` blendet einen Ordner aus, ohne die Datei zu löschen.
Die Seite verarbeitet bewusst **keinerlei Nutzereingaben** — weder `$_GET`
noch `$_POST` noch Cookies. Damit entfällt die übliche Angriffsfläche. Inhalte
aus `tool.json` werden trotzdem geprüft und beim Ausgeben vollständig maskiert;
Pfade dürfen den Tool-Ordner nicht verlassen, externe Links nur `http`/`https`
sein. Die Seite kommt ohne JavaScript aus, entsprechend verbietet die
Content-Security-Policy Skripte komplett.
Alles, was hier bearbeitet wird, bleibt im Browser. Es wird nichts an den
Server übertragen, von dem die Seite geladen wurde — außer bewusst über
URL-Import, Webhook-Versand oder Datenbankanbindung, jeweils an eine selbst
angegebene Adresse. Inhalte, Namen, Einstellungen, Snippets und
Datenbank-Profile liegen im lokalen Speicher (`localStorage`) des jeweiligen
Browsers.
---
## Rechtliches beim öffentlichen Betrieb
## Auf der eigenen Domain veröffentlichen
In Deutschland brauchst du für ein öffentlich erreichbares Angebot ein
Impressum (§ 5 DDG) und eine Datenschutzerklärung. Vorlagen liegen als
`impressum.html` und `datenschutz.html` bei — mit Platzhaltern, die vor der
Veröffentlichung ausgefüllt werden müssen. Die Vorlagen sind nach bestem
Wissen erstellt, ersetzen aber keine Rechtsberatung.
Eine kleine Übersichtsseite, die dieses und weitere Werkzeuge automatisch
auflistet, liegt in einem eigenen Repository:
https://git.obraasch.de/olli1986/software-obraasch-de-overview
Dort finden sich außerdem Vorlagen für Impressum und Datenschutzerklärung
sowie Hinweise zur Absicherung des Webservers.
---
@@ -157,3 +154,10 @@ SheetJS steht unter Apache-2.0. Bei Weitergabe muss der Lizenztext beiliegen
und es müssen Änderungen an den Dateien kenntlich gemacht werden — am
einfachsten, indem du die unveränderte Datei samt ihrer `LICENSE` in `lib/`
ablegst.
---
## Hinweis
Entstanden als Projekt von Oliver Braasch, mit Unterstützung von Claude
(Anthropic) bei Entwurf, Umsetzung und Dokumentation.