Fetching contributors…
Cannot retrieve contributors at this time
409 lines (277 sloc) 13.6 KB
What's new in each version of Interchange
(since the merger of Minivend 4 and Tallyman)
Interchange 4.6.5
* Fix two admin security holes, in do_view and page_save. Thanks to
Merlyn J. Pease <peasemj@bellatlantic.net> for reporting in bug #167.
* Several minor database field definition improvements.
* Clean up cruft in sample pricing table.
* Prevent admin/genconfig.html error.log entry about not being able to
display status file with NoAbsolute set.
* Backport from 4.7 the error report if page couldn't be saved by
* Fix a couple of bugs with AlwaysSecure not working in an order link.
* Fix rounding problem with Shipping.
* Fix problem with FullURL.
* Add stub for test_column in Table/InMemory.pm.
Problem found by vasile_abo@wexim.com.
Interchange 4.6.4
* Added mod_interchange to the standard Interchange distribution.
It is the direct descendant of mod_minivend, created by Francis
J. Lacoste <francis.lacoste@iNsu.com> at iNsu Innovations Inc.
in 1999. With Francis's blessing, we're taking over maintenance of
the module. Thanks, Francis!
* Changed test.pl to use Errno.pm to derive socket test error messages.
Thanks to Patxi Larrayoz Elcano <larrayoz@retemail.es> for finding this.
* Fix problem with MV_DEFAULT_SEARCH_FILE. Found by Joshua Scott
* Fixed bug with encrypted-password users not being logged in after
new account creation. Reported by tamas.kohegyi@unforgettable.com.
* Add CGIWRAP workaround. Remove bogus PATH_INFO that is prepended to
* Add unusable password hash for group ':backup' in access.asc. It was
possible to access the admin interface with this username and no password.
* Disallow login attempts with group names, usernames with invalid
characters, and blank usernames or passwords.
* Fix index statement problem for order_returns in PostgreSQL, found by
Interchange 4.6.3
* Fixed a bad bug that kept product options from working right. A bugfix
in 4.6.2 uncovered a worse bug due to swapped parameters in a subroutine
call in Data.pm. Thanks to Marc Infield <marc@geronimo.com> for pointing
this out quickly.
Interchange 4.6.2
* [loop list=`$Scratch->{ary}`] now accepts a prebuilt array reference to
loop over. Must be in the form returned by $db->query(), i.e. the list
array (of arrays), an optional field hash ref giving the field name to
index pointers, and an optional array ref giving the field names in
order. Thanks to Kaare Rasmussen for the suggestion.
* Fixed bad bug in History, saving mv_credit_card_number in session. Oops.
* Fixed bug in secure/non-secure host comparison, thanks to Murray Gibbins,
Stefan Hornburg, and Hans-Joachim Leidinger.
* Add MV_USERPROFILE to the list of recognized cookies, allowing a
cookie-based admin login. Providing the password is saved in a cookie
(perhaps with no expiration time?) then this will allow multiple-order
entry by running the login process again.
* Fixed up the DisplayErrors auto-response to be localized. Not many people
use this, but trying to localize all error messages.
* Fixed bug in ui_date_widget, generated month name for "Feb 30" which turned
into March.
* Patch supplied by Hans-Joachim Leidinger <jojo@buchonline.net> prevents
blank credit card info from being encrypted.
* Fixed bug #106, hang at install time if specified Interchange user ID
doesn't exist.
* Fixed problem in Search.pm where coordinated search of op=rm would not
match on words only.
* Fixed recent bug that prevented cached DBI connections.
* Fixed a couple of hard-coded mv_metadata references in admin pages
preventing renaming of __UI_META_TABLE__.
* Fix problem with ProductFiles resolution in loops. The Vend::OnlyProducts
setting was confused after the on-the-fly update.
* Convert '[' characters to &#91; in [value-extended] to prevent reparsing
of Interchange tags from user data.
* Fixed problem with fly-list not accepting base parameter as per docs.
Found by Victor Nolton.
* Added Stefan Hornburg's patch for table image background paths.
Set pragma substitute_table_image to enable this.
* Improved makecat error message when problems occur reading config file.
* Made NoAbsolute default to Yes in interchange.cfg, which gives better
default security for newly-built catalogs.
* Various minor HTML corrections. Thanks to Paul <porl@namee.com.au> and
* Fixed in-stock notification problem on flypage.html and stock-alert.html.
* RPM only: Fixed logrotate.d file to prevent cascading log rotation like
error.log.1.gz.1.gz etc. Thanks to Murray Gibbins for diagnosis & fix.
Interchange 4.6.1
* Added MS Excel import/export capability.
* Added new SessionType "NFS", which forces fcntl_lock/fcntl_unlock in
SessionFile.pm (bug #76).
* Report missing DBDs at startup time by working around DBI bug that causes
$@ to be eaten (bug #75).
* Miscellaneous bugfixes, thanks to Jean-Philippe Bouchard:
- Fixed Data.pm bug that caused flypage problems (bug #60).
- Fixed spreadsheet edit auto export bug (bug #59).
* Link program fixes, thanks to minivend@delionsweb.net:
- Fixed tlink.pl LINK_PORT problem (bug #61).
- Fixed compile_link 'nosuid' option failure (bug #66).
* Construct Something changes:
- Fixed stock alert price problem (bug #57).
- Fixed 'title' vs. 'description' field issues. Thanks to Steve Gertz.
* Fixed [selected] and [checked] tags to be more uniform and to support
case-sensitive and $CGI comparisons. Documented in Tagref.pm. Also,
"multiple" and "default" args can no longer be positional -- no big loss.
* Fixed bug that kept [item-subtotal noformat=1] from being recognized.
* [item-exec routine] now picks up $Values, etc. before a [calc] is run.
* Order.pm: routes now use a "from" parameter which sets the email From:
* Fixes to Util.pm:
- Prevent sprintf() from screwing up numbers in certain locales.
- [include] now can interpret [L] if locale=1 parameter is added.
* Server.pm -- we can now accept ISINDEX queries (for what it is worth).
* Scan.pm -- fix non-interpolated tags in search profiles.
* Database tables can now reside in different directories with the
DIR option to the Database config parameter.
* Fixed typo ('error' vs. 'errors') in Order.pm preventing no-items
error from being seen at checkout (bug #82). Thanks to Bas Bezemer.
* Removed some duplicated image files, reducing package size by ~ 200 KB.
* Fixed scoping problem with override from user image upload.
* Allow internationalization of error messages in UserDB.
* interchange.PL: Fixed bad call to Vend::Imagemap::action_map, must be
just the action_map since autouse is in force. Thanks to Jeff Carnahan.
* Fixed bugs in or-ed searches in DbSearch, fixed mv_search_relate bugs.
* Fixed problem with nu parameter getting out of sync in mv_sql_query.
* Added 3 usertags: benchmark, sleep, and table_organize (in eg/).
* Filled in some missing timestamp fields in construct demo store data,
which was causing PostgreSQL 7 data imports to fail.
Interchange 4.6.0
* Minor final changes
Interchange 4.5.8 beta release
* Documentation overhaul -- PDFs now available
* Various bugfixes
* Oracle support improved
* 'Construct' catalog improvements
* Authorize.net support
Interchange 4.5.7 beta release
Interchange 4.5.6 changes -- complete overhaul of UI
* Everything renamed to "interchange". interchange.cfg, interchange.pid,
etc. If you keep minivend.cfg as the configuration file, the PID file
will be minivend.pid. There should be a good level of backward
* "construct" is now the default demo -- a "foundation" demo will be
added later.
-- Improved graphics and layout over older demos.
-- Split ship addresses for items
-- Shipping notices integrated
-- Recurring order facility (doesn't yet work).
-- PO with credit limit
-- Merchandising cross-sells by category or item.
-- "Others who bought this"
The HTML rendering is kind of slow on Netscape, any help with that
would be appreciated.
* The user interface (UI) was reorganized to make it easier to understand
and use.
-- All functions should now be available via menu, quicklinks should
not be necessary.
-- Most database table lists are HTML lists with links instead of
the button approach.
-- Administration console with information helpful for debug.
* Orders
-- list-based
-- shipping status notices
-- automatic check of archive box when status=shipped
-- list-based delete and archive operations
-- lists are sortable on multiple fields
-- status display for individual line items
-- change size of list with Knar UI_SZ_LIST_ORDER
* Customers
-- list-based
-- list-based delete and deactivate operations
-- lists are sortable on multiple fields
-- status display for individual line items
-- change size of list with Knar UI_SZ_LIST_CUSTOMER
* Item editor
-- Select list of items to delete or edit in sequence
-- Now have different "views" for merchandising, pricing, inventory, etc.
-- checkbox-based deletes
-- item fields to display set with UI_ITEM_FIELDS
-- separator fields set with UI_ITEM_BREAK
-- cross_category field added to merchandising table
* Content
-- Templates easier to create
-- Editor allows change of template
* Layout
-- button builder does on-the-fly items
-- fixed bugs in search builder
* Merchandising
-- new menu, includes affiliate stuff
* Reporting
-- Fixed cast problem with PostGres reports
-- More consistent look/feel for reports
* Administration
-- New information screen that should help with diagnosing trouble
-- Table select/edit now consistent with other editors
-- Selector rows can be sorted via column, forward and reverse
-- Table display properties can be easily edited
* Database update forms (mv_todo=set) now can set fields in multiple
tables when there is a common key.
* Changed SpecialPage defaults for "search", "order", and "checkout"
to reflect longstanding defaults in demo catalogs.
* Fixed bug in fixed-field (PriceField) pricing, introduced sometime
in Minivend 4.
* Added GUESS_NUMERIC parameter to databases, which operates by checking
field types in SQL and by looking at the import data on DBM. You can
see this in operation in the UPS tables "Ground", etc.
* Removed auto-index of key field if POSTCREATE statement exists.
* Added some more better auto-numbering support. Still not ready
for the UI.
* Found bug in Vend::Table::DBI->inc_field that caused a quoted value
when really was a number.
* CSV imports now are fully as functional as others, can do indexing, numeric
guess, etc.
* Added "value" widget type for [accessories ...].
* Added [tmp var]scratch setting[/tmp] and [scratchd var] tags to
purge Scratch when setting/accessing variables. This can improve
session write speed if setting a large value which will only be
used in the current page.
* Added "tabbed" filter, and some other Filters. Now you can add
your own filters persistently with:
Sub <<EOS
sub somesub {
$Filter{foo_to_bar} = sub {
my $value = shift;
$value =~ s/foo/bar/g;
return $value;
or just in the current page
$Filter{foo_to_bar_tmp} = sub {
my $value = shift;
$value =~ s/foo/bar/g;
return $value;
Thanks to Stefan Hornburg for suggestion.
* Fixed SpecialPage handling of salestax.asc, thanks to Jeff Carnahan.
* Fixed _postcode() routine in Order.pm, thanks to Brett Harrison.
* Fixed longstanding problem with demo catalog whereby the UserDB
defined the username field as "user" but it was actually named
"username" in the database. Changed UserDB default to "username", because
"user" is a reserved word in some SQL databases (i.e. Postgres).
* UserDB: Removed mv_credit_card_info from B_FIELDS so that it would not
be saved in UserDB.
* Added [counter ...] tag, with some additional capabilities over
the old [fcounter ...] tag. Kept fcounter around in UserTag for
compatibility with older catalogs.
* Added image copying for shared image directories (the admin).
Interchange 4.5.5 beta release
Interchange 4.5.3 beta release
Interchange 4.5.0 changes -- the start of the Tallyman merge.
* Many, many, changes and improvments to the user interface.
Minimate is broken out again and made separate; the UI should
have all of its functionality. See the UI online help for changes.
* LDAP support. You can now keep data in LDAP servers, with
normal Minivend Database connectivity. Searchable, too!
Put in catalog.cfg:
Database variable variable.txt LDAP:some.servername.com
Database variable BIND_DN cn=fragermk, o=catalogs, c=minivend
Database variable BASE_DN o=catalogs, c=minivend
Database variable BIND_PW secret
Programmed by Mike Frager with a bit of help from Mike Heins.
* VariableDatabase now takes effect at the time of the call in catalog.cfg.
This means you can edit your Variable settings in a database, reconfigure,
and then use the values farther down in the configuration file.
* Order.pm: fixed multiple problems in precedence for order profiles.
Thanks to Ton Verhagen. Also added "isbn" profile check written
by Ton Verhagen.
* Interpolate.pm: Fixed bug in error message generation -- thanks to Dan
* Config.pm: Fixed default declaration of "HOT" for memory databases,
now should work properly as default database.
* Other changes much too numerous to mention. This will be the last
version of this changes document; there are too many.