Neuigkeiten in der Apache OFBiz Community

Diesen Monat berichten wir von der Einführung des neuen Build Systems Gradle im Trunk, der Einführung von Unit Tests, den weiteren Support für die bisher nicht veröffentlichten Releases 14.12 und 15.12 sowie die Wahl des neuen Apache OFBiz Logos.

Wechsel von Ant zu Gradle

Wie im letzten Blogartikel schon angekündigt wurde der Wechsel von Ant zu Gradle als zentrales Buildsystem vollzogen. Hauptgrund ist die Anforderung der Apache Software Foundation (ASF), Source Code Releases ohne kompilierte externe Bibliotheken auszuliefern. In zukünftigen Releases wird Gradle die externen Bibliotheken automatisch herunterladen und einbinden.

Zudem bietet das neue Buildsystem die Möglichkeit, OFBiz zukünftig mit Plugins auszustatten und das System damit noch modularer zu gestalten.

Nach umfangreichen Arbeiten an dieser Lösung wurde im Juli der Patch im Trunk bereitgestellt. Dies ist ein wichtiger Schritt und eine wesentliche Änderung im Projekt.

Aktuell wird weiter daran gearbeitet, die mit Ant vorhandenen Funktionalitäten sicherzustellen und das System weiter aufzuräumen. Es sind noch einige verbliebene Abhängigkeiten zu externen Biobliotheken aufzulösen.

Einführung von Unit Tests

In OFBiz sind aktuell hauptsächlich Integrationstests und wenig Unit Tests implementiert. Mit dem Wechsel zu Gradle ist es nun möglich, echte Unit Tests zu implementieren und testgetrieben zu entwickeln (Test Driven Development). Dies soll die Codequalität erhöhen und sicherstellen, dass die Entwickler ihren Code getestet haben.

Die Änderung befindet sich bereits im Trunk und erste Unit Tests der Start Komponente wurden umgesetzt.

Support für 14.12 and 15.12

Nach dem Wechsel des Build Systems im Trunk hat das Projekt beschlossen, weiterhin Support für die bestehende Codebasis mit dem alten Buildsystem zu gewährleisten. Es existieren zwei unveröffentlichte Release Branches 14.2 (erstellt Dezember 2014) und 15.12 (erstellt Dezember 2015), welche die Basis für kundenindividuelle Implementierungen von Usern und Service Providern bilden. Um die Migration zu erleichtern werden von der Apache OFBiz Community Backports zu Fehlerbehebungen und Verbesserungen in diesen Branches bis Juli 2017 durchgeführt.

In diesem Monat wurde in der Community über den Wechsel des Projekt Logos diskutiert und abgestimmt. Die Eintragung von OFBiz als Handelsmarke wurde abgeschlossen und dies wurde als guter Zeitpunkt gesehen, über mögliche Änderungen nachzudenken. Die Änderung des Logos ist ein wichtiger Schritt, da das Logo ein Teil der Projektidentität bildet. Nach einigen Diskussionen wurden 3 Designvorschläge zur Abstimmung ausgewählt. Dies waren:

<a href=“https://cwiki.apache.org/confluence/download/attachments/61317052/Original-Ofbiz.png" data-rel=“lightbox-image-1” data-rl_title=”" data-rl_caption="" title="">Option 1: Basierend auf dem bestehenden Logo

<a href=“https://cwiki.apache.org/confluence/download/attachments/61317052/NewFeather-OFBiz.png" data-rel=“lightbox-image-2” data-rl_title=”" data-rl_caption="" title="">Option 2: Basierend auf der korrrekten Schreibweise und der neuen ASF Feder

<a href=“https://cwiki.apache.org/confluence/download/attachments/61317052/Power-OFBiz.png" data-rel=“lightbox-image-3” data-rl_title=”" data-rl_caption="" title="">Option 3: Basierend auf dem alten OFBiz Power Button

Die gesamte Community konnte abstimmen, die Wahl stand 5 Tage offen. Die Ergebnisse werden auf der folgenden Wiki Seite vorgestellt: OFBiz Logo Umfrageergebnisse.

Die Wahl fiel auf Option 3, welche das Original OFBiz Icon aus der Zeit vor der Aufnahme in die Apache Software Foundation beinhaltet. Das Icon wurde überarbeitet, so dass es nun die Farben der neuen ASF Feder verwendet.

Neue Features und Verbesserungen

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

  • Verbesserung der UI im „Payment“ Bereich, wenn für einen Kunden beim Bestellen ein „Billing Account“ vorliegt (OFBIZ-7484)
  • Nicht-Instanziierbarkeit für diverse Klassen forciert (OFBIZ-7601) (OFBIZ-7588) (OFBIZ-7562) (OFBIZ-7551) (OFBIZ-7690) (OFBIZ-7715) (OFBIZ-7732) (OFBIZ-7590) (OFBIZ-7600) (OFBIZ-7710) (OFBIZ-7733) (OFBIZ-7593) (OFBIZ-7630) (OFBIZ-7541) (OFBIZ-7740) (OFBIZ-7685) (OFBIZ-7742) (OFBIZ-7687) (OFBIZ-7688) (OFBIZ-7686) (OFBIZ-7744) (OFBIZ-7689) (OFBIZ-7691) (OFBIZ-7684) (OFBIZ-7692) (OFBIZ-7708) (OFBIZ-7716) (OFBIZ-7717)
  • Hinzufügen eines „Content look-up“ beim Hinzufügen eines Contents zu einem „Product Config“-Item (OFBIZ-7629)
  • Entfernen von der „Google Checkout“- und der „Google Base“ Komponenten aus „Special Purpose“, da diese eingestellt wurden (OFBIZ-7705) (OFBIZ-7727)
  • Entfernen der HtmlScreenRenderer Klasse nach Entfernen ihrer Abhängigkeit (OFBIZ-7635)
  • Entfernen der HtmlFormRenderer Klasse nach Entfernen ihrer Abhängigkeit (OFBIZ-7634)
  • Ersetzen von Apache Ant durch Gradle (OFBIZ-7534)
  • Gradle wurde so eingestellt, dass es JavaDocs auch generieren kann, wenn diese schlechte Formatierung enthalten (OFBIZ-7775)
  • Erstellen eines temporären Gradle Tasks namens „cleanAnt“ zum Entfernen alter build Verzeichnisse (OFBIZ-7898)
  • Umbennen von ofbiz-gradle.jar zu ofbiz.jar (OFBIZ-7893)
  • Versteckte Nutzereingaben für „Location/Lot#“ für vollständig ausgegebene Komponenten eines „Production Run“-Tasks (OFBIZ-7522)
  • Hinzufügen der Entität „Check“ als Zahlungsmethode (OFBIZ-7682)
  • Hinzufügen eines Look-ups für „Product Id“ im „Add Product Store Surveys“-Screen (OFBIZ-7702)
  • Migrieren von promotext.properties nach UiLabels (OFBIZ-7297)
  • Neuformattierung einiger FTLs zur besseren Lesbarkeit, keine funktionalen Änderungen (OFBIZ-7678) (OFBIZ-7679) (OFBIZ-7636)
  • Hinzufügen eines neuen Prozesses in „entity-auto“ für „create invocation“ zum automatischen Befüllen des Feldes „changeByUserLoginId“ und „statusDate“ für „EntityStatus“ (OFBIZ-7611) (OFBIZ-7617)
  • Hinzufügen von Länderdaten für die Türkei durch GeoData_TR.xml und dem Format von Adressen in der Türkei in GeoData.xml (OFBIZ-7755)
  • Entfernen der Möglichkeit Einträge aus UtilCache im Dateisystem abzuspeichern (OFBIZ-7760)
  • Entfernen der watermarker jar und des Codes, der darauf basiert hat, da das Watermarker Projekt tot ist und die jar nicht mehr öffentlich zugänglich ist.
  • Entfernen einiger Artefakte, die auf der alten Beanshell jar basieren, die aus dem Projekt entfernt wird. Zusätzlich Entfernen aller bsh Bibliotheken und Funktionalitäten (OFBIZ-7763)
  • Verbessern der FinAccountStatus, ShipmentStatus und BudgetStatus Entitäten, sodass diese das Feld „changeByUserLoginId“ verwalten können. Die entsprechenden Minilang Services werden auf „entity-auto“ umgestellt (OFBIZ-7623) (OFBIZ-7618) (OFBIZ-7619)
  • Hinzufügen von „Province Data“ für die Südafrika durch GeoData_ZA.xml und dem Format von Adressen in Südafrika in GeoData.xml (OFBIZ-7778)
  • Aufräumen des „Tools“ Verzeichnisses (OFBIZ-7795)
  • Migrieren aller Java Dateien von /src nach /src/main/java (OFBIZ-7790)
  • Umbenennen von OFBiz Artefakten von org.ofbiz.* zu org.apache.ofbiz.*  (OFBIZ-6274)
  • Umbennen von search.properties in specialpurpose/lucene zu lucene.properties (OFBIZ-6224)
  • Hinzufügen einer Download Definition für Treiber von häufig genutzten Open Source Datenbankmanagement Systemen zu build.gradle (OFBIZ-7793)
  • Verschieben von SeoConfig.xml aus „product“ nach „e-commerce“ (OFBIZ-6125)
  • Auskommentieren von „auto-detect font“ in „apache fop“ (OFBIZ-6274)
  • Hinzufügen von Pagination Targets in „BillingAccountForms“, „CostForms“ und „AP/AR-InvoiceForms“ (OFBIZ-7858)
  • Aufräumen von auskommentiertem Java Code in den Komponenten Accounting und Content (OFBIZ-7826) (OFBIZ-7838)
  • Aufräumen von auskommentiertem Code in FTLs in der Accounting Komponente (OFBIZ-7860)
  • Verbessern der UI „payment method information“ im „Party Profile“-Screen zum Anlegen neuer Zahlungsmethoden (OFBIZ-7707)
  • ViewCertificate nutzt jetzt Widgets anstelle von FTLs (OFBIZ-6302)
  • Einführen der Möglichkeit für Unit Tests von OFBiz Komponenten in /src/test/java (OFBIZ-7254)
  • Einführung von Unit Tests für die Start Komponente (OFBIZ-7897)
  • Umstellen des Logging Levels von „info“ auf „all“ für org.apache.ofbiz (OFBIZ-6274)
  • Verschieben von CertKeystore.groovy nach „framework/common/groovyScripts“ (OFBIZ-7892)
  • Anlegen von Beispieldaten für PartyStatus für bestehende Parties in der Specialpurpose Komponente (OFBIZ-7672)
  • Anlegen von Beispieldaten für PartyStatus für bestehende Parties in der Application Komponente (OFBIZ-7673)
  • Entfernen der pos Komponente (OFBIZ-7804) (OFBIZ-7529) (OFBIZ-7908)
  • Entfernen des OFBiz Serverbefehls „testlist“ (OFBIZ-7924)
  • Hinzufügen des „OWASP dependency check“-Plugins zum Kopieren aller externen Jars in $buildDir/externalJars  (OFBIZ-7930)
  • Auskommentieren der Downloads der JDBC Treiber der wichtigsten DMBS (MySQL und PostgreSQL) (OFBIZ-7793)
  • Migrieren von promotext_zh.properties und promotext_zh_TW.properties nach ProductPromoUiLabels.xml (OFBIZ-7297)
  • Entfernen der „TaxAuthorityVATReport“-Form und dem dazugehörigen Controller Request, da sie seit 2009 als WIP gesetzt ist (OFBIZ-7764)

Bugfixes

Functional and technical bugfixes:

  • Der „Trial Balance“ PDF Export schlägt fehl (OFBIZ-6638)
  • Der „Income Statement“ PDF Export schlägt fehl (OFBIZ-7514
  • Der“Balance Sheet“ PFD Export  schlägt fehl(OFBIZ-7515)
  • Der „Order Discount“-Report schlägt fehl (OFBIZ-7315)
  • Der „Product Demand“-Report schlägt fehl (OFBIZ-7316)
  • Fehler auf der „Product Detail“-Seite (OFBIZ-7212)
  • UI Fehler in der Projekt Übersicht (OFBIZ-7305)
  • Fehlende, notwendige, clientseitige Validierung beim Senden eines BIRT Reports per Mail (OFBIZ-7421)
  • Falsche UI Labels für „Forum group name“ in den Screens „forum group roles“ und „purposes“ (OFBIZ-7676)
  • Fehler: Invalid content was found starting with element ‚xls‘ (OFBIZ-7699)
  • Fehler beim Kündigen eines Vertrages (OFBIZ-7143)
  • Beim Hinzufügen eines neuen Skills zu einer Party, verschwinden alte Skills aus der „Party Skill“-Liste (OFBIZ-7560)
  • Entfernen von versehentlich hinzugefügtem Code (OFBIZ-7571)
  • Beim Anlegen einer „Party Invitation“ wird ein eingetragener „toName“ nicht abgespeichert (OFBIZ-7599)
  • Das Anlegen einer neuen „Communication“ aus LEAD in SFA schlägt fehl (OFBIZ-6421)
  • Das „alt-target“ Tag im Form Widget funktioniert nicht, wie erwartet (OFBIZ-7513)
  • „Checks –> Print (PDF)“ sollte in einem neuen Fenster geöffnet werden (OFBIZ-7193)
  • Wenn beim duplizieren einer Kategorie die Option „duplicate feature“ angewählt ist, werden auch die mit der Kategorie verbundenen „Product Feature Groups“ dupliziert. (OFBIZ-7258)
  • Betrifft einige Komponenten: Checkboxen und Radio Buttons sollten ausgewählt werden, wenn auf ihr Label geklickt wird ([OFBIZ-7577][98]) ([OFBIZ-7578][99]) ([OFBIZ-7580][100]) ([OFBIZ-7582][101]) ([OFBIZ-7583][102]) ([OFBIZ-7584][103]) ([OFBIZ-7585][104]) ([OFBIZ-7667][105]) ([OFBIZ-7668][106]) ([OFBIZ-7669][107])
  • Die Checkbox „ALL“ für das Status Feld in der Bestellungsliste funktioniert nicht korrekt ([OFBIZ-7553][108])
  • Aus „Party Manager“ können keine „Product Store“-Rollen angelegt werden ([OFBIZ-7518][109])
  • Preisfehler in „Variant Products“ beim Aufsetzen mit VAT und einem Preis für ein virtuelles Produkt ([OFBIZ-6576][110])
  • Die „Issue Component“ Option beachtet die teilweise Ausgabe von Komponenten nicht in der Berechnung der erforderlichen Ausgabemenge ([OFBIZ-7512][111])
  • Im „List Survey“-Screen kann „thruDate“ nicht gesetzt werden, wenn mehr als ein „Survey“ verfügbar ist ([OFBIZ-7703][112])
  • Bei einer erfolgreich angewendeten Promotion sollte eine Erfolgsmeldung ausgegeben werden ([OFBIZ-7654][113])
  • Das „Tasks“ Menü wird in der Scrum Komponente nicht als ausgewählt angezeigt, wenn es angeklickt wird ([OFBIZ-7652][114])
  • Liefergebühren werden auf 0 gesetzt, wenn die Menge der bestellten Items verändert wird. ([OFBIZ-7063][115])
  • Fehler beim Start mit einer Derby Datenbank „Error adding foreign key: ModelEntity was null for related entity name Tenant“ (OFBIZ-7750)
  • Fehlendes Feld „parentTypeId“ in der DeductionType Entität ([OFBIZ-7751][116])
  • Im „XML Data Export“-Screen ist das Label „Entity Names“ nicht richtig positioniert, ausserdem ist die Text Box „Entity Sync Dump“ in sämtlichen Themes ausser Tomahawk unsichtbar ([OFBIZ-7443][117])
  • Inkonsistente UI für die Buttons „Update“ und „Expire“ im „Facility Contact Information“-Screen ([OFBIZ-7342][118])
  • Falscher Pfad für AddedNoteCustRequestNotification.ftl in CustRequestScreens.xml
  • Die Pagination der Übersicht der Fragen in EditSurveyQuestions.ftl funktioniert nicht richtig ([OFBIZ-6214][119])
  • Katalog: Die „Product Store Group“ eines „Product Store Group Liste Items“ öffnet sich nicht, wenn sie angeklickt wird ([OFBIZ-7361][120])
  • Umstellen von Minilang Code, indem das veraltete „call-bsh“ Element genutzt wurde, auf Nutzung des „script“ Elementes mit Groovy ([OFBIZ-7765][121])
  • Diverse Fehler im Gradle Eclipse Plugin ([OFBIZ-7779][122])
  • Fehler im OFBizSetup „Create Customer“ Schritt ([OFBIZ-7797][123])
  • IterateOverActiveComponents existiert zwei Mal ([OFBIZ-7749][124])
  • Entfernen von ungenutzten Imports aus Groovy Dateien in den Komponenten workeffort und hhfacility ([OFBIZ-7761][125]) ([OFBIZ-7829][126])
  • „File not found“ Exception in „export to ebay“ ([OFBIZ-7700][127])
  • Der „Run MRP“-Screen zeigt Facilities aller Typen an, anstatt nur jene, die den Type „WAREHOUSE“ haben ([OFBIZ-7168][128])
  • Beim Hinzufügen von Items zur „shopping list“ ist das „Product look-up“ nicht verfügbar ([OFBIZ-7823][129])
  • Umbenennen von selectall.js zu OfbizUtil.js ([OFBIZ-1319][130])
  • Fehlende UiLabels in Beispiel PDF ([OFBIZ-7525][131])
  • Das Attribut Name sollte beim Verändern eines „Party Attribute“-Records nicht editierbar sein ([OFBIZ-7561][132])
  • Das Anlegen eines „CustReq“ aus einem „CommEvent“ zeigt einen Fehler an ([OFBIZ-7435][133])
  • „FromDate“und „ThruDate“ werden bei „Workeffort Children“ als leer angezeigt ([OFBIZ-7663][134])
  • Fehlerhafter Link zu „View Customer Request“ in Kundenmails ([OFBIZ-7844][135])
  • Das Rendering von „Parent Comm Event Id“ in der „Edit Communication Event“ ist verzerrt ([OFBIZ-7840][136])
  • Fehlende UI Label Resource im Main-Decorator der SFA Komponente ([OFBIZ-7825][137])
  • Der „Party Content“ in der Party Komponente kann nicht verändert und dann abgespeichert werden ([OFBIZ-7612][138])
  • Fehler in der „Lead Profile“-View in der SFA Komponente, wenn in der „quick add“-Form eine Gruppe eingegeben wird ([OFBIZ-7843][139])
  • Fehler beim Zurücknavigieren aus dem „Edit Contact Mech“-Screen in der Scrum Komponente ([OFBIZ-7712][140])
  • „parentCommEventId“ wird von „Edit Communication Event“ nicht als Parameter übergeben ([OFBIZ-7752][141])
  • Unerwünsche Input Box im „Order List“-Screen ([OFBIZ-7836][142])
  • Entfernen von alten OFBiz Bildern aus dem images Ordner ([OFBIZ-7919][143])
  • Gradle tasks laufen unter Windows nicht ([OFBIZ-7815][144])
  • ListGlAccountsReport sollte in einem neuen Fenster geöffnet werden ([OFBIZ-7925][145])
  • Die Pagination durch „Marketing Campaigns“ funktioniert nicht ([OFBIZ-7922][146]
  • „find Total Backlog Item“ in der Scrum Komponente funktioniert nicht, wenn eine nicht-englische Sprache gesetzt ist ([OFBIZ-7929][147])
  • Fehler beim Anlegen einer „PartyTaxAuthInfo“ ([OFBIZ-7442][148])

[98]: https://

issues.apache.org/jira/browse/OFBIZ-7577 [99]: https://issues.apache.org/jira/browse/OFBIZ-7578 [100]: https://issues.apache.org/jira/browse/OFBIZ-7580 [101]: https://issues.apache.org/jira/browse/OFBIZ-7582 [102]: https://issues.apache.org/jira/browse/OFBIZ-7583 [103]: https://issues.apache.org/jira/browse/OFBIZ-7584 [104]: https://issues.apache.org/jira/browse/OFBIZ-7585 [105]: https://issues.apache.org/jira/browse/OFBIZ-7667 [106]: https://issues.apache.org/jira/browse/OFBIZ-7668 [107]: https://issues.apache.org/jira/browse/OFBIZ-7669 [108]: https://issues.apache.org/jira/browse/OFBIZ-7553 [109]: https://issues.apache.org/jira/browse/OFBIZ-7518 [110]: https://issues.apache.org/jira/browse/OFBIZ-6576 [111]: https://issues.apache.org/jira/browse/OFBIZ-7512 [112]: https://issues.apache.org/jira/browse/OFBIZ-7703 [113]: https://issues.apache.org/jira/browse/OFBIZ-7654 [114]: https://issues.apache.org/jira/browse/OFBIZ-7652 [115]: https://issues.apache.org/jira/browse/OFBIZ-7063 [116]: https://issues.apache.org/jira/browse/OFBIZ-7751 [117]: https://issues.apache.org/jira/browse/OFBIZ-7443 [118]: https://issues.apache.org/jira/browse/OFBIZ-7342 [119]: https://issues.apache.org/jira/browse/OFBIZ-6214 [120]: https://issues.apache.org/jira/browse/OFBIZ-7361 [121]: https://issues.apache.org/jira/browse/OFBIZ-7765 [122]: https://issues.apache.org/jira/browse/OFBIZ-7779 [123]: https://issues.apache.org/jira/browse/OFBIZ-7797 [124]: https://issues.apache.org/jira/browse/OFBIZ-7749 [125]: https://issues.apache.org/jira/browse/OFBIZ-7761 [126]: https://issues.apache.org/jira/browse/OFBIZ-7829 [127]: https://issues.apache.org/jira/browse/OFBIZ-7700 [128]: https://issues.apache.org/jira/browse/OFBIZ-7168 [129]: https://issues.apache.org/jira/browse/OFBIZ-7823 [130]: https://issues.apache.org/jira/browse/OFBIZ-1319 [131]: https://issues.apache.org/jira/browse/OFBIZ-7525 [132]: https://issues.apache.org/jira/browse/OFBIZ-7561 [133]: https://issues.apache.org/jira/browse/OFBIZ-7435 [134]: https://issues.apache.org/jira/browse/OFBIZ-7663 [135]: https://issues.apache.org/jira/browse/OFBIZ-7844 [136]: https://issues.apache.org/jira/browse/OFBIZ-7840 [137]: https://issues.apache.org/jira/browse/OFBIZ-7825 [138]: https://issues.apache.org/jira/browse/OFBIZ-7612 [139]: https://issues.apach

e.org/jira/browse/OFBIZ-7843 [140]: https://issues.apache.org/jira/browse/OFBIZ-7712 [141]: https://issues.apache.org/jira/browse/OFBIZ-7752 [142]: https://issues.apache.org/jira/browse/OFBIZ-7836 [143]: https://issues.apache.org/jira/browse/OFBIZ-7919 [144]: https://issues.apache.org/jira/browse/OFBIZ-7815 [145]: https://issues.apache.org/jira/browse/OFBIZ-79

25 [146]: https://issues.apache.org/jira/browse/OFBIZ-7922 [147]: https:

//issues.apache.org/jira/browse/OFBIZ-7929 [148]: https://issues.apache.org/jira/browse/OFBIZ-7442