Re: Changing the way exporters work



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]