Friday, March 30, 2007

OFBIZ Development r524066

146 new commits this week. SVN r 524066 builds and installs successfully. Significant changes this week:
  • Enhancements to accounting FinAccount
  • Support for XML-RPC calls
  • Improvements to MRP
  • New runtime/ folder for log files and such
  • Continued re-working of webtools (still in progress)

Accounting
  • Clean up FinAccount: moved files around, added field from OrderItem to FinAcountTrans, added FinAccountTypeGlAccount entity, postToGlAccountId field on the FinAccount entity, added actualBalance and availableBalance fields to FinAccount, amount field to FinAccountTrans (r 522087, 522089, 522107, 522108, 522187, 522476)
  • Added ownerPartyId to represent the Party that owns the account or is the customer etc, and organizationPartyId field to explicitly denote that, this should always be filled in to represent the internal organization that owns, or is liable for, the FinAccount; these could go in the FinAccountRole, but are important and should always be filled in, so adding explicit fields (r 522588)
  • Moved currencyUomId to FinAccount from FinAccountAuth; the same currency should always be used for a FinAccount, including for FinAccountTrans and FinAccountAuth and this was missing and problematically modelled in the previous model (r 522726, 522926)
  • FinAccount balance maintenance and posting services (r 522728, 522732, 522886)
  • updated financial account data model with new fields for replenishment (r 522733, 522734, 522997, 523012)
  • new services for deposit/withdraw and services to be able to use financial accounts as method of payment; also generic fulfillment service to allow creation of financial accounts from the purchase of an item; implementations still being tested (r 522735)
  • generic financial account creation from a product purchase (fulfillment services) (r 522742)
  • changes to allow financial accounts to be used as payment methods without having to actually create payment records, by using payment method type FIN_ACCOUNT and using the (already existing) finAccountId on OrderPaymentPreference (r 522744)
  • partially working payment services for financial accounts; implements payment processor interfaces and generic deposit/withdraw services (r 522749)
  • updated createFinancialAccountForStore method; will handle any type of financial account; added services for checking balance and if handle freezing/un-freezing accounts (r 522750)
  • fixed currency issues in finaccount balance code (r 522769)
  • added very simple fin account test (will try to add more later) moved entity eca to entitydef (pattern in other applications) added fin account ecas (r 522927)
  • FinAccount now allows auto-replenishment, with capture now allowing the values to go negative (r 522998)
  • added option for running just a single component's test suite: java -jar ofbiz.jar -test -component=[componentName] (r 523053)
  • FinAccount management screens and forms (r 523120, 523172)
  • updated finaccount trans code to include the amount field (as a positive number unless its an adjustment) (r 523121)
  • Some cleanups of the FinAccount forms to avoid explicit display field definitions; fixed issues with calculating availableBalance based on auths (r 523122)
  • Changed code in a bunch of places to use the FinAccount.availableBalance and actualBalance fields; this involved removing the method in FinAccountHelper to get the available and actual balances without a date specified, ie the most current values (r 523131)
  • Updated TransSum view-entity to use FinAccountTrans.amount field, small change to helper method as well (r 523146)
  • Added columns for payment and order info on FinAccountTrans (r 523174)
  • better handling of finaccount payment responses; no more error throwing, but rather return proper gateway messages and response codes (r 523464)
  • added checks to make sure that the balance fields are not null; and use ZERO instead (r 523470, 523475)
  • fixed financount status service, now does the right compareTo; removed code to mark frozen accounts in auth, now accounts are only frozen during withdraws (not auths) and moved the trigger to the eeca (r 523483)
  • added call to replenish from auth service; used when account is frozen; note replenish service will not run if not configured, regardless of how it is called (r 523517)
  • added test cc processor which 1/4 the time will decline (randomly) (r 523494, 523495)
Asset Maintenance
  • Add Orders Tab to FixedAssetMaint and clean up Tab selection (r 522294)
Base and Framework
  • Fix entity engine's upper function to allow searches for names with an apostrophe in them. (r 521954)
  • This is a fairly complete rework of the UtilCache use and the loading code in the service engine; a reload of service definitions should now be possible by clearing the cache; also removed a bunch of the other caches that were either redundant and annoying, or dangerous because clearing them would break things, perhaps unknowingly; these are some problems and really messy weird code that has been around for quite a while, finally got sick of it and decided it needed to go (r 521999)
  • Added a bit of code to put FALSE in an SQL where clause instead of an empty IN set when that is detected; not sure if this is the best way to go, but it should be close to what we want and avoid a database error as happens now; chose FALSE because even though a value in the db could either always or never match an empty set, the never match seems to make more sense because if you would normally select various values and select none, you would be excluding all, unless you consider selecting none to mean that you want to include everything... (r 522000)
  • fixes the calendarstyles.css file so that it will cascade correctly with maincss.css. (r 522317)
  • Added a new 'runtime' folder, at the same level of 'applications', 'framework' etc..., where all the runtime data such as logs, derby db files and output (such as the pdf report files that can be created with the new service) are created. Removed the logs and data folders from the framework folder. (r 522914, 523010, 523080, 523249)
  • added method to get the total number of defined parameters for a service (r 522929)
  • Changed the calcop element's field-name attribute to NOT be required; this must be another casualty of recent cleanups or something (r 523001)
  • Changed CatalinaContainer and added configuration settings for the cataling runtime directory, which is now under the ofbiz/runtime directory and that is where the work directory and such will go (r 523002)
  • Added svn:ignore to runtime sub-directories to avoid annoyances when doing various svn operations (r 523003)
  • XML-RPC now will accept un-named services parmeters in order which they appear in the servicedef (r 523051)
  • added VERY simple xml-rpc test; however this does not work unless OFBiz is running on port 8080 (r 523057)
  • Small change for detaul font for th and td (r 523170)
  • implemented echo back in XML-RPC; will return back the request in a valid XML-RPC XML message; use the query string ?echo to any request to enable this; note the request will not actually run, just echo (r 523176)
  • fixed so loading data for just a specific component works without having to specify readers (r 523181)
  • updated data loader new command line -help to show all valid arguments (r 523400)
  • RPC calls now return service errors as an XML response; not as an exception (r 523435)
  • Misc fixes to make the datafile tool screen work with after recent migration to the widgets. (r 523767, 523769)
  • fixed problem w/ remove content assoc service (r 523799)
  • small change to get information from other places in ComponentLocationResolver (r 523909)
  • Added disabled/ directory to hide components from being built (r 523953)
Content
  • Misc improvements to the service to send print streams to printers from screen definitions. Added new service to generate file version of the screens; the files are created in the applications/content/output folder but this is configurable thru the config file in the content component. An example of its usage is in the 'find orders' screen. (r 522021, 522024)
  • Small change to the print screen service to allow for a different content name for the content of the printer output stream. (r 522272)
  • added style to the submit button in the genericsurvey.ftl (r 523414)
  • implemented internal email notifications for service invocations; configure groups for notifications, setup templates, email addresses and assign services to groups (serviceengine.xml) all services belong to the default group, in case you want to monitor all errors, failures and/or success (r 523801)
Manufacturing
  • Refactored EditCalendarWeek screen to use widgets instead of ftl/bsh (r 521992)
  • Further improvements to the mrp log (r 522004)
  • Improvements to the MRP algorithm: sales orders ship group dates are now considered, better handling of orders without dates (they are now moved far in the future). (r 522494)
  • Now the mrp better handes of cancelled quantities of ship groups (r 522510)
  • Added new status (and status transition) to production runs to mark them as scheduled. Started refactorting of the production runs screens to support the new status and to be more modern and robust. (r 523027, 523031)
  • Misc refactoring and bug fixes to the edit production run tasks screens. (r 523248, 523253)
  • Misc improvements to the filters for production run tasks and declaration screens. (r 523256, 523275)
  • Implemented status transitions for scheduled production runs. (r 523281)
  • Added one missing status transition for the scheduled production runs. (r 523282)
  • Misc layout cleanups. (r 523393)
  • Marketing packages and production runs: added missing output parameter under certain conditions. (r 523409)
  • Fixed wrong status for requirements removed by the MRP. (r 523668)
  • Misc fixes to the way routings are retrived by the MRP. (r 523700)
  • Misc improvements for the production runs in the scheduled status. (r 523710, 523718)
  • Fix for bug in the service that updates the product's low level codes. (r 523734)
  • Fix for days to ship considered by the mrp. (r 523998)
  • Improved mrp log with start dates of generated requirements. Fixed wrong comparison for isLate events in the mrp log. Small layout improvements to the mrp log screen. (r 524013, 524020, 524025)
Marketing
  • applied tracking code updates patch (r 523819)
  • allow empty marketing campaign or default catalog in the Edit Tracking Code form. (r 523978)
Multiple Components
  • Translation of all modules into Rumanian (r 523091)
  • Added index definitions and fixed entity definition problems (r 520313, 523097)
Order
  • Fixed the 'filter' section of the orderlist and findOrders screen. Both had output formating issues, but orderlist was also checking for wrong field name in bsh file so it would never show any results. (r 521827)
  • Fixed wrong path to the calendar image when ordering FIXED_ASSET_USAGE products (r 522115)
  • Shows "discontinued" against any product that has been in the orderview/edit screen. It's useful for testing but also helpful for the average user to see items that might be a problem. (r 522466)
  • UI to display financial accounts in checkout (for use as payment) (r 522737, 522738)
  • very basic create non-product order service (r 522743)
  • changes to allow financial accounts to be used as payment methods without having to actually create payment records, by using payment method type FIN_ACCOUNT and using the (already existing) finAccountId on OrderPaymentPreference (r 522744)
  • updated to support non-product items (r 522986, 522996, 523446)
  • Updated TransSum view-entity to use FinAccountTrans.amount field, small change to helper method as well (r 523146)
  • new service to wrap creating an order form a shopping cart (r 523440)
  • due to the nature of the checkout helper's payment processing events; it is necessary to disable transaction to appear like we are operating under an event style processing. The actual payment processing code should be reviewed and converted over to a service based structure (r 523465)
Party
  • Migrate createPartyRole and deletePartyRole service from Java to Simple method (r 522474)
  • fixes a recent bug related to party role services permission checks (r 522794)
Product
  • added store related payToParty ID methods found in many places into one central location (r 522582)
  • New finaccount product store settings to control replenishment (r 522736)
  • adding missing catalog price maint permission to catalog admin security group (r 522985)
  • Some refactoring in ProductSearchSession so that you can override or set a default VIEW_SIZE or even VIEW_INDEX in a screen definition, plus an example of the default setting (r 523206)
  • changed picklist and stock move screen to use buttontext (r 523829, 523901)
  • Migrated product's Facilities and Locations subscreens to widgets. (r 524033, 524066)
Seed Data
  • update Ukranian currency from UAK (out of validity since 1996) to UAH. (r 522765)
  • initial set of financial account associated product data; purchase an account activation (r 522915)
  • Associate AA/AE/AP state codes with USA (r 523521)
Web Tools
  • Refactoring of the webtools application: all the remaining region pages have been migrated to screen widgets, with jsp artifacts transformed in bsh/ftl ones (r 522793, 522799, 522802, 523094)
  • updated runService to be part of the other service related screens (r 523418)
Work Effort
  • The deleteWorkEffort service now deletes also the keywords to avoid fk violation errors. (r 523242)
  • Production run in the created status are not shown in the calendars because they are still not scheduled. (r 523286)
eCommerce
  • Clean up the main decorator (r 521911)
  • Added section to the profile page to show account histories; this should probably go on another page as histories could get long, but will do that later (r 523171)
  • Some refactoring in ProductSearchSession so that you can override or set a default VIEW_SIZE or even VIEW_INDEX in a screen definition, plus an example of the default setting (r 523206)
  • Fixed problem with correspondingPoId not being set during ecommerce checkout (r 523639)