Neuigkeiten in der Apache OFBiz Community
Wir begrüßen Sie zu unserer monatlichen Vorstellung der Neuerungen des OFBiz. Es gibt eine neue Youtube-Playlist, Verbesserung in der Abwicklung von Bestellungen und Rücksendungen und natürlich wird eine Auflistung aller weiteren Verbesserungen präsentiert.
Anwendung des OWASP Dependency Check, wie es von Gradle empfohlen wurden
OWASP Dependency Check ist ein Tool, mit dem überprüft werden kann, ob die verwendeten Java Libraries Sicherheitslücken aufweisen. Dieses Tool wurde bereits verwendet, als OFBiz Ant zum builden des Projektes verwendet hat. Seit dem OFBiz durch Gradle gebuildet wird, werden sämtliche Libraries durch Gradle geladen und durch das OWASP-Dependency-Check-Plugin analysiert. Dadurch wurde es unmöglich alle Sicherheitslücken zu überprüfen. Des Weiteren weicht die traditionelle Variante der Einbindung von plugins durch ‚apply()‘ der neunen Variante, in der die Plugins im plugins{}-Block geladen werden.
Wenn Sie mehr zu diesem Thema erfahren möchten, schauen Sie sich bitte das entsprechende Jira-Ticket OFBIZ-10700 oder die E-Mail Diskussion an.
Wir bedanken uns bei Jacques Le Roux, Mathieu Lirzin, Shi Jinghai, Michael Brohl und allen weiteren Personen, die sich bei diesem Thema eingebracht haben.
Verbesserung des ’storeOrder‘ Service
Die derzeitige Implementierung des ’storeOrder‘ Services berücksichtigt nicht die OrderHeader Felder ‚priority‘ und ‚isRushOrder‘. Die OFBiz-Gemeinschaft hat nun entschieden, dass beide Felder optionale parameter repräsentieren, die nur dann gespeichert werden, wenn diese auch befüllt wurden.
Wenn Sie mehr zu diesem Thema erfahren möchten, schauen Sie sich bitte das entsprechende Jira-Ticket OFBIZ-10855 oder die E-Mail Diskussion an.
Wir bedanken uns bei Rishi Solanki, der dieses Thema aktiv einleitete. Zudem bedanken wir uns bei Ankush Upadhyay, Suraj Khurana und Swapnil M Mane, die tatkräftig an diesem Thema gearbeitet haben.
Verbesserung der Rücksendungen durch festlegung einer Erstattungsfrist
Im Moment lässt OFBiz es zu, dass Rücksendungen erfolgen können, bei denen nicht überprüft wird, wann die Bestellung getätigt wurde. Bestellungen können also nach Jahren zurückgeschickt werden. Der Anspruch ist nun, dass eine Rücksendung nur innerhalb einer bestimmten Frist erfolgen kann.
Derzeit müssen noch offenen Fragen zu diesem Thema disskutiert werden, die Sie in der entsprechenden E-Mail Diskussion einsehen können.
Wir bedanken uns zum einen bei Suraj Khurana, der dieses Thema einleitete und zum anderen bei allen weiteren Entwicklern, die ihr Zeit und Mühen in dieses Thema investiert haben.
Die Video-Serie der OFBiz Tutorials wurde aktualisiert
Damit der Informationsfluss bzgl. OFBiz weiter verbessert wird, wurde eine neue Video-Playlist erstellt. Highlights dieser Playlist sind:
- Einteilung der Videos in verschiedene Vorkenntnisstufen von Anfänger bis Experte
- Synchronisation mit dem OFBiz-Trunk
Die Idee hinter der Synchronisation ist die, dass die Videos immer mit dem aktuellen Trunk kompatible bleiben.
Wenn Sie mehr zu diesem Thema erfahren möchten, können Sie sich die E-Mail Diskussion oder die Youtube-Playlist per se ansehen.
Wir bedanken uns bei Pranay and Swapnil M Mane für die kontinuierliche Arbeit bzgl. dieses Themas.
Neue Funktionen und Verbesserungen
Funktionale Erweiterungung und Verbesserungen zudem Updates von eingebundenen Libraries dritter und Überarbeitung des Sourcecodes:
Framework
- Verbessert die Lesbarkeit des Gradle-Build-Skriptes. (OFBIZ-10695)
- Verbessert die Nutzung der Gradle Plugin DSL. (OFBIZ-10700)
- Verinfacht die Integrationstests. Es wird nun ein gemiensamer dispatch und delegator für die Tests genutzt. (OFBIZ-10723)
- Entfernt redundante Groovy-Base-Skript Nutzung der GroovyUtil.java Datei. (OFBIZ-10806)
- Vereinfacht ‘GroovyUtil#runScriptAtLocation’ und erweitert dies um ein javadoc. (OFBIZ-10807)
- Komprimiert die ‘serviceInvoker’ Methode der Groovy Engine. (OFBIZ-10808)
- Vereinfacht ‘AbstractEngine#getLocation’ und erweitert dies um ein entsprechendes javadoc. (OFBIZ-10809)
- Verbessert die ‘AbstractEngine#createLocationMap’. (OFBIZ-10810)
- Schreibt ‘GroovyUtil#parseClass’ um. (OFBIZ-10822)
- Entfernt die ungenutzte Klasse ‘GroovyUtil#loadClass’. (OFBIZ-10820)
- Sorgt dafür, dass ‘FlexibleLocation#resolveLocation(String)’ statt FlexibleLocation#resolveLocation(String, ClassLoader) genutzt wird. (OFBIZ-10821)
- Verbietet die Erweiterungen der Skript-Helper Verknüpfungen. (OFBIZ-10825)
- Schreibt den ‘ComponentConfig’ Constructor um. (OFBIZ-10829)
- Ersetzt den Aufruf ‚document.write()‘ mit sicheren Alternativen. (OFBIZ-10759)
- Verbessert die ObjectInputStream Klasse durch hinzufügen von FlexibleStringExpander, sun.util.calendar.ZoneInfo, java.sql.Timestamp und java.util.Date. (OFBIZ-10837)
- Verbessert den Store-Order-Service. Die UtilValidate Method wird nun statt einem Null-Check genutzt. (r1855307)
- Erweitert das System und die Funktionalität einer SMS Schnittstellen Integration. (OFBIZ-10457)
- Fügt einen Zeilentrenner während der Erstellung des svn/git Info-Footer ein. (r1855501)
- Vereinfacht das build-Skript durch die einmalige Nutzung von ‘jvmArguments’. (r1855669)
- Sammelt die javadoc Optionen in einem Block. (r1855675)
- Sammelt die Definition der jar-Manifest Attribute. (r1855676)
- Liefert vielfachte Argumente der ‘Exec#args’ Methode. (r1855678)
- Verändert die build.gradle. Die JVM Argumente des ‘createOfbizCommandTask’ werden nun direkt verwendet. (r1855795)
- Verändert die build.gradle Datei durch das Umschreiben des ‘createOfbizCommandTask’. Der Debug Mode ist nun deaktiviert, bis dies ad-hoc überschrieben wird. (r1855796)
- Verändert den Archivnamen des Ergebnisses des ‘:jar’ task aus der build.gradle Datei. Die ‘createOfbizCommandTask’ Methode referenziert nun ‘outputs’ Property statt den hard-coded jar-Dateinamen. (r1855797)
- Verändert die build.gradle Datei durch die Verschachtelung der regexps der ‘createOfbizCommandTask’. (r1855798)
- Senkt die Dauer der Berrechnung der Webtools Seite. (OFBIZ-10716)
- Verbessert die Gestaltungsmöglichkeit der Fehlerberichtseite. (OFBIZ-10753)
- Erwitert das System um die ‘:distTar’ und ‘:distZip’ Gradle Tasks. (OFBIZ-10866)
- Verbessert die Nutzung der Gradle Funktionsaufrufe. Die Abhängigkeitstypen ‚compile’, ‘testCompile’ und ‘runtime’ werden durch die neunen Typen ‘implementation’, ‘testImplementation’ und ‘runtimeOnly’ ersetzt. (OFBIZ-10871)
- Räumt die ‘getJarManifestClasspathForCurrentOs’ Methode auf. (OFBIZ-10872)
- Fügt die Möglichkeit bei, den stackTrace beim Rendern einer ftl-Datei zu konfigurieren. (OFBIZ-10817)
- Erweitert das Entity ‚ReturnType‘ um die Parameter ‚parentTypeId‘ und ‚hasTable‘. (OFBIZ-10868)
- Verbessert einen Tippfehler aus den ‚GiftCertificate‘ UiLabels. (OFBIZ-10861)
- Setzt bei der Nutzung oder Erstellung eines Gutscheines die OrderId in die FinAccountTrans. (OFBIZ-10867)
- Verändert die Klasse GiftCertificateServices.java durch einen asynchronen Aufruf des E-Mail Services, damit Rollbacks vermieden werden. (OFBIZ-10860)
- Ersetzt inline js mit externen js im renderDropDownField Macro. (OFBIZ-9849)
- Dreht die Logik der ftpNotificationEnabled Testbedingung um. (OFBIZ-10245)
- Schreibt die Task ‘getDirectoryInActiveComponentsIfExists’ des build-Skripts um. (OFBIZ-10695)
- Bereitet das System auf das JDK11 Update vor. Dazu werden die folgenden Elemente bearbeitet: Ersetzt Class::newInstance; Entfernt die veraltete Methode Object::finalize. (OFBIZ-10757)
- Modifiziert das Log-Level der internen sso Benachrichtigung von ‚info‘ auf ‚verbose‘. (r1854979)
- Erweitert das System um einen Unit-Test des Services – createAcctgTrans. (OFBIZ-1463)
- Setzt die Änderungen von r#1854306 wieder zurück. Entfernt die zusätzliche Leerstelle der CommonBranch uiLabel-Werte. (r1855497)
- Erweitert das System um einen Unit-Test des Services – AddRequirementTask. (OFBIZ-8931)
- Erweitert das System um einen Unit-Test des Services – getDataResource. (OFBIZ-8423)
- Erweitert das System um einen Unit-Test des Services – updateProductCategory. (OFBIZ-8579)
- Erweitert das System um einen Unit-Test des Services – CreateReturnAdjustment. (OFBIZ-8857)
- Erweitert das System um einen Unit-Test des Services – createProductFeatureType (OFBIZ-9089)
Plugins
- Ersetzt den Aufruf ‚document.write()‘ mit sicheren Alternativen. (OFBIZ-10759)
- Verbessert die Hervorhebungen auf der Blog Seite. (OFBIZ-10578)
- Verbessert die Benutzeroberfläche der konfigurierbaren Produkt-Detail-Seite. (OFBIZ-10578)
- Verbessert die Benutzeroberfläche der Bestellbestätigungsseite. (OFBIZ-10578)
- Bereitet das System auf das JDK11 Update vor. Dazu werden die folgenden Elemente bearbeitet: Ersetzt Class::newInstance; Entfernt die veraltete Methode Object::finalize. (OFBIZ-10757)
- Erweitert das System und die Funktionalität einer SMS Schnittstellen Integration. (OFBIZ-10457)
Bugfixes
Funktionale und technische BugFixes:
Framework
- Fixt: die Methode simpleTypeConvert gibt für die Typen Document, Document Type und Notation Node immer Null zurück. (OFBIZ-10832)
- Fixt: Der Service zur Markierung abgelaufener authorisierter Zahlungen von Authorize.net liefert nichts zurück. (OFBIZ-10727)
- Liefert Anpassungen der javadocs von ObjectType.java und JWTManager.java, damit der build-Prozess erfolgreich beendet werden kann. (r1855674)
- Upgradet Tomcat auf die Version 9.0.16 durch CVE-2019-0199, damit die Anzahl der SETTINGS nicht exsessiv genutzt werden kann. Zusätzlich wird ein Stream planmäßig geschlossen. (OFBIZ-10873)
- Fixt: Eine fehlende oldStatusId liefert einen Fehler, wenn keine legitime Statusänderung gefunden wurde. (OFBIZ-10377)
- Fixt: Es wird eine Fehlermeldung ausgegeben, wenn der Barcode eines Produktes angeklickt wird. (OFBIZ-10743)
- Fixt: Es wird ein falscher Decorator in der Gutscheinübersicht und Gutscheindetailansicht verwendet, der dafür sorgt, dass man zurück navigiert wird. (OFBIZ-10859)
Plugins
- Fixt: Das Produktbild wird im Warenkorb nicht dargestellt. (OFBIZ-10738)
- Upgradet Tomcat auf die Version 9.0.16 durch CVE-2019-0199, damit die Anzahl der SETTINGS nicht exsessiv genutzt werden kann. Zusätzlich wird ein Stream planmäßig geschlossen. (OFBIZ-10873)
- Fixt: Der ‚upload new File‘ Button wird auf der Profilseite nicht dargestellt. (OFBIZ-10851)