Php-MultiShop offers the promising combination of two open source projects to create an online "mall." Php-MultiShop is based on two core components: the osCommerce storefront and the PHPNuke content management system to create a multi-storefront mall. Though the concept and the promise are sound, the actual implementation can be a challenging ordeal.
What is Php-MultiShop?
Creating and maintaining a multi-shop ecommerce portal (let's call it a mall) has never been an easy or cheap task. Php-MultiShop is an actively developed open source project that is at its core an attempt to create a freely available open platform for a multi-shop ecommerce portal.
The installation "README" file for Php-MultiShop offers the most articulate explanation of what the app is about: "Php-MultiShop is a virtual mall, a market place that has as its center a CMS (PhpNuke) around a series of shops (osCommerce)."
I've used and reviewed osCommerce before; it's a robust open source ecommerce storefront that offers a lot of possibilities. It's also not without its shortcomings. PHPNuke is a well-known and developed open source CMS (content management system) so the two would seem to be a good combination. The concept of having one tool to "manage" the content of the mall, the other to manage the storefront on the surface sounds very promising. The reality though is somewhat more limiting as the CMS portion and storefront portion are not nearly as integrated as you'd hope to expect.
Installation
Php-MultiShop is freely available (under the open source GPL license) from its sourceforge.net project page and also linked from its own site. For the purposes of this review, I tested Php-MultiShop version 0.6 (released March 18th, 2005).
Requirements
The requirements to run Php-MultiShop are the same as those for either PHPNuke or osCommerce on their own. Namely, Linux, Apache 1.3 .x or 2.x, PHP 4.x and MySQL 3.23 or greater.
The first thing you realize when you attempt to install Php-MultiShop is that you need to perform at least two separate installations in order to achieve a Php-MultiShop setup. There is no master installer script that will handle both the PHPNuke and the osCommerce ends of the equation so both need to be installed separately.
 |
| Php-MultiShop's main control panel is fairly straightforward. But setting up your own virtual mall using the software package is another story. (Click to enlarge) |
First you have to install and setup PHPNuke which involves editing the "config.php" file to make sure it fits your particular environment variables (domain, MySQL configuration etc) as well as setting up and populating your MySQL database with the included "nuke.sql" file.
On first run of PHPNuke, you create the SuperUser admin account as well as filing the various tidbits of site info. When you get into it, you'll notice that PHPNuke has its own long list of features and also has its own long list of available modules and enhancements. As I'm looking at PHPNuke only in the Php-MultiShop context, I'll leave it there since PHPNuke really is a topic on its own.
What Php-MultiShop does for PHPNuke is it adds a module that allows you to show your osCommerce shops as well as integrating a site description and a few products directly into the PHPNuke portal. If you already have PHPNuke installed, there is a simple add-on module that you can get that will do the same thing as the full version from Php-MultiShop.
Installing osCommerce (Php-Multishop Version)
Installing the Php-MultiShop version of the osCommerce is much the same as installing osCommerce normally with at least one key subtle difference. As opposed to creating a separate database for the data, you instead execute the sql to the same database (the "nuke" database that you setup for your PHPNuke install).
To create more than one store, which is the whole purpose of having a mall, you have to install osCommerce for each store that want to have in the mall. You cannot use the same osCommerce installation for more than one store and you cannot administer the content of the stores themselves via PHPNuke.
There is also no master osCommerce site control so that you could have some form of unified checkout, affiliate or mall coupon/gift certificate setup. I can understand the need to have separate ecommerce storefront each catering to the particular preferences of the store, however there's got to be an easier way to do that than having to have completely separate installations.
One of the greatest strengths of osComerce is its tremendous extensibility, which, thanks to the open source community, provides it with a very large number of additional capabilities. Due to the fact that you need to install a separate version of osCommerce for each store — in my experience I had to re-install each extra module as well — it can be a very tedious process. The need to use multiple osCommerce installations is perhaps the single biggest drawback to the Php-Multishop application.
Php-MultiShop is also using a "default" version of osCommerce (osCommerce 2.2 milestone 2) which, as we noted in our review of osCommerce, is lacking in a number of critical areas. The most notable omission is the lack of an administrative security/control interface for the osCommerce stores. There are a good number of admin security modules available that easily fix the problem. It's certainly not insurmountable, but it's just another omission that makes Php-MultiShop barely usable without spending significant time and effort to bring it up to par.
One of my favorite osCommerce enhancements is actually an application of enhancements called CREloaded, (which we reviewed here) that includes security for the admin as well as 39 other enhancements (like affiliate marketing and coupons/gift certificate) that I can hardly imagine running osCommerce without.
I thought that a quick fix for all that ails Php-Multishop would be to substitute the included osCommerce install from Php-MultiShop with the one from CREloaded. Unfortunately, though, Php-MultiShop's version of osCommerce includes a script at the beginning that makes it work with PHPNuke, so my attempt didn't quite work. With a bit more time, effort (and some programming skill), I could probably have made it work, though.
Don't think of Php-Multishop as a "shrink-wrapped" application that's ready to launch an ecommerce mall right out of the box, as you'll likely be disappointed. Since Php-MultiShop is open source, and if you're willing to spend the time and effort with it, you may very well be able to customize it to meet your needs. The support forum is reasonably well trafficked, and with the tremendous community resources behind both PHPNuke and osCommerce you won't be alone in your efforts. Php-MultiShop makes no pretences of being a stable or fully matured product yet. It's only at version 0.6 and is still "under construction."
This is one project that I personally will keep a close watch on to see how it matures and if it will ultimately realize its great promise.
Sean Michael Kerner is a contributor to ECommerce-Guide.com