Slashdot Mirror


Ask Slashdot: Open Sourced Mall Software

peyote was looking for some thoughts on the following issue: "I am looking for feedback regarding OSS shopping mall software. First, does any OSS software exist that provides an online mall environment for use with Linux & Apache? What are *your* experiences with that software? Second, would such a thing be of interest to the community as a whole? So I'm just researching a little behind what the community as a whole thinks about this. Would this be something that might be useful? What would be involved in coordinating an Open Source development group, should this project go GPL? I appreciate any comments you all may be able to contribute!" Sounds interesting! What do you all think? Here's more information on the project background from peyote.
We are a non-profit organization that has developed, in-house, a set of perl scripts that implement a shopping mall. Some important bits: MySQL is the backend, it's developed to be a multi-store mall, and uses PGP and SSL w/o a problem. It also supports CyberCash, among other things. We are now looking at a number of things to be added to the software. It is at the point where it would be perfect to GPL -- we can't really afford the manpower and money to develop it to the point where we finally want it to be, and I see something of a void in the OSS community WRT mall software. The software is *very* functional and has worked very well for us!"

51 comments

  1. Write it in Python by Anonymous Coward · · Score: 0

    Damn, now I need to back that up with reasons!

  2. www.minivend.com by Anonymous Coward · · Score: 0

    Minivend is a Perl-based catalog package. You can run multiple catalogs off of it as well (shopping mall). It's very nice, and flexible, and GPL'd!

    I set up a catalog with it a year or so back, and it was pretty easy to get going. There is nice support for SSL etc also. Check it out. Linux, *BSD (I used OpenBSD), and NT support.

    The guy who does most of the work seems pretty sharp, and he has a server you can stick your catalog on for about $80 a month. That includes a Stronghold server. You can run it anywhere else, but if it were me I would use his server...after all, he wrote the software, so it should run especially well on his server, right? Yet another example of how to GPL stuff and stiff make money off of it.

  3. MetaHTML is an option by Anonymous Coward · · Score: 0

    Their stuff is at http://www.metahtml.com/. You can make an online shopping cart fairly easily, and the old version is GPL'd. Personally, though, I think the syntax of the language sucks... I wouldn't use it for any large projects.

    PHP3 is a much nicer language, and is MUCH more powerful. There are a few shopping cart systems written for it you could tweak into whatever you want. Check the sample code links from http://www.php.net/

  4. Try Minivend by Anonymous Coward · · Score: 0

    You can always check out Minivend at http://www.minivend.com

    HarryZ

  5. Question..... by Anonymous Coward · · Score: 0

    As being still being young I might not know everything, but ...

    Whne I buy a Store to run on my Apache (such store as iCat..etc) dont I get all the sources to customize it further (such as for bookstore I need to have different store than a flowershop)..

    Next... If I buy such a store why wouldnt I be able to release my patches as to what I have done to get a given product (iCat or whatever) to work the way I got?

    .......

    Btw: there are many store systems out there... I would recommend checking one developed by Parsons InfoSystems... Its JSP, but nicely powerfull... too bad its not OSS... talking to them right now about it though...

  6. Check out the ArsDigita system by Anonymous Coward · · Score: 0

    ArsDigita gives away their "shoppe" software which does database-backed reliable e-commerce. If you haven't read the ecommerce chapter of Philip Greenspun's book (http://photo.net/wtr/thebook), you should, if only to read the CyberCash horror story. There's links to the ArsDigita Shoppe software in the ecommerce chapter.

  7. Write it in Python by Anonymous Coward · · Score: 0

    hehehe...

    Why write it in python!!?? We want reasons now!!!

  8. Sounds Cool by Anonymous Coward · · Score: 0

    We Like Databases.

  9. What's so damn good about this Python thing anyway by Anonymous Coward · · Score: 0

    Python and Perl are both useful scripting languages, Python's major advantage over Perl is its clarity:
    Compare these two codes ( Lifted from the DISLIN examples -sorry...it's for a good cause...)

    ****Python:

    dislin.height (60)
    nl = dislin.nlmess (ctit)
    dislin.messag (ctit, (2970 - nl)/2, 200)

    dislin.height (50)
    nx = 300
    ny = 400

    for i in range (0, 20):
    if i == 10:
    nx = nx + 2970 / 2
    ny = 400

    nl = dislin.nlnumb (ivec[i], -1)
    dislin.number (ivec[i], -1, nx - nl, ny - 25)

    dislin.vector (nx + 100, ny, nx + 1000, ny, ivec[i])
    ny = ny + 160

    dislin.disfin ()

    ****Perl


    Dislin::height (60);
    $nl = Dislin::nlmess ($ctit);
    Dislin::messag ($ctit, (2970 - $nl)/2, 200);

    Dislin::height (50);
    $nx = 300;
    $ny = 400;

    for ($i = 0; $i 20; $i++) {
    if ($i == 10) {
    $nx = $nx + 2970 / 2;
    $ny = 400;
    }
    $nl = Dislin::nlnumb ($ivec[$i], -1);
    Dislin::number ($ivec[$i], -1, $nx - $nl, $ny - 25);

    Dislin::vector ($nx + 100, $ny, $nx + 1000, $ny, $ivec[$i]);
    $ny = $ny + 160;

    Dislin::disfin ();

  10. Roxen and the IiVend program by Anonymous Coward · · Score: 0
    One thing you may want to try is using the Roxen webserver and its iVend module that is maintained by a third party.

    http://www.roxen.com/ for roxen, its a *very* powerful webserver.

    iVend is a commercial module by license, but its undergoing testing right now. Its currently in use for a few sites.

    Roxen has SSL3 support, the works. Its fast, and its got commercial support if you so need it.`

    I'm currently re-writing themes.org to use it. http://random.themes.org/ shows my current blackbox page that I will use to replace the current one on themes.org.

    Woo.. Roxen has a pop3 server too =) Combined with SQL authentication, its pretty damn easy to create clusters too.

    --- mailto:vjanelle@home.com -- Vincent "Random I forgot my password again" Janelle.

  11. OSS Shopping Cart by Anonymous Coward · · Score: 0

    Cartserv poet@linuxports.com

  12. PHPLIB has a shopping cart by Anonymous Coward · · Score: 0

    The PHP Base Library has support for a shopping cart. I haven't had any experience with the cart, but the rest of PHPLIB is stable enoguh for production use...

  13. Minivend by Anonymous Coward · · Score: 0

    I've been using Minivend (http://www.minivend.com) for over two years now, and it fits your ideal shopping cart exactly. It is GPL'd, and runs very nicely. It may be somewhat difficult to set up a catalog with it, but it has gotten better in the past year (believe me!) and i doubt that anyone who reads /. will have any probs setting it up. For all you people using minivend, make sure you join the mailing list. We could always use fresh ideas.

  14. No, Security products are NOT Expensive by Anonymous Coward · · Score: 0

    Redhat Secure Server includes a RSA license for the Apache/SSL solution and it only costs $79.95 from Cheapbytes.

  15. You forgot one... by Anonymous Coward · · Score: 0

    You forgot a personal favorite...

    [X] Shell script

  16. Whatever happened to mod_perl? by Anonymous Coward · · Score: 0

    You left off ASP / VBScript.

  17. What's so damn good about this Python thing anyway by Anonymous Coward · · Score: 0

    So, the following block

    for i in range (0, 20):
    if i == 10:
    nx = nx + 2970 / 2
    ny = 400


    Is clearer to read than?

    for $i ($i = 0; $i 20; $i++) {
    if ($i == 10) {
    $nx = $nx + 2970 / 2;
    $ny = 400;
    }
    }


    could someone please remind me why most languages piked up a block scheme using {}, [], (), or even 'BEGIN'/'END' pairs so thatyou know where your blocks are. Im sorry that must be a bad choice of code to show off. Please pick something better next time.

    I would naturaly assume that the condtional only specified the following line, ie:

    for i in range (0, 20):
    if i == 10:
    nx = nx + 2970 / 2
    ny = 400


    would get recoded in perl as:

    for $i (0 .. 20)
    {if ($i == 10)
    {nx = nx + 2970 / 2;}
    ny=400;
    }


    (and YES, i'm trying to stay away from anything that most would confuse to be line noise, like '+=' and '$_'.)

  18. Because... by Anonymous Coward · · Score: 0

    Because if you write it in Python, the thing will get competitive so quickly that your company will be acquired by Microsoft. (This really happened - read this report from the 6th Python Conference.)

  19. Yet more e-store SW. by Anonymous Coward · · Score: 0

    This page of Gary's Encyclopedia has links to three e-store SW providers that I haven't seen mention of yet. I suspect that they all cost money.

  20. Write it in Dylan by Anonymous Coward · · Score: 0

    Why write it in a scripting language when you can write it in a general purpose programming language that is just as easy to use and performs better? www.gwydiondylan.org

  21. Python uses reference counting! by Anonymous Coward · · Score: 0

    Last time I checked, Python uses reference counting for its GC... *cough* *cough*

    Dylan has real garbage collection.

  22. Ugh! by Anonymous Coward · · Score: 0

    That blows like Fortran 77! Lets see if I remember my fortran.

    column 1 reservered for line wrap flag
    column 2-10 reservered for labeling and line numbers
    columns 11-70 is where actual code goes
    columns 70 on is where comments are inserted.

    Indenting is very important there, and can lead to all sorts of problems if you forget to count and your code goes into the comment region. Perhaps thats why I hate VAXen, I was introduced to Fortran there. :(

  23. Meta-html tried this by Anonymous Coward · · Score: 0

    Have a look around the GPL'd Meta-HTML site
    at www.ua.com or www.metahtml.com

    There is shopping cart software there which
    has been used by a number of companies. When it
    was being developed, there was an active set of
    public mailing lists discussing things. If
    the archives are still there, they're worth
    poking around in to judge community interest.
    As I recall, there were about 20 active
    participants, but pretty much everything
    was still done by one guy (brian fox, of bash$ fame).

    You're dealing with a limited audience, so keeping
    your product proprietary probably wouldn't be
    terribly useful. May as well release it and
    go into the business of providing installation
    and customizations, if you're looking for a
    business.

  24. Python Sucks! by Anonymous Coward · · Score: 0
    Python looks like a great language on paper. I read about it, then wasted $50 on Mark Lutz's book on Python. It looked so great.

    Then I started writing Python and I found that everything annoying about it got more annoying over time. If you share source with other people, for instance, there will be confusion about spaces and tabs, and sooner or later you're going to have to reindent 500 lines of source, and then spend another few hours fixing all the bugs caused by places you didn't indent right.

    Perl, on the other hand, is the opposite. Yes, the dollar signs are an annoyance to the beginner, but they become second nature fast. The only real "problem" with Perl is that it's a very big language with ten ways to do anything -- which makes it hard for beginners to read other people's code. After you write a few thousand lines of Perl, trying to use all the features, you'll get over this.

  25. Read the second paragraph!! - Dolt! by Anonymous Coward · · Score: 0

    Quote: "What are *your* experiences with that software?"

    Part one of the question _IS_ what we use and how
    good it is.

    Part two is the question is of the hows and whys of releasing their code as GPL.

    Why don't _YOU_ read the question?

    --
    It is better to be silent and be thought a fool,
    than start typing and remove all doubt.

  26. Please don't try this by Anonymous Coward · · Score: 0
    It produces broken HTML code. What good are
    those
    • and
    tags for if there is no

    in them?

    The proper way to display code is to use and around the code. This is only a way to use
    this opportunity to enfoce the one true indendation width (3 spaces) upon the world

  27. Apache, jserv, JDK and MySQL by Anonymous Coward · · Score: 0

    Hi!
    I would be happy if you could email me
    about these issues (på svenska!).

    raffe_paffe@hotmail.com

  28. OS/2 users are dinosaurs by jabbo · · Score: 1

    Security products are only expensive if you're infringing on someone's patents and live in North America, the only place anyone respects patents on algorithms.

    mod_ssl + rsaref + apache didn't cost me a damn cent and took about 3 hours to set up. I don't make $6667 per hour so I can't figure out where the $20K figure I saw being bandied about comes from.

    Have fun writing those OS/2 device drivers, dickhead.

    Linux just sucks less -- JWZ (paraphrase)

    --
    Remember that what's inside of you doesn't matter because nobody can see it.
  29. Shopping Cart Software by mholve · · Score: 1

    I know there's some free shopping cart software out there. Check out http://www.cgi-resources.com

  30. What's so damn good about this Python thing anyway by ninjaz · · Score: 1

    This code:

    for ($i = 0; $i 20; $i++) {
    if ($i == 10) {
    $nx = $nx + 2970 / 2;
    $ny = 400;
    }

    can be replaced with:

    foreach $i (0..20) {
    ...
    }

    that makes it look more like the python equivalent that you showed.

  31. Yes, put it out there! by ptomblin · · Score: 1

    I'm designing a project right now that will be free at first, but eventually hope to have a "for pay" component. When it does, I'll want shopping cart technology. When that day comes, I'll start looking for open source software first.

    --
    The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
  32. Security products are expensive by timur · · Score: 1

    An RSA license to use SSL costs $25K. Granted, the web server takes care of that, but the SSL version of Apache isn't free.

    To set up a shopping mall, you'll need to accept credit cards. Even if the source code for that feature is free, doing the secure transaction with a bank won't be. And with the RSA patents in the US, it may not be possible to write the code and distribute it.

    --
    Timur "too sexy for my code" Tabi, timur@tabi.org, http://www.tabi.org

  33. SSL _is_ the RSA patent by timur · · Score: 1

    I don't know for sure, but from a conversation I had with someone working in this area, SSL is an RSA patent. The algorithms you use to create an SSL transaction can only be implemented by using a patented RSA algorithm. In fact, you can consider SSL to be an implementation of the RSA patent. There's no way around it.

    --
    Timur "too sexy for my code" Tabi, timur@tabi.org, http://www.tabi.org

  34. For future Python reference, try this by Evan · · Score: 1
    • slashpost.py
      • '''
      • Here's a little script which formats properly-indented
      • Python code for posting on Slashdot. It is being used
      • on itself, via
      • python slashpost.py slashpost.py
      • It's a mite simple-minded, but gets the job done for
      • snippets like itself.
      • '''
      • import re, cgi, fileinput
      • inspace = re.compile('( *)')
      • instack, indent = [], -1
      • for line in fileinput.input(): if fileinput.isfirstline(): print '<STRONG>'+fileinput.filename()+'</STRONG>'
    • line = cgi.escape(line[:-1]) # trim newline, escape <s and &s
    • i = len(inspace.match(line).group()) # indented how far?
    • if i==len(line):
      • print '</UL><UL>&nbsp;' # empty line
      • continue
    • if i>indent:
      • instack.append(indent)
      • indent = i
    • else:
      • print '</UL>',
      • while i<indent: print '</UL>',
      • instack, indent = instack[:-1], instack[-1]
    • print
    • print '<UL>', line,
    • for i in instack:
      • print '</UL>',
  35. Apologies to lynx users by Evan · · Score: 1

    I was led astray by the behavior of Netscape and IE; Sorry. Here's another go:

    slashpost.py
    '''
    Here's a little script which formats indented code
    for posting on Slashdot (where <PRE> doesn't work).
    It is being used on itself, via:

    python slashpost.py slashpost.py

    Far shorter and less simple-minded than my first shot at this.
    '''
    import cgi, fileinput
    from string import expandtabs, replace

    for line in fileinput.input():
    if fileinput.isfirstline():
    print '<STRONG>'+fileinput.filename()+'</STRONG><BR>'
    # Trim newline, convert tabs to spaces, escape &s and <s
    if line[-1]=='\n':
    line = line[:-1]
    line = cgi.escape(expandtabs(line, 8))
    # Make hard spaces and line breaks
    print replace(line, '', '&nbsp;&nbsp;')+'<BR>'
  36. Python Comments by Evan · · Score: 1

    There seems to be a deep, peculiar mental dividing line among programmers which is highlighted by the contrasts of Perl and Python. The two languages are actually very similar; Both are free, widely ported, easily expandable and embeddable. Both have good standard libraries, powerful dynamic built-in datatypes and OO features.

    Perl has C-ish syntax, with extensive use of non-alphanumeric characters. Python has more Pascal-ish syntax, apart from the use of indentation for blocks. This is where the divide shows itself; On the one hand there are programmers (such as myself) who find Perl and C very ugly and hard to read, while Python seems totally clear and natural. On the other hand, there are programmers who find Perl to be clear and natural, and Python's indentation too weird to be endured.

    No amount of advocacy is going to convince coders on either side of this line to switch. It's completely a matter of taste. If having both seems like unnecessary division or duplication of effort, remember that "there's more than one way to do it".

    Taste shouldn't lead to disinformation, though. I'm rather annoyed by those people who don't merely dislike Python's syntactic indentation, but start (incorrectly) comparing it to COBOL or moaning about how fragile the whitespace is and how tabs and spaces don't mix well. For anyone who uses Python regularly, these are non-problems; We simply don't mix tabs and spaces, and don't use tools which muck up leading whitespace. The only trouble I've *ever* had was in posting code to Slashdot, and a quick script elsewhere in this thread fixed that.

  37. A few links... by Booker · · Score: 1

    I've used the web_store script a little, you can get it at http://www.extropia.com/products.html

    There's also a list at http://www.pro3.com/cartfree.shtml

  38. Apache, jserv, JDK and MySQL by slimer · · Score: 1

    ...are the tools we used when building commercial "shopping-sites" using servlets here in Sweden. It was back when I worked as a freelance consultant. I designed and implemented the system together with another fellow, and it works quite nicely. It was for internal sales, though, so there is nothing to view on the web.

    However, servlets demand quite a bit of time to develop. They are fast and secure, though (since servlets eliminate the need for forking that used with perl cgis, for example). I believe an open source shopping system would be quite neat, and I'd love to contribute.

    --
    Ola Sundell
  39. Python uses reference counting! by SimonK · · Score: 1

    You're a C++ programmer aren't you ? They are the only half educated people who think reference counting is good. It has terribly unreliable performance characteristics, it breaks when confronted with circular references, and its demonstrably slower than real GC.

  40. PERL PERL PERL by kuro5hin · · Score: 1

    We love perl. There should be a T-Shirt, like those I [heart] NY ones: I [heart] Perl! PHP3 is gaining, though... a lot of very cool stuff you can do with that.

    Rusty (haven't had enough coffee yet today)
    ----------------------

    --
    There is no K5 cabal.
    I am not the real rusty.
  41. OpenCart by Trixter · · Score: 1

    A friend of mine is working on such a system called OpenCart. I have no idea how far along he is, but you're free to email him if you like.

  42. Read the second paragraph!! by PMoonlite · · Score: 1
    Hello, nimrods... he's not asking for a software solution... He's asking how/whether to GPL his own company's! How about reading for once?!

    As a partial response, I think that everyone would like to see a GPL'ed shopping program, however the concerns mentioned earlier about encryption may make the legal issues of releasing the source difficult...

    --
    -- Moderation in all things, exceptions to all rules --
  43. Project "Death Spiral" by StimpyBoy · · Score: 1

    You think so? :)

  44. And of course... by mengel · · Score: 1

    coffee mugs with the project slogan.

    --
    - "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
  45. Security products are expensive by jerodd · · Score: 1

    Of course, I've seen lots of people using Apache SSLeay without paying RSA any money.

    --
    --jon. Postel is dead. May we all mourn his, and our, loss.
  46. Heres a good GPL`ed shoping cart by vpp · · Score: 1

    i`m setting up a site not too disimalar to wat you must be planing on. i looked over a couple of carts but found this one the best:

    http://www.minivend.com/iri/mvend.html


    Scott (vpp)

    --
    Scott Aaron Bamford (vpp) "We`re giving you the chance to skrew it up in a whole new and exciting way" sab@clara.net
  47. OSS eMall software by CodeMerc · · Score: 1

    I've got an eMall system. I am working hard to get it to the point where I can hang it up on the Giant Java Tree.
    I'm grinding it out in html, servlets, and JSPs. I've already hung a piece of it up on the tree:
    webThingy.
    It runs on mySQL. To see a wee bit of it look here. This registration servlet is not live and not visible to the world at large; it's my testbed. It will be GPL'd soon.

    Dig this: the servlet engine is running last Wednesday's snapshot of Kaffe using Apache mod_jserv 0.9.12 on a Cobalt RaQ. I think it's the only RaQ in the world running java servlets.

    TTFN.

  48. Checkout Minivend by jfrye · · Score: 1

    You should take a look at Minivend http://www.minivend.com. The license is GPL, it is extremely feature rich and flexible. Written in Perl, it has its own tag system and allows embeded Perl. It supports CyberCash, SSL, PGP, database connectivity with SQL and DBI/DBD, and internationalization. There is extensive reference material available plus a new user documentation project is currently underway.

  49. PHP Cart by dfallon · · Score: 1

    I'm writing an open source PHP cart that works with mysql and cybercash... If people are interested in being involved, or have already done this, I'd love to hear from you....

  50. Potential Features? by Scott_F · · Score: 1
    i was thinking about writing one for a while, and came up with a couple things that might be cool to include if you find time to write one:
    allows users to set up their own catalogs. reference a "catalog" directory in their home directory so that they can update whenever they need to. (i.e.: give each business an account and let them develop the catalog) web interface for updating the catalog (prices, pictures, etc...) "templates" or "themes" for product pages and indices (easy updating/creation) database (for power) OR flat-text (for ease) data format

    those are a couple things... :)
  51. Security products don't have to be expensive by goaliemn · · Score: 1

    in order to communicate with the current web browsers, it has to use RSA. I tried working around it for quite awhile and gave in and bought a RSA license and started selling my server. With a server available for under $100, its hard for someone going into e-commerce to not justify the expense.

    Mark
    http://ssl.hockey.net