Phase 6: App-Beschreibungen + Icon-Fetch-Mechanismus
Migration 0045: 47 von 56 Merkmalen hatten keine Beschreibung (Datenbank- Check 11.09.2026) - Kurzbeschreibungen ergänzt, gleicher Ton wie die 9 bestehenden. Neue Spalten homepage_url/icon_source_hint (nur real gegen die jeweilige URL bzw. https://cdn.simpleicons.org/<slug> geprüft gesetzt, sonst NULL statt geraten) sowie icon_filename/icon_content_type (Cache, analog workspace_webapps). Neuer Icon-Fetch: fetch_merkmal_icon() probiert zuerst den Simple-Icons- Slug, sonst fetch_favicon() der Homepage (bestehende Funktion aus dem Webapp-Mechanismus direkt wiederverwendet) - Kombi aus beidem war die Nutzer-Entscheidung in der Plan-Klärungsrunde. aktualisiere_merkmal_icon() ist ein eigener, wiederholbar aufrufbarer Schritt (POST /api/v1/merkmale/ {id}/icon/aktualisieren) statt Teil des Anlegens, weil Merkmale per Migration entstehen, nicht per API-Call mit sofortigem Netzwerk-Kontext. Auslieferung über GET /merkmal-icons/{filename}, gleiches Muster wie /webapp-icons. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VLk93dhDMrkPXefVdknMV9
This commit is contained in:
1 parent
2ebecd1426
commit
95946bd11c
2 files changed
+251
-2
No files matched your search
@@ -0,0 +1,130 @@
|
||||
BEGIN;
|
||||
|
||||
-- Phase 6 des GUI-Ausbaus (11.09.2026, siehe
|
||||
-- project_kundenplattform_gui_umbau_2026-09-11_dashboard_workspace-Memory):
|
||||
-- 47 von 56 Merkmalen hatten keine Beschreibung (Datenbank-Check
|
||||
-- 11.09.2026) - Kurzbeschreibungen ergänzt, gleicher knapper/faktischer
|
||||
-- Ton wie die 9 bestehenden. Zusätzlich zwei neue, optionale Spalten:
|
||||
--
|
||||
-- homepage_url: offizielle Projektseite, nur gesetzt wo eine stabile URL
|
||||
-- real geprüft wurde (curl, 11.09.2026) - bewusst NULL bei reinen Konfig-/
|
||||
-- Härtungs-Merkmalen ohne eigene "Produktidentität" (z.B. auto-update,
|
||||
-- firewall, tastaturlayout) sowie bei zwei GNOME-Apps (evolution,
|
||||
-- metronome), deren offizielle Seiten (gitlab.gnome.org) automatisierte
|
||||
-- Anfragen mit 406 ablehnen - Favicon-Fetch würde dort ohnehin scheitern.
|
||||
--
|
||||
-- icon_source_hint: Simple-Icons-Slug, NUR gesetzt wenn der Slug real
|
||||
-- gegen https://cdn.simpleicons.org/<slug> geprüft wurde (200, nicht nur
|
||||
-- vermutet) - die meisten Bildungs-/Nischen-Apps sind dort schlicht nicht
|
||||
-- gelistet, bleiben NULL und fallen auf den Favicon-Fallback zurück
|
||||
-- (siehe fetch_merkmal_icon() in app.py).
|
||||
ALTER TABLE merkmale ADD COLUMN homepage_url TEXT;
|
||||
ALTER TABLE merkmale ADD COLUMN icon_source_hint TEXT;
|
||||
ALTER TABLE merkmale ADD COLUMN icon_filename TEXT;
|
||||
ALTER TABLE merkmale ADD COLUMN icon_content_type TEXT;
|
||||
|
||||
-- Homepage/Icon-Ergänzung für bereits beschriebene Merkmale.
|
||||
UPDATE merkmale SET homepage_url = 'https://learningequality.org/kolibri' WHERE key = 'kolibri';
|
||||
UPDATE merkmale SET homepage_url = 'https://veyon.io' WHERE key = 'veyon';
|
||||
UPDATE merkmale SET homepage_url = 'https://www.chromium.org/' WHERE key = 'chromium';
|
||||
|
||||
-- Browser
|
||||
UPDATE merkmale SET description = 'Fernwartungssoftware für Support durch Dritte.',
|
||||
homepage_url = 'https://anydesk.com', icon_source_hint = 'anydesk' WHERE key = 'anydesk';
|
||||
UPDATE merkmale SET description = 'Chromium-basierter Browser mit eingebautem Werbe-/Tracker-Blocker.',
|
||||
homepage_url = 'https://brave.com', icon_source_hint = 'brave' WHERE key = 'browser-brave';
|
||||
UPDATE merkmale SET description = 'Weit verbreiteter Browser von Google.',
|
||||
homepage_url = 'https://www.google.com/chrome/', icon_source_hint = 'googlechrome' WHERE key = 'google-chrome';
|
||||
UPDATE merkmale SET description = 'Chromium-basierter Browser von Microsoft.',
|
||||
homepage_url = 'https://www.microsoft.com/edge' WHERE key = 'microsoft-edge';
|
||||
|
||||
-- Kreativ/Grafik
|
||||
UPDATE merkmale SET description = 'Bildbearbeitung, freie Alternative zu Photoshop.',
|
||||
homepage_url = 'https://www.gimp.org', icon_source_hint = 'gimp' WHERE key = 'gimp';
|
||||
UPDATE merkmale SET description = 'Vektorgrafik, freie Alternative zu Illustrator.',
|
||||
homepage_url = 'https://inkscape.org', icon_source_hint = 'inkscape' WHERE key = 'inkscape';
|
||||
UPDATE merkmale SET description = 'Desktop-Publishing für Broschüren, Flyer und Layouts.',
|
||||
homepage_url = 'https://www.scribus.net' WHERE key = 'scribus';
|
||||
UPDATE merkmale SET description = 'Elektronik-Design für Platinen, Steckbrett-Simulationen und Schaltpläne.',
|
||||
homepage_url = 'https://fritzing.org' WHERE key = 'fritzing';
|
||||
UPDATE merkmale SET description = '2D-CAD für technisches Zeichnen.',
|
||||
homepage_url = 'https://librecad.org' WHERE key = 'librecad';
|
||||
|
||||
-- Musik/Audio
|
||||
UPDATE merkmale SET description = 'Audioaufnahme und -bearbeitung, mehrspurig.',
|
||||
homepage_url = 'https://www.audacityteam.org', icon_source_hint = 'audacity' WHERE key = 'audacity';
|
||||
UPDATE merkmale SET description = 'Notensatzprogramm zum Komponieren und Drucken von Noten.',
|
||||
homepage_url = 'https://musescore.org' WHERE key = 'musescore';
|
||||
UPDATE merkmale SET description = 'Digitales Metronom für den Musikunterricht.' WHERE key = 'metronome';
|
||||
UPDATE merkmale SET description = 'Gehörbildung und Musiktheorie-Übungen.',
|
||||
homepage_url = 'https://apps.kde.org/minuet' WHERE key = 'minuet';
|
||||
|
||||
-- Büro/Produktivität
|
||||
UPDATE merkmale SET description = 'Vollständiges freies Office-Paket (Textverarbeitung, Tabellenkalkulation, Präsentation).',
|
||||
homepage_url = 'https://www.libreoffice.org', icon_source_hint = 'libreoffice' WHERE key = 'office-libreoffice';
|
||||
UPDATE merkmale SET description = 'Office-Paket mit hoher Kompatibilität zu Microsoft-Office-Dateiformaten.',
|
||||
homepage_url = 'https://www.onlyoffice.com', icon_source_hint = 'onlyoffice' WHERE key = 'office-onlyoffice';
|
||||
UPDATE merkmale SET description = 'E-Book-Reader für EPUB und weitere Formate.',
|
||||
homepage_url = 'https://johnfactotum.github.io/foliate/' WHERE key = 'foliate';
|
||||
UPDATE merkmale SET description = 'E-Mail-Client mit Kalender- und Kontaktverwaltung.' WHERE key = 'evolution';
|
||||
UPDATE merkmale SET description = 'Remote-Desktop-Client (RDP, VNC, SSH u.a.).',
|
||||
homepage_url = 'https://remmina.org' WHERE key = 'remmina';
|
||||
|
||||
-- Programmieren/Making
|
||||
UPDATE merkmale SET description = 'Spieleentwicklung ohne Programmierkenntnisse, per visueller Ereignislogik.',
|
||||
homepage_url = 'https://gdevelop.io' WHERE key = 'gdevelop';
|
||||
UPDATE merkmale SET description = 'Schnellere, erweiterte Ausführungsumgebung für Scratch-Projekte.',
|
||||
homepage_url = 'https://turbowarp.org' WHERE key = 'turbowarp';
|
||||
|
||||
-- Bildung: Mathe & Naturwissenschaft
|
||||
UPDATE merkmale SET description = 'Interaktive Geometrie, Algebra und Analysis.',
|
||||
homepage_url = 'https://www.geogebra.org' WHERE key = 'geogebra';
|
||||
UPDATE merkmale SET description = 'Grafikrechner für Funktionen und Gleichungen.',
|
||||
homepage_url = 'https://apps.kde.org/kalgebra' WHERE key = 'kalgebra';
|
||||
UPDATE merkmale SET description = 'Interaktives Periodensystem mit Element-Detailinformationen.',
|
||||
homepage_url = 'https://apps.kde.org/kalzium' WHERE key = 'kalzium';
|
||||
UPDATE merkmale SET description = 'Übungsprogramm für Bruchrechnung.',
|
||||
homepage_url = 'https://apps.kde.org/kbruch' WHERE key = 'kbruch';
|
||||
UPDATE merkmale SET description = 'Physik-Simulator für Kräfte, Bewegung und Kollisionen.',
|
||||
homepage_url = 'https://apps.kde.org/step' WHERE key = 'step';
|
||||
UPDATE merkmale SET description = 'Numerisches Rechnen, weitgehend kompatibel zu MATLAB.',
|
||||
homepage_url = 'https://octave.org', icon_source_hint = 'octave' WHERE key = 'octave';
|
||||
UPDATE merkmale SET description = 'Planetarium-Software für den Astronomie-Unterricht.',
|
||||
homepage_url = 'https://stellarium.org' WHERE key = 'stellarium';
|
||||
UPDATE merkmale SET description = '3D-Globus mit Satellitenbildern für Erdkunde/Geografie.',
|
||||
homepage_url = 'https://earth.google.com', icon_source_hint = 'googleearth' WHERE key = 'google-earth';
|
||||
UPDATE merkmale SET description = 'Virtueller Globus und Kartenprogramm.',
|
||||
homepage_url = 'https://marble.kde.org' WHERE key = 'marble';
|
||||
UPDATE merkmale SET description = 'Netzwerksimulator für den Unterricht (Aufbau und Konfiguration virtueller Netze).',
|
||||
homepage_url = 'https://lernsoftware-filius.de' WHERE key = 'filius';
|
||||
|
||||
-- Bildung: Sprache & Schreiben / Unterrichtswerkzeuge
|
||||
UPDATE merkmale SET description = 'Buchstabenrätsel-Lernspiel.',
|
||||
homepage_url = 'https://apps.kde.org/kanagram' WHERE key = 'kanagram';
|
||||
UPDATE merkmale SET description = 'Karteikarten-Lernprogramm für Vokabeln und Begriffe.',
|
||||
homepage_url = 'https://apps.kde.org/kwordquiz' WHERE key = 'kwordquiz';
|
||||
UPDATE merkmale SET description = 'Tastschreiben lernen.',
|
||||
homepage_url = 'https://apps.kde.org/ktouch' WHERE key = 'ktouch';
|
||||
UPDATE merkmale SET description = 'Tippspiel zum Erlernen des Zehnfingersystems.',
|
||||
homepage_url = 'https://github.com/tux4kids/tuxtype' WHERE key = 'tuxtype';
|
||||
UPDATE merkmale SET description = 'Arcade-artiges Kopfrechnen-Lernspiel.',
|
||||
homepage_url = 'https://github.com/tux4kids/tuxmath' WHERE key = 'tuxmath';
|
||||
UPDATE merkmale SET description = 'Sammlung von Lernspielen für jüngere Schüler (Mathematik, Lesen, Logik u.a.).',
|
||||
homepage_url = 'https://gcompris.net' WHERE key = 'gcompris';
|
||||
UPDATE merkmale SET description = 'Einfache Programmiersprache mit Turtle-Grafik für den Programmier-Einstieg.',
|
||||
homepage_url = 'https://apps.kde.org/kturtle' WHERE key = 'kturtle';
|
||||
|
||||
-- Konfiguration/Härtung (bewusst ohne homepage_url/icon_source_hint -
|
||||
-- Konfig-Merkmale, keine eigenständige Anwendung mit Produktidentität).
|
||||
UPDATE merkmale SET description = 'Installiert alle verfügbaren Paketupdates automatisch (nicht nur sicherheitsrelevante, siehe Automatische Sicherheitsupdates).' WHERE key = 'auto-update';
|
||||
UPDATE merkmale SET description = 'Installiert ausschließlich sicherheitsrelevante Paketupdates automatisch.' WHERE key = 'security-updates';
|
||||
UPDATE merkmale SET description = 'Aktiviert eine einfache, vorkonfigurierte Firewall (ufw).' WHERE key = 'firewall';
|
||||
UPDATE merkmale SET description = 'Installiert ClamAV zur On-Demand-Virenprüfung.', homepage_url = 'https://www.clamav.net' WHERE key = 'virenscanner';
|
||||
UPDATE merkmale SET description = 'Aktiviert Bildschirmlupe, Bildschirmleser und weitere Eingabehilfen.' WHERE key = 'barrierefreiheit';
|
||||
UPDATE merkmale SET description = 'Installiert zusätzliche Video-/Audio-Codecs für gängige Formate (z.B. MP3, H.264).' WHERE key = 'multimedia-codecs';
|
||||
UPDATE merkmale SET description = 'Installiert proprietäre Firmware für WLAN-/Netzwerk-Chipsätze, die im freien Repository fehlt.' WHERE key = 'wlan-firmware';
|
||||
UPDATE merkmale SET description = 'Setzt Zeitzone und Sprache passend zur gewählten Region.' WHERE key = 'laender';
|
||||
UPDATE merkmale SET description = 'Setzt das Tastaturlayout passend zur gewählten Sprache/Region.' WHERE key = 'tastaturlayout';
|
||||
UPDATE merkmale SET description = 'Synchronisiert die Systemzeit über NTP mit einem konfigurierbaren Zeitserver.' WHERE key = 'zeitserver';
|
||||
|
||||
COMMIT;
|
||||
Reference in new issue
Block a user