Friday, March 16, 2007

OFBIZ Development r519070

140 new commits over the last two weeks. The SVN has undergone some significant fluctuations but appears to have stabilized. SVN r 519070 builds and installs successfully. Key changes were:
  1. Changes to framework and service engine and new testing XML tools.
  2. New content management driven CMS Site example.
  3. New features to receive against purchase orders in facility shipping
  4. Improved support for serialized inventory



Accounting
  • cleanup the code that creates a refNum for payment transactions. (r 514204)
  • Removed mainAccountingDecorator and replaced references to it with "main-decorator", as it doesn't appear to serve any purpose. (r 514294)
  • Fixed bug where expired cc cards associated to a billing address, prevented the billing address to be updated. (r 516004, 516005)
  • Support rollback of shipping on failed credit card capture, controlled by the ProductStore.shipIfCaptureFails (r 517342)
Asset Maintenance
  • printing a fixed asset maint (r 516580)
Base and Framework
  • updated widget xsd's to reflect recent changes (r 514191)
  • fix string comparison in multi-service event handler. (r 514196)
  • Changed default for the optional attribute on the implements element from false to true, because as is ALL attributes are being set to optional (r 514243)
  • Changed the service ECA and MCA attribute runAsUser to run-as-user. The runAsUser attributes will still be parsed. (r 514251, 514602, 514603)
  • Changed minilang xsd to represent the fact that calcop -> field-name is optional (r 514617)
  • Added stub and xsd file extension for entity-xml-assert test case in minilang and in entity engine for testing (r 515235, 515285, 515340, 515391)
  • fix error message list handling in minilang; small change to use FastList instead of LinkedList (r 515870)
  • ServiceTest implementation (r 515876)
  • UtilValidate.isEmpty for Object (r 515877)
  • changed resourceDescription for permissionInterface to optional; will get set if not passed in the service engine BUT needs to get passed validation first (r 515902)
  • Added simple-method-test to call a simple-method as a service, without a service definition (r 516253)
  • Changed service dispatcher name to not interfere with main name for service engine tests (r 516258)
  • Changed the way form widget checkboxes worked. (r 516317)
  • Implemented form widget multi select (r 516319)
  • Added a bunch of stuff to do a pseudo converstion from objects to List and Set by creating a List or Set and putting the object in it (r 516321)
  • Enhance CSS styles (r 516473)
  • Layout improvements (r 516468, 516478)
  • created a simple string output stream class (r 516635)
  • layout improvements for htmlformrenderer (r 516668)
  • Changed ofbizContentUrl to not NPE when there is no request in the context; now tries to do its best with the standard content prefix from url.properties; this was happening in the Order PDF with an image URL which should probably not use ofbizContentUrl in the first place, but now will at least work (r 517731)
Content
  • Fixed extraneous relationship definitions (r 514599)
  • fixed createContent error view (r 515886)
  • fixed optional fields on permission services (r 515903)
  • refactored renderContentAsText to invoke content services when called; now requires a dispatcher to render content; older methods have been removed. (r 516158, 516167)
  • Added RenderContentTransform which does both content and subcontent rendering. Linked to it in FreeMarkerWorker, but did not remove other transform defs. (r 516168)
  • Added "dataResourceTypeId" as unnneeded parameter to "updateElectronicText" so that "updateDataText" seca will work. (r 516200, 516207)
  • implemented (first pass) ContentMapFacade; used in the context of all content rendering. now can use id_CONTENTID for numeric content Ids (r 516199, 516228)
  • fixed updating data resource and update content (r 516234, 516252)
  • added quick way to create publish points for websites (r 516320)
  • updated facade/worker to support decorator content; added datamodel for decorator content (r 516516)
  • added menu container content type and added default page - website content assoc (r 516520, 516522)
  • implemented default page WS content type; changed URL_RESOURCE to support component:// resources (r 516536)
  • New CMS Site specialized application which is a demo application of a site driven by the content management application (r 516537, 516549, 516567, 516594, 516642, 516670)
  • updated a CMS content to include decorator content; (r 516548)
  • added support for URL_RESOURCE types (r 516574)
  • Added toString method that renders the content, ie default behavior when printed or treated as a String (r 516593)
  • Some cleanups, including more consistent use of cache settings; started add of link entry (r 516640)
  • Various cleanups in the cmsssite templates and data; implemented a change to support rendering the Content instead of the DataResource when it is decorated, which is necessary in order for the thisContent object to exist and function, which is necessary for including sub-content and such; also implemented the content map facade link element to get a link out of the context that the cms event puts in it (r 516669)
Manufacturing
  • Improved information in the MRP log with a new field (in the InventoryEventPlanned entity) to keep track of the event (order, requirement etc...) that originated the request. (r 515981, 515982)
  • Improved support for WIP (Work In Process) components in bill of materials, MRP and requirements. (r 516229)
  • Fixed production run screens and calendar screens. (r 516232, 516461, 516876, 516882, 517583)
  • Added support for facility groups in MRP: if a facility group is specified (instead of a facility id) the MRP will use the facilities in the group as warehouse facility (WAREHOUSE) and manufacturing facility (PLANT). (r 516798)
  • Improved the mrp event log with information about facilityId: - new facilityId field in the InventoryEventPlanned entity - removed the facility drop down box from the find event screen, now the correct facility is pulled by the event (r 516875)
  • Cleanup the bom simulation screen with better handling of tree levels. (r 516887)
  • Fix a bug where the MRP was considering cancelled components in the simulation. (r 517235)
  • Added to production runs support for serialized inventory creation. (r 517636)
  • Added new status of "proposed" to Requirement, that is the initial status of all the requirements proposed by the mrp. (r 519005)
Marketing
  • Removed unused includes and templates directories (r 518587)
Multiple Components
  • Remove some unused imports (r 514200)
  • Change null/empty validation method (r 514366)
  • Changed the service ECA and MCA attribute runAsUser to run-as-user. The runAsUser attributes will still be parsed. (r 514251, 514602, 514603)
  • Implemented new ProductStore.autApproveInvoice to control whether sales invoices are automatically approved (set to READY) (r 515660)
  • Cleanup of LocalDispatcher creation through the GenericDispatcher object; consolidates a bunch of code and hopefully simplifies a things; should also more permanently fix the weird problem we were having with the testing services a bit ago (r 516271)
  • Clean up redundant css settings in forms (r 516672)
  • extend support for parametric mainDecoratorLocation to all the screens. (r 516675)
  • fix layout issues (r 518696, 519046, 519070)
Order
  • Removed cvvNumber from CreditCard, added comment about use of securityCode on the OrderPaymentPreference which is where this should really be stored (r 515393)
  • small improvement in lead time display when not in stock changed to use availableToPromiseTotal; added caching support for productsummary call to make it perform reasonably (r 515648)
  • Fix potential bug with drop ship when a user accidentally selects a supplier party for a ship group but none of the items are actually drop shipped by that supplier (r 516192)
  • Fix bug in OrderReadHelper with wrong field (r 516965)
  • Small layout fix of OrderEntryTabBar (r 517135)
  • Fixed bug that was preventing the cancellation of an order item if the the ATP of the item was 0 or if the discontinuation date was passed. An order should be editable even if there are discontinued items in it. (r 517183, 517230)
  • Implementing ProductStore.autoApproveOrder (indicator) to govern whether orders are automatically approved during processPayment execution when payment is authorized. If empty or Y, orders will be approved. (r 517347)
  • show quantity picked on orderView screen to indicate quantity modifications to the order that could cause problems. (r 517520, 518496)
  • Implemented new service which creates Requirements for all the products in a facility with QOH under the minimum stock level (r 517602)
  • added orderName field to OrderHeaderItemAndRoles (r 518217)
  • The updateOrderStatusFromReceipt service was checking for completion of orderItems via the ITEM_RECEIVED status, which doesn't exist. Changed it to look for ITEM_COMPLETED instead. (r 518264)
  • Set purchase shipment status to PURCH_SHIP_SHIPPED in the updatePurchaseShipmentFromReceipt service, so that the shipment can be marked received if necessary, since the existence of a shipment receipt logically indicates that the shipment was shipped. (r 518321)
  • Add an amount total to the list of approved product requirements. (r 518369)
  • Changed facilityId to a required field in ApprovedProductRequirements. (r 518695)
  • Improvements to add/remove payment methods in order view. The payment amount field defaults to the open order amount, and it is now done with request-redirect (r 518702)
  • fix bad renderProductContentWrapper.getProductContentAsText in ordermgr show cart items. (r 518800, 518937)
Party
  • Fixed bad entity model definition (r 514255)
  • Links to quotes from party manager. Lookup by address now also shows city and state in addition to zip code. (r 515823, 515828, 515835)
  • Layout improvements (r 516468, 516478)
  • Fix bug where specifying a userLoginId in party manager viewProfile page doesn't display the corresponding party (r 518125)
Product
  • Initially complete implementation of the include/exclude/alwaysInclude variations for categories and features in ProductSearch; this has been tested for basic cases, but needs some testing for more complex conditions; note that UI layer things and such still need to be implemented (r 514609)
  • Added code to fill in list price range search parameter for search string (r 514624)
  • NPE protection in PackingSession.setPackageWeight() (r 514747)
  • Passing a list of package weights to UPS rate inquire services will override the splitting of packages and calculation of package weights via shippableItemInfo (r 514748)
  • Making the calcPackSessionAdditionalShippingCharge.additionalShippingCharge OUT parameter optional so that downstream service errors aren't masked (r 514895)
  • UPS rate estimate support Canada addresses - UPSServices.upsRateInquire now inserts CountryCode element based on origin and destination CountryGeo (r 514926)
  • balance inventory supports serialized inventory - Extend balanceInventoryItems service to take serialized inventory into account - If serialized inventory is received and non-serialized inventoryItems exist with negative or empty values, the service will attempt to apply the serialized inventory to the first inventoryItem found - ATP and QOH of the non-serialized will be increased by the serialized quantity - statusId of the serialized item will be set to INV_PROMISED - If OrderItemShipGrpInvRes values exist related to the non-serialized item, the service will reduce the quantity of the first found by the serialized quantity and create a new OrderItemShipGrpInvRes for the serialized quantity based on the non-serialized reservation (r 514929)
  • Converted FindFacility.ftl to a form widget and FindFacility.bsh to an entity-and and cleared the editLink title field in FindFacility (r 515474, 515498, 517582)
  • small improvement in lead time display when not in stock changed to use availableToPromiseTotal; added caching support for productsummary call to make it perform reasonably (r 515648)
  • Added link to show requested inventory transfers. This link causes the list to become a multi-form with use-row-submit so that completing the transfers can be done in bulk. (r 515693, 517425)
  • Fix problem with adding line items to packing session when the item has no weight (r 516193)
  • Receive inventory verified against purchase order - Adding a tab in shipment screens to receive purchase order items one unit at a time, while checking quantities against ordered quantity and previously received quantity for the purchase order (r 517398)
  • Converted FindProductStore to use a form widget (r 517576)
  • made default for internal name on product lookup to contains (r 517930)
  • Get around some problems with packing sessions due to mis-allocation of inventory across quantities by packing against the largest quantity inventory item first (r 517954)
  • Receive inventory against PO: - Add a back-ordered quantity column - JS alerts and error/info messages on: attempt to receive product/goodId not in order; attempt to receive > order quantity; part or all of qty to receive going to back-order - If productId to receive is not in the order, check for goodIds (r 518237)
  • When receiving inventory against a PO, issue order item quantity and receive the same inventory quantity in sequence via a service group, to eliminate redundant steps (r 518349)
  • Improve the packing slip PDF so that it's organized as one page per package. (r 518682)
Seed Data
  • Added dutch provinces (r 515405, 515408)
  • Added billing location purpose to the PostalAddress of NY and CA tax authorities. (r 517942)
  • Replace productStoreShipmentMethId by productStoreShipMethId in the demo product store data (r 518064)
Web Tools
  • Changed to create the service input map for the call to parseEntityXmlFile in the entityImportDir service for each file, rather than preparing it once and changing it each time; it appears that the userLogin is getting removed from the Map somewhere, probably by the Service Engine, which is rather bad actually, but this should fix it (r 514253)
  • changed delete files box on import dir to not be checked, regardless of whether or not the path has_content; also changed the import page to have entity-engine-xml open and close tags by default (r 514945)
Work Effort
  • Assigned tasks no longer shown in work effort task list (r 515777)
eCommerce
  • fix bad renderProductContentWrapper.getProductContentAsText in ordermgr show cart items. (r 518800, 518937)
  • changed ecommerce header to get title from internal context values (r 518984)
opentaps Financials
  • Improved granularity of security for Sarbanes-Oxley compliance. Now it is possible to create separate permissions for users who can create and modify invoices but only view payments or users who can view invoices and create and apply invoices.
  • Improved printing of invoices and checks.
opentaps CRM
  • Significantly improved order entry and management capabilities.