Dynamic Alternatives
Norwalk, CA 90652
S U M M A R Y
DIARY: August 23, 2007 03:48 PM Thursday;
Garold L. Johnson
SDS - SDS Evolution - SDS Structures
1...Summary/Objective
2...Record Identification
3...Prior Date records
4...Record Structure
5...Record Segments
6...Paragraphs
7...Granular Addressability
....Split or Join Paragraphs
....Back Links - Future consideration
8...Record Segments: 1..N
9...Paragraph Types in the Outline
....Section
....Headline Block
....Nested Lists
....Body Text
10...Creating SDS Records
11..."Opening" Constructs
12...Hyperlinks
13...Granular Addressability and the Two Worlds Problem
14...File System as Database
..............
Click here to comment!
CONTACTS
SUBJECTS
Tacit Knowledge
Architectural Stabilization in KM
Communication in Groups
0605 -
0605 - ..
0606 - Summary/Objective
0607 -
060701 - Follow up ref SDS 6 0000. ref SDS 5 0000.
060702 -
060703 - SDS Record structure. ref OF 9 PRQP
060705 - ..
060706 - SDS Schedule and Diary records have nearly identical internal
060707 - structures. A few fields are set in one and not the other.
060708 -
060709 -
060711 - ..
060712 - Record Identification
060713 -
060714 - SDS Diary Records are identified by 1) User ID, usually implicitly
060715 - the current user, 2) date, and 3) time to 1 second resolution.
060716 -
060717 - Whatever storage strategy is used, it must be possible to retrieve
060718 - any Diary Record given the 3 pieces of information.
060720 - ..
060721 - The timestamp for a Diary Record is created at the time a Schedule
060722 - Record is converted to a Diary record and is immutable therafter.
060724 - ..
060725 - A common operation is to provide a list of records sorted by (date,
060726 - time) and displayed with title. Opening any record description bring
060727 - the record up in the editor. List may be generated in a wide variety
060728 - of ways.
060730 - ..
060731 - Schedule Records are identified by a unique sequential number, which
060732 - is currently used as the file name in a schedule directory. The
060733 - visual form of the schedule is maintained as a file. This provides a
060734 - date organized list of the schedule records in the system.
060736 - ..
060737 - Dates for Schedule Record are not fixed. They can be moved from 1
060738 - date to another at will. Once a Schedule Record is converted to a
060739 - Diary Record (permitted only for records for the current date) the
060740 - timestamp becomes fixed. The timestamp (HH:MM) can be set by the user
060741 - or will default to the current time if not set.
060742 -
060744 - ..
060745 - Prior Date records
060746 -
060747 - There is provision for creating a Diary Record for a previous date to
060748 - allow for the fact that notes of an event can't always be entered on
060749 - the day the event occurs. There is currently no way to distinguish a
060750 - Diary Record created on the day of an event from one created later.
060751 - Consider saving the date that the record was actually created.
060752 -
060753 -
060755 - ..
060756 - Record Structure
060757 -
060758 -
060759 - - Record Identification
060760 -
060761 - record_type: enum (Schedule, Diary)
060763 - ..
060764 - user_id: Not on current records, but it is part of the record
060765 - key, and needs to be mentioned.
060767 - ..
060768 - date: Formatted version including day of the week is provided
060769 - for display purpose.
060771 - ..
060772 - time: to second
060774 - ..
060775 - sched_seq: A sequential number that identifies a schedule
060776 - record. User_id + date + time is the identifier for a Diary
060777 - Record, which belongs permanently to a point in time.
060778 - Sequential numbers are used for Schedule Records which are
060779 - not fixed in time.
060781 - ..
060782 - 01 - Record Description
060783 -
060784 - Title
060786 - ..
060787 - 02 - Contacts 0..N
060788 -
060789 - Data
060790 -
060791 - contact_id: link to contact record
060792 -
060793 - Display
060794 -
060795 - Information fields to display are a design design.
060797 - ..
060798 - name
060800 - ..
060801 - phone
060803 - ..
060804 - The contact system supports individual names with connection to
060805 - companies, and companies with multiple departments with multiple
060806 - with link to the person contact. This can use some rethinking.
060808 - ..
060809 - 03 - References 0..N
060810 -
060811 - Sections by document type.
060812 -
060813 - SDS Archived Diary Records
060814 -
060815 - Data
060816 -
060817 - Record Id
060819 - ..
060820 - Display
060821 -
060822 - Date
060823 -
060824 - Title
060826 - ..
060827 - Document Log
060828 - Documents Recieved Today.................. (DRT)
060829 -
060830 - file_path: Currently this is
060831 -
060832 - drive
060834 - ..
060835 - project_1
060837 - ..
060838 - project_2
060840 - ..
060841 - drt_dir
060843 - ..
060844 - year
060846 - ..
060847 - month
060849 - ..
060850 - file
060852 - ..
060853 - drt_flag
060855 - ..
060856 - title
060858 - ..
060859 - from: should link to contacts
060860 -
060861 - organization
060862 -
060863 - contact
060865 - ..
060866 - to: should link to contacts
060867 -
060868 - organization
060869 -
060870 - contact
060872 - ..
060873 - r/i date: purpose
060875 - ..
060876 - respond_by:
060877 -
060878 - date
060879 -
060880 - organization
060881 -
060882 - contact
060884 - ..
060885 - project_wbs
060887 - ..
060888 - document_users_number: purpose?
060890 - ..
060891 - Documents Recieved Prior.................. (DRP)
060892 -
060893 - file_path: Currently this is
060894 -
060895 - drive
060896 -
060897 - project_1
060899 - ..
060900 - project_2
060902 - ..
060903 - drp_dir
060905 - ..
060906 - year
060908 - ..
060909 - month
060911 - ..
060912 - file
060914 - ..
060915 - drp_flag
060917 - ..
060918 - title
060920 - ..
060921 - Documents Issued Today.................... (DIT)
060922 -
060923 - file_path: Currently this is
060924 -
060925 - drive
060926 -
060927 - project_1
060929 - ..
060930 - project_2
060932 - ..
060933 - dit_dir
060935 - ..
060936 - year
060938 - ..
060939 - month
060941 - ..
060942 - file
060944 - ..
060945 - dit_flag
060947 - ..
060948 - title
060950 - ..
060951 - Documents Issued Prior.................... (DIP)
060952 -
060953 - file_path: Currently this is
060954 -
060955 - drive
060956 -
060957 - project_1
060959 - ..
060960 - project_2
060962 - ..
060963 - dit_dir
060965 - ..
060966 - year
060968 - ..
060969 - month
060971 - ..
060972 - file
060974 - ..
060975 - dit_flag
060977 - ..
060978 - title
060980 - ..
060981 - Other Files................................. (OF)
060982 -
060983 - File path: Currently this is:
060984 -
060985 - drive
060986 -
060987 - path: space or '\' separated directories
060989 - ..
060990 - title
060991 -
060993 - ..
060994 - Record Segments
060995 -
060996 - SDS records are divided into Record Segments. Most records have only
060997 - the single default segment, but a record can have as manny segments
060998 - as are needed.
060999 -
061000 - Each segment starts with a set of control fields which are
061001 - essentially links into the Subject Index. Subject searches are
061002 - resolved to the record segment.
061004 - ..
061005 - Each subject can have time and billing data related to it.
061007 - ..
061008 - Following the control field is a section of hierarchical text. The
061009 - first few levels of the hierarchy are treated specially.
061011 - ..
061012 - There is no requirement that all levels of the hierarchy exist. It is
061013 - acceptable, for example, for a record to be simply a sequence of text
061014 - paragraphs.
061015 -
061016 -
061018 - ..
061019 - Paragraphs
061020 -
061021 - The unit of thought is considered to the the paragraph. The
061022 - definition of a paragraph depends on the implementation, but it must
061023 - be possible to determine paragraph boundaries.
061024 -
061025 -
061027 - ..
061028 - Granular Addressability
061029 -
061030 - Every paragraph has the potential of having an anchor, which is an ID
061031 - that is, at a minimum, unique within the record. SDS doesn't
061032 - currently assign an anchor to every paragraph in an attempt to reduce
061033 - visual clutter. Other systems have anchors on every paragraph.
061035 - ..
061036 - When anchors are rendered into HTML, there is a visual indicator
061037 - created that has a link to the immediately following anchor. This
061038 - allows the user to right-click on the indicatior and copy a link to
061039 - that spot in the document.
061040 -
061041 -
061043 - ..
061044 - Split or Join Paragraphs
061045 -
061046 - Whether the anchor is treated at the beginning or end of the
061047 - paragraph has been largely an accident of implementation.
061048 -
061049 - Recommend that anchors are treated as being at the beginning of
061050 - the paragraph. This implies that:
061051 -
061052 - 1. When a paragraph is split, the first part of the paragraph
061053 - retains its anchors and the new paragraph created gets a
061054 - new answer.
061056 - ..
061057 - 2. When paragraphs are joined, the resulting paragraph has the
061058 - anchor of the first paragraph.
061060 - ..
061061 - Deletion of an anchor occurs silently. This behavior needs to be
061062 - reviewed later.
061063 -
061065 - ..
061066 - Back Links - Future consideration
061067 -
061068 - Some systems maintain lists of inbound links to an anchor. SDS
061069 - doesn't currently do this, but it can be a useful feature.
061070 -
061071 -
061073 - ..
061074 - Record Segments: 1..N
061075 -
061076 - 04 - Control fields, ref OF 9 PRQP. 1..N
061077 -
061078 - Default is a special empty subject that can be searched for.
061079 -
061080 - time_charges:
061081 -
061082 - Field Type
061083 - Time
061084 - Open for Assignment
061085 - Employee Number
061086 - Billing Entity
061087 - Function (cost accounts)
061088 - Action Items
061090 - ..
061091 - Subjects (orgz objectives): link to Subject index entry. One
061092 - subject to line.
061094 - ..
061095 - Descriptions for subjects (display) follow the block of subject
061096 - entries. SDS attempts to reduce the number of descriptions by
061097 - providing the description for only the parent subject of a series
061098 - with dependents. Beecause of the way the Subject ID is
061099 - constructed, this is a prefix check.
061100 -
061101 -
061102 -
061104 - ..
061105 - Paragraph Types in the Outline
061106 -
061107 - The body of a Record Segment is a hierachical outline with different
061108 - level types.
061109 -
061110 -
061112 - ..
061113 - Section
061114 -
061115 - This is displayed specially at the top level of the hierarchy.
061116 - Section breaks may be used as desired but are not required.
061117 -
061119 - ..
061120 - Headline Block
061121 -
061122 - A headline block as 1 or more single-line headlines. The set of
061123 - headlines are highlighted with a light blue background, and there
061124 - is an underline immediately following the block.
061125 -
061126 - Headline blocks can be indented to provide multiple levels
061128 - ..
061129 - Nested Lists
061130 -
061131 - Lists may be ordered (arabic, upper roman, lower roman, lower
061132 - letter, upper letter), or unordered (bullet).
061133 -
061134 -
061136 - ..
061137 - Body Text
061138 -
061139 - A body text paragraph is part of the preceding list element
061140 - if the indentation matches the indentation of the list.
061141 -
061142 - Body text paragraphs do not need to be preceeded by any other
061143 - hierarchical elements, although this isn't the preferred practice.
061144 -
061146 - ..
061147 - Creating SDS Records
061148 -
061149 - Every SDS record is created as a Schedule Record on some date.
061150 -
061151 - 1. New blank record
061152 -
061153 - A blank record can be created. This record is created from a
061154 - standard blank record template.
061156 - ..
061157 - The default control field has a single subject that is a "blank
061158 - record" subject. This can be searched for to find records that
061159 - haven't been indexed.
061161 - ..
061162 - 2. Diary Record as Template
061163 -
061164 - A Diary Record can be used as the template for a new Schedule
061165 - Record.
061166 -
061167 - 1. A block paragraph is added before the first text of the
061168 - record to show that the following text was from the
061169 - previous record.
061171 - ..
061172 - 2. Links to a maximum of 2 previous records in the copy
061173 - chain is updated as "Follow up" in the first line.
061175 - ..
061176 - 3. For each headline block, links to a maximum of 2 previous
061177 - instances of this headline block in previous records in
061178 - the copy chain is updated as "Follow up" in the first
061179 - line, followed by a blank line.
061181 - ..
061182 - Diary Records are created by converted a Schedule Record for the
061183 - current date to a Diary Record.
061184 -
061185 - Current date Diary Records can be converted back to Schedule
061186 - Records, allowing the user to change his mind during the day.
061187 -
061188 - Current date Diary Records can't be deleted directly. They must be
061189 - converted to Schedule Records first.
061191 - ..
061192 - Titles for Schedule Records (Schedule or Diary) can be edited only
061193 - from the schedule, not from within the record. This restriction
061194 - should probably be removed.
061195 -
061197 - ..
061198 - "Opening" Constructs
061199 - --------------------
061200 - Wherever there is a representation of some larger amount of
061201 - information, it should be possible to "open" the representation to
061202 - the larger context, allowing maintenance and update.
061203 -
061204 - 1. Opening an SDS record from any list of records opens the
061205 - record in a new edit buffer.
061207 - ..
061208 - 2. Opening any SDS document from a list opens the document in a
061209 - new editor window.
061211 - ..
061212 - 3. Opening any Subject field opens the Subject Index positioned
061213 - to the subject. The Subject Index can be navigated and new
061214 - subjects selected.
061215 -
061217 - ..
061218 - Hyperlinks
061219 -
061220 - It should be possible to link to a variety of information sources
061221 - from an SDS record. Since different categories of links may have
061222 - different implementations, it is useful to identify them.
061223 -
061224 - In the current SDS, links are explicit 'refs' of the form:
061225 -
061226 - 'ref ' <type> <sequence> <anchor>
061228 - ..
061229 - Type can be one of the document types listed in the record:
061230 -
061231 - SDS - an SDS reference record
061232 -
061233 - DRT - Documents Received Today
061234 -
061235 - DRP - Documents Received Prior
061237 - ..
061238 - DIT - Documents Issued Today
061240 - ..
061241 - DIP - Document Issued Prior
061243 - ..
061244 - OF - Other Files
061246 - ..
061247 - Sequence is the number within the record list for that record
061248 - type.
061250 - ..
061251 - Anchor is the anchor within the record. By convention, 0001 is the
061252 - top of the record or document.
061254 - ..
061255 - SDS also recognizes URLs and file paths (for some extensions).
061256 -
061257 - URLs are opened in a new browser window.
061258 -
061259 - File paths are launched with the Windows 'start' command, which
061260 - causes Windows to open the file with the associated program.
061261 -
061263 - ..
061264 - Granular Addressability and the Two Worlds Problem
061265 -
061266 - External documents pose a number of problems for any system that
061267 - attempts to manage and refer to them.
061268 -
061269 - 1. Persistence. Particularly on the web, files change location,
061270 - change name, and simply disappear.
061272 - ..
061273 - This leads to a strategy of including any referenced document
061274 - in a "common storage".
061276 - ..
061277 - This, of course, can introduce versioning problems if the
061278 - document is changed elsehwere, and the potiential for
061279 - intellectual Property issues.
061281 - ..
061282 - 2. A major strength of the SDS approach is the ability to link
061283 - to a specific paragraph of a specific record or document.
061285 - ..
061286 - Currently, most foreign formats don't support this.
061288 - ..
061289 - This leads to the stragegy of converting the document to a
061290 - format that can be manipluated and populated with anchors for
061291 - granular addressability.
061293 - ..
061294 - For the current SDS, that common format is a text file with
061295 - some HTML markup allowed. This loses all graphics, and any
061296 - strictly typographic features.
061298 - ..
061299 - This difficulty id referred to at the "two worlds problem",
061300 - and is an major issue with SDS. It would be nice to solve this
061301 - for at least Word and PDF documents.
061303 - ..
061304 - Word could be handled by
061305 - using Open Office to convert to the Open Document Format
061306 - (ODF), which is an XML format, and adding bookmarks to that.
061308 - ..
061309 - It might be possible to add bookmarks to every paragraph in a
061310 - Word document and open to the bookmark programmatically.
061311 -
061312 -
061314 - ..
061315 - File System as Database
061316 -
061317 - SDS uses the file system as a database. It uses numbers for directory
061318 - and file names. The structure is complicated because there is so much
061319 - of it, but the intent is clear.
061320 -
061321 - Diary Records, for example have a path of the form
061322 -
061323 - D:\SD\08\<user ID>\02\YY\MM\DD\HHMMSS
061325 - ..
061326 - Years should be 4 digits, and records should have a unique
061327 - extension so that can be readily recognized.
061329 - ..
061330 - The meaning of all elements of the directory structure is, of
061331 - course, documented in depth within SDS itself.
061332 -
061333 -
061334 -
061335 -
061336 -
061337 -
0614 -