Developer Changelog

Diese Seite zeigt Änderungen, die in den Releases der einzelnen Versionen enthalten sind und für BPC Modulentwickler relevant sind.

BPC 4.1.13

Release Datum: 2024-06-04

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.12

Release Datum: 2024-05-06

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

BPC 4.1.11

Release Datum: 2024-04-08

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Verbesserungen

  • Events beim Wiederherstellen von Indices BPC-8461

    BPC Module können nun über Events auf Wiederhergestellte Indices reagieren.

    Siehe auch Backup von Indices

    Betrifft: BPC Core | Dokumentation

  • Automatische Index Erstellung für managed Indices, während des Schreibens, wird vermieden BPC-8462

    Wenn ein managed Index während bzw. kurz vor einem Schreibzugriff gelöscht wurde, dann wurde er automatisch angelegt. Dabei wurde jedoch die allgemeine Index Konfiguration nicht berücksichtigt. Dieses Verhalten wird nun vermieden.

    Siehe auch Anlegen von Indices

    Betrifft: BPC Core | Forms | Dokumentation

Dokumentation

BPC 4.1.10

Release Datum: 2024-03-11

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

Verbesserungen

  • Kompilierung nach Java 17 BPC-8333

    Durch diese Änderung ist der Einsatz von Java 17 nun verpflichtend und der Java 11 Support ist beendet.

  • Artifactory npm Abhängigkeiten entfernen BPC-8334

    Nur relevant für BPC Modulentwickler

    BPC Module haben zuvor das ExtJS Framework entweder über unser eigenes NPM-Repository bezogen oder es musste separat bereitgestellt werden. Nun kann ExtJS via npm direkt aus Bitbucket bezogen werden. Dafür muss in der package.json die Dependency "@virtimo/sencha-extjs-sdk": "git+ssh://git@bitbucket.org/virtimo/sencha-extjs-sdk#c728d7e2" gesetzt werden. Dabei ist zu beachten, dass der Teil am Ende #c728d7e2 ` einer GIT Commit ID entspricht. Diese sollte so gewählt werden, dass diese zum aktuellen Branch bzw. BPC Version passt. `c728d7e2 entspricht dem aktuellen BPC 4.1 Branch "support/4.1.x". Man kann alternativ auch den Branch-Namen angeben. Dies wird jedoch nicht empfohlen, da sich zeigt, dass npm in dem Fall keine neueren Commits, bei einem Update, berücksichtigt.

    Nach dem Eintragen der Dependency kann der PFad zum ExtJS Framework in der Datei workspace.json wie folgt gesetzt werden:

    ...
        "frameworks": {
            "ext": {
                "path":"node_modules/@virtimo/sencha-extjs-sdk/ext"
            }
        },
    ...

    Ein Verzeichnis oder Symlink "ext" ist nicht mehr nötig.

BPC 4.1.9

Release Datum: 2023-12-15

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Verbesserungen

  • REST /accessible/{instanceId} Funktionalität auch als OSGi Service bereitstellen BPC-8313

    Betrifft: Process Monitoring

BPC 4.1.8

Release Datum: 2023-11-21

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

BPC 4.1.7

Release Datum: 2023-10-23

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | OpenSearch | OpenSearch Plugin

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es handelt sich um empfohlene Handlungsanweisungen, die bei einem Update angeraten werden.

Neue Funktionen

Interne Abhängigkeiten / Dependency Updates

BPC 4.1.6

Release Datum: 2023-09-25

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

BPC 4.1.5

Release Datum: 2023-08-28

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Verbesserungen

  • Verzögertes Hinzufügen von Plugins zu Hooks BPC-8188

    Betrifft: BPC Core

BPC 4.1.4

Release Datum: 2023-08-14

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Betrifft nur Modulentwickler Bei der Verwendung des BPC JsonEditors (xtype bpcJsonField bzw. bpcCodeEditorWindow.json) wird das optionale JSON Schema nun via schema und nicht mehr per jsonSchema übergeben.

    Betrifft: BPC Core | BPC Core

Neue Funktionen

  • JSON Schema vom Backend laden und zur Validierung von JSON Settings verwenden BPC-6607

    Betrifft nur Modulentwickler Bei der Verwendung des BPC JsonEditors (xtype bpcJsonField bzw. bpcCodeEditorWindow.json) wird das optionale JSON Schema nun via schema und nicht mehr per jsonSchema übergeben.

    Betrifft: BPC Core | BPC Core

BPC 4.1.3

Release Datum: 2023-07-03

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Neue Funktionen

  • Custom OpenSearch Client via BPC OS Service BPC-8036

    Betrifft: BPC Core |

BPC 4.1.2

Release Datum: 2023-06-05

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

Verbesserungen

BPC 4.1.1

Release Datum: 2023-05-08

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module

BPC 4.1.0

Release Datum: 2023-03-27

Mit diesem Update müssen folgende Komponenten aktualisiert werden: BPC Module | Karaf | OpenSearch

Breaking Changes

Sie sollten die Beschreibungen in diesem Abschnitt genau lesen. Es können Handlungsanweisungen enthalten sein, die Sie für ein Update befolgen müssen.

  • Umstellung auf OpenSearch BPC-5819

  • Update Karaf BPC-6709

    Für dieses BPC Update ist ein Update des Karaf verpflichtend.

    Kunden Themes und eigene BPC Module müssen so angepasst werden, dass der Web-ContextPath und Webapp-Context in der Manifest-Datei zwingend mit einem / beginnen. Um dies zu erreichen, kann in der Regel die Datei build.gradle angepasst werden. Ein Beispiel kann hier eingesehen werden.

    In der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg wurden Parameter umbenannt:

    org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password
    org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
  • Unsere Backend API als Maven Modul BPC-6872

    Wir mussten einige Interfaces/Klassen aus dem Paket de.virtimo.bpc.core in das Paket de.virtimo.bpc.api verschieben.

    Wenn Sie Ihren Code für 4.0.8 oder 4.1 kompilieren und Fehler erhalten, dann passen Sie bitte die Java imports an. In den meisten Fällen müssen Sie nur .core. durch .api. ersetzen. Ansonsten löschen Sie den Import und lassen Sie die IDE ihn für Sie finden.

    Und bitte stellen Sie sicher, dass Sie keine <Import-Package> Anweisungen in Ihrer pom.xml zu den folgenden Paketen haben:

    • de.virtimo.bpc.core.exception

    • de.virtimo.bpc.auth.*

    • de.virtimo.bpc.core.es.querybuilder

  • Package der Util-Klassen aus dem 'util'-Modul anpassen BPC-6886

    Falls BPC Core utils Klassen verwendet wurden.

    Bitte die Java import Statements anpassen

    • ALT : de.virtimo.bpc.core.utils.*

    • NEU : de.virtimo.bpc.util.*

    Un die pom.xml (<Import-Package>)

    • ALT : de.virtimo.bpc.core.utils;version="[4.0,5.0)",

    • NEU : de.virtimo.bpc.util;version="[4.0,5.0)",

  • BpcTrustStoreUtil ins util-Modul verschieben BPC-6924

    Falls folgendes verwendet wurde

    de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…​)

    dann Bitte ersetzen durch

    de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…​)

    Betrifft: BPC Core

  • Umbenennung von Attributen im Context der Plugin Hooks BPC-7379

    Für BPC Entwickler

    Plugins erhalten beim Aufruf ein context übergeben. Zwei Attribute im Objekt context wurden umbenannt. Aus moduleId wurde baseModuleId und aus instanceId wurde moduleId.

  • Notwendige Anpassung der Backend-Module bei Verwendung der BPC Annotations: @BpcUserSessionRequired, …​ BPC-7384

    Relevant für BPC Modul Entwickler / Important for BPC Developers

    This is only necessary, when you use one of the following annotations in your backend modules/bundles:

    • @BpcUserSessionRequired

    • @BpcRoleRequired

    • @BpcRightRequired

    • @BpcRoleOrRightRequired

    • @BpcHardcodedBasicAuthentication

    If this is the case, then please update your resources/OSGI-INF/blueprint/context.xml

    and replace

    <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker"/>

    with

    <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown">
       <argument ref="blueprintBundleContext"/>
    </bean>
  • Content Security Policy BPC-7443

    Es wird eine Content Security Policy(CSP) per HTTP Header gesetzt. Dies kann Auswirkungen auf eigene Module, INUBIT WebApps oder integrierte Fremdanwendungen haben. Zum Anpassen der CSP siehe Content Security Policy

  • Apache CXF BPC-7546

    We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson in version 2.13.4. Now we ship Karaf with CXF 3.5.5, which provides Jackson in the version 2.14.1.

    Please update the CXF version (3.5.4 → 3.5.5) in your pom.xml. And more important is to update also the used Jackson version. For this check if you have an Import-Package statement for it. This must be added or adjusted when you use Jackson functionality like the ObjectMapper class.

    Replace

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.11.0,2.14.0)",
      ...
    </Import-Package>

    with

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
      ...
    </Import-Package>
  • ReplicationInfoService durch einen Endpunkt ersetzen BPC-7822

    Statusinformationen zur Replikation werden nicht mehr am Monitor angezeigt. Diese Statusinformationen werden in einem zukünftigen Release via Plugin nachgereicht.

  • Unser 'Checker' und 'BpcService' Interface verschieben BPC-6864

    Falls Sie Folgendes verwendet haben

    de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);

    dann verwenden Sie bitte

    de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);

    stattdessen.

    Betrifft: BPC Core

  • Core Module wie die Benutzerverwaltung funktionieren in Untermenüs der Navigation nicht BPC-7784

    Für BPC-Modulentwickler

    Es gab eine nicht dokumentierte Funktion, die global, an allen Komponenten mit dem Attribut targetModule, auf den Event click, reagiert. Dabei wurde der Wert von targetModule an die Methode BpcCommon.Api.showModule übergeben und hat so eine Navigation zu diesem Modul ausgelöst. Diese Funktion wurde nun entfernt. Wenn Sie das Attribut targetModule, z.B. an Buttons, zur Navigation genutzt haben, müssen Sie dies durch einen eigenen Handler, der nur Ihre Komponenten betrifft, einrichten.

    Betrifft: BPC Core

Neue Funktionen

  • BPC Sharing BPC-144

  • DynamicFieldLabel Plugin für Textfelder BPC-7815

    Für BPC Modulentwickler

    ExtJS Komponenten die das Mixin Ext.form.Labelable und dadurch die Attribute labelWidth und fieldLabel nutzen, können sich mit dem Plugin dynamisch die labelWidth anhand der tatsächlichen Textbreite setzen lassen.

    Beispiel
         {
             xtype     : "textfield",
             plugins   : ["bpcDynamicFieldLabel"],
             fieldLabel: "Label"
          }

    Bei Bedarf kann der zusätzliche Abstand mittels labelOffset am Plugin konfiguriert werden:

    Beispiel mit konfiguriertem labelOffset
         {
             xtype     : "textfield",
             plugins: {
                 bpcDynamicFieldLabel: {
                     labelOffset: 10
                 }
             },
             fieldLabel: "Label"
          }

    Betrifft: Dokumentation | BPC Core |

Verbesserungen

  • Unsere Backend API als Maven Modul BPC-6872

    Wir mussten einige Interfaces/Klassen aus dem Paket de.virtimo.bpc.core in das Paket de.virtimo.bpc.api verschieben.

    Wenn Sie Ihren Code für 4.0.8 oder 4.1 kompilieren und Fehler erhalten, dann passen Sie bitte die Java imports an. In den meisten Fällen müssen Sie nur .core. durch .api. ersetzen. Ansonsten löschen Sie den Import und lassen Sie die IDE ihn für Sie finden.

    Und bitte stellen Sie sicher, dass Sie keine <Import-Package> Anweisungen in Ihrer pom.xml zu den folgenden Paketen haben:

    • de.virtimo.bpc.core.exception

    • de.virtimo.bpc.auth.*

    • de.virtimo.bpc.core.es.querybuilder

  • Package der Util-Klassen aus dem 'util'-Modul anpassen BPC-6886

    Falls BPC Core utils Klassen verwendet wurden.

    Bitte die Java import Statements anpassen

    • ALT : de.virtimo.bpc.core.utils.*

    • NEU : de.virtimo.bpc.util.*

    Un die pom.xml (<Import-Package>)

    • ALT : de.virtimo.bpc.core.utils;version="[4.0,5.0)",

    • NEU : de.virtimo.bpc.util;version="[4.0,5.0)",

  • BpcTrustStoreUtil ins util-Modul verschieben BPC-6924

    Falls folgendes verwendet wurde

    de.virtimo.bpc.core.utils.BpcTrustStoreUtil.setTo(…​)

    dann Bitte ersetzen durch

    de.virtimo.bpc.util.BpcTrustStore.getInstance().setTo(…​)

    Betrifft: BPC Core

  • Umbenennung von Attributen im Context der Plugin Hooks BPC-7379

    Für BPC Entwickler

    Plugins erhalten beim Aufruf ein context übergeben. Zwei Attribute im Objekt context wurden umbenannt. Aus moduleId wurde baseModuleId und aus instanceId wurde moduleId.

  • ReplicationInfoService durch einen Endpunkt ersetzen BPC-7822

    Statusinformationen zur Replikation werden nicht mehr am Monitor angezeigt. Diese Statusinformationen werden in einem zukünftigen Release via Plugin nachgereicht.

  • Felder für Organisations-, Rollen-, Rechteauswahl soll Übersetzung von Werten in Basisklasse übernehmen BPC-7844

    Betrifft: Data Analysis | BPC Core

  • Unser 'Checker' und 'BpcService' Interface verschieben BPC-6864

    Falls Sie Folgendes verwendet haben

    de.virtimo.bpc.core.utils.ServiceUtil.unregisterService(bundleContext, ServiceRegistration, Class);

    dann verwenden Sie bitte

    de.virtimo.bpc.api.BpcService.unregister(bundleContext, ServiceRegistration, Class);

    stattdessen.

    Betrifft: BPC Core

Security

  • Content Security Policy BPC-7443

    Es wird eine Content Security Policy(CSP) per HTTP Header gesetzt. Dies kann Auswirkungen auf eigene Module, INUBIT WebApps oder integrierte Fremdanwendungen haben. Zum Anpassen der CSP siehe Content Security Policy

Bugs

  • Module im Status Failure nach Serverreboot oder Karaf Restart BPC-6587

    Für die BPC Backend Modul Entwickler. Bitte in der src/main/resources/OSGI-INF/blueprint/context.xml (falls verwendet; nicht extra anlegen) sicherstellen, dass der cxf:bus wie folgend gesetzt ist:

    <!-- BPC-6587 - org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://cxf.apache.org/transports/http -->
    <!-- It seems that when set it waits for CXF first. -->
    <!-- To get rid of the CXF loggings ... Karaf-Konsole: log:set ERROR org.apache.cxf -->
    <cxf:bus>
      <cxf:features>
        <cxf:logging />
      </cxf:features>
    </cxf:bus>
  • Core Module wie die Benutzerverwaltung funktionieren in Untermenüs der Navigation nicht BPC-7784

    Für BPC-Modulentwickler

    Es gab eine nicht dokumentierte Funktion, die global, an allen Komponenten mit dem Attribut targetModule, auf den Event click, reagiert. Dabei wurde der Wert von targetModule an die Methode BpcCommon.Api.showModule übergeben und hat so eine Navigation zu diesem Modul ausgelöst. Diese Funktion wurde nun entfernt. Wenn Sie das Attribut targetModule, z.B. an Buttons, zur Navigation genutzt haben, müssen Sie dies durch einen eigenen Handler, der nur Ihre Komponenten betrifft, einrichten.

    Betrifft: BPC Core

Interne Abhängigkeiten / Dependency Updates

  • Update Karaf BPC-6709

    Für dieses BPC Update ist ein Update des Karaf verpflichtend.

    Kunden Themes und eigene BPC Module müssen so angepasst werden, dass der Web-ContextPath und Webapp-Context in der Manifest-Datei zwingend mit einem / beginnen. Um dies zu erreichen, kann in der Regel die Datei build.gradle angepasst werden. Ein Beispiel kann hier eingesehen werden.

    In der Konfigurationsdatei [karaf]/etc/org.ops4j.pax.web.cfg wurden Parameter umbenannt:

    org.ops4j.pax.web.ssl.password -> org.ops4j.pax.web.ssl.keystore.password
    org.ops4j.pax.web.ssl.keypassword -> org.ops4j.pax.web.ssl.key.password
  • Apache CXF BPC-7546

    We used CXF version 3.5.4 in our previous Karaf releases. This CXF version provides Jackson in version 2.13.4. Now we ship Karaf with CXF 3.5.5, which provides Jackson in the version 2.14.1.

    Please update the CXF version (3.5.4 → 3.5.5) in your pom.xml. And more important is to update also the used Jackson version. For this check if you have an Import-Package statement for it. This must be added or adjusted when you use Jackson functionality like the ObjectMapper class.

    Replace

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.11.0,2.14.0)",
      ...
    </Import-Package>

    with

    <Import-Package>
      ...
      com.fasterxml.jackson.*;version="[2.13.4,2.15.0)",
      ...
    </Import-Package>
  • Update vibur-object-pool BPC-7697

    Betrifft: BPC Core

  • Update Jetbrains Annotations BPC-7698

    Betrifft: BPC Core

  • Update JUnit Jupiter BPC-7699

    Betrifft: BPC Core

  • Update Mockito BPC-7700

    Betrifft: BPC Core

  • Update json-schema-validator BPC-7701

    Betrifft: BPC Core

  • Update testcontainers BPC-7703

    Betrifft: BPC Core

  • Update json BPC-7704

    Betrifft: BPC Core

  • Update AssertJ Fluent Assertions BPC-7705

    Betrifft: BPC Core

  • Update Prometheus BPC-7706

    Betrifft: BPC Core

  • Update/Remove javaee-web-api BPC-7710

    Betrifft: BPC Core

Sonstiges

  • Umstellung auf OpenSearch BPC-5819

  • Notwendige Anpassung der Backend-Module bei Verwendung der BPC Annotations: @BpcUserSessionRequired, …​ BPC-7384

    Relevant für BPC Modul Entwickler / Important for BPC Developers

    This is only necessary, when you use one of the following annotations in your backend modules/bundles:

    • @BpcUserSessionRequired

    • @BpcRoleRequired

    • @BpcRightRequired

    • @BpcRoleOrRightRequired

    • @BpcHardcodedBasicAuthentication

    If this is the case, then please update your resources/OSGI-INF/blueprint/context.xml

    and replace

    <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker"/>

    with

    <bean id="bpcJAXRSInvoker" class="de.virtimo.bpc.jaxrs.BpcJAXRSInvoker" init-method="onStartup" destroy-method="onShutdown">
       <argument ref="blueprintBundleContext"/>
    </bean>