Domino9下web群组维护添加log维护记录

之前我们文章介绍了如何通过web实现群组维护,添加、删除人员,然后对添加的人员做判断,因为我们都知道domino是一个比较开发的应用程序,通过console对群组内的人员做变更时,可以手动任意格式的信息,如果添加的人员多的话,肯定会将人员信息批量复制粘贴的,这样等用户给群组发送邮件的时候,如果群组内的用户不存在domino目录下,用户会收到退信,所以添加用户是否在domino列表下的用户相当重要。今天我们主要介绍,在原有的基础之上添加log记录,我们需要记录管理员对群组的操作记录,比如管理员在某个时间段对某个组进行维护过,添加、删除过用户等信息做记录,记录见下:

我们为了方便将原有的程序复制过来,然后复制到新建的数据库下,然后修改成ntf模板文件进行替换设计,这样比较方便,方便日后维护;当然也可以不用这么麻烦,我们直接可以在原有的数据库上进行功能添加。在原有的数据库上添加显示群组维护记录。添加相应的表单即可。

我们今天两种方法都实现一下。先试试第一种方法,在原有的数据库上进行数据添加。在真实环境下我们操作前必须先要备份原有的数据库,修改错误还能还原。

我们默认的功能,只有编辑功能

Domino9下web群组维护添加log维护记录_第1张图片

我们先通过desinger打开群组维护数据库。进行编辑。我们原有的库只有三个代理程序,我们需要添加日志相关的代理程序。

Domino9下web群组维护添加log维护记录_第2张图片

我们需要添加log相关的代理程序。

名称为:显示群组维护日志,别名为:agtGetConfigLog

Domino9下web群组维护添加log维护记录_第3张图片

Option Public
Option Declare
Sub Initialize
On Error GoTo err_line
Dim session As New NotesSession
Dim dbCur As NotesDatabase
Dim vwLog As NotesView
Dim dcLog As NotesDocumentCollection
Dim docLog As NotesDocument
Dim note As NotesDocument
Dim logritem As NotesRichTextItem
Dim gpname As String
Dim loginfo As String
Set note = session.Documentcontext
gpname = note.strGpName(0)
If gpname <> "" Then
Set dbCur = session.Currentdatabase
Set vwLog = dbCur.Getview("vwGpConfigLog")
If Not vwLog Is Nothing Then
Set dcLog = vwLog.Getalldocumentsbykey(gpname,True)
Set docLog = dcLog.Getlastdocument()
Set logritem = New NotesRichTextItem(note,"rtfLogInfo")
While Not docLog Is Nothing
loginfo = |{"optUser":"|+docLog.strUserName(0)+|",|
loginfo = loginfo + |"OptTime":"|+docLog.strDateTime(0)+|",|
loginfo = loginfo + |"AddMembers":"|+docLog.rtfGpAdd+|",|
loginfo = loginfo + |"DelMembers":"|+docLog.rtfGpDel+|",|
loginfo = loginfo + |"OthMembers":"|+docLog.rtfOth+|"}|
Call logritem.Appendtext(loginfo+"@log@")
Set docLog = dcLog.Getprevdocument(docLog)
Wend
End If
End If
Exit Sub
err_line:
MsgBox session.Currentagent.name+" error : "+Error+" at line : "+Cstr(Erl)
End Sub


代理程序创建完后,我们需要创建视图:

名称为:群组维护日志、别名为:vwgppconfiglog

Domino9下web群组维护添加log维护记录_第4张图片

视图设计

Domino9下web群组维护添加log维护记录_第5张图片

维护人

Domino9下web群组维护添加log维护记录_第6张图片

维护时间

Domino9下web群组维护添加log维护记录_第7张图片

接下来就是创建表单了。

我们需要创建两个表单:群组维护日志、显示群组维护记录

首先是群组维护日志

群组名
维护人
维护时间
添加成员
删除成员
保存时被忽略成员

接下来是

显示群组维护记录


数据库路径:
日志信息:
table { ; border:0px; margin:0px; border-collapse:collapse; border-spacing:0px; } table td { padding:0px; height:25px; border:1px solid #c0c0c0; } .tbl_head { text-align:center; height:40px; font-weight:bold; font-size:22px; } .td_head { text-align:center; height:27px; font-weight:bold; font-size:15px; white-space:nowrap; padding-left:5px; padding-right:5px; } .td_content { height:27px; font-size:15px; padding-left:5px; padding-right:5px; white-space:nowrap; } .div_remark { font-size:15px; color:red; margin-top:10px; margin-bottom:10px; } .td_showMore { text-align:center; cursor:pointer; font-size:12px; height:20px; } 说明:
    1.[被忽略的成员]表示编辑群组并保存时因在系统中不存在而未被添加的成员
    2.记录中[添加成员][删除成员][被忽略的成员]均为空时,表示此次操作只是保存了群组文档,并未进行其他操作
    3.维护记录每次只加载100行,如需查看更多记录可点击表格最后一行的“显示更多…”