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


S U M M A R Y


DIARY: September 20, 1993 05:21 AM Monday; Rod Welch

Complete work on doc log to open SDS record for current day.

1...Summary/Objective
2...Special Bin
3...Evaluate Only Current Records
4...Options & Limitations
5...Solution
6...Implementation
7...Multiple Users
.....Transferring records
8...Future Improvements


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

CONTACTS 

SUBJECTS
SDS Reports, Doc Log
Dir Structure and Filenames
Concepts and Plans, Documents
Doc Log Current Date Data File, F2

0706 -    ..
0707 - Summary/Objective
0708 -
070801 - Follow up ref SDS 1 0000.
070802 -
070803 - Replaced a great deal of work on 930911, ref SDS 1 NI4F, to improve
070804 - the range and speed of reporting on documents, and avoid failure when
070805 - User's do not create new diary records for performed tasks.  We now
070806 - post a special current document inventory file, using existing contact
070807 - or subject posting code, modified to call new macro 1813 in 000009.
070808 -
070809 - We want to know what documents have been issued, as soon as they are
070810 - issued, so the next person can determine the document number to
070811 - assign.
070812 -
070813 -     [On 931006 nearly all of the work done today was replaced, but
070814 -     issues addressed today are important. ref SDS 5 7H7O
070815 -
070816 -
070817 -
070818 -
070819 -  ..
0709 -
0710 -
0711 - Analysis
0712 -
071201 - This objective can be met in part by assigning a unique user string to
071202 - the filename, such as initials.  If a User assigns a filename that has
071203 - already been issued, then when they press <Enter>, a document will
071204 - show up instead of a letter format file.
071205 -
071206 -  ..
071207 - Special Bin
071208 -
071209 - The work done yesterday at ref SDS 4 line 43, was only capturing the
071210 - documents issued by current user.  To get all users with that code
071211 - design, would have required a lot more code and would have greatly
071212 - reduced the speed of the DL reporting process, because it would have
071213 - had to analyse every User's current diary records.
071214 - ..
071215 - I think documents issued today, need to go into a special
071216 - general directory, so Doc Log report system does not have to examine
071217 - every User's current directory to find documents issued today.
071218 - Normally, on project work, there would only be perhaps 4 or 5 people
071219 - on the system, and so the search might take 30 seconds, but if there
071220 - are 20, it could take several minutes.  We do not want to wait around
071221 - to find out what we need to know in order to do our work.
071222 -
071223 -  ..
071224 - Evaluate Only Current Records
071225 -
071226 - Up until today, to speed the process, we were only processing records
071227 - reported in the Schedule as being diaries, i.e. performed tasks, those
071228 - with a dot status.  This procedure greatly speeds the process relative
071229 - to evaluating all records in the 00 schedule directory, but if a User
071230 - does not open a diary in the Schedule, then no actual SDS record is
071231 - created, and Supersort stops processing when it finds a missing record
071232 - in a list, so this condition prevents getting any current Dog Log
071233 - entries, if even one record does not exist.
071234 -
071235 -      This problem occurs a lot for some users.  They enter tasks in
071236 -      the Schedule, set status as "diary", but do not report what is
071237 -      accomplished and do not make an actual SDS record.  That appears
071238 -      to be the reason the Doc Log report failed at Denis' office the
071239 -      other day, ref SDS 2 line 95.
071240 -
071241 -  ..
071242 - Options & Limitations
071243 -
071244 - We could create a new directory to store files by User that contain
071245 - documents issued or received today.  This could be created when a new
071246 - document is opened.  A way is needed to delete a document from this
071247 - inventory, if we decide not to issue it.
071248 -
071249 -      It is not essential that this method be completely comprehensive,
071250 -      since it is only used on current date.  The next day, all of the
071251 -      reporting factors are fully applied.
071252 -
071253 -
071254 - We could post a current DL inventory file with all issued and received
071255 - documents in a current SDS record when a document is opened. This is
071256 - not as comprehensive as needed, especially for received documents,
071257 - since we may not open them.
071258 - ..
071259 - Received documents may not even be loaded onto the disk and so
071260 - cannot be opened.  We need a transparent means to get these loaded
071261 - into a comprehensive inventory file, and deleted when necessary.
071262 -
071263 -
071264 -  ..
071265 - Solution
071266 -
071267 - A better approach might be to post the inventory file at the time
071268 - subjects and contacts are entered for a document. This would omit
071269 - entries in the cross reference fields, which is typically entered
071270 - after contacts and subjects are entered, but that stuff would be
071271 - available the next day.
071272 -
071273 - This means we would get it line by line.
071274 - ..
071275 - Where do we put it?
071276 -
071277 -     e: sd 08 00000 06 00002
071278 -
071279 -
071280 - We have to start this file over every day.  Open it on first pass and
071281 - make sure if it has any contents, the date is today, otherwise delete
071282 - it, and start over.
071283 -
071284 -
071285 -  ..
071286 - Implementation
071287 -
071288 - Have to save following files to keep what has been created the past
071289 - few days, ref SDS 4 line 041401:
071290 -
071291 -                     c: 01 04 0470410
071292 -                     c: 01 04 061130
071293 -                     c: sd 03 000004
071294 -                     c: sd 03 000006
071295 -                     c: sd 03 000008
071296 -
071297 - ..
071298 - Created macro 1813 in 0000009 to accomplish the objective.
071299 - Called this new macro in both 0000009 when a contact is entered, and
071300 - in macro file 04101 when a subject is posted to a DL from a Control
071301 - Field line.
071302 -
071303 -
071304 -  ..
071305 - Multiple Users
071306 -
071307 - Still have problem of providing access to other User's SDS records,
071308 - and to figure out how to avoid disclosing personal documents.
071309 -
071310 -    We may be able to develop a table that provides access to specified
071311 -    directories but not to others, or we could put a flag on some
071312 -    documents so they are excluded from the document log, unless the
071313 -    User ID matches that of the person calling the report.  This would
071314 -    enable Users to avoid having some of their documents known to
071315 -    others.  That still does not provide levels of access.  Maybe a
071316 -    better way is with Subject.  When someone does an "All records,
071317 -    they get only their own, and any subjects for which they have
071318 -    authorized access.  This gets back to a table that permits access
071319 -    to various subjects.
071320 -
071321 - ..
071322 - This is not real bad, since other users are blocked from
071323 - changing someone else's records.
071324 -
071325 -
071326 -
071327 -
0714 -

SUBJECTS
SDS Reports, Doc Log
Dir Structure and Filenames
Doc Log Current Date Data File, F2

100501 -  ..
100502 -
100503 - Began implementation of ideas and objectives explained above.
100504 -
100505 -
100506 -  ..
1006 -
1007 -
1008 - 000009
1009 -
100901 - Line 1655 -label orgzDL, removed code that posts record "time" after
100902 - contact ID data in column 340.  This code was created at ref SDS 4
100903 - line 043001.
100904 -
100905 -     Doc Log operations are identified by 90 = 1128.
100906 -
100907 - ..
100908 - Line 1730 - label DcLog, tried debug 100, here to figure out why
100909 - the Knecht record would not load correctly.  Might be caused by lack
100910 - of doc log field for organization or a title line.
100911 -
100912 -
100913 -
100914 - Line 2130 - purge MSG, call new macro 1813, to capture the DL line and
100915 - the SDS record header, then post to new doc log inventory file:
100916 -
100917 -                    e: sd 08 00000 06 00002
100918 -
100919 -  ..
100920 - Line 3595 - entry 1813, moved the code to do the above to this line
100921 - number, and made it a compiled macro, so it can be called by 04101 to
100922 - also be run when a subject if loaded.
100923 -      ..
100924 -      This code still only lets us enter one extra contact line
100925 -      and one extra subject line.  It deletes duplicate lines based on
100926 -      the filename and type string.  I may be able to figure a simple
100927 -      algorithm later to accept multiple contact and subject lines. For
100928 -      today, will not consider it any further.
100929 -
100930 -      Changed it so prior diary records that are updated or modified,
100931 -      are not loaded into inventory file.
100932 -
100933 -
100934 -
100935 -
100936 -  ..
1010 -
1011 -
1012 - 061130
1013 -
101301 - Line 1230 - setcnt 115 0, we see if current date was included in
101302 - selection spec, and set flag 82 997 to show it was.
101303 -
101304 -
101305 - Line 1360 - if @82 != 997, this is where the main code begins to
101306 - extract documents created today for inclusion in DL reports.  Should
101307 - have major surgery here.
101308 -     ..
101309 -     For now, I made it just get everybody.  Later, we may be able to
101310 -     do some weeding out by reading the specified User's in 06113 and
101311 -     deleting those not covered.  That should not be too difficult.
101312 -
101313 -     Similarly, if a global user is specified, we can delete any that
101314 -     do not meet the spec.
101315 -
101316 -
101317 -      ..
101318 -     Transferring records
101319 -
101320 -     This presents a problem, but not a big one.  This thing only
101321 -     lasts one day.  The next day everyone's stuff is archived and in
101322 -     the regular pointer file.  It seems quite rare that someone will
101323 -     write a letter, download the SDS records to another computer and
101324 -     then need to do a doc log report that depends on having current
101325 -     DL data.
101326 -
101327 -
101328 -  ..
101329 - Future Improvements
101330 -
101331 - I think we can add another level of selection for User ID's, similar
101332 - to that for main data base, and go through a sequence of extracting
101333 - each one specified.
101334 -
101335 -
101336 -
101337 -
101338 -  ..
1014 -
1015 -
1016 - 04101
1017 -
101701 - Line 235 - label no_fN, this is the macro that does cross referencing
101702 - and posts subjects to DL entry lines; at this location, call new macro
101703 - 1813 from 000009 to post composite DL inventory file. This creates
101704 - quite a bit of redundancy, but should be enough to insure this enables
101705 - us to get multiple subjects and contacts, when those are used.
101706 -
101707 -      We could put all the code in this macro file 04101, and remove it
101708 -      from 000009, to save Medit size, but that would slow the thing
101709 -      down quite a bit.
101710 -      ..
101711 -      Right now, the process time is not even noticable.
101712 -
101713 -
101714 -
101715 -
101716 -  ..
1018 -
1019 -
1020 - 000004
1021 -
102101 - Line 120 - removed code that saved time to globals, created at
102102 - ref SDS 4 line 042205.
102103 -
102104 -
102105 -
102106 -  ..
1022 -
1023 -
1024 - 047041
1025 -
102501 - Line 115 - removed code that captures record header, created at ref
102502 - SDS 4 line 041801.
102503 -
102504 -
102505 -
102506 -
102507 -
102508 -
102509 -
102510 -
102511 -
1026 -