Thanks for the great responses. Y'all have definitely given me plenty upon
which to meditate. Here are some of my thoughts on what I've read thus far:
- On Sub-Classing...
- This generated the nice debate I was looking for. ;) I had considered the
issue of having to create separate objects for each of the different output
methods, which was the main reason I considered proceeding with the single-class
system. But on the other hand, I would like to make it relatively easy to pick
and choose the functionality and implementation you want to use on a given system.
For example, if you don't have and/or don't want to install the PDFLib
module and its baggage, you simply don't have to create any Resume::PDF objects.
And if someone wanted to write a different PDF output system, it feels cleaner
to me to just replace the existing Resume/PDF.pm module than to have to edit the
Resume.pm module itself. I do like and intend to use the Factory object idea
as well.
- Template Toolkit
- I've checked out many of the templating modules out there and liked what
I've seen. So far, for the XML, HTML, and text outputs, they all seem overkill
when I've already got my favorite new hammer on the
workbench generating the outputs, but the jury's still out on the best way to
handle PDF. I figured I'd get the PDFLib version completed, then see
what I can improve if I change modules.
- Joining forces...
- I'm certainly not adverse to joining up with a similar (or identical)
project. ;) I'm planning to get the code cleaned up a bit more and incorporate
the ideas I've gotten thus far, and posting it for review Real Soon Now. When I
do, let me know if it looks like you'd like my assistance.
- Other Outputs
- How could I have forgotten RTF?
It's an obvious choice, especially considering how many times I've provided an
MS Word version of my own in the past. There seem to be several RTF
modules available for the task. I've also considered (for far off in the future
when I get time to bang my head on it) learning Win32::OLE to try and
directly generate Word documents.
I also like the idea of XML to XML transforms using XSLT. That will be simple
to add; on the XML output, I can allow an optional XSL file to be passed in for
transformations.
- Related Projects (XML resumé library, etc)
- I should have mentioned XML resumé library
explicity as one of the other solutions I've looked at. It is a fine resource,
and actually one of the projects that inspired me to try this. It was quite a
bit more than I need at this point, and I'm trying to avoid Java for now, but
its has given me several ideas. While I'm at it, I should also mention
Andrew Ho Résumé Formats.
I considered using it for my own purposes, but I prefer to use XSLT for my
transforms rather than a dispatch table.
Thanks again for all the comments and for giving me plenty of food for thought.
-rattus
__________
He seemed like such a nice guy to his neighbors /
Kept to himself and never bothered them with favors
- Jefferson Airplane, "Assassin"