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


S U M M A R Y


DIARY: January 14, 2003 12:36 PM Tuesday; Rod Welch

SDS improved converting internal to external links for new tasks.

1...Summary/Objective
2...004 - Improve Convert Internal to External Anchor
3...Headlines Off Set Descriptions Directly Below Headlines
4...Follow Up Blank for Summary/Objective Segment


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

CONTACTS 

SUBJECTS
New Task or Link records
Planning, Concept
Convert 0 Links to SDS Ref Links

0405 -
0405 -    ..
0406 - Summary/Objective
0407 -
040701 - Follow up ref SDS 15 0000, ref SDS 11 0000.
040702 -
040703 - Looks like we have another problem.  Converting local/internal links
040704 - rff SDS 0 .... to trans-record/external links needed when a record is
040705 - converted into a Scheduled task linked back to the original record, is
040706 - not working for a list.  The code change today seems to fix the
040707 - problem.  Also, improved formatting of automatic follow up links so
040708 - that records display better in a browser, per below. ref SDS 0 SE4H On
040709 - 030108 Gary reported a new problem when converting a diary to a
040710 - Schedule and there is no primary follow up for the Summary/Objective
040711 - segment. ref SDS 0 L65G  Adding a little more intelligence, seems to
040712 - solve the problem. ref SDS 0 8O3I
040713 -
040714 -
040715 -
040716 -
040718 -  ..
0408 -
0409 -
0410 - Progress
0411 -
041101 - 004 - Improve Convert Internal to External Anchor
041102 -
041103 - Discovered the problem when the record on 030108 was used to make a
041104 - follow up task for doing some action items. ref SDS 17 E06U
041105 -
041106 - Actually, this particular record had a unique/rare problem that may
041107 - have compounded the problem we need to fix, because there was
041108 - extraneous data beyond the standard narrative field off-screen in
041109 - about column 100.  Removing this extraneous data, still showed a
041110 - problem because the ordering column seems to be removed by the justify
041111 - op, macro 49, that is used to assemble the text after converting
041112 - internal to external links, which is necessary because sometimes the
041113 - external link line length is longer by one char than the length of an
041114 - internal link.  To fix this we need to develop code that
041116 -  ..
041117 - Line 910, ref OF 1 4049, -label cuRs2 in 004
041118 -
041119 -    This is where the link conversion subroutine is called, and is
041120 -    reported for context; there is not work at this location.
041121 -
041123 -  ..
041124 - Line 1250, ref OF 1 6423, -label 000ov in 004
041125 -
041126 -    This is where the op begins to convert an internal to an external
041127 -    link.  There is no work at this location.
041129 -  ..
041130 - Line 1360, ref OF 1 EO6L, -label curLin in 004 about 50 lines below
041131 -
041132 -    setcnt 0 0
041133 -    fl /../
041134 -    -if @0 = 0 -goto cSDS0b
041135 -
041136 -        Added this code to run after the internal link is converted to
041137 -        an external link, and before justifying the para, look for
041138 -        symbol that identifies a list, and if the line is part of a
041139 -        list, do not continue to get the left margin and justify the
041140 -        line, but instead, go look for another internal link.
041142 -     ..
041143 -    macro 54
041144 -    macro 49
041145 -    -goto cSDS0b
041146 -
041147 -        This code gets the left margin and justifies the line with
041148 -        other contiguous lines, then looks for another internal link.
041149 -
041150 -
041151 -
041152 -
0412 -

SUBJECTS
Follow Up Links Below Headlines Linked to Same Headline in Originatin

050301 -  ..
050302 - Headlines Off Set Descriptions Directly Below Headlines
050303 -
050304 - Follow up ref SDS 16 5481.
050305 -
050306 - On 980504 created code that automatically links new record segments to
050307 - the corresponding segment in the originating record. ref SDS 16 BH5F
050309 -  ..
050310 - Today, there is a slight problem.  When the headline is offset from
050311 - the left margin, and when there is not already a Follow up link, which
050312 - occurs when creating a new record, the description sometimes needs to
050313 - be in the default left margin rather than the offset left margin, as
050314 - shown on 030111. ref SDS 18 YN71
050316 -  ..
050317 - Previously, we left a blank when the left margin of text was offset to
050318 - the left of the headline.  However, it turns out that 070405 processes
050319 - this code to produce a better appearance if there is no blank between
050320 - the text and the headline, because the underline is removed by 070405.
050321 - This creates a blank line.  If there is another blank line, the
050322 - spacing appears uneven.  So, this is a lot of fuss to the line spacing
050323 - uniform for an occassional issue.
050324 -
050326 -  ..
050327 - Line 1015, ref OF 1 4810, -label lnkthm, in 004
050328 -
050329 -    Here is where the code to create follow up links for headlines
050330 -    begins, and starts with the default anchor 0001 for the
050331 -    Summary/Objective.
050332 -
050334 -  ..
050335 - Line 1470, ref OF 1 2150, -label xx98 in 004
050336 -
050337 -    Here the code is processing other headlines on the first pass, and
050338 -    there is no problem yet.
050339 -
050341 -  ..
050342 - Line 1650, ref OF 1 4306, -label hdgO in 004
050343 -
050344 -    Here the code is processing other headlines on the 2nd pass to make
050345 -    links back to the same headlines from the new record, and this is
050346 -    where the problem occassionally occurs.
050348 -  ..
050349 - Line 1820, ref OF 1 SB6N, -label nhLn in 004
050350 -
050351 -    On 2nd pass, we go read the anchor to use it for linking back to
050352 -    itself.  Then investigate the line below the underline.
050353 -
050354 -    fr/Follow up/
050355 -    -if @0 = 0 -goto folup
050356 -
050357 -       If there is already a follow up line, then we go modify it, and
050358 -       if not then....
050359 -
050360 -          Cursor is on the line below the underline on column 8.
050361 -
050362 -             Several conditions can exist....
050363 -
050364 -             1.  Line is blank.
050365 -
050366 -             2.  Narrative text is below the underline.
050367 -
050368 -                 Text can be on the left margin of the headline, or
050369 -                 it can be offset left or right.
050370 -
050371 -
050372 -    setlen 2 0
050373 -    -if @2 > 9 -goto mtext
050374 -
050375 -       Get line length.  If it is greater than 9, it is not blank, so
050376 -       go work on the text.
050377 -
050378 -
050379 -    popc
050380 -    -goto dupL
050381 -
050382 -       The Line is blank, so restore cursor to left margin of the
050383 -       underlined heading, and go create a Follow up line link.
050384 -
050386 -      ..
050387 -    label mtext
050388 -    aw
050389 -    macro 34
050390 -    popc
050391 -
050392 -       The line is not blank; aw finds the left margin, then split the
050393 -       text line within margins so there is a blank line below the
050394 -       underlined heading.  Pop the cursor back to the left margin of
050395 -       the underlined heading, because that is where the Follow up
050396 -       link is to be entered.
050397 -
050398 -       Rest of code is okay.
050399 -
050400 -
050401 -
050402 -
0505 -

SUBJECTS
F1 Shift F1 Failed to Create a New Record Correctly

0803 -
080401 -  ..
080402 - Follow Up Blank for Summary/Objective Segment
080403 -
080404 - Follow up ref SDS 17 QQ3H.
080405 -
080406 - On 030108 Gary reported a problem where the SDS format fails when
080407 - using a diary record to make a new task, ref SDS 17 QQ3H, and the
080408 - condition looks like...
080409 -
080410 -   0401 - Summary/Objective
080411 -   0402
080412 -   040201 - 0001 Follow up
080413 -   040202 -
080414 -   040202 -
080415 -
080416 - When F1 Shift F1 is used the following occurs....
080417 -
080418 -   0401 - Summary/Objective
080419 -   0402
080420 -   040201 - 0001 Follow up rff SDS 2 0000
080421 -   040202 -
080422 -   040203 - 0001 Follow up
080423 -   040204 -
080424 -
080425 - When what should occur is....
080426 -
080427 -   0401 - Summary/Objective
080428 -   0402
080429 -   040201 - 0001 Follow up rff SDS 1 0000
080430 -   040202 -
080431 -   040204 -
080432 -
080434 -  ..
080435 - Line 1015, ref OF 1 4810, -label lnkthm, in 004
080436 -
080437 -    Per above, here is where the code to create follow up links for
080438 -    headlines begins, and starts with the default anchor 0001 for the
080439 -    Summary/Objective. ref SDS 0 SE6G
080440 -
080441 -    On the first pass nothing occurs.
080442 -
080444 -  ..
080445 - Line 890, ref OF 1 4200, -label bPno_Mo in 004
080446 -
080447 -    This is where the new record is linked to the diary record by
080448 -    linking to itself, since at this point they are the same file.
080450 -     ..
080451 -    top
080452 -    setgbl 224 1
080453 -    macro 1012
080454 -
080455 -       Start at top of the record, set a special flag for an internal
080456 -       link and call macro 1012 to create a link in the Reference
080457 -       field.
080459 -        ..
080460 -       So, now we have something for the thing to link to, and is rfff
080461 -       SDS 1, which is what we need.
080463 -        ..
080464 -       This is where the citation number is developed in counters 115
080465 -       and 116.  The next code in 000006 has an adjustment to solve
080466 -       part of the problem. ref SDS 0 AT3I
080467 -
080469 -  ..
080470 - Line 2500, ref OF 2 LS4N, -label fbot9 in 000006
080471 -
080472 -    chrcnt 115 0
080473 -    rel_cur 0 1
080474 -    chrcnt 116 0
080475 -    -if @1 > 32 addcnt 116 1
080477 -        ..
080478 -       This code in 000006 for macro 1012 called by 004 to create the
080479 -       link, sets counters 115 and 116 to establish the citation
080480 -       number.  It has typically automatically increamented these
080481 -       counters, because links are placed below the last entry, and
080482 -       typically there is always something there.  Gary's records, and
080483 -       new users typically will not have anything in the citations. The
080484 -       code above this part determines that last entry is blank, and so
080485 -       we add a conditional today, that says only increment if the line
080486 -       is not blank, because in that case the citation is put on the
080487 -       next line.
080489 -        ..
080490 -       Hopefully, this is a long story that solves this little problem
080491 -       that will go away as new uses have more prior records to make
080492 -       new records.
080493 -
080495 -  ..
080496 - Line 990, ref OF 1 3004, -label bPno_Mo in 004 about 130 lines below
080497 -
080498 -    -gosub lnkthm
080499 -
080500 -       This code should be where the problem occurs.
080501 -
080503 -  ..
080504 - Line 1090, ref OF 1 3L9O, -label lnkthm in 004 about 40 lines below
080505 -
080506 -    debug testing here.
080507 -
080509 -  ..
080510 - Line 1230, ref OF 1 QRQY, -label xful0a in 004
080511 -
080512 -    This code is broke, or more precisely, it needs a little more
080513 -    intelligence to recognize when the condition occurs that a rfff SDS
080514 -    does not exist, but there is an anchor and Follow up string on the
080515 -    line with no citation.
080516 -
080517 -    chrcnt 1 0
080518 -    -if @1 != 60 -goto sful01
080519 -    ins_text ! 0001 Follow up rff SDS!
080520 -    -goto ffubso
080522 -        ..
080523 -       Code has already determined there is no rff SDS on the line, and
080524 -       that the line below is blank, so now it checks to see if there
080525 -       is an anchor symbol, and if so it creates the standard string,
080526 -       then goes and runs the code that fills out the stuff for a link.
080527 -
080528 -       Testing seems to show this solves the problem.
080529 -
080530 -
080531 -
080532 -
080533 -
080534 -
080535 -
080536 -
080537 -
080538 -
080539 -
080540 -
080541 -
080542 -
080543 -
080544 -