This repository has been archived by the owner on Dec 19, 2023. It is now read-only.
/
mvfaq.pod
2557 lines (1733 loc) · 82.9 KB
/
mvfaq.pod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
MiniVend Documentation Project: MiniVend Frequently-asked Questions
=head2 VERSION
Document version: $Id: faq.pod,v 1.3 1999/08/14 07:39:23 mike Exp mike $
This document describes MiniVend 4.0 and later.
=head1 MiniVend General Information
MiniVend is a freely-redistributable database retrieval and display
application focused on e-commerce. In other words, a high-end and powerful
shopping cart. It serves any number of catalogs via the World Wide Web,
allowing users to select items for placement on their shopping list,
or cart, and then buy them by filling out an order form.
MiniVend supports Secure Sockets Layer (SSL), PGP/GPG strong encryption,
and online payment services to improve security. It is designed never
to write an unencrypted credit card number to disk.
MiniVend has a host of features -- a partial list is available at
its web home page:
http://www.minivend.com/
A more complete list is in its documentation, available via links from above.
A full list can only be seen by examining its source code. 8-)
MiniVend is written and maintained by Mike Heins, but much
credit goes to Andrew Wilcox, who originated Vend and
created many of the underlying algorithms.
MiniVend is freely redistributable under the GNU General Public License,
a copy of which should come with every MiniVend package. Basically
this means that you can use it for commercial or non-commercial
purposes for free, but you you have certain responsibilities if you
modify and/or redistribute it. See the GNU GPL for more information.
=head2 Where can I get MiniVend? How much does it cost?
You simply download it from:
http://www.minivend.com/minivend/download.html
You also need Perl 5.005 or higher, available from CPAN.
A list of CPAN locations is always available at
http://www.perl.com/CPAN/
As to cost, MiniVend is I<free> within the confines of the GNU General
Public License. Basically, any individual or company can use MiniVend
free of charge -- you have certain responsibilities if you modify
your copy then redistribute it. See the GPL at:
http://www.gnu.org/copyleft/gpl.txt
=head2 What else do I need to run MiniVend?
MiniVend is a complex system requiring the services of other complex
pieces of hardware and software. While it can be very easy to install,
it is not always. You must look at the ongoing environment as well as
just the initial installation.
=over 4
=item Perl
First of all, you need a recent Perl. MiniVend 4 will
not run on anything less than Perl 5.005.
=item Perl modules
MiniVend I<will> run with a stock Perl, but to use some features
of MiniVend (like the MiniMate interface) you will need some extra
modules. If you are on UNIX you can use the CPAN module and run:
perl -MCPAN -e 'install Bundle::Minivend'
and it should install all of the modules necessary except the DBM/DBI
ones.
These modules are strongly recommended:
MD5
MIME::Base64
SQL::Statement
URI::URL
Safe::Hole
GDBM or DB_File (comes with most i386 Perls)
These are definitely recommended:
Storable
Bundle::LWP (contains MIME::Base64 and URI::URL)
These are nice to have but are not essential:
Business::UPS (comes with MiniVend)
Term::ReadLine::Perl
Term::ReadKey
You will need the B<DBI> module if using SQL, along with the
appropriate DBD module for your database.
The recommended packages for ActiveState Perl for Windows are:
MD5
MIME::Base64
LWP
SQL_Statement
DB_File
FUTURE: The MiniVend setup program will attempt to use C<ppm.pl>, the ActivePerl
package manager, to install them at installation time.
=item Operating System
UNIX is best. The Windows version, while perhaps more than just
a toy, is not suitable for high-volume catalog serving. This is
mostly due to NT not fitting the UNIX fork() model which works
so well with MiniVend.
A catalog designed on a Windows machine should just move over to
a UNIX machine with no changes, so Windows might be a suitable
development environment.
Mac OS is not supported. If the time comes when it starts to reasonably
support normal POSIX services, then an attempt to port will be made. This
is not likely, in my estimation. MiniVend does run fine on OS/X.
=item Machine
The server should be fast and have lots of memory. A 200MHz Pentium
Pro or equivalent with 128MB of RAM works well and can serve many
catalogs if that is all it does.
If you are located on a machine with many hundreds of domains, as sometimes
happens with low-cost hosting operations, you can expect some problems. It
is difficult to maintain a stable environment with that many users.
=back
MiniVend will run about as well as the platform beneath it. It routinely
runs for months non-stop in a stable environment.
=head2 If you are having problems
MiniVend is not guaranteed to be supported in any fashion other
than to make full source code of the current version available. However,
the author is interested in making MiniVend as reliable and trouble-free
as possible. Forward bug reports, questions and comments to the
mail list, minivend-users@minivend.com.
MiniVend is powerful and correspondingly complex. If you are looking
to "point-and-click" your way to a catalog, you probably should look
elsewhere. While MiniMate I<can> make administration easier, you should
not expect to put up a catalog with no effort.
Do understand that any problems answered in this FAQ or the documentation
will likely be ignored. Other problems will also be ignored if you don't:
=over 4
=item *
mention that you have referenced appropriate items in the documentation
and FAQ.
=item *
include the various version information that is appropriate.
=item *
mention what is (or is not) in the error.log files
=back
The official MiniVend web site is:
http://www.minivend.com/
The latest version of the software, this FAQ, and the documentation,
are available there. Your problem may not be unique -- check the site
first. There is a search feature that encompasses the documentation
and FAQ; there is also a mail list and an archive for it.
The most common problem on UNIX is receiving the "We're sorry, the MiniVend
server is unavailable..." message. This almost always means that permissions
are not properly set up, or that the link program is not in the right location.
If your provider uses CGI-WRAP or SUEXEC, it will probably error out if you
selected UNIX mode and didn't reply "Yes" to the question I<Do you use CGIWRAP?>.
To unset the setuid bit for another try, telnet in and do
chmod u-s cgi-bin/simple
where C<cgi-bin> is the directory that the program is located.
To reenable it:
chmod u-s cgi-bin/simple
If that doesn't work, it usually means you are on a virtual host with limited
command set.
To verify that this is the problem, try temporarily changing the
permission of the MINIVEND_ROOT/etc/socket file to be read/write by
setting in C<minivend.cfg>:
SocketPerms 0666
If MiniVend then works you will have to make sure the user that the VLINK
program runs as matches the user who is running the MiniVend daemon.
It is usual to create a special C<mvend> or C<minivend> user to run the
daemon and the link program. This means the directory listing for your
CGI-BIN should be something like:
-rwsr-xr-x 1 minivend users 6312 Dec 30 11:39 cgi-bin/simple
and for the socket file it should be:
srw------- 1 minivend users 0 Dec 30 11:41 etc/socket
See the next section for troubles with running MiniVend on ISP sites.
Beyond that, if you are unable to get MiniVend installed you should
check to see if you can run I<any> CGI program from the path it
is trying to use. The next most common problem is the user giving
the wrong information to C<makecat>.
MiniVend is intended to work on Perl Version 5.005 and higher, but
the author does not have the resources (read time) to regression
test all versions with the different versions of Perl, nor the
differing operating systems that exist. MiniVend
will definitely be tested with the last major release of Perl at
the time of package release. As of this writing, MiniVend's
version is 4.0 and Perl's latest release version is 5.005_03.
B<Please understand that the first remedy in the case of unknown problems will>
B<be to upgrade Perl to the latest version.>
=head2 Information Needed for Support
First, check the the official MiniVend web site for information:
http://www.minivend.com/
If you are unable to get MiniVend installed, it is almost always
a problem with your answers to its questions or with the the Perl
installation. Common problems include:
=over 4
=item *
Your Perl has threading enabled. This may cause problems for MiniVend
on some operating systems. Try building a Perl without threading.
=item *
Occupied default port (8786) or interfering firewall during the test. This
causes part of 'make test' to fail while MiniVend might still work
just fine.
=item *
Very old machine or a machine with very low memory (less than 64M).
The test programs might time out while MiniVend might still work. It
won't work very well; expect very slow performance if you don't have
sufficient memory.
=item *
Bad installation of Perl. While not as common as it used to be, since
Perl 5 is distributed with so many systems, it does happen.
A proper Perl will need to be installed.
If MiniVend does a core dump or causes a segmentation fault, this is
most certainly the problem.
=item *
Inadequate system privileges or quota restrictions. If you have a
virtual memory quota then MiniVend can easily exceed it.
=item *
HPUX may not be able to compile vlink.c and tlink.c. Use tlink.pl as
your link program. In addition, Solaris often comes with either no
tools or your path may not point to /usr/ccs/bin where some of the
tools are.
=back
There are many more possible problems. See the README file for other
OS-specific problems.
Second, double check that you have done the following things:
=over 4
=item *
Checked I<B<all>> of the error.log files? There is one for
each catalog, and a global one in the MiniVend software root directory.
=item *
Try INET mode if UNIX mode fails, and vice-versa.
=item *
If you run CGI-WRAP or SUEXEC, have you turned off the SUID bit for vlink with a
C<chmod 755 cgi-bin/simple> or the like? (The C<makecat> program does this
if you answer its question correctly.)
=item *
Have you tried copying the INET mode link program C<tlink> over the
C</cgi-bin/simple> or C<simple.cgi> program?
=item *
That you have proper permissions on all files that need to
be written. This includes the product database ASCII source files,
needed because of locking.
=item *
If the function in question is from an external program (such
as PGP) you have tried the command B<as shown in the directive>
from the command line, and as the B<same user ID as the minivend daemon>.
=item *
The vlink CGI program is being executed on a machine that has the
socket file I<etc/socket> on a directly attached disk. UNIX-domain
sockets will not work on NFS-mounted filesystems! That means the
server I<minivend.pl> and the CGI program I<vlink> must be executing
on the same machine. In most cases, you can use INET mode and
the tlink program instead if you must cross NFS boundaries.
=back
If you have a problem you are not able to correct, and you have taken all
of those steps, you can send email to the MiniVend users list:
minivend-users@minivend.com
Please include your B<operating system name> and B<version>, your
B<Perl version>, the B<DBM library in use>, and the contents of ALL
error logs.
Please see this if you don't get an answer:
http://www.minivend.com/minivend/the_authors_life.txt
MiniVend is an ambitious and complex program, and is not presented as
being I<easy to use>, I<easy to install>, or I<bug-free>. The
configuration script was done to try and make a very painful process only
slightly painful. Some people install in one pass. Others never make it.
Determined and thoughtful users almost always make MiniVend work.
=head2 If you are intending to run MiniVend on an ISP
The great majority of ISPs provide some CGI service, and more and more
run systems that are compatible with MiniVend. The catalog
configurator for MiniVend is designed to figure out many ISP directory
setups.
Almost any Internet Service Provider (ISP) system
I<should> be able to run MiniVend, but some cannot (or will not) run
MiniVend at all. On top of that, many times ISP personnel are too busy
to help, won't help, or don't know enough to help. Some are secretive
about details of the setup of their systems.
MiniVend does require a stable platform underneath it. Many ISP servers
are heavily loaded (especially low-cost ones). If you run on a server
which is constantly running out of memory and file descriptors, you will
not be happy with your results with MiniVend.
Virtual servers that don't provide shell access are not really usable
for MiniVend without direct support from the ISP -- unless you are
a CGI/Perl wizard who can figure out how to do it. 8-) It can be done
(with a good deal of difficulty) on some virtual servers.
Iserver.com and others who use an chroot HTTP daemon for each user
will require some source-code twiddling to get the paths for vlink
right -- the catalog configurator will not do the trick. See the mail
list archives for the hack.
MiniVend does require a lot of memory, and it does run as a daemon. You
will find that that vexes a fair number of ISPs. I have found it difficult
to provide power and speed without using memory, so it will have to stay
that way for the time being.
All in all, you can have a fair amount of confidence that
your ISP can run MiniVend. Or, you can get one who will. 8-)
=head2 How can I unzip the file?
Use your ZIP program to extract to a directory and then run C<setup.bat>
or C<configure.bat>.
The ZIP file is identical to the tar file except for the presence of
three files, C<cygwin.dll>, C<setup.pl>, and C<setup.bat>.
If you are planning on installing it on UNIX, it really should
be untarred on a UNIX machine. Though some Windows ZIP clients will
handle the file type, it is best if you just get the README file
from the same place you got the distribution and read that.
On the UNIX machine, typically your company server or ISP server,
you need to do:
gzip -dc minivend-X.XX.tar.gz | tar xvf -
If you have transferred the file to your Wintel machine before
then transferring it to the ISP, make sure you have done all transfers
in BINARY mode. You will have weird problems if you have made one or
more of the transfers in ASCII mode.
=head2 About Vend, MiniVend's ancestor
Vend was written by Andrew Wilcox in the early part of 1995, and
the first released (beta) version was 0.2. Vend 0.2 is the
parent of MiniVend, and the first version of MiniVend (called
Vend 0.2m7) was totally based on that. It added searching and
DBM catalog storage. Subsequent versions took parts from Vend
0.3, especially the VLINK and Server.pm modules, which were
adapted to run with MiniVend.
The first release of MiniVend (0.2m7) was on December 28, 1995, making
it over four years old. A veritable eon in web time!
Other portions of Vend, notably the database interface from 0.3, were adopted,
but the commonality between the original Vend and MiniVend is minimal.
=head2 Why doesn't my question get an answer on the mail list?
Usually it is for one of the following reasons:
=over 4
=item *
It is of the "It doesn't work. HEEELLLP!!!" variety.
Such messages are often ignored by people on the mail list. (They
figure you need help if you are posting a question.)
=item *
The question is posted in HTML. Many people don't have HTML-capable
mailers and will not bother to read it. Your message is more likely to
be answered if you put it in plain old ASCII format.
=item *
You used the wrong return email address, or you spam-blocked the email
address. Most people will not field the instructions nor bother to re-send
when it bounces.
=item *
The subject line is not informative. "[item-list] tag" is better
than "It doesn't work".
=item *
Information needed for support is not included or is not
intelligible. Version of MiniVend, operating system and/or virtual
server type, HTTP server (i.e. Apache), and database types in use are
all relevant to most questions.
=item *
The question is not easily comprehended.
Sometimes this is due to language difficulties. While there are many
Minivend users speaking many different languages, and there are a couple
of language-specific user lists, the language on the main mail list is
English. The clearer the question, the more likely you are to get an
answer. Babelfish translations will probably not get it.
=item *
The question makes unreasonable demands. For instance, if you are trying
to build a multi-store mall, and you are asking for step-by-step instructions
on how to do it, you are unlikely to get an answer.
=item *
Question is answered in this FAQ, the README, or by doing a
simple text search (with keywords you mention) in the documentation.
Most people won't do manual reading for you -- they expect you to
take the time yourself.
=item *
The message does not mention what is in all of the error logs, i.e.
both the main error.log and your catalog error.log. HTTP server
error log entries are also nice to know about, though it is understood
that many people don't have access to them.
=item *
The message does not mention what is NOT in the error logs. If you
don't mention it, it will be presumed you did not look.
=item *
No one knows the answer.
=back
=head2 I sent the author a REAL IMPORTANT question and he didn't answer!
I know your problem is important to you, but please take note of these facts:
=over 4
=item *
MiniVend has been downloaded over a million times, and is included on
CD-ROMs that have been distributed hundreds of thousands of times.
=item *
The mail list has had over 30,000 posts in its lifetime, many of them
questions.
=item *
The author has received tens of thousands of messages about MiniVend.
=item *
There are thousands of users running tens of thousands of catalogs
with Minivend.
=item *
The author is only one person, has a family, has a living to earn,
and is still actively developing MiniVend.
=back
If you think about these things, you will see why the web site and
the mail list are the only reliable support for MiniVend.
There are a number of consultants who frequent the mail list, and the
MiniVend web site has a list of people who have declared that they do
MiniVend consulting.
Bear in mind that companies spend up to millions of dollars to put
a high-quality catalog operation on line. MiniVend has been used to
provide catalogs that rival those high-end operations in many ways.
But, as they say, TANSTAAFL.
=head2 Is MiniVend secure?
Maybe. It has been downloaded over 500,000 times (availability
at 50+ FTP sites means it is unknown how many more times than that)
with no reported I<system> security problems. It uses the Perl
Safe.pm module for user-embedded Perl subroutines and conditionals to
make use of those pretty carefree.
However, there are definite potential problems with credit card number
security that can be avoided:
=over 4
=item *
B<Unencrypted credit card numbers stored on disk.>
If you don't use MiniVend's encryption capability for encrypting credit
card numbers, or the real-time payment (CyberCash, etc.) interface,
then there will be unencrypted credit card numbers present in your
session database files.
If your system is the target of a break in, then these numbers
would be available to any user ID that can read the session
files.
This is the reason MiniVend defaults to read/write permission
for the MiniVend user only.
=item *
B<Unencrypted credit card numbers sent via email.>
The same things apply for orders sent via email. If it is
not encrypted with PGP, then it is at risk.
The default demos also store the orders in the file etc/tracking.asc,
so you should check there as well if you want to scrub existing
credit card numbers on disk.
=item *
Running in INET mode from another machine.
If you are using INET mode, and the transmission is going via the
network to another machine (i.e. not localhost), then you should be
possibly concerned about which wires your SSL-encrypted data is
traveling over. You should be behind a firewall, firewall router,
or at least some sort of spoofing-protected filter.
=item *
Running SQL databases without WRITE_CONTROL or other permission
blocks.
It is possible to enter arbitrary SQL in some search definitions. Though
MiniVend tries to block non-select calls, this is not bulletproof. It
is best to have certain tables be read-only for MiniVend, i.e. no insert
or update permission. For tables that must be updated (i.e. userdb, transactions,
and orderline) should use the WRITE_CONTROL capability and the
NoSearch directive to protect them.
=back
The bottom line is that security needs to be your concern. MiniVend tries
to warn you and provide means for protecting customer data, but it can't
stop you from doing all unwise things. The author stands behind the license
for MiniVend and disclaims all responsibility.
=head2 What HTML editors work with MiniVend?
None, really, though by accepting a performance penalty you can embed
many MiniVend tags inside of regular HTML with things like:
[pragma no_html_parse 0]
<A HREF="[href minivend_page]">Link</A>
<SCRIPT LANGUAGE=MV MV="set Action">
mv_todo=return
mv_nextpage=your_page
</SCRIPT>
You will probably have to edit MiniVend pages by hand.
Some HTML editors have a tag like <NOTOUCH></NOTOUCH>
that defines regions which should not be wrapped or reformatted
by the editor. You should use this.
Also, if uploading a page from a Mac or PC make sure to upload in
ASCII (i.e. non-image) mode. If you ignore this, you can break
your MiniVend catalog!
=head2 What can you expect in the way of support?
(This is the author, Mike Heins, speaking.)
I am interested in creating a better MiniVend. However, it has become
pretty popular and you should not expect individual support.
What I will typically do:
=over 4
=item *
Follow up on cogent bug reports, usually with fairly quick response. A bug
is not that you cannot install MiniVend -- it is a demonstrated fault in
the program logic that can be duplicated. A cogent bug report is detailed
and concise, and includes HTML/code snippets that demonstrate the problem.
=item *
Take note of faults in the demo. Any fixes will be discussed on
the mailing list and I<may> be fixed in the next release version
of MiniVend. The demos are demos -- not a finished application.
=item *
Take note of faults in the documentation and update the next release
version of MiniVend. If you provide edited replacement text it is
appreciated. The documentation source is available if you would like to
see how it is maintained.
=item *
Try to answer some of the well-presented questions that appear on the mailing list.
=item *
Try to constantly and incrementally improve the FAQ and other supporting
information.
=back
All of these are things I try to do. There is no commitment -- check
your license for MiniVend. All are done on a time-available basis. If
you don't include all relevant information I will probably ignore the
question. I answer on the mailing list so that information can get to
more people and be archived for posterity.
What I will not do:
=over 4
=item *
Accept phone calls about MiniVend.
=item *
Answer questions that are URGENT or cry for HELLLPPP!!!!
=item *
Conduct tutorials.
=item *
Visit a URL to look at a problem.
=item *
Conduct a Q&A to extract needed information.
=back
=head2 Where can I get more help?
If you cannot work with MiniVend without more help, you should engage
a consultant to help with integration and administration. The ideal
consultant will have a complete understanding of web servers, HTML,
databases, and Perl.
If you cannot find a consultant, you might post to the mail list and
solicit help. Several competent consultants frequent the list and may
respond.
=head2 How does MiniVend compare with other shopping carts?
MiniVend is a full-featured shopping cart with high-end power. It can
and does maintain databases of hundreds of thousands of items or more, and
is frequently used in catalogs with hundreds or many thousands of items.
MiniVend is database-based. It has a complex implementation and a
fairly steep learning curve. If all you are ever going to catalog is
just a few items, and/or the items will not frequently change, MiniVend
is probably overkill for your needs. It may make more sense to go with
a simpler cart that embeds the product information in the page and does
not require database setup.
Things that might call for the use of MiniVend:
=over 4
=item *
hundreds of items or more
=item *
many different catalogs maintained by same organization
=item *
product offering will frequently change
=item *
need for programmable product display
=item *
need for complex ordering interaction
=item *
delivery of soft goods after real-time charge of credit cards
=item *
need flexible searching and categorization options
=back
When Minivend might not be the right choice and you might want to
use another free cart
=over 4
=item *
only a few items
=item *
items will not change much
=back
When to consider a commercial product
=over 4
=item *
you want power, but want to interact only through a site building system
like MS FrontPage or Netobjects Fustion
=item *
you want to interact only through a GUI like Windows and not edit files
=back
When comparing MiniVend to commercial products, the comparison is better
drawn to the higher end ones costing thousands of dollars rather than
the low end ones costing hundreds of dollars.
Subjectively, people have both good and bad experiences with MiniVend.
After investing tens of thousands of dollars and almost
a year of effort in commercial software, we switched
to MiniVend and were operational within weeks.
-- large corporation
MiniVend is too difficult for the user to configure. There
are too many things that must be gotten just so.
-- Small internet service provider
I really like the new site, its laid out well and the
documentation is so good I've decided to use it even though
I'm not a programmer.
-- happy prospective user
Your documentation is awful.
-- not-so-happy prospective user
Your documentation is some of the best and most comprehensive
we have seen for a freeware program.
-- happy user
And the your pages don't have the right information in
them and that's MY FAULT? How about the fact that your
configure script acts differently every time it gets run?
-- not-so-happy user
(Obviously, mileage varies with the user. Thankfully, the happy ones *seem*
to heavily outnumber the unhappy ones...)
One user says:
-- MiniVend is an electronic commerce development environment;
*not* a shopping cart.
This is not far from the truth, though modifying the "simple" or "basic"
demo seems to work for many users.
Despite being free, MiniVend will require an investment -- either your
time or the money to engage a consultant skilled in the web and in databases.
If given its due, MiniVend can provide power that no other free shopping
cart has.
=head2 I want to partner with you, or exchange links, or ....
We receive many, many requests for this type of thing. The answer is almost
always no, we are not interested. We might be interested if there is a big
check or significant Perl expertise being offered.
=over 4
=item Payment gateways
There are literally dozens of different companies doing e-commerce payment
services on the web. We have received inquiries from many of them over time.
The only way we will consider putting in support for a specific payment gateway
is if it is a funded consulting project. This is usually thousands of dollars
and is prohibitive
Users have integrated Minivend with many different payment gateways -- we
have done various versions of CyberCash, Signio, and Authorize.net over time.
We support CyberCash directly in MiniVend as the market leader; Minivend 4 makes
it pretty easy to integrate your own gateway.
=item Directory listings
You may list Minivend in your software directory, but we won't maintain
the listing and we don't want to be on your mail list.
=item CD-ROM distributions
You may distribute MiniVend unchanged on your CDROM. We like to get a copy
if you do, but that is not strictly required.
=item Reselling
You can't resell Minivend because it is Gnu GPL licensed; but you can give
it away. See the www.gnu.org website for more information.
=head1 Windows-specific questions
=head2 "Bad command or file name" when double-clicking on the setup icon
This means Perl is not in your PATH or is not installed.
You might try:
c:\full\path\to\perl setup.pl
If you still have problems, it probably means Perl is not installed
properly. You need the ActiveState 5.005 version, i.e. build 5xx.
(If you can build your own Perl we assume you won't need the help
of this question.)
http://www.perl.com/pace/pub/perldocs/latest.html
See the Perl distribution for details on how to install it, the
MiniVend README-win.txt file for pointers to exact URLs, or visit
http://www.perl.com
for more information.
B<NOTE:> MiniVend will B<not> work with the ActiveState version 5.003 build 3xx
distributed with the NT resource kit.
=head1 Configuration Problems
Most MiniVend configuration and setup problems are due to one
of:
=over 4
=item Wrong information given to makecat program
THIS IS BY FAR THE MOST COMMON PROBLEM.
To install a working demo, MiniVend needs to know what DocumentRoot
is and how to run CGI programs. Details of this setup are server- and
site-specific, and you may need to do some research.
Re-run the configuration again, and I<pay close attention> to the
prompts given. There are examples given which apply to most systems.
If your web server is Apache or NCSA, Minivend will try and parse its
C<httpd.conf> file to help you along, but many ISPs don't allow users
to read these and it may fail.
=item Too-low version of Perl
If you have a Perl earlier than 5.005, MiniVend will not work.
Don't even try an earlier version; you must update.
=item Perl compiled with USE_THREADS
Run C<perl -V>. If you see -DUSE_THREADS in the compilation definition,
you might run into problems with MiniVend.
=back
=head2 VLINK or TLINK compile problems
(None of this is valid for Windows. Use the precompiled C<tlink.exe or tlink.pl>.)
The latest version of C<vlink.c> and C<tlink.c> have been compiled on
the following systems:
AIX 4.1
BSD2.0 (Pentium/x86)
Digital Unix (OSF/Alpha)
FreeBSD 2.x and 3.x
IRIX 5.3, IRIX 6.1
Linux
SCO OpenServer 5.x
Solaris 2.x (Sun compiler and GCC)
Solaris 7 (Sun compiler and GCC)
SunOS 4.1.4
Some problems may occur. In general, you can ignore warnings
about pointers.
Make sure that you have run the configure program in the src directory.
If you use MiniVend's makecat program it will try to compile an appropriate
link at that time, and will substitute tlink.pl if that doesn't work.
You can compile manually with the proper settings with this series
of commands:
cd src
./configure
perl -e 'do "syscfg"; system ("$CC $CFLAGS $DEFS $LIBS -o tlink tlink.c")'
perl -e 'do "syscfg"; system ("$CC $CFLAGS $DEFS $LIBS -o vlink vlink.c")'
There is also a C<compile_link> program which has docmentation embedded
and which will compile an approprate link.