Difference between revisions of "Releasenotes 2025 OS.Softwarefactory"

From OS.bee documentation
Jump to: navigation, search
(Version 5.2.0-V202504)
(Version 5.2.0-V20250604)
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
  
 
== [[Releasenotes | --> zurück zu Releasenotes ]] ==
 
== [[Releasenotes | --> zurück zu Releasenotes ]] ==
 +
 +
 +
== Version 5.2.0-V20250604 ==
 +
 +
* Entity-Modellierung:
 +
** Spaltenlängendefinition über Property z.B. name="length" value="20"
 +
* Statemachine-Laufzeit:
 +
** Einführung des Konfigurationsschalters "ApplicationContext" / "statemachineFireAsync-DataControl" mit Defaultwert "true"<br> Mit dem Schalter kann der Ablauf der Statemachine von asynchroner Dateneventverarbeitung ( default, wie bisher ) auf synchrone Eventberarbeitung umgestellt werden.
 +
** Einführung des Konfigurationsschalters "ApplicationContext" / "abstractStatemachine-ProcessEventInQueue" mit Defaultwert "true"<br> Mit den Schalter kann der Ablauf der Statemachine Eventverarbeitung von asynchron ( default ) auf synchron umgestellt werden. Bei synchroner Verarbeitung wirkt die Verarbeitung von Tastatureingaben unter Umständen blockierend auf das Frontend, was die Reaktion der Anwendung auf Benutzereingaben verlangsamen kann.
 +
* Postupdateservice:
 +
** Entfernung des Servicebindings für den Persistenceservice, stattdessen Benutzung von PersistenceServiceBinder.waitForPersistenceService() zur Prüfung, ob der PersistenceService verfügbar ist.<br>Ziel: Vermeidung von Deadlock Situationen beim Anwendungsstart
 +
* Datainterchange:
 +
** beim Start wird nun auf den PersistenceService gewartet, nicht nur auf den ConfgurationService.<br>Ziel: Vermeidung von Deadlock Situationen beim Anwendungsstart
 +
* Mandantenfähigkeit:
 +
** Korrektur bei der Berechnung der verwendeten Tenants
 +
 +
== Version 5.2.0-V20250526 ==
 +
 +
* Grid:
 +
** erster neu erstellter Satz in einem leeren Grid wird nun sofort angezeigt
 +
** in einem "scroll to Bottom" Grid wird nicht gescrollt, wenn eine Zeile markiert ist.
  
 
== Version 5.2.0-V202504 ==
 
== Version 5.2.0-V202504 ==
Line 20: Line 41:
 
* '''Änderung bei Anwendungsstart''': die Initialisierung der persistenceUnit "configurationData" wird vor allen anderen ausgeführt, damit die weiteren Initialisierungen auf die Systemkonfiguration zugreifen können.<br>Nach dem ersten Systemstart können die zu verwendenden Tenants in der Systemkonfiguration eingestellt werden. Die Anwendung muss dann nochmals gestartet werden.
 
* '''Änderung bei Anwendungsstart''': die Initialisierung der persistenceUnit "configurationData" wird vor allen anderen ausgeführt, damit die weiteren Initialisierungen auf die Systemkonfiguration zugreifen können.<br>Nach dem ersten Systemstart können die zu verwendenden Tenants in der Systemkonfiguration eingestellt werden. Die Anwendung muss dann nochmals gestartet werden.
  
*
+
* '''Änderung bei Benutzerlogin''': auf dem Loginschirm wird, sofern Tenants verwendet werden, bei einem Benutzer, der für mehr als einen Tenant berechtigt ist, eine Auswahlbox für die berechtigten Tenants angeboten. Vor dem Login kann der entsprechende Tenant ausgewählt werden.
  
 
== Version 5.1.0-V20250201 ==
 
== Version 5.1.0-V20250201 ==

Latest revision as of 06:58, 5 June 2025


--> zurück zu Releasenotes

Version 5.2.0-V20250604

  • Entity-Modellierung:
    • Spaltenlängendefinition über Property z.B. name="length" value="20"
  • Statemachine-Laufzeit:
    • Einführung des Konfigurationsschalters "ApplicationContext" / "statemachineFireAsync-DataControl" mit Defaultwert "true"
      Mit dem Schalter kann der Ablauf der Statemachine von asynchroner Dateneventverarbeitung ( default, wie bisher ) auf synchrone Eventberarbeitung umgestellt werden.
    • Einführung des Konfigurationsschalters "ApplicationContext" / "abstractStatemachine-ProcessEventInQueue" mit Defaultwert "true"
      Mit den Schalter kann der Ablauf der Statemachine Eventverarbeitung von asynchron ( default ) auf synchron umgestellt werden. Bei synchroner Verarbeitung wirkt die Verarbeitung von Tastatureingaben unter Umständen blockierend auf das Frontend, was die Reaktion der Anwendung auf Benutzereingaben verlangsamen kann.
  • Postupdateservice:
    • Entfernung des Servicebindings für den Persistenceservice, stattdessen Benutzung von PersistenceServiceBinder.waitForPersistenceService() zur Prüfung, ob der PersistenceService verfügbar ist.
      Ziel: Vermeidung von Deadlock Situationen beim Anwendungsstart
  • Datainterchange:
    • beim Start wird nun auf den PersistenceService gewartet, nicht nur auf den ConfgurationService.
      Ziel: Vermeidung von Deadlock Situationen beim Anwendungsstart
  • Mandantenfähigkeit:
    • Korrektur bei der Berechnung der verwendeten Tenants

Version 5.2.0-V20250526

  • Grid:
    • erster neu erstellter Satz in einem leeren Grid wird nun sofort angezeigt
    • in einem "scroll to Bottom" Grid wird nicht gescrollt, wenn eine Zeile markiert ist.

Version 5.2.0-V202504

  • Mandantenfähigkeit (multitenancy): Mit der Softwarefactory besteht nun die Möglichkeit, Anwendungen so zu bauen, dass diese Mandantenfähig sind.
    Die Mandantenfähigkeit wird auf Basis von mandantenspezifischen Tabellen implementiert. Dies kann durch zwei unterschiedliche Verfahren erreicht werden: mandantenbezogene Tabellennamen oder Schemata.
    Für die Benutzer der Anwendung wird dann bei der Anmeldung festgelegt, für welchen Mandanten die Anmeldung erfolgt. Dazu werden die zulässigen Mandanten für den Benutzer in der Benutzerverwaltung hinterlegt.
    • Erweiterung org.eclipse.osbp.production.prefs: Für die Persistenceunit kann angegeben werden, welche Tenants verwendet werden. z.B.
      persistenceUnit/businessdata/tenants=COMPEX,COMPEX_001,COMPEX_002

    • Erweiterung entity Modell: es gibt neue Schlüsselworte
       multitenant [ tableBased | schemaBased ] entity { ... }
      
      Hierdurch wird grundsätzlich die mulitenancy eingeschaltet und der Typ festgelegt.

    • Erweiterung Systemkonfiguration: für jede multitenant Tabelle wird in der Systemkonfiguration ein String-Parameter eingetragen. Gruppe Multitenancy, Schlüssel eclipselink.tenant-id.<tablename>. Wert: #TENANT#. Mit #TENANT# wird festgelegt, dass die Tabelle mandantenabhängig ist. Soll immer derselbe Mandant verwendet werden, so muss dieser hier eingetragen werden. Die Anwendung muss einmal gestartet werden, um die Einträge anzulegen. Dann können die Einstellungen verändert werden. Nach einer Änderung ist ein Neustart der Anwendung notwendig.

    • Erweiterung Benutzerkonfiguration: Einem Benutzer oder einer Benutzergruppe kann nun ein Tenant oder mehrere Tenants zugeordnet werden, für die der Benutzer berechtigt ist. Damit wird der Benutzer einem oder mehreren Mandanten zugeordnet.

    • Erweiterung Datenaustausch:
      • Export durch zeitgesteuerte Jobs: Für jeden definierten Tenant wird ein eigener Job konfiguriert. Dazu wird der Tenant in der Jobkonfiguration eingetragen.

      • Import: Für jeden Tenant wird ein eigener Import Watcher erzeugt. Das für den Tenant verwendete Importverzeichnis ergibt sich aus dem Importverzeichnis + "/#TENANT#. #TENANT# wird durch die konfigurierten Tenants ersetzt.
        z.B. C:\OS.pos\import\COMPEX_001 und C:\OS.pos\import\COMPEX_001.

    • Erweiterung Login: beim Login wird für den Fall, dass für einen Benutzer mehrere Tenants konfiguriert sind, eine Auswahlbox für den zu verwendenden Tenant eingeblendet.
      Falls nur ein Tenant zugeordnet ist, wird dieser automatisch verwendet.

  • Änderung bei Anwendungsstart: die Initialisierung der persistenceUnit "configurationData" wird vor allen anderen ausgeführt, damit die weiteren Initialisierungen auf die Systemkonfiguration zugreifen können.
    Nach dem ersten Systemstart können die zu verwendenden Tenants in der Systemkonfiguration eingestellt werden. Die Anwendung muss dann nochmals gestartet werden.
  • Änderung bei Benutzerlogin: auf dem Loginschirm wird, sofern Tenants verwendet werden, bei einem Benutzer, der für mehr als einen Tenant berechtigt ist, eine Auswahlbox für die berechtigten Tenants angeboten. Vor dem Login kann der entsprechende Tenant ausgewählt werden.

Version 5.1.0-V20250201

  • Berichte:
    • Verhindern der Berichtsanzeige, wenn eine Auswahl in einer Tabelle erwartet wird, diese jedoch nicht vorliegt.