[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
minivend and competitors
>>>>> Michael Ben-Nes wrote:
Michael> Im using minivend as an e-commerce platform. Its working
Michael> great but Im thinking replace it with other platform
Michael> because the support is really lame.
Michael> Any one know of a good e-commerce platform for unix that
Michael> support: mysql, basket, shipping, user-db ....
At my lecture on Friday, I briefly mentioned MiniVend. Here's my
basic experience, in two sentences:
- MiniVend is very powerful, and can do anything you want.
- Figuring out how to get MiniVend to do what you want, however, is a
maddening experience.
Now for the expanded report:
I've been working with MiniVend for about two years, and have had
near-daily struggles to get it to do what I (and my clients) want.
When I first saw it, I was really delighted to have found a
ready-made, GPL'ed, e-commerce solution with templating and Perl. I
have since begun to have very strong criticisms of MiniVend -- its
lack of decent error-handling, bizarre variable scoping, easily wedged
state information, bad documentation, odd bugs, lack of serious
support for SQL, and so on.
Every month or two, I think that I've *finally* figured out how to
work with MiniVend, and how to get it to do what I want. And then
something happens to convince me otherwise.
Unfortunately, there's no good free alternative. In the last few
weeks, one of my programmers and I have looked into YAMS and
OpenSales, which seemed to have the most promise of all free
solutions. I'll admit that we didn't give it all that much attention
(since one of our MiniVend sites was crashing and burning for no
apparent reason), but it seems that YAMS is too underpowered for most
needs and that OpenSales simply isn't ready for prime time. It's
really a shame, too, since OpenSales looks like it has the potential
to give MiniVend a serious run for its money.
Just this morning, I spoke with one of my clients about shopping
carts. I told him that it would probably be easier to build something
ourselves from mod_perl, Mason, Apache::Session, and DBI than wrestle
with MiniVend yet again. In such a scenario, Mason takes care of the
templates, Apache::Session takes care of the state information, DBI
lets us talk to the relational database of our choice, and mod_perl
takes care of the speed and database connection pooling. You lose
MiniVend's generic shipping calculator, tracking information, and
error pages -- but these shouldn't take much time to write. And you
won't be locked into MiniVend's odd templates, which lie somewhere in
the twilight zone between Perl and macros.
And yes, MiniVend has built-in CyberCash support. But given that
CyberCash supplies Perl libraries for people to use, I imagine that it
wouldn't be hard to write some home-grown libraries that talk to
CyberCash. And if you use a component system like Mason, you can
reuse the underlying layers with subsequent shopping carts,
redesigning the top-level templates.
You might also want to check out Zope (http://www.zope.org) and ACS
(http://www.arsdigita.com). I'm sure that there are commerce systems
available for both, although I'm not familiar enough to say for sure.
By the way, I've found the MiniVend support to be quite good, with
immediate answers to almost any question. Unfortunately, the answer
you get from the mailing list is almost never, "It's documented in the
manual," because the manual is difficult to understand, sparse in
important places, and simply wrong in others. Support is important,
but decent documentation is at least as important.
If you want a simple store with decent templates, MiniVend is a good
answer, and will do a good job. But if you want serious SQL support,
or the ability to make simple changes without having to read dozens of
pages of documentation, I would consider other options, including
building your own.
Reuven
=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il