Hi Eric

On Wed, 30 Mar 2011 18:13 -0600, "Eric Wasylishen"
<[email protected]> wrote:
> Cool! Any help/ideas you can offer would be great. I have to admit I'm
> stuck right now.

I noticed you said you were having problems with rich text. I was
thinking about this problem some more, and was wondering if you
considered modelling it as a ordered list of paragraphs instead of as a
blob of rich text with style attributes stored separately? From what I
can work out, to do any kind of diffing, we need very structured data.
Convential diffing for text files thats used e.g. in diff breaks up a
file into a list of lines, where a change in each line amounts to
replacing the whole line. I'm not sure if this works but it seems like a
possible approach.

I know you sort of don't want diffing/merging in the persistence
framework, but it would still be useful if the framework or a framework
built on top of it provided the tools for diffing and merging but left
the decision making to the programme (like you have done in OM4). I
guess if it can be separated out from CoreObject, you will have a
persistence framework and a diffing/merging framework which can be
worked on independently. If it helps, we could just reduce the scope of
CoreObject so that it doesn't include these features but focuses instead
on persistence and history tracking.

> > * On a similar note, will you continue storing blobs of objects in the
> > database, or store each blob in a separate file referenced from the
> > database?
> 
> ...
> 
> Quentin's argument was that the storing the object content blobs in a SQL
> db doesn't take advantage of a SQL db's benefits, and the cost the cost
> of this is having a more complex on-disk storage format and more
> potential for corruption (even if sqlite is really well tested). I think
> I agree with this analysis.
> Do you have any preference with either way?

I would prefer separate files for the same reason Quentin does, but I
guess it doesn't matter for any early prototypes because SQLlite can
just be queried if we want (I'm sure we could even write some shell
scripts to query it for debugging purposes).

Cheers
Chris
-- 
  Christopher Armstrong
  carmstrong ^^AT^ fastmail dOT com /Dot/ au


_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev

Reply via email to