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
