[ic] IRC Meeting Summary and Log

Peter peter at pajamian.dhs.org
Wed Jul 1 01:11:39 UTC 2009


Hi everyone, the meeting on IRC went well.  There is a log of the
meeting posted at
<http://cloud.github.com/downloads/pajamian/stuff/interchange_meeting.log>.

In attendance were:

Mike Heins <mheins>                -- Author and Founder of Interchange.
Stefan Hornburg <racke>            -- Interchange team captain.
Peter Ajamian <pj>                 -- Interchange Core Developer
Marco Mescoli <marco>              -- Interchange Developer
Mat Jones <matjones>               -- Interchange Developer
Andrew Elwell <Elwell>
Marty Tennison <marty_tennison>
Brian Miller <brian_endpoint>      -- Interchange Developer
Gert van der Spoel <thunder>       -- Interchange Core Developer
Greg Hanson <perusiongreg>         -- Interchange Core Developer
David Christensen <endpoint_david> -- Interchange Developer
Mark Lipscombe <snewpy>            -- Interchange Core Developer
Josh Lavin <jlavin>                -- Interchange Developer
Paul Jordan <pjordan>              -- Interchange Developer
Ron Phipps <ron_phipps>            -- Interchange Core Developer
Justin Otten <__justin__afk>       -- Interchange Developer
Daniel Browning <daniel_b>         -- interchange Core Developer
Phil Smith <rsdvd>

The meeting started out with discussion of whether we should attempt a
rewrite of the interchange core using a framework such as Catalyst or
simply review the codebase and remove bloat and then adding in the new
features that are desired.  It was decided that a full rewrite of the
Interchange core would be time prohibitive and that there was no one
willing to step up to the plate to handle the bulk of coding.  A review
of the existing core and removal of bloat was decided upon as the most
realistic and best path to take.

Plugins were also discussed.  The idea being to allow the importation of
features and feature sets as packages that can easily be added or
removed by the end user.

It was also agreed that we should not be concerned with backwards
compatibility, but that such can be achieved as an add-on set of plugins
at a later time.

Peter proposed the following roadmap:
1.  Unbloat and strip down the codebase
2.  Implement plugin system
3.  Re-implement existing features as plugins
4.  Implement backwards compatibility layer as plugins
5.  New features as plugins.

This was generally agreed upon with the possible exception of reversing
4 and 5.

Stephan pointed out a link to the Mongoose proposed framework (Mongoose
is the working name for the new Interchange core):
http://corewiki.icdevgroup.org/moin.cgi/Mongoose#preview

Some suggestions were given of sections of code or features that may
need attention:
* Import routines
* The adding of items programmatically to the cart
* shipping
* globals
* options and variants
* sales tax
* hooks to POS
* removal of dbconf and database directives
* encoding and locale support

At this point we began to work through various bullet points of the
above list and the Mongoose proposal (link above).  The following
conclusions were reached:

dbconf: We should strip out all existing dbconf code and replace with a
clean interface to DBI.  IC should not require lots of table definitions.

makecat and the config/ directory should be scrapped.  In it's place we
will supply an installer plugin that is included with the core (but can
be removed) that will allow core configuration, manage core plugins, and
manage catalogs from a browser interface.

The admin UI will be removed from the core and implemented in individual
catalogs.

generated files (session. orders, log, tmp, ...) should be placed in a
var/ directory under the catalog.

Get rid of text file counters (though there is still some issue of
whether we should retain the text counter code in the core or move it to
a plugin).

reduce queries on pages.  There is some disagreement as to whether this
should entail a core change to allow for caching of [field] and [data]
tag results.

the code directory should be changed so that we don't have three
subdirectories that all contain tags but we should retain seperate
subdirectories for filters, widgets, etc.  It was proposed that we can
have a separate directory to hold user created tags, but it should ship
empty.

There are still several other issues to discuss and so it was generally
agreed that we should plan another meeting to continue the discussion.

That is all of the important bits that I can think of, if anyone has
anything to add, please feel free to do so.


Peter



More information about the interchange-users mailing list