Direkt zum Hauptinhalt

Ersteinrichtung

Einrichtung:

Nun nachdem der Conatiner und Co läuft.
Haben wir de Loginseite, bei einer frischen installation ist der Wartungsmodus aktiv.
Nur im Wartungsmodus können Apps erstellt oder verändert werden
Benutzername und Kennwort sind standardmäßig admin

Auswahl_271.png

Nach dem Login bekommen wir eine Seite wo wir drauf hingewiesen werden, das es noch keien Apps gibt. Wir könenn Standard apps installieren um Beispiele zu bekommen, oder aus der repo oder unsere vielelicht schon erstellte app aus einer datei.

Auswahl_272.png

Möchten wir gar nichts von allen dreien, haben wir oben links ein Menü das Häuschen die App Oberfläche, da wir keine Apps haben bekämen wir wieder die Seite von Anfang oder das Symbol Server mit Zahnrad für die Einstellungen. Wie Benutzer backups etc. Wir installieren mal gar nichts und Bauen eine App von Scratch:

Auswahl_273.png

Wir klicken auf das Zahnrad und gehen dann zu logins, dort ändern wir das Passwort für den Admin.
Nun gehen wir unter System und enabled den Builder mode, damit wir Apps bauen können

Auswahl_274.png

Nun bekommen wir einen Hinweis, das veränderung an einer App mit Datenverlust zu rechnen ist.
Dank Docker können wir uns mehrere Instanzen bauen und die Apps nachher in Produktiv importieren.
Auf close klicken

Auswahl_275.png

Dann auf Apply changes klicken

Auswahl_277.png

Jetzt haben wir ein neues Symbol in der Leiste oben links. Dieses anklicken

Auswahl_278.png


Dort haben wir unsere Liste von Anwendungen, da wir noch keine haben, klicken wir auf new um eine Neue zu erstellen.

Auswahl_279.png

Wir vergeben einen Namen für unsere App, hier "lizenzmanager" als Besipiel
Die Namen müssen immer alle klein geschrieben sein und dürfen keine Sonderzeichen enthalten.
Nur zahlen und Buchstaben und muss mit Buchstaben beginnen.
Nun klicken wir auf create

Auswahl_281.png

Jetzt steht die App in der Liste mit der Versionsnummer dahinter.
hier Version : v0
Wir klicken da drauf um unsere App zu bearbeiten

Auswahl_282.png

Das Übersichtsfenster. Dort wird die Datenbank, dann die Formulare, wenn gewünscht ein Seitenmenü und wenn auch gewünscht mehrere Benutzer angelegt sind, die Rechte verwaltet werden.
Sprachen können auch noch definiert werden.

Auswahl_283.png

Wir fangen mit der Datenbank an, klicken auf Define Relations

Auswahl_284.png

Da es noch keine Relation gibt klicken wir auf New.
Relations sind Tabellen

image-1729933434157.png

Nun vergeben wir einen Namen, hier Kunden
Man kann die Daten auch verschlüsseln. ;-)
Dann auf create klicken

Auswahl_286.png

Nun haben wir unsere Tabelle in der liste drauf klicken und wir können die spalten definieren

Auswahl_287.png

Die Spalte ID wird immer vor angelegt, durck klicken auf new legen wir eine neue Spalte an.

Auswahl_288.png

Nun spalten Namen eingeben, Typ auswählen, hier Text.
Mit must have value wird es ein Pflichtfeld
Es kann auch ein Titel mit der Übersetzung erstellt werden, aber dazu später. Iwr können hier sonst schon mal de_de eintragen, wenn gewünscht.
Dann auf Create + new wenn wir eine weitere Spalte anlegen wollen, ansonsten auf create.

Auswahl_289.png

Nun haben wir unsere Tabelle. Alle Spalten mit * sind Pflichtfelder

Auswahl_290.png

Nun erstellen wir eine zweite Tabelle mit dem Namen lizenzen.
Dazu im Menü links auf Relations klicken und dann wieder auf New

Auswahl_292.png

Das erste Feld heißt lizenzschluessel und ist ein Pflichtfeld und typ text, create+new anklicken

Auswahl_293.png

Das zweite Feld wird eine Verbindung zur Kundentabelle. Die Spalte heißt kunde und ist eine 1:N Verbindung.
Ein Kunde kann mehre Lizenzen haben oder umgekehrt eine Lizenz kann nur einen Kunden haben.

Namen und typ auswählen n:1

Auswahl_294.png

Dann bei Relationship die Tabelle kunden auswählen.
Action when changed und deleted, restrict aus.
klicken dann auf create.

Die Werte in diesem Dropdown-Menü beziehen sich auf die Aktionen, die in einer relationalen Datenbank 
(normalerweise bei Fremdschlüsseln) ausgeführt werden, wenn eine referenzierte Zeile geändert oder gelöscht wird. 
Hier ist, was die einzelnen Optionen bedeuten:

    NO ACTION: Wenn ein Datensatz, auf den verwiesen wird, gelöscht oder geändert wird, wird keine spezifische 
               Aktion ausgeführt. Falls die referenzierte Zeile jedoch noch verwendet wird, kann die Operation 
               fehlschlagen und eine Fehlermeldung ausgeben.

    CASCADE: Diese Option sorgt dafür, dass alle verbundenen Datensätze automatisch ebenfalls gelöscht oder 
             aktualisiert werden. Wenn z. B. ein Datensatz in der Haupttabelle gelöscht wird, 
             werden alle verknüpften Datensätze in der abhängigen Tabelle ebenfalls gelöscht.

    SET NULL: Wenn der referenzierte Datensatz gelöscht oder geändert wird, wird der Fremdschlüssel in der 
              abhängigen Tabelle auf NULL gesetzt. Dies setzt voraus, dass das Fremdschlüsselfeld NULL-Werte zulässt.

    RESTRICT: Diese Option verhindert die Löschung oder Aktualisierung des referenzierten Datensatzes, 
              solange noch eine Verbindung zu abhängigen Datensätzen besteht. Es gibt also eine Einschränkung, 
              und die Operation wird nicht ausgeführt, um die Integrität der Datenbank zu wahren.

Auswahl_295.png

Jetzt sieht unsere Lizenz Tabelle so aus

Auswahl_296.png

Nachher bei den Icons, kann man hier auch icons runterladen.
Darauf achten das Icon Transparents hat

Eine Vollständige Liste aller MDI Icons (MaterialDesignIcons) https://materialdesignicons.com/