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 Zwei JSON-Editoren nebeneinander, die komplett im Browser laufen. Gedacht für
den Alltag mit Daten aus Shops, Schnittstellen und Tabellen: importieren, den Alltag mit Daten aus Shops, Schnittstellen und Tabellen: importieren,
vergleichen, umformen, wieder ausgeben. 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 ## Funktionen
**Import** **Import**
JSON · CSV · Excel (xlsx/xls) · YAML (auch mehrere Dokumente) · XML · JSON · CSV · Excel (xlsx/xls, auch mehrere Blätter) · YAML (auch mehrere
SQL-Dump (liest `INSERT`-Anweisungen zurück) · direkt von einer URL · Dokumente) · XML · SQL-Dump (liest `INSERT`-Anweisungen zurück, auch mit
aus einer Datenbank über eine HTTP-Brücke mehreren Tabellen) · direkt von einer URL · aus einer Datenbank über eine
HTTP-Brücke
**Export** **Export**
JSON · CSV · Excel · YAML · XML · MariaDB-Skript (`CREATE TABLE` + `INSERT`) · JSON · CSV · Excel · YAML · XML · JSON-Schema (Draft 2020-12) · an einen
JSON-Schema (Draft 2020-12) · an einen Webhook senden · in eine Datenbank schreiben 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** **Arbeiten mit zwei Dokumenten**
Inhalt hin- und herkopieren · Verschachtelungen auflösen („Flatten“, nötig für 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** **Komfort**
Hell- und Dunkelmodus · Snippet-Bibliothek · Tastaturkürzel · integrierte Hell- und Dunkelmodus · Dateiname wird beim Öffnen automatisch zum
Anleitung · Sicherung aller Einstellungen als JSON-Datei für den Umzug auf Dokumentnamen · Liste der letzten 5 geöffneten Dateien pro Editor ·
einen anderen Rechner 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 Alles, was hier bearbeitet wird, bleibt im Browser. Es wird nichts an den
alle Unterordner auf, die eine Datei `tool.json` enthalten. Ein Ordner ohne Server übertragen, von dem die Seite geladen wurde — außer bewusst über
diese Datei taucht nicht auf. URL-Import, Webhook-Versand oder Datenbankanbindung, jeweils an eine selbst
angegebene Adresse. Inhalte, Namen, Einstellungen, Snippets und
```json Datenbank-Profile liegen im lokalen Speicher (`localStorage`) des jeweiligen
{ Browsers.
"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.
--- ---
## Rechtliches beim öffentlichen Betrieb ## Auf der eigenen Domain veröffentlichen
In Deutschland brauchst du für ein öffentlich erreichbares Angebot ein Eine kleine Übersichtsseite, die dieses und weitere Werkzeuge automatisch
Impressum (§ 5 DDG) und eine Datenschutzerklärung. Vorlagen liegen als auflistet, liegt in einem eigenen Repository:
`impressum.html` und `datenschutz.html` bei — mit Platzhaltern, die vor der https://git.obraasch.de/olli1986/software-obraasch-de-overview
Veröffentlichung ausgefüllt werden müssen. Die Vorlagen sind nach bestem
Wissen erstellt, ersetzen aber keine Rechtsberatung. 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 und es müssen Änderungen an den Dateien kenntlich gemacht werden — am
einfachsten, indem du die unveränderte Datei samt ihrer `LICENSE` in `lib/` einfachsten, indem du die unveränderte Datei samt ihrer `LICENSE` in `lib/`
ablegst. ablegst.
---
## Hinweis
Entstanden als Projekt von Oliver Braasch, mit Unterstützung von Claude
(Anthropic) bei Entwurf, Umsetzung und Dokumentation.