On Mon, Mar 24, 2008 at 09:50:01PM -0400, Sebastien Roy wrote: > Kurt Maute wrote: >> I'm actually in favor of adding a few fields to the .planner file so the >> external exporters (and other misc tools) don't have to worry about >> making complex calculations. > > I'd have to disagree. Adding duplicate, redundant, and/or inter-related > information to a data store increases the possibility for bugs to result in > silent data corruption. A better approach (IMO) is to put the least amount > of necessary information in the data store, and centralize the data I/O and > data manipulation in planner itself. Provide a versioned plugin interface > for exporters to plugin to, and a set of functions that plugins can use to > manipulate the objects. That way, the data store remains simple, there is > a single implementation for I/O and data manipulation, and you add the > ability to dynamically add functionality such as exporters to planner. That reminds me. We already have the libplanner interface for external exporters (of which there are none afaik, so it's not a big deal either way). The html exporter uses the .planner format because it is easy to feed to xsltproc. I'd keep this path the same as it is now, only with an intermediate file format made specifically for this purpose. >> My question is - if we include extra info in the .planner file, who says >> planner has to pay attention to all of it ? If we ignore some of the >> data on open (stuff that gets recalculated anyway), then wouldn't we >> reduce the number of incompatibility issues ? No, because although we can update planner to ignore the extra stuff, people will still want to open the .planner files in older versions. The old version will use the old .dtd to verify the format and fail to load the project. > Incompatibility between what? Between planner versions. Regards, Maurice. -- Maurice van der Pot Gentoo Linux Developer griffon26 gentoo org http://www.gentoo.org Gnome Planner Developer griffon26 kfk4ever com http://live.gnome.org/Planner
Attachment:
pgphcloTys3SR.pgp
Description: PGP signature