If you want to convert existing documents such that they are identified as threads, run this once against all documents.EHCN=Catherine Duffy/OU=NAHQ/O=Lotus4fL3
Set item = New NotesItem(profile, "Readers", ReaderNames, READERS)
item.IsSummary = True
Else
Set item = profile.GetFirstItem("ProfileThreads")
If item.Contains(ThreadId(0)) Then
Messagebox "This topic is already in your Interest Profile.", 64, "Add Thread"
Exit Sub
Else
item.AppendToTextList(ThreadId(0))
Set item = profile.GetFirstItem("ProfileThreadSubjects")
item.AppendToTextList(ThreadSubject)
End If
End If
profile.Save True, True
Messagebox "The current topic has been added to your Interest Profile. You will be notified by mail when new responses appear in this topic.", 0 + 64, "Add Thread"
End Sub
LocalDomainServers
2S3S
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
Nc)v)y@
$TITLE
$AssistType
$AssistLastRun
$AssistDocCount
$AssistFlags
$AssistTrigger
$AssistInfo
$AssistQuery
$AssistAction
$AssistAction_Ex
dfvh2
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$ACLDigest
InterestProfile
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
l&vW41
$TITLE
$FORMULA
$Type
$Operation
$Scan
Categori_ze
_Edit Document
Send Docu_ment
_Forward
Forward as Bookmark
Bookmark
4S6S
_Move to Folder...
_Remove from Folder...
All Documents
($All)
0S0E
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$TITLE
$Index
$FORMULA
$FORMULACLASS
$VIEWFORMAT
$Comment
$ACTIONS
O=Iris
CN=Teresa Deane/
ExistingDoc
Email address of author
Submitted by
Names of NNTP discussion groups or newsgroups to receive this article
Newsgroup
fromh
Anonymous
0S0E
DateComposedDate this document was composed
at
timeComposed
Newsgroups
Newsgroups
FullHeaders
0S0E
Name of author's organization (for example, Acme Corporation)
Organization:
If present, follow-up messages are to be posted to the newsgroup or newsgroups listed
Follow-up To:
Used to limit the distribution of the message
Distribution:
Organization
Organization
FollowupTo
Followup_To
Distributions
Distribution
Subject of this article
Document Title:
Subject
SubjectEnter a short description of this main topic.
Body of this article
Message Content:
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
'rLtaA
$TITLE
$INFO
$$Script_O
$$ScriptName
$BODY
"Small Fonts
Shared Response Header<
0S0E
0S0E
Begin Hidden Fields
-----------------------------
Hidden fields to store the subject of this document's ancestors.
OriginalSubject
OriginalSubject
Subject
7S9S
OriginalSubject
Hidden fields to store the subject of this document's ancestors.
Subject
ImmediateParentSubject
Hidden field to store type of form that is the parent document. Used in Preview Parent action.
ParentForm
Used to maintain thread integrity. Inherited from parent.
ThreadId
ThreadId
Used as caption in newsletter that is sent based on user's interest profile
Subject
(Response to: ""
OriginalSubject
1S2S3S4S5S6S
NewsLetterSubject
This is the main UNID of the parent document
MainID
MainID
Used to return a confirmation page to the web user
This database has all of the capabilities of a general discussion but is also serves as the basis for an nntp discussion. Generally speaking, a workgroup can use this database to share their thoughts and ideas. Almost any group that has information to share among its members can use a discussion database. An engineering group can discuss the products they are designing. An advertising agency can discuss the ad campaigns they are developing. A special interest group can share ideas and opinions on their common interests. Users in your organization can contribute through usenet newsgroups.
To get started, a user can simply browse through discussion topics and responses that others have contributed. This is particularly useful for new workgroup members who need to come up to speed on important issues that the group is working on. The history of discussion about these issues is preserved in the group's discussion database.
A user can also take a more active role in the discussion by composing his/her own responses to others' comments and by proposing new main topics for discussion.
You can think of a discussion database as an informal meeting place, where the members of a workgroup can share ideas and comments. Like a physical meeting, each member of the workgroup listens to what others have to say and can voice his/her own opinions. However, unlike a physical meeting, the participants do not have to be in the same room at the same time to share information. People can participate when it is convenient for them to do so. And because it is easy for them to share information, they will do so.
Who will use this database?
All the members of a workgroup should use the group's discussion database. Some users will just follow the main topics and responses that other members have contributed. More active users will compose their own main topics and responses.
This template is designed for users accessing the information either from a Notes client, a web browser or a news reader. All features are available to both types of users. See the Database Using document for more information on how to use the discussion features from a web browser.
When to use this database?
Use the database when you have time: a free moment between meetings, after hours, while traveling.
Where to find more information?
More information can be found in the R4 help database, HELP.NSF and in the
1S2S10S
Notes
/$help?OpenHelp
0R10S
Using document
for this database.
Access Control:
The default access of a database created with this template is "Author".
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$INFO
$BODY
Add Selected Topic To Interest Profile
(ProfileInstructions)(ProfileInstructions)
(ArchiveInstructions)(ArchiveInstructions)
$$ViewTemplate for By AuthorAuthorViewTemplate
$$ViewTemplate for ArchivingArchivingViewTemplate
RemoveThreadRemoveThread
$$ViewTemplate for To Be Moderated
$$ViewTemplateDefaultAllViewTemplate
(Archive Log)Archive LogArchiveLog
Database ProfileDatabaseProfile
Main TopicMain Topic
Response To ResponseResponseToResponse
ResponseResponse
Archive ProfileArchiveProfileArchive Profile
Interest ProfileInterestProfileInterest Profile
erest Profile
erest Profile
terest Profile
The agent that gets run by the submit button on the archive profile.
$$ViewTemplate for To Be Moderated
Add Selected Topic To Interest Profile
(ProfileInstructions)(ProfileInstructions)
$$ViewTemplate for By AuthorAuthorViewTempla
$$ViewTemplate for ArchivingArchivingVie
(Archive Log)Archive LogArchiveLog
$$ViewTemplate for To Be Moder
$$ViewTemplateDefaultAllViewTemplate
ic To Interest Profile
(ProfileInst
$$ViewTempla
Interest Pro
$$ViewTemplate for ArchivingArchivingViewTemplate
DefaultAllViewTemplate.
se ProfileDatabaseProfile
moveThread
(Archive Log)Archive LogArchiveLog
Web Query Save agent for Interest Profile fo
$$ViewTemplate for To Be Moderated
This agent removes the selected thread from the usViewTemplate
d form.
Docl/
yan Jansen/O=Iris
ResponseResponse
Response To ResponseResponseueryOpen agent on the Interest Profile
The agent that gets run by the submit button on the archive profile.
ileArchiveProfileArchive Profile
is deletes documents for the web user.
terest Profile
The agent that gets run by the submit button on the archive profile.
$$ViewTemplate for To Be Moderated
CN=Ryan Jansen/O=Iris
CN=Ryan Jansen/O=Iris
$3Article Number
$4Recvd Date
$UNameMessage IDNNTP_SizeSizeLinesLines$8AuthorN
NNTP_From
NNTP_From
0S0E
$9SubjectV
NNTP_Subjecth
NNTP_Subject
Subject
0S0E
$10Posted Date
$11Referencesb
NNTP_References
NNTP_References
References
0S0E
PathPathDistributionDistributions$18IsLMBCSR
NNTP_IsLMBCSh
NNTP_IsLMBCS
0S0E
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
CougxX
%*{=L
$TITLE
$Index
$FORMULA
$FORMULACLASS
$VIEWFORMAT
$Comment
$ViewGlobalScript_O
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$TITLE
$INFO
$BODY
&Arial
$$ReturnAuthenticationFailure
0S0E
The name and password cannot be authenticated.<HR>
Messagebox "The archive database cannot be found. Click on the Setup Archive button to create a new archive database.",16,"Database not found"
Exit Sub
End Sub
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$TITLE
$Index
$FORMULA
$FORMULACLASS
$VIEWFORMAT
$Comment
$ACTIONS
$SCRIPTOBJ_10
$ViewGlobalScript_O
O=Iris
CN=Teresa Deane/O=Iris
Times New Roman
(ArchiveInstructions)
A/-.9()
B7@'$%$/
'(CA;:
024GWTO
.7)'*
()7BQ?J?IXD>40$%
+/-. ()+)
424@Z?J?_MD
7(BGP
cb_G@420$
6/<:;.:
764>@QV?JLhbGDB+B7
'0-3#/
76G_Z?J?
MG:G:
9 69+D7@QGE
RseMG9B6G9D:@7>4<85!/
(69QXEJ?Ywvo
CMO;U
D9@BUg
_XDBPD
,96DG_
J Z{nZ]jbUB
G\Web_QKVQX_U
_laVKa
D ;+1
Xj?J?dN?
LcgUQD\mWbV?
gDUcg]J?JwsolbjlN
]NJ?J?VUP4'%&
?J?J?Sl_bmp
]dJ?Lrj_
jSJ?N{zslbjl?J?L
aU@2( "!
9:X_V?J?LnqY
m s]J?Lv{wd
coleohuN?Jd{soejln
Lryn?J?ZhWF5#!
a?J?yw
d?Jfv
o]?J?r
+ 9DXbJ?Jd|
?J?J?
?]vol
nJ?JrwoltloS
Y|y{yRJ?SseA-,
^J?`wsvohq?
oYJ?S|y{zL
ZvbG.
) 6DMZJ?Jt{
?J?iwo
l er?J?v|y{
RJ?[wv
w{w]?J?ko_;6+
'76XS?
gVoljb_bjJ?Jfst
?Yid?
YsjM6
7@GLJ?^w
a?J?vljX
ja?J?J?
?kolb_jlf?
`?J?J?Lgl_D(4
'*)7B
]otlS
UG_cN
?LZjXUGUGZ?
qlg_g
RJ?R{d
?^jt_D6*'
'4@Gj
l jGB@B9BUX
rlj_XB@6BGXjlb_
X jJ?Jd{wtg
lgD72$
0*4BGXGXUDU
7@BUX_X_XUB@
azolrjgUB7'$
2 '0'2*>7@9
6@74*
*4>76
@!6@QDZJ?JrljXGDB742$%
2 *20$
4 242'0'$'$
?tjUQ@>42'
]acjGB>4'0
$0247B
$024>742'$%&
kkksss{{{
Discussion Help
Archive Profile Help
The Archive Profile allows you to specify which documents should be removed from the current database and stored in an archive database. This allows you to keep your database up-to-date with only the latest topics. Archiving tasks can only be performed by managers of the database.
You can choose the following in your ArchiveProfile:
Archive or Delete documents
This option lets you decide to keep existing articles in an archive database or delete them from the existing database.
Archive expired documents
Choose this option if you wish to archive documents which have been marked as expired. Indicate the number of days to wait before the expired documents are archived.
Archive documents which have no activity
Choose this option if you wish to archive documents which have had no activity. Indicate the number of days to wait before the inactive documents are archived.
Generate an Archive Log each time an archive occurs
Choose this option if you wish to have an Archive Log created when documents are archived. You can also indicate if you would like document links to the archived documents included in the Archive Log.
Archive Profile Editors:
Specify the names of those users that should be allowed to modify the Archive Profile.
Specify Archive Location:
Click on this button to specify the server and filename of the Archive database. The archive database is created for you based upon the values specified in the dialog box.
Documents are Archived:
Select the location for the archive database. Options are Locally or On Server. What you select depends on where you intend to locate the archive database. In order to create databases on a server, you must have the proper access rights in the server document for the specific server.
Archive Database Server:
Specify the server which you would like to create the archive database on. If you are entering this from a web browser, you can only enter the current server that the database is located on. Use a Domino Designer client to enter a server other than the current server where the database resides. In order to create databases on a server, you must have the proper access rights in the server document for the specific server.
Archive File:
Specify the filepath and filename of the archive database. If no path is specified, the database will be created in the Notes data directory on the server or on the local client.
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Function GetString ( StringType As Integer) As String
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:1:GetString:1:8
Function GetString ( StringType As Integer) As String
'
GetString = ""
Select Case StringType
Case 1 ' WebAddtopic, WebExpire
GetString = "Back to Previous Document"
Case 2 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "All Documents"
Case 3 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "by Category"
Case 4 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "by Author"
Case 5 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "Archiving"
Case 6 ' WebAddtopic
GetString = "This document is not identified as a thread. Contact the database manager if you want all threads initialized."
Case 7 ' WebAddtopic
GetString = "This topic is already in your Interest Profile."
Case 8 ' WebAddtopic
GetString = "has been added to your Interest Profile. You will be notified by mail when new responses appear in this topic."
Case 9 ' WebArchiveSave
GetString = "Back to Archive Profile"
Case 10 ' WebArchiveSave
GetString = "Archive Database created successfully."
Case 11 ' WebDelete
GetString = "The document has been deleted."
Case 12 ' WebExpire
GetString = " cannot be marked for expiration." ' leave the leading space..
Case 13 ' WebExpire
GetString = "The document's expiration date has been removed."
Case 14 ' WebExpire
GetString = "The current document has been marked for expiration."
Case 15 ' WebRemoveThread
GetString = "Back to Interest Profile"
Case 16 ' WebRemoveThread, NewsArticleProcessing
GetString = "Profile document could not be found."
Case 17 ' WebRemoveThread
GetString = " has been removed from your Interest Profile." 'leave the leading space..
Case 18 ' WebArchiveSave
GetString = "A problem has been encountered while trying to create the archive database. Verify your database creation access rights and go through the creation process again."
Case 19 'WebSetupAgent
GetString = "A database for archiving has already been specified and created."
Case 20 ' WebSetupAgent
GetString = "Database: "
Case 21 ' WebSetupAgent
GetString = "Server: "
Case 22 ' WebSetupAgent
GetString = "If you would like to change the specified information for the database, click on the following link:"
Case 23 ' WebSetupAgent
GetString = "Modify Archive Database"
Case 24 ' WebSetupAgent
GetString = "A database for archiving has already been specified but not yet created. Please verify the information by clicking on the following link:"
Case 25 ' NewArticleProcessing
Getstring = "Couldn't find NNTP view"
Case 26 'WebArchiveSave
Getstring = "Archive Profile has been saved."
Case 27 'Expire Documents
Getstring = "You must select a document."
Case 28 'Expire Documents
Getstring = "Error"
Case 29 'Expire Documents
Getstring = "This will mark the selected document(s) as expired. Do you want to continue?"
Case 30 'Expire Documents
Getstring = "Expire Document(s)"
Case 31 'Unexpire documents
Getstring = "This will remove the expiration from the selected document(s). Do you want to continue?"
Case 32 'Unexpire documents
Getstring = "Unexpire Document(s)"
Case 33 'An error that we are not specifically handling
GetString = Err & " - " & Error
Case 34 'WebEditArchiveProfile
GetString = "Manager or Designer access is required to perform Archiving tasks."
Case 35 'Reject action
GetString = "Reject Error"
Case 36 'SetEmail routine
Getstring = "Moderator is not listed in the public address book. Enter another name for the Moderator."
Case 37 'ArticleOpen routine
Getstring = "Message ID is invalid"
Case 38 'DBOpen script
Getstring = "Invalid newsgroup name. Edit the database title and remove any illegal characters such as spaces, ?, !, [], or *:"
Case 39 'WebArchiveSave
Getstring = "(WebArchiveSave)"
Case 40 'WebArchiveSave
GetString = "You can only create an archive database on the Domino server that you are currently running on via a web browser. To create a database on a different server, use the Domino Designer client."
Case 41 'Approve/Reject non moderator (article forms)
GetString = "You are not the moderator of this newsgroup. Only moderators can approve or reject articles."
End Select
End Function
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$ScriptLib
$ScriptLib_O
$TITLE
$Flags
$PublicAccess
'++LotusScript Development Environment:2:5:(Options):0:66
Option Public
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Initialize
Declare Function GetDBPath
Declare Sub InstantiateObjects
'++LotusScript Development Environment:2:5:(Declarations):0:10
Dim s As NotesSession
Dim db As NotesDatabase
Dim dbpath As String
Dim note As NotesDocument
Dim IsWebUser As Integer
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
End Sub
'++LotusScript Development Environment:2:1:GetDBPath:1:8
Function GetDBPath
'check to see if the database is in a directory and swap the slash directions
'++LotusScript Development Environment:2:2:InstantiateObjects:1:8
Sub InstantiateObjects
Set s = New NotesSession
Set db = s.CurrentDatabase
Set note = s.documentcontext
End Sub
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$ScriptLib
$ScriptLib_O
$TITLE
$Flags
$PublicAccess
This $$Return field returns HTML as a result of the successful form submittal.
Warning: Lots of HTML Passthrough in here...
0R1S
resource strings..
0R1S2E
PrevDoc
Previous Document
0R1S2S
AllDoc
All Documents
0R1S2S
ByAuth
by Author
0R1S2S
Archiving
Archiving
0R1S2S
MainTopic
topic
0R1S2S
Response
response
0R1S2S
IntProfile
Interest Profile
0R1S2S
ArcProfile
Archive Profile
0R1S2S
Message
message
0R1S2S
ThankYou
Thank you for your
0R1S2S
Get the name of this database.
0RR1S
0R1S2S10S
Thank the user, personalize based on the first name.
0RR1S
FormName
MainTopic
MainTopic
Response
Response
ResponseToResponse
response
Interest Profile
IntProfile
Archive
ArcProfile
Message
0R1S2S5S6S8S10S11S12S14S16S17S18S28S
Thanks
ThankYou"
FormName"
! </h2><hr><br>
0R1S2S3S4S5S6S7S8S9S10S18S19S
Anchors to discussion views.
0RRR1S
existingdoclink
<b><a href=/
/($All)/"
?OpenDocument>"
PrevDoc
</a></b> |
0R11S14S15S16S17S
TopicView
<b> <a href=/
/($All)?OpenView>
AllDoc"
</a></b> |
0R1S2S3E3S4S5S6S7S8S9S10S
AuthorView
<b><a href=/
/by+Author?OpenView>"
ByAuth"
</a></b> |
0R1S2S3S4S5S6S7S8S9S10S
ArchivingView
<b><a href=/
/Archiving?OpenView>"
Archiving
</a></b> <hr>
0R7S8S9S10S
Assemble the HTML to be returned
0RR1S
OkMsg
Thanks
existingdoclink
TopicView
AuthorView"
ArchivingView
0R1S2S2E3S4S7S8S2E9S10S
OKMsg
$$Return
Add Selected Topic To Interest Profile
(ProfileInstructions)(ProfileInstructions)
(ArchiveInstructions)(ArchiveInstructions)
$$ViewTemplate for By AuthorAuthorViewTemplate
$$ViewTemplate for ArchivingArchivingViewTemplate
RemoveThreadRemoveThread
$$ViewTemplate for To Be Moderated
$$ViewTemplateDefaultAllViewTemplate
Interest ProfileInterestProfileInterest Profile
Archive ProfileArchiveProfileArchive Profile
(Archive Log)Archive LogArchiveLog
Database ProfileDatabaseProfile
Main TopicMain Topic
ResponseResponse
in TopicMain Topic
ResponseResponse
ResponseResponse
terest Profile
The agent that gets run by the submit button on the archive profile.
$$ViewTemplate for To Be Moderated
Add Selected Topic To Interest Profile
(ProfileInstructions)(ProfileInstructions)
$$ViewTemplate for By AuthorAuthorViewTempla
$$ViewTemplate for ArchivingArchivingVie
(Archive Log)Archive LogArchiveLog
$$ViewTemplate for To Be Moder
$$ViewTemplateDefaultAllViewTemplate
ic To Interest Profile
(ProfileInst
$$ViewTempla
Interest ProfileInterestProfileInterest Profile
ResponseResponse
Response To ResponseResponseToResponse
(WebRemoveThread)
RemoveThread
Used by WebRemoveSubject agent
HTTP_Referer
This is the list of active threads from the Interest Profile
ProfileThreadSubjects
ArchiveThreads
Make sure that this form is not saved.
SaveOptions
^ Y$/c X
,aK'_
`lX,^
|$y !
w`!Xa.Ba
AWBEYm-G/XB
}"c Xza
~d$"$
v`#${
w+wX`!w
qvw"{c
Xa,la
+GX*u
X!XBlCWt.
{#dY}Y0{
l}"${
dY0c
awlaz
Va"$-c
>nBz!
>MmE/`
d$m-bX.
%ld#|0Y{c- ,lb
^med1Y
GC.lz Y
_dm$/c
)S9[@
X!w!XG>M:MhDEHm
HYDcb.n
WDG-a*k@*Cd3Yb0
GXb-Bb,.
b XA*k@)Ee
kN3EYDM
eYM0b.X
Ll+X,
*Hd1cmCBXCG_
I:>O>i
ChMCnGa*K_`&~#
lLl[ZBLaFAFW
MHDcCL*
FBC>GA`k
_WALYMG
LlG.`_lGCG`
lc;M+B
_paB'kwa`
_%_(YE+
WBGCB
l `(`AFW_l(
Cg[9C
k@`X`
k>ED!
B@_%^
!l!Ca
WJ6T>
^\ShW
QT<Ta
\De}"|
>IP;a
BQ]<:\P
@Q:>bCcG0YEW
>T<TF
9UT]*
TQ<]'
'Q;\:_
L\>C.n-y/M0u
'5Q;E^
T<]<W
C:[X.Xb.G-D
VTQ\h
B;\:D
F;Ph>
LT5<Q<Q];W
hPM>Gu
;:D;]>
Q:GlL!
8PhMl
'TQ;\P\h>bXa
);h>v
[WCP:
;>GBCA
FQ;>Fa;DWLh:>
Q:>GK
FP:[)A9Xlw
p:>[k
gL,+lL,bk
FP>9v
R>G9q
9>C.Bv
u9C8C
SCXB+
[M[ZC
*>CBl,LB^
8h>[C
u>CBZ
[>G9Z
CG9GZ
CBLB9C
[>[8La+`FlC[
CXC[a
>h>[XBa
_Q:>L>SR
> ClawFaLB9
9CBlL,Z9>ZL
BC9G[
8C[8L
9CL`*
tW`LBL
l,lg+F`(ap
`aB8CBlF`alB8C8CBp+(
,laWxW
A+LXCZCB
C 8ZBLa(AFL
(PGOCZB,L
olLa`
k)`+g
FaLB7LF`ku
x*WA`(`(
*`wFaFa
`AWx'k
*Wkt_
* kxk
>8aAxk
kW`=pFW
ZZZccckkksss{{{
{ssskk
kZ{cR
{skskc
{{ssskkkc
0S0E
Bqo=<:i6
36i<n
p{IOT
Dpl9g
3h9lnA
JI{xwCs
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
rosoftWord RTF
Remove Thread
Select a Thread to Remove from your Interest Profile:
Removesubjects
ArchiveThreads
0S0E
0S0E
Submit
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
!5zS|7
$TITLE
$INFO
$WEBQuerySave
$$Script_O
$$ScriptName
$BODY
O=Iris
Times New Roman
(ProfileInstructions)
A/-.9()
B7@'$%$/
'(CA;:
024GWTO
.7)'*
()7BQ?J?IXD>40$%
+/-. ()+)
424@Z?J?_MD
7(BGP
cb_G@420$
6/<:;.:
764>@QV?JLhbGDB+B7
'0-3#/
76G_Z?J?
MG:G:
9 69+D7@QGE
RseMG9B6G9D:@7>4<85!/
(69QXEJ?Ywvo
CMO;U
D9@BUg
_XDBPD
,96DG_
J Z{nZ]jbUB
G\Web_QKVQX_U
_laVKa
D ;+1
Xj?J?dN?
LcgUQD\mWbV?
gDUcg]J?JwsolbjlN
]NJ?J?VUP4'%&
?J?J?Sl_bmp
]dJ?Lrj_
jSJ?N{zslbjl?J?L
aU@2( "!
9:X_V?J?LnqY
m s]J?Lv{wd
coleohuN?Jd{soejln
Lryn?J?ZhWF5#!
a?J?yw
d?Jfv
o]?J?r
+ 9DXbJ?Jd|
?J?J?
?]vol
nJ?JrwoltloS
Y|y{yRJ?SseA-,
^J?`wsvohq?
oYJ?S|y{zL
ZvbG.
) 6DMZJ?Jt{
?J?iwo
l er?J?v|y{
RJ?[wv
w{w]?J?ko_;6+
'76XS?
gVoljb_bjJ?Jfst
?Yid?
YsjM6
7@GLJ?^w
a?J?vljX
ja?J?J?
?kolb_jlf?
`?J?J?Lgl_D(4
'*)7B
]otlS
UG_cN
?LZjXUGUGZ?
qlg_g
RJ?R{d
?^jt_D6*'
'4@Gj
l jGB@B9BUX
rlj_XB@6BGXjlb_
X jJ?Jd{wtg
lgD72$
0*4BGXGXUDU
7@BUX_X_XUB@
azolrjgUB7'$
2 '0'2*>7@9
6@74*
*4>76
@!6@QDZJ?JrljXGDB742$%
2 *20$
4 242'0'$'$
?tjUQ@>42'
]acjGB>4'0
$0247B
$024>742'$%&
kkksss{{{
Discussion Help
Interest Profile Help
The Interest Profile allows you to find and follow discussion topics that meet the criteria you designate in the Interest Profile. You will be notified of the relevant discussion topics via a newsletter which will be mailed to you. This newsletter will contain document links to the discussion topics that meet your criteria.
You can choose the following in your Interest Profile:
Inform me of new documents by these Authors:
Specify one or more authors.
Inform me of new documents containing these words or phrases (separate with a new line):
For example:
Apples
Oranges
In addition to the above you can choose to track any individual discussion thread by selecting a document in that thread, then choosing the
Actions menu
item:
Add Selected Topic to Interest Profile
for Notes users
Web users should open the main topic document that they want added and select the
Set collection = db.UnprocessedSearch(totalquery, Nothing, 0)
End Sub
'++LotusScript Development Environment:2:2:BuildTextList:1:8
Sub BuildTextList(n As Variant)
If searchtype = "FT" Then
If textlist = "" Then
textlist = n
Else
textlist = textlist & ", " & n
End If
Else
nvalue = """" & n & """"
If textlist = "" Then
textlist = nvalue
Else
textlist = textlist & " : " & nvalue
End If
End If
End Sub
'++LotusScript Development Environment:2:2:BuildTotalQuery:1:8
Sub BuildTotalQuery
If totalquery = "" Then
totalquery = query
Else
If searchtype = "FT" Then
totalquery = totalquery & " or " & query
Else
totalquery = totalquery & " | " & query
End If
query = ""
End If
textlist = ""
End Sub
'++LotusScript Development Environment:2:2:Terminate:1:10
Sub Terminate
If Not (failed) Then
Set collection = db.UnprocessedDocuments
For n = 0 To collection.Count
Set note = collection.GetNthDocument(n)
Call s.UpdateProcessedDoc(note)
Next
End If
End Sub
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
g/[,K
$TITLE
$AssistType
$AssistLastRun
$AssistDocCount
$AssistFlags
$AssistTrigger
$AssistInfo
$AssistQuery
$AssistAction
$AssistAction_Ex
Times New Roman
(DatabaseInstructions)
A/-.9()
B7@'$%$/
'(CA;:
024GWTO
.7)'*
()7BQ?J?IXD>40$%
+/-. ()+)
424@Z?J?_MD
7(BGP
cb_G@420$
6/<:;.:
764>@QV?JLhbGDB+B7
'0-3#/
76G_Z?J?
MG:G:
9 69+D7@QGE
RseMG9B6G9D:@7>4<85!/
(69QXEJ?Ywvo
CMO;U
D9@BUg
_XDBPD
,96DG_
J Z{nZ]jbUB
G\Web_QKVQX_U
_laVKa
D ;+1
Xj?J?dN?
LcgUQD\mWbV?
gDUcg]J?JwsolbjlN
]NJ?J?VUP4'%&
?J?J?Sl_bmp
]dJ?Lrj_
jSJ?N{zslbjl?J?L
aU@2( "!
9:X_V?J?LnqY
m s]J?Lv{wd
coleohuN?Jd{soejln
Lryn?J?ZhWF5#!
a?J?yw
d?Jfv
o]?J?r
+ 9DXbJ?Jd|
?J?J?
?]vol
nJ?JrwoltloS
Y|y{yRJ?SseA-,
^J?`wsvohq?
oYJ?S|y{zL
ZvbG.
) 6DMZJ?Jt{
?J?iwo
l er?J?v|y{
RJ?[wv
w{w]?J?ko_;6+
'76XS?
gVoljb_bjJ?Jfst
?Yid?
YsjM6
7@GLJ?^w
a?J?vljX
ja?J?J?
?kolb_jlf?
`?J?J?Lgl_D(4
'*)7B
]otlS
UG_cN
?LZjXUGUGZ?
qlg_g
RJ?R{d
?^jt_D6*'
'4@Gj
l jGB@B9BUX
rlj_XB@6BGXjlb_
X jJ?Jd{wtg
lgD72$
0*4BGXGXUDU
7@BUX_X_XUB@
azolrjgUB7'$
2 '0'2*>7@9
6@74*
*4>76
@!6@QDZJ?JrljXGDB742$%
2 *20$
4 242'0'$'$
?tjUQ@>42'
]acjGB>4'0
$0247B
$024>742'$%&
kkksss{{{
Discussion Help
Database Profile Help
The Database Profile allows you to specify certain information about the current NNTP newsgroup database.
You can choose the following in your Database Profile:
Newsgroup name
This is specified when you create or the nntp process creates the database. It is the database title. For private newsgroups, the newsgroup name cannot be contained with the public usenet hierarchy (comp, news, rec, sci, soc, talk, misc).
Database Profile Editors
Specify the names of those users that should be allowed to modify the Database Profile.
These people are also added to the ACL as Managers of the database.
Private
Choose this option if you wish to have a private newsgroup for discussion. You can also indicate who the users of the private database are. These users are added to the ACL with Author access.
Moderated
Choose this option if you wish to have a moderated newsgroup. All moderated groups are private so you must specify users who can access this database (see Private). The name and e-mail address of the moderator are required for a moderated newsgroup. The moderator is added to the ACL as an editor.
Select the All Documents view to see a chronological listing of main topics for discussion and their responses. Select the By Author view to see what individual members of the discussion group have said.
To begin a discussion:
From the All Documents view or By Author view, create a Main Topic document to start a new topic for discussion. The newsgroup name will be automatically filled in for you but you may choose to cross post your article to other newsgroups. Also, your internet e-mail address is inserted into the from field. If this information is incorrect, put the correct information into the field otherwise nntp readers may not be able to reply to you via e-mail.
To respond to a main topic or a response document:
Menu
If you want to respond to a response to a main topic, first highlight the main topic document and then select Create, Document, Response. Fill out the response form.
When you are done, press
and answer Yes to save your new document.
If you want to respond to the message in a response document, highlight the appropriate response document and then select Create, Response to Response. Fill out the response form and then save your changes.
Actions
Open the document you wish to respond to and click the Respond action button at the top of the document.
Web Browser
Open the document you wish to respond to and click on the Respond hotspot at the top of the document. Fill out the response form and then click on either the submit hotspot on the top of the response form or the submit button at the bottom of the response form.
To mark a document as expired
Notes
Use the Action menu item Mark Document Expired to mark a document as obsolete. After a certain number of days (set in the Archive Profile) the obsolete document will be copied to an archive database and deleted from the discussion database.
Web Browser
Put the document in edit mode by selecting the Edit Document hotspot. Select the Mark Expired/Unexpired hotspot at the top of the document.
To set up an Interest Profile:
Notes
Use the Action menu item Interest Profile to bring up your personal interest profile document. You can elect to be notified via a newsletter if certain conditions are met. These conditions can include the appearance of a name or phrases that you designate.
Web Browser
Select the Edit Profile hotspot from any of the views in the database to bring up your personal interest profile document. You can elect to be notified via a newsletter if certain conditions are met. These conditions can include the appearance of your name or phrases that you designate. This feature is not available to Anonymous web users or news reader users.
To add the current discussion topic to your Interest Profile:
Notes
Use the Action menu item Add Selected Topic To Interest Profile to add the current discussion topic to the list of items you wish to track via newsletter.
Web Users
Open the Main Topic which you would like to be added to your interest profile and select the Add Topic to Interest Profile hotspot. This action is available whether you are reading or editing a main topic document. This feature is not available to Anonymous web users or news reader users.
Database Profile:
Each nntp discussion database contains a database profile which specifies information about the nntp discussion. The newsgroup name is displayed and may be edited when the database profile is first created. Note that the newsgroup name is not editable for usenet newsgroups. Additional information includes whether the database is a private newsgroup (not a usenet newsgroup) or whether the newsgroup is moderated. Users who are invited to participate in the private newsgroup can be entered into the database profile and will be added to the database ACL with Author access. If the newsgroup is moderated, the moderators name will be added to the ACL as Editor. The moderators e-mail address needs to be included as it is used to approve articles.
Moderating Articles:
The moderator of a private newsgroup is responsible for approving all news articles in the database. Open any of the documents in the To Be Moderated view. Approve and reject buttons appear on the action bar. Click the approve button to place the document in the All documents or By Author view for public viewing. Click the reject button to remove the article from the database. The reject button also generates an e-mail message addressed to the article author.
Agents & Archiving:
Newsletters
- A user can elect to be notified via e-mail when a new response has been added to certain topic(s) of discussion. These topics are specified in the user's Interest Profile. There are several agents pertaining to newsletters.
Edit Interest Profile:
The Interest Profile contains individual topics, phrases, keywords or categories of interest to the individual. It can be tailored to contain as wide or as narrow a selection of topics as the individual is seeking information on. This document is used by the
Send Newsletter
and
Add Current Topic to My Interest Profile
agents, described below.
WebEditInterest Profile:
Web users equivalent of the Edit Interest Profile agent.
Web InterestProfileSave:
Saves the Interest Profiles for web users.
Add Selected Topic to Interest Profile:
Allows the user to add new topics of interest to their individual interest profiles. After a new topic has been added, a Notes agent will process this request and notify the user via e-mail whenever new responses to this topic are added to the database. If the error "This is not identified as a thread. Contact the database manager if you want all threads initialized." appears, the database manager must run the agent called
Initialize ThreadIds
(see description below).
WebAddTopic:
Web users equivalent of Add Selected Topic to Interest Profile agent.
Send Newsletter:
Reviews the "Interest Profile" of each user who has a profile on a server-based Discussion database. It matches criteria on the profile with any criteria it finds in the topics of the current database. Each match generates a document link, which will become part of the newsletter; that newsletter is then mailed to the subscriber. The agent can be run periodically. Typically this would be on a daily basis.
WebRemoveThread:
Removes the selected thread from the web users Interest Profile.
Archiving Documents
- This is a process by which certain documents are either removed from the current database permanently or stored in a different database. This keeps the discussion 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 discussion database. You must also be a Manager of the database to perform archiving activities.
Notes
To set up archiving on any discussion database, switch to the Archiving view and click the action called "Setup Archive". The Archive Profile appears. This document contains criteria that the administrator specifies for archiving topics in a discussion (e.g., whether to archive or delete documents, inactive after 'x' days, or expired after 'x' days). If archiving is chosen, the archive database is automatically created. The archival database filename is also specified in the Archive Profile; the title of the archive will be the title of the Discussion database followed by "(Archived)". After the archive criteria have been specified in the Archive Profile, other agents run on the database to move or delete the document(s).
Web Users
Switch to the Archiving view and click the Setup Archive hotspot. This hotpot only appears to Managers of the database. The Archive Profile form appears. If archive is chosen, the archive database is automatically created. The archival database filename is also specified in the Archive Profile; the title of the archive will be the title of the Discussion 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).
Mark/Unmark Document as Expired:
Marks a topic as "expired". If the Archive Profile specifies that
expired
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.
Periodic Archive:
Reviews the Archive Profile and permanently deletes documents
which meet the archive criteria
or 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.
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$INFO
$BODY
Database Profile
"Small Fonts
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
Use "NewsArticleProcessing"
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Initialize
'++LotusScript Development Environment:2:5:(Declarations):0:10
%INCLUDE "lsconst.lss"
Dim s As NotesSession
Dim w As NotesUIWorkspace
Dim existingdb As NotesDatabase
Dim archivedb As NotesDatabase
Dim view As NotesView
Dim profile As NotesDocument
Dim archivedoc As NotesDocument
Dim doc As NotesUIDocument
Dim DocWasSaved As Integer
Dim DoNotClose As Variant
Dim ExistingServer As String
Dim ExistingPath As String
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
End Sub
P p p
DatabaseProfile'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Declare Sub Querysave(Source As Notesuidocument, Continue As Variant)
Declare Sub Postopen(Source As Notesuidocument)
Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Declare Sub Initialize
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As NOTESUIDOCUMENT
Set Source = Bind(Objectname_)
On Event Queryopen From Source Call Queryopen
On Event Querysave From Source Call Querysave
On Event Postopen From Source Call Postopen
On Event Queryclose From Source Call Queryclose
End Sub
'++LotusScript Development Environment:2:2:Queryopen:1:12
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
End Sub
'++LotusScript Development Environment:2:2:Querysave:1:12
Sub Querysave(Source As Notesuidocument, Continue As Variant)
InstantiateObjectVariables
DocWasSaved = True
DoNotClose = False
If Not(dbprofile Is Nothing) Then note.SaveOptions = "0"
source.Reload
source.RefreshHideFormulas
End Sub
'++LotusScript Development Environment:2:2:Postopen:1:12
Sub Postopen(Source As Notesuidocument)
Set currentdoc = source.document
'initialize global variables
InstantiateObjectVariables
Set note = source.Document
Set w = New NotesUIWorkspace
Set doc = source
'turn off auto reload to make processing faster
source.AutoReload = False
'if this is not a new doc, we don't need to continue
If Not (source.IsNewDoc) Then Exit Sub
'get the existing profile
key = "DatabaseProfile"
Set dbprofile = profileview.GetDocumentByKey(key,False)
If dbprofile Is Nothing Then
'an existing profile was not found
note.ProtectFromArchive = 1
note.ExcludeFromView = "D"
note.Subject = "Database Profile"
source.reload
Else
'copy the profile fields to this document
ItemList = note.Items
Forall n In ItemList
note.RemoveItem(n.Name)
End Forall
dbprofile.CopyAllItems note
source.Reload
If source.EditMode Then source.Refresh
End If
DocWasSaved = False
End Sub
'++LotusScript Development Environment:2:2:Queryclose:1:12
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
On Error 4000 Goto ErrorRoutine
Dim newsgrpview As notesview
Dim moderatedview As notesview
Dim groupname As String
Dim newusers As Variant
Dim oldusers As Variant
Dim UsersModified As Integer
Dim oldeditors As notesitem
Dim neweditors As notesitem
Dim newuseritem As notesitem
Dim olduseritem As notesitem
x=0
groupname = db.title
If (DocWasSaved = False) Or DoNotClose Then Exit Sub
'sometimes the moderator e-mail field never gets filled in so fill it in here
If note.modemail(0) = "" And note.moderator(0)<>"" Then
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
Use "DiscussionRoutines"
'++LotusScript Development Environment:2:5:(Forward):0:1
'++LotusScript Development Environment:2:5:(Declarations):0:10
Dim view As NotesView
Dim profile As NotesDocument
Dim DocWasSaved As Integer
Dim ProfileKey(1) As String
Dim tmpList As Variant
Interest Profile'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Postopen(Source As Notesuidocument)
Declare Sub Postrecalc(Source As Notesuidocument)
Declare Sub Querysave(Source As Notesuidocument, Continue As Variant)
Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Declare Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As NOTESUIDOCUMENT
Set Source = Bind(Objectname_)
On Event Postopen From Source Call Postopen
On Event Postrecalc From Source Call Postrecalc
On Event Querysave From Source Call Querysave
On Event Queryclose From Source Call Queryclose
On Event Queryopen From Source Call Queryopen
End Sub
'++LotusScript Development Environment:2:2:Postopen:1:12
Sub Postopen(Source As Notesuidocument)
If source.IsNewDoc = False Then Exit Sub
Set note = source.Document
Set s = New NotesSession
Set db = s.CurrentDatabase
Set view = db.GetView("($Profiles)")
source.AutoReload = False
key = "Interest Profile" & s.CommonUserName
Set profile = view.GetDocumentByKey(key,False)
If profile Is Nothing Then
note.ProtectFromArchive = 1
Exit Sub
End If
ItemList = note.Items
Forall n In ItemList
note.RemoveItem(n.Name)
End Forall
profile.CopyAllItems note
source.Reload
source.RefreshHideFormulas
DocWasSaved = False
End Sub
'++LotusScript Development Environment:2:2:Postrecalc:1:12
Sub Postrecalc(Source As Notesuidocument)
Action = note.Action
If Action(0) = "Maintain" Then
PersonName = note.PersonName
Else
Exit Sub
End If
source.AutoReload = False
Set profile = view.GetDocumentByKey(PersonName(0),False)
If profile Is Nothing Then Exit Sub
ItemList = note.Items
Forall n In ItemList
Print n.Name
note.RemoveItem(n.Name)
End Forall
profile.CopyAllItems note
source.Reload
source.Refresh
source.Refresh
DocWasSaved = False
End Sub
'++LotusScript Development Environment:2:2:Querysave:1:12
Sub Querysave(Source As Notesuidocument, Continue As Variant)
DocWasSaved = True
If profile Is Nothing Then
Exit Sub
Else
note.SaveOptions = "0"
End If
End Sub
'++LotusScript Development Environment:2:2:Queryclose:1:12
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If (DocWasSaved = False) Then Exit Sub
If Profile Is Nothing Then
note.save True, True
view.refresh
Exit Sub
End If
ItemList = profile.Items
Forall n In ItemList
profile.RemoveItem(n.Name)
End Forall
note.CopyAllItems profile
profile.SaveOptions = "1"
profile.save True, True
End Sub
'++LotusScript Development Environment:2:2:Queryopen:1:12
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
If Isnewdoc Then Exit Sub
Set note = source.document
'remove all this so it can get resest with default values each time the doc is opened
note.RemoveItem("WebProfileStrings")
End Sub
List of threads that the user wants to be notified of
ProfileThreads
ProfileThreads
List of people who can see the document
LocalDomainServers
1S2S
readers
Subject for forwarding this note
Interest Profile for
PersonName"
1S2S
Subject
No idea.
HiddenDocument
Standard Return information for the web clients
$$Return
Web User name
TYPE=hidden
Remote_User
Remote_User
^ Y$/c X
,aK'_
`lX,^
|$y !
w`!Xa.Ba
AWBEYm-G/XB
}"c Xza
~d$"$
v`#${
w+wX`!w
qvw"{c
Xa,la
+GX*u
X!XBlCWt.
{#dY}Y0{
l}"${
dY0c
awlaz
Va"$-c
>nBz!
>MmE/`
d$m-bX.
%ld#|0Y{c- ,lb
^med1Y
GC.lz Y
_dm$/c
)S9[@
X!w!XG>M:MhDEHm
HYDcb.n
WDG-a*k@*Cd3Yb0
GXb-Bb,.
b XA*k@)Ee
kN3EYDM
eYM0b.X
Ll+X,
*Hd1cmCBXCG_
I:>O>i
ChMCnGa*K_`&~#
lLl[ZBLaFAFW
MHDcCL*
FBC>GA`k
_WALYMG
LlG.`_lGCG`
lc;M+B
_paB'kwa`
_%_(YE+
WBGCB
l `(`AFW_l(
Cg[9C
k@`X`
k>ED!
B@_%^
!l!Ca
WJ6T>
^\ShW
QT<Ta
\De}"|
>IP;a
BQ]<:\P
@Q:>bCcG0YEW
>T<TF
9UT]*
TQ<]'
'Q;\:_
L\>C.n-y/M0u
'5Q;E^
T<]<W
C:[X.Xb.G-D
VTQ\h
B;\:D
F;Ph>
LT5<Q<Q];W
hPM>Gu
;:D;]>
Q:GlL!
8PhMl
'TQ;\P\h>bXa
);h>v
[WCP:
;>GBCA
FQ;>Fa;DWLh:>
Q:>GK
FP:[)A9Xlw
p:>[k
gL,+lL,bk
FP>9v
R>G9q
9>C.Bv
u9C8C
SCXB+
[M[ZC
*>CBl,LB^
8h>[C
u>CBZ
[>G9Z
CG9GZ
CBLB9C
[>[8La+`FlC[
CXC[a
>h>[XBa
_Q:>L>SR
> ClawFaLB9
9CBlL,Z9>ZL
BC9G[
8C[8L
9CL`*
tW`LBL
l,lg+F`(ap
`aB8CBlF`alB8C8CBp+(
,laWxW
A+LXCZCB
C 8ZBLa(AFL
(PGOCZB,L
olLa`
k)`+g
FaLB7LF`ku
x*WA`(`(
*`wFaFa
`AWx'k
*Wkt_
* kxk
>8aAxk
kW`=pFW
ZZZccckkksss{{{
{ssskk
kZ{cR
{skskc
{{ssskkkc
Interest Profile
ProfileThreadSubjects
0S0E
/(ProfileInstructions)?OpenForm
C|NRW
ulowuv
}|C$/
%klko
!!!999RRRccckkk
{sscZZ1))
{skskc
{1)!ZJ9
cZR1JB!
{RRJ11)!!
"Interest Pr
Document Instructions
RemoveThread
0S0E
FE@po
(?BEu
lopu}
{ok8#
|nj8#
89<>A
KI|ys?
!!!ccc{{{
{ssskk1))
kcZJB9
RJ9JB1
cJB){k9kZ!cR
t Profile"
########
Remove Thread
0S0E
0S0E
Bqo=<:i6
36i<n
p{IOT
Dpl9g
3h9lnA
JI{xwCs
t Profile"
Submit
0S0E
0S0E
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
.
*.CGM
Excel 4.0/
ftWord RTF
*.DOC
Close
ProfileThreadSubjects
0S0E
/(ProfileInstructions)?OpenForm
C|NRW
ulowuv
}|C$/
%klko
!!!999RRRccckkk
{sscZZ1))
{skskc
{1)!ZJ9
cZR1JB!
{RRJ11)!!
"Interest Pr
Document Instructions
RemoveThread
0S0E
0S0E
0S0E
Bqo=<:i6
36i<n
p{IOT
Dpl9g
3h9lnA
JI{xwCs
t Profile"
Submit
0S0E
0S0E
/WebDelete?OpenAgent&
UNID"
0R10S
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
.
*.CGM
Excel 4.0/
ftWord RTF
*.DOC
Close
0S0E
q!nl8
68l=p
jl!pw
NMXOIM
6k;np@
=>p=o
{skZRJ
skJ)!
WordPerfect 5
Edit Profile
/(ArchiveInstructions)?OpenForm
C|NRW
ulowuv
}|C$/
%klko
!!!999RRRccckkk
{sscZZ1))
{skskc
{1)!ZJ9
cZR1JB!
{RRJ11)!!
ofile"
Document Instructions
0S0E
RemoveThread
0S0E
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
.
*.CGM
Excel 4.0/
ftWord RTF
*.DOC
Close
/WebDelete?OpenAgent&
UNID"
0R10S
{E,FCwvu*
?BwI|
;>AwI
A?*s?
{skZRJ
kRB)B)
{kcZJ
{{sssk
t Profile"
Delete
Select Interest Profile Preferences for
PersonNameRequired: enter a short description of this main topic.
Inform me of new documents by these Authors
Rows=5
ProfileAuthors
0S0E
ProfileAuthors
Inform me of new documents containing these words or phrases:
( separate
each listing with a new line )
Size=4
WebProfileStrings
ProfileStrings
0S0E
Enter a new word or phrase:
length = 20
NewString
Notes
1S2S3S4S
ProfileStrings
Notes
ProfileStrings
WebProfileStrings
NewString
WebProfileStrings
NewString
3S4S6S11S12S13S18S23S24S
WebProfileStrings
Notes
WebProfileStrings
NewString
1S2S3S6S7S9S11S16S17S
NewString
0R1S2S3S
ProfileStrings
ProfileThreadsj
4S5S
Inform me if there is activity in any of the following threads:
ProfileThreadSubjects
ProfileThreadSubjects
0S0E
0S0E
Submit
Close
0S0E
Remove Thread
RemoveSubject
Current Threads
Please choose the thread that you want to remove. (Note: Selecting a thread and clicking on OK will save the document).
ProfileThreadSubjects
ProfileThreadSubjects
1S2S5S6S8S10S12S16S19S
Member
RemoveSubject
ProfileThreadSubjects
0RR1S2S6S
ProfileThreadSubjects
ProfileThreadSubjects
RemoveSubject
0RR1S2S3S9S11S
RemoveId
ProfileThreads
Memberk
0RR1S2S8S11S
ProfileThreads
ProfileThreads
RemoveId
0RR1S2S3S9S11S
0RR4
ProfileThreadsj
4S5S
Categori_zes
_Edit Document
Save ProfileF
New Value
1S2S3S
InstructionsF
(ProfileInstructions)
2S4S
Send Docu_ment
_Forward
_Move To Folder...
_Remove From Folder
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$TITLE
$INFO
$WINDOWTITLE
$WEBQuerySave
$WEBQueryOpen
$Script
$$Script_O
$$ScriptName
$$FormScript
$$$FormScript_O
$BODY
$ACTIONS
=Iris
Archive Profile
(WebArchiveSave)
(WebArchiveOpen)
'++LotusScript Development Environment:2:5:(Options):0:66
Option Public
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Initialize
Declare Sub ProcessNonExistingArchiveDB
Declare Sub ProcessArchiveDbExists
Declare Sub CreateNewArchiveDB
'++LotusScript Development Environment:2:5:(Declarations):0:10
%INCLUDE "lsconst.lss"
Dim s As NotesSession
Dim w As NotesUIWorkspace
Dim db As NotesDatabase
Dim existingdb As NotesDatabase
Dim archivedb As NotesDatabase
Dim view As NotesView
Dim note As NotesDocument
Dim profile As NotesDocument
Dim archivedoc As NotesDocument
Dim doc As NotesUIDocument
Dim DocWasSaved As Integer
Dim DoNotClose As Variant
Dim ExistingServer As String
Dim ExistingPath As String
Dim nntpview As notesview
Dim groupname As Variant
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
End Sub
'++LotusScript Development Environment:2:2:ProcessNonExistingArchiveDB:1:8
Sub ProcessNonExistingArchiveDB
Dim dbprofile As NotesDocument
On Error Goto ProcessError
On Error 4005 Goto DbCreateError
'render the dialog box to get the location of the archive database
If (w.DialogBox("(ArchiveProfileDlg)",True,True,"Specify New Location")) Then
'see if the archive database exists
Set archivedb = New NotesDatabase(note.ArchiveServer(0),note.ArchivePath(0))
If (archivedb.IsOpen) Then
Msgbox "Database already exists. Enter a new location"
ProcessNonExistingArchiveDB
Else
Set archivedb = db.CreateCopy(note.ArchiveServer(0),note.ArchivePath(0))
archivedb.Title = db.Title & ".archive"
'remove .nntp view so that newsreaders can't see th database
Set view = db.getview("($Profiles)")
Set dbprofile = view.getdocumentbykey("DatabaseProfile")
If Not (dbprofile Is Nothing) Then
groupname = dbprofile.groupname
Set nntpview = archivedb.getview("("+groupname(0)+".nntp)")
nntpview.remove
End If
End If
Call doc.Reload
Call doc.Refresh
Else
note.ArchiveServer = ""
note.ArchivePath = ""
End If
Exit Sub
DbCreateError:
Select Case Msgbox("Error creating archive database. The server may be down or you don't have access to create new databases on the server. Click Yes to try a different location now or No to cancel.",36,"Error")
Case 6
ProcessNonExistingArchiveDb
End Select
Exit Sub
ProcessError:
Msgbox Error & " - (ProcessNonExistingArchiveDB)"
Exit Sub
End Sub
'++LotusScript Development Environment:2:2:ProcessArchiveDbExists:1:8
Sub ProcessArchiveDbExists
'this function gets called if a database already exists in the tmpArchiveServer field
'render the dialog box to get the location of the archive database
On Error 4005 Goto DbCreateError
If (w.DialogBox("(ProcessExistingDbDlg)",True,True,"Specify New Location")) Then
On Error Resume Next
'see if the archive database exists
Set archivedb = New NotesDatabase(note.ArchiveServer(0),note.ArchivePath(0))
If (archivedb.IsOpen) Then
Msgbox "Database already exists. Enter a new location"
ProcessArchiveDbExists
Else
Call CreateNewArchiveDB
archivedb.Title = db.Title & ".archive"
End If
Call doc.reload
Call doc.refresh
End If
Exit Sub
DbCreateError:
Select Case Msgbox("Error creating archive database. The server may be down or you don't have access to create new databases on the server. Click Yes to try a different location now or No to cancel.",36,"Error")
Case 6
ProcessNonExistingArchiveDb
End Select
Exit Sub
End Sub
'++LotusScript Development Environment:2:2:CreateNewArchiveDB:1:8
Sub CreateNewArchiveDB
Dim dbprofile As NotesDocument
On Error 4005 Goto DbCreateError
On Error Goto ProcessError
'first, create the archive database
Set archivedb = db.CreateCopy(note.ArchiveServer(0),note.ArchivePath(0))
'next remove the nntp view so that newsreaders can't see the archive db
Set view = db.getview("($Profiles)")
Set dbprofile = view.getdocumentbykey("DatabaseProfile")
If Not (dbprofile Is Nothing) Then
groupname = dbprofile.groupname
Set nntpview = archivedb.getview("("+groupname(0)+".nntp)")
nntpview.remove
End If
'if the profile says to copy new documents, then copy them now
If (note.CopyOptions(0) = "1") Then
Set allDocs = existingdb.AllDocuments
For i = 1 To allDocs.Count
Set archivedoc = allDocs.GetNthDocument(i)
Call archivedoc.CopyToDatabase(archivedb)
Next
End If
'if the profile says we should delete the original archive database, then remove it
If (note.DeleteOptions(0) = "1") Then Call existingdb.Remove
Exit Sub
DbCreateError:
Select Case Msgbox("Error creating archive database. The server may be down or you don't have access to create new databases on the server. Click Yes to try a different location now or No to cancel.",36,"Error")
Case 6
ProcessNonExistingArchiveDb
End Select
Exit Sub
ProcessError:
Msgbox Error & " - (ProcessNonExistingArchiveDB)"
Exit Sub
End Sub
Archive Profile'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Postopen(Source As Notesuidocument)
Declare Sub Querysave(Source As Notesuidocument, Continue As Variant)
Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As NOTESUIDOCUMENT
Set Source = Bind(Objectname_)
On Event Postopen From Source Call Postopen
On Event Querysave From Source Call Querysave
On Event Queryclose From Source Call Queryclose
End Sub
'++LotusScript Development Environment:2:2:Postopen:1:12
Sub Postopen(Source As Notesuidocument)
'initialize global variables
Set note = source.Document
Set w = New NotesUIWorkspace
Set s = New NotesSession
Set db = s.CurrentDatabase
Set view = db.GetView("Archiving")
Set doc = source
'turn off auto reload to make processing faster
source.AutoReload = False
'if this is not a new doc, we don't need to continue
If Not (source.IsNewDoc) Then Exit Sub
'get the existing profile
key = "Archive Profile"
Set profile = view.GetDocumentByKey(key,False)
If profile Is Nothing Then
'an existing profile was not found
note.ProtectFromArchive = 1
note.ExcludeFromView = "D"
note.From = "Archiving"
note.Subject = "Archive Profile"
note.Categories = "(Archive)"
Call note.ReplaceItemValue("_ViewIcon", 11)
source.reload
Else
'copy the profile fields to this document
ItemList = note.Items
Forall n In ItemList
note.RemoveItem(n.Name)
End Forall
profile.CopyAllItems note
source.Reload
If source.EditMode Then source.Refresh
End If
DocWasSaved = False
End Sub
'++LotusScript Development Environment:2:2:Querysave:1:12
Sub Querysave(Source As Notesuidocument, Continue As Variant)
DocWasSaved = True
DoNotClose = False
If Not(profile Is Nothing) Then note.SaveOptions = "0"
If (note.ArchivePath(0) = "" And note.archivedelete(0) = "1") Then Msgbox "You will need to specify a location of the archive database before you can archive documents.",16
source.Reload
source.RefreshHideFormulas
End Sub
'++LotusScript Development Environment:2:2:Queryclose:1:12
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If (DocWasSaved = False) Or (profile Is Nothing) Or DoNotClose Then Exit Sub
ItemList = profile.Items
Forall n In ItemList
profile.RemoveItem(n.Name)
End Forall
note.CopyAllItems profile
profile.SaveOptions = "1"
profile.save True, True
End Sub
Q }8
Q, }$
'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Exiting(Source As Field)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As FIELD
Set Source = Bind(Objectname_)
On Event Exiting From Source Call Exiting
End Sub
'++LotusScript Development Environment:2:2:Exiting:1:12
Sub Exiting(Source As Field)
'If the field changes, we don't want the validation to occur
If IsWebUser Then
End If
End Sub
Subject used for displaying the form name in the views
Archive Profile
Subject
Used for returning information to the user when the form is saved on the web
$$Return
STS)TST
S)T)TS)
)SdSdS)d
)S)S)
)T)TSdT)Sd
)SdTdS)T)T
S)dSd)S)dSd
S )5dSdST)T
S)SdSdT)STc5c
d)S)dB
d 5Sd5)Td5S
)d5d5d5d)5
dSdS)Td)d5ST)dS
ScdS)S)
XWXcY5YSY
5BT)d
5d)dS
SBSdBSd5ST)5TS
Sd)Sd)dS)Sd)d)Sd5d
5d)S)ST)T)
SdSc)cmcS5d
BcBmcdmBSc5c5B5B
5dSB5
cBcdcBcBc5Bm5m
SdB5dcd5dBS)cd
Sd)B5T5)S)dS
cYc5SY5
)S)dS)
dSd)S5S
SB)dS)S)d
Sd5BcdSBcBcB
d)mdc5B
Bdcdc
S)S)SB5d5BcB
)TcdSc5d)Yd5dBdBcd5d5m5
5d)mBmdm
cmJ5dc
m SBm5mcdl5
BcmBcB
mBdSd5J
ml>lB
X,_f6*WlcYc
_h VWl
)d)ST
)SdTdSdcd5cdB5
BcBdSd5BSBd5dYBdSmBdS)BS
c)cdSm
BdmcmJ
)SdSmcd)dS5
5BdSdm5mdm
m5SJd5dm5cBdcdBcBcmc
Jcm5dSdBmcBc5lmJmJ
/lCK>K
l>mJc
/m5cldmCm
n>cmKcmJ5BJBmBlc>l
J>mJ>5BSlCT
Z`i+? DWC
]i+f6*
cm5dY
d)S)TS)
d(BSBcB5Bc)BdSdB
Bm5Bd5m5BdScBdTBd5m5Sm5mB
B5mBSdB
JB)mJlmK5c5
KBmB5cJl
B5lJlBm
BmBl5BdmcmB5mB
5 Scm5mB>ml
lJKCK
B>LKLC>LKDv
DCD>lClm>m
KlJ>KJ
,b-^Eh D*
J>KC>KnCqf_,
+f 6*>l
S)d)S)S)dS
ScBd5c
SdBcB
BSBSm5c
d BKlm
c5cB>mB
Bm5cJmJK>K>m5c
mJStJlBm
Bm5dBc5J
l 5mBlKJcBl
KJc5B5
mJKJcmKJKv>K
*Xl*qf
mclJvn>n
C q *Xn qLM
lJmKL
XW*fDVCMDL
LC/D*Df
_<E?fDq*
XWlXY
dY5d5S
BSdB)dSdB)c
m5c5Bdmlm
B5B5mBlJSmc
> KmBlBcKmc
Bc5cBcK>tKJl>mJ5J
KJ>JlJv>J>JvKm
mKvKv
JmlJK>mcmc5cmJBl>vKm>mKv
Ef"xDL!v>
YhR"6L
LvqLY
Z1Dn*>LK
ZsEfD
KL>K>lL
F<_E?;DC>m
SZDXl>m
cBYBd5T)
TdSdB
mBm5c
>JtncBcBm>KmcmcJ
m d)5c
K/LKv
BJLmJmLJMKJt5KJdLK>JL
m>5cBJKvLJLMJ
f_1?x*nmKm
]i+?DM
iFE;qL>K
_ih?"D*L
CLMD8qY
*n>m/6Y
Vjhzf
h[fD6>*lm
JmBcX
m5dBYS
T)5dc
cBd5B
cml>J
Jm5KcBK>mKm
mKmcmJcB>lJKJ
LJvLvLm
lBJvLK
>mLJK
LBvK>m
mKm/Lvdm
>tJmLm>L
LtmJL
mJ>tcLBdlm
tlc5dKd
cmKJLl
L>Y6h
ojO Cn
BKJmJlMS
_-F?zDnMLxKLvC
RC8M!8"M!R
=|@$F0N;xCL>
UV,jFX
V`j+ 6DLK
S)dBS5
STSdc)dSd5SBcBcYB5J>5J>
BcJmdBlJ
JlJK>
mlBmK
m KmcBcBJlK
vKLmKvK
>mB5J5BKJvm5m
Jm>JKmB5dJ
Jm>J>KvJmJLKmL
vLKJL
mMvKJMvmJLcmL
JlmLvlmB
m>B>Jv
tLKM>xE$k=rw
.GFh6Cn
mJlKx
aw-r|jh?qCKLvLxMY
HpGE?;DM
l>lv T
Vr,sFRN"R!R8!N"1
$F1?;LCMnLM
poiF?6*Cnv>
^,[f *l/
Jcd5mdmcmc
)SdBdmdc5BcdJldc
mBc5lJvlKvc
Km>JLmlLcmK>m5
>BmKLvlJ
lmJvKLKvLm>lK5
J KmL>mMLJm
LvLMKJL
KMLJmKvmJLlJ
JmKJmlKmJmKlL lYU
Y.pGEfD
>LKLK>D
\Ia.pHkFh"Dn>
_.=Ab
^7g{_
V7p@OE?R1;9;>
G%H|+
?"!LCLD?T
h DCLlLmJlX
,ojf D
cB5Bc
TdBd5dBmcB5cB
BdBlBcBlclKv>vKmKv
KLvLJLJ
KmKmvJ
cBmKJKmJKv
JBl>m
K mvmKvJKvL
mJLKLxtJLvm
lmJKml
Blm>JtmK>KnS
wr|j? *l>tLlKL*
Ta.=Ho
<jFE"NDCDL"C"*S
D!8q?
WerH@
`b,Ef *DLKmJ
BJcBmB
ST)Bc5dBcJcmJd5
>JKm>JKv5mcmJl
KJ>Jml5JKvl
BmJKLvmKv
JMLvLvL
mJmJ>t
/KlKJKcL
>lmBld5BmBcKtmKL
KmJ>JKv
lmLvLvL
vLvLJKlmBlJ
JKmLlKv
_yAH<hqCxMlJKlDX
|@_E?DqMm>m>C*
x8"8D;WYXY\e7Aw6YXY,I3=:
T:#18"8M!E
. p@_RNxDLK
7rojfq*Mvl>
)ScBc5cm
5mBKm>JKtKlJmc
vKm>J
>KJKJm>JKv
KJtJL
mJKmJKl
vLmtvKm
BJvLKvJK>Jm>JvJKLvLK
a7a=<+qDMLvL
Zw.=pkuOFRx!nM>JKxq
ApH-2$<1OR
NR"N"E
I3%|P
X:41R"R"
yap|GsF?qnK>
7abkFE *nL>JcC
T)TdB)dcm
>mlBlJmBKmc
KLKJK
>m>mBvKvBK
KLJlKJmLJc
Kv>cJ
v>BvLJKLBmB
lBLvK
LJLvKvKt
mLvLvJ
KvLlJmJ
5mKLKmL
}w.=<~f"xLJtMlD
^.r=GP_hz"DnK>t>ln
H@G@#F
1EN";
3A&Q*
6 'w3H2$~
7yroGuFf8xL
e7rap`<jE"q>
m SdSdSd)S)
B5mBcKdmJBJm
JmBmJ
vmJ>mLJmKvKm
KLmMKv
v 5cJKvKBJm
LvKJKmKL
cmltJ
JmJmKJ
5cKxmvc>
K>JKmJlJKd
L vxvxLtJvK
vKtm>m
KmBKvm
W}7A|iO;nxK>m
r.p|kFEfD
x+>xlJKn>D6
YX+3
H2;*Y
^ger-@$ENxLMmK>m>Cq
rpG<F nDv
n Lmcm
mBc5d5dBS
m5)m>
cJ>B>mB
Kv5Bc
BJm/v
vJBLvLvL
mKmJcv
JKJKLlvmKcL
cKvJv
JKvBvKLvJ>lJlLvJKB
{wrG<O
nJnMvM*
er=kj[;6CMK>LKlJmMqE*
V}7.p,sFR?
M K>Jl>KL;W
,p-@jE?qD
d5)d5S
dBdSBd)
m5m5J5mJ>J5cBm
tKJmJmc5mBKJKLm5mL/vK
vLK>JK
JmKJv
LJKtL
mJ>mK
mJmJKmKc
JmLcmJcBmKL
tJvLmB
xLvKvLvKmKMLmL
KLvJKmJB
_yAGi$ORxMLKvLvY
XAr,<_f?DC
mxKv>KC"?@E6
Ypy.p-iEF?n
vcKJlmnDh]
ap,sEf6
lmBSB5S
ScB5c
dSc5J>
dBdBJKm
m>JvK>Bd5mlJcBKJvm
vJvmLJ
5m>BKBvBKJLmBJt
JL>m>KJLKvKLKvKLJmJmJvK
JvKMvJKL
JmvLMvLvLKtKLtKmJKL
xF@<`a
. wy7wr=|uO
D"OGH=bG@_h; *Mmv/vLKBLxM?#@%
p`@jhNxDLnKLvKJ>KD"Fk^Z
ap`jEf6*v>
m5mcmSmTS)
)d)SBS5dT)TU
BdSdSBS
BYSBlcm>K5mJlJltd5d5mJBcml
mvJKmLm5>JKJKJm
B5dlL
m5BcBcJ
K JvKmBKLtJ
vJvKvKLvJ>mK
JmLvJK
mvmKcJn>D?EiG
|@EO MxL
zEsGuiF+f 6lMc
JLtLmC!N1$@H
GHo-i
K BlnDfE,ob
i[Z nW>m
)S)ST)
TSTSTST
)dc)cB
d5d5mJcJdm>B>cJmdS5d5dc5Bm>m
lm>JmK5B5Bm
K lK>dKmc>v
KvJMKJ
J5mBmLvJm
mJLBmBLvKvK
LmJm>JmLJmM
mJKmKLD
sji,@
G#<$F1?zMxKLtvKvL"N?hOFE? nWlvKcmKvJm
F_hf n*DlJ
>lC;EFjk-k^<hf V
TdS)S)
S)d)5)dS)S)SB
S)dSB
md5B5Jl
Bc5mlJ
JmKJcm
c5mJmJ5mJl
mvJBmK
vKLvKl
lKJcmKm>
KJvLmJ
KBKmK/mJmK
KvLB>ml
tKlJK
vLnMzEfE1s
E hFER?x"vL
q Df;fD6M*
B5mJK
KD8N91#$
#1EFEh?6 DWm>lJm>
5cBYc*C]
]*VYXdY
S)TUTS
S d)dS5dm5B
)5SdBcBcBm>
JBcJld5Jc5B5JBKJc
JKJmBLml
mJBKmlBmJK>JKJv
v KLKvKLJmc
NfE ?q?
CDnD6MDLnm
J>mLMCM8
;? ;6
Sd5dYmX*nV
V6 VWXl
)TS)TS)S
Bd)S)BdS)S)
d5d)5S5m
l)Sm5m5
B dlclmKJcB
cBJmc5lJ
Km>B>
JBJ>m5
JmJmKc
mclK>vKl
qM6nx
lLmJn
LD;NR
n*nlcBdc5Yc
*W*WX
S)5Bcm
5)Bm5m5c
>mKJlm
JcmJKB
Ktl>l
KnDnLC*
mlmnLn>lc
Kl>ldcSm>K>
!"N"R1;
*>lmXc5S
SY5Yd
dSB5BSd
STdSd
B5d5B5d5d5c5dScd5
5d)cBlcB
dBdBd5d
mBmlcJB
mc5B5c5Bd>m>JlJ>lKl
clmlKt*KclK*J
LD!"?01
)S)S)TS
T)T)S5T
)TdS)S)d
)S)S)S)dS)SdSdS)S5dcB5cBd
SB5cSd5BmSc
S dS5Scmlc5
Bd5mJ
Bdm5d
>5c5Bl
5mcB5
mcBmBcmc
08?09#1?
1#F 0
)STd)
Sd)S5c5Bcd
dB5)d
c )BS)T5B)5
B5)Sd)d5cS5B
BcdSdB
d5BcB5Sc
m"YSBdScSBmSBcd
dm5BcBcB5Sdc
"0?"!D6L*6
;"?";
)ST)T
dSd)d
)d)T)TS
dBS)5
dBc5dT
5d5)S
TSB)d
dS)B5c5Bdcd)dS)S)d5dT5B5c5d
B5T)T5Scm
)STdTdSd
dS5dS)Y
dSdSTdTS
)dS)S)T
)SdSdSdT
)S)TS
STS)ST
5Y5Y5
kZ{cR
sckZJ
Profile"
Archive Profile
0S0E
G*{yB
?ByG~,
;uAEG
xE{GM
By{F|
A?v(?
skZRJ9
RcR!!
{k1ZR11)
ZZRRRB
kkkkkkkkkkkkkkkk
Edit Archive
/(ArchiveInstructions)?OpenForm
C|NRW
ulowuv
}|C$/
%klko
!!!999RRRccckkk
{sscZZ1))
{skskc
{1)!ZJ9
cZR1JB!
{RRJ11)!!
kkkkkkkkkkkkkkkk
Document Instructions
ModifyArchive
0R4S
Archiving
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
([FileCloseWindo
Terminate
Close
/WebDelete?OpenAgent&
UNID"
0R10S
{E,FCwvu*
?BwI|
;>AwI
A?*s?
{skZRJ
kRB)B)
{kcZJ
{{sssk
t Profile"
Delete
/(ArchiveInstructions)?OpenForm
C|NRW
ulowuv
}|C$/
%klko
!!!999RRRccckkk
{sscZZ1))
{skskc
{1)!ZJ9
cZR1JB!
{RRJ11)!!
Document Instructions
ModifyArchive
Periodic Archive
0R4S
0S0E
Bqo=<:i6
36i<n
p{IOT
Dpl9g
3h9lnA
JI{xwCs
Submit
Archiving
0S0E
AxH|~
JLKJ}
111ccc{{{
ZRRB999111)))!!
RJB1)!ZJ9)!
{kkcRRJ991kkZ11)99)
([FileCloseWindo
Terminate
Close
Select Document Archiving Preferences
Private
ArchiveDelete
Archive|1Delete|0
ArchiveExpired
Archive Expired documents | 1
after
ExpiredLife
Number cannot be negative.{
3S4S6S11SExpiredLife
days
ArchiveInactive
Archive documents which have no activity |1
after
DocumentLife
Number cannot be negative.{
3S4S6S11SDocumentLife
days
ArchiveLog
Generate an Archive Log each time an archive occurs | Yes
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Function GetString ( StringType As Integer) As String
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:1:GetString:1:8
Function GetString ( StringType As Integer) As String
'
GetString = ""
Select Case StringType
Case 1 ' WebAddtopic, WebExpire
GetString = "Back to Previous Document"
Case 2 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "All Documents"
Case 3 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "by Category"
Case 4 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "by Author"
Case 5 ' WebAddtopic, WebArchiveSave,WebDelete, WebExpire, WebRemoveThread, WebSetupAgent
GetString = "Archiving"
Case 6 ' WebAddtopic
GetString = "This document is not identified as a thread. Contact the database manager if you want all threads initialized."
Case 7 ' WebAddtopic
GetString = "This topic is already in your Interest Profile."
Case 8 ' WebAddtopic
GetString = "has been added to your Interest Profile. You will be notified by mail when new responses appear in this topic."
Case 9 ' WebArchiveSave
GetString = "Back to Archive Profile"
Case 10 ' WebArchiveSave
GetString = "Archive Database created successfully."
Case 11 ' WebDelete
GetString = "The document has been deleted."
Case 12 ' WebExpire
GetString = " cannot be marked for expiration." ' leave the leading space..
Case 13 ' WebExpire
GetString = "The document's expiration date has been removed."
Case 14 ' WebExpire
GetString = "The current document has been marked for expiration."
Case 15 ' WebRemoveThread
GetString = "Back to Interest Profile"
Case 16 ' WebRemoveThread, NewsArticleProcessing
GetString = "Profile document could not be found."
Case 17 ' WebRemoveThread
GetString = " has been removed from your Interest Profile." 'leave the leading space..
Case 18 ' WebArchiveSave
GetString = "A problem has been encountered while trying to create the archive database. Verify your database creation access rights and go through the creation process again."
Case 19 'WebSetupAgent
GetString = "A database for archiving has already been specified and created."
Case 20 ' WebSetupAgent
GetString = "Database: "
Case 21 ' WebSetupAgent
GetString = "Server: "
Case 22 ' WebSetupAgent
GetString = "If you would like to change the specified information for the database, click on the following link:"
Case 23 ' WebSetupAgent
GetString = "Modify Archive Database"
Case 24 ' WebSetupAgent
GetString = "A database for archiving has already been specified but not yet created. Please verify the information by clicking on the following link:"
Case 25 ' NewArticleProcessing
Getstring = "Couldn't find NNTP view"
Case 26 'WebArchiveSave
Getstring = "Archive Profile has been saved."
Case 27 'Expire Documents
Getstring = "You must select a document."
Case 28 'Expire Documents
Getstring = "Error"
Case 29 'Expire Documents
Getstring = "This will mark the selected document(s) as expired. Do you want to continue?"
Case 30 'Expire Documents
Getstring = "Expire Document(s)"
Case 31 'Unexpire documents
Getstring = "This will remove the expiration from the selected document(s). Do you want to continue?"
Case 32 'Unexpire documents
Getstring = "Unexpire Document(s)"
Case 33 'An error that we are not specifically handling
GetString = Err & " - " & Error
Case 34 'WebEditArchiveProfile
GetString = "Manager or Designer access is required to perform Archiving tasks."
Case 35 'Reject action
GetString = "Reject Error"
Case 36 'SetEmail routine
Getstring = "Moderator is not listed in the public address book. Enter another name for the Moderator."
Case 37 'ArticleOpen routine
Getstring = "Message ID is invalid"
Case 38 'DBOpen script
Getstring = "Invalid newsgroup name. Edit the database title and remove any illegal characters such as spaces, ?, !, [], or *:"
Case 39 'WebArchiveSave
Getstring = "(WebArchiveSave)"
Case 40 'WebArchiveSave
GetString = "You can only create an archive database on the Domino server that you are currently running on via a web browser. To create a database on a different server, use the Domino Designer client."
End Select
End Function
!!!111JJJRRRccckkksss{{{
cZZJBB1))
cZRB91!
{sk1)!ZJ9
kscJ9)
{kcZJ
s{kJ91!
skJJB!1)
s991sscccJ!!
Newsgroups
This $$Return field returns HTML as a result of the successful form submittal.
Warning: Lots of HTML Passthrough in here...
0R1S
resource strings..
0R1S2E
PrevDoc
Previous Document
0R1S2S
AllDoc
All Documents
0R1S2S
ByAuth
by Author
0R1S2S
Archiving
Archiving
0R1S2S
MainTopic
topic
0R1S2S
Response
response
0R1S2S
IntProfile
Interest Profile
0R1S2S
ArcProfile
Archive Profile
0R1S2S
Message
message
0R1S2S
ThankYou
Thank you for your
0R1S2S
Get the name of this database.
0RR1S
0R1S2S10S
Thank the user, personalize based on the first name.
'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Initialize
Declare Sub Terminate
Declare Sub Main
Declare Sub GetProfileSettings
Declare Sub CreateLogDocument
Declare Sub ProcessDocuments
Declare Sub AddDocumentToLog (doc As NotesDocument)
Declare Sub CloseLogDocument
Declare Sub MarkLogDocuments
Declare Function ResponsesOkToArchive ( collectionDoc As NotesDocument) As Integer
Declare Sub ArchiveResponses ( collectionDoc As NotesDocument, archiveDB As NotesDatabase)
Declare Function DocEligibleToArchive ( doc As NotesDocument) As Integer
Declare Function CopyNoteToArchive ( doc As NotesDocument, db As NotesDatabase ) As Integer
Declare Sub RemoveNotesFromDB ( doc As NotesDocument )
'++LotusScript Development Environment:2:5:(Declarations):0:10
'%INCLUDE "lserr.lss"
'%INCLUDE "lsxbeerr.lss"
Const MAXARCHIVEITEMS = 50
Dim session As NotesSession
Dim dbArchive As NotesDatabase
Dim dbSource As NotesDatabase
Dim docArchive As NotesDocument
Dim docLog As NotesDocument
Dim docProfile As NotesDocument
Dim viewArchive As NotesView
Dim dtNow As NotesDateTime
Dim dtExpired As NotesDateTime
Dim dtDocument As NotesDateTime
Dim dtCompare As NotesDateTime
Dim rtitem As NotesRichTextItem
Dim item As NotesItem
Dim nidArray() As String
Dim archive As Integer
Dim SourcePath As String
Dim SourceServer As String
Dim ArchiveServer As String
Dim ArchivePath As String
Dim ArchiveLog As String
Dim IncludeDocLinks As String
Dim ArchiveExpired As String
Dim ArchiveInactive As String
Dim ExpiredLife As Integer
Dim DocumentLife As Integer
Dim nLogItems As Integer
Dim numDocsArchived As Integer
Dim numDocsRemoved As Integer
Dim DoNotRun As Variant
Dim DocCanBeArchived As Variant
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
'initialize some variables
Set session = New NotesSession
Set dbSource = session.CurrentDatabase
nLogItems = 0 ' used for nidArray table
numDocsArchived = 0
numDocsRemoved = 0
'call the main entry point
Main
End Sub
'++LotusScript Development Environment:2:2:Terminate:1:10
Sub Terminate
End Sub
'++LotusScript Development Environment:2:2:Main:1:8
Sub Main
'Read the profile document to see what options are enabled and where databases are located
GetProfileSettings
If DoNotRun Then Exit Sub
'setup the date/time structures
Set dtNow = New NotesDateTime("")
Set dtExpired = New NotesDateTime("")
Set dtDocument = New NotesDateTime("")
Set dtCompare = New NotesDateTime("")
dtNow.SetNow
dtExpired.SetNow
dtDocument.SetNow
dtCompare.SetNow
If ArchiveExpired = "1" Then dtExpired.AdjustDay(ExpiredLife * -1)
If ArchiveInactive = "1" Then dtDocument.AdjustDay(DocumentLife * -1)
'open the archive database if the user wants to archive
If Archive = True Then
Set dbArchive = New NotesDatabase(ArchiveServer,ArchivePath)
If Not (dbArchive.IsOpen) Then
Messagebox "Unable to open archive database.",16,"Error"
Exit Sub
End If
End If
'see if we are logging documents, if we are, then create the first one
If ArchiveLog = "Yes" Then CreateLogDocument
'process the documents in the database
'this finds all documents that needs to be archived, archives them, logs them (if necessary), and removes them from this database
ProcessDocuments
'we are done processing all of the documents, close the last log document (if necessary)
'mark the log documents in terms of x out of y
If ArchiveLog = "Yes" Then
CloseLogDocument
MarkLogDocuments
End If
Exit Sub
ErrNoDBAccess:
Messagebox "You do not have access to the archive database. Please contact the database manager to have your name added to the Access Control List.", 0, "Database Access Error"
Exit Sub
End Sub
'++LotusScript Development Environment:2:2:GetProfileSettings:1:8
Sub GetProfileSettings
'reads the profile document
Set view = dbSource.GetView("Archiving")
key = "Archive Profile"
Set docProfile = view.GetDocumentByKey(key,False)
If docProfile Is Nothing Then
'there is no profile document so exit
DoNotRun = True
Elseif docProfile.ArchiveDelete(0) = "0" Then
'user wants to delete instead of archive
Archive=False
Goto readvalues
Elseif docProfile.ArchivePath(0) = "" Then
'there is no archive database
Msgbox "You need to specify a location for the archive database.",16,"Error"
DoNotRun = True
Else
Archive=True
readvalues:
DoNotRun = False
ArchiveExpired = docProfile.ArchiveExpired(0)
ArchiveInactive = docProfile.ArchiveInactive(0)
DocumentLife = docProfile.DocumentLife(0)
ExpiredLife = docProfile.ExpiredLife(0)
ArchiveServer = docProfile.ArchiveServer(0)
ArchivePath = docProfile.ArchivePath(0)
ArchiveLog = docProfile.ArchiveLog(0)
IncludeDocLinks = docProfile.IncludeDocLinks(0)
End If
End Sub
'++LotusScript Development Environment:2:2:CreateLogDocument:1:8
Sub CreateLogDocument
'
'creates a new log document, incrementing the counter
'
' if this is the first time, declare dynamic array and allocate storage.
' This is a dummy entry that will never be referenced. We are going
' to start data population with the 1 array entry...
'
If nLogItems = 0 Then
Redim nidArray(nLogItems)
End If
Set docLog = New NotesDocument(dbSource)
Set rtitem = New NotesRichTextItem(docLog, "Body")
docLog.Form = "Archive Log"
dtNow.SetNow
docLog.ArchiveDate = dtNow.LSLocalTime
docLog.ProtectFromArchive = 1
docLog.ExcludeFromView = "D"
docLog.From = "Archiving"
docLog.Categories = "(Archive)"
docLog.ReplaceItemValue "_ViewIcon", 22
'
' need to increase our notes id table by one..
'
nLogItems = nLogItems + 1
Redim Preserve nidArray(nLogItems)
End Sub
'++LotusScript Development Environment:2:2:ProcessDocuments:1:8
Sub ProcessDocuments
'
' Process all documents in the database. Only archive if main document
' AND ALL response documents pass validation criteria.
'
Dim docSource As notesDocument
Dim docsCollection As NotesDocumentCollection
Dim searchDateTime As NotesDateTime
Dim protectFromArchive As Variant
Dim numDocs, x As Integer
On Error Goto errorProcessingDocs
'
'get a handle to all of the parent documents in the database
'
Set searchDateTime = New NotesDateTime ( dbSource.Created )
Set docsCollection = dbSource.Search ( "@IsResponseDoc=0",searchDateTime, 0)
numDocs = docsCollection.Count
For x =1 To numDocs
Set docSource = docsCollection.GetNthDocument(x)
If Not (docSource.IsResponse) Then ' main documents only..
If DocEligibleToArchive(docSource) Then ' is the main document ok
If ResponsesOkToArchive ( docSource) Then ' are the responses ok
If Archive=True Then ' are we archiving or deleting
Call ArchiveResponses ( docSource, dbArchive ) ' archive the responses
Call CopyNoteToArchive ( docSource, dbArchive ) ' archive main note..
End If
Call RemoveNotesFromDB ( docSource ) ' delete parent & child from db
End If
End If
End If
Next
Exit Sub
errorProcessingDocs:
Messagebox "(" & Str(Err) & ") " & Error$
Exit Sub
End Sub
'++LotusScript Development Environment:2:2:AddDocumentToLog:1:8
Sub AddDocumentToLog (doc As NotesDocument)
'see if we have hit the maximum number of entries in a log document; if so close the existing one and create a new one
If (numDocsArchived Mod MAXARCHIVEITEMS = 0) And (numDocsArchived > 0) Then
CloseLogDocument
CreateLogDocument
End If
'only called if a document was archived and logging was enabled
If IncludeDocLinks = "Yes" Then
'the user wants a doclink to the new archived document
Call rtitem.AppendDocLink(docArchive, "DocLink to " & doc.Subject(0))
Call rtitem.AddTab(1)
End If
Call rtitem.AppendText(" " & doc.Subject(0) & " (created by " & doc.From(0) & " on " &_
Format(doc.Created, "Short Date") & ")")
Call rtitem.AddNewLine(2)
End Sub
'++LotusScript Development Environment:2:2:CloseLogDocument:1:8
Sub CloseLogDocument
'saves the log document, adds the note id to the array,
docLog.Save True, True
nidArray(nLogItems) = docLog.NoteID
End Sub
'++LotusScript Development Environment:2:2:MarkLogDocuments:1:8
Sub MarkLogDocuments
'finds all of the log documents just created and marks them in terms of x out of y
Dim i As Integer
For i = 1 To nLogItems
Set docLog = dbSource.GetDocumentByID(nidArray(i))