[Neworleans-pm] Group Projects (was Re: hello)

Dave Cash dave at gnofn.org
Tue May 18 10:55:12 CDT 2004


On Tue, 18 May 2004, Brett D. Estrade wrote:

> I may be able to make a couple - Friday is just a bad day for me.  What
> kind projects are you all looking at doing?

The project Mike talked about is something he has been calling
Cooperative DNS, but that doesn't really fully describe what it aims
to do.

Mike can probably explain it better than I can, but basically it
would allow people who host web sites or other services over their
DSL/cable connections to have some failover protections if their
DSL were to go down.

It would run as a P2P app, allow up to six computers to form a sort
of ring.  If a computer in the ring were to lose connectivity, then
another computer in the ring would immediately change DNS records
(for both SMTP and HTTP traffic) to make itself the new host.  Then
it would collect and hold any incoming mail until the downed machine
could recover.  It would also provide access to the web site via a
local copy (if the web site on the downed machine were dynamically
generated, then a static version of the downed site would be used
instead).

On Friday, we discussed that our first step will be to get together
to design the application.  I imagine that the design document(s)
will appear on the wiki, and at that time it will make more sense
than it probably did above in my description.

A project idea I had was to create a clean, easy-to-use,
object-oriented CPAN package that would allow for the merging of
record data into a printable output.  Originally, I just wanted to
make a module that would take some data input and produce a PDF i
could use to print labels.  But now I think it would be better to
generalize the I/O, something along the lines of SQL::Translator's
Parser/Producer model (for this project it would be something like
Data/Output).  It would basically be an application of a word
processor's "merge" capability, but without the word processor.

Once this pacakge were written, I'm imagining it could be used
something like this:

 #!/usr/bin/perl

 use strict;
 use Merge::Simple;

 my $m = new Merge::Simple;
 $m->source( 'mysql', 'username', 'password' );
 $m->fields( qw/name address1 address2 city state zip country/ );
 $m->filter( { state => 'LA' } );
 $m->sort( 'zip' );
 $m->template( 'tt2', 'label.tt2' );
 $m->layout( 'avery-3550' );

 $m->produce( 'pdf' );

Or something like that (I just made up the name Merge::Simple--I'm
open to other possibilities).

I know there are other things out there which do parts of what I'm
proposing, but nothing (that I know of) with this kind of flexible,
extensible design.  The work would mostly be in writing the various
subclasses, so that it would support a variety of data sources
(MySQL, Postgres, Class::DBI, Alzabo, etc.) a variety of templating
solutions (Template Toolkit, HTML::Mason, HTML::Template, etc.), a
variety of layouts (all known print labels, business cards, etc.)
and a variety of output types (PDF, LaTeX, PostScript, HTML, XML,
etc.).  In the case of each of these, it would hopefully be
relatively easy to design a custom solution through subclassing.

So that's my idea, in a nutshell.

If you have any project ideas, we'd love to hear them.  I saw on
your website that you're working on a PerlXUL project.  That sounds
very interesting.  I don't know too much about XUL (I've done a
little reading on it, but until I really use it, I'm sure it won't
sink all the way in).

Take care,

Dave

/L\_/E\_/A\_/R\_/N\_/T\_/E\_/A\_/C\_/H\_/L\_/E\_/A\_/R\_/N\
Dave Cash                              Power to the People!
Frolicking in Fields of Garlic               Right On-Line!
dave at gnofn.org                                  Dig it all.



More information about the NewOrleans-pm mailing list