Die jüngsten Entwicklungen in der Apache OFBiz Community

Willkommen zu unserer monatlichen Vorstellung aller OFBiz News. Dieses Mal können wir wieder Neuigkeiten bzgl. Java Open JDK & Java 8 präsentieren. Des weiteren können wir über ein neues Features berichten, mit dem Jobs priorisiert werden können. Natürlich präsentieren wir wieder eine strukturierte Auflistung der im OFBiz eingegangenen Commits.

Support von Java Open JDK und Java 8

Im Blogeintrag vom Februar erwähnten wir, dass die OFBiz Community sich dafür entschieden hat die Versionen 17.12 (nicht veröffentlicht) weiterhin mit Java 8 zu bestücken und die Versionen 18.12 (nicht veröffentlicht) sowie den Trunk mit der OpenJDK Variante der Java Version 11 zu kombinieren. Auf Grund von aktuellen Diskussionen wurde nun entschieden, dass Version 18.12 und Trunk weiterhin ausschließlich mit Java 8 laufen sollen. Dabei ist zu beachten, dass Adopt Open JDK 8 LTS mindestens bis zum September 2023 Support anbietet. Es soll nur eine Java Version angeboten werden, damit Nutzer ausreichend Zeit habe ausführlich Codeanpassungen vornehmen zu können. Es wird jedoch weiter daran gearbeitet die Migration der Java Version 11 vorzubereiten.

Wenn sie mehr zu diesem Thema erfahren möchten, können Sie sich die entsprechende E-Mail Diskussion anschauen.

Wir bedanken uns bei Jacques, Scott, Michael, Taher, Mathieu, Pierre, Jim und allen anderen Entwicklern die in diesem Thema involviert sind.

Priorisierung von Jobs

Die Priorisierung von Jobs erlaubt es Jobs so zu priorisieren, sodass diese anhand einer Liste abgearbeitet werden. Damit lässt sich z.B. einem Job eine Priorisierung zuteilen, sodass dieser in der Liste vor den normalen Jobs abgearbeitet wird. Dieses Feature ist nun im Trunk verfügbar und wird in zukünftigen Veröffentlichungen bereitgestellt.

Wenn Sie sich zu diesem Thema mehr informieren möchten, können Sie sich das entsprechende Jira Ticket OFBIZ-10865 oder die E-Mail Diskussion ansehen.

Wir bedanken uns bei Scott Gray, der der Author dieses Themas ist und viel Arbeit diesbezüglich leistete. Wir bedanken uns aber auch bei allen anderen Entwicklern, die an diesem Feature mitgearbeitet haben.

Die Erstellung von Barcodes nutzt nun code128 statt code39

Es war so, dass OFBiz code39 zu Erstellung von Barcodes genutzt hat. Das Problem war jedoch, dass im code39 nur Buchstaben von A bis Z, Ganzzahlen und die folgenden speziellen Ausdrücke: – “. $ % + – / *” verwendet werden konnten. Um die Auswahl der Ausdrücke zu erweitern, wird nun code128 verwendet. Einige Vorteile sind:

  1. Es werden alle 128 ASCII Symbole unterstützt
  2. Es ist prägnanter und platzeffizienter
  3. Der Sicherheitsaspekt wird erhöht

Wenn Sie sich mehr zu diesem Thema informieren möchten, können Sie sich das Jira Ticket OFBIZ-10896 oder die E-Mail Diskussion anschauen.

Wir bedanken uns bei Initiator dieses Themas, Pawan Verma. Zu dem Bedanken wir uns bei allen Entwicklern, die Zeit und Mühen in dieses Feature investiert haben.

Der Status des Familienstandes wird nun durch Enumeration-Objekte verarbeitet

Derzeit ist der Familienstand nur ein binärer Parameter ‚Y‘ oder ‚N‘. Durch die OFBiz Community wurde der Vorschlag gemacht, dass dies nicht ausreichend ist und nun die Status: verheiratet, verwitwet, getrennt, geschieden und alleinstehend bereitgestellt werden.

Wenn Sie weitere Informationen diesbezüglich erhalten möchten, können Sie sich das entsprechende Jira Ticket OFBIZ-10921 oder auch die E-Mail Diskussion anschauen.

Wir bedanken uns bei bei Suraj Khurana für das Einleiten dieses Features und bei allen anderen Entwicklern, die hier mitgearbeitet haben.

OFBiz Statistiken

Statistiken bzgl. des OFBiz werden durch die Apache Kibbles Demo Instanz aufgezeichnet. Im folgenden werden wir einige Highlights des letzten Monats präsentieren:

  • JIRA Fehler Tracker: 105 Fehler wurden veröffentlicht und 71 Fehler wurden behoben (15 verschiedene Personen haben geholfen, diese Fehler zu beheben)
  • Code Veränderungen und Commit Aktivität:
    • Framework: 150 Commits, die 11,098 Zeilen des Codes verändert haben (13 Committer waren aktiv)
    • Plugins: 48 Commits, die 782 Zeilen des Codes verändert haben (5 Committer waren aktiv)
  • Mailing Liste:
    • Dev: 219 E-Mails wurden versendet und 41 Themen diskutiert (36 verschiedene Personen)
    • User: 146 E-Mails wurden versendet und 56 Themen diskutiert (40 verschiedene Personen)

Neue Funktionen und Verbesserungen

Funktionale Erweiterungung und Verbesserungen zudem Updates von eingebundenen Libraries dritter und Überarbeitung des Sourcecodes:

Framework

  • Fügt die Möglichkeit hinzu Jobs Prioritäten zuzuschreiben, sodass diese der Wichtigkeit nach ausgeführt werden. (OFBIZ-10865)
  • Liefert die Möglichkeit Absätze einer Invoice zu bearbeiten bzw. zu entfernen. (OFBIZ-9290)
  • Entfernt die ungenutzte private Klasse ‘UnsupportedClassConverter’. (OFBIZ-10908)
  • Entfernt redundante Nullchecks. (OFBIZ-10911)
  • Entfernt die private Klasse ‘CreateTableCallable’. (OFBIZ-10912)
  • Fügt in Objekte der IO-Dateien try-with-resources hinzu. (OFBIZ-9855)
  • Liefert französische Labels für CommonImport und CommonImportExport. (r1857335)
  • Verbessert die ObjectInputStream-Klasse. (OFBIZ-10837)
  • Entfernt E-Commerce Links aus vielen Modulen. (OFBIZ-9241)
  • Konvertiert den Service createMarketingCampaignRole zu einem ‚entity-auto‘-Service. (OFBIZ-9551)
  • Liefert eine fehlende Berechtigungsüberprüfung in MarketingCampaignRole im Update-, Expire- und Deleteservice. (r1857547)
  • Updatet build.gradle auf die aktuellen Abhängigkeiten. (OFBIZ-10213)
  • Verschönert die DBCPConnectionFactory. Statt der veralteten Methode ’setEnableAutoCommitOnReturn‘ wird nun die Methode ’setAutoCommitOnReturn‘ verwendet. (OFBIZ-10935)
  • Entfernt redundante Argumente in Konstruktoren. (OFBIZ-10937)
  • Entfernt nicht notwendige Exception De­kla­ra­ti­onen in ‘ContainerException’. (OFBIZ-10938)
  • Verbessert die Überprüfung von Maps auf Gleichheit in ‘MultivaluedMapContextTests’. (r1857958)
  • Verbessert Javacode, indem ‘contains’ und ‘containsInAnyOrder’ – wenn möglich – verwendet wird. (OFBIZ-10941)
  • Entfernt überflüssige Semikolons aus Javacode. (OFBIZ-10936)
  • Liefert die Möglichkeit auf der Bestellübersichtsseite die Lieferoptionen zu ändern. (OFBIZ-5401)
  • Verbessert den PaymentGatewayServices, indem Mengenvariablen mittels ObjectType.simpleTypeConvert konvertiert werden. (OFBIZ-10811)
  • Verbessert die Sortierung der aufgelisteten glAccountIds im Screen ‚AddFinAccountTrans‘, indem der accountCode verwendet wird. (OFBIZ-10846)
  • Verbessert die Darstellung des Submit-Buttons, der nun nicht mehr im Angebotspreis-Screen dargestellt wird, wenn kein Objekte vorhanden sind. (OFBIZ-10627)
  • Verbessert die Erstellung von Barcodes, indem code128 statt code39 verwendet wird. (OFBIZ-10896)
  • Liefert einen Unit-Test für der Service ‚createInvoiceContent‘. (OFBIZ-8932)
  • Verbessert die Auswahl des Familienstandes einer Person, indem mehr Werte als ‚Y‘ und ‚N‘ (verheiratet) auswählbar werden. (OFBIZ-10921)
  • Liefert einen Unit-Test für der Service ’setPaymentStatus‘. (OFBIZ-9084)
  • Liefert Unterstützung bei der Planung der Verteilung von Versandgütern. (OFBIZ-10518)
  • Liefert einen Unit-Test für der Service ‚quickSendPayment‘. (OFBIZ-9086)
  • Sorgt dafür, dass ‚Create‘ statt ‚Create New‘ in diversen Screens sämtlicher Komponenten genutzt wird. (OFBIZ-9905)
  • Entfernt überflüssige imports. (r1857897)
  • Entfertn ungenutzte lokale Variablen. (r1858293)
  • Verbessert die Nutzung der ‘@Override’ Notation. (OFBIZ-10939)
  • Liefert die Möglichkeit zur zeitlichen Beschränkung von ‚Product Configuration Options‘. (OFBIZ-10950)
  • Verschiebt den Seitentitel des Accounting-Screens, um die Lesbarkeit zu erhöhen. (OFBIZ-10949)
  • Verbessert die Darstellung von ‚createPriceCond‘. Gleiche Werte wurden im Dropdownmenu doppelt dargestellt. (OFBIZ-10660)
  • Verbessert die Finanzkonten-Kontainerstruktur im Accounting-Modul. (OFBIZ-10813)
  • Verbesser die deutsche Übersetztung der HR-Komponente. (OFBIZ-10698)
  • Entfernt ungenutzte Typenparameter. (OFBIZ-10909)
  • Entfernt obsolete ‘java.util.TreeMap’ Importe. (r1857083)
  • Entfernt redundante Interface-De­kla­ra­ti­onen. (OFBIZ-10910)
  • Liefert einen Konverter für den StringWrapper und den StringBuffer. (OFBIZ-5028)
  • Updatet durch das Release 18.12 entstandenen veralteten Code. (OFBIZ-10761)
  • Updatet Tomcat – veranlasst durch CVE-2019-0232 – auf die Version 9.0.18. (OFBIZ-10920)

Plugins

  • Entfernt überflüssige Semikolons aus Javacode. (OFBIZ-10936)
  • Verbessert die Erstellung von Barcodes, indem code128 statt code39 verwendet wird. ((OFBIZ-10896)
  • Benennt die Komponente der SMS-Schnittstelle um. (OFBIZ-10973)
  • Updatet Tomcat – veranlasst durch CVE-2019-0232 – auf die Version 9.0.18. (OFBIZ-10920)

Bugfixes

Funktionale und technische Bugfixes:

Framework

  • Fixt: Wenn Bestellungen miteinander verknüpft werden, verlieren diese Informationen der Relation selbst. (OFBIZ-10926)
  • Fixt: Im ‚MapContext‘ bleibt die Reihenfolge der Objekt der ‘LinkedHashMap’ nicht erhalten. (OFBIZ-10933)
  • Fixt: Wenn ein Produkt dem Warenkorb zugeschrieben wird, verliet dieses die orderItemAttributes. (OFBIZ-10906)
  • Entfernt die Raw-Type-Cast-Warnung in ‘ObjectType’. (r1857082)
  • Fixt: Ein neuer Terminal scrollt automatisch bei nichtendenden Task nach unten. (OFBIZ-10915)
  • Fixt: Während man per klick neue Angebote erstellt, werden Fehlermeldungen angezeigt. (OFBIZ-10882)
  • Fixt: Der ’schnell hinzufügen‘ Button, der den Einkaufswagen verlinkt, funktioniert nicht. (OFBIZ-9908)
  • Fixt: Zeitbezogene Ausdrücke liefern teilweise fehlerhafte Prognosen. (OFBIZ-10875)
  • Fixt: Die Task ‘./gradlew generateOfbizDocumentation’ schlägt unter Gradle 5.0 fehl. (OFBIZ-10693)
  • Fixt: Potenzielle NullPointerException in DataEvents#serveObjectData. (r1857456)
  • Fixt: Falsche Berechtigungsüberprüfung in ProductScreens#FindProduct. (OFBIZ-10925)
  • Fixt: Das duplizieren eines ShoppingCartItems, dupliziert nicht die OrderItemAttributes. (OFBIZ-10929)
  • Stores können nun unter ofbizsetup/control/updateProductStore angepasst werden. (OFBIZ-10930)
  • Fixt: Durch das Updaten eines OrderItems verliert dieses die supplierProductId. (OFBIZ-10932)
  • Fixt: Wenn Prozess des Abbruches einer Auswahlliste fehl schlägt, sollte das Listenelement nicht mit ‚cancel‘ deklariert werden. (OFBIZ-4690)
  • Fixt: Die Löschung des Personenstatus eines Nutzers sorgt nicht dafür, dass die User-Session gesäubert wird. (OFBIZ-10942)
  • Fixt: Ein Form vom Typ enctype=multipart/form-data verhindert, dass Parameter beim darauffolgenen Aufruf verwendet werden können. (OFBIZ-10833)
  • Fixt: Im Retourenschein wird bei einer Transaktion die Kundenentität mit ‚organizationPartyId‘ betitelt. (OFBIZ-10856)
  • Fixt: Das Hinzufügen eines Umfrageproduktes zum Einkaufswagen funktioniert im Screen der Auftragserfassung nicht. (OFBIZ-10735)
  • Fixt: Nicht ausreichend gute Darstellung des Produktnamens von Entitäten im Textinputfeld. (OFBIZ-10356)
  • Fixt: Der createProductFeature-Service ignoriert die übergebene productFeatureId. (OFBIZ-10958)
  • Fixt: Die Registrierung virtueller Hosts mit gleichem Mount-Points schlägt fehl. (OFBIZ-10765)
  • Fixt: Der OWASP-Sanitizer zerstört richtig gerenderte Abschitte im HTML-Code. (OFBIZ-10187)

Plugins

  • Fixt: Das Feld zur Mengenangabe ist auf der Produkt-Detail-Seite editierbar. (OFBIZ-10663)
  • Fixt: UI Fehler auf der E-Commerce Startseite. (OFBIZ-10849)
  • Fixt: Die Neuberechnung des Wertes eines Einkaufswagens liefert eine Fehlermeldung. (OFBIZ-10852)
  • Fixt: Es ist nicht möglich im E-Commerce Shop ein neues Angebot vom Einkaufswagen zu erzeugen. (OFBIZ-10886)
  • Fixt: Während man per klick neue Angebote erstellt, werden Fehlermeldungen angezeigt. (OFBIZ-10882)
  • Sorgt dafür, dass bzgl der birt-Komponente im HTML-Code die Notation dem konventionellen Schema entspricht. (OFBIZ-10940)
  • Fixt: Beim erstellen von Projekten kann nicht der erwartete Start- und Endzeitpunkt konfiguriert werden. (OFBIZ-10927)
  • Fixt: FindTask erlaubt nicht die Auswahl aller bereitgestellten Konfigurationsmöglichkeiten. (OFBIZ-10913)
  • Fixt: Es fehlen Shortcuts im WebPOS. (OFBIZ-10961)
  • Fixt: Der entfernen-Button der Einkaufsliste ist ohne Funktion. (OFBIZ-10967)

Dokumentationen

Framework

  • Liefert einen Link zur adoptopenjdk in der README.adoc. (OFBIZ-10757)