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

简介:

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

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

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

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

clip_image002

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

clip_image004

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

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

clip_image006

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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

clip_image008

视图设计

clip_image010

维护人

clip_image012

维护时间

clip_image014

接下来就是创建表单了。

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

首先是群组维护日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<table>
<tr>
<td>群组名</td>
<td></td>
</tr>
<tr>
<td>维护人</td>
<td></td>
</tr>
<tr>
<td>维护时间</td>
<td></td>
</tr>
<tr>
<td>添加成员</td>
<td></td>
</tr>
<tr>
<td>删除成员</td>
<td></td>
</tr>
<tr>
<td>保存时被忽略成员</td>
<td></td>
</tr>
</table>

接下来是

显示群组维护记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<div style= "display:none" >
数据库路径:
日志信息:
</div>
<style type= "text/css" >
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;
}
</style>
<div  class = "div_remark" >
说明:<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1 .[被忽略的成员]表示编辑群组并保存时因在系统中不存在而未被添加的成员<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2 .记录中[添加成员][删除成员][被忽略的成员]均为空时,表示此次操作只是保存了群组文档,并未进行其他操作<br>
&nbsp;&nbsp;&nbsp;&nbsp; 3 .维护记录每次只加载<span id= "loadMax" > 100 </span>行,如需查看更多记录可点击表格最后一行的“显示更多…”
</div>
<table id= "GpConfigLog" >
<tr>
<td colspan= "5"  class = "tbl_head" > 维护记录</td>
</tr>
<tr>
<td  class = "td_head"  ; 10 %">维护人</td>
<td  class = "td_head"  ; 13 %">维护时间</td>
<td  class = "td_head"  ; 30 %">添加成员</td>
<td  class = "td_head"  ; 30 %">删除成员</td>
<td  class = "td_head"  ; 17 %">被忽略的成员</td>
</tr>
<tbody id= "showLog"  style= "display:none" >
<tr><td colspan= "5" ></td></tr>
</tbody>
<tr><td colspan= "5"  style= "height:0px;border-bottom:0px;" ></td></tr>
</table>

clip_image016

我们保存后,然后重启服务,我们发现多了一个维护日志。

验证:

clip_image018

验证查询组内成员

clip_image020

接下来我们测试一下维护日志的功能。我们分别添加有效用户、添加无效用户、删除用户看看是否能记录用户的操作记录

添加一个有效的用户(真是存在的)

然后保存成功

clip_image022

接下来我们是添加一个无效的用户(domino目录下不存的用户)

clip_image024

保存忽略不存在的用户

clip_image026

接下来我们测试删除用户

clip_image028

保存

clip_image030

接下来我们查看群组的维护日志

clip_image032

我们发现删除人员的log有问题,我们确认问题是保存代理有问题,需要修改

打开代理程序---保存群组成员;可根据以下提示修改

删除:Dim delMVar As Variant

clip_image034

将delMVar = split(DelM,”;”)修改后logDeM=split(DelM,”;”)

clip_image036

删除以下字段

clip_image038

删除logDelM=split(“”)

clip_image040

修改完成后,我们保存代理后,然后通过添加用户及删除用户查看log记录

clip_image042

我们发现可以记录用户信息了。如果记录多了的话,需要通过notes console打开该数据库进行维护:

clip_image044

打开可对这些记录进行维护---维护等操作。

clip_image046

注:为了记录更加真实,我们需要设置acl进行权限控制,禁止anonymous访问

clip_image048



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1418448,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
存储 运维 应用服务中间件
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
77 0
|
数据采集 监控 JavaScript
网站流量日志分析— —数据采集—使用 web 服务器自带日志记录采集|学习笔记
快速学习网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集
563 0
网站流量日志分析— —数据采集—使用 web 服务器自带日志记录采集|学习笔记
|
21天前
|
Apache
web服务器(Apache)访问日志(access_log)详细解释
web服务器(Apache)访问日志(access_log)详细解释
|
6月前
|
分布式计算
33 MAPREDUCE的 web日志预处理
33 MAPREDUCE的 web日志预处理
29 0
|
4月前
|
Java 应用服务中间件 容器
SpringBoot 各种 Web 容器服开启 AccessLog 日志
SpringBoot 各种 Web 容器服开启 AccessLog 日志
39 0
|
10月前
通过MAE和WEB采集基站一键式日志方法
通过MAE和WEB采集基站一键式日志方法
|
10月前
|
网络协议 Shell Perl
根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
根据web访问日志,封禁请求量异常的IP,如IP在半小时后恢复正常,则解除封禁
69 1
|
11月前
|
存储 JSON 运维
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(一)项目初始化、配置和日志(下)
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(一)项目初始化、配置和日志(下)
|
11月前
|
存储 JSON 监控
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(一)项目初始化、配置和日志(上)
【Go】基于 Gin 从0到1搭建 Web 管理后台系统后端服务(一)项目初始化、配置和日志(上)
|
12月前
|
存储 运维 Java
[powershell运维] Web 服务器日志依日期归档
本文记录了一个以 Jboss 服务器日志归档的 powershell 示范项目。该项目只需要略加修改,即可用于所有类似需要归档日志的场景。
108 0