[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-look
Subject:    Re: Improved document handling (Was: Goal-orientation (files vsdocuments))
From:       "Marko Samastur" <markos () elite ! org>
Date:       2000-03-12 10:54:42
[Download RAW message or body]

>Rik Hemsley wrote about RCS:
>>
>> #if Steven D'Aprano
>[snip]
>> > I can't imagine loading up a simple ASCII
>> > text file with all this extra undo-information.
>>
>> Well, try imagining it.
>
>Its hardly a simple text file with all that meta-data stored in it.


Of course it is. Btw, do you use RCS? It's the same as with RCS, you have
a file with all the modifications and checked out version, which is just a
simple text file.

There's no reason why it couldn't work the same in KDE, except that file
with modifications wouldn't be stored in the same directory. New revisions
that are created when user leaves the program or closes the document, are
done the same as in RCS (save changes in file, check it in and then check
it out again so you can continue with it next time). This works quite fast
on plain text based documents.

I imagine binary files will be more problematic. Better approach might
often be to be format aware, but since there are just too many formats out
there, the default behavior should be to save plain binary difference
between files (plug in support for those developers, who'd like to make it
format aware?). If the ratio between delta of changes and the size of the
whole file is too high (let's say over 0.5), it saves the whole file and
not just delta.

>Still, I'm gradually coming around to your way of thinking. If its not
>part of KDE, then we either leave it up to the file system itself, which
>is not likely to happen, or leave it up to individual developers to
>build it into their apps on an ad hoc basis.


Exactly.

>Actually, if I recall correctly, Word was the first Macintosh
>application to implement Redo. I wish I could get my hands on a copy of
>Nisus' word processor (sadly couldn't compete with Word, despite being
>faster, less resource hungry, and more powerful, including full support
>for grep). According to reviews at the time, it had absolutely awesome
>undo/redo capabilities. Has anyone had experience with Nisus?


Nope.  But undo/redo systems could be largely improved if they categorized
changes in different exclusive categories. For instance writing or
deleting of text in category "Text input" and changing of font size in
"Format". Undoing changes in Format shouldn't affect changes in Text
input.

Of course, this can be improved even further, but categories might be an
easy step forward.

>> BTW, I just had words with a Windows user. He uses Word and Excel
>> mostly. He likes the idea of the RCS thing. He had a few
>> reservations until I explained a little, but he thinks it would
>> work.
>
>Word97 includes an option for RCS-type information to be saved in the
>file, complete with password protection so unauthorized users can't
>delete previous versions. Dare I suggest this is also one of those
>things that MS got right? (I don't know how strong their password
>protection is, but I daresay you KDE programmers can make your security
>Pretty Good.)


Interesting idea, which can't extend file system permissions on files that
can be read in a basic editor. It works for MS, because they have a binary
format.

Putting RCS information in the file makes it easy to carry the changes
with the file, but it also makes file bigger. It also makes it less
readable with usual Unix tools.

>> One thing
>> he enquired was 'Can I make a fresh copy, without revisions, so that
>> I can send a smaller file to someone, and not have them see all the
>> changes I made'. Of course, that would be simple :)
>
>Excellent suggestion. A "compact" command perhaps? Or "Remove
>revisions"?


If the information is in separate file, you get this for free. It's doable
in any case.

>Many commercial apps implement difference-saving (inc Illustrator and
>Word). They do it for speed (Word even goes so far as to call it "Fast
>Save") rather than for revision control. But there is a negative side to
>this. The more differences are saved, the bigger and more complex the
>file becomes, until in some cases the app cannot cope and can no longer
>open the file.
>
>Older versions of Word and Illustrator coped with this by periodically
>saving the raw document without differences. I'm not sure what newer
>versions do. Obviously this wouldn't work for a document using RCS, as
>you would loose all revision data as well as compacting the file. Any
>suggestions as to any way around this?


Yes, put the RCS information in separate file. But there are always a
trade-offs. We have to decide which features seem more important to us.

>You could build a "version manager" that would allow the user to delete
>certain revisions from the document but keep others. Or would that be
>more trouble than its worth?


I like the idea. Doesn't seem to be hard to do either since you just apply
all the changes between revisions you want to keep, save new file, remove
those same revisions and put the new file back in revision system.

Marko

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic