Only for developers - or rather ofbiz enthusiasts
WebShop/UnderDevelopment/OfBiz/TestCases lists the functionality we use. Also a tutorial for ofbiz users.
Apache/Tomcat/OfBiz? running on my laptop
MaxDB? running on my garage computer
Mozilla running on my livingroom computer
Progress was MUCH slower than I wanted, but the best part is it's running all together with Apache and Tomcat, and to sweeten the deal, I finally understand it! -Jason
Now to populate the DB with all the products... and keep a good system of categories.
should I install a local ofbiz on my home system?
Only if you plan to play with versions, features, upgrades, etc.
It's very easy (takes 15 mins besides some svn download time) if
- and postgres are no problem
- and mem >=512MByte.
- apache only needed if other (than ofbiz) also needs the same (eg. 443) port. Mostly not needed, since using port 8443 is perfect for a test system.
- [get the uptodate code via svn]
- ant compile it
- the rest is compatible with the [basic procedures] that uses the old prebuilt binary release and [ofbiz wiki] helps you set up postgresql (create database and user).
- point it to the database (instead of the default in-memory demo database system). Do it manually, or see my patch below: in the ofbiz dir run patch -p1 </opt/ofbiz-postgres.patch
- decide if you run it over existing database or start from empty DB and import dir with XML-s exported from previous version, or there is sample-data with gizmos (some silly products) and also minimal sample data without gizmos (this is only very necessary data, such as types, and priviledges).
- start it up. Note that since startup can take 2 minutes.
These are just notes, check the ofbiz.org docs. I'll help if you run into problems.
The original configuration refers to derby database, you want to change it to postgres (maybe maxdb or oracle, but not mysql):
cat /opt/ofbiz-postgres.patch --- ofbiz-old/components/entity/config/entityengine.xml 2004-10-21 03:14:27.000000000 +0200 +++ ofbiz/components/entity/config/entityengine.xml 2004-10-21 10:59:02.000000000 +0200 @@ -33,4 +33,4 @@ <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false"> - <group-map group-name="org.ofbiz" datasource-name="localderby"/> + <group-map group-name="org.ofbiz" datasource-name="localpostgres"/> </delegator>
Ofbiz via Apache
Since IP address (and sometimes even domain names) are a limited resource, and stupidly configured firewalls/proxies often refuse to access https://domain...:8443/ (https through port 8443 or actually any other ports than 443), it is desirable to connect to the application server that is behind an Apache server. The apache connects to the container (which is by default catalina tomcat).
- apache2 https port 443: https certificate generation (should be smooth, IIRC openssl provides a script that I used a few times earlier)
- might be mapped to apache2 http port 80 (later we might just allow the frontend of webstore to be used by http, and everything else restricted to https)
- apache2 config: jki connection to the container
- for jetty: tcp ports 1099, 2000 and 8009 and 8443 are free now. But prefer 8010 vs 8009 if possible. But 8009 OK if only works that way.
The sites-enabled/site... (or httpd.conf) trick is:
cat /etc/apache2/sites-enabled/biz.x-dsl.hu NameVirtualHost * <VirtualHost *> ServerAdmin firstname.lastname@example.org DocumentRoot /var/www/biz.x-dsl.hu ServerName biz.x-dsl.hu ServerAlias biztest.x-dsl.hu ErrorLog /var/log/apache2/biz.x-dsl.hu.err TransferLog /var/log/apache2/biz.x-dsl.hu.log ErrorDocument 404 /404.htm <Location "/ofbiz/*"> # WARNING!!!!!!!! /ofbiz/* is hell to make work, # the webapps config in ofbiz is for martians # instead make separate Location entries /party/* /partymgr/* /order/* ... # that point to same worker. Ugly? It works. JkUriSet worker ajp13:localhost:8010 # beware that ajp13:localhost:8010 is just a reference (key) # to an entry in workers2.properties file ! </Location> </VirtualHost>
Mass registration of products
Everything is so nice with the XML formats and import-export tools in webtools. Also check entity-data maintenance, where every attribute can be viewed or changed (with the right permissions, but we use fulladmin now)
- inventory is a bit problem, I have to understand inventory data at least before next migration (for now we type in again).
self-registration of new parties
Because of the work-effort module, it would be nice if
- anyone could sign up himself (with no special rights of course).
- Maybe make their own facility as well (that they can manage).
- we would grant them any added rights for the given facilities and categories (or only possible to all products or none?)
Shopkeepers, please update your stock ASAP
- I made warehouses and usernames for sly, jorgen, jason. I send pw privately. Shopkeepers have fulladmin rights for now so they can play with features.
- Jason's girlfriend entered most sold products (the facade needs to be made nicer, so we can switch to ofbiz as our new shop)
- my girlfriend entered most subassemblies used for genboard v3 manufacturing (so we see exactly what to order - although not yet connected with bin/categories.pl)
- get familiar with ofbiz
- please register your inventory (endplates, boxes, etc...)
- registering (create new) inventory is easiest when going from (catalog => vems catalog => given product => inventory). It's one more click than I think it should be, acceptable. Use found as reason for inventory change. When going from facility (warehouse), the ID of the product needs to be typed.
- QOH is the real quantity (on hand)
- ATP is what can yet be promised. Eg. if I have 10 (whatever product) QOH, but 2 are scheduled to be transferred to Jason, and 1 is promised to a customer through a channel that ofbiz aint know about, ATP=10-2-1=7
- registering a postal address (party => contact => new) wouldn't hurt (also telephone, email)
After some practicing, you'll find that ofbiz is very intuitive. We use products, facility, inventory, party and inventory transfer.
We'll use more and more features, like work effort management, manufacturing, and who knows..
Let me know if you have problems.
- https://biztest.x-dsl.hu:8443/catalog/control/main is the test system and
- https://biz.x-dsl.hu/catalog/control/main is the production instance
- ... add your instances (at least name; URL optional)
- refine (create when necessary) products
- categorize them
- start to set up store
- update all the East Coast Inventory. It seems like [inventory] can be entered, but the summary report does not show up good (only when you click edit and see each inventory variance).
I thought that you planned to do the article master on your (garage?) machine and import into the system through XML (or through the EntitySync gizmo that I couldn't fully understand yet).
If you run into foreign key exceptions (likely with the category because of the parent category key) you can drop all foreign keys, import, than recreate fk (takes 1.5 minutes each).
Migration from current shop to ofbiz
I expect the following advantages:
- proper track of inventory without manual adjustments
- splitting order to more than 1 packs to match reality (when part comes from US and other from EU)
- split IBAN, ikobo, check and money order payment options properly
- apply some extra fee on paypal payments to cover some losses from the activity of paypal dirty tricks department
More on migration to ofbiz WebShop
I'm thinking of setting oscommerce (current shop) stock to all 10000 at the time of the stock update, so ofbiz stock-adjustments can take that into account later (somehow).
- [EntitySync] configuration questions in ofbiz wiki. Anyone knows how entity-sync could be set up? We really want to have 3 ofbiz instances (HOSM, HOST and for now one BOS) with entity-synchronization. It is also possible to have manual procedures temporarily for cloning Product and productcategory info from HOSM to BOS.
- finish the ofbiz products and categorizations, copying from oscommerce (done by MembersPage/RichardBarrington)
- check ofbiz payment module: moneybooker
- check ofbiz payment module: ikobo
- check ofbiz payment module: paypal (with extra fee for PaypalStealsYourMoney !!)
- migrate oscommerce customers: optional (they can simply re-register; the passwords would be hard to transfer if crypt-function is not identical).
- migrate oscommerce orders: no way! Not necessary anyway
User rights in the test sys
I think we want to import products (and most data) into the test systems, but not the users. It's fine to have some shared usernames for testing (or same users but different passwords). The passwords must not be public :-) I wiped the standard passwords of course.