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

List:       koffice-devel
Subject:    Re: Explanation on the current inner working of the changeTracker
From:       Pierre Stirnweiss <pstirnweiss () googlemail ! com>
Date:       2009-04-20 7:21:25
Message-ID: af76e3dc0904200021o304fdf6fn97d66f9b54f253ce () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On Mon, Apr 20, 2009 at 5:54 AM, Thorsten Zachmann <t.zachmann@zagge.de>wrote:

> Hello Pierre,
>
> thanks for the detailed explanation. This helps to understand how it might
> be
> done. If I have understood the sec correctly this is a office:text specific
> feature in the spec.


Ah, I didn't realise this stuff was "word processor" specific. I thought it
would apply to any "text frame" in an opendoc file. I find this limitation
in the spec is really a shame. This is an additional limitation of the
change tracking spec (on top of not saving the format change which happened,
and just that a format change took place; the metadata planed for a change
is limited to date, author and comment). I don't know how much we could
influence the specs, but this section definitly needs some attention.


> Therefore the saving of that stuff should be done in
> kword and not in koodf. Because you cannot use a office:body and a
> office:text in there as that breaks all other apps. I think the simplest
> would be to create the dataCenterMap for the change tracker only when a
> document in kword is created and not in the TextShapeFactory. The textshape
> should be able to use a change tracking if it is set but should also be
> able
> to not use it e.g. in other apps.


But wouldn't it be interesting for KPresenter (for example) to have this
feature for the text frames also?
But then, the saving of it couldn't be done the same anyway.

Pierre


> The saving should be done
> KWOdfWriter::save. You should have the stuff for saving the changes that is
> now in KoOdfWriteStore in there.


Yes, I had a quick look yesterday and agree that KoOdfWriteStore is not the
correct place. The reason I did this (if I remember correctly) was because
the content of this changeXmlWriter should be after the <office:text> but
before the first <text:p> (or any text content tag). The text content is
handled by the contentXmlWriter (as was the tag <office:text>, if I remember
properly). The flow should then be: start the <office:text> tag, write the
changeXmlWriter stuff, write the contentXmlWriter stuff, close the
<office:text> tag. That is why I moved the <office:text> tag opening. I'll
have a further look into moving that stuff into a more proper place.

Pierre


>
>
> I hope that explains how I think it could be done.
>
> Have a nice week,
>
> Thorsten
> _______________________________________________
> koffice-devel mailing list
> koffice-devel@kde.org
> https://mail.kde.org/mailman/listinfo/koffice-devel
>

[Attachment #5 (text/html)]

<br><br><div class="gmail_quote">On Mon, Apr 20, 2009 at 5:54 AM, Thorsten Zachmann \
<span dir="ltr">&lt;<a \
href="mailto:t.zachmann@zagge.de">t.zachmann@zagge.de</a>&gt;</span> \
wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, \
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Hello Pierre,<br>
<br>
thanks for the detailed explanation. This helps to understand how it might be<br>
done. If I have understood the sec correctly this is a office:text specific<br>
feature in the spec.</blockquote><div><br>Ah, I didn&#39;t realise this stuff was \
&quot;word processor&quot; specific. I thought it would apply to any &quot;text \
frame&quot; in an opendoc file. I find this limitation in the spec is really a shame. \
This is an additional limitation of the change tracking spec (on top of not saving \
the format change which happened, and just that a format change took place; the \
metadata planed for a change is limited to date, author and comment). I don&#39;t \
know how much we could influence the specs, but this section definitly needs some \
attention.<br>  </div><blockquote class="gmail_quote" style="border-left: 1px solid \
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Therefore the \
saving of that stuff should be done in<br> kword and not in koodf. Because you cannot \
use a office:body and a<br> office:text in there as that breaks all other apps. I \
think the simplest<br> would be to create the dataCenterMap for the change tracker \
only when a<br> document in kword is created and not in the TextShapeFactory. The \
textshape<br> should be able to use a change tracking if it is set but should also be \
able<br> to not use it e.g. in other apps. </blockquote><div><br>But wouldn&#39;t it \
be interesting for KPresenter (for example) to have this feature for the text frames \
also?<br>But then, the saving of it couldn&#39;t be done the same anyway.<br> \
<br>Pierre<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid \
rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The saving should \
be done<br> KWOdfWriter::save. You should have the stuff for saving the changes that \
is<br> now in KoOdfWriteStore in there.</blockquote><div><br>Yes, I had a quick look \
yesterday and agree that KoOdfWriteStore is not the correct place. The reason I did \
this (if I remember correctly) was because the content of this changeXmlWriter should \
be after the &lt;office:text&gt; but before the first &lt;text:p&gt; (or any text \
content tag). The text content is handled by the contentXmlWriter (as was the tag \
&lt;office:text&gt;, if I remember properly). The flow should then be: start the \
&lt;office:text&gt; tag, write the changeXmlWriter stuff, write the contentXmlWriter \
stuff, close the &lt;office:text&gt; tag. That is why I moved the &lt;office:text&gt; \
tag opening. I&#39;ll have a further look into moving that stuff into a more proper \
place.<br> <br>Pierre<br> </div><blockquote class="gmail_quote" style="border-left: \
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br> \
<br> I hope that explains how I think it could be done.<br>
<br>
Have a nice week,<br>
<br>
Thorsten<br>
_______________________________________________<br>
koffice-devel mailing list<br>
<a href="mailto:koffice-devel@kde.org">koffice-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/koffice-devel" \
target="_blank">https://mail.kde.org/mailman/listinfo/koffice-devel</a><br> \
</blockquote></div><br>



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


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

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