For my long term clients Itzy-Bitzy Communications and LOGU I have developed and maintained a set of tools for working with their DanDomain web shop solution. The DanDomain web shop offers a set of partner programmes, in the shape of product exports aimed at different external sites and services like:
– Din Pris
The tool implemented in Perl takes the existing exports and does manipulation and filtering on them for finer control and application of certain business rules to improve and optimize the output.
The tools have grown over the years and in the spring of 2009 a lot of new feeds were added to the existing suite of tools. This indicated a long awaited refactoring of the code base, which had grown organically with the requirements from Itzy-Bitzy Communications and LOGU.
One of the things that came out of that refactoring was WWW::DanDomain a class based on Andy Lesters marvelous WWW::Mechanize a Perl module, assisting the developer in creating an HTTP client for accessing and retrieving data via HTTP.
WWW::DanDomain is for now pretty slim, but it is the core foundation in the tools created for accessing DanDomain web based administrative interface.
The idea behind the class, it to sub-class it and overwrite the processor method, which is the place to hook in, in order to get access to the product export data.
Currently we have implementations doing the following:
– Converting to XML from CSV
– Merging of data from two different exports
– Conversion from ISO-8859-1 to UTF-8
– Complex business rules changed single fields in export
– Creation of exports for service providers not supported by DanDomain (see the list above)
– Cleaning of exported data
WWW::DanDomain is the first open source project from logicLAB, which is developed on our Atlassian Jira Studio solution, so things might change overtime as we get more into using Jira Studio for both closed and open source projects, for now the following resources are available from our WWW::DanDomain project web site (http://logicLAB.jira.com/browse/DAND):
– SCM, Subversion, readonly
– Bug/Issue tracking, requires account for now, but we are working on that
WWW::DanDomain is distributed under the Artistic License and can be downloaded from your local CPAN mirror or via: search.cpan.org.