我们有一个用户日历,其中包含特定的日程安排,我们希望默认情况下所有其他用户都可以阅读。用户可以轻松地手动添加上述日历,但事实证明,让一些用户理解如何操作有点困难。我们使用 Lotus Notes,服务器都是 9.0.1 版本。
有什么方法可以将此特定设置部署给所有用户,以便所有现有用户和新用户都可以默认在其工作区中获得此日历?
答案1
据我所知,目前还没有政策或类似的东西来做到这一点。但如果你知道信息存储在哪里,那么你可以编写 LotusScript 代码来向用户提供这个日历。
该信息存储在用户邮件文件CalURLs
中名为的项目中。CalendarProfile
自动填充的代码可能如下所示:
Dim docProfile as NotesDocument
Dim db as NotesDatabase
Dim itemUrl as NotesItem
Dim strNewEntry as String
'you get the correct entry by inspecting the CalendarProfile
'of a user where you manually added the calendar
' or by checking http://www-01.ibm.com/support/docview.wss?uid=swg21636496
strNewEntry = "some text"
Set db = New NotesDatabase( MailServerOfUser, MailFilePath )
Set docProfile = db.GetProfileDocument( "CalendarProfile" )
Set itemUrl = docProfile.GetFirstItem( "CalURLs" )
If isnull arraygetindex( itemUrLs.values, strNewEntry ) then
Call itemUrl.AppendToTextList( strNewEntry )
Call docProfile.Save( True, true, true )
end If
此代码完全未经测试,可能包含拼写错误。它不包含任何错误处理。
要获取 CalURL-Entries 的正确语法,请使用这个网址
日历配置文件的一个问题是:它始终通过许多用户交互来保存。在没有用户交互的情况下将其写入“后端”很可能会导致新值丢失。
但是如果用户在客户端执行此操作(使用按钮或数据库的 PostOpen 脚本),那么他需要关闭其邮件数据库的所有窗口才能看到新条目。