Versions Compared

Key

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

...

${ofbiz install dir}/framework/common/config/general.properties

  • Default Currency Code (Note: This must exist in Uom table, three letter code, see seed data in the CurrencyData.xml file): currency.uom.id.default=USD
  • Default Country Code (Note: This must exist in Geo table, is three letter ISO country code, see seed data in the GeoData.xml file): country.geo.id.default=USA
  • Note that these settings can be overridden for a Store in the Edit Product Store page.

...

If you are having trouble getting OFBiz to connect to your mail server, try disabling your anti-virus software (temporarily) as it may block attempts to send emails from unknown apps applications because it thinks they are being sent by a virus.

...

There are various ways to run OFBiz, and they all come down to some variation of the executing the "ofbiz.jar" executable JAR file.

On the command line this can be as simple as:

...

Code Block
ofbiz$ [./]ant run
(add "./" on *nix systems, to use the embedded ant which is in sync with your OFBiz version) 

Then to To access the application from your browser follow advices advice given in the Demo and Test Setup Guide


For production use you will want to setup a start script that contains special settings for things like memory heap size, and so on. There are example start and stop scripts in the root ofbiz directory in the startofbiz.sh and stopofbiz.sh files.

Expert Recommendation: Instead of running the startup and shutdown scripts manually it might be

...

better to set them up as services on the system, or to use something like daemontools to make sure the process is restarted automatically if it goes down for some unexpected reason.

Running OFBiz Automated Tests

...

Performance Monitoring and Tuning

Expert Recommendation: While some steps can be taken at this point in the configuration process, the real performance testing and tuning should be done after you have setup your catalog, categories and products, and after you have customized any templates you plan to.

As mentioned above a critical part of performance tuning is turning off the expire times in the cache.properties by commenting out the lines near the bottom of that file that set those values.

...

There are three causes for cache misses:

1. Not Found
2. Soft Reference clearing (is done during garbage collection)
3. Expire Time reached for an entry in the cache

Memory Settings

If you are running into problems with Soft References (as seen on the cache management page in WebTools), the case is generally that your heap memory settings are less than ideal. Every time Java does a memory allocation and finds it needs to grow the heap size it first does a garbage collection and clears out soft references. The Entity Engine caches all use Soft References to avoid overrunning memory with cached database data.

In other words, you may have 2Gb of memory on the box, but you are probably only starting with 64Mb (or even less) and have a max heap of 128Mb. These are done with the following java command line arguments: -Xms64M for the low size, and -Xmx128M for the max size.

We usually recommend a max heap size of around 75% of the memory on the box, but that depends on the operating system of course... The small size should be pretty high, perhaps even as high as the max, to avoid the caches being cannibalized during allocations and garbage collections as described above. Last recent versions (say since R10.04) require more permanent generation space (also know as perm gen space). For instance in the trunk demo server we currently (16 May 2010) use 512 MB of perm gen space. And our memory parameters are -Xms128M -Xmx1024M -XX:MaxPermSize=512m.

Database Intensive Operations
The comments above on memory settings, caches, etc. are for category browsing pages and such where just about everything should be cached. For db database intensive operations, like the product searching, it's much better to focus on how the db database is doing managing with the queries.

POS Setup Process

...

The POS system is designed to run with its own database in a totally stand-alone mode. This was done so that even if the machine is totally cutoff from the network it can still operate. But it may It can also be used with a shared database, for instance if you want to run a webstore simultaneously using the same stock. You may could even use the same machine to run both (ERP&eCommerce + POS) using the -both paramerer, parameter (see below.)

To run OFBiz in the POS "mode" just run:

Code Block
java -jar ofbiz.jar -pos

or , at least currently on Windows for now use startofbizPos.

Note that this uses the pos-containers.xml file instead of the ofbiz-containers.xml file and by default it doesn't load a web container (Tomcat by default), but you may also run the command below which uses the both-containers.xml allowing to run the POS concurrently with Web eCommerce and Back Office.

Code Block
java -jar ofbiz.jar -both

or , at least currently on Windows for now use startofbizBoth.

The Store for the POS needs slightly different settings than for a web store. There is an example POS Store in the demo data. One of the differences to note is that the POS Store should always have the Is Immediately Fulfilled field set to 'Y', whereas for an online store or other mail or phone or store store types (e.g. mail, phone etc) it should be set to 'N'.

The POS Store should also have Manual Auth Is Capture set to 'Y', and typically Check Inventory and Require Inventory should be set to 'N'.

There are many files under the specialpurpose/pos directory that you may want to customize as you set it up.

  • The receipt templates are stored as  .txt files in the config directory there.
  • The screens are configured through XUI in various files under the screens/default directory. There is a default set for 1024x768 screen (in default directory), and a 800x600 preset. (NOTE: To use 800x600, you must modify 3 properties in xpos.properties : StartClass, ClientWidth and ClientHeight, but don't touch the other parameters...)
  • Button events are configured in the config/buttonevents.xml file.
  • The POS is translatable, see the config directory and for more the OFBiz-POS page

...

  • In the parameters.properties file
    • By default the POS use uses a virtual alphanum keyboard and a virtual numeric pad. If you prefer to use a real keyboard, change the ShowKeyboardInSaveSale parameter. (Note: You may even swap dynamically back and forth from the Admin Panel using "Virtual" button. But then the parameter will not persist.)
    • There is a related special parameter SwipWithCard which is, for now, used only to swip swipe card numbers using an MSR in the Client Profile dialog box (Promo Panel, Client Profile button). There are also sentinels sentinel parameters for setting MSR types.
    • If you use an external system for credit cards card payments , then you may find it convenient to use the PosRefNum parameter wich allows you to not enter payments referenceswhich allows you makes entering payments references optional (i.e. so you dont have to enter them)
  • In pos-containers.xml and both-containers.xml (depending if you use one or the other)
    • xui-session-id : the POS terminal identifier (used during synchronisation for instance)
    • facility-id : related to the name you set for your facility in on the ERP side
    • look-and-feel : see http://www.jgoodies.com/
  • In xui.properties (in framework/guiapp/config)
    • # isSameLogin : if equals "true" (false by default), a logged off user (blocked, time out, ...) can only log in with the same login/pwd couple.
  • There are also some technicals barcode scanning related parameters in jpos.properties

...