[Interchange-announce] Interchange 4.7.6 beta now available

Jon Jensen jon@redhat.com
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:


Server Core
* 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.

Product Display
* 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
  of these.
* 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
  exploding lists.
* 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
  Safe stuff.

* 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.

I18N (Internationalization)
* 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 <kim@hambrosalle.dk>.
* 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.

Admin Interface
* 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