On Thu, Aug 04, 2011 at 03:49:25PM +1000, Ron Savage wrote: > I've been thinking about how to develop our software libraries, and I'm > thinking of formally requesting Gedcom2 as the parent namespace.
With regard to the name I have a few thoughts. First, I don't particularly like Gedcom2. It doesn't say anything to me about what it is, apart from the next version of GEDCOM. But GEDCOM is already at version 5. However, without any suggestions my comments don't mean much. So I'll give some suggestions which you can feel free to completely ignore. I know there is a trend nowadays for top-level namespaces. Back when I wrote Gedcom.pm we didn't give the matter much thought. But were I starting now, I might go for something like Genealogy::GEDCOM as my namespace. Perhaps you would feel comfortable having your module under the Genealogy top level? Alternatively, if you are going to be keeping fairly close links to Gedcom.pm (probably meaning that your module will use Gedcom.pm), consider the now somewhat standard naming convention of GedcomX::YourModule. > I do realize some programs, e.g. Gedcom.pm, don't add tags (at least I > don't think it does) over and above Gedcom, they just manipulate what's > provided in the data. You are correct that Gedcom.pm manipulates whatever tags it finds in the GEDCOM file. Some tags obviously have a meaning defined in the spec, and with these Gedcom.pm can perform specific relevant actions. But one of my original design decisions was that no data should ever be lost and thus Gedcom.pm will just pass through any tags it doesn't understand, be they user-defined tags (prefixed with an underscore) or application specific extensions. However, you can add, delete and update any and all tags. There are convenience functions for this on some known tags, but at a lower level they can all be manipulated. You are correct though, that Gedcom.pm doesn't add any non-specified tags unless you specifically ask it to. -- Paul Johnson - p...@pjcj.net http://www.pjcj.net