Projekt

Allgemein

Profil

Custom Modules » Historie » Revision 2

Revision 1 ([E] Rocco Kreutz, 13.11.2025 13:07) → Revision 2/3 ([E] Rocco Kreutz, 13.11.2025 13:53)

h1. Custom Modules 

 * Bislang müssen angepasste Module mittels Prodat-Desktop Client unter Konfiguration erstellt und editiert werden 
 * Dies beinhaltet die Anpassung des JSON Konfigurations Objektes, welches so für die meisten eine zu Hohe technische Hürde darstellt 
 * Das neue "Custom Modules" Modul erlaubt das erstellen und editieren von solchen angepassten Modulen 
 ** *Derzeit ist die GUI auf das erstellen/editieren von DnyGrid basierten Modulen ausgelegt !!!* auch wenn ich dort jedes andere Modul auswählen kann als Basis 
 * Es wird hier die Liste aller Custom-Module angezeigt, als auch das JSON-Cfg Objekt des selektierten, in einer besser leserlichen Form {{collapse(Aufklappen) 
 

 !clipboard-202511131306-yovkj.png! 
 }} 

 h2. Edit-Modus 

 * Class: CimW.Core.FormSSQLGridU.TCimWFormSSQLGrid (ist das DynGrid Modul) 
 * Shortname: eindeutige ID für das (neue) Custom-Module 
 * SSQL: das zu verwendende SSQL, listet die komplette Liste der verfügbaren SSQL's 
 * Allowed: Liste der erlaubten (Gruppen-)Rollen 
 * Denied: Liste der verbotenen (Gruppen-)Rollen 
 * Caption: Caption wenn das Modul geöffnet wird 
 * Unknown Columns Visibility: Wie werden Spalten behandelt, welche beim öffnen des SSQL/Modules gefunden werden, aber in der Konfiguration nicht explizit konfiguriert wurden 
 ** colvmUnavailable: Spalte ist nicht im Grid vorhanden und kann damit auch niemals eingeblendet werden 
 ** colvmHidden: Spalte ist im Grid vorhanden, jedoch initial ausgeblendet 
 ** colvmVisible: Spalte ist im Grid vorhanden und initial eingeblendet 
 * Unknown Colums Use FieldAlias: sofern FieldAlias Einstellungen gefunden werden zu nicht explizit konfigurierten Spalte, dann benutze diese ja/nein 
 ** derzeit unterstützte FieldAlias Konfigurationen: <pre><code class="sql"> 
 fa_constraints 
 </code></pre> 
 *** @Hidden@ 
 *** @HiddenForNonAdmin@ 
 *** @Visible@ 
 *** @VisibleForAdmin@ 
 *** @HideCustomize@ 
 *** @ShowCustomize@ 
 *** Hidden/Hide hat Vorrang vor Visible/Show 
 * in dem darunter befindlichen Grid, werden alle in dem SSQL definierten Spalten angezeigt 
 ** Stand ist,aktuell, so wie in diesem Moment das SSQL definiert ist 
 ** Es werden nur Daten-Spalten angezeigt, keine internen Felder (wie im Prodat, selbe RegEx Funktionalität) 
 ** title wird mittels FieldAlias ermittelt 
 ** minwidth und flex werden basierend auf der internen default-funktionalität eingestellt 
 ** visibility auf colvmVisible initial gesetzt 
 ** usefieldalias wird initial auf true gesetzt 
 ** position entspricht initial der Reihenfolge im SSQL 
 ** fieldname, name wie in SSQL definiert 
 ** modulelink/Info sind initial nicht gesetzt 
 ** Dannach wird geschaut ob im JSON-Cfg-Object bereits eine Spaltendefinition für diese Spalte existiert und in diesem Fall diese Werte übernommen im Grid 
 ** Es können nur Zellen editiert werden, keine Zeilen erzeugt/gelöscht werden 
 ** Die Reihenfolge kann einfach mittels position geändert werden, alle nachfolgenden werden weitergeschoben bzw 'leere' positionen wieder aufgefüllt indem alles nachfolgenden heruntergesetzt werden 
 ** ModuleLink definieren für eine Spalte: {{collapse(Aufklappen) 
 !clipboard-202511131341-dldmh.png! 
 }} 
 *** Hier kann ich definieren, das die Spalte im Grid als Link zu einem anderen Module fungieren soll 
 *** Dazu wähle ich das entsprechende Module aus welches geöffnet werden soll 
 *** Danach werden alle (CMETA_PARAM) Parameter dieses Modules im Grid darunter angezeigt 
 *** Die Spalte "Source Fieldname" bietet eine DropDownComboBox an, mit allen Spalten des SSQL (des Custom-Modules, für welches wir gerade einen ML zu einem anderen Module definieren) 
 *** Das gelinkte Module wird dann (zur Laufzeit beim klicken) geöffnet und aus dem Quell-Module werden die entsprechenden Spalten-Werte ermittelt und als Parameter and ds gelinkte zu öffnende Module übergeben 
 *** Hier ist es möglich zusätzliche 'Target Parameter' (Zeilen) zu erstellen oder bestehende einfach zu löschen. Die beiden Buttons links unter dem Grid 

 * Unter dem Grid für die Spalten befinden sich 2 Buttons: "übernehmen" der Änderungen bzw. "Abbrechen" und zurück zur Liste der Custom-Modules 
 * Der "Test" Button, öffnet das gerade in Bearbeitung befindliche Custom-Module im derzeitigen Zustand der Bearbeitung 
 ** *!!! WICHTIG !!!* 
 *** Änderungen an Custom-Modulen werden erst dann wirksam, sobald man sich ERNEUT eingelogged hat 
 *** Die einzige Ausnhahme betrifft den "Test" Button und dann auch nur für das getestete Modul selber, nicht Module die dann (z.B. mittels Module-Link) von diesem Modul aus geöffnet werden