Neuigkeiten in der Apache OFBiz Community
Willkommen bei der monatliche Zusammenfassung der News aus der OFBiz Community.
In diesem Monat geht es um eine neue Dokumentationsinitiative zur Erstellung eines Geschäftsprozess Referenz-Leitfadens, den Relaunch der Apache OFBiz Webseite in neuem Design, der Anpassung des Look & Feel für den offiziellen OFBiz Blog und zwei neue Committer in den Reihen der Community.
Neue OFBiz Webseite
In vorherigen Updates haben wir bereits über die Arbeit an der neuen Webseite berichtet. Diese lief bereits einige Zeit und nun berichtet das Projekt mit Stolz vom GoLive der neuen Seite. Die Webseite besitzt das neue Logo und hat ein komplett neues Design.
Der Hauptfokus lag darauf, Entwicklern und OFBiz Usern den Start zu erleichtern und grundlegende Informationen schneller zu finden. Nach dem Start wurden noch weitere Anpassungen und Verbesserungen auf Grundlage von Feedback aus der Community vorgenommen. Die Rückmeldungen zu der neuen Webseite waren äußerst positiv. An weiteren Inhalten wie einer Liste der Service Provider und umfangreichen FAQ’s wird auch weiterhin gearbeitet.
Das Projekt dankt allen Beteiligten, insbesondere Kenneth Paskett für das Grafikdesign sowie Deepak Dixit und dem Apache Infrastrukturteam für Ihre Hilfe beim Livegang der Webseite.
Optimierung des Blog Templates
Infolge der Arbeit an einem neuen Logo und der neuen Webseite wurde in der Community auch über die Verbesserung des Blogtemplates diskutiert.
Kenneth Paskett, der bereits das Grafikdesign für Logo und Webseite entworfen hat, hat einen Vorschlag für ein neues Blog Layout zur Verfügung gestellt. Die Comunity freut sich über eine rege Beteiligung an der Diskussion und Feedback.
OFBiz Geschäftsprozess Referenz-Leitfaden
Ein weiteres Thema drehte sich um die Erstellung eines OFBiz Geschäftsprozess-Leitfadens.
Das Feedback dazu war sehr positiv und die Arbeit daran hat bereits begonnen. Ziel ist es, einen Prozessüberblick für alle Bereiche der OFBiz Funktionalität bereitzustellen. Dies beinhaltet u.a. Aktivitätsdiagramme, User Stories, Use Cases und Testfälle.
Ein Beispiel für das Sales Order Management kann unter den folgenden Links abgerufen werden:
Die Hauptseite für diese Dokumentation befindet sich hier.
Der Dank geht an die Initiatoren Shivangi Tanwar, Sonal Patwari, Priya Sharma, Humera Khan, Renuka Srishti, Jagpreet Kaur und Pranay Pandey für Ihre Arbeit an dieser wichtigen Dokumentation, die potentiellen OFBiz Usern sicherlich weiterhilft.
Neue OFBiz Committer
Im August hat das Project Management Committee (PMC) zwei Mitglieder eingeladen, Committer zu werden, Rishi Solanki and Akash Jain. Herzlichen Glückwunsch Rishi und Akash!
Neue Features und Verbesserungen
Funktionelle Erweiterungen und Optimierungen sowie Updates von Bibliotheken und Source Code Refaktorisierung:
Framework
- Ersetzt nicht Primärschlüsselfelder id-ne, id-long-ne und id-vlong-ne je mit id, id-long und id-vlong (OFBIZ-9355)
- Entfernt unnötige Feld Typen, entfernt außerdem -ne Feldreferenzen aus dem Code. (OFBIZ-9351)
- Entfernt die nie implementierte deleteParty Funktion. (OFBIZ-9556)
- Refaktorisiert EntityListIterator (OFBIZ-9549)
- OEM Party Id field sollte einen Lookup auf der Produkt Bearbeitungsseite haben (OFBIZ-9368)
- Entfert manufacturerPartyId von Product Entität
- Entfernt die Relationen zu den view-entities, GoodIdentificationAndProduct
- Entfernt es aus den Formularen EditProduct, SearchInventoryItemsParams und SearchInventoryItemsDetailsParams
- Bugfixes FindBugs
- Paket org.apache.ofbiz.base.lang (OFBIZ-9564)
Implementiert Methode hashCode(), da equals() implementiert wurde, Ändert Exception zu RuntimeException um die Intention des catch-Blocks klarer zu machen. - Paket org.apache.ofbiz.base.lang.test (OFBIZ-9565)
Nutz den Diamond Operator - Paket org.apache.ofbiz.base.concurrent (OFBIZ-9562)
Nutzt den Diamond Operator, Implementiert explizite equals und hashCode Methoden, extrahiert Code in timeDiff Methode - Paket org.apache.ofbiz.base.container (OFBIZ-9563)
Nutzt den Diamond Operator, entfernt mehrere unnötige null-Checks, fügt null-Check ein, entfernt mehrere überflüssige else-Zweige - Paket org.apache.ofbiz.base.config (OFBIZ-9566)
Setzt protected Felder auf private, sollten sie woanders gebraucht werden, sollten Getter implementiert werden, die diese Felder immutabel bereitstellen. Fängt Exceptions explizit um nicht ungewollt RuntimeExceptions zu fangen. Extrahiert getLoader() Methode, Entfernt eine unnötig geworfene Exception, Entfernt überflüssigen Cast. - Paket org.apache.ofbiz.base.metrics (OFBIZ-9567)
Benutzt Double Division, statt Integer Division - Paket org.apache.ofbiz.accounting.thirdparty.gosoftware. (OFBIZ-9486)
- Paket org.apache.ofbiz.accounting.finaccount (OFBIZ-9504)
FinAccountPaymentServices.finAccountPreAuth(DispatchContext, Map) Behebt unnötigen null-Check - Paket org.apache.ofbiz.accounting.ledger. (OFBIZ-9505)
- Paket org.apache.ofbiz.accounting.period and org.apache.ofbiz.accounting.tax. (OFBIZ-9527)
- Paket org.apache.ofbiz.base.component. (OFBIZ-9560)
- Paket org.apache.ofbiz.base.lang (OFBIZ-9564)
- Fügt im ModelService die Möglichkeit ein einen Service als deprecated zu markieren. (OFBIZ-9558)
- Ermöglicht OFBiz Anbindung an eine Read-Only Datenbank durch neue DAO Hilfsklasse. (OFBIZ-6401)
- Methoden als deprecated markiert
- OrderChangeHelper (OFBIZ-9570)
Wurde mit dem Ersetzen der Workflow Engine durch die ECA abgelöst.
- OrderChangeHelper (OFBIZ-9570)
- Entfernt unnötige lokale Variable. (OFBIZ-9529)
- ServiceSemaphore: Überprüft das Vorhandensein einer Transaktion, bevor sie pausiert wird. (OFBIZ-9401)
- Ersetzt BigDecimal.ROUND_* durch RoundingMode.* (OFBIZ-9571)
- Entfernt Logging für nicht technisch bedingte ServiceSemaphoreExceptions in GenericServiceJob.failed(Throwable) (OFBIZ-9400)
- Implementiert neue Funktion UtilMisc#collectionToString() um eine Stringrepresentation aus einer Collection zu erstellen. (OFBIZ-9397)
- Indikator für Pflichtfelder fehlt in manchen Formularen. (OFBIZ-9579)
- Indikator für Pflichtfelder und Formvalidierung fehlen in dem CreateNewDataSource Formular (OFBIZ-7462)
- Indikator für Pflichtfelder fehlt in CreateContactList Formular (OFBIZ-9587)
- Prüft auf Whitespaces um den Namen eines Formular Feldes, wenn ein Formular aktualisiert wird. (OFBIZ-9306)
- (De-)Aktivieren von JMS durch Konfigurationsdatei (OFBIZ-4454)
- Clientseitige Validierung von der Account Transaction Process Schnellerstellung fehlt. (OFBIZ-9583)
- EmailServices.sendMailFromScreen verbessert, um mehrere Anhänge mit den passenden Typen zu unterstützen. (OFBIZ-9395)
- Überschreiben des BCC der ProductStoreEmailSettings in OrderServices.sendOrdernNotificationScreens, analog zum CC
- Implementiert UtilValidate.isEmailList(String) um eine Komma separierte Liste von E-Mail Adressen zu validierten.
- Im Gegensatz zu vorher, ist der Typ des E-Mail Anhangs abhängig von der angehängten Datei. Der Body Type der E-Mail ist nun auch konfigurierbar.
- Plaintext Anhänge werden nicht mehr mit FOP gerendert, sonder mit einem Plaintext Renderer. Somit können auch bspw. CSV Dateien verschickt werden.
- Benutzt auto-attributes in ProductFeatureCategory CRUD Services (OFBIZ-9608)
- Implementiert explizite UEL (unified expression language) Funktion, um UILabels aufzulösen, anstatt einen Umweg über Inline Groovy und statische Funktionen zu gehen. (OFBIZ-9617)
- Implementiert Gültigkeitsdauer von zum Marketing gehörenden Entitäten durch fromDate und thruDate Felder. (OFBIZ-9550) MarketingCampaignPrice, MarketingCampaignPromo, MarketingCampaignRole
- Benennt Marketing CRUD Services für bessere Namenskonsitenz um. Die alten Services wurden als deprecated markiert:
- addPromoToMarketingCampaign ersetzt durch createMarketingCampaignPromo
- removePromoFromMarketingCampaign ersetzt durch deleteMarketingCampaignPromo
- addPriceRuleToMarketingCampaign ersetzt durch createMarketingCampaignPrice
- removePriceRuleFromMarketingCampaign ersetzt durch deleteMarketingCampaignPrice
- common-theme Upload (OFBIZ-9138) Migrieren von vorhandenen Themes in die common-theme Komponente. Auflösung des verwendeten Themes vereinheitlichen.
- Verschiebt alle Daten der Anwendungen in die Datenmodell Komponente. (OFBIZ-9501) (content, workeffort, product)
- Nutzer sollte eine Erfolgsnachricht erhalten, wenn einem Akteur eine Notiz hinzugefügt wird. (OFBIZ-9538)
- Behebt falsche Erfolgsnachricht nach der Erstellung einer Lead im CRM Manager. (OFBIZ-9518).
- Nutzt das from-field Muster in ’set‘ Element. (OFBIZ-9607)
- Beim Erstellen einer neuen Lead sollte die Lead Source verknüpft sein. (OFBIZ-9588)
- Refaktorisieren von OFBiz Containern (OFBIZ-9441)
- Refaktorisiert EntityDataLoadContainer
- Refaktorisiert TestRunContainer
- Entfernt den Großteil der alten Dokumentation und auskommentieren Code.
- Löschen des StratupCommandToArgsAdapter
- Erstellt neues Feature, wodurch OFBiz abbricht, wenn irgendeine Daten haltende Datei nicht geladen werden kann. Lässt sich durch das Flag „continue-on-failure“ überschreiben.
- Fügt neue Einstellung „loglevel“ zu –test hinzu.
- Fügt viele neue Einstellungen zu –load-data hinzu, unter anderem repair-columns, try-inserts, maintain-txs, etc …
- Erweitert Ausgabe von „ofbiz –help“ und die README.md um die neuen Einstellugen.
Plugins
- Ersetzt alle nicht Primärschlüssel Felder id-ne, id-long-ne und id-vlong-ne jeweils durch id, id-long und id-vlong (OFBIZ-9355)
- Entfernt ne Referenzen aus BirtUtil (OFBIZ-9351)
- OEM Party Id Feld sollte einen Lookup in der Produkt Bearbeiten Seite haben (OFBIZ-9368)
- Entfernt doppelten Eintrag für einen Feld Typen aus BirtUtil.
- Ändert alle
in Screens und Groovy Skripten, die die widget.properties benutzen, zu Aufrufen des ModelThemes. (OFBIZ-9138) - Benutzt das from-field Muster im ’set‘ Element (OFBIZ-9607)
Bugfixes
Funktionelle und technische Fehlerbehebungen
Framework
- Fehler im SQL Count Distinct Befehlt und der GenericDAO (OFBIZ-5701)
- NullPointerException wenn OFBiz zu einer Read Only Datenbankt verbunden wird und der Helper keine Wert zurückgibt. (OFBIZ-6401)
- Bugfixes FindBugs
- Paket org.apache.ofbiz.accounting.payment (OFBIZ-9529)
- Fehlende fieldInfo beim Konstruktoraufruf der ModelFormFields Passwort, Datei und Lookup (OFBIZ-9577)
- Collection hat zu sich selbst hinzugefügt (OFBIZ-9578)
- LabelManager sucht nicht nach Labels in .groovy Dateien (OFBIZ-8153)
- Ecommerce login/logout funktioniert für trunk und stable nicht (OFBIZ-9240)
- Konsistenz und Lesbarkeit Verbesserungen
- für view-map tag (OFBIZ-9110) Reihenfolge von name, type, page
- für make-value tag (OFBIZ-8986) Reihenfolge von entity-name, value-field
- Säubert marketing-entitymodel.xml (OFBIZ-9550)
- MimeType wird mit HTML kodierten Zeichen angezeigt (OFBIZ-9621)
- Korrigiert alle Theme.xml Dateien durch eine Theme Definition mit gutem xmlns (OFBIZ-9138)
- Aktualisiert abgelösten Element Typen, der gemischt als true in services.xsd steht, da er gemischt benutzt wird.
- Warnung für doppelte Typ Zuordnung für das widget Attribut in theme.xsd.
- Entfernt unbenutzte attribute sequenceId von dem property Element.
- Logo Bild fehlte im Tomahawk Theme
- Entfert visualThemeSetId aus dem common theme. (OFBIZ-9138)
- NullPointerException beim Aufruf von EntityQuery#getFieldList, wenn distinct nicht explizit gesetzt ist. (OFBIZ-9624)
- Korrigiert Library FTL Aufruf zum Rendern des E-Mail Körpers. Fügt die Möglichkeit ThemeFactory.resolveTheme() mit einem leeren Request aufzurufen, wenn das visualTheme nicht im Service Kontext gefunden wurde. (OFBIZ-9138)
- Lead Profil URL funktioniert nicht im CRM Manager. (OFBIZ-9512)
- Verbesserungen in LabelReferences (OFBIZ-9623)
- LabelManager sucht nicht alle Labels in allen Elementen in XML Dateien (OFBIZ-9606)
- Aktualisiert Bild-Komponentenpfade, da die Bild-Komponenten entfernt wurden und nun Teil der common-theme Komponente sind.
- Benennt die URL der Gradle Tab-Vervollständigung zu der offiziellen um.
- Kunden anlegen nicht möglich (OFBIZ-9649)
- Groovy MissingPropertyException im Theme Prozess (OFBIZ-9657)
- Akteur Kommunikations Screen ist fehlerhaft (OFBIZ-9670)
- Jgrowl Konfiguration ist mit dem common-theme verloren gegangen (OFBIZ-9138)
- Die Lookup Einstellung showDescription fehlt im common-theme (OFBIZ-9138)
- HtmlFormMacroLibary.ftl hat einen direkten Aufruf für widget.properties (OFBIZ-9138)
Plugins
- Konsistenz und Lesbarkeit Verbesserungen
- für view-map tag (OFBIZ-9110) Reihenfolge für view-map Elemente: name, type, page
- für make-value tag (OFBIZ-8986) Reihenfolge für make-value Elemente: entity-name, value-field
- Korrigiert Library FTL Aufruf zum Rendern des E-Mail Körpers. Fügt die Möglichkeit ThemeFactory.resolveTheme() mit einem leeren Request aufzurufen, wenn das visualTheme nicht im Service Kontext gefunden wurde. (OFBIZ-9138)
- Aktualisiert Bild-Komponentenpfade, da die Bild-Komponenten entfernt wurden und nun Teil der common-theme Komponente sind.
- Benutzt Semikolon anstelle eines Kommas um CSS Statements zu terminieren
- Bildpfad wird auf der Produkt Detail Seite HTML kodiert angezeigt (OFBIZ-9654)
- Stack Trace auf der E-commerce Homepage (OFBIZ-9652)
- Kunden anlegen nicht möglich (OFBIZ-9649)