Neuigkeiten in der Apache OFBiz Community
Willkommen bei der monatliche Zusammenfassung der News aus der OFBiz Community.
In diesem Monat gibt es Neuigkeiten zu den folgenden Themen: es gibt ein weiteres OFBiz Release, die neue OFBiz Webseite steht kurz vor der Fertigstellung, es wird ein Blick auf die Entwicklung von OFBiz in den letzten elf Jahren geworfen, das Projekt sucht nach Freiwilligen, die den Code mithilfe von Codeanalyse-Tools verbessern und OFBiz wird im jährlichen ASF Bericht erwähnt.
Apache OFBiz 16.11.03 Veröffentlicht
Im Laufe des Monats hat die Community das neue Release 16.11.03 bekannt gegeben. Auch diese Version enthält die Verbesserungen des Codes, die seit November letzen Jahres vorgenommen wurden. Das Release kann über die OFBiz Download Seite heruntergeladen werden und in den Release Notes stehen weitere Details zu den in der neuen Version eingeführten Änderungen.
Grund für die schnelle Entstehung einer neuen Version ist ein Bug im 16.11.02 Release. Die Community arbeitete rasch daran den Fehler zu beheben und das Release schnellstmöglich den Nutzern zur Verfügung zu stellen.
Erste Version der neuen OFBiz Website
Schon seit einer ganzen Weile arbeitet die Community daran, die offizielle OFBiz Website zu überarbeiten und neu zu gestalten. In den Mailinglisten wurde über die neue Struktur der Website diskutiert und ein initialer Vorlagenentwurf wurde auf das Repository hochgeladen. Im Laufe des Monats werden die Arbeiten an der Seite hoffentlich abgeschlossen sein, sodass sie bald als Hauptseite verwendet werden kann.
Eine Vorschau der Seite kann hier schon eingesehen werden: Entwurf der OFBiz Website.
Abgesehen von einem neuen Design hat die Webseite eine verbesserte Navigation. Das OFBiz Logo ist nun auch sinnvoller ausgerichtet.
Entfernen von OFBiz Snapshots
Schon seit langer Zeit werden nächtlich Snapshots der OFBiz Codebasis erzeugt. Dies folgte dem Beispiel von vielen weiteren ASF-Projekten. Die Snapshots sollte Entwicklern ermöglichen, sich die neuesten Updates der Branch Rreleases herunterzuladen. Allerdings ist das Bereitstellen der Snapshots für OFBiz sehr zeitintensiv und aufwändig. Zusätzlich wurde immer deutlicher, dass kaum jemand diese Funktionalität verwendet, sodass nun entschieden wurde, das Erzeugen der Snapshots abzuschaffen. Durch Nutzung des SVN- oder Git-Repositorys lassen sich Snapshots zu belibigen Zeitpunkten ebenfalls herunterladen.
Probleme mit dem .svn Ordner lassen sich durch einfaches Löschen oder den Befehl _svn export _beheben. Der Ordner hat allerdings seine Vorteile, wie z.B. das einfache Aktualisieren, Vergleichen etc. von Code.
Entwicklung von OFBiz mit Gource visualisieren
In diesem Monat gab es den Vorschlag von Jacques Le Roux die Entwicklungsgeschichte von OFBiz mithilfe der Software Gource zu visualisieren. Gource analysiert die Logdatei des Projekts und stellt diese dann als animierten Baum dar. Die Äste des Baumes repräsentieren die vielen Verzeichnisse von OFBiz und die Blätter einzelne Dateien. Um den Baum nun lebendig werden zu lassen wird gezeigt wie die Developer, die als winzige Avatare mit Benutzernamen dargestellt werden, mit der Zeit die Äste und Blätter erzeugen, bearbeiten und verschieben. Mit schönem Design entsteht eine interessante und bewundernswerte Animation.
Michael Brohl hat sich die Zeit genommen, die Visualisierung der Entwicklung von OFBiz von 2006 bis 2017 mit Gource zu generieren. Das resultierende Video ist auf Youtube unter dem folgenden Link zu finden: OFBiz through the years.
Codeanalyse für das OFBiz Projekt
Zurzeit wird nach Freiwilligen gesucht, die daran Interesse hätten die Codebasis von OFBiz zu verbessern. Dies ist eine besonders passende Gelegenheit für Einsteiger, die noch nicht ganz wissen, wie sie dem Projekt etwas beisteuern können. Vor einiger Zeit gab es eine Diskussion in den Mailinglisten zu Codeanalyse-Tools deren Berichte als Hilfe zum Erstellen von Patches verwendet werden könnten. Inzwischen gibt es ein JIRA-Sammelticket welches sich genau mit diesem Thema befasst und FindBugs als Analysetool verwendet. Jeder kann ein neues Ticket erstellen und nach und nach Teile des Codes verbessern. Die Berichte des Analysetools sind sehr umfangreich was es für Einsteiger leichter macht den Code kennenzulernen.
Details zum Einsteigen und weitere Anleitungen können in diesem Thread gelesen werden: Call to action: fixing defects reported by code analysis tools. Jede Hilfe ist willkommen und falls es noch weitere Fragen und Anmerkungen gibt, kann man sich in den Development Mailinglisten melden.
OFBiz und der jährliche ASF Bericht
Im Juni veröffentlichte die Apache Software Foundation ihren regulären jährlichen Bericht. Darin sind unter Anderem viele interessante Daten des letzten Jahres visualisiert. Z.B. gehört die OFBiz Development Liste zu einer der aktivsten Apache Mailinglisten und der OFBiz Developer Deepak Dixit zu den Top 5 Personen, die die meisten Tickets abgeschlossen haben. Der Bericht zeigt, dass OFBiz eine recht aktive Community hat was durch die vielen Entwicklungen, die hier in den News hervorgehoben werden, unterstützt wird.
Neue Features und Verbesserungen
Funktionelle Erweiterungen und Optimierungen sowie Updates von Bibliotheken und Source Code Refaktorisierung:
Framework
- Verbesserung des Schließens von Ressourcen im Fall einer Exception
Falls nach dem Erstellen und vor dem Schließen einer EntityListIterator oder einem Writer eine Exception geworfen wird, bleibt das Objekt im Speicher. Dies lässt sich durch sinnvolles Setzen von try-with-ressources Blöcken verbessern.- EntityListIterator (OFBIZ-9385)
- Writer (OFBIZ-9388)
- Aktualisierung der indischen Geodaten (OFBIZ-9406)
Indien ist derzeit in 29 Bundesstaaten und 7 Unionsterritorien unterteilt.- Aktualisierung der geoTypeId der 7 Unionsterritorien von STATE zu TERRITORY
- Korrektur der geoName einiger Territorien
- Hinzufügen von Daten für den Staat Telangana
- Umbenennung des Gradle-Befehls von „loadDefault“ zu „loadAll“ (OFBIZ-9411)
Ab OFBiz 16.12 muss der neue Befehl verwendet werden. Dokumentationen zu Gradle-Befehlen, wie etwa das README.md, wurden entsprechend aktualisiert. Diskussion zu diesem Thema: https://s.apache.org/xjFj - Hinzufügen eines numericCode für jede Währungseinheit (OFBIZ-9409)
Der dreistellige numericCode ist für Länder nützlich, die keine lateinischen Schriftzeichen verwenden. Die Kodierung der Währung ist dann verständlicher.- Setzten des dreistelligen numericCode als neuen numerischen Ländercode
- Aktualisierung von veralteten Währungseinheiten, da die uomID aktualisiert wurde. (https://www.iso.org/iso-4217-currency-codes.html)
- Entfernung ungenutzter Währungseinheiten in den uiLabels (OFBIZ-9413)
- Konvertierung der RateServices.xml von miniLang zu groovyDSL (OFBIZ-9381)
- Refaktorisierung und Codeverbesserung für die folgenden Softwaresegmente:
- CatalinaContainer (OFBIZ-9392)
- UtilMisc.toMap(), toList() und toSet() (OFBIZ-9393)
- Dateinamen, die von den Namenskonventionen von OFBiz abweichen (OFBIZ-9338)
- Aktualisierung von Groovy to 2.4.12 (OFBIZ-9430)
- Aktualisierung von Tomcat to 8.5.16 (OFBIZ-9437)
Plugins
- Verbesserung des Schließens für performFindResults.listIt in drei verschiedenen Scrum Groovy Datein für den Fall einer Exception (OFBIZ-9389)
Falls nach dem Aufruf des performFind Service und vor dem Schließen des listIt eine Exception geworfen wird, bleibt das Objekt im Speicher liegen. Das Problem wird durch das Setzten von try-catch-finally Blöcken gelöst da Groovy keine try-with-ressources Blöcke hat.
Bugfixes
Funktionelle und technische Fehlerbehebungen:
Framework
- Folgendes Ticket wird genutzt um Probleme bezüglich der neuen Wiki-Struktur zu melden: (OFBIZ-9416)
- CostServices.xml#getProductCost scheitert bei der Umwandlung von Währungen (OFBIZ-9387)
- _Simple-_Methode in den Shipment Services terminiert nicht obwohl ein Fehler auftritt (OFBIZ-9407)
Lösen des Problems durch Hinzufügen von - RequestHandlerException beim Öffnen der QuoteProfit Seite (OFBIZ-9386)
Ändern des Links zur QuoteProfit Seite von inter-app zu _simple. _Die QuotePrice Seite benötigt die selben Schritte (OFBIZ-9384). - Fehler beim Erstellen eines neuen Eintrags für den Blogartikel (OFBIZ-9373)
Setzten des Modus der auto-attributes auf IN anstelle von INOUT in dem Service createElectronicText. - Ein Unit Test schlägt fehl wenn das das Logging auf „verbose“_ _gesetzt ist (OFBIZ-9305)
Das Logging wird im EntitySaxReaderTests.parse Unit Test temporär deaktiviert. - Logikfehler in CreateShipment (OFBIZ-9425)
Der Service createShipment erstellt sales- und purchase shipment mit _workeffort. _Details zu dem Bug sind im Ticket zu lesen. - Es kann kein neues GL Account erzeugt werden (OFBIZ-9429)
Änderung der pk-Attribute in der Servicedefinition von createGLAccount von OUT zu INOUT. Dadurch wird die _glAccountId _von OFBiz generiert und nicht vom Service geliefert.
Plugins
- Screen defekt für folgende Entitäten: ThirdPartyLogin, OAuth2GitHub, GitHubUser, OAuth2LinkedIn and LinkedInUser (OFBIZ-9390)
- Das Birt Plugin ist zu sehr von dem Example Plugin abhängig (OFBIZ-9383)
Setzte eine Abhängigkeit des Eaxmple Plugin auf Gradle. Falls das Plugin dann Komponenten verfehlt oder sonstige Fehler wirft, wird die Birt Komponente nicht gebaut. - Fehler beim Ausführen einer _simple-_Methode und eines _groovy-_Skripts in der QuickAnonCustomerEvents.xml (OFBIZ-9432)
Das Skript kann die die Klasse CartItemModifyException nicht lösen. Hinzufügen des kompletten Pfades zur CartItemModifyException in Groovy und Entfernung von unnötigen Semikolons. CustomerEvents ist auch von diesem Fehler betroffen. - Das Testen von Lecene schlägt Fehl, da es Probleme mit den Testdaten gibt (OFBIZ-9439)
Die Testdaten referenzieren auf in den Demodaten nicht existierende _ownerContentId_s. Umschreiben der Daten so, dass sie sich dem Testcode anpassen.