[Interchange-announce] Interchange 4.7.6 beta now available
Thu Jul 19 01:41:03 2001
We are proud to announce the first beta release leading to Interchange
4.8. This is the best Interchange we have ever produced, and it has many,
many, improvements and fixes over 4.6 while maintaining a high degree of
The new "Foundation" demo catalog simplifies many aspects of HTML for
generating catalogs. Uses CSS to define colors, font styles, and other
parameters. Includes components that drop in with the page editor to
provide configurable feature additions on a page-by-page basis.
You can download it here:
Here are the highlights -- there are actually many, many, more changes and
additions. See the WHATSNEW file for an extensive account of changes. Many
are documented in new documentation available at:
* New pre-forked server mode uses Apache-style multiple server
dispatch to dramatically increase performance on busy systems.
Measurements show improvements of up to 7X in server overhead.
* New SOAP protocol support allows two-way communication with all sorts
of other web "objects".
* Server should now always run safely in the Foreground.
* Full pedantic HTML 4 compliance (ability to change URL data separator).
* Transactions now fully supported. Can open a transaction-capable
database in transactions mode [flag type=transactions table="table"]
and it will commit all changes not done in transaction mode and reopen
under transaction constraints. [flag type=commit table=table] commits,
[flag type=rollback table=table] rolls back. Order routing support included.
* Can reference foreign keys with [data table=foo col=bar key=baz foreign=buz].
* Improve autonumbering support to automatically use sequences or
autonumber field types.
* All base-table database updates done by UserDB and UI are now done in
one query via set_slice. Extra-table values still use set_field.
* Can preload database tables with read-only start text, e.g. a
base country or state file, or in the UI with icmenu and ichelp.
* Add INDEX directive for SQL databases -- no need to define custom SQL.
* Added SDBM database option for those poor Solaris folks.
* Added database attributes and logic to fall back to a second database
Transactions and Payments
* Standard payment gateway support for 5 major payment gateways, with
support for multiple instances of accounts, common parameters for easy
gateway changes, and much more. Payment gateways are much more
programmable with addition of an explicit [charge ...] tag which can
implement returns, voids, split payments, and other special handling.
* Encryption is much more automatically handled -- if you use GPG or
PGP, all you typically have to do is supply and encryption key ID
from your keyring.
* Improved option handling. Matrix items can have separate
inventory and option combinations, yet share common data and are only
show once on search lists. Any item can have multiple and infinitely
varying options, i.e. you are not constrained to "size" and "color"
and whatever fields you define in the database. UI support for each
* Alpha state modular options that can use modular bills of materials
generated by ERP systems.
* [tree] tag allows you to build product display trees and display
* New [image] tag allows automated product image handling including
auto-sizing and alt/title generation.
* New options to the [perl] tag that make it a bit easier to work
with when debugging.
* Solved the great [if ] [othertag][else][/else][/othertag] [else]
[/else] [/if] problem. The behavior should be much improved in [if ...]
tags. Will not now snarf the [else] from another tag that uses that.
* All usertags can be used in embedded perl without "tables" or other
* Added new mv_form_profile variable that sets profiles with any action.
Designed for easy checking of variables in submits.
* New format check routines, largely intended to work with new
mv_form_profile capability: regex, length, unique, defined.
* Major work on localization, largely done by Stefan Hornburg. Most of the
UI messages are localized, and translation files produced which give
a skeleton for further work on other domains.
* Add de_DE (German) UI locale by Stefan.
* Add da_DK (Danish) UI locale by Kim Lauritz Christensen <email@example.com>.
* Add nl_NL (Dutch) UI locale by Ton Verhagen.
* Non ISO-8859 data can be entered in table editor.
* Instituted VAT and extended taxing, including UI support.
* Net::SMTP can be used instead of Sendmail to send mail.
* Fixed most of UI so it can operate without cookies.
* Add new tag "assign". It allows you to assign to subtotal,
shipping, handling, and salestax.
* New [restrict] tag allows only certain tags to run within a region -- default
with no arguments is [page ...], [area ...], and [value ...].
* Many password/user checking improvements, better logging.
* Logging directive allows direct logging of all UI activity for tracing.
* Improved checking of tags embedded in database items.
* Disallow admin UI access by default when there is no 'access' database.
* Added a "wizard" which allows step-by-step definition of many parts of
a standard catalog, including shipping, tax definition, and payment
gateway. Based on menus -- will be extended as time goes on.
* New [table-editor] tag allows easy generation of form-based data entry;
it is used on almost all UI screens that generate data entry. Wizard
mode (used in the new Wizard) allows collection of data with error
checking, Next/Back/Cancel processing, and much more.
* Move UI menus into icmenu database. This allows enabling and disabling
items, even on a user-by-user basis.
* Improved page and template editors allow creation of templates
and definition of new components with auto-generated component menus.
Can limit editors control on a page-by-page basis.
* Debian packages can produce a demo.
* Runs on Windows if Cygwin toolset and Perl are installed.
* Verified to run on Mac OS X.
* RPM specfile reworked to build 3 RPMs: core and foundation skeleton
(architecture-independent) and foundation live demo (i386).
For Red Hat Linux 7.x users, we've made RPM packages of the CPAN Perl
modules that Interchange uses (and some others we find handy):
As always, we look forward to feedback on the interchange-users list.
The Interchange Team