Neuigkeiten in der Apache OFBiz Community

Willkommen bei der monatlichen Zusammenfassung der OFBiz Community News.
In diesem Monat gibt es Neuigkeiten zu dem Beenden des Supports von unveröffentlichten OFBiz Versionen, der Umstrukturierung der OFBiz Ladedaten, dem Verbessern der OFBiz Nutzeroberfläche; es geht um OFBiz Sanity Checks, und um viele Mitglieder, die Contributor geworden sind.

Einstellung des Supports für die OFBiz Versionen 14.12 and 15.12

Bevor das Projekt von Ant auf Gradle umstieg, wurden zwei unveröffentlichte Branches, 14.12 und 15.12, entwickelt und gepflegt. Sie verwenden noch das Ant Build-System und enthalten die komplette Codebasis inklusive der Specialpurpose Komponenten. Es war im Sinne der Community diese Branches weiterhin für Entwickler und Dienstleister zur Verfügung zu stellen, sodass diese ihren Kundenstamm weiterhin unterstützen können.

Der Zeitraum, in dem Bugfixes zu diesen unveröffentlichten Branches zurückportiert wurden, wurde schon einmal verlängert, um Nutzern mehr Zeit zu bieten auf den neuen 16.11 Branch umzusteigen. Der Support für 14.12 und 15.12 sollte bis Ende Juli 2017 andauern.

Das bedeutet also, dass ab sofort nicht jeder Bug automatisch auf 14.12 und 15.12 zurückportiert wird sondern nur noch Einzelfälle behandelt werden. In den Mailinglisten wird es aber weiterhin Hilfe und Support für diese Versionen geben. Im besten Fall steigt man jedoch baldmöglichst auf das 16.11 Release um.

Umstrukturierung der OFBiz Ladedaten

Diesen Monat gab es ein ausführliche Diskussion zu der Vereinfachung der Organisation von OFBiz Ladedaten, sogenannte Data-Files. Durch die Umstrukturierung sollen Abhängigkeiten zwischen den Data-Files verständlicher werden. Die Demo Data-Files sind für das erstmalige Setup von OFBiz und somit besonders für Anfänger  wichtig, doch das Debuggen, wenn Probleme beim Laden der Daten auftreten, kann unnötig kompliziert werden.

Durch die Reorganisation und Standardisierung der Verzeichnis- und Dateistruktur in OFBiz, können Abhängigkeiten besser gewartet und überarbeitet werden. Zu diesem Thema wurde bereits ein JIRA-Ticket erstellt an dem sich Interessierte aktiv beteiligen können. Die Arbeit hat auch schon begonnen (s.u. Commit in „Neue Features und Verbesserungen“).

Verbesserung der OFBiz Benutzeroberfläche

Zur Zeit gibt es eine große Diskussion in den Mailinglisten zu der Verbesserung der OFBiz Nutzeroberfläche. Das Thema wurde in der Vergangenheit schon einige Male angesprochen, allerdings ohne anhaltenden Effekt. Bisher ist der Blick auf die GUI nicht das überwältigende Plus für OFBiz und um als moderne und nutzerfreundliche ERP-Software anerkannt zu werden muss sich etwas ändern. So soll es nun einen fokussierteren Versuch geben, die Ansicht in OFBiz für bisherige Nutzer aber besonders auch für potentiell neue Nutzer zu verbessern. Das Community Mitglied Nicolas Malin hat schon damit begonnen, an einem Entwurf zu arbeiten.

OFBiz Sanity Check

Um zu testen, ob die OFBiz Funktionalitäten so laufen wie sie sollen, hat der Contributor Sanjay Yadav** **diesen Monat eine Liste an Aufgaben zusammengestellt, die die Software bewältigen können sollte. Die Liste wird in der Community als sogenannter Sanity (engl.: geistige Gesundheit) -Check bezeichnet. Der Nutzer kann jede Aufgabe testen und so sicherstellen, dass OFBiz funktionstüchtig ist. Das Sanity Check-Dokument ist im OFBiz Wiki zu finden.

Neue OFBiz Contributors

In diesem Monat hat die OFBiz Community einen großen Zuwachs bekommen. 22 neue Open Source Contributors haben den ICLA an die ASF eingereicht und helfen nun mit, das OFBiz Projekt weiter zu entwickeln. Die Liste der OFBiz Contributors ist im Wiki zu finden.

Codeverbesserungen im OFBiz Projekt

Auch in diesen Monat wurde an der Initiative gearbeitet die Codebasis mithilfe des Codeanalyse-Tools FindBugs zu verbessern (s.u. Commits in „Neue Features und Verbesserungen“). Es werden noch Freiwillige gesucht, die mithelfen OFBiz Paketweise  unter die Lupe zu nehmen und Bugs ausfindig zu machen. Mehr Informationen sind im JIRA-Sammelticket zu finden.

Neue Features und Verbesserungen

Funktionelle Erweiterungen und Optimierungen sowie Updates von Bibliotheken und Source Code Refaktorisierung:

Framework

  • Verbesserung des Payment-Pakets mithilfe des FindBugs Analysetools (OFBIZ-9451)
    Das Patch enthält diverse Verbesserungen wie z.B. das setzen von Variablen auf final um Änderungen von bösartigen code zu vermeiden, das Verwenden von stringBuilder für erhöhte Effizienz, das Entfernen von unnötigen null-Abfragen und das Ersetzen von ineffizienten Boolean Konstruktoren mit besseren, schon vorhandenen Methoden.
  • Ersetzten von hart-gecodeten „IN“s mit ModelService.IN_PARAM (OFBIZ-9434)
    • Des Weiteren, Hinzufügen neuer Einschränkungen für den „INOUT“ ModelService-Parameter.
    • Verbesserung weiterer hart-gecodeter Parameter („IN“, „OUT“, INOUT“) (OFBIZ-9434)
  • Verbesserung weiterer inkonsistenter String-Vergleiche (OFBIZ-9254)
  • Verschieben von einiger uiLabels von ProductUiLabels.xml zu CommonEntityLabels.xml (OFBIZ-9408)
    Labels zusätzlich an das Pattern anderer Labels der „Uom“-Entität anpassen: ...
  • Verwenden von serviceUtil() anstelle von hart-gecodeten Error- oder Success-Meldungen (OFBIZ-9466)
  • Abstellen der Autocomplete-Funktion für alle Felder in die ein Passwort eingetragen wird  (OFBIZ-9471)
  • Konvertieren der AgreementServices.xml von mini-lang zu groovyDSL (OFBIZ-9460)
  • Korrektur in der Implementierung des deletePayHistory-Service (OFBIZ-9111)
  • Entfernen des cancelAgreement-Service und Hinzufügen eines expireAgreement-Service mit entity-auto Optionen (OFBIZ-9480)
  • Verbessern der EntityQuery.queryOne() Funktion um Daten durch automatisches matchen des Primärschlüssels aufzulösen (OFBIZ-9447)
    Diese Änderung unterstützt die Migration von minilang zu groovy.
  • Verwenden der Hilfsfunktion FlexibleLocation.resolveLocation() anstelle von hart-gecodeten Pfaden (OFBIZ-9479)
  • Verbessern der groovyDSL: Aufrufen von makeValidContext when ein Service läuft (OFBIZ-9523)
    When ein groovy-Service aufgerufen wird, müssen alle Parameter für den Aufruf überprüft werden. Die Verbesserung vereinfacht diesen Prozess mit einem automatischen Parameter-Check. So kann der Kontext direkt spezifiziert werden.
  • Verbesserungen diverser Entitäten-Definitionen und -Services (OFBIZ-7828)
  • Verschieben von Dateien aus Application Data in die Datamodel Komponente (OFBIZ-9501)
    Dies ist der Erste von noch vielen weiteren Commits zum dem Thema Umstrukturierung von Application Data (s.o.). Dieser Commit verschiebt Data-Files aus der PartyTypeData.xml in die neu erstellte und zentralisierte PartySeedData.xml.
  • Integration der Google Telefonnummer-Bibliothek zum validieren von Telecom-Nummern (OFBIZ-9358)

Plugins

  • Verbesserung weiterer inkonsistenter String-Vergleiche (OFBIZ-9254)
    • in der ftl-Datei des Ecommerce Plugins
    • in der ftl-Datei des Ebay Plugins
  • Abstellen der Autocomplete-Funktion für alle Felder in die ein Passwort eingetragen wird  (OFBIZ-9471)

Bugfixes

Funktionelle und technische Fehlerbehebungen:

Framework

  • ContentWorker#findAlternateLocaleContent verwendet die Ersatz-„Locale“ nicht (OFBIZ-9445)
    Wenn kein alternativer „Locale-Content“ für die angeforderte „Locale“ gefunden wird, soll nach „Content“ basierend auf der „Locale“, die als general.properties at locale.properties.fallback konfiguriert ist, verwendet werden. Wenn diese auch nicht gefunden wird, dann soll der ursprüngliche „Content“ zurückgegeben werden.
  • Fehlender sicherer Port in URLs beim Senden von E-Mails (OFBIZ-9449)
    Der Fehler entstand durch das Entfernen von port.https in url.properties beim bearbeiten des Tickets OFBIZ-9206.
  • Fehlerhafte Berechnung des Preises beim hinzufügen von „Items“ in den „Cart“ (OFBIZ-7263)
    Das Ändern der Anzahl der „Items“ im „Cart“ setzt das flag isModifiedPrice auf _true. _Das flag gerät allerdings in Konflikt mit der updatePrice Bedingung sodass der Preis nicht neu kalkuliert werden kann.
  • Hinzufügen eines „Gift Certificate“ in purchaseOrder wirft Fehlermeldung (OFBIZ-9438)
  • AccountingQuantityTotal ist null während das Inventar von einer „Facility“ zur anderen übertragen wird (OFBIZ-9464)
  • Fehlerhafte Anzeige des MimeTypeId-Wertes beim Absenden des Formulars (OFBIZ-9344)
  • UI Fehler in der ATP/QOH-Tabelle auf der createPurchaseOrder Seite (OFBIZ-9468)
  • „ACCTG trans entries pdf“-Link auf der invoiceOverview Seite funktioniert nicht (13.07) (OFBIZ-6774)
    Der Link führt zu einer Birt-Komponente die in dem 13.07 Release noch nicht zur Verfügung war.
  • Unzureichende Abfrage der checkOutPaymentId in CheckOutEvents.getSelectedPaymentMethods (OFBIZ-9404)
  • WorkEffort Seite wirft Fehler wenn eine neue „Party“ mit einer spezifizierten Rolle zum Timesheet hinzugefügt wird (OFBIZ-9317)
  • CopyAgreement Service schlägt fehl (OFBIZ-9143)
  • Order-Seite wirft Fehlermeldung (OFBIZ-9481)
  • Bilder können mit addImageForProduct nicht hochgeladen werden (OFBIZ-9259)
    Es wurde der Delegator anstelle des DispatchContext vom Kontext abgerufen, sodass eine NPE in der Methode EntityUtilProperties.getPropertyValue geworfen wurde.
  • Inkorrektes Resultat, wenn eine Bedingung zu den Preisregeln für „Role Type“ hinzugefügt wird (OFBIZ-7275)
  • MRP erzeugt in bestimmten Situationen duplizierte Informationen (OFBIZ-9526)
  • OrderContactMechs werden nicht kopiert wenn man eine Bestellung neu bestellt (OFBIZ-9253)

Plugins

  • Falsche Repository Links auf der FormWidgetExamples Seite (OFBIZ-9494)
    Es musste eine neue Variable eingeführt werden, die den URL Pfad festhält.
  • Hochladen von Informationen für eine Produktemail in der SCRUM-Komponente funktioniert nicht (OFBIZ-9524)
    Der Name des Formulars hatte einen Tippfehler.
  • Fehler wird beim Nutzen von „Edit Backlog“ für ein Produkt in der SCRUM-Komponente geworfen (OFBIZ-9531)
    Der Fehlende Import GenericEntityException musste hinzugefügt werden.