Forum OpenACS Q&A: New & looking for shopping cart

Collapse
Posted by Michael _ on
Hello; I'm new to OpenACS, although a longtime C and TCL programmer.

I'm interested in building a small website to sell a few products, and am out looking for a shopping-cart package.  Since I'm familiar with, and comfortable using, AOLServer and PostGres, OpenACS seems like a good platform to use for my project.

However, I don't see in the FAQ any direct reference to e-commerce or shopping carts.

Is this something that exists? Does anyone know if there is a shopping cart package that I can use to build my website around?  Or other prepackaged e-commerce type solutions?

Any suggestions would be greatly appreciated; thank you all in advance.

Michael

Collapse
Posted by Torben Brosten on
Hi Michael,

There's an e-commerce package, but it's designed toward high volume websites with many products or regular, returning customers.

There's some procs in there that interface with the free paypal shopping service:

http://cvs.openacs.org/browse/OpenACS/openacs-4/packages/ecommerce/tcl/paypal-procs.tcl?r=1.1

If you're looking for something with a minimum cost overhead, you can build from these procs to interface with paypal using whatever data model you currently have.

cheers,

Torben

Collapse
Posted by Michael _ on
Hi, Torben;

Thanks. That's an interesting comment about being oriented specifically towards high volume and so on.  Does that mean there is some downside to using it on a site with low volume or few products, or which has mostly new customers?

I was planning on using Paypal to start, but wanted to leave open the possibility of taking credit cards directly later.  That's what I mostly needed help with; I can build websites and JavaScript, but I'm fuzzy on financial software and am hoping to find something that will do most of the work of credit card or PayPal processing.  Also calculation of taxes & shipping.

Any thoughts on that?

Michael

Collapse
Posted by Torben Brosten on
You might want to look more deeply at the ecommerce package, depending on how certain you are at expanding.

dekkasupply.com uses ecommerce package, but we've switched off the payment-gateway aspects to use the free services by paypal, since their rates are cheaper than the ones we've been quoted by the payment-gateways! Generally, payment-gateways are supposed to have more competitive rates.. Anyway..we're working on a gateway to interface with Paypal Pro gateway, but finishing it is low priority at the moment. Other features are taking precedence.

The paypal procs are coded to use the existing ecommerce data, so we can toggle back and forth between services on the fly, when payment-gateway services are setup.

With the ecommerce package, you need to buy an SSL certificate, and pay monthly fees for a payment-gateway service which usually also quote the merchant-gateway pricing.

For few items or low volume, the overhead is not practical compared to services provided by paypal, google and other vendors promoting their cart services for free use.

ecommerce has lots of import facilities, so you can always choose something simple, and then upgrade later when you decide to go with OpenACS ecommerce package.

cheers,

Torben

Collapse
Posted by Jim Lynch on
Torben,

So the ecommerce package in cvs is actually the eg2 thing that you built, or the old original ecommerce that may not even be ported to postgres, and uses hardwired formulas for say the shipping cost calculation?

What would it take to get the eg2 one working?

-Jim

Collapse
Posted by Torben Brosten on
Hi Jim,

The ecommerce package is not the ec2 project, but ecommerce does benefit from some of the features developed for ec2, including importing product data from other websites (as a means of keeping pricing current) and flexible procs that help with importing, maintaining and displaying product data.

Ecommerce works with postgresql.

The hardwired shipping costs have been moved to a single proc to maximize flexibility in how shipping is calculated. There's also a shipping-gateway package for interfacing with a shipper's API; I haven't used it, so am not sure how current it is.

The underlying libraries of procedures and data models that make ec2 are almost complete. With a few years of experience with double entry bookkeeping (including audits) and building finance models for energy production projects, I believe I now have the experience to finish building ec2.

The hurdle at this point is dedicating revenue building time to complete ec2. To offset, I'm building a couple of web apps which also build on and add to the ec2 library. The process has been slow paced, but the goal is in sight.

cheers,

Torben

Collapse
Posted by Dave Bauer on
Torben,

Can you give an example of the external product data import for ecommerce? This could be important for some of my clients.

Collapse
Posted by Torben Brosten on
Hi Dave,

Two choices on the following page are Upload Vendor Imports and Vendor Imports Add/Update:

ecommerce/www/admin/products/upload-utilities

These scoop up data from other websites which can then be used to import images, change pricing etc.

You provide references that are then used to call up specific pages on other websites. One option allows you to upload a file with the references. The other option allows you to paste the references into a form.

You have to make procs that convert the references into urls, and filter out the html data from the vendor website. However, there are lots of tools provided in ecommerce/tcl/ecds-procs.tcl to make this process fairly easy.

A non-working example of the procs required for each vendor you want to target is at ecommerce/tcl/ecds-ex-procs.tcl

A few years ago, we were using these to literally process more than 20,000 products regularly, helping to generate a healthy revenue stream.

One has to be careful to adhere to copyrights etc, but usually distributors use manufacturer data unaltered, and manufacturers give default permission to use their product data for retail.

It handles multiple vendors, including products represented by more than one vendor You decide in your proc how you want to handle the updated info, and what to ignore.

these ecds_* procs require some specific fields in the ec_custom_product_fields which are defined via the web UI at ecommerce/www/admin/products/custom-fields See: http://cvs.openacs.org/browse/OpenACS/openacs-4/packages/ecommerce/tcl/ecds-procs.tcl?r=1.14 for details

cheers,

Torben

Collapse
Posted by Torben Brosten on
ps. Feel free to revise the ecds_ documentation for api-doc to something more understandable. or to ask me when something is unclear.
Collapse
Posted by Jim Lynch on
Torben,

All good to know...

As there are docs to show how to install oracle or postgres, aolserver and acs/openacs, does there exist similar documentation for setting up the cvs ecommerce and/or the ec2?

At minimum, does the exsiting documentation show how to get the whole thing installed? Again, either the openacs cvs version or ec2, including where to get the packages, and eventually both.

-Jim

Collapse
Posted by Torben Brosten on
Yep. Install ecommerce on your local installation of OpenACS and surf to ecommerce/doc Some of the documentation may not be clear, or references no longer available. You can contact me directly with issues that might be best handled outside of forums.

cheers,

Collapse
Posted by Jim Lynch on
Torben,

Could I ask a small favor... could I get you to install a test instance of (say) openacss-5.5 with pg-8.3 and then try installing the ecommerce package from cvs?

I'm doing the same on a copy of a (5.5. 8.3) instance I've been running over the years.

Reasons I ask are, it will be nice to have that same style of "do this, then do that, then build this" style of installation docs that acs enjoyed; and for the specific case of ecommerce I'm running into a number of issues that may or may not be solvable by someone who might potentially adopt openacs if it enjoyed a killer app as it did when dotlrn aas still alive.

Most likely we'll compare notes when we can get ecommerce installed, to the point the APM is satisfied insofar as dependent packages are concerned, and an instance of ecommerce can be mounted.. If needed before that, let's contact each other on this thread.

-Jim

Collapse
Posted by Torben Brosten on
Sure. ecommerce tends to be very customized with merchants choosing a unique blend. but I'm glad to help. I've openacs 5.7 installed from tar using pg 8.3 and ecommerce 5.18. It would probably best to start a new thread when you're ready.
cheers!
Collapse
Posted by Jim Lynch on
I did get it installed...

If you look at ecommerce.info, you'll see a list of what it needs, all but one of which I had to get from cvs; no one maintaining them and keeping them working with latest n greatest I suppose.

In two or three cases, the depended-upon package required things like a later kernel, but I just forced the install, seemed to work fine, data model loaded and everything.

Then installing ecommerce was easy, data model loaded without error, and after restarting I could browse around a little.

I'll be doing more as time goes on, but it seems to work fine so far; I at least get no errors on the pages I visited.

So far so good...

-Jim