Anfang des Jahres hat sich eine Menge getan im Apache OFBiz Projekt. Verschiedene Bug Crush Events und eine höhere Beteiligung der Commmunity hat viele Verbesserungen und Fehlerbehebungen hervorgebracht, daher ist dieser Blogbeitrag diesmal etwas länger als gewohnt.
Neue Features und Verbesserungen
Funktionelle Erweiterungen und Optimierungen sowie Verbesserungen im Code und der Codestruktur:
- Merge des SEO Entwicklungszweiges in den Hauptentwicklungszweig, dies erweitert die SEO Funktionalitäten in OFBiz. Mehr dazu in einem weiteren Blogbeitrag.
- EntityClassLoader: eine verbesserte Implementierung als die bisherige EntityProperties Implementierung. Enthält ein Beispiel im ControlServlet (auskommentiert).
- UI Label Dateien aktualisiert, so dass sie nun ein Schema referenzieren.
- XML Validierung für properties Dateien.
- Code Verbesserungen in UtilProperties.java
- redundanten Cache und unnötigen synchronized Block entfernt.
- Sicherstellen, das der InputStream geschlossen wird.
- unnötigen Resource Check in UtilURL.java entfernt.
- Erweiterung des Service createPartyRelationshipAndRole mit den neuen Services ensurePartyRoleFrom und ensurePartyRoleTo (OFBIZ-5905) inkl. Unit Tests.
- Nicht verwendete Methoden aus UtilURL.java entfernt und Javaodocs ergänzt, URL lookups optimiert.
- Rewrite ModelMenuItem und ModelMenuAction um es Thread safe zu machen.
- Refactoring des Tree Widgets und Tree Widget wird Thread safe gemacht.
- Codeverbesserungen in ModelForm.java, optimiertes Handling von Attributen beim Erweitern eines Form Widgets.
- Form Widget Verbesserungen: Fokus auf das erste Element setzen beim Rendern eines einzelnen Formulars.
- Herauslösen des Grid Widgets aus dem Form Widget, Update des Widget Visitor für das neue Grid Widget, redundanten Code in den neuen Widget Klassen entfernt.
- Aufgabenübersicht/Tasks
- Links führen nun zu den abhängigen Aufgaben/Tasks anstatt zur Übersicht der Abhängigkeiten.
- Berechtigungssteuerung angepasst (OFBIZ-5833).
- Erweiterung des Datenmodells bzw. der Seeddaten ermöglicht nun die Rückgabe von Produkten vom Typ RAW_MATERIAL (OFBIZ-3669).
- CRUD Services von simple auf entity-auto umgestellt für
- Agreement Entities (OFBIZ-5955), dies betrifft Agreement, AgreementItem, AgreementPromoAppl, AgreementProductAppl, AgreementPartyApplic, AgreementGeographicalApplic, AgreementRole, AgreementWorkEffortApplic,
- BudgetRole Service (OFBIZ-5900),
- Invoice (OFBIZ-5957),
- CostComponentCalc and WorkEffortCostCalc (OFBIZ-5958),
- BillingAccount (OFBIZ-5963), weitere Optimierungen: Servicedefinition nutzt nun auto-fields-entity, neuer Service createBillingAccountAndRole,
- FixedAsset (OFBIZ-5992): FixedAsset, FixedAssetProduct, FixedAssetStdCost, FixedAssetIdent, FixedAssetRegistration, FixedAssetMaint, FixedAssetMaintOrder, PartyFixedAssetAssignment, FixedAssetTypeGlAccount,
- DataSource, Enumeration und Note.
- Checkout Shipping Address/Options: Layout verbessert und Markup überarbeitet (OFBIZ-4457).
- Screen Widget Überarbeitungen, Refactoring.
- Niederländische Übersetzungen hinzugefügt in CommonEntityLabels.xml, CommonUiLabels.xml (OFBIZ-6016).
- HR Hilfeseiten aktualisiert (OFBIZ-6015).
- Portal Management Funktionen nach MyPortal verschoben, damit User ohne Berechtigung für die Webtools darauf zugreifen können (OFBIZ-5812).
- Masseinheit an der Menge anzeigen im Production Run Formular (OFBIZ-5752).
- Unterstützung für Filter in performFind and prepareFind (OFBIZ-4374). Da dies schwer zu testen ist wurde eine neue Test Suite performfindtests eingeführt.
Bugfixes
Funktionelle und technische Fehlerbehebungen:
- Tree Rendering (OFBIZ-5313).
- UtilValidate.isCreditcard prüft nun, ob die Kreditkartennummer numerisch ist (OFBIZ-3464).
- Pack Order Workflow war fehlerhaft (OFBIZ-5925).
- Falsche quantityNotAvailable für OrderItemShipGrpInvRes beim Zuordnen von Bestellpositionen zu Sendungen (OFBIZ-5364).
- Fehler in der Entity Engine der verhinderte, dass Daten in ein Byte-Array Feld geschrieben wurden.
- Web Tools FindGeneric Screen wurde korrigiert, so dass er Byte-Array Feldtypen anzeigen kann.
- Fehlendes Attribut zu ofbiz-properties.xsd hinzugefügt.
- Ungültiges Element aus der CommonUiLabels.xml entfernt.
- ModelFormField.java: Prüfung auf vorhandenen Key eingebaut, der eine IllegalArgumentException verhindert wenn Werte für die Formularfelder gezogen werden und es sich bei der Map um eine GenericEntity handelt (OFBIZ-5944).
- Debug.java: static initializer Rekursion verhindern.
- FlexibleLocation.java: optionale locationresolvers.properties Datei wurde aufgrund einer static initializer Rekursion nicht geladen.
- Dialogfenster funktionierte für Web POS Screens nicht (OFBIZ-5939).
- addOrderShipmentToShipment gab keine shipmentItemSeqId zurück (OFBIZ-5950).
- Staat/Bundesland Dropdown enthielt falsche Werte wenn Kanada im Länder Dropdown ausgewählt wurde (OFBIZ-5933).
- Fehler beim Hinzufügen einer Menge weniger 1 aber größer 0 in den Warenkorb (OFBIZ-5941).
- GlReconciledFinAccountTrans.ftl falsche Feldzuordnung behoben (OFBIZ-5945).
- Lagerverwaltung: Fehler bei der Verwendung von Mengen mit mehr als 2 Nachkommastellen (OFBIZ-3666).
- Environment Variablen aus expanded values (bspw. ${userLogin.partyId}) wurden unzulässig gecached und im ServiceEcaSetField wiederverwendet, auch wenn sich der Context geändert hat.
- Speichern der Lieferantenbeziehung verbessert (OFBIZ-3764).
- GenericDelegator: sicherstellen, das der EntityListIterator nach Gebrauch immer geschlossen wird.
- Absenden des Kontaktformulars zeigte keine Meldung und hat keine E-Mail versandt.
- ProductForms.xml: Produktkostenseite Actions verursachten falsche Listings (OFBIZ-5951).
- CatalogUrlServlet: wurde eine Kategorie mit einer categoryId erzeugt (automatisch oder manuell), die einer productId entsprach, so wurde dieses Produkt in der „Browse Category“ Sicht des eCommerce Moduls angezeigt.
- Fehlermeldung bei dem Versuch, sich für eine Contact List anzumelden (OFBIZ-3433).
- Bestellsuche
- Filterung war fehlerhaft (OFBIZ-5999),
- Suche nach Bestellname eingebaut (OFBIZ-5969).
- Featured Products auf der Startseite des eCommerce Moduls: die mittlere Spalte überdeckte die rechte Spalte (OFBIZ-2602).
- Fehler bei der Verlinkung auf OFBiz von einer anderen Webseite, „framework/images/webapp/images/fieldlookup.js“ warf einen javascript error in Google Chrome (OFBIZ-5968).
- Tippfehler in scrumForms.xml Formular TotalProdBacklog behoben (OFBIZ-5979).
- Demodaten korrigiert: fehlende Lagermengen für GC-002 hinzugefügt, damit das Mengenfeld in ecommerce/gift-card-reload-GC-002-p korrekt angezeigt wird (OFBIZ-5914).
- Fehler in den Portal Menü Items behoben (OFBIZ-6022).
- Layoutfehler in ViewQuoteItemInfo.ftl behoben (OFBIZ-6030).
- Fehler in den form widget models behoben, bei denen ein default type unter bestimmten Bedingungen nicht zur Verfügung gestellt wurde (OFBIZ-6037).
- JobManager: Deadlock Problem beim Start behoben.
- NPE in ModelViewEntity behoben.
- Fehler aus dem letzten Widget Refactoring behoben (OFBIZ-6041).
- Fehler in „Convert Lead“ behoben (OFBIZ-6049).
Dokumentation
Verbesserung und Erweiterung der allgemeinen Dokumentation
- README vervollständigt
- Verwenden von jdk1.7 anstatt jdk1.6,
- Befehl zum direkten Starten von OFBiz über Ant.