Alexander R. Pruss:

>... how annotations should be stored.  The consensus is that
> they're being moved out of metadata, and into a separate db.

Will there be only one annotation/bookmark db per text db?

I know that one of the earlier goals was to distribute 
commentaries, and there will probably be some texts that
have more than one relevant commentary.  Unless there is
a good way to merge them, even after a beam-to-existing-name,
it would make sense to allow multiples.

Also, if you allow multiples (especially if you merge them
into a single db), you might want a way to save attribution 
and even date (or timestamp), possibly as one of the header 
fields.  I could imagine marking comments from one scholar
in Red and another in Blue when trying to compare their
opinions.

>On Sat, 19 Jun 2004, Michael Nordstrom wrote:
>> On Thu, Jun 17, 2004, Alexander R. Pruss wrote:
>> > How's this for each record in the Anno-Filename db?
>> > 
>> > typedef struct {
>> >     UInt16 uid;
>> >     UInt16 headerLength;  /* sizeof( AnnotationEntry ) */
>> >     UInt16 index;
>> >     UInt16 paragraphNum;
>> >     UInt16 triggerStart; /* relative to paragraph start */
>> >     UInt16 triggerStop; /* relative to paragraph start */
>> >     UInt16 dataOffset;  /* offset of data from beginning of this record
*/
>> >     UInt16 dataLength;
>> > } AnnotationEntry;

Just a check -- is uid the record number of the annotation, and
index the record number of the annotated record?  

HeaderVersion?  Or is that in the db header, and assumed to be
constant within a single annotation database?  (And the same
question regarding which db this annotates.  Is it possible to
annotate more than one pdb from the same commentary?)

RecordType (Bookmark vs edit vs commentary)?  Or is that assumed
to be handled by the palm categories?  I suspect we will want
both record type and user-defined categories within (at least
some) annotation types.

Is there a way to make annotations that span paragraphs, or even
different db records?  For paragraphs, you could just add a stop
paragraph number, but for different indices, you might want a
"refer to annotation X; it still applies" record.  (I also see
some value in making both the start and the stop references look 
like regular anchors.)

> headerLength is used so we can extend this later to include 
> other data, such as RGB value of highlight, and anything else
> one might fancy.

Attribution, time, category (categories?)

> dataLength is also nice for the same reason.  For all we know, 
> there might be reason to store other stuff in the same record
> eventually, and it might go after the data.  

True -- though my inclination for a variable header might be to
put it before the data.  I do think there should be a variable
header (or trailer).  I can imagine wanting different 
meta-information for different databases (previous cost?  
alternate part numbers?) and not wanting to burn a version number 
for each database.

>> > We might lose one thing.  Currently bookmarks specify not just 
>> > the byte offset, but also a yoffset.

What does the yoffset provide?  Is it a hint about drawing if you
follow that bookmark?  Is it the absolute y-offset, making assumptions
about the font and screen-width?

>  Do we still keep the add annotation form and the add bookmark forms
>  separate?
> The visual difference is that the add bookmark form is a small popup,

Unless this changed since 1.7.2, the bookmark form already covers 
plenty of screen; so long as you continue to prefill it with reasonable
defaults so that a single "OK" works, then covering a bit more shouldn't
matter.  (Unless there were a way to cut-n-paste from the backing screen.)

-jJ
_______________________________________________
plucker-dev mailing list
[EMAIL PROTECTED]
http://lists.rubberchicken.org/mailman/listinfo/plucker-dev

Reply via email to