Apache OFBiz News – März 2020

Neuigkeiten in der Apache OFBiz Community

Willkommen zu unserem monatlichen Apache OFBiz News-Überblick. Diesen Monat stellen wir Ihnen Einzelheiten zu unserer üblichen Liste von Funktionen, Verbesserungen und Statistiken in OFBiz vor .

OFBiz Statistiken

Apache Kibble zeichnet einige Statistiken der OFBiz Gemeinschaft in der Demoinstanz auf. Wir können also im folgenden einige Highlights des letzten Monats präsentieren:

  • JIRA Aufgaben Tracker: 148 Aufgaben wurden angelegt und 42 Aufgaben wurden gelöst (7 verschiedene Personen waren beteiligt)
  • Code-Veränderungen und Commit-Aktivität:
    • Framework: 131 Commits haben zu 30,866 geänderte Codezeilen geführt (7 Committer waren aktiv)
    • Plugins: 32 Commits haben zu 7,528 geänderte Codezeilen geführt (5 Committer waren aktiv)
  • Mailling Listen:
    • Dev: Es wurden 215 E-Mails versendet und über 31 Themen diskutiert (24 Personen waren beteiligt)
    • User: Es wurden 67 E-Mails versendet und über 21 Themen diskutiert (17 Personen waren beteiligt)

Neue Funktionen und Verbesserungen

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

Framework

  • Liefert eine 2020-Version der Incoterms (GitHub Link)
  • Entfernt die ungenutzten Services ‚getSubContentWithPermCheck‘ und ‚getSubSubContentWithPermCheck‘ (OFBIZ-11393)(OFBIZ-11394)
  • Konvertiert party/LookupServices.xml von Mini Lang zu Groovy (OFBIZ-11362)
  • Konvertiert ProductServices.xml von Mini Lang zu Groovy (OFBIZ-10231)
  • Konvertiert ProductFeatureServices.xml von Mini Lang zu Groovy (OFBIZ-11439)
  • Konvertiert createTextAndUploadedContent-Service von Mini Lang zu Groovy (OFBIZ-11368)
  • Konvertiert OrderServices#getNextOrderId von Mini Lang zu Groovy (GitHub Link)
  • Konvertiert OrderServices#getOrderedSummaryInformation von Mini Lang zu Groovy (GitHub Link)
  • Upgradet Freemarker von Version 2.3.29 auf 2.3.30 (GitHub Link)
  • Konvertiert ProductContentServices.xml von Mini Lang zu Groovy (OFBIZ-11436)
  • Konvertiert CommonServices.xml von Mini Lang zu Groovy (OFBIZ-11402)
  • Konvertiert PartyServices.xml von Mini Lang zu Groovy (OFBIZ-11361)
  • Entfernt die nicht verwendete Methode ‚UtilHttp#checkURLforSpiders‘ (OFBIZ-11138)
  • Entfernt die Sicherheitsfrage der userLogin-Entität (GitHub Link)
  • Sorgt dafür, dass Requests der Applikationskomponente nur für eingeloggte Nutzer ausgeführt werdem können (GitHub Link)
  • Updatet das Tutorial ‚How to apply the Apache License to your work‘ (GitHub Link)
  • Sorgt dafür, dass der RequestHandler den Message-Type ‚_WARNING_MESSAGE_‘ verarbeiten kann (GitHub Link)
  • Sorgt dafür, dass einige klickbare Felder in Backend-Tabellen in Form von Buttons gestalltet werden (GitHub Link)
  • Sorgt dafür, dass der MacroFormRenderer die Methode ModelFormField#getCurrentContainerId nutzt (GitHub Link)
  • Liefert die Content-Security-Policy der ErrorPage.ftl (GitHub Link)
  • Liefert Tests bzgl. Macros (GitHub Link)
  • Liefert der Klasse MacroFormRendererTest den Lizens-Header (GitHub Link)
  • Liefert Tests bzgl. Macros (GitHub Link)
  • Liefert Tests bzgl. Macros (GitHub Link)
  • Liefert Tests bzgl. Macros (GitHub Link)
  • Verbessert die CSS-Klassen bzgl. Anordnungen (GitHub Link)
  • Ersetzt ‚align-float‘ durch ‚align-text‘ in den FTLs BatchPayments, ShowVisits und VisitDetail (GitHub Link)
  • Ersetzt ‚align-float‘ durch ‚align-text‘ in den FTLs FindEmployee und EditShoppingList (GitHub Link)
  • Entfernt die nun ungenutzte CSS-Klasse ‚align-float‘ (GitHub Link)
  • Erweitert .runtime/.gitignore um den Eintrag /uploads/ (GitHub Link)
  • Implementiert Prettyprint bzgl. Keyword-Suche (GitHub Link)
  • Liefert Requests den fehlenden Content-Type-Header bzgl. stylesheet/less (GitHub Link)
  • Verbessert das Web-Content-Caching (GitHub Link)
  • Konvertiert PartyPermissionServices.xml von Mini Lang zu Groovy (OFBIZ-11433)
  • Liefert die neusten Änderungen des Datenmodells (OFBIZ-5426)

Plugins

  • Liefert dem Plugin ‚ebay‘ Service-Level-Error-Meldungen bzgl. notwendiger Inputfelder (OFBIZ-7471)
  • Konvertiert die Dimension-Services von Mini Lang zu Groovy (GitHub Link)
  • Fügt eine Lizenzdatei hinzu (GitHub Link)
  • Erweitert das gitignore um den Pfad des Eclipse-bin-Ordners (GitHub Link)
  • Entfernt die Sicherheitsfrage der userLogin-Entität (GitHub Link)
  • Konvertiert FactServices.xml von Mini Lang zu Groovy (GitHub Link)
  • Liefert eine NOTICE-Datei und verbessert die Datei ‚LICENSE‘ (GitHub Link)
  • Sorgt dafür, dass Requests der Applikationskomponente nur für eingeloggte Nutzer ausgeführt werden können (OFBIZ-4956)
  • Verbessert die Datei ‚LICENSE‘ (GitHub Link)
  • Formatiert die Datei HeaderHead.ftl (GitHub Link)

Bugfixes

Funktionale und technische Bugfixes:

Framework

  • Stellt ProductServices.xml wieder her, da diese für die Methode createProductPrice notwendig ist (OFBIZ-10231)
  • Fixt die Diskrepanz zwischen den Permissions ‚alone‘ und ‚group‘ in der Klasse ModelPermission (OFBIZ-11440)
  • Fixt: Konvertiert ProductServices.xml von Mini Lang zu Groovy: productPriceGenericPermission failed (OFBIZ-10231)
  • Fixt: Der Service createMissingCategoryAndProductAltUrls vermisst eine Transaktion (OFBIZ-11441)
  • Fixt: Konvertiert OrderServices#getNextOrderId von Mini Lang zu Groovy (GitHub Link)
  • Fixt einen potenziellen Nullpointer innerhalb von ErrorPage.ftl (GitHub Link)
  • Fixt einen Bug, der durch die Entfernung der Sicherheitsfrage entstanden ist (GitHub Link)
  • Fixt: CommonTheme verweist auf die Datei application.js des Themes Flatgrey (GitHub Link)
  • Fixt: Es ist nicht möglich – innerhalb der Webtools – eine Zeile einer Entität einzusehen, wenn diese einen Primärschlüssel des Datentypens ‚Timestamp‘ besitzt (OFBIZ-11426)
  • Entfernt FIXME-Tags aus DataResourceWorker#renderDataResourceAsText, nachdem die entsprechenden Stellen bearbeitet wurden (GitHub Link)
  • Fixt einen Fehler des SameSite-Attributes, das für alle Cookies auf ’strict‘ gesetzt wurde (GitHub Link)
  • Liefert die Klasse SameSiteFilter (GitHub Link)
  • Liefert die Möglichkeit das SameSite-Attribute bzgl. aller Cookies zu konfigurieren (GitHub Link)
  • Fixt einen Tippfehler in den security.properties (GitHub Link)
  • Fixt: Spezifizierter Schlüssel war zu lang, die maximale Schlüssellänge der Entität ProductPromoCodeEmail beträgt 767 Bytes (OFBIZ-5426) (#44)
  • Benennt den Fremdschlüssel in ProductPromoCodeEmails bzgl. ProductPromoCode um (GitHub Link)
  • Fixt: Der Request ‚createTaskContent‘ funktioniert nicht (GitHub Link)
  • Fixt einen Pfad zu den Services bzgl. ftpAddress, nachdem die ContactMarchServices von Mini Lang zu Groovy konvertiert wurden (OFBIZ-11359)

Plugins

  • Fixt: Es ist nicht möglich Bestellpositionen zu entfernen, wenn man sich innerhalb der onePageCheckout-Seite der eCommerce Komponente befindet (OFBIZ-10800)
  • Schließt in den DimensionServices das fromDate und das thruDate persè in der Ermittlung der Invoices ein (OFBIZ-19048)
  • Fixt DimensionServices#loadCurrencyDimension, indem die sequenceId zur eindeutigen Ermittlung verwendet wird (GitHub Link)
  • Fixt einen Fehler des SameSite-Attributes, das für alle Cookies auf ’strict‘ gesetzt wurde (GitHub Link)
  • Fixt: prepareProductDimensionData stellt ProductDimension nicht korrekte Felder bereit (OFBIZ-11465)
  • Ersetzt in DimensionServices#loadCurrencyDimension die Nutzung des Primärschlüssels ’sequenceId‘ durch die Verwendung des Natural-Keys ‚uomId‘ (GitHub Link)
  • Fixt einen Tippfehler, der während der Bearbeitung von OFBIZ-11030 aufgetreten ist (GitHub Link)
  • Fixt: Produktbilder werden auf der onePageCheckout-Seite nicht gerendert (OFBIZ-11400)

Apache OFBiz News – März 2019

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)