Dynamic Alternatives
P.O. Box 59237
Norwalk, CA 90652
dynalt@dynalt.com


S U M M A R Y


DIARY: April 25, 2008 12:05 PM Saturday; Garold L. Johnson

SDS Internal Record Structure

1...Summary/Objective
2...SDS Internal Record Structure
3...Relationship to Line Numbers
....Line Numbers Define Structure
....Line Numbers Provide Fine-Grained Reference


..............
Click here to comment!

CONTACTS 

SUBJECTS
Topic Maps and SDS
SDS Record Structure

0504 -
0504 -    ..
0505 - Summary/Objective
0506 -
050601 - Follow up
050603 -  ..
050604 - There are certainly Topic Map aspects to SDS, particularly in the
050605 - Subject Index.
050606 -
050607 -
050609 -  ..
050610 - SDS Internal Record Structure
050611 -
050612 - SDS record elements were described on 890523, ref SDS 1 TP8O.
050613 -
050614 - The structure of an SDS record allows (at least)
050615 -
050616 -    1. Title and some identification data. There is enough information
050617 -       to reconstruct the file path (or was, before the user id was
050618 -       removed).
050620 -        ..
050621 -    2. Contacts - Links into the contact system
050623 -        ..
050624 -    3. References - records that can be the target of hyperlinks.  This
050625 -       allows indirection in the links which is of the form
050627 -        ..
050628 -       ref <ref type> <ref #> <anchor>
050630 -        ..
050631 -       ref type:
050633 -           ..
050634 -          SDS - other SDS records
050636 -           ..
050637 -          DIT, DIP - Documents Issued Today / Prior (to today)
050639 -           ..
050640 -          DRT, DRP - Documents Received Today / Prior (to today)
050642 -           ..
050643 -          OF - Other files. Documents in the SDS space.
050645 -        ..
050646 -       Ref #: Line within the <ref type> reference section. That line
050647 -       contains the location information for the file.
050649 -        ..
050650 -       Anchor: A 4-character sequence of digits and upper case letters.
050651 -       Serves the same function as a named anchor, id, or name in HTML.
050653 -        ..
050654 -       This system allows standardized links in clear ASCII text, much
050655 -       as is done with footnotes in some wiki markup.
050657 -        ..
050658 -       SDS will attempt to open any complete hyperlink or file path
050659 -       alone on a line when the user attempts to open it as a
050660 -       hyperlink. I have discussed the idea of adding an external (EXT)
050661 -       <ref type> for file paths and URLs, but this mechanism works
050662 -       well enough for now, since most external links don't have
050663 -       internal anchors that can be branched to, and they are opened by
050664 -       applications other than SDS.
050666 -        ..
050667 -    3. Record Segments - the unit of indexing in the Subject Index.
050668 -       Includes a list of all Subjects to index the segment against.
050670 -        ..
050671 -       There are also fields on each subject line for time accounting.
050672 -       There is a time reporting system that uses the information.
050674 -        ..
050675 -       If I understand Topic Maps even a little, this is equivalent to
050676 -       placing the instance information in the instance rather than in
050677 -       the map.  I have no doubt that there is enough information in
050678 -       the SDS Records and the Subject Index to generate a Subject Map.
050679 -       Maintaining it might be a bit more interesting.  SDS assigns
050680 -       Subjects in the instances rather than assigning instances from
050681 -       the Subjects.  I do think it could be done, however.  Given a
050682 -       Subject Map Engine API, I would be willing to tackle a script to
050683 -       put SDS into the engine.
050685 -        ..
050686 -       The structure of the Subject Index is beyond the scope of this
050687 -       email, other than to note that it is similar to Doug's
050688 -       structural notation for nodes in an outline.
050689 -
050691 -     ..
050692 -    4. An outline structure. Section blocks are outdented and have
050693 -       2-digit line numbers. Headline blocks are highlighted. The body
050694 -       can contain plain paragraphs and ordered (full range of label
050695 -       formats) or unordered lists. This is similar to the list
050696 -       constructs in HTML, but the containment rules are relatively
050697 -       free form. I haven't tried to align the HTML and SDS nesting
050698 -       fully, but I think there are some constructs that SDS allows
050699 -       that fully correct HTML might not. SDS renumbers ordered lists
050700 -       automatically when a record is saved.
050702 -     ..
050703 -    A hyperlinked map to the top-level structure is available as a menu
050704 -    item in SDS. This is similar to the Document Map feature in Word
050705 -    2003 and later. In a windows version, it would be nice if the
050706 -    outline were active as in Word Outline View (only better).
050707 -
050708 -
050710 -  ..
050711 - Relationship to Line Numbers
050712 -
050713 -
050714 -
050716 -     ..
050717 -    Line Numbers Define Structure
050718 -
050719 -    Rod refers to this approach as "vertical forms". They are
050720 -    essentially tagged sections. The forms are delimited by variations
050721 -    in the line numbers (which can extend into upper case letters if
050722 -    they become too long).
050724 -     ..
050725 -    It is clear that line numbers are not needed to structure the
050726 -    record. Any tagging format could be made to work, and several would
050727 -    likely be easier to maintain.
050728 -
050729 -
050731 -     ..
050732 -    Line Numbers Provide Fine-Grained Reference
050733 -
050734 -    In the same way that legal documents number all pages and all lines
050735 -    on the page to provide a <document, page, line> index to any place
050736 -    in any document, line numbers in SDS provide a way for
050737 -    collaborators to refer to positions within any SDS record. This has
050738 -    proven useful many times, in spite of the fact that line numbers
050739 -    change when the record is edited.
050741 -     ..
050742 -    I have been trying to find a way to get the benefit without the
050743 -    pain. The line numbers mean that most diff and version control
050744 -    systems will see far larger portions of a record as having changed
050745 -    because the line number changes extend beyond the editing changes.
050747 -     ..
050748 -    The fact that the record use hard line breaks when wrapping text
050749 -    means that changes on a single line can affect the entire
050750 -    paragraph, which is a bit annoying.
050751 -
050752 -
050753 -
050754 -
050755 -
050756 -
050757 -
0508 -