Friday, April 27, 2007

OFBIZ Development r533095

OFBIZ

90 new commits this week. Significant changes include:
  1. Changes to login and control servlet
  2. Enhancements to Fin Account
  3. Estimated ship dates based on production run dates
  4. A release 4.0 branch is now available for ofbiz.
Accounting
  • updated FinAccounts added isRefundable flag; and replenishPaymentId to link a payment method to a finaccount for auto-replenish modes. The fulfillment service also sets this ID by default to the CC or EFT account used in the order which creates the finaccount
  • Adding a PartyAcctgPreference.refundPaymentMethodId field and relation to PaymentMethod to store a default paymentMethodId for use when other refund payment methods fail (old CC orders) or are unspecified (offline payment) and using that payment method in the processRefundReturn service. (r 532490)
  • fist pass (not fully tested) of refund financial account; also fixed replenish code to use the defined paymentMethod instead of picking one off the user's account. miscellaneouse FinAccount enhancements. (r 532504, 532505, 532506)
  • FinAccount service credit (r 532542)
  • fixed X500 converter to support commas in names (broken since it is split on comma) (r 532595)
  • now creates owner role w/ financial account (r 532597)
  • Returning failure instead of error from the refundPayment service but instead cascade to the 'filler' payment correctly. (r 532804)
  • added more detailed information for financial accounts when used for payment on orders (r 532933)
  • When a payment method is selected in the cart, if it is associated to a billing address, the cart verifies that the location of the billing address is allowed for the products in the cart before setting it. (r 533045, 533095)
  • have separate menus for creation of sales and pruchase invoices and make sure the organizationCompany is in the proper party field. In the editInvoice screen do not allow the organization party to be changed and that the sequential numbering is interupted. also put in the proper classes for the buttons in invoice and payment. (r 532739)
Base and Framework
  • now adds the component name to the servlet context in catalinacontainer (r 531230)
  • removed no longer needed keystores for ofbizcerts.jks and ofbiztrust.jks (r 531271)
  • refactored x509 implementations; now it will use the certificate to determine the userlogin; tomcat changed to ignore cert files (just pass through) so all checking can be handled by ofbiz; login worker updated to use new method of cert checking; added isser entity to configure what issuers are allowed to sign login certs (the certificate must also be included in a trust store) new component based trust/cert stores configured in ofbiz-component.xml (r 531272, 531546, 531547)
  • added log message when error in SSLImpl (r 532040)
  • made the pattern which finds the userLoginId from the common name (x500) configurable; also can disable cert login from security.properties (r 532403)
  • added log message when error in SSLImpl (r 532040)
  • fixed bugs in truststore loading; added method to load the keystore from the configuration (r 532041)
  • added missing keystore element (r 532068)
  • now checking issuer serial number as well; one more layer of additional security in x500 validation (r 532069)
  • made the pattern which finds the userLoginId from the common name (x500) configurable; also can disable cert login from security.properties (r 532403)
  • Reverting changes made to the javascript function that disables form buttons. Fixes bug where submit buttons broke for IE and other browsers. (r 532409)
  • added UomWorker (r 532557)
  • added getLocation method to ComponentConfig (r 532577)
  • Small change so that on login if previous request was login, logout, or checkLogin then it will null the request name so it goes to the default; this avoids a login/logout funny loop that resulted in ServerHit/UserLoginHistory entries with duplicate pks because they happen within one second (r 532993)
  • Small change so that after login will redirect to main page instead of going to login page (which makes sense for backend apps, not so much for ecommerce (r 532994)
  • Some fair refactoring of the VisitHandler class to make it more resilient and centralize some of the data gathering in the ControlServlet; along with this are fixes for a couple of problems that caused the initial request data to be missing from the Visit especially on logout which cleared the session; this has been broken for a long time so is hopefully resolved now (r 533037)
Manufacturing
  • Implemented service to set the estimated ship dates for order items that need production, based on scheduled outstanding production runs. (r 532685, 532721, 532795, 532797)
Marketing
  • Added selected contact list name and Id below the menus for user convenience as per other apps. Also fixed link to EditContactListCommEvent so it adds the contactListId. (r 532806)
Multiple Components
  • Added some new types for new return stuff for repair replacement and for refurbished equivalent (r 532864)
Order
  • added inventory item info for shipped items (including serial number if one exists) in orderview page (r 531195)
  • added paymentMethod and paymentmethod fields to return header (r 531217)
  • now creates an order note when a CSR changes and item or adds a new one (r 531551)
  • added new return type for time entry and work effort (r 531665)
  • updated layout of order notes area, fixed label for serial number on order items ftl, fixed links on orderinfo.ftl (r 532030, 532031, 532067)
  • Fix for Double type parameter preventing refunds in the updateReturnHeader service (r 532489)
  • Adding a PartyAcctgPreference.refundPaymentMethodId field and relation to PaymentMethod to store a default paymentMethodId for use when other refund payment methods fail (old CC orders) or are unspecified (offline payment) and using that payment method in the processRefundReturn service. (r 532490)
  • fix missing import of BigDecimal in return items page (r 532531)
  • fixed NPE in digitial fulfillment (r 532919)
  • updated shopping cart payment info to allow multiple financial accounts (r 532935)
Party
  • remove roles from content and dataresource before deleting the content and dataresource itself (r 531361)
  • Add a financial account summary section to the view profile page (r 532060, 532872)
  • added first pass of X509 issuer import screen; will import into trust store; and create the issuer record (r 532598)
Product
  • added check for isPhysical before doing inventory reservations (r 531204)
  • implemented ProductGeo (r 531220)
  • Added a new search parameter to specify a category whose member products will always be added to the beginning of the search result list (ordered by sequenceNum, filtered by from/thru dates). (r 531362, 531370)
  • fixed bug in packing code which was ignoring backorders (r 531342)
  • Added short version of the parameter for specifying the top search category (S_TPC); now the parameter will also appear in the searchString. (r 531516)
  • Seed data changes to facilitate handling of certain order (Order Change Reason) and inventory status scenarios: INV_ON_HOLD (r 531870)
  • Adding a sequenceId field to the OrderItemShipGrpInvRes entity and ordering secondarily by this field when inventory reservations are retrieved in the balanceInventoryItems service (r 532412)
  • Implemented new method to test a geoId against the ProductGeo table. If no GEOs are configured the default is TRUE. (r 532850)
  • Expanded seed data (ProductGeo) and ProductWorker method to determine if a product can be sold or can be shipped to a given address. (r 533014)
eCommerce
  • Internationalisation of newcustomer, edit person screen (eCommerce) (r 531223, 531231, 531232, 531234)
  • Corrections to the HTML for the layout of the orders items table, so the columns should now be aligned properly. (r 531978)
opentaps modules

46 new commits this weeks. Significant changes:
  • New warehouse support for automated inventory transfers between warehouses
  • New warehouse screens for production runs with ability to manage serial numbers of manufactured items
  • Flag customers during order entry with notes
  • Convert AP invoices to Customer Account balances
  • Re-factorings into opentaps commons

Friday, April 20, 2007

OFBIZ Development r530867

61 new commits this week. SVN r 530867 builds and installs successfully. Significant changes are:
  1. Improved MRP to account for component parts
  2. Added item issuance reason code to track reason for issuing parts to a production run
  3. New service to estimate order ship date based on inventory reservations and split flag.

Accounting
  • Implemented feature to support excemption inheritance, used for example when a county tax is setup and the customer has an exemption with the state (r 530218)
Base and Framework
  • added test service to test map/list conversions (r 529712)
  • added methods to StringUtil to convert results of Map.toString() and List.toString() back to Map/List (assuming the contents are Strings for now); changed the ObjectType for Arrays->List conversion to only run when the type is List (per discussion on Dev list) (r 529716)
  • Changed alias-view-columns from true to false for advantage based on report of it not working right for Advantage (r 530160)
  • setting alias-view-columns=false for MS SQL (r 530183)
Content
  • updated content permissions to use the purpose associated with the content: changed the name of the XML file containing operation data; added default purpose for CMS entry (r 530518, 530519)
  • updated CMS to do simple (single) content purpose and updates (r 530530)
Manufacturing
  • First version of the methods to compute the start date of requirements created by the MRP for products with WIP in their BOM. (r 530461)
  • Fix for the method that computes the requirement start date for wip based boms in the mrp. (r 530801)
  • Added reasonEnumId field to the InventoryItemDetail entity to optionally categorize the reasons for the inventory item detail records. Added an example of its usage in the production run management screen. (r 530811)
Order
  • refactored order find; now uses a re-usable service to do lookups; a lot more powerful now utilizing dynamic view entity; will also now lookup inventory items (serial number, soft identifier) from orders issued to shipments; will also now query all variant products when search by a virtual ID; can now pass a list of values (status, store, website, etc) so that multi-select can be enbaled (not yet enabled in the UI) (r 530158, 530173)
  • New service that computes and returns the OrderItemShipGroup estimated ship date based on the associated items. If maySplit=Y, then the ship group's ship date is the earliest of all of the items. If the maySplit=N, then it's the latest of the estimated items' dates. For now I've considered the OrderItemShipGrpInvRes.promisedDatetime as the estimated ship date for the reserved items. (r 530366, 530371, 530372)
Party
  • Improvement to AgreementTerm entity: min and max quantities to define a range applicable to term. (r 530867)
Product
  • Replace request.getparameter with parameters (r 530113, 530120, 530167)
  • Misc layout cleanups to the picking option screen. Small enhancements to the packing report to better display qty available and not available into two separate columns. Also fixed the value of the qty available. (r 530168, 530275)
  • changed imageTwoUrl to be hidden from list display; changed create method so that fromDate does not effect the generation of the linkSeqId; was causing the key to be 00001 everytime due to the unique fromDate (r 530480)
  • Small change to the position of facility menu items. (r 530311)
  • Implemented new Shipping Estimate Feature: Flat Shipping Percent - shipamount=shipamount + (shipamount * percent) (r 530524)
  • Implemented the ability to include / exclude ProductFeatureGroups in the advanced search. (r 530864)
Seed Data
  • added mimetype text/x-diff (r 530219)
Web Tools
  • a fix for a broken form definition, minor layout improvements to the entity sync screens. (r 530672)
opentaps
  • New opentaps common and warehouse applications are now available for download.
  • Sales commission support, based on direct user or distributor relationships, with straight percentage, tiered percentages.
  • French translation for CRMSFA

Monday, April 16, 2007

OFBIZ Development r529202

130 new commits over the last two weeks. OFBIZ SVN r 529202 builds and installs successfully. Significant changes are:
  1. Support for x509 certificates
  2. Improved product searching
  3. Re-factored catalog manager product store shipping screens

Accounting
  • sales invoice by product/category report; intended mostly for use to get data for external accounting systems that cant handle knowing about all products or customers or invoices (r 524762, 524993, 525404, 525417, 526361, 526414)
  • added new account type; REPLENISH_ACCOUNT; added ability to specify dynamic content in the name of the account (TYPE description of the feature) using flexible string expansion (r 525049)
  • added orderId, orderItemSeqId to post with finaccount transactions when available (more times orderId is available than orderItemSeqId); changed the partyId field to use the partyId of the finaccount instead of the userlogin processing (r 525205)
  • French translation for accounting module (r 525245)
  • Fixed wrong default variable for pay to partyId of Company in PaymentGatewayServices (r 528390)
  • Added missing 'authTrans' in optional parameter from the paymentReleaseInterface that was used at least by the Payflow and Rita payment processors. (r 528768)
  • Convert some of the payment code to bigdecimal. Also code cleanup to use declared constants in payment gateway code. (r 528770, 528771)
Base and Framework
  • layout enhancements for the Webtools application: eliminated table-based layout; removed deprecated CSS styles; removed embedded HTML styles. (r 524378)
  • Made the calculate->field-name attribute required again (r 524528)
  • added log to show the number of test cases in a test file (r 525012)
  • Changed to better handle the error when the bsh location is not valid (r 525281)
  • service auto field map will now look in parameters Map and context just as the entity-one one does (r 525300)
  • Changed submit disable code to disable for 2 seconds then re-enable; had to do some tricky stuff with the cross-page timer, but works in Firefox and IE (r 525629)
  • Removed jdbc jars for derby tools, hsqldb, p6spy (r 525679, 525716)
  • If an async service fails, the status of its JobSandbox record is set to 'failed' even if the service will not be rescheduled. (r 525721)
  • Updates to the appserver template (r 526071)
  • Fix console.log and clean-catalina build target to use new runtime/ folder (r 525699, 526100)
  • implemented simple service stream handler; allows reading the inputstream of a request from inside a service; useful for processing non-standard requests (r 526262)
  • New UtilMisc and UtilDateTime methods for working with Lists and Maps of Maps (r 526354)
  • Updated Russian common translations (r 527471)
  • implemented x509 certificate security for specific requests (define with security attribute x509=true) (r 527718, 527719, 527755, 527736, 528015, 528045, 528719)
  • added missing SecureRandom to SSL Factory (r 528069)
  • A fairly dramatic change required because the DatasourceInfo stuff was being mostly ignored for most of the sql generation code, especially in the view entity stuff; fixing this resulted in a problem with derby requiring adding the alias-view-columns=false attribute to the datasource element in the entityengine.xml file; in any case, the somewhat tricky and funny but useful option of using a view-entity in a sub-select is now working properly (r 528801)
  • Changed postgres config to not alias columns in views (r 528862)
  • refactor UI elements in the Common component. (r 528925, 528926, 528927, 529136)
  • Added userLoginId near the name of the logged in party. (r 529183)
Content
  • Fixed double service definition for the createWebSite service that was causing an error in the Edit Web Site screen (r 524755, 524756, 524757)
Manufacturing
  • add valid status change to cancel a scheduled production run (r 524370)
  • set long time out for initlowlevelcode service (r 524372)
  • Added mrp job information to the mrp log screen: - the last mrp job is shown - scheduled and running mrp jobs are shown - if an mrp job is running, no log will be shown (r 524389)
  • Add a parametrized location for the CommonJobshopDecorator so that other applications may reuse the production run screens. (r 524830)
  • Changed eventName field type of the MRP log to very-long in order to work fine even when there are many orders in the same date. (r 525194)
  • Implemented new production run's subscreen to view and add inventory item issuances. Modified the existing issuance service to be more flexible. (r 527108)
  • Added optional parameter to the mrp for the default number of years offset for orders without dates. (r 527134)
Marketing
  • fixes index create error and mismatch in cookie name (r 524319, 525188)
  • Fixed crash in LookupContactList when on the EditContactListCommEvent screen of marketing, also added a lookup against the 'From Contact Mech' field to help the user find the Ids. (r 527505)
  • Changed 'Find Parties' screen under Contact List to use a new LookupContactMech search added to party mgr. Last one was a restricted result listing based on partyId which is fine when editting existing entries but not for finding them. (r 528049)
Order
  • When items are added to the cart from requirements, the shipBeforeDate is set equal to the Requirement.requiredByDate. (r 525074)
  • Fix error ui labels (r 525182)
  • Added productPromoCodeId to ShoppingList, and change order from list service code to add it to the cart when a shopping list order is placed (r 525534)
  • Small fix for a number parse exception in ShoppingCartEvents. Note quantityStr will only ever be null if the quantity param is not defined in the form (r 526273)
  • showAllPromotions is not a pdf and was causing a browser error. Now fixed in controller. (r 526284)
  • when an quote item is added and the productId is supplied but no price, take it from the product record. (r 526369)
  • a workaround to fix the infinite loop condition that happened when canceling an order item of an order with promo items: added a new service definition for the cancelOrderItem service (cancelOrderItemNoActions), without ecas attached to it, that is called from the recreateOrderAdjustments service. (r 526372)
  • Changed saveUpdatedCartToOrder to call the new cancelOrderItemNoActions service so that we can avoid recreateOrderAdjustments altogether which doesn't appear to be necessary when using updateApprovedOrderItems (r 526491)
  • Moved the sendOrderChangeNotification seca so that only a single notification is sent when editing an order (r 526496)
  • Removed a bad assignment from recreateOrderAdjustments, which has probably been causing some of the problems we've been having with editing/canceling order items (r 528792)
  • A few more fixes related to editing/cancelling orders (r 529138)
Party
  • comment out some code which was not used in viewprofile but causing crashes when trying to set up for security (r 524350)
  • createPartyRole uses PARTYMGR_ROLE_CREATE permission as before the re-factoring to minilang (r 524899)
Product
  • Updated ProductEvents to use _ERROR_MESSAGE_LIST_ rather than appending multiple errors to _ERROR_MESSAGE_ (r 524254)
  • Fix bug with receive returns in facility manager (r 524278)
  • Show the shipment/order/shipGroup selection form in the ReceiveInventoryAgainstPO screen even if the shipment doesn't exist, plus JS lookup fix (r 524287)
  • Sort ProductAssocType by description in edit product assoc page in catalog manager (r 524373)
  • Changed the Primary Category dropdown in the EditProduct form to display categoryName rather than descripton (r 524484, 524486)
  • Added inventoryItemId to Subscription, intended mainly to model a subscription that is applicable only on a certain serialized InventoryItem (r 524532)
  • Fixed missing key for the createProductStoreShipMeth service (r 524751)
  • Small fix to find facility location in case facilityId is stored in attribute. (r 524942)
  • order inventory rebalancing for serialized items by reservedDatetime (r 524984)
  • Refactored into a new screen (based on widgets) all the forms to edit and view the product store shipping estimates. Also modified the createShippingEstimate service to better handle recent changes to data model and quantityBreaks. (r 525223)
  • few changes to use entity list iterators when doing inventory lookups; added code to get totals from serialized inventory records; next to add view to get totals (instead of doing math in simple methods) (r 525264)
  • implemented worker methods to test if a item is available for selling (r 525850)
  • Added ProductFeatureCategory Include and Exclude to advanced search mechanism (r 526058)
  • Re-factored ups rate estimate code to use rate estimate by postal code (r 526067)
  • Added some fields for more flexible/general tracking of serialized inventory items, especially for electronic devices: softIdentifier and activationNumber and activationValidThru timestamp and datetimeManufactured (r 525677, 526877, 527516)
  • Refactored the product store shipping screens into two top level screens (grouped together under a new top level menu). Added services to delete ShipmentMethodTypes and CarrierShipmentMethods. (r 525509, 527497)
  • added availableTime (and UOM) for the time this subscription is available for, maxLifeTime for a subscription, fixed some key name problems (r 527564, 527570, 527607)
  • fixed listsize index after filtering view allows (r 528234)
  • fixed category query to take in account the view allow category; (r 528292)
  • A few improvements/fixes for the product search stuff; now processes feature and feature category parameters correctly, and outputs them in search strings correctly as well. Also add output of supplier constraint in search parameters string (r 528595)
  • Some enhancements to product search to support shorter parameter alternatives; parameter string generation uses these now (r 528633)
  • Fixed problem with category search in sub-categories caused by the include/exclude/alwaysInclude stuff added a while back; note that there is still a problem with excludes in certain circumstances (r 528686)
  • Added a EntityConditionValue implementation that does a sub-select on another entity; initial example in the ProductSearch class (r 528790)
  • Fixed feature and category constraints with exclude using the new sub-select stuff; now seems to work as expected/desired (r 528791)
  • Added code so that the feature category stuff would actually do something instead of just treating the feature category ids as feature ids; this required use of a view-entity in a sub-select which required a bunch of lower level changes so that the DatasourceInfo settings would actually be used in the sql generation stuff; all seems to be working now, at least on derby (r 528804)
  • Committed these checkImageUrl services to help fix the problem that can be caused by the setAllProductImageNames. We should probably use some of the logic from these services to update that to check and see if the images exists and only populate the defaults if they do - but that can be for another day (r 528829)
  • Added an additional image reference to ProductCategoryLinks for greater flexibility (r 529093)
  • Fixed wrong selection for drop down options of carrier ship methods in stor ship settings. (r 529149)
  • Improved navigation for picklist related facility screens. (r 529202)
Seed Data
  • reverting default store back to always approve cc processor for auth. (r 524964)
Web Tools
  • layout enhancements for the Webtools application: eliminated table-based layout; removed deprecated CSS styles; removed embedded HTML styles. (r 524378)
  • added view MY browser certs in webtools; helps to debug and check x509 issues (r 528016)
Work Effort
  • fixes a problem with the AddWorkEffortAndAssoc form where the field workEffortId was being included in the form twice. (r 524477)
  • Hidden completed and closed production runs in calendars. (r 525057)
eCommerce
  • Fixed bug with orderHeader being used when it might not exist, making a huge error message for bad variable, NPE equivalent, rather than showing order not found message (r 525164)
  • Russian translation (r 528928)
opentaps CRM
  • VOIP integration support