Closed GoogleCodeExporter closed 9 years ago
I think there are two ways to solve this problem.
1. Change annotations to key-waveletname pair.
2. Make two types of annotations.
annotation-data: key-value pair
annotation-link: key-waveletname pair.
If the data contained in an annotation is simple, use annotation-data. If the data
is complicated, or you need an access control or concurrent editing, use
annotation-
link.
Which is the better solution?
Original comment by finitefi...@gmail.com
on 10 Jul 2009 at 4:49
Original comment by btkalman@gmail.com
on 29 Aug 2009 at 2:07
Hi Toshiya, thanks for your ideas!
So if I understand correctly, you already agree that your suggestion is already
possible with the current annotations, as the value can be a wavelet id
and then you can store more data in another wavelet. The only problem you have
is that it might be unclear whether the value is data, or whether it's a
wavelet id? I will try to convince you that this is not a big problem. Data
needs to be interpreted somehow - a robot or client needs to know what
different tag names mean; it needs to know what the annotation keys represent,
and how to interpret the data in any linked wavelets. One way for robots
to understand what different XML tags, and annotation keys represent, and what
restrictions there are on their attributes and values, is to use schema
definitions. We already have XML schemas, and there's no reason we couldn't
support some form of schema for annotations as well. Then you could specify
what restrictions apply to what key types. At the end of the day, all data is
just 1's and 0's on the wire, it's all how you interpret it.
There are also advantages in not restricting annotation values to be wavelet ids
* There are a lot of simple annotations, such as for bold, italics styling, which only need a simple string value such as "bold". Requiring the info to
be in a separate wavelet would be far too heavyweight
* There are other types of things you might want to refer to, other than wavelets. Other waves, or other documents in the same wavelet, for example. The
spelly annotations reference a data document in the same wavelet, it is not
necessary to have an entirely new wavelet for the spelly data. (The spelly
robot and client rendering code knows how to interpret spell annotations, to
interpret their values as data document ids).
Original comment by daniel.d...@gmail.com
on 17 Nov 2009 at 12:55
Thank you for your explanation, Daniel. I agree with that.
I did not know that Spelly refers to a data document. I cannot wait that inner
API is
available to all users.
Original comment by finitefi...@gmail.com
on 17 Nov 2009 at 3:03
Original comment by oh...@google.com
on 21 Nov 2009 at 2:38
Original issue reported on code.google.com by
finitefi...@gmail.com
on 1 Jul 2009 at 3:54