home *** CD-ROM | disk | FTP | other *** search
/ Computerworld: Vánoce 97 / Computerworld_1997-12_cd.bin / rocenka / notes4wm / data / doclib4.ntf (.txt) < prev    next >
Encoding:
Lotus Notes Storage Facility  |  1996-04-05  |  389.5 KB  |  2,995 lines

  1. Document Library (R4)
  2. #1StdR4DocLib
  3. Document Library (R4
  4. FOLDER_DIRECTORY_OBJECT
  5. My Favorite Documents
  6. CN=Ann Innis/O=Iris
  7. *Nb:O
  8. i*`Lg
  9. Lotus Notes
  10. i*`Lg
  11. $Modified
  12.     1S2S3S
  13. $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O
  14.     0SL1S3724
  15. $TITLE
  16. CN=Catherine Duffy/O=Iris
  17. ##########################
  18. Lotus NotesMark/Unmark Document As Expired003
  19. #########################################
  20. Process Late Reviews
  21. Selects those documents which are in review and have due dates which have passed.  Based upon the review style of the document, it then either moves it along to the next reviewer, marks it as complete, or simply notifies the current reviewer(s) that their review is overdue.1
  22. Lotus NotesSfL3
  23. ########################
  24. CN=Catherine Duffy/O=Iris##########
  25. Debbie Branco#
  26. CN=Catherine Duffy/OU=NAHQ/O=LotusCN=Catherine Duffy/O=IrisLotus NotesCN=Catherine Duffy/O=IrisLotus NotesCN=Catherine Duffy/O=IrisLotus Notes5
  27. +##################################################
  28. Lotus Notes
  29. #####
  30. $SUBVIEWBy _Author|By Author
  31. CN=Catherine Duffy/O=Iris
  32. Scope
  33. Private
  34. ExpireDate
  35. _ViewIcon
  36.     2S3S4S6S8S9S12S14S
  37. DocumentG
  38. Status
  39. StatusY
  40. Subject
  41. $VersionOpt
  42. Subject
  43.   (Original document in review cycle)
  44. ReviewStyle
  45. ParallelG
  46. Subject
  47.   (Reviewed by 
  48. LastEditor"
  49. Subject
  50.   (Reviewed by 
  51. PreviousReviewers
  52. Archive
  53. Subject
  54. Subject
  55. (Response to 
  56. OriginalSubject
  57. Subject
  58.  (Response to "
  59. OriginalSubject
  60.     6S9RS4E12S13S14S15S20RS8E22RS4E27RS8E28S29S31RS4E35S38RS9E39S40S41S42S2E43S44S46RS4E47S48S49S50S56S57S60R64S67RS4E69R70S71S73RS5E74S75S76S79R80S81S82S83S84S85S
  61. From$42$36$43$Conflict
  62.     L1S2E1
  63. From$36
  64. $36$43
  65. $43Y########################################
  66. Debbie Branco#
  67. Locked
  68.     1S2S3S
  69. DocumentAuthors
  70. CurrentReviewers
  71.     0R1S2S3S8S9S11S13S
  72.     0S0E
  73. Notes Product Development
  74. )I^-.
  75. PURSAF
  76. Notes Domain Certificate
  77. PURSAF
  78. vDhFV
  79. S_)tW'
  80. aY*]c
  81. PURSAF
  82. San9e
  83. Lotus Development Inc
  84. 0wmS(
  85. PURSAF
  86. C$)NqF
  87. ISd93
  88. O=Iris
  89. O=Iris
  90. x>_/^
  91. PURSAFO
  92. .?    Kz"
  93. O=Iris
  94. CN=Catherine Duffy/O=Iris
  95. PURSAFO
  96. FDR.I
  97. $TITLE
  98. ExpireError
  99. This 
  100. form"
  101.  cannot be marked as expired.
  102.     1S2S3S4S5S6S
  103. ExpireDate
  104. PROTECTFROMARCHIVEh
  105. Protected Form
  106. ExpireError
  107. ExpireDate
  108. Expire Date
  109. This document was marked expired on 
  110. ExpireDateV
  111. .  Would you like to unmark it?
  112. ExpireDate
  113.     0R1S2S3S5R10S22R23S24S26S28S34S36S37S38S42S43S46S48S
  114.     0S0E
  115. '++LotusScript Development Environment:2:5:(Options):0:66
  116. Option Public
  117. '++LotusScript Development Environment:2:5:(Forward):0:1
  118. Declare Sub Initialize
  119. Declare Sub SendReminder(EmailType)
  120. Declare Sub MoveToNextReviewer
  121. '++LotusScript Development Environment:2:5:(Declarations):0:10
  122. Dim s As NotesSession
  123. Dim db As NotesDatabase
  124. Dim view As NotesView
  125. Dim documents As NotesDocumentCollection
  126. Dim note As NotesDocument
  127. Dim parent As NotesDocument
  128. Dim emaildoc As NotesDocument
  129. Dim dt As NotesDateTime
  130. Dim item As NotesItem
  131. Dim rtitem As NotesRichTextItem
  132. Dim CurrentReviewers As Variant
  133. Dim FutureReviewers As Variant
  134. Dim ReviewSeq As Variant
  135. Dim ReviewWindow As Variant
  136. Dim NewList() As Variant
  137. Dim ListMax As Integer
  138. Dim NextReviewer As Variant
  139. Dim OldDueDate As Variant
  140. '++LotusScript Development Environment:2:2:Initialize:1:10
  141. Sub Initialize
  142.      
  143.      Set s = New NotesSession    
  144.      Set db = s.CurrentDatabase
  145.      Set dt = New NotesDateTime("Today")    
  146.      Set documents = db.Search("@Today => @Date(DueDateTime) & Status = ""In Review""", Nothing, 0)
  147.      If documents.Count = 0 Then Exit Sub
  148.      
  149.      For d = 1 To documents.Count
  150.           Set note = documents.GetNthDocument(d)
  151.           ReviewWindow = note.ReviewWindow      
  152.           Select Case ReviewWindow(0)
  153.           Case "MoveOn"
  154.                MoveToNextReviewer
  155.                SendReminder("WindowExpired")
  156.                If ReviewSeq = "Serial" Then
  157.                     If FutureReviewers(0) <> "None" Then SendReminder("NotifyNextReviewer")
  158.                End If
  159.           Case "Reminder"
  160.                CurrentReviewers = note.CurrentReviewers
  161.                SendReminder("Reminder")
  162.           End Select
  163.           If note.IsResponse Then
  164.                note.RemoveItem("DueDateTime")
  165.                note.Save True, True
  166.           End If
  167.      Next
  168.      
  169. End Sub
  170. '++LotusScript Development Environment:2:2:SendReminder:1:8
  171. Sub SendReminder(EmailType)
  172.      
  173.      If note.IsResponse Then Exit Sub
  174.      
  175.      Set maildoc = New NotesDocument(db)
  176.      Set rtitem = New NotesRichTextItem(maildoc, "Body")
  177.      maildoc.InheritedSubject = note.Subject
  178.      maildoc.InheritedDbTitle = db.Title
  179.      
  180.      Select Case EmailType
  181.      Case "Reminder"
  182.           maildoc.SendTo = CurrentReviewers
  183.           maildoc.Subject = "Overdue Document Review"
  184.           maildoc.FlowStatus = "Please complete your review of this document.  You will continue to recieve these notifications until it is complete."
  185.           Call rtitem.AppendDocLink(note, "DocLink to Overdue Document")
  186.           maildoc.DueDateTime = OldDueDate
  187.      Case "WindowExpired"
  188.           maildoc.SendTo = CurrentReviewers
  189.           maildoc.Subject = "Document Review Period has Expired"
  190.           maildoc.FlowStatus = "The time limit for your review of this document has expired."
  191.           Call rtitem.AppendDocLink(note, "DocLink to Overdue Document")
  192.           maildoc.DueDateTime = OldDueDate
  193.      Case "NotifyNextReviewer"
  194.           maildoc.SendTo = note.CurrentReviewers
  195.           maildoc.Subject = "Document Requires Review"
  196.           maildoc.FlowStatus = "Please take the time to review this document before the date shown below."
  197.           Call rtitem.AppendDocLink(note, "DocLink to Document requiring review")
  198.           maildoc.DueDateTime = note.DueDateTime
  199.      End Select
  200.      
  201.      maildoc.Form = "Bookmark"
  202.      On Error Resume Next
  203.      Call maildoc.Send (False)
  204.      
  205. End Sub
  206. '++LotusScript Development Environment:2:2:MoveToNextReviewer:1:8
  207. Sub MoveToNextReviewer
  208.      
  209.      ListMax = 0
  210.      Set dt = New NotesDateTime("Today")
  211.      ReviewStyle = note.ReviewStyle
  212.      position = Instr(ReviewStyle(0), ".")
  213.      ReviewSeq = Left(ReviewStyle(0), position - 1)
  214.      Versioning = Mid(ReviewStyle(0), position + 1)
  215.      OldDueDate = Datevalue(note.DueDateTime(0))
  216.      dt.LSLocalTime = OldDueDate
  217.      ReviewerLogEntry = "Review period ended on " & Format(dt.LSLocalTime, "Short Date") & " without a completed review by "
  218.      dt.SetNow
  219.      
  220.      Select Case ReviewSeq
  221.      Case "Parallel"
  222. 'For Response Reviews, we maintain the status in the parent so remove these
  223.           If note.IsResponse Then 
  224.                note.RemoveItem("PreviousReviewers")
  225.                note.RemoveItem("CurrentReviewers")
  226.                note.RemoveItem("FutureReviewers")
  227.           Else
  228. 'If it is a parent, move CurrentReviewers to PreviousReviewers and set CurrentReviewers to "None"               
  229.                CurrentReviewers = note.CurrentReviewers
  230.                LateReviewers = Evaluate("@Implode(CurrentReviewers; "", "")", note)
  231.                Set item = note.GetFirstItem("ReviewerLog")
  232.                item.AppendToTextList(ReviewerLogEntry & LateReviewers(0))
  233.                PreviousReviewers = note.PreviousReviewers
  234.                If PreviousReviewers(0) = "None" Then
  235.                     note.PreviousReviewers = CurrentReviewers
  236.                Else
  237.                     Set item = note.GetFirstItem("PreviousReviewers")
  238.                     item.AppendToTextList(CurrentReviewers)
  239.                End If
  240.                note.CurrentReviewers = "None"    
  241.           End If
  242.           note.InProcess = "None"
  243.           note.Status = "Review Complete"
  244.           note.RemoveItem("DueDateTime")
  245.           note.DocumentAuthors = note.From
  246.      Case "Serial"
  247.           CurrentReviewers = note.CurrentReviewers         
  248.           Set item = note.GetFirstItem("ReviewerLog")
  249.           item.AppendToTextList(ReviewerLogEntry & CurrentReviewers(0))
  250.           PreviousReviewers = note.PreviousReviewers
  251.           If PreviousReviewers(0) = "None" Then
  252.                note.PreviousReviewers = CurrentReviewers(0)
  253.           Else              
  254.                Set item = note.GetFirstItem("PreviousReviewers")
  255.                item.AppendToTextList(CurrentReviewers(0))
  256.           End If
  257.           FutureReviewers = note.FutureReviewers
  258. 'Put the first person in the future reviewers list in current reviewer and remove that person from future reviewers list
  259.           note.CurrentReviewers = FutureReviewers(0)
  260.           If Ubound(FutureReviewers) = 0 Then
  261.                note.FutureReviewers = "None"
  262.           Else
  263.                ListMax = Ubound(FutureReviewers) - 1
  264.                Redim NewList (ListMax)
  265.                x = 0 
  266.                For y = 1 To ListMax
  267.                     NewList(x) = FutureReviewers(y)
  268.                     x = x + 1
  269.                Next
  270.                note.FutureReviewers = NewList
  271.           End If
  272. 'Calculate when the review is due, based upon ReviewTime     
  273.           If FutureReviewers(0) = "None" Then
  274.                note.RemoveItem("DueDateTime")
  275.                note.Status = "Review Complete"
  276.                note.DocumentAuthors = note.From
  277.           Else
  278.                ReviewTime = note.ReviewTime
  279.                dt.SetNow
  280.                If Isnumeric(ReviewTime(0)) Then
  281.                     dt.AdjustDay(ReviewTime(0))
  282.                     note.DueDateTime = dt.LSLocalTime
  283.                Else
  284.                     note.RemoveItem("DueDateTime")
  285.                End If
  286.                Redim NewList(1)
  287.                Originator = note.From
  288.                NextReviewer = note.CurrentReviewers
  289.                NewList(0) = Originator(0)
  290.                NewList(1) = NextReviewer(0)
  291.                note.DocumentAuthors = NewList
  292.           End If
  293.      End Select
  294.      
  295.      note.Save True, True
  296.      
  297. End Sub
  298. ,d    JT    
  299. CurrentReviewers
  300. Lotus Notes
  301. PURSAF
  302. Debbie2 Branco
  303. F)`b"
  304. 0|wm-
  305. PURSAF
  306. TS3+v
  307. $TITLE
  308. $AssistType
  309. $AssistLastRun
  310. $AssistDocCount
  311. $Comment
  312. $AssistFlags
  313. $AssistInfo
  314. $AssistQuery
  315. $AssistAction
  316. $AssistAction_Ex
  317. $UpdatedBy
  318. $Flags
  319. Times New Roman
  320. bullet
  321. Using Document Library
  322.     This database allows you to capture and track information about documents.
  323. Functions of the Database:
  324.     To add a document to this database
  325.     Select Create, Document.
  326.     You can enter document information in several ways: by typing it using the Notes editor, by scanning in hard copy, or by importing or attaching an electronic file. 
  327.     To respond to a document
  328.     Highlight that document in a view, then select Create, Response.
  329.     To respond to a response
  330.     Highlight the response you wish to respond to, then select Create, Response to Response.
  331.     To flag a document as Private:
  332.     You can use the "Mark Private" and
  333.     "Mark Public" actions in the template to control whether anyone other than yourself can read a specific document.  For example, if you have not completed the writing of a particular document, you can click the "Mark Private" action and others will not be able to see the document.  When you complete the document, you can click the
  334.     "Mark Public"
  335.     action to make it available for others to read.  If a document is marked private after it has been submitted for review, the document author and the reviewers will be able to read the document.e
  336. ACL Settings
  337.     This application was designed with the intention that all users except the manager should have Author access.  If they have editor access, the review cycle may not function correctly.t
  338. Features
  339.     Document Review Cycle:
  340.     The author of a document has the option of setting up a document review cycle for that document. To do so simply click on the Setup Review Cycle action button and fill in the necessary information.  b
  341.     Note:  a
  342.     Do not use 
  343.     @Domaint
  344.      when entering approver names.  Any domain added will be stripped off and may cause complications when attempting to route a request.  Also, only enter Person-names as approvers.  Group names are not supported.
  345.     Clearing a Review Cycle:
  346.     Document Library, SmartSuite 96 Library, and MS Office Library provides an action button to "Clear Review Cycle".  This is accessible only by the document's originator.  You can either use the action prior to submitting a document for review, or after submittal.  Below are the guidelines:
  347.     o    Clearing a review cycle prior to submitting for review:  
  348.     Select this if you, as originator, wish to change the review cycle settings before your reviewers receive notification.
  349.     o    Clearing a review cycle after submittal:  
  350.     If reviewers have already begun or completed their document review, their work will be preserved.  If reviewers were notified to review a document and they have not yet begun the review, they will receive a courtesy notice that they are no longer required to conduct a review.
  351.     Document Library Review Styles:
  352.     Serial Review:
  353.       Documents are routed for review one at a time, in sequence to the reviewers chosen by the author.
  354.     o    All edits are made within the same documente
  355.     , but an unedited copy of the original document is also saved.
  356.     Serial Review (keep all revisions):
  357.       Documents are routed for review one at a time, in sequence to the reviewers chosen by the author.
  358.     o    Edits are made within a copy of the original, 
  359.     which also includes all comments from previous reviewers
  360.     o    All old versions become response documents (as well as a copy of the original)
  361.     Document Reservations:
  362.       Requests for document review are routed in parallel (that is, all at the same time).  When one reviewer opens the document, a "file locking" occurs at the server which warns any other user who happens to edit the document that a review is in progress.  
  363.     o    Review comments or edits are made into 
  364.     a copy of 
  365.     the original document
  366.     o    As with the others, a clean copy of the original is always kept
  367.     Response Review:
  368.       Same as Document Reservations (but with no file locking).
  369.     o    Review comments or edits are saved as response documents to the original document.  
  370.     o    As with the others, a clean copy of the original is always kept
  371.     Document Archiving:
  372.     This is a process by which certain documents are removed from the current database and stored in a different database.  This keeps the document library up-to-date with only the latest topics.  Most of the Archiving activities take place from the "Archiving" view.  You must switch to this view in order to initiate archiving on a document library database.
  373.     To set up archiving on any 
  374.     document library S
  375.     database, switch to the Archiving view and click the action called "Setup Archive".  The Archive Profile appears.  This document contains criteria that the user specifies for archiving topics in a R
  376.     document library 
  377.     (e.g., inactive after 'x' days, or expired after 'x' days).  The archive database is automatically created when the Profile is saved.  The archival database filename is also specified in the Archive Profile; the title of the archive will be the title of the Document Library database followed by "(Archived)".  After the archive criteria have been specified in the Archive Profile, other agents run on the database to move the document(s).  
  378.     Mark/Unmark Document as Expired:
  379.       Marks a topic as "expired".  If the Archive Profile specifies that t
  380.     expired 
  381.     topics should be archived, the document(s) marked with this agent would fall into that criterion.  If a document is already marked as expired, this agent tells the user what the expire date was, and will ask if the user wants to un-expire it.
  382.     Periodic Archive:a
  383.       Reviews the Archive Profile and moves documents which meet the archive criteria into the archive database.  This agent is run automatically on the server; the schedule is set by the database manager/designer.
  384. Lotus Notes
  385. LV<A-
  386. PURSAF
  387. Lotus Notes
  388. LV<A-
  389. PURSAF
  390. Notes Product Development
  391. )I^-.
  392. PURSAF
  393. Qr8@=x
  394. vo"u{N%'
  395. $ACLDigest
  396.  From$42
  397. Scope
  398. Private
  399. ExpireDate
  400. _ViewIcon
  401.     2S3S4S6S8S9S12S14S
  402. $36Modified
  403. $43Title
  404. DocumentG
  405. Status
  406. StatusY
  407. Subject
  408. $VersionOpt
  409. Subject
  410.   (Original document in review cycle)
  411. ReviewStyle
  412. ParallelG
  413. Subject
  414.   (Reviewed by 
  415. LastEditor"
  416. Subject
  417.   (Reviewed by 
  418. PreviousReviewers
  419. Archive
  420. Subject
  421. Subject
  422. (Response to 
  423. OriginalSubject
  424. Subject
  425.  (Response to "
  426. OriginalSubject
  427.     6S9RS4E12S13S14S15S20RS8E22RS4E27RS8E28S29S31RS4E35S38RS9E39S40S41S42S2E43S44S46RS4E47S48S49S50S56S57S60R64S67RS4E69R70S71S73RS5E74S75S76S79R80S81S82S83S84S85S&
  428. Categori_zei
  429. _Edit Document
  430. Send Docu_ment
  431. _Forward
  432. NavigatorIH
  433. EnvName
  434. NavigatorState"
  435.     1S2S
  436. EnvName
  437. EnvName
  438. Main Navigator
  439. EnvName
  440.     0R11RS8E13RS20E14S20RS20E30RS8E32RS20E33S39RS20E44RS9E
  441. New Document,
  442. Document
  443.     0S0E
  444. Response,
  445. Response
  446.     0S0E
  447. Response to Response8
  448. Response to Response
  449.     0S0E
  450. _Move to Folder...    
  451. _Remove from Folder...
  452. Review Status|Review Status
  453. CN=Catherine Duffy/O=Iris
  454. Scope
  455. Private
  456. ExpireDate
  457. _ViewIcon
  458.     2S3S4S6S8S9S12S14S
  459. DocumentG
  460. $VersionOpt
  461. Original by 
  462. From"
  463. ReviewStyle
  464. Review by 
  465. LastEditor"
  466. Subject
  467. Subject
  468. From"
  469.     6S9RS4E16RS9E20RS4E26RS9E27S28S2E30RS4E34R37S38S40RS5E42R43S44S46S47S48S49S50S51S
  470. CurrentReviewers
  471. FutureReviewers
  472.     5S6S8S10S
  473. Status$40$39SubjectFrom$26DueDateTime$Conflict$REF
  474. Statush
  475. Status
  476.     L1S5S6S7S8S1%
  477. StatusDueDateTime
  478. Subject$26
  479. DueDateTime$26Y########################################################
  480. $SUBVIEW($All)|($All)
  481. Lotus NotesP
  482. Scope
  483. Private
  484. ExpireDate
  485. _ViewIcon
  486.     2S3S4S6S8S9S12S14S
  487. DocumentG
  488. $VersionOpt
  489. Original by 
  490. From"
  491. ReviewStyle
  492. Review by 
  493. LastEditor"
  494. Subject
  495. Subject
  496. From"
  497.     6S9RS4E16RS9E20RS4E26RS9E27S28S2E30RS4E34R37S38S40RS5E42R43S44S46S47S48S49S50S51S
  498. Categories$51$48Subject$25From$Conflict$REF
  499. Categories$25
  500. Subject
  501. $25From
  502. From$25TYd#######################################
  503. _Archiving|Archiving
  504. Lotus Notes
  505. Archive Logs
  506. Archive Profile
  507.     6S9S11S
  508. $75$74Subject$Conflict
  509. Archive
  510.     L1S5S1(
  511. $75$74Subject
  512. Archive Logs
  513. Archive Profile
  514.     6S9S11S$74
  515. SubjectDescription&
  516. Y###############################################
  517. Main Navigator
  518. Debbie BrancoG3#################################################
  519. *Nb:O
  520. Response to ResponseResponse to Response
  521. Debbie Branco
  522. ImmediateParentSubjectOriginalSubjectBodyTimeCreatedDateFromSubject##############################
  523. ReviewOptionsReviewOptions
  524. CN=Catherine Duffy/O=IrisCD
  525. SaveChoicesReviewTimeNotifyAfterReviewWindowReviewStyle##############################################
  526. ##########################################################
  527.  Status  $40
  528. Scope
  529. Private
  530. ExpireDate
  531. _ViewIcon
  532.     2S3S4S6S8S9S12S14S
  533. DocumentG
  534. $VersionOpt
  535. Original by 
  536. From"
  537. ReviewStyle
  538. Review by 
  539. LastEditor"
  540. Subject
  541. Subject
  542. From"
  543.     6S9RS4E16RS9E20RS4E26RS9E27S28S2E30RS4E34R37S38S40RS5E42R43S44S46S47S48S49S50S51SSubjectTitleFromCreated By$26ReviewersX
  544. CurrentReviewers
  545. FutureReviewers
  546.     5S6S8S10SDueDateTimeDue&
  547. Categori_ze
  548. _Edit Document
  549. Send Docu_ment
  550. _Forward
  551. NavigatorDH
  552. EnvName
  553. NavigatorState"
  554.     1S2S
  555. EnvName
  556. EnvName
  557. Main Navigator
  558. EnvName
  559.     0R11RS8E13RS20E14S20RS20E30RS8E32RS20E33S39RS20E44RS9E
  560. New Document,
  561. Document
  562.     0S0E
  563. Response,
  564. Response
  565.     0S0E
  566. Response to Response8
  567. Response to Response
  568.     0S0E
  569. _Move to Folder...    
  570. _Remove from Folder...
  571. Unlock Document
  572. (Unlock Document)
  573. Server
  574.     1S2S6S
  575.     0R1S2S6S
  576. Server
  577.     0R7S8S11S13S14S15S16S
  578.  Categories$51
  579. Scope
  580. Private
  581. ExpireDate
  582. _ViewIcon
  583.     2S3S4S6S8S9S12S14S
  584. DocumentG
  585. $VersionOpt
  586. Original by 
  587. From"
  588. ReviewStyle
  589. Review by 
  590. LastEditor"
  591. Subject
  592. Subject
  593. From"
  594.     6S9RS4E16RS9E20RS4E26RS9E27S28S2E30RS4E34R37S38S40RS5E42R43S44S46S47S48S49S50S51SSubjectTitle$25Modified
  595. FromAuthor&
  596. Categori_zex
  597. _Edit Document
  598. Send Docu_ment
  599. _Forward
  600. Navigator
  601. EnvName
  602. NavigatorState"
  603.     1S2S
  604. EnvName
  605. EnvName
  606. Main Navigator
  607. EnvName
  608.     0R11RS8E13RS20E14S20RS20E30RS8E32RS20E33S39RS20E44RS9E
  609. New Document,
  610. Document
  611.     0S0E
  612. Response,
  613. Response
  614.     0S0E
  615. Response to Response8
  616. Response to Response
  617.     0S0E
  618. _Move to Folder...    
  619. _Remove from Folder...
  620. _Forward
  621. Categori_ze
  622. Edit Document
  623. _Move to Folder...
  624. _Remove from Folder...
  625. Setup Archive...L
  626. ArchiveProfile
  627. Server
  628.     1S2S6S
  629.     0R1S2S6S
  630. Server
  631.     0R7S8S11S13S14S15S16S
  632. Archive Now
  633. AllDocs
  634. Archiving
  635. Archive Profile
  636. Archive Now
  637. Before you can began archiving documents you need to fill out an Archive Profile.  Please press "Setup Archive...".
  638.     1S2S10S12S14S16S20S26S28S32S
  639. Archiving
  640. Are you sure you want to move documents to the archive database now?
  641.     0RR6S8S11S13S
  642. AlreadyArchived
  643. MailArchived|
  644. Archiving
  645. Since this is the first time you have requested an archive, it may take several minutes.  Do you want to proceed?
  646. Archiving
  647. No documents were archived
  648.     0RR1S2S8S9S11S13S19S21S24S26S32S34S
  649. MailArchived
  650.     0RR1S2S3S
  651. Periodic Archive
  652.     0R4S
  653. Server
  654.     1S2S6S
  655.     0R1S2S6S
  656. Server
  657.     0R7S8S11S13S14S15S16S
  658. Enable Scheduled Archivingf
  659. AllDocs
  660. Archiving
  661. Archive Profile
  662. Archive Now
  663. Before you can began archiving documents you need to fill out an Archive Profile.  Please press "Setup Archive...".
  664.     1S2S10S12S14S16S20S26S28S32S
  665. Periodic Archive
  666.     0RR4S
  667. Server
  668.     1S2S6S
  669.     0R1S2S6S
  670. Periodic Archive
  671. Server
  672.     0R4S5R12S13S16S18S19S20S21S
  673. Disable Scheduled Archiving
  674. AllDocs
  675. Archiving
  676. Archive Profile
  677. Archive Now
  678. Before you can began archiving documents you need to fill out an Archive Profile.  Please press "Setup Archive...".
  679.     1S2S10S12S14S16S20S26S28S32S
  680. Periodic Archive
  681.     0RR4S
  682. Server
  683.     1S2S6S
  684.     0R1S2S6S
  685. Periodic Archive
  686. Server
  687.     0R7S8R15S16S19S21S22S23S24S
  688. Open Archive Db...'++LotusScript Development Environment:2:5:(Options):0:66
  689. '++LotusScript Development Environment:2:5:(Forward):0:1
  690. Declare Sub Click(Source As Button)
  691. '++LotusScript Development Environment:2:5:(Declarations):0:10
  692. Dim s As NotesSession
  693. Dim w As NotesUIWorkspace
  694. Dim sourcedb As NotesDatabase
  695. Dim view As NotesView
  696. Dim profile As NotesDocument
  697. Dim server As String
  698. '++LotusScript Development Environment:2:2:BindEvents:1:129
  699. Private Sub BindEvents(Byval Objectname_ As String)
  700.      Static Source As BUTTON
  701.      Set Source = Bind(Objectname_)
  702.      On Event Click From Source Call Click
  703. End Sub
  704. '++LotusScript Development Environment:2:2:Click:1:12
  705. Sub Click(Source As Button)
  706.      
  707.      On Error Goto ErrorRoutine
  708. '91 is Object Variable Not Set     
  709.      On Error 91 Resume Next 
  710.      
  711.      Set s = New NotesSession
  712.      Set sourcedb = s.CurrentDatabase
  713.      Set view = sourcedb.GetView("Archiving")
  714.      Set profile = view.GetDocumentByKey("Archive Profile")
  715.      
  716.      If profile Is Nothing Then
  717.           Messagebox "There is no Archive Db for this database.", 0 + 64, "Archive"
  718.           Exit Sub
  719.      End If
  720.      
  721.      ArchivePath = profile.ArchivePath
  722.      ArchiveServer = profile.ArchiveServer
  723.      
  724.      Set w = New NotesUIWorkspace
  725.      
  726.      On Error Resume Next
  727.      Call w.OpenDatabase(ArchiveServer(0), ArchivePath(0), "", "", "1")
  728.      
  729.      Exit Sub
  730.      
  731. ErrorRoutine:
  732.      Messagebox "Unexpected condition: " & Err & " - " & Error
  733.      Exit Sub
  734.      
  735. End Sub
  736. My Favorite Documents
  737. My Favorite DocumentsMy Favorite Documents/L
  738. Debbie Branco
  739. Scope
  740. Private
  741. ExpireDate
  742. _ViewIcon
  743.     2S3S4S6S8S9S12S14S
  744. DocumentG
  745. Status
  746. StatusY
  747. Subject
  748. $VersionOpt
  749. Subject
  750.   (Original document in review cycle)
  751. ReviewStyle
  752. ParallelG
  753. Subject
  754.   (Reviewed by 
  755. LastEditor"
  756. Subject
  757.   (Reviewed by 
  758. PreviousReviewers
  759. Archive
  760. Subject
  761. Subject
  762. (Response to 
  763. OriginalSubject
  764. Subject
  765.  (Response to "
  766. OriginalSubject
  767.     6S9RS4E12S13S14S15S20RS8E22RS4E27RS8E28S29S31RS4E35S38RS9E39S40S41S42S2E43S44S46RS4E47S48S49S50S56S57S60R64S67RS4E69R70S71S73RS5E74S75S76S79R80S81S82S83S84S85S
  768. $29$30$27From$Conflict
  769. From$27FYpd
  770. #######################
  771. DocumentWorkflow
  772. Lotus NotesCUA3
  773. LastEditorDocumentReadersDocumentAuthors###############################################
  774. 255D2116B7BDFECF1769F57E5917AA29Lotus Notes
  775. (Archive Log)Archive LogArchiveLog
  776. Debbie BrancoCD
  777. CategoriesSubjectArchiveTrailerBodyArchiveDate$MessageType########################
  778. ResponseResponse
  779. Debbie Branco
  780. OriginalSubjectBodyTimeCreatedDateFromSubject######################
  781. 255D2116B7BDFECF1769F57E5917AA29Lotus Notes
  782. Archive ProfileArchiveProfileArchive Profile
  783. Lotus NotesCD
  784. ProfileEditorsArchivePathArchiveServerArchiveLocationIncludeDoclinksArchiveLogDocumentLifeArchiveInactiveExpiredLifeArchiveExpired
  785. ##########################################################
  786. ##########################################################
  787. ##########################################################
  788. ##########################################################
  789. ##########################################################
  790. ##########################################################
  791. ##########################################################
  792. ##########################################################
  793. ##########################################################
  794. ##########################################################
  795. Periodic Archive
  796. Lotus NotesSfL3
  797. ######################################################
  798. ##########################################################
  799. ##########################################################
  800. Scope
  801. Private
  802. ExpireDate
  803. _ViewIcon
  804.     2S3S4S6S8S9S12S14S
  805. $30Title
  806. DocumentG
  807. Status
  808. StatusY
  809. Subject
  810. $VersionOpt
  811. Subject
  812.   (Original document in review cycle)
  813. ReviewStyle
  814. ParallelG
  815. Subject
  816.   (Reviewed by 
  817. LastEditor"
  818. Subject
  819.   (Reviewed by 
  820. PreviousReviewers
  821. Archive
  822. Subject
  823. Subject
  824. (Response to 
  825. OriginalSubject
  826. Subject
  827.  (Response to "
  828. OriginalSubject
  829.     6S9RS4E12S13S14S15S20RS8E22RS4E27RS8E28S29S31RS4E35S38RS9E39S40S41S42S2E43S44S46RS4E47S48S49S50S56S57S60R64S67RS4E69R70S71S73RS5E74S75S76S79R80S81S82S83S84S85S$27Date
  830. FromAuthor&
  831. Categori_ze
  832. _Edit Document
  833. Send Docu_ment
  834. _Forward
  835. Navigator
  836. EnvName
  837. NavigatorState"
  838.     1S2S
  839. EnvName
  840. EnvName
  841. Main Navigator
  842. EnvName
  843.     0R11RS8E13RS20E14S20RS20E30RS8E32RS20E33S39RS20E44RS9E
  844. New Document,
  845. Document
  846.     0S0E
  847. Response,
  848. Response
  849.     0S0E
  850. Response to Response8
  851. Response to Response
  852.     0S0E
  853. _Move to Folder...    
  854. _Remove from Folder...
  855. ($All)
  856. TextBox1All Documents
  857. TextBox2By Author
  858. TextBox3My Favorite Documents
  859. TextBox4By Review Status
  860. TitleDocuments:
  861. AllDocs
  862. ($All)
  863. ByAuthor
  864. By Author
  865. ByStatus
  866. Review Status
  867. MyFavDocs
  868. My Favorite Documents
  869. NewDocTitle
  870. New Response to "
  871. Subject
  872.     1S2S3S4S5S6S
  873. StandardTitle
  874. Response to "
  875. ImmediateParentSubject"
  876.     0R1S2S3S4S5S6S
  877. NewDocTitle
  878. StandardTitle
  879.     0R4S6S
  880. "MS Sans Serif
  881. Times New Roman
  882.  Response to Response
  883. @___@
  884. <a>7`^
  885. `!bb!R
  886. SubjectKey thought of this response
  887.     Created by:
  888. FromThe name of the person who composed the response
  889. DateThe date/time when the document was composed
  890. TimeCreated
  891. @___@
  892. <a>7`^
  893. `!bb!R
  894. BodyEnter the text of your response
  895.     -------------------------------------------------------------------------------------------------------------------------------------------------
  896.     Hidden Fields:    
  897. OriginalSubject
  898. OriginalSubject
  899. Subject
  900.     7S9S
  901. OriginalSubjectHidden field to store topic of Main Document
  902. Subject
  903. Subject
  904. OriginalSubject
  905.     7S9S
  906. ImmediateParentSubject
  907. Closed 
  908.     0S0E
  909. _Edit Document
  910. Categori_zeu
  911. Send Docu_ment
  912. _Forward
  913. _Move to Folder...
  914. _Remove from Folder
  915. Times New Roman
  916.  ReviewOptions
  917. Review style:
  918. ReviewStyle
  919. ReviewStyle
  920. Serial review | Serial.NoVersionsSerial (keep all revisions) | Serial.VersionsDocument reservations | Parallel.NoVersionsResponse review | Parallel.Versions
  921. ReviewWindow
  922. ReviewWindow
  923. No time limit on review | NoLimitMove to next reviewer after | MoveOnKeep sending reminders after | Reminder
  924. Allotted time:
  925. Notification:
  926. NofityAfter
  927. NotifyAfter
  928. Notify me after each reviewer | EachNotify me after final reviewer | Final
  929. ReviewWindow
  930. NoLimit
  931.     1S2S
  932. ReviewTime
  933. ReviewWindow
  934. NoLimit
  935. ReviewTime
  936. ReviewTime
  937.     3S4S6S8S14S
  938. ReviewWindow
  939. NoLimit
  940. ReviewTimeX
  941. Please enter a number.{
  942. ReviewTimeX
  943. Please enter a whole number which is greater than zero.
  944.     3S4S6S8S16S21S25S26S28S33S
  945. ReviewTime
  946. day(s)
  947. SaveChoices
  948. SaveChoices
  949. Save choices for next time. | 1
  950. Categori_ze
  951. _Edit Document
  952. Send Docu_ment
  953. _Forward
  954. _Move to Folder...
  955. _Remove from Folder$
  956. $Modified
  957.     1S2S3S
  958. $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$C1$
  959.     0SL1S
  960. $TITLE
  961. Mark/Unmark Document As Expired
  962. Lotus Notes
  963. Process Late Reviews
  964. By _Author|By Author
  965. CN=Catherine Duffy/O=Iris
  966. Review Status|Review Status
  967. ($All)|($All)
  968. _Archiving|Archiving
  969. Main Navigator
  970. Debbie Branco
  971. My Favorite Documents
  972. DocumentWorkflow
  973. Periodic Archive
  974. (Unlock Document)
  975. '++LotusScript Development Environment:2:5:(Options):0:74
  976. Option Public
  977. '++LotusScript Development Environment:2:5:(Forward):0:1
  978. Declare Sub InitializeDocument(source)
  979. Declare Sub InitializeStatusList
  980. Declare Sub RebuildList(InputList As Variant)
  981. Declare Sub SetReviewerLists
  982. Declare Sub SendNotification
  983. Declare Sub InitiateReview(source)
  984. Declare Sub GetReviewSequence
  985. Declare Sub ResetAuthorNames
  986. '++LotusScript Development Environment:2:5:(Declarations):0:10
  987. '***** OBJECT VARIABLES *****
  988. Dim s As NotesSession
  989. Dim w As NotesUIWorkspace
  990. Dim doc As NotesUIDocument
  991. Dim db As NotesDatabase
  992. Dim note As NotesDocument
  993. Dim tempnote As NotesDocument
  994. Dim maildoc As NotesDocument
  995. Dim parent As NotesDocument
  996. Dim child As NotesDocument
  997. Dim children As NotesDocumentCollection
  998. Dim item As NotesItem
  999. Dim rtitem As NotesRichTextItem
  1000. Dim dt As NotesDateTime
  1001. '***** DATA VARIABLES - FIELDS DEFINED ON FORM*****
  1002. Dim ReviewStyle As Variant
  1003. Dim ReviewSeq As Variant
  1004. Dim Reviewers As Variant
  1005. Dim PreviousReviewers As Variant
  1006. Dim FutureReviewers As Variant
  1007. Dim CurrentReviewers As Variant
  1008. Dim DocumentAuthors As Variant
  1009. Dim Originator As Variant
  1010. Dim Versioning As Variant
  1011. '***** DATA VARIABLE - FIELDS DEFINED IN SCRIPT, NOT DEFINED ON FORM
  1012. Dim Status As Variant
  1013. Dim Locked As Variant
  1014. Dim InProcess As Variant
  1015. '***** SCRIPT PROCESSING VARIABLES *****
  1016. Dim ReviewerList() As Variant
  1017. Dim OldList() As Variant
  1018. Dim InputList As Variant
  1019. Dim NewList() As Variant
  1020. Dim ListMax As Integer
  1021. Dim tmpList As Variant
  1022. Dim CompareValue As Variant
  1023. Dim Elements As Integer
  1024. Dim DocWasSaved As Integer
  1025. Dim ParentIsLocked As Integer
  1026. Dim DocIsLocked As Integer
  1027. Dim LockedBy As Variant
  1028. Dim InitiatingReview As Integer
  1029. Dim CompareValueFound As Integer
  1030. Dim FinalSave As Variant
  1031. '***** TEMP PROCESSING FIELDS - ADDED TO DOC ON OPEN, DELETED ON CLOSE*****
  1032. Dim CurrentUser As String
  1033. Dim Action As Variant
  1034. Dim StatusList(1 To 4) As Variant
  1035. '++LotusScript Development Environment:2:2:InitializeDocument:1:8
  1036. Sub InitializeDocument(source)
  1037.      
  1038. 'This routine initializes object variables, global variables and some field values     
  1039.      
  1040. 'Turn off Autoreload to speed up response time (this means we need to do manual reloads and refreshes)
  1041.      source.AutoReload = False
  1042.      
  1043.      Set w = New NotesUIWorkspace
  1044.      Set s = New NotesSession
  1045.      Set db = s.CurrentDatabase
  1046.      Set note = source.Document
  1047.      
  1048.      CurrentUser = s.CommonUserName
  1049.      note.tmpCurrentUser = CurrentUser
  1050.      Originator = note.From
  1051.      
  1052.      InitializeStatusList
  1053.      If source.IsNewDoc Then
  1054.           note.Status = StatusList(1)
  1055.           note.Scope = "Public"
  1056.      Else
  1057.           If note.Locked(0) <> "" Then
  1058.                DocIsLocked = True
  1059.                LockedBy = note.Locked
  1060.           End If
  1061.      End If
  1062.      
  1063. 'Initialize V3 documents
  1064.      If Not(note.HasItem("Status")) Then
  1065.           note.Status = StatusList(1)
  1066.           note.Scope = "Public"
  1067.           note.DocumentAuthors = s.CommonUserName
  1068.           note.From = Evaluate("@Name([CN]; From)", note)
  1069.      End If
  1070.      
  1071. 'Clear the status bar     
  1072.      Print
  1073.      
  1074. End Sub
  1075. '++LotusScript Development Environment:2:2:InitializeStatusList:1:8
  1076. Sub InitializeStatusList
  1077.      
  1078. 'Statuses are referred to positionally.  If you want the works to display differently in the view (like if you want the first
  1079. 'status to be None instead of New) you would change them here.     
  1080.      StatusList(1) = "New"
  1081.      StatusList(2) = "Ready for Review"
  1082.      StatusList(3) = "In Review"
  1083.      StatusList(4) = "Review Complete"
  1084.      
  1085.      note.StatusList = StatusList
  1086.      
  1087. End Sub
  1088. '++LotusScript Development Environment:2:2:RebuildList:1:8
  1089. Sub RebuildList(InputList As Variant)
  1090.      
  1091. 'This routine removes a value from a list (passed by reference)
  1092.      
  1093.      ListMax = Ubound(InputList)
  1094.      
  1095. 'Save original capitalization in OldList then lowercase both InputList and CompareValue     
  1096.      Redim OldList (ListMax)
  1097.      For i = 0 To ListMax
  1098.           OldList(i) = InputList(i)
  1099.           InputList(i) = Lcase(InputList(i))
  1100.      Next
  1101.      CompareValue = Lcase(CompareValue)
  1102.      
  1103.      Redim NewList (ListMax)
  1104.      x = 0 
  1105.      For y = 0 To ListMax
  1106.           If InputList(y) <> CompareValue Then
  1107.                NewList(x) = OldList(y)
  1108.                x = x + 1
  1109.           End If
  1110.      Next
  1111.      
  1112.      If x > 0 Then
  1113.           Redim Preserve NewList(x-1)
  1114.           tmpList = NewList
  1115.      Else
  1116.           tmpList = "None"
  1117.      End If
  1118.      
  1119.      If x = ListMax Then
  1120.           CompareValueFound = True
  1121.      Else
  1122.           CompareValueFound = False
  1123.      End If
  1124.      
  1125. End Sub
  1126. '++LotusScript Development Environment:2:2:SetReviewerLists:1:8
  1127. Sub SetReviewerLists
  1128.      
  1129.      Print "Updating Reviewer Lists"
  1130.      
  1131.    For a Parallel submit, set CurrentReviewers to the Reviewers field (there are no
  1132.       FutureReviewers - all reviewers are current) and set FutureReviewers to "None".
  1133.    For a Parallel review, remove CurrentUser from CurrentReviewers and add it to
  1134.       PreviousReviewers.
  1135.    For a Serial submit, set CurrentReviewers to the first Reviewer and set FutureReviewers
  1136.       to the Reviewers field minus the first Reviewer
  1137.    For a Serial review remove CurrentUser from FutureReviewers and add it to
  1138.       PreviousReviewers.
  1139. %ENDREM
  1140.      
  1141.      ListMax = 0
  1142.      Set dt = New NotesDateTime("Today")
  1143.      dt.SetNow
  1144.      If Action(0) = "Complete" Then ReviewerLogEntry = CurrentUser & " on " & Format(dt.LSLocalTime, "Short Date")
  1145.      
  1146.      Select Case ReviewSeq
  1147.      Case "Parallel"
  1148. 'On submit Set future reviewers to None since all reviewers are current          
  1149.           If Action(0) = "Submit" Then
  1150.                Reviewers = note.Reviewers            
  1151.                tmpList = Reviewers
  1152.                note.FutureReviewers = "None"
  1153.           Else
  1154. '(this is for action = Complete)               
  1155. 'For Response Reviews, we maintain the status in the parent               
  1156.                If note.IsResponse Then
  1157.                     CurrentReviewers = parent.CurrentReviewers
  1158.                     Set item = parent.GetFirstItem("ReviewerLog")
  1159.                Else
  1160.                     CurrentReviewers = note.CurrentReviewers
  1161.                     Set item = note.GetFirstItem("ReviewerLog")
  1162.                End If
  1163.                item.AppendToTextList(ReviewerLogEntry)              
  1164.                CompareValue = CurrentUser
  1165. 'Remove the CurrentUser from the CurrentReviewers list               
  1166.                Call RebuildList(CurrentReviewers)
  1167.           End If
  1168.           FieldName = "CurrentReviewers"
  1169.      Case "Serial"
  1170. 'On submit, put all reviewers in the future reviewers list          
  1171.           If Action(0) = "Submit" Then
  1172.                Reviewers = note.Reviewers
  1173.                tmpList = Reviewers
  1174.                Call note.ReplaceItemValue("FutureReviewers", tmpList)
  1175.           Else
  1176.                Set item = note.GetFirstItem("ReviewerLog")
  1177.                item.AppendToTextList(ReviewerLogEntry)
  1178.           End If
  1179.           FutureReviewers = note.FutureReviewers
  1180. 'Put the first person in the future reviewers list in current reviewer
  1181. 'On submit this makes the first one current, on Complet it makes the next one current          
  1182.           note.CurrentReviewers = FutureReviewers(0)
  1183.           CompareValue = FutureReviewers(0)
  1184.           FieldName = "FutureReviewers"
  1185. 'Remove the first element from the FutureReviewers list
  1186.           Call RebuildList(FutureReviewers)
  1187.      End Select
  1188.      
  1189. 'Calculate when the review is due, based upon ReviewTime     
  1190.      ReviewTime = note.ReviewTime
  1191.      temp = ReviewTime(0)
  1192.      Set dt = New NotesDateTime("Today")
  1193.      If Isnumeric(ReviewTime(0)) Then dt.AdjustDay(temp)
  1194.      
  1195. 'Update DueDate - If there is a Review time then reset, otherwise delete
  1196. 'Update PreviousReviewers to None if this is a submit, otherwise add CurrentUser to existing list
  1197.      If note.IsResponse And ReviewSeq = "Parallel" Then
  1198.           If Isnumeric(ReviewTime(0)) Then
  1199.                parent.DueDateTime = dt.LSLocalTime
  1200.           Else
  1201.                parent.RemoveItem("DueDateTime")
  1202.           End If
  1203.           Call parent.ReplaceItemValue(FieldName, tmpList)
  1204.           PreviousReviewers = parent.PreviousReviewers
  1205.           If PreviousReviewers(0) = "None" Then
  1206.                parent.PreviousReviewers = CurrentUser
  1207.           Else
  1208.                Set item = parent.GetFirstItem("PreviousReviewers")
  1209.                item.AppendToTextList (CurrentUser)
  1210.           End If
  1211. 'In a response review, we remove these because they are stored in the main doc          
  1212.           note.RemoveItem("PreviousReviewers")
  1213.           note.RemoveItem("CurrentReviewers")
  1214.           note.RemoveItem("FutureReviewers")
  1215.           If Action(0) = "Complete" Then
  1216.                note.RemoveItem("DueDateTime")
  1217.                note.Status = StatusList(4)
  1218.           End If
  1219.      Else
  1220.           If Isnumeric(ReviewTime(0)) Then 
  1221.                note.DueDateTime = dt.LSLocalTime
  1222.           Else
  1223.                note.RemoveItem("DueDateTime")
  1224.           End If
  1225.           Call note.ReplaceItemValue(FieldName, tmpList)
  1226.           If Action(0) = "Submit" Then
  1227.                note.PreviousReviewers = "None"
  1228.           Else
  1229.                PreviousReviewers = note.PreviousReviewers
  1230.                If PreviousReviewers(0) = "None" Then
  1231.                     note.PreviousReviewers = CurrentUser
  1232.                Else              
  1233.                     Set item = note.GetFirstItem("PreviousReviewers")
  1234.                     item.AppendToTextList (CurrentUser)
  1235.                End If
  1236.           End If
  1237.      End If
  1238.      
  1239. End Sub 
  1240. '++LotusScript Development Environment:2:2:SendNotification:1:8
  1241. Sub SendNotification
  1242.      
  1243. 'This routine sets the content of the notification email, based upon values set in SetReviewerLists.     
  1244.      
  1245.      If note.IsResponse Then
  1246.           CurrentReviewers = parent.CurrentReviewers
  1247.      Else
  1248.           CurrentReviewers = note.CurrentReviewers
  1249.      End If
  1250.      DbTitle = db.Title
  1251.      DueDateTime = note.DueDateTime
  1252.      Subject = note.Subject
  1253.      Recipient = Empty
  1254.      NotifyAfter = note.NotifyAfter
  1255.      
  1256. 'If it is a parallel review with only final notification to the originator, 
  1257. 'there is not need to send mail on a normal completion     
  1258.      If (ReviewSeq = "Parallel") And (CurrentReviewers(0) <> "None") _
  1259.      And (NotifyAfter(0) = "Final") And (Action(0) <> "Submit") Then
  1260.           Exit Sub
  1261.      Else
  1262.           Print "Sending Notification"
  1263.      End If
  1264.      
  1265.      Set maildoc = New NotesDocument(db)
  1266.      Set rtitem = New NotesRichTextItem(maildoc, "Body")
  1267.      
  1268.      Select Case Action(0)
  1269.      Case "Submit"
  1270.           tmpList = CurrentReviewers
  1271.           tmpSubject = "Document Requires Review:  " & Subject(0)
  1272.           If note.HasItem("DueDateTime") Then
  1273.                tmpFlowStatus = "Please take the time to review this document before the due date shown below."              
  1274.           Else
  1275.                tmpFlowStatus = "Please take the time to review this document."
  1276.           End If
  1277.           tmpMessagebox = "Request for review has been sent to "
  1278.           If ReviewSeq = "Parallel" Then
  1279.                tmpRecipient = "All Reviewers"
  1280.           Else
  1281.                tmpRecipient = CurrentReviewers(0)         
  1282.           End If
  1283.      Case "Complete"
  1284.           If CurrentReviewers(0) = "None" Then
  1285.                tmpList = Originator(0)
  1286.                tmpSubject = "Review is complete for:  " & Subject(0)
  1287.                tmpFlowStatus = "All reviewers have completed their work on this document."
  1288.                tmpMessagebox = "Notification that you have completed your review has been sent to the originator: "               
  1289.           Else
  1290.                Select Case ReviewSeq
  1291.                Case "Parallel"     
  1292.                     tmpList = Originator(0)              
  1293.                     tmpFlowStatus = CurrentUser & " is finished reviewing this document."              
  1294.                     tmpSubject = CurrentUser & " has completed review of:  " & Subject(0)
  1295.                     tmpMessagebox = "Notification that you have completed your review has been sent to the originator, "
  1296.                Case "Serial"
  1297.                     tmpList = CurrentReviewers(0)
  1298.                     tmpSubject = "Document Requires Review:  " & Subject(0)
  1299.                     If note.HasItem("DueDateTime") Then
  1300.                          tmpFlowStatus = Originator(0) & " requests that you review this document before the due date shown below."            
  1301.                     Else
  1302.                          tmpFlowStatus = Originator(0) & " requests that you review this document."              
  1303.                     End If
  1304.                     tmpMessagebox = "Notification that you have completed your review has been sent to "               
  1305.                     If NotifyAfter(0) = "Each" Then 
  1306.                          maildoc.CopyTo = Originator(0)
  1307.                          tmpRecipient = tmpList & " and " & Originator(0)
  1308.                     End If
  1309.                End Select
  1310.           End If
  1311.           If tmpRecipient = "" Then tmpRecipient = tmpList
  1312.      End Select
  1313.      
  1314.      Call maildoc.AppendItemValue("SendTo", tmpList)
  1315.      
  1316.      maildoc.Subject = tmpSubject
  1317.      maildoc.InheritedSubject = Subject(0)
  1318.      maildoc.InheritedDbTitle = DbTitle
  1319.      maildoc.FlowStatus = tmpFlowStatus
  1320.      If note.HasItem("DueDateTime") Then maildoc.DueDateTime = Format(DueDateTime(0), "Short Date")
  1321.      
  1322.      If note.IsResponse Then
  1323.           Call rtitem.AppendDocLink(parent, "DocLink to " & Subject(0))
  1324.      Else
  1325.           Call rtitem.AppendDocLink(note, "DocLink to " & Subject(0))
  1326.      End If
  1327.      
  1328.      maildoc.Form = "Bookmark"
  1329.      
  1330.      On Error Goto SendError
  1331.      Call maildoc.Send (False)
  1332.      
  1333.      Messagebox tmpMessagebox & tmpRecipient & ".", 0 + 64, "Document Library"
  1334.      
  1335.      Exit Sub
  1336.      
  1337. SendError:
  1338.      Messagebox "FYI:  " & tmpRecipient & " could not be notified via email at this time.", 0 + 64, "Document Library"
  1339.      Exit Sub
  1340.      
  1341. End Sub
  1342. '++LotusScript Development Environment:2:2:InitiateReview:1:8
  1343. Sub InitiateReview(source)
  1344.      
  1345. 'This routine does the versioning that occurs when a review in initiated (as opposed to on every save)     
  1346.      InProcess = note.InProcess
  1347.      Reviewers = note.Reviewers
  1348.      PreviousReviewers = note.PreviousReviewers
  1349.      
  1350. 'Check to see if CurrentUser is in the InProcess list.  If they are (or if this is the originator) then do not do versioning     
  1351.      Redim ReviewerList(0) 
  1352.      Forall n In InProcess
  1353.           If CurrentUser = n Then ReviewerList(0) = CurrentUser
  1354.      End Forall
  1355.      
  1356. 'Find out what kind of review we are processing     
  1357.      GetReviewSequence
  1358.      
  1359.      If ReviewerList(0) = CurrentUser Or CurrentUser = Originator(0) Then Exit Sub
  1360.      Print "Initiating Review"
  1361.      
  1362. 'Set the $VersionOpt appropriately
  1363.      If (Versioning = "Versions") Then
  1364.           If ReviewSeq = "Parallel" Then
  1365. 'This doc becomes a response (we are subsequently editting the response doc)
  1366.                VersionOpt = "1"
  1367.           Else
  1368. 'Previous versions become response (we are still editing the main doc)               
  1369.                VersionOpt = "3"
  1370.           End If
  1371.      Else
  1372. 'The original doc is saved as a response (for safe keeping)          
  1373.           If PreviousReviewers(0) = "None" And Not(note.HasItem("$VersionOpt")) Then VersionOpt = "3"
  1374.      End If
  1375.      
  1376. 'Reset the field
  1377.      If (Versioning = "Versions") Or (PreviousReviewers(0) = "None") Then Call note.ReplaceItemValue("$VersionOpt", VersionOpt)
  1378.      
  1379. 'CurrentUser is now on the InProcess list because they are actively reviewing the doc     
  1380.      Set item = note.GetFirstItem("InProcess")
  1381.      If item Is Nothing Then
  1382.           Call note.AppendItemValue("InProcess", CurrentUser)
  1383.      Else
  1384.           item.AppendToTextList(CurrentUser)
  1385.      End If
  1386.      
  1387. 'InitiatingReview flag tells the Querysave event how to process, reload from the backend, 
  1388. 'and save from the front end to create the appropriate version     
  1389.      InitiatingReview = True
  1390.      source.Reload
  1391.      If VersionOpt = 1 Or VersionOpt = 3 Then
  1392.           source.Refresh
  1393.           source.SaveNewVersion
  1394.      End If
  1395.      source.RefreshHideFormulas
  1396.      InitiatingReview = False
  1397.      
  1398.      Print
  1399.      
  1400. End Sub
  1401. '++LotusScript Development Environment:2:2:GetReviewSequence:1:8
  1402. Sub GetReviewSequence
  1403.      
  1404. 'ReviewSequence is stored in a manner that makes sense to users.  Here it is dealt with as serial or parallel,
  1405. 'with or without versioning.
  1406.      
  1407.      ReviewStyle = note.ReviewStyle
  1408.      
  1409.      position = Instr(ReviewStyle(0), ".")
  1410.      ReviewSeq = Left(ReviewStyle(0), position - 1)
  1411.      Versioning = Mid(ReviewStyle(0), position + 1)    
  1412.      
  1413. End Sub
  1414. '++LotusScript Development Environment:2:2:ResetAuthorNames:1:8
  1415. Sub ResetAuthorNames
  1416.      
  1417.      Select Case ReviewSeq
  1418.      Case "Serial"
  1419. 'Reset author names to CurrentReviewers + Originator (unless CurrentReviewers = "None")
  1420.           If CurrentReviewers(0) = "None" Then
  1421.                note.DocumentAuthors = Originator(0)
  1422.           Else
  1423.                CompareValue = Empty
  1424.                Call RebuildList(CurrentReviewers)
  1425.                Redim Preserve NewList(ListMax+1)
  1426.                NewList(ListMax+1) = Originator(0)
  1427.                tmpList = NewList
  1428.                note.DocumentAuthors = tmpList
  1429.           End If
  1430. 'If there are versions, remove it from them as well          
  1431.           If note.HasItem("$VersionOpt") Then
  1432.                Set children = note.Responses
  1433.                For c = 1 To children.Count
  1434.                     Set child = children.GetNthDocument(c)
  1435.                     child.DocumentAuthors = Originator(0)
  1436.                     If child.DocumentReaders(0) = "" Then child.RemoveItem("DocumentReaders")
  1437. 'It does not matter if it can not be saved because CurrentUser may not be in the AuthorNames field in all responses
  1438.                     On Error Resume Next
  1439.                     child.Save True, True
  1440.                     Err = 0
  1441.                Next
  1442.           End If
  1443.      Case "Parallel"
  1444.           If note.IsResponse Then
  1445. 'If all done we are updating the parent and the originator is the only editor
  1446. 'otherwise CurrentUser and originator are the editors of this doc
  1447.                If Action(0) = "Complete" Then
  1448.                     note.DocumentAuthors = Originator(0)
  1449.                     parentid = note.ParentDocumentUNID
  1450.                     Set parent = db.GetDocumentByUNID(parentid)
  1451.                     DocumentAuthors = parent.DocumentAuthors
  1452.                     CompareValue = CurrentUser
  1453.                     Call RebuildList(DocumentAuthors)
  1454.                     parent.DocumentAuthors = tmpList
  1455.                     If parent.DocumentReaders(0) = "" Then parent.RemoveItem("DocumentReaders")
  1456.                     parent.Save True, True
  1457.                Else
  1458.                     Redim NewList(1)
  1459.                     NewList(0) = CurrentUser
  1460.                     NewList(1) = Originator(0)
  1461.                     tmpList = NewList
  1462.                     note.DocumentAuthors = tmpList
  1463.                End If
  1464.           Else
  1465. 'If we are not versioning - then all current reviewers and the originator are editors (unless CurrentReviewer = "None")
  1466.                If CurrentReviewers(0) = "None" Then
  1467.                     note.DocumentAuthors = Originator(0)
  1468.                Else
  1469.                     CompareValue = Empty
  1470.                     Call RebuildList(CurrentReviewers)
  1471.                     Redim Preserve NewList(ListMax+1)
  1472.                     NewList(ListMax+1) = Originator(0)
  1473.                     tmpList = NewList
  1474.                     note.DocumentAuthors = tmpList
  1475.                End If
  1476. 'If there are versions, remove it from them as well          
  1477.                If note.HasItem("$VersionOpt") Then
  1478.                     Set children = note.Responses
  1479.                     For c = 1 To children.Count
  1480.                          Set child = children.GetNthDocument(c)
  1481.                          child.DocumentAuthors = Originator(0)
  1482.                          If child.DocumentReaders(0) = "" Then child.RemoveItem("DocumentReaders")
  1483.                          child.RemoveItem("Locked")
  1484. 'It does not matter if it can not be saved because CurrentUser may not be in the AuthorNames field in all responses
  1485.                          On Error Resume Next
  1486.                          child.Save True, True
  1487.                          Err = 0
  1488.                     Next
  1489.                End If
  1490.           End If
  1491.      End Select
  1492.      
  1493. End Sub
  1494. K$    Qh
  1495. K$    Qh
  1496. DocumentWorkflow'++LotusScript Development Environment:2:5:(Options):0:66
  1497. '++LotusScript Development Environment:2:5:(Forward):0:1
  1498. Declare Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
  1499. Declare Sub Postopen(Source As Notesuidocument)
  1500. Declare Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
  1501. Declare Sub Postmodechange(Source As Notesuidocument)
  1502. Declare Sub Querysave(Source As Notesuidocument, Continue As Variant)
  1503. Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant)
  1504. '++LotusScript Development Environment:2:5:(Declarations):0:2
  1505. '++LotusScript Development Environment:2:2:BindEvents:1:129
  1506. Private Sub BindEvents(Byval Objectname_ As String)
  1507.      Static Source As NOTESUIDOCUMENT
  1508.      Set Source = Bind(Objectname_)
  1509.      On Event Queryopen From Source Call Queryopen
  1510.      On Event Postopen From Source Call Postopen
  1511.      On Event Querymodechange From Source Call Querymodechange
  1512.      On Event Postmodechange From Source Call Postmodechange
  1513.      On Event Querysave From Source Call Querysave
  1514.      On Event Queryclose From Source Call Queryclose
  1515. End Sub
  1516. '++LotusScript Development Environment:2:2:Queryopen:1:12
  1517. Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
  1518.      
  1519. 'If it is a new doc, there is no note yet, so we cannot initialize it from here
  1520.      If IsNewDoc Then Exit Sub
  1521.      
  1522.      Call InitializeDocument(source)    
  1523.      
  1524.      If Mode = 1 Then
  1525.           If DocIsLocked Then
  1526.                Messagebox "This document is being edited by " & LockedBy(0) & ".  Please try later.",_
  1527.                0 + 48, "Document Library"
  1528.                Continue = False
  1529.           Else
  1530. 'If this is a Document Reservations review, then lock this doc     
  1531.                If note.ReviewStyle(0) = "Parallel.NoVersions" Then
  1532.                     note.Locked = CurrentUser
  1533.                     note.DocumentAuthors = CurrentUser
  1534.                     If note.DocumentReaders(0) = "" Then note.RemoveItem("DocumentReaders")
  1535.                     On Error Goto SaveError
  1536.                     note.save True, True
  1537.                End If
  1538.           End If
  1539.      End If
  1540.      
  1541.      Exit Sub
  1542.      
  1543. SaveError:
  1544.      
  1545.      Messagebox "This document is currently in use.  Please try later.",_
  1546.      0 + 48, "Document Library"
  1547.      Continue = False
  1548.      Exit Sub
  1549.      
  1550. End Sub
  1551. '++LotusScript Development Environment:2:2:Postopen:1:12
  1552. Sub Postopen(Source As Notesuidocument)
  1553.      
  1554. 'This allows us to reference the UI Document in areas where source represents a different object     
  1555.      Set doc = source
  1556.      
  1557. 'If it is a new doc, we initialize it here.  Existing docs are initialized in Queryopen because it is faster (one less refresh is required)    
  1558.      If source.IsNewDoc Then
  1559.           Call InitializeDocument(source)
  1560.           source.Reload
  1561.           source.RefreshHideFormulas
  1562.      Else
  1563. 'If the doc was opened in edit mode, it may be a review initiation (this routine is also executed on mode change)         
  1564.           If source.EditMode = True Then
  1565.                Status = note.Status
  1566.                If Status(0) = StatusList(3) Then Call InitiateReview(source)
  1567.           End If         
  1568.      End If
  1569.      
  1570. End Sub
  1571. '++LotusScript Development Environment:2:2:Querymodechange:1:12
  1572. Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
  1573.      
  1574. 'If the doc is locked, do not allow them to put in in edit mode     
  1575.      If source.EditMode = False And note.ReviewStyle(0) = "Parallel.NoVersions" Then
  1576.           If Not DocIsLocked Then
  1577.                SavedUNID = note.UniversalId
  1578.                Delete note
  1579.                Set tempnote = db.GetDocumentByUNID(SavedUNID)
  1580.                If tempnote.HasItem("Locked") Then 
  1581.                     DocIsLocked = True
  1582.                     LockedBy = tempnote.Locked
  1583.                End If                   
  1584.                Delete tempnote
  1585.                Set note = source.Document
  1586.           End If
  1587.           If DocIsLocked Then
  1588.                Messagebox "This document is being edited by " & LockedBy(0) & ".  Please try later.",_
  1589.                0 + 48, "Document Library"
  1590.                Continue = False
  1591.           Else
  1592.                note.Locked = CurrentUser
  1593.                note.DocumentAuthors = CurrentUser
  1594.                If note.DocumentReaders(0) = "" Then note.RemoveItem("DocumentReaders")
  1595.                On Error Goto SaveError
  1596.                note.save True, True
  1597.           End If
  1598.      End If
  1599.      
  1600.      Exit Sub
  1601.      
  1602. SaveError:
  1603.      
  1604.      Messagebox "This document is currently in use.  Please try later.",_
  1605.      0 + 48, "Document Library"
  1606.      Continue = False
  1607.      Exit Sub
  1608.      
  1609. End Sub
  1610. '++LotusScript Development Environment:2:2:Postmodechange:1:12
  1611. Sub Postmodechange(Source As Notesuidocument)
  1612.      
  1613. 'Putting the doc in edit mode might be a review initiation (this routine is also executed if the doc is opend in edit mode)
  1614.      If Source.EditMode = True Then
  1615.           Status = note.Status
  1616.           If Status(0) = StatusList(3) Then Call InitiateReview(source)
  1617.      End If
  1618.      
  1619. End Sub
  1620. '++LotusScript Development Environment:2:2:Querysave:1:12
  1621. Sub Querysave(Source As Notesuidocument, Continue As Variant)
  1622.      
  1623.      If FinalSave Then Exit Sub
  1624.      
  1625.      On Error Resume Next
  1626.      
  1627. 'All routing logic is driven from here.  The Action buttons set the tmpAction value which drives processing.
  1628.      Status = note.Status
  1629.      
  1630. 'If Subject is blank, be sure they enter it here     
  1631.      Subject = note.Subject
  1632.      If Subject(0) = "" Then
  1633.           Subject(0) = Inputbox("Please enter a Title for this document.", "Document Library", "(Untitled)")
  1634.           If Subject(0) = "" Then
  1635.                Continue = False
  1636.                Exit Sub
  1637.           End If
  1638.      End If
  1639.      note.Subject = Subject(0)
  1640.      
  1641. 'Be sure that versions do not get $Ref stripped off
  1642.      If note.IsResponse Then Call note.ReplaceItemValue("$RefOptions", "1")
  1643.      
  1644. 'InitiatingReview means that they are saving in order to generate a new version
  1645. 'Status 1 means there is no review cycle.  In both cases we don't need to execute the rest of the logic here.     
  1646.      If InitiatingReview Or Status(0) = StatusList(1) Then
  1647.           source.Reload
  1648.           Exit Sub
  1649.      Else
  1650.           Print "Saving Document"
  1651.      End If      
  1652.      
  1653. 'Find out which kind of a review we are doing     
  1654.      GetReviewSequence
  1655.      
  1656. 'Get the Action type and the Reviewer list     
  1657.      Action = note.tmpAction
  1658.      Reviewers = note.Reviewers
  1659.      
  1660. 'Decide how to process based on which Action button was pressed
  1661.      Select Case Action(0)
  1662. 'On Submit - build the current and future reviewer lists and send notification to the appropriate person(s)          
  1663.      Case "Submit"
  1664.           note.Status = StatusList(3)
  1665.           SetReviewerLists        
  1666.           SendNotification
  1667. 'On Completion of a review - if it is a response, lock the parent because we are going to update it
  1668.      Case "Complete"
  1669.           If note.IsResponse Then
  1670.                parentid = note.ParentDocumentUNID
  1671.                Set parent = db.GetDocumentByUNID(parentid)
  1672.                parent.Locked = CurrentUser
  1673.                ParentIsLocked = True
  1674.                parent.save True, True
  1675.           End If
  1676. 'Rebuild the previous, current, and future reviewer lists and send notificationto the appropriate person(s)
  1677.           SetReviewerLists
  1678.           SendNotification
  1679. 'Get the name of the person(s) currently reviewing this document (actively reviewing it means they have started
  1680. 'reviewing it, rather than just being on the CurrentReviewer list)          
  1681.           InProcess = note.InProcess
  1682.           CompareValue = CurrentUser
  1683. 'Pull CurrentUser out of the InProcess list          
  1684.           Call RebuildList(InProcess)
  1685.           Call note.ReplaceItemValue("InProcess", tmpList)
  1686.           CurrentReviewers = note.CurrentReviewers
  1687. 'If CurrentReviewers = None (already set in the SetReviewerLists routine) then all reviews are complete so reset status
  1688.           If CurrentReviewers(0) = "None" Then note.Status = StatusList(4)
  1689. 'If the parent is locked then unlock it          
  1690.           If ParentIsLocked Then
  1691.                CurrentReviewers = parent.CurrentReviewers
  1692.                If CurrentReviewers(0) = "None" Then
  1693.                     parent.Status = StatusList(4)
  1694.                     parent.RemoveItem("DueDate")
  1695.                End If
  1696.                parent.RemoveItem("Locked")
  1697.                ParentIsLocked = False
  1698.                parent.Save True, True
  1699.           End If
  1700.      End Select
  1701.      
  1702. 'Reset $VersionOpt to 0 to prevent further versioning
  1703.      If note.HasItem("$VersionOpt") Then Call note.ReplaceItemValue("$VersionOpt", "0")
  1704.      
  1705. 'Set the DocWasSaved flag so the Queryclose event knows about it     
  1706.      DocWasSaved = True
  1707.      
  1708.      source.Reload
  1709.      
  1710.      Print
  1711.      
  1712. End Sub
  1713. '++LotusScript Development Environment:2:2:Queryclose:1:12
  1714. Sub Queryclose(Source As Notesuidocument, Continue As Variant)
  1715.      
  1716.      On Error Goto ErrorRoutine
  1717.      
  1718. 'If the doc wasn't saved, we do not need to execute the rest of the logic in this event     
  1719.      If DocWasSaved Or note.Locked(0) <> "" Then    
  1720.           Print "Closing Document"
  1721.      Else
  1722.           Exit Sub
  1723.      End If
  1724.      
  1725.      Action = note.tmpAction
  1726.      
  1727. 'A backend save (note.save) saves every field that it knows about, which is every field on the form.  It does not
  1728. 'distinguish between ComputedForDisplay and data fields (the backend classes have no such UI constraints).
  1729. 'Consequently, we delete all ComputedForDisplay and other temporary fields     
  1730.      itemlist = note.Items
  1731.      Forall n In itemlist
  1732.           If Lcase(Left(n.Name, 3)) = "tmp" Then n.Remove
  1733.      End Forall
  1734.      Scope = note.Scope
  1735.      CurrentReviewers = note.CurrentReviewers
  1736.      Status = note.Status
  1737.      
  1738. 'We reset the author names here because the UI save has already occurred (so we can).
  1739. 'The new authornames will take effect the next time the doc is accessed.     
  1740.      If Scope(0) = "Public" Then note.RemoveItem("DocumentReaders")
  1741.      If Status(0) = StatusList(1) Or Status(0) = StatusList(2) Then
  1742.           note.DocumentAuthors = Originator(0)
  1743.      Else
  1744.           ResetAuthorNames
  1745.      End If
  1746.      
  1747.      If note.HasItem("SaveOptions") Then note.RemoveItem("SaveOptions")
  1748.      If note.Locked(0) = CurrentUser Then 
  1749.           note.RemoveItem("Locked")
  1750.      Else
  1751.           If DocIsLocked Then Exit Sub         
  1752.      End If
  1753.      
  1754.      FinalSave = True
  1755.      source.Reload
  1756.      source.Refresh
  1757.      source.Save
  1758.      
  1759.      w.ViewRefresh
  1760.      Print
  1761.      
  1762. ErrorRoutine:
  1763.      Exit Sub
  1764.      
  1765. End Sub
  1766. ,    ,    ,
  1767. `    `    p
  1768. [,    I$
  1769. -<    #8$
  1770.     DocumentWorkflow Subform
  1771.     :  This Subform includes the LotusScript, Actions, and hidden fields which are used in all versions of the Document form.
  1772.     Hidden Fields:-------------------------------------------------------------------
  1773. DocumentAuthors
  1774.     4S6S
  1775. DocumentAuthors
  1776. Scope
  1777. Private
  1778. Reviewers
  1779.     3S4S6S7S8S10SDocumentReaders
  1780. LastEditor
  1781. Mark PrivateF
  1782. Scope
  1783. Private
  1784.     1S2S3S
  1785. Scope
  1786. Private
  1787.     1S2S
  1788. Mark Public
  1789. Scope
  1790. Public
  1791.     1S2S3S
  1792. Scope
  1793. Public
  1794. Scope
  1795.     1S2S3S4S
  1796. Submit for Review
  1797. Reviewers
  1798. Reviewers
  1799.     1S2S3S
  1800. Reviewers
  1801. Document Library
  1802. Please indicate who should review this document.
  1803.     0RR6S7S9S15S17S21S
  1804. Reviewers
  1805. Froma
  1806. Document Library
  1807. The Originator cannot be on the reviewer list.
  1808.     0RR9S15S21S23S27S
  1809. tmpAction
  1810. Submit
  1811.     0RR1S2S3S
  1812. SaveOptions
  1813.     0R1S2S3S
  1814. GoToField causes any active embedded objects to de-activate
  1815.     0R1S
  1816.     0R4S
  1817.     0R7S12S>
  1818. Status
  1819. StatusListv
  1820.     5S7S8S
  1821. Setup Review Cycle
  1822. GetReviewCycle
  1823. Status
  1824. StatusList
  1825. ReviewCycle
  1826. ReviewStyle
  1827. ReviewWindow
  1828. ReviewTime
  1829. NotifyAfter
  1830. SaveChoices
  1831.     1S2S5S6S10S13S18S21S22S23S24S25S26S27S28S30S
  1832. ReviewCycle
  1833. GetReviewCycle
  1834. GetReviewCycle
  1835.     0RR1S2S5S6S8S10S14S
  1836. ReviewStyle
  1837. ReviewCycle
  1838. Serial.NoVersions
  1839. ReviewCycle
  1840.     0RR1S2S3S9S10S12S14S18S
  1841. ReviewWindow
  1842. ReviewCycle
  1843. NoLimit
  1844. ReviewCycle
  1845.     0R1S2S3S9S10S12S14S20S23S
  1846. ReviewTime
  1847. ReviewCycle
  1848. ReviewCycle
  1849.     0R1S2S3S9S10S12S14S20S23S
  1850. NotifyAfter
  1851. ReviewCycle
  1852. Final
  1853. ReviewCycle
  1854.     0R1S2S3S9S10S12S14S20S23S
  1855. SaveChoices
  1856. ReviewCycle
  1857. ReviewCycle
  1858.     0R1S2S3S9S10S12S14S18S
  1859. ReviewOptions
  1860. Review Cycle
  1861.     0RR10S12S13S15S20S
  1862. Status
  1863. StatusList
  1864.     0RR1S2S3S9S12S
  1865. ReviewCycle
  1866. SaveChoices
  1867. ReviewStyle
  1868. ReviewWindow
  1869. ReviewTime
  1870. NotifyAfter
  1871. SaveChoices
  1872.     0R1S2S3S6S7S9S11S14S15S16S17S18S19S20S21S23S
  1873. ReviewTime
  1874. ReviewWindow
  1875. NoLimit
  1876. ReviewTimeX
  1877.     0RR1S2S3S6S7S9S11S
  1878. tmpReviewUnits
  1879. ReviewWindow
  1880. NoLimit
  1881. day(s)
  1882.     0R1S2S3S6S7S9S11S
  1883. these are posted commands so that they do not execute until after the section is fully expanded (because the field it is going to is inside the section)
  1884.     0RR1S
  1885. Reviewers
  1886.     0R4S
  1887. tmpCurrentUser
  1888. Status
  1889. StatusListv
  1890.     1S2S6S8S9S13S15S16S
  1891. Clear Review Cycle
  1892. InReview
  1893. Status
  1894. StatusListv
  1895.     1S2S8S10S11S13S15S
  1896. ReviewerList
  1897. InReview
  1898. CurrentReviewers
  1899.     0R1S2S6S8S
  1900. Status
  1901. StatusList
  1902.     0RR1S2S3S7S
  1903. ReviewSequence
  1904. All Reviewers simultaneously
  1905.     0R1S2S3S
  1906. Versioning
  1907. Edit Original Document
  1908.     0R1S2S3S
  1909. NotifyAfter
  1910. Notify Originator after each Reviewer
  1911.     0R1S2S3S
  1912. Reviewers
  1913.     0R1S2S3S
  1914. PreviousReviewers
  1915.     0R1S2S3S
  1916. CurrentReviewers
  1917.     0R1S2S3S
  1918. FutureReviewers
  1919.     0R1S2S3S
  1920. $VersionOpt
  1921.     0R1S2S3S
  1922. InReview
  1923. ReviewerList
  1924. Review of document:  
  1925. Subject
  1926. I no longer require you to review this document.  Thank you for your efforts.
  1927. tmpCurrentUser"
  1928. Subject
  1929.     0RR4S8S10S12S13S14S16S18S19S20S24S26S27S28S29S33S35S36S37S38S40S41S42S45S
  1930. Document Library
  1931. The Review Cycle has been cleared.
  1932.     0RR4S6S
  1933. tmpCurrentUser
  1934. Status
  1935. StatusListv
  1936.     1S2S6S8S9S13S15S16S17S18S19S20S
  1937. My Review is Complete
  1938. tmpAction
  1939. Complete
  1940.     1S2S3S
  1941. SaveOptions
  1942.     0R1S2S3S
  1943. GoToField causes any active embedded objects to de-activate
  1944.     0RR1S
  1945.     0R4S
  1946.     0R7S12S4
  1947. tmpCurrentUser
  1948. InProcess
  1949. Archive Log
  1950. Times New Roman
  1951.  ArchiveLog
  1952. $MessageType
  1953. %12-/H
  1954. !G,$W,#I4)X6(H,4W,4G98X<6h*#x+$g9)w8(h.6u-2g<5w<4>B=YA
  1955. WC9iB.xC-iF8wH8jT>zR<rd?
  1956. 2L3;FK=Dj=C:FQ8Qp<b
  1957. GEHXHGLQLZSKEKUVKSGRYYWWgJEvIEiTHyWFfLRwKSgYWwZV[cXtfYPZjl\dWfphhhvigkqlysjhktvlsjtxyww
  1958. Archive Log for 
  1959. ArchiveDate
  1960. ArchiveTrailer
  1961. ArchiveTrailer
  1962.     Hidden:  
  1963. Archive Log for 
  1964. ArchiveDate
  1965.     1S2S
  1966. Subject
  1967. (Archive)
  1968. Categories
  1969. Closee 
  1970.     0S0E
  1971. Categori_ze
  1972. _Edit Document
  1973. Send Docu_ment
  1974. _Forward
  1975. _Move to Folder...
  1976. _Remove from Folder
  1977. OriginalSubject
  1978. OriginalSubject
  1979. OriginalSubject
  1980. Subject
  1981.     1S2S3S10S12S
  1982. NewRespTitle
  1983. New Response to "
  1984. OriginalSubject
  1985.     0R1S2S3S4S5S6S
  1986. StandardTitle
  1987. Response 
  1988.  of "
  1989.  to "
  1990. OriginalSubject
  1991.     0R1S2S3S4S8S9S10S11S12S13S14S15S16S17S
  1992. NewRespTitle
  1993. StandardTitle
  1994.     0R4S6S
  1995. "MS Sans Serif
  1996. Times New Roman
  1997.  Response
  1998. @___@
  1999. <a>7`^
  2000. `!bb!R
  2001. SubjectKey thought of this response
  2002.     Created by
  2003. FromThe name of the person who composed the response
  2004. DateThe date/time when the document was composed
  2005. TimeCreated
  2006. @___@
  2007. <a>7`^
  2008. `!bb!R
  2009. BodyEnter the text of your response
  2010.     -------------------------------------------------------------------------------------------------------------------------------------------------
  2011.     Hidden Fields:    
  2012. OriginalSubject
  2013. OriginalSubject
  2014. Subject
  2015.     7S9S
  2016. OriginalSubjectHidden field to store topic of Main Document
  2017. Closej 
  2018.     0S0E
  2019. _Edit Document
  2020. Categori_ze
  2021. Send Docu_ment
  2022. _Forward
  2023. _Move to Folder...
  2024. _Remove from Folder
  2025. rchiveManager
  2026. 10/11/95 08:31:58 AM Lotus Notes updated [-Default-]
  2027. 09/29/95 12:06:40 PM Catherine Duffy/Iris updated [OtherDomainServers]
  2028. 09/29/95 12:06:32 PM Catherine Duffy/Iris updated LocalDomainServers
  2029. 09/29/95 08:07:25 AM Lotus Notes updated -Default-
  2030. 09/28/95 05:01:12 PM Lotus Notes updated [OtherDomainServers]
  2031. 09/28/95 05:01:04 PM Lotus Notes updated [OtherDomainServers]
  2032. 09/28/95 10:56:54 AM Catherine Duffy/Iris deleted role ArchiveManager
  2033. 09/01/95 04:09:45 PM Lotus Notes updated [LocalDomainServers]
  2034. 09/01/95 04:09:38 PM Lotus Notes updated [OtherDomainServers]
  2035. 09/01/95 04:09:30 PM Lotus Notes updated LocalDomainServers
  2036. 09/01/95 04:09:23 PM Lotus Notes added LocalDomainServers
  2037. 09/01/95 04:09:23 PM Lotus Notes added [OtherDomainServers]
  2038. 09/01/95 04:09:23 PM Lotus Notes added [LocalDomainServers]
  2039. 09/01/95 04:09:23 PM Lotus Notes added [-Default-]
  2040. 09/01/95 04:08:35 PM Lotus Notes deleted [OtherDomainServers]
  2041. 09/01/95 04:08:32 PM Lotus Notes deleted [LocalDomainServers]
  2042. 09/01/95 04:08:30 PM Lotus Notes deleted LocalDomainServers
  2043. 09/01/95 04:08:29 PM Lotus Notes updated [LocalDomainServers]
  2044. 09/01/95 04:08:24 PM Lotus Notes updated LocalDomainServers
  2045. 09/01/95 04:08:19 PM Lotus Notes updated [OtherDomainServers]
  2046. -Default-
  2047. [-Default-]
  2048. [LocalDomainServers]
  2049. [OtherDomainServers]
  2050. LocalDomainServers
  2051. Archive Profile
  2052. Times New Roman
  2053. '++LotusScript Development Environment:2:5:(Options):0:66
  2054. Option Public
  2055. '++LotusScript Development Environment:2:5:(Forward):0:1
  2056. '++LotusScript Development Environment:2:5:(Declarations):0:10
  2057. %INCLUDE "lsconst.lss"
  2058. Dim s As NotesSession
  2059. Dim w As NotesUIWorkspace
  2060. Dim db As NotesDatabase
  2061. Dim archivedb As NotesDatabase
  2062. Dim view As NotesView
  2063. Dim note As NotesDocument
  2064. Dim profile As NotesDocument
  2065. Dim doc As NotesUIDocument
  2066. Dim DocWasSaved As Integer
  2067. Dim DoNotClose As Variant
  2068.  Archive Profile'++LotusScript Development Environment:2:5:(Options):0:66
  2069. '++LotusScript Development Environment:2:5:(Forward):0:1
  2070. Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant)
  2071. Declare Sub Querysave(Source As Notesuidocument, Continue As Variant)
  2072. Declare Sub Postopen(Source As Notesuidocument)
  2073. '++LotusScript Development Environment:2:5:(Declarations):0:2
  2074. '++LotusScript Development Environment:2:2:BindEvents:1:129
  2075. Private Sub BindEvents(Byval Objectname_ As String)
  2076.      Static Source As NOTESUIDOCUMENT
  2077.      Set Source = Bind(Objectname_)
  2078.      On Event Queryclose From Source Call Queryclose
  2079.      On Event Querysave From Source Call Querysave
  2080.      On Event Postopen From Source Call Postopen
  2081. End Sub
  2082. '++LotusScript Development Environment:2:2:Queryclose:1:12
  2083. Sub Queryclose(Source As Notesuidocument, Continue As Variant)
  2084.      
  2085.      If (DocWasSaved = False) Or (profile Is Nothing) Or DoNotClose Then Exit Sub
  2086.      
  2087.      ItemList = profile.Items
  2088.      Forall n In ItemList
  2089.           profile.RemoveItem(n.Name)    
  2090.      End Forall
  2091.      note.CopyAllItems profile
  2092.      profile.SaveOptions = "1"
  2093.      profile.save True, True
  2094.      
  2095. End Sub
  2096. '++LotusScript Development Environment:2:2:Querysave:1:12
  2097. Sub Querysave(Source As Notesuidocument, Continue As Variant)
  2098.      
  2099.      ArchiveServer = Evaluate("@Name([Abbreviate]; ArchiveServer)", note)
  2100.      If note.ArchiveLocation(0) = "Local" Then ArchiveServer(0) = ""
  2101.      ArchivePath = note.ArchivePath
  2102.      
  2103.      On Error Resume Next
  2104.      Set archivedb = New NotesDatabase(ArchiveServer(0), ArchivePath(0))
  2105.      If note.HasItem("ArchiveDbCreated") Then
  2106.           If Not(archivedb.IsOpen) Then Messagebox "Unable to access the archive database.", MB_OK, "Archive Setup"
  2107.      Else
  2108.           Do Until archivedb.IsOpen
  2109.                If ArchiveServer(0) = "" Then
  2110.                     ArchiveFile = ArchivePath(0)
  2111.                Else
  2112.                     ArchiveFile = ArchiveServer(0) & "!!" & ArchivePath(0) 
  2113.                End If
  2114.                Print "Creating Archive database - " & ArchiveFile
  2115.                Set archivedb = db.CreateCopy(ArchiveServer(0), ArchivePath(0))
  2116.                If Not(archivedb.IsOpen) Then Call archivedb.Open("", "")
  2117.                If Err = 0 Then
  2118.                     archivedb.Title = db.Title & " (Archived)"
  2119.                     views = archivedb.Views
  2120.                     Forall i In views
  2121.                          If i.IsFolder Then
  2122. 'Don't remove default view from database
  2123.                               If Not i.IsDefaultView Then i.Remove
  2124.                          End If
  2125.                     End Forall
  2126.                     Messagebox "Archive database - " & ArchiveFile & " has been created.",_
  2127.                     MB_OK, "Archive Setup"
  2128.                     note.ArchiveDbCreated = 1
  2129.                     w.ViewRefresh
  2130.                     Call s.SetEnvironmentVar("MailArcSet", "1")
  2131.                Else
  2132.                     Err = 0
  2133.                     If ArchiveServer(0) = "" Then
  2134.                          Messagebox "Unable to automatically create local archive database - " & ArchivePath(0) & ".",_
  2135.                          MB_OK, "Archive Setup"
  2136.                          Exit Do
  2137.                     Else
  2138.                          Select Case Messagebox("Unable to automatically create server archive database - " & _
  2139.                          ArchiveServer(0) & "!!" & ArchivePath(0) & ".  Would you like to archive locally?",_
  2140.                          MB_YesNoCancel, "Archive Setup")
  2141.                          Case IDYES
  2142.                               note.ArchiveLocation = "Local"
  2143.                               source.reload
  2144.                               source.refresh
  2145.                               Delete archivedb
  2146.                               ArchiveServer = note.ArchiveServer
  2147.                               ArchivePath = note.ArchivePath
  2148.                          Case IDNO
  2149.                               Messagebox "Please contact your server administrator about adding " & ArchivePath(0) &_
  2150.                               " to server " & ArchiveServer(0) & ".", MB_OK, "Archive Setup"
  2151.                               Exit Do
  2152.                          Case Else
  2153.                               DoNotClose = True
  2154.                               Continue = False
  2155.                               Exit Sub
  2156.                          End Select
  2157.                     End If
  2158.                End If        
  2159.           Loop
  2160.      End If
  2161.      
  2162.      DocWasSaved = True
  2163.      DoNotClose = False
  2164.      
  2165.      If Not(profile Is Nothing) Then note.SaveOptions = "0"
  2166.      
  2167.      source.Reload
  2168.      source.RefreshHideFormulas  
  2169.      
  2170.      Print
  2171.      
  2172. End Sub
  2173. '++LotusScript Development Environment:2:2:Postopen:1:12
  2174. Sub Postopen(Source As Notesuidocument)
  2175.      
  2176.      Set note = source.Document
  2177.      Set w = New NotesUIWorkspace
  2178.      Set s = New NotesSession
  2179.      Set db = s.CurrentDatabase
  2180.      Set view = db.GetView("Archiving")
  2181.      
  2182.      source.AutoReload = False
  2183.      
  2184.      If source.IsNewDoc = False Then Exit Sub
  2185.      
  2186.      Set profile = view.GetDocumentByKey("Archive Profile")
  2187.      If profile Is Nothing Then
  2188.           note.ProtectFromArchive = 1
  2189.           note.ExcludeFromView = "D"
  2190.           note.From = "Archiving"
  2191.           note.Subject = "Archive Profile"
  2192.           note.Categories = "(Archive)"
  2193.           Call note.ReplaceItemValue("_ViewIcon", 11)
  2194.           source.reload
  2195.      Else
  2196.           ItemList = note.Items
  2197.           Forall n In ItemList
  2198.                note.RemoveItem(n.Name)    
  2199.           End Forall
  2200.           profile.CopyAllItems note
  2201.           source.Reload
  2202.           If source.EditMode Then source.Refresh
  2203.      End If
  2204.      
  2205.      DocWasSaved = False
  2206.      
  2207. End Sub
  2208. ArchiveServer
  2209. Archive Profile 
  2210. ArchiveExpired
  2211. Archive Expired documents | Yes
  2212.     after
  2213. ExpiredLife
  2214. Number cannot be negative.{
  2215.     3S4S6S11SExpiredLife
  2216.     days
  2217. ArchiveInactive
  2218. Archive documents which have no activity | Yes
  2219.     after
  2220. DocumentLife
  2221. Number cannot be negative.{
  2222.     3S4S6S11SDocumentLife
  2223.     days
  2224. ArchiveLog
  2225. Generate an Archive Log each time an archive occurs | Yes
  2226. IncludeDoclinks
  2227. Include document links | Yes
  2228.     0S0E
  2229.     Documents are archived:
  2230. Local
  2231. ArchiveLocation
  2232. Locally | LocalOn Server | Server
  2233. ArchiveLocation
  2234. Local
  2235.     1S2S3S4S
  2236.     Archive database is on server:
  2237.     0S0E
  2238. ArchiveServer
  2239. ArchiveLocation
  2240. Local
  2241. ArchiveServer
  2242. ArchiveServer
  2243.     4RS4E6R7S8S10RS4E12R13S14S16RS4E20S23R
  2244. ArchiveServer
  2245.     Archive file:
  2246. CurrentPath
  2247.     1S2S6S
  2248. CurrentFile
  2249. CurrentPath
  2250.     0R1S2S6S
  2251. FileOnly
  2252. CurrentPath
  2253. CurrentFile
  2254. CurrentFile
  2255.     0R1S2S8S11S15S18S
  2256. DirOnly
  2257. CurrentPath
  2258. CurrentFile
  2259.     0R1S2S8S11S15S17S18S20S
  2260. DirOnly
  2261. FileOnly"
  2262. CurrentPath
  2263.     0RR1S2S5S6S8S10S11S15S
  2264. ArchivePath
  2265. Please specify the filename of the archive database
  2266.     3S4S6S11SArchivePath
  2267.     Archive server:
  2268.     Archive database:
  2269. ArchiveServer
  2270. Local
  2271. ArchiveServer
  2272.     3S4S6S8S
  2273. tmpArchiveServer
  2274. ArchivePath
  2275. tmpArchivePath
  2276.     Archive Profile editors:
  2277. ProfileEditors
  2278. Closer 
  2279.     0S0E
  2280. Categori_ze
  2281. _Edit Document
  2282. Send Docu_ment
  2283. _Forward
  2284. Save Profile 
  2285.     0S0E
  2286. _Move to Folder...
  2287. _Remove from Foldery
  2288. nV$DesignVersion$Version$Formula$FormulaClass$Collation$UpdatedBy$Signature$AssistVersion$TITLE$TYPE$Operation$Scan$Flags$LeftToDo$AssistType$AssistLastRun$AssistDocCount$Comment$AssistFlags$AssistTrigger$AssistInfo$AssistQuery$AssistAction$AssistAction_Ex$AssistRunInfo$Info$Fonts$Body$ACLDigest$FlagsNoRefreshIconBitmap$Index$Collation1$Collation2$VIEWFORMAT$ACTIONS$Collation3$Collation4$SCRIPTOBJ_10$Name$FolderIDTable$FolderObject$ViewMapDataset$ViewMapLayout$WindowTitle$$ScriptNameSubjectFromDateTimeCreatedBodyOriginalSubjectImmediateParentSubject$FieldsReviewTime_1ReviewStyleReviewWindowNotifyAfterReviewTimeSaveChoices$Script$$Script_O$$FormScript$$$FormScript_ODocumentAuthorsDocumentReadersLastEditor$$XMB$LicenseeDocLife$ManualArchivers_OObsoleteLifeDocumentLife$MessageTypeArchiveDateArchiveTrailerCategoriesArchiveExpiredExpiredLifeArchiveInactiveArchiveLogIncludeDoclinksArchiveLocationArchiveServerArchivePathProfileEditors$SubForms$$Reviewers$Reviewers_OPreviousReviewersCURRENTREVIEWERSFutureReviewersReviewersReviewerLog$Collection$ViewContainer
  2289. New Document
  2290. Subject
  2291.     4S6S
  2292. "MS Sans Serif
  2293. Times New Roman
  2294. Helvetica
  2295. '++LotusScript Development Environment:2:5:(Options):0:66
  2296. Option Public
  2297. '++LotusScript Development Environment:2:5:(Forward):0:1
  2298. '++LotusScript Development Environment:2:5:(Declarations):0:10
  2299. Dim FormW As NotesUIWorkspace
  2300. Dim FormDoc As NotesUIDocument
  2301.  Document'++LotusScript Development Environment:2:5:(Options):0:66
  2302. '++LotusScript Development Environment:2:5:(Forward):0:1
  2303. Declare Sub Exiting(Source As Field)
  2304. '++LotusScript Development Environment:2:5:(Declarations):0:2
  2305. '++LotusScript Development Environment:2:2:BindEvents:1:129
  2306. Private Sub BindEvents(Byval Objectname_ As String)
  2307.      Static Source As FIELD
  2308.      Set Source = Bind(Objectname_)
  2309.      On Event Exiting From Source Call Exiting
  2310. End Sub
  2311. '++LotusScript Development Environment:2:2:Exiting:1:12
  2312. Sub Exiting(Source As Field)
  2313.      Set FormW = New NotesUIWorkspace
  2314.      Set FormDoc = FormW.CurrentDocument
  2315.      FormDoc.refresh
  2316.      
  2317. End Sub
  2318. DocumentWorkflow
  2319.     DocumentWorkflow Subform
  2320.     :  This Subform includes the LotusScript, Actions, and hidden fields which are used in all versions of the Document form.
  2321.     Hidden Fields:-------------------------------------------------------------------
  2322. DocumentAuthors
  2323.     4S6S
  2324. DocumentAuthors
  2325. Scope
  2326. Private
  2327. Reviewers
  2328.     3S4S6S7S8S10SDocumentReaders
  2329. LastEditor
  2330. Scope
  2331. Private
  2332.     1S2S
  2333. Scope
  2334. Public
  2335. Scope
  2336.     1S2S3S4S
  2337. %12-/H
  2338. !G,$W,#I4)X6(H,4W,4G98X<6h*#x+$g9)w8(h.6u-2g<5w<4>B=YA
  2339. WC9iB.xC-iF8wH8jT>zR<rd?
  2340. 2L3;FK=D
  2341. j=C:FQ8Qp<b
  2342. GEHXHGLQLZSKEKUVKSGRYYWWgJEvIEiTHyWFfLRwKSgYWwZV[cXtfYPZjl\dWfphhhvigkqlysjhktvlsjtxyww
  2343. Subject
  2344.     0S0E
  2345. SubjectRequired: description of this document 
  2346.     Created By:    
  2347. FromDocument author name
  2348.      on 
  2349. DateThe date/time when the document was composed
  2350.      at 
  2351. TimeCreated
  2352.     Category
  2353. Miscellaneous
  2354. CategoriesPress ENTER for list of keywords or to add a new keyword
  2355. ($All)
  2356.     4S6S
  2357. Status
  2358. StatusListv
  2359.     4S6S7S8S9S10S11S
  2360. Review Cycle Information
  2361. Status
  2362. StatusListv
  2363.     4S6S7S8S9S
  2364. Paintbrush cann
  2365. this file becaus
  2366.  created using a
  2367.  of Windows earl
  2368.  3.0.
  2369. Save As
  2370.  From
  2371. Copy To
  2372. Save Colors As
  2373. Printing '%s' on
  2374. on %s
  2375. Page %d of
  2376. % donelNot enoug
  2377.  to print.
  2378. more application
  2379. rease available 
  2380.     Originator
  2381.     Previous reviewers
  2382.     Current Reviewers
  2383.     Future reviewers
  2384. tmpOriginator
  2385. PreviousReviewers
  2386. PreviousReviewers
  2387. CurrentReviewers
  2388. CurrentReviewers
  2389. FutureReviewers
  2390. FutureReviewers
  2391. Status
  2392. StatusListv
  2393.     4S6S7S8S9S
  2394. Paintbrush cann
  2395. this file becaus
  2396.  created using a
  2397.  of Windows earl
  2398.  3.0.
  2399. Save As
  2400.  From
  2401. Copy To
  2402. Save Colors As
  2403. Printing '%s' on
  2404. on %s
  2405. Page %d of
  2406. % donelNot enoug
  2407.  to print.
  2408. more application
  2409. rease available 
  2410.     Originator
  2411.     Reviewers
  2412.     Review Options
  2413. tmpOriginator_1
  2414. Reviewers
  2415. Reviewers
  2416. ReviewersEnter the reviewers' names (do not use Group names)
  2417. ReviewStyle
  2418. ReviewStyle
  2419. Serial review | Serial.NoVersionsSerial (keep all revisions) | Serial.VersionsDocument reservations | Parallel.NoVersionsResponse review | Parallel.Versions
  2420. ReviewWindow
  2421. ReviewWindow
  2422. No time limit for each review | NoLimitMove to next reviewer after: | MoveOnKeep sending reminders after: | Reminder
  2423. ReviewTime
  2424. ReviewTime
  2425. ReviewWindow
  2426. NoLimit
  2427. day(s)
  2428.     3S4S6S8S
  2429. tmpReviewUnits
  2430. NotifyAfter
  2431. NotifyAfter
  2432. Notify originator after each reviewer | EachNotify originator after final reviewer | Final
  2433. BodyEnter the text (or a description) of the document.
  2434.     ...........................
  2435. ReviewerLog
  2436.     1S2S3S4S
  2437. Reviewer Log
  2438. ReviewerLog
  2439.     1S2S
  2440. ReviewerLog
  2441. ReviewerLog
  2442. Closea 
  2443.     0S0E
  2444. _Edit Document
  2445. DocumentAuthors
  2446.     9S15S
  2447. Categori_ze
  2448. _Forward
  2449. _Move to Folder...
  2450. _Remove from Folder
  2451. Send Docu_ment
  2452. Times New Roman
  2453. Task List
  2454. &Switch To
  2455. About Document Library
  2456.     What does this database do?
  2457.     A Document Library application is an electronic filing cabinet that stores reference documents for access by a workgroup.  The database might contain anything from environmental impact statements for a group of engineers to financial statements for a group of loan officers.
  2458.     Who will use this database?
  2459.     Anyone who wishes to create a record of a document or review available documents may use this database.
  2460.     Important Features
  2461.     Review Cycle:
  2462.      Used to 
  2463.     route a document to a series of recipients.
  2464.     Document Archiving:
  2465.     Used to move expired documents to an archive database.
  2466.     Suggestions for Modifications
  2467.     Full text search: 
  2468.     If you wish to use Notes' full text search capabilities for a database created with this template, select menu File, Database, Properties, go to the Full Text panel and then select Create Index... to create the full text index.
  2469.     Where to find more information?
  2470.     -  More information can be found by selecting Help, Using Database
  2471.     Access Control
  2472.     Very Important:  
  2473.     Access level should be 
  2474.     Author
  2475.      for all users of this database.  This will prevent unauthorized editing of documents within the database.  The Author fields within the forms govern who will be able to edit/review particular documents.   Errors will occur if someone with Editor access attempts to review a document when they are not an authorized reviewer of that document.
  2476. '++LotusScript Development Environment:2:5:(Options):0:74
  2477. Option Public
  2478. '++LotusScript Development Environment:2:5:(Forward):0:1
  2479. Declare Sub Initialize
  2480. Declare Sub EvaluateDocument(ArchiveType)
  2481. Declare Sub ArchiveDocument
  2482. Declare Sub Terminate
  2483. Declare Sub ProcessDocuments
  2484. Declare Sub FixReaderNames
  2485. '++LotusScript Development Environment:2:5:(Declarations):0:10
  2486. %INCLUDE "lserr.lss"
  2487. %INCLUDE "lsxbeerr.lss"
  2488. Dim s As NotesSession
  2489. Dim sourcedb As NotesDatabase
  2490. Dim archivedb As NotesDatabase
  2491. Dim note As NotesDocument
  2492. Dim newnote As NotesDocument
  2493. Dim lognote As NotesDocument
  2494. Dim profile As NotesDocument
  2495. Dim documents As NotesDocumentCollection
  2496. Dim responses As NotesDocumentCollection
  2497. Dim view As NotesView
  2498. Dim dtNow As NotesDateTime
  2499. Dim dtExpired As NotesDateTime
  2500. Dim dtDocument As NotesDateTime
  2501. Dim dtCompare As NotesDateTime
  2502. Dim item As NotesItem
  2503. Dim rtitem As NotesRichTextItem
  2504. Dim CurrentServer As String
  2505. Dim ArchiveExpired As Variant
  2506. Dim ExpiredLife As Variant
  2507. Dim ArchiveInactive As Variant
  2508. Dim DocumentLife As Variant
  2509. Dim ArchiveServer As Variant
  2510. Dim ArchivePath As Variant
  2511. Dim ArchiveLog As Variant
  2512. Dim IncludeDocLinks As Variant
  2513. Dim Archive As Variant
  2514. Dim goAgain As Variant
  2515. Dim DoNotRun As Variant
  2516. Dim DbNotOpen As Variant
  2517. '++LotusScript Development Environment:2:2:Initialize:1:10
  2518. Sub Initialize
  2519.      
  2520.      On Error Goto ErrorRoutine
  2521.      On Error ErrObjectVariableNotSet Resume Next 
  2522.      
  2523.      Set s = New NotesSession
  2524.      Set sourcedb = s.CurrentDatabase
  2525.      Set view = sourcedb.GetView("Archiving")
  2526.      
  2527.      Set profile = view.GetDocumentByKey("Archive Profile")
  2528.      If profile Is Nothing Then
  2529.           Messagebox "There is no archive profile for this database.  " &_
  2530.           "Please contact the database manager for further information.", 0 + 64, "Archive"
  2531.           DoNotRun = True
  2532.           Exit Sub       
  2533.      End If
  2534.      
  2535.      ArchiveExpired = profile.ArchiveExpired
  2536.      ArchiveInactive = profile.ArchiveInactive 
  2537.      If (ArchiveExpired(0) = "") And (ArchiveInactive(0) = "") Then
  2538.           DoNotRun = True
  2539.           Exit Sub       
  2540.      End If
  2541.      
  2542.      ExpiredLife = profile.ExpiredLife
  2543.      DocumentLife = profile.DocumentLife
  2544.      ArchivePath = profile.ArchivePath
  2545.      ArchiveServer = Evaluate("@Name([Abbreviate]; ArchiveServer)", profile)
  2546.      ArchiveLog = profile.ArchiveLog
  2547.      IncludeDocLinks = profile.IncludeDocLinks
  2548.      
  2549.      Set dtNow = New NotesDateTime("Today")
  2550.      Set dtExpired = New NotesDateTime("Today")
  2551.      Set dtDocument = New NotesDateTime("Today")
  2552.      Set dtCompare = New NotesDateTime("Today")
  2553.      dtNow.SetNow
  2554.      If ArchiveExpired(0) = "Yes" Then dtExpired.AdjustDay(Int(ExpiredLife(0)) * -1)
  2555.      If ArchiveInactive(0) = "Yes" Then dtDocument.AdjustDay(Int(DocumentLife(0)) * -1)
  2556.      
  2557.      If ArchiveLog(0) = "Yes" Then
  2558.           Set lognote = New NotesDocument(sourcedb)
  2559.           Set rtitem = New NotesRichTextItem(lognote, "Body")
  2560.           lognote.Form = "Archive Log"
  2561.           lognote.ArchiveDate = dtNow.LSLocalTime
  2562.           lognote.ProtectFromArchive = 1
  2563.           lognote.ExcludeFromView = "D"
  2564.           lognote.From = "Archiving"
  2565.           lognote.Categories = "(Archive)"
  2566.           Call lognote.ReplaceItemValue("_ViewIcon", 22)
  2567.      End If
  2568.      
  2569.      On Error lsERR_NOTES_DBOPEN_FAILED Resume Next
  2570.      Set archivedb = New NotesDatabase(ArchiveServer(0), ArchivePath(0))
  2571.      If archivedb.IsOpen = False Then
  2572.           DbNotOpen = True
  2573.           Err = 0
  2574.           Exit Sub
  2575.      End If        
  2576.      
  2577.      ProcessDocuments
  2578.      
  2579.      Exit Sub
  2580.      
  2581. ErrorRoutine:
  2582.      Print "Unexpected condition: " & Err & " - " & Error
  2583.      Err = 0
  2584.      Exit Sub
  2585.      
  2586. End Sub
  2587. '++LotusScript Development Environment:2:2:EvaluateDocument:1:8
  2588. Sub EvaluateDocument(ArchiveType)
  2589.      
  2590.      On Error Goto ErrorRoutine
  2591.      On Error ErrObjectVariableNotSet Resume Next 
  2592.      
  2593.      Archive = False
  2594.      
  2595. 'If this type of form does not get archived then exit
  2596.      If note.HasItem("ProtectFromArchive") Then
  2597.           ProtectFromArchive = note.ProtectFromArchive
  2598.           If ProtectFromArchive(0) = 1 Then Exit Sub
  2599.      End If
  2600.      
  2601.      Select Case ArchiveType
  2602.      Case "Expired"
  2603.           If ArchiveExpired(0) = "Yes" And note.HasItem("ExpireDate") Then
  2604.                Set item = note.GetFirstItem("ExpireDate")
  2605.                Set dtCompare = item.DateTimeValue
  2606.                If dtCompare Is Nothing Then
  2607.                     Set dtCompare = New NotesDateTime("Today")
  2608.                Else
  2609.                     If dtExpired.TimeDifference(dtCompare) >= 0 Then
  2610.                          Archive = True
  2611.                          Exit Sub
  2612.                     End If
  2613.                End If
  2614.           End If
  2615.      Case "Inactive"
  2616.           If ArchiveInactive(0) = "Yes" Then
  2617.                AccessDate = note.LastAccessed
  2618.                dtCompare.LSLocalTime = AccessDate
  2619.                If dtDocument.TimeDifference(dtCompare) >= 0 Then Archive = True
  2620.           End If
  2621.      End Select
  2622.      
  2623.      Exit Sub
  2624.      
  2625. ErrorRoutine:
  2626.      Print "Unexpected condition: " & Err & " - " & Error
  2627.      Err = 0
  2628.      Exit Sub     
  2629.      
  2630. End Sub
  2631. '++LotusScript Development Environment:2:2:ArchiveDocument:1:8
  2632. Sub ArchiveDocument
  2633.      
  2634.      On Error Goto ErrorRoutine
  2635.      On Error ErrObjectVariableNotSet Resume Next 
  2636.      
  2637. $Archived and DateArchived might already be present, if this agent failed the last
  2638. time it was run.  None of these fields should be on the archived copy, because we 
  2639. don't want the archive database to inadvertantly archive these documents (it can
  2640. archive, but it needs to use its own criteria)
  2641. %END REM
  2642.      
  2643.      If note.HasItem("$Archived") Then note.RemoveItem("$Archived")
  2644.      If note.HasItem("DateArchived") Then note.RemoveItem("DateArchived")
  2645.      If note.HasItem("ExpireDate") Then note.RemoveItem("ExpireDate")
  2646.      FixReaderNames
  2647.      note.Save True, True
  2648.      Set newnote = note.CopyToDatabase(archivedb)
  2649.      note.DateArchived = dtNow.LSLocalTime    
  2650.      Call note.AppendItemValue("$Archived", True)
  2651.      note.Save True, True
  2652.      
  2653.      Subject = note.Subject
  2654.      CreatedBy = Evaluate("@Name([Abbreviate]; From)", note)
  2655.      CreatedDate = note.Created
  2656.      
  2657.      If ArchiveLog(0) = "Yes" Then
  2658.           If IncludeDocLinks(0) = "Yes" Then
  2659.                Call rtitem.AppendDocLink(newnote, "DocLink to " & Subject(0))
  2660.                Call rtitem.AddTab(1)
  2661.           End If
  2662.           Call rtitem.AppendText(Subject(0) & " (created by " & CreatedBy(0) & " on " &_
  2663.           Format(CreatedDate, "Short Date") & ")")
  2664.           Call rtitem.AddNewLine(2)
  2665.           lognote.Save True, True
  2666.      End If
  2667.      
  2668.      Exit Sub
  2669.      
  2670. ErrorRoutine:
  2671.      Print "Unexpected condition: " & Err & " - " & Error
  2672.      Err = 0
  2673.      Exit Sub
  2674.      
  2675. End Sub 
  2676. '++LotusScript Development Environment:2:2:Terminate:1:10
  2677. Sub Terminate
  2678.      
  2679.      If DoNotRun Then Exit Sub
  2680.      
  2681.      On Error Goto ErrorRoutine
  2682.      On Error ErrObjectVariableNotSet Resume Next 
  2683.      
  2684.      Set documents = sourcedb.Search("@IsAvailable(DateArchived)", Nothing, 0)
  2685.      ArchiveCount = documents.Count
  2686.      For n = 1 To ArchiveCount
  2687.           Set note = documents.GetNthDocument(n)         
  2688.           note.Remove(True)
  2689.      Next
  2690.      
  2691.      If ArchiveLog(0) = "" Then Exit Sub
  2692.      
  2693.      ArchiveTitle = archivedb.Title
  2694.      dtNow.SetNow
  2695.      If ArchiveServer(0) = "" Then ArchiveServer(0) = "Local"
  2696.      lognote.Subject = "Archive Log for " & Format(dtNow.LSLocalTime, "General Date")
  2697.      
  2698.      If DbNotOpen Then
  2699.           If ArchiveServer(0) = "" Then
  2700.                ArchiveFile = ArchivePath(0)
  2701.           Else
  2702.                ArchiveFile = ArchiveServer(0) & "!!" & ArchivePath(0)
  2703.           End If
  2704.           lognote.Body = "The Archive agent was unable to open your archive file - " & ArchiveFile &_
  2705.           ".  Please verify that the file exists."
  2706.      End If
  2707.      
  2708.      lognote.ArchiveTrailer = "Archive of " & ArchiveCount & " documents on server " & _
  2709.      ArchiveServer(0) & " from " & sourcedb.Title & " (" & sourcedb.FilePath & ") to " & ArchiveTitle & _
  2710.      " (" & ArchivePath(0) & ") completed sucessfully on " & _
  2711.      Format(dtNow.LSLocalTime, "Short Date") & " at " & _
  2712.      Format(dtNow.LSLocalTime, "Long Time") & _
  2713.      ".  Expired documents are archived after " & ExpiredLife(0) & _
  2714.      " days.  All other documents are archived after " & DocumentLife(0) & " days of inactivity."
  2715.      lognote.Save True, True
  2716.      Call lognote.CopyToDatabase(archivedb)
  2717.      
  2718.      Print
  2719.      
  2720.      Exit Sub
  2721.      
  2722. ErrorRoutine:
  2723.      If Not(DbNotOpen) Then Print "Unexpected condition: " & Err & " - " & Error
  2724.      Err = 0
  2725.      Exit Sub
  2726.      
  2727. End Sub
  2728. '++LotusScript Development Environment:2:2:ProcessDocuments:1:8
  2729. Sub ProcessDocuments
  2730.      
  2731.      On Error Resume Next
  2732.      
  2733.      Print "Archiving documents..."
  2734.      
  2735. 'First check for Expired documents
  2736.      If ArchiveExpired(0) = "Yes" Then
  2737.           Set documents = sourcedb.Search("@IsAvailable(ExpireDate)", Nothing, 0) 
  2738.           If documents.Count > 0 Then
  2739.                For n = 1 To documents.Count
  2740.                     Set note = documents.GetNthDocument(n)
  2741.                     EvaluateDocument("Expired")
  2742.                     If Archive = True Then ArchiveDocument
  2743.                Next
  2744.           End If
  2745.      End If
  2746.      
  2747. 'Now check the rest of the documents     
  2748.      If ArchiveInactive(0) = "Yes" Then
  2749.           Set documents = sourcedb.AllDocuments
  2750.           If documents.Count > 0 Then
  2751.                For n = 1 To documents.Count
  2752.                     Set note = documents.GetNthDocument(n)
  2753.                     EvaluateDocument("Inactive")
  2754.                     If Archive = True Then ArchiveDocument
  2755.                Next
  2756.           End If
  2757.      End If
  2758.      
  2759. 'Loop through all the documents that we archived and archive their reponses
  2760.      Do
  2761.           Set documents = sourcedb.Search("@IsAvailable($Archived)", Nothing, 0)
  2762.           goAgain = False
  2763.           For n = 1 To documents.count
  2764.                Set note = documents.GetNthDocument(n)
  2765.                Call note.RemoveItem("$Archived")              
  2766.                If Err = 0 Then
  2767.                     note.Save True, True
  2768.                     Set responses = note.Responses
  2769.                     If responses.Count > 0 Then
  2770.                          For i = 1 To responses.Count
  2771.                               Set note = responses.GetNthDocument(i)
  2772.                               If Not note.HasItem("$Archived") Then ArchiveDocument
  2773. 'Since we just archived a response, we have to loop back through in order to archive all of its reponses
  2774.                               goAgain = True
  2775.                          Next
  2776.                     End If
  2777.                Else
  2778.                     Err = 0
  2779.                End If
  2780.           Next
  2781.      Loop While goAgain
  2782.      
  2783. End Sub
  2784. '++LotusScript Development Environment:2:2:FixReaderNames:1:8
  2785. Sub FixReaderNames
  2786.      
  2787.      If note.HasItem("Readers") Then
  2788.           If note.Readers(0) = "" Then note.RemoveItem("Readers")
  2789.      End If
  2790.      If note.HasItem("DocumentReaders") Then
  2791.           If note.DocumentReaders(0) = "" Then note.RemoveItem("DocumentReaders")
  2792.      End If
  2793.      
  2794. End Sub
  2795. ;tAH=tA
  2796. lIlI8I8I
  2797. (    H    D
  2798. ("(" +
  2799. "H#L,
  2800. H#($4-
  2801. h#(%t-
  2802. h$(*H/
  2803. %H%T0
  2804. %H&D1
  2805. &H'@3
  2806. 'H)85
  2807. H(H( 6
  2808. h(h(T6
  2809. (h),7
  2810. )H+l8
  2811. +h,4<
  2812. ,h. >
  2813. h-h-8?
  2814. 0(1PE
  2815. h1H3xF
  2816. 1H2lG
  2817. 2H4@I
  2818. 3(8xI
  2819. 3(4|J
  2820. (4h4pK
  2821. 4h5LL
  2822. 5H6(N
  2823. h6h7xO
  2824. 8\@xS
  2825. 9XB8T
  2826. (9(:lT
  2827. 9H:XU
  2828. H:h;|V
  2829. H;H;PX
  2830. ELHLH
  2831. 8=,><Y    
  2832. H@F@FXGXG
  2833. ?dADZ    
  2834. \@HB\Z    
  2835. E4D4D
  2836. HBxB([    
  2837. lJ\c=
  2838. [(=KT<-(C#
  2839. ?K(=,LC}4]#
  2840. ?,|C}t]#
  2841. [XBK<>P
  2842. [xBK<>P
  2843. [hBK<>P
  2844. BK<>P
  2845. BK<>P
  2846. BK<>P
  2847. BK<>P
  2848. Kl@,4D
  2849. K|@,4D
  2850. [,>+H=[(=$
  2851. [8B+tAG,>}
  2852. K,>QdD}(`
  2853. K,>QpDK\@-|D#
  2854. [8=+d<
  2855. >,8E}
  2856. >,8E}
  2857. >,xE}
  2858. @KdA-
  2859. @.|DJ
  2860. >,8E}
  2861. >,@F}
  2862. >,8E}
  2863. >,@F}
  2864. >,8E}
  2865. >,@F}
  2866. F[8=#
  2867. FK\@-|D#
  2868. >-XG#
  2869. K8B,|G[
  2870. K,>,pF
  2871. >K(=,LH}$e
  2872. ^(I4(
  2873. ^8IK8=-HI#
  2874. K,>Q$G}
  2875. fK\@-|D#}8f
  2876. K,>Q|I}
  2877. K(=-HI#
  2878. K\@-|D#}
  2879. K\@-|D#}`h
  2880. K,>,pF
  2881. F[8=#1
  2882. >K(=,LH}
  2883. >K(=-
  2884. >K(=,LH}
  2885. >,@F}
  2886. ^@J48
  2887. >,8E}
  2888. ^PJ6G
  2889. >,8E},j#8
  2890. >,@F},j#
  2891. >,8E}Tj#8
  2892. >,@F}Tj#
  2893. ArchiveServer
  2894. Lotus Notes
  2895. PURSAF
  2896. Debbie2 Branco
  2897. F)`b"
  2898. 0|wm-
  2899. PURSAF
  2900. TS3+v
  2901. $TITLE
  2902. $AssistType
  2903. $AssistLastRun
  2904. $AssistDocCount
  2905. $AssistFlags
  2906. $AssistInfo
  2907. $AssistQuery
  2908. $AssistAction
  2909. $AssistAction_Ex
  2910. $UpdatedBy
  2911. $Flags
  2912. Lotus Notes(Unlock Document)Use if a doc is accidentally left in a locked state.  Can be accessed by designers and managers from the Review Status view.003
  2913. ##########################################################
  2914. DocumentDocumentDocumentWorkflow
  2915. LastEditorDocumentReadersDocumentAuthorsReviewerLogBodyNotifyAfterReviewTimeReviewWindowReviewStyleReviewersFutureReviewersCurrentReviewersPreviousReviewersCategoriesTimeCreatedDateFromSubject4AC6430F6CD19A423E75F8491FCFE112Lotus Notes
  2916. CN=Catherine Duffy/O=IrisLotus Notes
  2917. ##########################################################
  2918. ##########################################################
  2919. ##########################################################
  2920. ##########################################################
  2921. ##########################################################
  2922. ##########################################################
  2923. ##########################################################
  2924. ##########################################################
  2925. ##########################################################
  2926. ##########################################################
  2927. ##########################################################
  2928. ##########################################################
  2929. ##########################################################
  2930. ##########################################################
  2931. ##########################################################
  2932. ##########################################################
  2933. ##########################################################
  2934. ##########################################################
  2935. ##########################################################
  2936. ##########################################################
  2937. ##########################################################
  2938. ##########################################################
  2939. ##########################################################
  2940. ##########################################################
  2941. ##########################################################
  2942. ##########################################################
  2943. ##########################################################
  2944. ##########################################################
  2945. ##########################################################
  2946. ##########################################################
  2947. ##########################################################
  2948. ##########################################################
  2949. ##########################################################
  2950. ##########################################################
  2951. ##########################################################
  2952. ##########################################################
  2953. ##########################################################
  2954. ##########################################################
  2955. ##########################################################
  2956. ##########################################################
  2957. ##########################################################
  2958. ##########################################################
  2959. ##########################################################
  2960. ##########################################################
  2961. ##########################################################
  2962. ##########################################################
  2963. Selects those documents which are in review and have due dates which have passed.  Based upon the review style of the document, it then either moves it along to the next reviewer, marks it as complete, or simply notifies the current reviewer(s) that their review is overdue.
  2964. CN=Catherine Duffy/O=Iris
  2965. Response to ResponseResponse to Response.
  2966. *Nb:O
  2967. ReviewOptionsReviewOptions.
  2968. (Archive Log)Archive LogArchiveLog.
  2969. ResponseResponse.
  2970. Archive ProfileArchiveProfileArchive Profile.
  2971. Use if a doc is accidentally left in a locked state.  Can be accessed by designers and managers from the Review Status view.
  2972. DocumentDocumentZ
  2973. CN=Catherine Duffy/O=IrisLotus Notes
  2974. Response to ResponseResponse to Response
  2975. ReviewOptionsReviewOptions
  2976. (Archive Log)Archive LogArchiveLog
  2977. ResponseResponse
  2978. Archive ProfileArchiveProfileArchive Profile
  2979. DocumentDocument
  2980. Response to ResponseResponse to Response
  2981. ReviewOptionsReviewOptions
  2982. (Archive Log)Archive LogArchiveLog
  2983. ResponseResponse
  2984. Archive ProfileArchiveProfileArchive Profile
  2985. DocumentDocument
  2986. Response to ResponseResponse to Response.
  2987. *Nb:O
  2988. ReviewOptionsReviewOptions.
  2989. (Archive Log)Archive LogArchiveLog.
  2990. ResponseResponse.
  2991. Archive ProfileArchiveProfileArchive Profile.
  2992. Use if a doc is accidentally left in a locked state.  Can be accessed by designers and managers from the Review Status view.
  2993. DocumentDocumentZ
  2994. CN=Catherine Duffy/O=IrisLotus Notes
  2995.