Friday, December 09, 2005

OFBiz Development SVN r6288

64 new commits this week. SVN 6288 builds and installs successfully.

Significant changes this week
  1. You can now create abd send emails from the ofbiz server to individual parties or members of a contact list, and those emails will be stored as part of those parties' contact history.
  2. The calendar in work effort has been significantly improved to allow filtering of events
  3. Improvements to the way returns are created and received inventory
  4. New directive and new directives in to specify what happens after data is loaded.
Accounting
  • Added feature for ReturnHeader IDs to be share the Invoice ID sequencing including the various types of reliable sequence, or no skipping of numbers, and reset at year changes and such; this is needed in cases where a return must be tracked like an invoice, this in place of creating an invoice based on a return but still satisfying legal requirements in some places for invoice ID sequencing; this will be done if the PartyAcctgPreference.useInvoiceIdForReturns field is set to Y (r 6227)
  • Fixed the updating of EFT billing address methods. (r 6232)
  • Tax ID format validation during tax authority setup. Put a regexp expression in the TaxAuthority.taxIdFormatPattern field, and the create/update services will use it to validate that the taxId entered by the user is valid. (r 6238)
Base and Framework
  • Better error handling in the webapp EventFactory class. (r 6236)
  • Regex expression condition in minilang now support flexible string expander for regexp expressions. (r 6237)
  • New ui label "CommonAnySalesChannel" (r 6246)
  • New operation in minilang. "count" tracks how many times loop runs, and "field" is the name of a variable which serves as the counter. So ... is equivalent to for (i = 0; i <>
  • entity XML now supports additional attributes example: i [entity record data] the default behavior has not changed; use these fields to override the defaults; same as command line options, but now we can effect certain files. disable-eeca = will not run entity ECAs when inserting/updating data create-dummy-fk = will not fail due to FKs not existing, a dummy record (place holder) will be create with JUST the PK (matching the FK) do-cache-clear = exactly what it says (default is true) maintain-timestampe = maintain the tx timestamps found in the file; otherwise new (current) timestamps will be used (entity sync tx stamps) (r 6257)
Content
  • New entities ContentApproval, ContentRevision, and ContentRevisionItem to track content approval and revisions. (r 6271)
  • storeEmailAsCommunication now requires a userLogin authorization and will mark the stored email as a CommunicationEvent with status "COM_COMPLETE" (r 6276)
  • sendMail and storeEmailAsCommunication service now take a communicationEventId parameter. storeEmailAsCommunication will not store the email as a communication event if this field has a value. (r 6279, 6286)
Entity Model
  • Changed Facility.defaultUomId to Facility.defaultWeightUomId in both entity model and all related screens and services. (r 6226)
  • PartyAcctgPreference has a new field .useInvoiceIdForReturns to track if ReturnHeaders' id numbers should be the same sequence as those from Invoices. (r 6227)
  • CommunicationEvent now has contactMechIdFrom and contactMechIdTo to record exactly where a communication event came from and was sent to (ie, email sent from/email sent to) (r 6277)
Manufacturing
  • Fixed bug in cost calculation when no routing is found. (r 6240)
  • Fixed wrong method name and other bugs for the cost services. (r 6239, 6241, 6261)
  • Misc cleanups. (r 6243)
  • Implemented "default" routing association. A default routing is the routing with id DEFAULT_ROUTING and has one task, DEFAULT_TASK. When a production run is created, and the product is not explicitly associated to a routing, the "default" one is used. (r 6244, 6254)
  • getRouting service is now the standard service for retrieving product routing and can take a parameter to see if default routing should be used or not. (r 6253)
  • Fixed potential null exception in getting routing times. (r 6255)
  • Changed the return parameters of getEstimatedTaskTime from Float to Double (r 6256)
  • Improved the "getProductRouting" service to avoid problems when seed data is not properly loaded. (r 6262)
  • Added new "cancelCostComponents" service to expire the existing CostComponents. (r 6263)
  • Fixed bug in getProductRouting where a WorkEffortGoodStandard was returned insted of a WorkEffort generic value. (r 6267)
Marketing
  • Fixed tab button menus in the marketing application, so the correct buttons light up when you select them, and the login/logout is correct. (r 6268, 6269, 6270)
  • Default for emails to individual party or contact list is the currently logged in user's PRIMARY EMAIL contact mech. (r 6283)
  • Marketing manager's contact list screen now allows you to send an email to everybody on a contact list by creating a communication event for them and marking it as "IN PROGRESS". Each email is sent to the preferredContactMechId in ContactListParty, then recorded by storeEmailAsCommunication. When the whole list has been sent, the comm event to the list is marked as "COMPLETE". (r 6286, 6283, 6285, 6288)
Order
  • Added feature for ReturnHeader IDs to be share the Invoice ID sequencing including the various types of reliable sequence, or no skipping of numbers, and reset at year changes and such; this is needed in cases where a return must be tracked like an invoice, this in place of creating an invoice based on a return but still satisfying legal requirements in some places for invoice ID sequencing; this will be done if the PartyAcctgPreference.useInvoiceIdForReturns field is set to Y (r 6227)
  • Order view will now show internalCode for orders and allow you to search for other orders of this code. (r 6245)
  • Searching for orders in order manager can now be done using the internalCode, externalCode, and sales channel. (r 6245)
  • Default status of receiving return items is now RETURNED. (r 6247)
  • Fixed problems with creating return headers when doing a manual returns. (r 6251)
  • Added seca to trigger the "checkDigitalItemFulfillment" service when an order is approved: this will take care of setting the right statuses for digital and/or not-physical products. Commented out the code which did this in OrderChangeHelper. (r 6258, 6266)
Party
  • Page for edit party relationship allows null/undefined relationship types. (r 6230)
  • Removed editCommunication.bsh/.ftl which are no longer used. (r 6278)
  • The "send email" link next to email addresses in party manager's profile page now takes you to create a CommunicationEvent of type EMAIL. If you type in the subject and content, create the comm event, and then mark it as "IN PROGRESS", the system will send this email for you and then mark it as "COMPLETE". This required new services "sendCommEventAsEmail" and "setCommEventComplete". (r 6277, 6280)
  • Fixed formatting of some forms so displayed data don't look like input boxes where you can enter values. (r 6281)
  • Default for emails to individual party or contact list is the currently logged in user's PRIMARY EMAIL contact mech. (r 6283)
  • Communication event display form now shows the contactMechIdFrom and contactMechIdTo (r 6284)
Product
  • Fixed wrong service name in error message for removeSupplierProduct service. (r 6225)
  • Changed Facility.defaultUomId to Facility.defaultWeightUomId in both entity model and all related screens and services. (r 6226)
  • Return items must now be SERIALIZED if inventory is not going to be immediate available. The shipment receipt service will now loop through and create a serialized inventory item for the quantity of items to be returned. (r 6249)
  • Now there is a configurable feature (reactivate.product.from.receipt in applications/product/config/catalog.properties) which allows you to configure whether inventory which is received from a return should be automatically reactivated. (r 6249)
  • New ProductWorker.isDigital(...) and .isPhysical(...) methods. (r 6259, 6260)
  • Added paginate-target attribute to the ListFacilityInventoryByProduct form definition, to allow to display more than 50 rows (in next pages). (r 6265)
Seed Data
  • Fixed seed data problem caused by DemoTaxAuthority being loaded before instead of after DemoOrderPeopleData, so foreign keys tried to reference values which didn't hadn't been loaded yet. (r 6231)
  • New status codes for content approval in StatusItem under statusTypeId="CNTNTAPPR_STATUS" (r 6272)
  • New seed for ContentTypes: "Composite Document Template" and "Composite Document Instnace" and ContentAssocType of "Composite Document Part" (r 6271)
  • Sample contact list "9000" for announcements now has some sample subscribers. (r 6282)
Web Tools
  • Fixed bugs with entity import and removed the old .bsh files. (r 6228)
  • Improved support for inducing model from databases which are case sensitive and which may have table names that match database names. (r 6229)
Work Effort
  • Improvements on the calendar to allow the filtering of manufacturing events and fixed asset calendars: 1) it is now possible to see all the calendar events of a given facility (even the ones that are not assigned to any users); 2) the "getWorkEffortEventsByPeriod" service now accepts as an optional parameter a fixedAssetId (to filter events assigned to the fixed asset) 3) not only EVENT type work efforts are selected but also production runs (if a facilityId is passed) and production runs' tasks (if a fixed asset id is passed) 4) in the month view there is now a new drop down box to select a fixed asset (r 6273)
  • Formatting and UI label changes (r 6274)
  • Now the forms to select events by party/facility/fixed asset are available in the day and week screens (not only in the month view). (r 6275)
  • Small cleanups to the calendar's scripts: now also in the week view you can see events by user/facility/fixed asset. (r 6287)
eCommerce
  • Added returnHeaderTypeId to the request return form in ecommerce as a hidden parameter set to CUSTOMER_RETURN (r 6252)
Thanks to our contributors
This week's contributors include Matt Kasubaski, Mu Jinsong, Andrew, Hans, Jacopo, David, Andy, Leon, and myself.