Skip to main content.

Interchange News

  • IRC Meeting Report

    Posted on April 14, 2011 by Jon Jensen

    Today we had a scheduled developer meeting on IRC, to focus on the future of Interchange. Even before the meeting time arrived, there was good discussion about what the next phase for Interchange will mean. Beforehand, Interchange’s team captain, Stefan Hornburg, posted a proposed roadmap which people have discussed.

    Interchange has always been at heart about ecommerce for Perl. That’s still an important niche for it to fill, and one close to the hearts of all the current Interchange developer. While Interchange has sometimes been used as a generic application server, there is other software in the Perl world that’s better suited for that role these days.

    One major problem that we would like to solve is that Interchange is little-known in the Perl world at large, and that isn’t because it’s too new or obscure, but because it’s not on CPAN, is a monolithic all-or-nothing system, and doesn’t interact well with other Perl web software. We want to make Interchange a good choice for Perl developers doing ecommerce, and make it easier for competent Perl programmers to get results with it quickly.

    The new Interchange roadmap and IRC discussions define the new Interchange “Bongo” branch’s components in rough outline:

    • No backward compatibility with Interchange 5, though eventually migration helps may be developed
    • Plack/PSGI
    • Dancer and plugins, to cover dispatching, sessions, authentication, etc.
    • Newer Perl versions (5.10.1 or newer)
    • Good unit test coverage, and testing
    • UTF-8 everywhere
    • Shopping cart, products likely part of core — it sounds like people want to be database agnostic to allow various SQL, NoSQL, etc., but implementation details here will of course be paramount
    • CPAN modules used wherever possible:
      • templating: Template::Flute, Template Toolkit, Text::ScriptTemplate, Text::Template, etc.
      • payments: Business::OnlinePayment modules
      • database access: Dancer::Plugin::Database, Rose::DB, DBIx::Class, etc.
      • shipping calculation: Business::Shipping::*
    • Plug-in architecture for features not always used, such as discounts, coupons, inventory handling, affiliates, reviews, paging (more-list), fragment caching (timed-build)
    • Demo store
    • Same license as Perl: dual GPL + Artistic, as opposed to GPL only for Interchange 5
    • Documentation in POD plus a wiki

    Developers who plan to devote time to this include Stefan, me (Jon Jensen), David Christensen, PJ, Marty, Nick Cook, and Justin La Sotten. Jure will help with design and CSS. Testers will include rsdvd, Mat Jones, Gert van der Spoel. And others expect to be able to join in once things get going.

    We agreed to remove Interchange 5.10, a proposed transitional release, from the roadmap, as many developers didn’t see that a transitional release would get used much and would distract from Interchange 6 work. Interchange 5.8 is the next stable release expected in the next few months, and if there’s ever a need for a version 5.10 that can be done then.

    There will be a new Interchange 5.7.7 development release coming very soon.

    Clearly there’s a lot of work to be done, but we haven’t seen so many people involved in a developer meeting for a long time, so there’s reason to be hopeful.

News archive