2.9 KiB
2.9 KiB
Migration bestehende Module
Ziel
Die bestehenden Module aus dem alten Nexus sollen als Basis in desktop.kusche.berlin verfügbar sein, damit sie dort später in die neue Oberfläche überführt werden können.
Wichtige Regel
Die Übernahme erfolgt zweistufig:
- Rohkopie als Referenzbasis
- anschließende separate Anpassung im neuen Projekt
Empfohlener Zielordner im neuen Projekt
temp/nexus-module-import/
Was kopiert werden soll
Mindestens:
/custom/apps/- relevante globale Dokumentationsdateien
- gegebenenfalls Referenzdateien aus
/src/, wenn Modul-Helfer benötigt werden
Zusätzlich möglich:
- kompletter Altstand unter
Old-Nexus/
Was zunächst nicht aktiv umgebaut werden soll
- keine direkten Eingriffe in das alte Nexus-Projekt
- keine halb fertige Mischform aus alter UI und neuer Desktop-UI
- keine automatische Massenmigration ohne Sichtprüfung pro Modul
- keine technische Nutzung von
Old-Nexus/im neuen Produktivcode
Ziel nach dem Kopieren
Im neuen Projekt gibt es:
- die neue Desktop-Shell
- die importierten Module als Rohbasis
- optional
Old-Nexus/als reine Sicht- und Erinnerungsbasis - eine schrittweise Anbindung pro Modul an das neue Fenstersystem
Empfohlener Migrationsablauf je Modul
- Modul aus Import-Basis prüfen
- benötigte Assets und Seiten identifizieren
- Modul in neue App-Registry eintragen
- Modul als Desktop-App definieren
- Modulansichten in Fensterlogik integrieren
- Skin-Verhalten testen
Wichtig für spätere Umsetzung
Module werden nicht einfach als alte Seite verlinkt, sondern:
- als App registriert
- im Desktop geöffnet
- mit Fenstertitel, Icon, Startverhalten und optionalen Widget-Anknüpfungen beschrieben
Wenn Old-Nexus/ vorhanden ist:
- nur zum Nachschlagen alter Lösungswege verwenden
- keine Pfadabhängigkeit darauf erzeugen
- nichts daraus zur Laufzeit laden
- nichts daraus direkt includen oder importieren
Mögliche App-Metadaten je Modul
app_idtitleiconentry_routewindow_modedefault_widthdefault_heightsupports_widgetsupports_traymodule_name
Erweiterte Modul-Metadaten fuer die neue Desktop-Shell
Importierte Module sollen bei der Migration nicht nur eine Fenster-App bekommen, sondern moeglichst direkt folgende Angaben im Manifest vorbereiten:
app_scope: moduleinstallable: truedesktop.availabledesktop.show_on_desktopdesktop.show_in_start_menuwidgets[]cron_jobs[]
Damit koennen folgende Dinge ohne weitere Sonderverdrahtung automatisch entstehen:
- Desktop- und Startmenue-Sichtbarkeit
- Widget-Auswahl im User Self Management
- Aufnahme in die zentrale Cron-Verwaltung
Systemtools sind keine Module
Globale Verwaltungsfunktionen werden in diesem Projekt nicht als installierbare Module behandelt.
Beispiele:
User ManagementUser Self ManagementCron Tool
Diese Apps laufen als system_tool und nicht als module.