THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: January 18, 2003 11:35 PM Saturday; Rod Welch

Change scheme for outlining in SDS.

1...Summary/Objective
2...Outlining and Lists Aid Flexible Structure to Augment Intelligence
3...Generic Process for Outlining and Lists Aid Flexible Structure
4...000000 Macro 207 List and Outline Refresh Order and Sequencing


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

CONTACTS 

SUBJECTS
Outline Update Numbers and Letters for Lists
Outline Nums and Letters Update
Outline Numbers Letters for Lists
Save, Primary, F2, macro 142, 0702051
F02 Save Macro 207 Update Outline Structures and Lists

0807 -
0807 -    ..
0808 - Summary/Objective
0809 -
080901 - Follow up ref SDS 10 0000. ref SDS 9 0000.
080902 -
080903 - Improve outlining so user can set the outline type at the beginning
080904 - of a structure, and then merely enter any char for subsidiary levels,
080905 - and the code will convert to the intended format.
080906 -
080907 -
080908 -
080909 -
080910 -
080912 -  ..
0810 -
0811 -
0812 - Evaluation
0813 -
081301 - Outlining and Lists Aid Flexible Structure to Augment Intelligence
081302 -
081303 - Follow up ref SDS 10 LI7P
081304 -
081305 - The new scheme takes a little more code, but is much faster than the
081306 - prior version, which makes the task transparent, and so the program is
081307 - more responsive, especially on large records.  It, also, takes a
081308 - little less time for the user to generate an outline structure because
081309 - after entering the starting format for an outline (1., A., a.) it is
081310 - only necessary to enter a single char thereafter in the outline
081311 - column, rather than a char and a dot, because when the record is
081312 - saved, the outline/list order and the dots are both updated.  Even
081313 - though we only save manually entering the dot, this can be
081314 - significant, because the hands have to traverse and change position,
081315 - and so the time is cut in half.  This is further helpful by reducing
081316 - the degree of distraction when creating outline content.
081318 -  ..
081319 - Making the overall operation faster, is mainly noticable on large
081320 - records, like the one on 010725. ref SDS 3 0001
081321 -
081322 -
081323 -
081325 -  ..
0814 -
0815 -
0816 - Planning
0817 -
081701 - Generic Process for Outlining and Lists Aid Flexible Structure
081702 -
081703 - Follow up ref SDS 10 W16K
081704 -
081705 - On 021107 support for outlining was developed based on checking every
081706 - instance where a dot and a space occur in a file.  Since a dot is
081707 - common for ending a sentence, in addition to being part of outlining
081708 - formats, the code required an awkward scheme of changing the dot to
081709 - another symbol so that processing could check every instance once in
081710 - evaluating when an actual outline format was intended.  Once an
081711 - outline was identified, the code processes only the columns that
081712 - identify an actual outline.
081714 -  ..
081715 - This design has several drawbacks.
081716 -
081717 -     1.  A lot of code is needed to manage the symbol swap to
081718 -         identifying actual outline content.
081720 -             ..
081721 -            Actually, it turns this does not take a lot of code, but it
081722 -            sounded like a good reason to look into this.  In fact the
081723 -            new scheme takes a little more code, and it retains the
081724 -            char swap though in greatly reduced degree.
081726 -          ..
081727 -     2.  Processing time is extended because most of the dots in a file
081728 -         are not outline content.
081730 -          ..
081731 -     3.  The user must manually enter a character and a dot to create
081732 -         the outline structure, which is interpreted by the code, and
081733 -         this takes extra time.  The new scheme now only requires
081734 -         entering any char and does not require entering a dot for
081735 -         subsidiary levels below the first level.
081737 -  ..
081738 - We can reduce the code, shorten processing time and make life a little
081739 - easier for the user to create outlining all by changing the design
081740 - from keying on all of the dots in the file, and instead simply looking
081741 - for....
081742 -
081743 -                    1dot
081744 -                    Adot
081745 -                    adot
081746 -
081747 - ...and then using the existing code to process those columns, so that
081748 - once a column is started as an outline, the user need only enter a
081749 - single char for subsequent elements of the outline.
081750 -
081751 -
081752 -
081753 -
081754 -
081756 -  ..
0818 -
0819 -
0820 - Progress
0821 -
082101 - 000000  Macro 207 List and Outline Refresh Order and Sequencing
082102 -
082103 - Follow up ref SDS 10 AG6N
082105 -  ..
082106 - Line 910, ref OF 2 JZ5M, -label lpn1 in 000000
082108 -     ..
082109 -    z 5 50
082110 -
082111 -       Just trying to change zone to 50, which gives the user a little
082112 -       wider pallet.  Formerly we used 40, to keep the speed up by not
082113 -       getting every dot in the file, since today we are changing the
082114 -       scheme to look for the 1, A and a dot, this is less of a
082115 -       problem, because every dot in the file will no longer be
082116 -       processed.
082117 -
082119 -     ..
082120 -    -if @47 = 2 z 11 50
082121 -
082122 -       SDS has a different zone that starts on column 11 because a list
082123 -       has to start a few columns in from the default left margin of
082124 -       10.
082126 -     ..
082127 -    l / 1dot /
082128 -    -if @0 = 0 -goto procOL
082129 -
082130 -       If there is a potential outline structure for 1., got
082131 -       investigate, and if it is an outline structure, process it, and
082132 -       if not not come back, and look for another 1., until all
082133 -       instances in the file are processed.
082135 -     ..
082136 -    macro 21
082137 -    setcnt 0 0
082138 -
082139 -       After all instances of 1dot have been processed, return to start
082140 -       loction for search the file, and reset the error level flag to
082141 -       look for Adot
082143 -     ..
082144 -    l / Adot /
082145 -    -if @0 = 0 -goto procOL
082147 -     ..
082148 -    macro 21
082149 -    setcnt 0 0
082151 -     ..
082152 -    l / adot /
082153 -    -if @0 = 0 -goto procOL
082154 -
082155 -    -goto endT
082156 -
082157 -
082158 -
082159 -
082160 -    -label procOL
082161 -
082162 -
082163 -
082164 -
082165 -
082166 -
082167 -
082168 -
082169 -
082170 -
082171 -
082172 -
082173 -
082174 -
082175 -
082176 -
082177 -
082178 -
082179 -
082180 -
082181 -
082182 -
082183 -
082184 -
082185 -
082186 -
082187 -
082188 -
082189 -
082190 -
082191 -
082192 -
082193 -
082194 -
082195 -
082196 -
082197 -
082198 -
082199 -
082200 -
082201 -
082202 -
082203 -
082204 -
082205 -
082206 -
082207 -
082208 -
082209 -
082210 -
082211 -
082212 -
082213 -
082214 -    -if @0 > 0 -goto endT
082216 -        ..
082217 -       Look for 1dot and space until all have been processed and then
082218 -       go end it.
082220 -     ..
082221 -    loc_cur 0 5
082222 -    -if @47 = 2 loc_cur 0 10
082223 -
082224 -       Position cursor in an editor file on col 5 so that outline with
082225 -       a dot must begin on that column.  This is needed to avoid a
082226 -       complex programming to avoid processing SDS macro files.
082228 -        ..
082229 -       SDS records start cursor on left margin for date entry to right
082230 -       of line number field.
082232 -  ..
082233 - Line 950, ref OF 2 ZW6I, -label lpn1 in 000000 about 60 lines below
082234 -
082235 -    z 5 41
082236 -    fr /. /
082237 -    rel_cur 0 -1
082238 -
082239 -       Set zone 1 more than needed for locate command because fr needs
082240 -       an extra space to find the same stuff that locate finds.
082242 -        ..
082243 -       Move cursor to right of target location where there may an
082244 -       outline structure, and backup 1 position to set up for
082245 -       capturing location data.
082247 -     ..
082248 -    setcur 1 0
082249 -    setcnt 20 @1
082250 -    addcnt 20 1
082251 -
082252 -       Capture cursor position of the dot location to set right margin
082253 -       for zoning to find another entry in this list.  Save this value
082254 -       in counter 20 and increase it by one, so the step later in the
082255 -       process of searching for segmented outline items can be located
082256 -       by zoning for the dot and a space.
082258 -  ..
082259 - Line 960, ref OF 2 G37G, -label lpn1 in 000000 about 60 lines below
082260 -
082261 -    setcnt 18 @1
082262 -    subcnt 1 2
082263 -    z @1 @20
082264 -
082265 -       Save cursor position for the location of the dot in another
082266 -       counter for use later to set a zone for dot space that looks for
082267 -       segmented outline structures, when the end of the current
082268 -       segment is reached, based on using macro 1361, explained below.
082269 -       ref SDS 10 I94O  Subtracting 2 from counter with the location of
082270 -       the dot widens the zone so that a structure of 4 columns must
082271 -       all be blank to establish an continuing outline structure.  Set
082272 -       zone 4 columns wide, 2 in front of the dot, the dot and the
082273 -       space behind the dot, that are used with nb command later to
082274 -       find the next element in the outline/list.
082276 -  ..
082277 - Line 970, ref OF 2 EG8H, -label lpn1 in 000000 about 60 lines below
082278 -
082279 -    rel_cur 0 -5
082280 -    savescr 4
082281 -    macro 1361
082282 -
082283 -       The cursor is positioned on the space behind the dot, so backup
082284 -       5 positions, save this location, and run macro 1361 to read 6
082285 -       characters for evaluating if the dot space is an actual outline
082286 -       structure, based on criteria set out above. ref SDS 10 W18M
082287 -       Backing up 5 columns, means that outlining must begin with the
082288 -       dot at least on column 5 in the editor, explained above,
082289 -       ref SDS 10 TC6H, otherwise rel_cur 0 -5 fails.  SDS records do
082290 -       not have this limitation, because outlining occurs beyond the
082291 -       line number field beginning on column 10, so backing up 5
082292 -       columns does not cause processing to fail in SDS.
082293 -
082294 -
082295 -
082296 -
082297 -
082298 -
082299 -
082300 -
082301 -
082302 -
082303 -
082304 -
082305 -
082306 -
0824 -