4D and E-Commerce

I have the opportunity to write a few E-Commerce sites. I am looking to get some direction to head on doing this. Since I last did web and 4D has been several years, so I am expecting to have a whole lot of different ways to do this now. I am hoping to write this in version 18.x or 18Rx.

These are not going to be high volume sites as they will likely only be used in country and there are only 430,000 people in the country. Actually a good way to get my feet wet again doing this.

Looking for advice on doing this from people that have done this before.



We recently did an e-commerce web site with the WordPress/WooCommerce platform.

Pictures for items are posted on S3.
Communication with the platform using REST api.

The WordPress/WooCommerce is hosted in Digital Ocean cloud.

We worked with a partner who are fluent in php and wooCommerce. They worked on that part.

We did suffer performance problems because the catalog is huge 60 000+ unique items (quantity is 0 or 1). It turns out wooCommerce is bad at this (we did not anticipate this). Lots of optimisation had to be done on the wooCommerce side.


1 Like

I would strongly second Bruno’s outline of how to setup an ecom site. Then have 4D talk to it via REST api.

Examine all the great WordPress plugins to handle your WooCommerce data before re-inventing the wheel in 4D, too.

WordPress is a great Open Source success - too bad about Wakanda…

Walt Nelson (Seattle)


1 Like

Hello Jody,

I’ve been doing e-commerce websites for years with Joomla! but you can use WordPress. Both of the platforms have a wide range of e-commerce extensions which interface to all the payment providers. You can get a site up and running in a couple of days. It’s also much easier to get the client to browse through something like themeforest and select a template for the site rather than design your own. There are literally tens of thousands to choose from.

As Bruno said this all works very well for plain vanilla e-commerce sites. It starts to get complicated when you want to customise. I would investigate the plug-ins or extensions for Joomla! or WordPress to find out if anybody has developed something similar to what you need.

Both of CMS use MySQL and easiest way to do it is to use pluggers 4D plug-in to communicate directly with the database and download the e-commerce transaction straight into 4D.

You can also authenticate against Joomla! if you’re using 4D data published in webpages. If you are using 4D for some pages i.e. the backend then Grahams lightning component is a good place to start.

The only downside of either Joomla! or WordPress is that are PHP and although the pages are responsive on mobile they have to be viewed in the browser and therefore cannot be used in the App Store.

1 Like


I would recommend using a REST API over talking directly to the database. It is safer, cleaner and easier to maintain.

Thanks for the responses. The challenge is to know what is a plain vanilla e-commerce site. It seems vanilla to me:

  • Let the user search for categories of products

  • present products on screen, they can see details of products along with prices

  • they place the order

  • Challenge we have is in this country there are no addresses really. Need to use Geo location. That is not vanilla.

  • collect payment

  • We also need to provide the system for the delivery people. This does not need to be part of the e-commerce site. This needs to be on mobile though. See who to deliver and what, and then a Geo locate on a map as to where to deliver to.

Is this vanilla enough?



Could I just comment as a user of both 4D and a Joomla CMS.

We use 4D for the business in the “real world” and Joomla in the “cyber world” and so far never the twain shall meet. (If it is possible to dive into Joomla’s sql and extract the relevant data to unify our slightly schizophrenic business model then that falls into the “one day” category.)

I have trouble keeping up with 4D (currently moving to get the v16 purring) never mind the pool of technologies that the web employs.

Hence the use of Joomla and a cart.

For your points 1,2,3 and 5 can be pretty vanilla in Joomla.

Point 4 - the address.

Do your users know their geolocation? In a land of “no addresses really” is that the norm? What did people do not that far back before GPS? If users know their GPS then I would imagine that it shouldn’t do too difficult (I know “The simple things are all complicated…”) to somehow incorporate that into a cart address structure with creative use of existing fields. If they don’t have their GPS to hand then a site like latlong.net could either be built in to (or referenced by) the CMS. There are extensions for Joomla which “do” GPS but I have absolutely no ken as to what they do.

Point 6 may or may not be capable of being handled in the CMS, but the name (who) and the goods (what) is pretty standard stuff, and if geolocation is the norm then surely the delivery people (who I assume are offering a service for which they are being paid?) will have their own maps on which they work - let them handle it, it’s why they are being paid! (All said without knowing any of your circumstances - sorry).

Mobile is not a problem in Joomla - just a case of template.

As far as whether or not it is an “app”.

Having read in the forum so much about the problems of getting 4D apps validated (whatever) by the respective stores there is the alternative (of which I have only learned - yes I am behind the curve) of “progressive web apps” which would seem to be the “on trend” way of getting your “app” onto a 'phone without the trouble of validation. Again I haven’t investigated this (I only learned of pwa’s last week!) but a quick shuftie at Joomla’s extensions and there is indeed offerings to enable this internally to the CMS.

Slightly more than tuppence’s worth and it may be totally irrelevant.

But there is the saying “To a man with a hammer everything’s a nail” and it may well be that re inventing the wheel in this case is not necessary.


Other than the geolocation that is all straight forward. I would have a look at some existing e-commerce sites operating in your country. See if any of them have any form of address look up and then have a look at the source code of the page. You should be able to get an idea if any of the big vendor’s have a geolocation address mapping system. If you can get the latitude and longitude you can use Google for the map.

Dave - thanks for the details in you post.

I live in a 3rd world country now. The street signs are very few. Having house numbers are also very rare. They still do not have all the country surveyed, and proper land titles as of yet. People generally do not know their address. Getting something delivered is a ‘fun’ exercise of explaining to someone that speaks Creole / English mix. It can take 5 phone calls to get a specific driver at the gate of the house. Knowing who lives in the big green house by the aguada, with the 3 big dogs is helpful to give directions… yup that bad. Our place is known as the place with 16 Giant White dogs (Kangals).

What we need is the ability to grab the geo location from the phone. WhatsApp does this.

I have recommended that we do just an adaptive website for the mobile first. That way they spend less, and get to know what customers and they want and need.

I am not a big fan of WordPress. I have seen so many bad sites developed with it. I know, that may not be a WordPress problem, but rather developer or funding problem.

I will take a look at Joomla CMS.


Paul - thanks for the details in you post.

Look at my response to Dave Halbert. Both of you seem to be saying much of the same thing.