Neuigkeiten in der Apache OFBiz Community

Die Apache OFBiz Community hat eine komplette Vortragsreihe auf der ApacheCon Core EU 2015 in Budapest präsentiert und einen gemeinsamen Workshop der OFBiz Community Mitglieder durchgeführt. Zudem wurde  eine aktive Diskussion und erste konzeptionelle Arbeit angeschoben, um das Framework zu überarbeiten. Wie gewohnt gibt es Informationen über die  Bugfixes und Verbesserungen im vergangenen Monat Oktober.

ApacheCon Core EU 2015 in Budapest

Die Apache OFBiz Community hatte eine komplette Vortragsreihe auf der ApacheCon Core EU 2015 in Budapest. Diese enthielt sechs interessante  Präsentationen von OFBiz PMC Mitgliedern, Committern und Projektmitarbeitern. Zusätzlich wurde eine weitere Präsentation im Community Track angenommen. Es war schön zu sehen dass die Apache OFBiz Community international repräsentiert wurde, denn es kamen nicht nur Mitglieder aus Europa sondern auch aus Afrika und den Vereinigten Staaten von Amerika. Die Zuhörerzahlen waren gut und es wurde eine ApacheCon Core Wiki Seite eingerichtet, auf der eine Zusammenfassung der Präsentationen sowie die Folien zum Download zu finden sind.

Am 2. Oktober haben die ApacheCon Teilnehmer aus dem OFBiz Projekt sich zu einem lockeren Workshop zusammengefunden, um über Themen zu sprechen, die ihnen wichtig sind. Es wurden verschiedene Themen besprochen, die Details sind im Wiki auf einer Workshop Übersichtsseite zusammengefasst.

Viele Mitglieder haben sich zum ersten Mal getroffen. Aus den Feedbacks wurde deutlich, dass sie viel Spaß hatten und dass dies eine gute Gelegenheit für die Teambildung und den Austausch mit Mitgliedern anderer Apache Projekte war. Es wurden viele Fotos geschossen, einige davon sind hier zu sehen.

Möglicher Framework Re-Write

Eins der Themen, die auf dem Workshop hochkamen war die Arbeit an der Optimierung des Frameworks. Dies startete eine aktive Diskussion, ob das Framework neu entwickelt werden soll (siehe Mailinglisten Thread). Es wurde bereits einiges an konzeptioneller Arbeit in einen ersten zentralen Teil des Frameworks investiert und im Wiki dokumentiert. Wenn diese Arbeit in Schwung kommt und weitere Unterstützung erfährt wird dies auf weitere Frameworkbereiche ausgeweitet. Wer diese Arbeit unterstützen möchte kann sich auf der Framework Project Wiki Seite weiter informieren.

Neue Features und Verbesserungen

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

  • Ersetzen der ‚Open for Business‘ Referenzen mit ‚Apache OFBiz‘ (OFBIZ-6171).
  • Aktualisieren von OFBiz auf JDK 8 (OFBIZ-6458). Aktualisiert das Framework auf Java JDK 8 und verhindert das Kompilieren auf vorherigen Versionen.
  • Entfernen von Javolution aus den Framework Komponenten (OFBIZ-5169).
  • Upgrade der Solr und Lucene Bibiotheken auf Version 5 (OFBIZ-6610).
    • Upgrade der Solr/Lucene Komponente auf die aktuelle Version 5.3.1.
    • Angular Javascript und Html Dateien entfernt.
    • Die jquery-1.7.2.min.js wurde entfernt da sie in Solr nicht verwendet wird.
    • Ändern von specialpurpose/solr/conf auf specialpurpose/solr/home.
    • Verschieben von specialpurpose/solr/solrdefault auf specialpurpose/solr/home/solrdefault.
    • Die Dateien unter specialpurpose/solr/home/solrdefault sind alle aus dem solr-5.3.1 package/server/solr/configsets/sample_techproducts_configs/, die solrconfig.xml wird konfiguriert in: ${solr.data.dir:runtime/indexes}
  • Verschieben der Guava Bibiothek von solr/lib/runtime nach base/lib um Abhängigkeiten mit der Solr Komponente zu vermeiden.
  • Bereitstellen von layered-window in Formularen (OFBIZ-6327). Es wurde ein Beispiel für ein Formular und Widget bereitgestellt und neue Properties zur Konfiguration der Standard Layered Window Größe eingeführt.
  • Selenium Web Driver Integration über XML Dateien (OFBIZ-6618).
  • Verwendung von JGrowl zur Anzeige von Hinweisen und Warnungen (OFBIZ-6023). Dies ermöglicht das Anzeigen von Systemmeldungen in einem Popup im oberen Bereich des Fensters, auch wenn gescrollt wird. Dies ist auch nützlich für Ajax Aufrufe da es nicht mehr notwendig ist, zum Beginn der Seite zu scrollen um die Meldungen zu sehen. Die Meldungen bleiben auf dem Bildschirm, bis sie vom Benutzer aktiv geschlossen werden.
  • Entfernen von tooltip=“${uiLabelMap.CommonRequired}“ aus den Formularfeldern (OFBIZ-6691).
  • Änderungen in den PartyRole Lifespan Feldern in der QuoteRole Entität berücksichtigen (OFBIZ-6679).
  • In der SalaryStep Entität fehlen die fromDate und thruDate Felder (OFBIZ-5758).
  • In der Bearbeitungsmaske für Request die parentCustRequest Auswahl als Lookup Funktion ausführen (OFBIZ-6177).
  • Hinzufügen von französischen Labels in ProductEntityLabels.xml (OFBIZ-6700).
  • Paginator.getListLimits listSize wird auf die viewSize gesetzt bei FindServices.performFindList (OFBIZ-6422).
  • Verbesserungen in den ContentWrapper Klassen um eine bessere Performance zu erreichen (OFBIZ-6701).

Bugfixes

Funktionale und technische Fehlerbehebungen:

  • Data Import: Übertragen von Null Feldern war nicht möglich (OFBIZ-293). Leere Zeichenketten in den Datendateien werden nicht länger ignoriert sondern als Nullwerte in der Datenbank gesetzt.
  • Leere Seite beim Bestellen eines open-gismo-GZ-1006-p (OFBIZ-6650). Schreibfehler korrigiert der dazu führte, dass eine Fehlermeldung auf der Produktseite ausgegeben wurde.
  • Umfrage gibt falsche Erstellerinformationen aus (OFBIZ-6584). Umfragen, die über die eCommerce Komponente eingegeben wurden, können über FindSurveyResponse in der Content Applikation eingesehen werden. Die Übersicht zeigte die korrekte partyId an, aber wenn die Umfrage  über EditSurveyResponse geöffnet wurde, wurden die Details des aktuell eingeloggten Benutzers statt des Erstellers angezeigt.
  • Hochladen einer Datei nach einem Session Timeout (OFBIZ-4651). Behandlung des Fehlers im Javascript Code zur Behebung des Timeout problems.
  • Domain Name soll für einen Mandanten nicht erzeugt werden, wenn dieser während der Erstellung des Mandanten leer gelassen wurde (OFBIZ-6092).
  • Fehler beim Drucken eines Einzahlungsbelegs (OFBIZ-6663).
  • Accounting Reports fehlerhaft (OFBIZ-6212). Die Erzeugung eines  Accounting Report PDF Export warf eine FOP Exception aufgrund eines leeren Beschreibungstextes.
  • Fehler beim Hinzufügen eines Produktes zu einer Bestellung (OFBIZ-5579).
  • PartyRelationship.securityGroupId wird nicht gefüllt wenn eine PartyRelationship hinzugefügt wird (OFBIZ-6662). Der gewählte Wert für die SecurityGroupId wurde ignoriert da der createPartyRelationship Service den Parameternamen securityGroupId erwartete. Das AddOtherPartyRelationship Formular enthielt das falsch benannte Feld groupId, so dass der Wert in dem set-nonpk-fields Aufruf in applications/party/script/org/ofbiz/party/party/PartyServices.xml fehlte.
  • Work Effort Month Calendar View ist fehlerhaft (OFBIZ-6637). Es wurde eine mögliche Endlosschleife in der TemporalExpression Berechnung korrigiert.
  • Die Anzeige eines wiederkehrenden Arbeitseinsatzes im Arbeitseinsatzkalender berücksichtigt nicht das voraussichtliche Startdatum/Abschlussdatum. (OFBIZ-6654). Korrektur des getWorkEffortEventsByPeriod Service durch
    • Ignorieren des aktuellen Arbeitseinsatzes in der TemporalExpression Verarbeitung
    • Ausschliessen der Arbeitseinsatzeinträge, die ausserhalb der geschätzten Zeitspanne liegen.
  • ModelService Konstructor kopiert nicht alle Attribute des Service Models (OFBIZ-6666). Es wurden die fehlenden Service Model Attribute hinzugefügt.
  • Mögliches statisches XSS Problem bei Content Verarbeitung (OFBIZ-6669). Es wurde das owasp-java-html-sanitizer-r239.jar hinzugefügt und eine „content.sanitize=true“ Eigenschaft in content.properties inkl. einiger Erläuterungen gesetzt. Grund für diese Eigenschaft ist das der Sanitizer einige (sichere) Änderungen durchführt, die in einem vermeintlich „sicheren“ Kontext unerwünscht sind. Siehe weitere Erläuterungen im Jira Issue. Dies betrifft nicht die *ContentWrapper.java Klassen, bei denen das OWASP Encoding verwendet wird und nicht der Sanitizer. Der Sanitizer wird im vorliegenden Fall verwendet, weil nicht nur Content sondern auch Html Code verarbeitet wird.
  • Die Anweisung filter-by-date=“true“ aus in der View Entität PartyExport funktioniert nicht (OFBIZ-6495).
  • Setze die Liefermethode in der addToCart() Methode nur, wenn Lieferung für das Produkt relevant ist (OFBIZ-6674).
  • viewImage in der Bestellung erzeugt einen Fehler (OFBIZ-6678).
  • Das Grid Widget benötigt einen Cache Clear bevor die Änderungen gerendert werden (OFBIZ-6405).
  • Find Screen Layout: der Haupttitel fehlte im Tomahawk Theme (OFBIZ-6153).
  • Form widget generiert keine Eingrenzungsfelder für Festkommazahlen (OFBIZ-6443).
  • org.ofbiz.entity.GenericModelException: „Could not find definition for entity name FixedAssetMaintWorkEffort“ (OFBIZ-6687). Es wurde die FixedAssetMaintWorkEffort View Entität von specialpurpose/Assetmaint nach Accounting verschoben.
  • FindService.performFindList listSize = null verursacht einen Fehler wenn die Liste leer ist, da das Rendering 0 erwartet (OFBIZ-6425).
  • Mit FOP gerenderte List Form Widgets funktionieren nicht für Felder mit Position > 0 (OFBIZ-6354).
  • Entfernen einer ungültigen Feldbedingung aus den StatusValidChange Daten (OFBIZ-6699).
  • In der SFA Komponente kann nicht mehr als ein Lead durch den gleichen Benutzer erstellt werden (OFBIZ-6703). Grund war, dass createLead jedes Mal eine PartyRole vom Typ OWNER erzeugen wollte, obwohl diese bereits existierte. Dies führte zum Fehler und dem Rollback der Transaktionen für den gesamten Aufruf.

Dokumentation

  • CcTypes.groovy fehlte der Lizentext (OFBIZ-6679).
  • Vervollständigung der Schema Dokumentation für override-list-size im Fall der performFindList Verwendung (OFBIZ-6422).