Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OFBiz Business

...

Setup Guide

With an Emphasis on eCommerce

Written by: David E. Jones With feedback and contributions from Ruth Hoffman, Andy Zeneski, Si Chen, Chris Chesney, Hans Bakker, and Al Byers

Sponsored by:
Integral Business Solutions (http://www.go-integral.com)
Hotwax Media, Inc (http://www.hotwaxmedia.com)

Table of Contents

  1. Purpose and Goal of This Document
  2. Data To Gather for Setup
  3. General Terms and Information
    1. OFBiz "Manager" Applications
    2. Other OFBiz Terms
  4. Business Setup Process
    1. General Company Setup
      1. Company Contact Information
    2. Facility (Warehouse) Setup
    3. WebSite Setup
    4. Store Setup
      1. Store Settings
      2. Store Role Settings
      3. Promotional Settings
      4. Catalog Settings
      5. Web Site Settings
      6. Sales Tax Settings
      7. Store Shipping Settings
        1. UPS Online Rate Estimates
        2. UPS XPCI Integration
        3. USPS Online Rate Estimates
      8. Store Payment Settings
        1. Payment Processor Details
        2. PayPal Payment Setup
        3. CyberSource Payment Setup
      9. e-mail Settings
      10. Survey Settings
      11. General Settings Override
    5. Catalog, Category, Product Setup
      1. Catalog Setup
      2. Category Setup
      3. Product Setup
        1. Add Content to the New Product
        2. Add Prices to the Product

Purpose and Goal of This Document

In addition to being an excellent development framework and platform for enterprise information automation, OFBiz also features many great applications that can be used out of the box without a lot of customization. However, since it is enterprise class software, there are a lot of configuration options, settings, and data structures that require some level of familiarity.

...

Where OFBiz application manager web tools have individual page name or table name titles, the page names and titles are highlighted with a background color: This Is A Page

Data To Gather for Setup

  1. Company Party (Party Manager -> Find -> Profile; partyId: Company)
    1. Name
    2. Customer Service
      1. Telephone Number
      2. Email Address
      3. Correspondence Postal Address
  2. Warehouse Facilities (Facility Manager -> Facilities -> Facility)
    1. Title for each (ie Web Store Warehouse, or California Warehouse, or Burbank Distribution Center)
    2. Telephone Number
    3. Shipping & Receiving Postal Addresses (with names)
  3. Email Settings (general.properties)
    1. SMTP Server (relay host)
    2. SMTP Username (if needed)
    3. SMTP Password (if needed)

General Terms and Information

OFBiz "Manager" Applications

OFBiz provides a number of Manager applications, which make up the "back office" functions of the suite. These applications are not intended to be customer or public facing, but rather tools to be used to administer and manage the OFBiz software. Manager applications are, by default, accessible using standard URL addressing and built-in OFBiz security services.

...

Once you are logged in to any of the OFBiz Manager Applications, tabs across the top will be in place to allow you to easily switch from one application to another, or to open them in a separate window or browser tab.

Other OFBiz Terms

In OFBiz a "Party" refers to a single entity such as a human being or a company or a family or even a group of friends. In other words, it can represent an individual (a Person) or a group of parties, including individuals and other groups (a Party Group).

The "Entity Engine" refers to the embedded OFBiz database access engine. Likewise there are other "engines" in OFBiz including the Service Engine which is another critical tool that is the foundation of the service oriented architecture for logic and processes in OFBiz.

Business Setup Process

General Company Setup

There is a Party with the ID "Company" that is configured as the default Party that represents the company that owns or is running the system. You can have multiple organizations configured in the system, but this one is referred to be default in the Demo Product Store (which we will be modifying and not replacing in a minute).

Company Contact Information

In the Party Manager "Find" page type in "Company" in the Party ID field and press enter. This will bring up the View Profile page for the Party.

...

You should also setup any telephone numbers and email addresses you want for your Company.

Facility (Warehouse) Setup

There is a Facility with the ID "WebStoreWarehouse" that we will be modifying in this step. This is the default fulfillment facility for the Demo Store (which we will be modifying and not replacing soon). You can create other Facilities here, but for this basic setup we will keep the single warehouse configuration and modify this warehouse in place.

...

There are various other things that can be setup here including more advanced options such as Facility Locations for inventory, and so on. This is also where you can go to manage picking/packing and shipping of orders, and the receiving of returns, purchase orders, and so on.

WebSite Setup

There is a WebSite already setup with the ID "WebStore". This ID is referred to in the webSiteId field of the web.xml file in the eCommerce webapp.

...

Note that the settings in the url.properties file can be overridden for each WebSite, as can be seen on the Edit Web Site page in the Content Manager.

Store Setup

There is a demo eCommerce store already setup with most of the options we need, so instead of creating a new one we will use that one and just change it's name and other options. The ID, which is 9000, will stay the same.

...

As we setup the store we will cover each tab in order and discuss options on that page and related options in configuration files:

Store Settings

Change the Store Name to something more applicable. This is mostly for internally referring to your store and won't be shown to the customer.

...

There are many other settings on the Store, most of which you won't want to touch. For more information on them see the Undersun documentation site or other such reference material

Store Role Settings

There are various reasons why you might want to associate a Party with a Store. The main one to consider is in order for a Party to take sales orders for a specific Store the Party must be associated with the Store in the "Sales Representative" role.

Promotional Settings

This is where you can associate promotions (setup in the Promos header tab) with the store, including effective dating, sequencing and so forth.

Wiki Markup
There are all example promotions and it is good to keep them in the database for future reference, but you can delete all of these store associations so they won't get in the way for this store. Just click on the "\[Delete\]" link for each one.

Catalog Settings

Wiki Markup
This tab shows all Product Catalogs associated with this Store. The demo data has two Catalogs associated by default, and you can remove both of them since we will be creating a new Catalog later. These two you can leave in the database as examples for future reference, but click on the "\[Delete\]" buttons here to remove the associations with the Store.

Web Site Settings

This tab shows all WebSites associated with this store, or that this store is associated with. You will see that the demo data already has this Store associated with the eCommerce Web Site, and the Order Entry Web Site.
Leave these defaults as they are.

If you have your own ecommerce webapp and have created a WebSite for it as described above, associate that WebSite with the store.

Sales Tax Settings

It is possible to use other tax calculation services or integrate with other tax calculation software, and there are others included with OFBiz, but the default one uses a simple OFBiz entity with records for different tax jurisdictions and effective dates.

...

For more complicated tax requirements and data that is kept up to date consider commercial options. There is a TaxWare integration in OFBiz, but this runs through JNI to talk to the native TaxWare libraries (ie non-Java) and requires a lot of maintenance to use over time. Another option available in OFBiz is support for the ZipSales tax database, which can be imported and then updates are imported on a regular basis.

Shipping Settings

Each Store may have one or more shipping options configured. Shipping options consist of shipping methods, shipping providers and rules which link methods, providers and cost estimate calculations. The OFBiz e-commerce demonstration data is preconfigured with a number of shipping methods including "Ground", "Air", "Next Day" and "None" and several well know shipping providers including, United Parcel Service (UPS), the United States Post Office (USPS). In addition, templates for cost estimate rules are provided to ease the customization process. Finally, OFBiz provides interfaces, and in some cases, rudimentary configuration guidance, to allow the e-commerce store to connect directly and communication with several major shipping providers.

...

From either of these two pages you can get back to the summary of all of the cost information for these estimates with the View Estimates link.

UPS Online Rate Estimates

This is used during the checkout process to get an estimate from UPS based on the weights of products being ordered.

...

  1. UPS XPCI Access License Number
    1. o shipment.ups.access.license.number
    2. o Example: TEST262223144CAT
    3. o This license number is used for both the UPS shipment estimate online service and the UPS XPCI shipping interface services (described below)
  2. Shipper Default Pickup Type
    1. shipment.ups.shipper.pickup.type
    2. Example: 06
    3. Valid options:
      1. 01 - Daily Pickup
      2. 03 - Customer Counter
      3. 06 - One Time Pickup
      4. 07 - On Call Air Pickup
      5. 11 - Suggested Retail Rates (UPS Store)
      6. 19 - Letter Center
      7. 20 - Air Service Center
    4. Choose the option that represents your relationship with UPS. This affects the estimated rate you will get back since UPS varies their prices based on how you get your packages to them.
  3. Estimate split into packages
    1. shipment.ups.max.estimate.weight
    2. Example: "90" meaning 90 pounds
    3. This number is used as the max weight per package when the total weight is > than this weight the weights are split into packages not exceeding max.
UPS XPCI Integration

The UPS XPCI services provide for all interactions between a customer and UPS to register shipments, send weight/size information for each package, get actual prices from UPS, and get images for complete labels to print and affix to each package.

...

ß # UPS Shipper Number
o shipment.ups.shipper.number
o Example: 486915
ß # UPS Bill Shipper Account Number
o shipment.ups.bill.shipper.account.number
o Example: 486915
ß # UPS XPCI Access License Number
o shipment.ups.access.license.number
o Example: TEST262223144CAT
ß # UPS XPCI Access User ID
o shipment.ups.access.user.id
ß # UPS XPCI Access Password
o shipment.ups.access.password
ß # Setting to save files needed for UPS certification
o shipment.ups.save.certification.info=true
o shipment.ups.save.certification.path=/ofbiz/work/ofbiz/upscert
o This option is used to create the artifacts the UPS needs to certify client implementation. It is generally required for each customer to go through this process and for UPS to verify the results. Once this is done the shipment.ups.save.certification.info property should be set to false. For more information on this process, see the UPS XPCI documentation and additional information in the UpsServices.java file.

USPS Online Rate Estimates

This is used during the checkout process to get an estimate from USPS (the United State Postal Service) based on the weights of products being ordered.

...

ß # USPS Connection URL & timeout in seconds
o shipment.usps.connect.url
o Example: http://localhost/facility/ShippingAPI.dll
o shipment.usps.connect.timeout
o Example: 60
ß # USPS Credentials
o shipment.usps.access.userid
o shipment.usps.access.password
ß # Estimate split into packages
o shipment.usps.max.estimate.weight
o Example: 70

Store Payment Settings

This page is used to configure the payment processing settings for the various Payment Method Types in OFBiz.

...

ß For CyberSource see the service definitions in the services_cybersource.xml file. This includes these services: cyberSourceCCAuth, cyberSourceCCCapture, cyberSourceCCRelease, cyberSourceCCRefund, and cyberSourceCCCredit
ß For ClearCommerce see the service definitions in the services_clearcommerce.xml file.
ß For PCCharge see the service definitions in the services_pccharge.xml file.
ß For RiTA see the service definitions in the services_rita.xml file.
ß For Verisign PayFlo Pro see the service definitions in the services_verisign.xml file.
ß For ValueLink (gift cards) see the service definitions in the services_valuelink.xml file.

Payment Processor Details

While the payment services and high level settings are configured in the Store section of the Catalog Manager the detailed configuration for the various payment processing services are configured in the file:

...

ß There are many comments in this file and sections for each of the major payment processing services.
ß If you are using any credit card payment processor, be sure to check and if necessary change the properties near the beginning of the payment.properties file that follow the pattern: "payment.general.reauth.*.days".

PayPal Payment Setup

The PayPal details for OFBiz are setup in the payment.properties file and have the prefix "payment.paypal.".

...

In addition to the settings in the payment.properties file, there is also a setting that you must change on the PayPal web site in your account so that notifications will be sent back to OFBiz to verify payment:
1. Login to your account at PayPal.com
2. Click on the "Profile" link in the header, near the top-right of the page
3. In the "Selling Preferences" column click on the "Instance Payment Notification Preferences"
4. It will show you the current settings. To chance click on the "Edit" button.
5. Check the check box near the top of this page, just under the "Instant Payment Notification (IPN)" heading.
6. Enter the notification URL in the text box. This should be the same as the value of the payment.paypal.notify property in the payment.properties file.
7. Click on the "Save" button.

CyberSource Payment Setup

ß The CyberSource details for OFBiz are setup in the payment.properties file and have the prefix "payment.cybersource."
ß More details to come.

e-mail Settings

This page is used to configure the email messages to send for various events in the ecommerce system.

...

For those you do want to keep you will want to change the following fields for each email message, one at a time:
ß 2nd field, From Address, to your preferred customer contact email address
ß 4th field, Bcc Address, to any email address you would like to be copied on each email message
ß The other fields, like the 5th field, the Subject field, can be customized if desired.
If you want to modify any of the templates, we recommend that you copy the templates to your own location, change them there, then change the template locations on this page to point to your files.

Survey Settings

This page is used to configure surveys that are used for various things in ecommerce including random polls that show up on the side bars, special product related surveys to gather additional information about specific products or products in specific categories, surveys associated with the customer profile, and so on.

The demo surveys here can all be removed, though feel free to look at each one to see if it or something like it might be nice to have on your site.

General Settings Override

This page is used to configure product search keyword overrides. These overrides can redirect the user to a specific category, product, or OFBiz or arbitrary URL. For example, when a user searches for the word "gizmo" they are redirected to the Gizmos category (ID 100).

The demo data in place is just an example and should be removed to avoid accidental undesired behavior in product keyword searches on your site.

Catalog, Category, Product Setup

Catalog Setup

Rather than reusing existing Catalogs we will create a new one to associate with the Store we have been configuring, and it will be the only one associated with the Store (unless you want to create multiple Catalogs, of course).

...

ß Browse Root (One): this category will be the parent category of all of the top level browse categories for the catalog. It will not be visible to the customer, but it's children will be the main or top-level browse categories.
ß Promotions (One): the products in this category are listed on the default eCommerce Main page. Of course, that page can be customized to show other things, but if you are using the default OFBiz ecommerce templates main page, you should create a Promotions category to configure which products will be displayed there.
ß Default Search (One): if a Default Search category is configured  only the products in this category will show up in product search results. This category can also have Feature Categories and Feature Groups with it, and the Features in those groups will be used to populate the parametric search drop-downs on the Advanced Search page. Of course, when searching within a specific Category only the features associated with that category will be used for the parametric search drop-downs in the Advanced Search page.
ß Purchase Allow (One): if a Purchase Allow category is configured only the products in that category will be available for purchase when this catalog is active. In that case if a product not in this category is put in the cart an error will be shown to the customer. In general for easier maintenance it is best to have this set to the same category as the Default Search category.
ß View Allow (One): if a View Allow category is configured only the products in that category will be visible when this catalog is active. Other products will not show up in search results, category browsing, and if someone tries to view the product by ID it will report that no product is found for this ID. There is a performance impact associated with the use of this category, so alternatives might be desirable in certain circumstances. In general for easier maintenance it is best to have this set to the same category as the Default Search category.

Category Setup

As described in the Catalog Setup section there are various basic Categories that we need to create for our new Catalog. We will create four categories:

...

For the top-level browse Category that will be a child of the Browse Root Category associate them using the Rollup tab for whichever one you create second. Both parent and child categories can be setup there.

Product Setup

Congratulations, you are finally to the point where you can start setting up products....

...