Lotus notes 如何将Notes文档链接转换为HTML链接

Lotus notes 如何将Notes文档链接转换为HTML链接,lotus-notes,lotus-domino,lotus,Lotus Notes,Lotus Domino,Lotus,我负责维护一些旧代码,在这些代码中,我们从消息中提取一个Notes链接,并将其转换为一个可以从本地机器(安装了Notes)上的HTML调用的链接。我们的情况是,一个链接起作用,另一个链接不起作用 我正在努力理解这段代码到底在做什么,以及为什么它一开始就可以工作。基本上,我们正在查看电子邮件消息中的属性“$Links”。例如,在Notes中查看此属性时,其值类似于: RFC2257F23:004852B9 VFA5208C4C:6552DA01-VN422569FB:003AAC2D NF6D24

我负责维护一些旧代码,在这些代码中,我们从消息中提取一个Notes链接,并将其转换为一个可以从本地机器(安装了Notes)上的HTML调用的链接。我们的情况是,一个链接起作用,另一个链接不起作用

我正在努力理解这段代码到底在做什么,以及为什么它一开始就可以工作。基本上,我们正在查看电子邮件消息中的属性“$Links”。例如,在Notes中查看此属性时,其值类似于:

RFC2257F23:004852B9
VFA5208C4C:6552DA01-VN422569FB:003AAC2D
NF6D24A297:6579B8E3-NNC225805D:004D8678
我们的代码使用NSFItemInfo和OSLockBlock获取该属性的二进制值。然后从偏移量11开始,向后工作8个字节,将每个字节转换为2位十六进制值。然后它再做同样的事情3次,但将偏移量从原来的11字节向前移动8字节。在这8个字节段中的第1个和第3个之后插入“/”字符。然后整个内容被附加到“notes://”。最后,生成的链接如下所示:

Notes:///C2257F23004852B9/A5208C4C6552DA01422569FB003AAC2D/6D24A2976579B8E3C225805D004D8678
我猜这个值代表文档链接的Notes UNID,当单击时,Notes 启动,并直接转到文档。那么,有人知道为什么一个链接会起作用吗 另一个失败了?我们的客户声称Notes链接数据库完好无损,可以成功查看
从Notes本身开始。

Notes-链接由协议、服务器部分、数据库部分和数据库中的元素组成

一个正常的例子是:

notes://server/path/database.nsf/view/keytodocumentinview

每个部件(服务器除外)都可以由内部ID替换

  • path/database.nsf-->副本ID(示例中为C2257F23004852B9)
  • 视图-->视图设计元素的通用ID(A5208C4C6552DA01422569FB003AAC2D)
  • keytodocumentinview-->文档的通用ID(6D24A2976579B8E3C225805D004D8678)
如果链接中没有服务器,则notes客户端将尝试“猜测”正确的服务器。它检查:

  • 桌面上是否有用于请求的副本ID的图标。如果是:取最后使用的复制副本的服务器(如果复制副本堆叠在顶部)
  • 我是否可以找到catalog.nsf(从位置文档在catalog-server上或在mail-home-server上)。如果是:副本-id是否在其中?如果是:从那里获取服务器
  • 向用户询问服务器(不确定该部分,因为它似乎并不总是发生)
  • 因此,你的问题的答案是:

    如果客户端找不到对服务器的任何引用,则链接将不起作用。 因此,最好将正确的服务器添加到链接中(如果您知道的话)。

    为了解释,如何从一种形式转换到另一种形式,这里有更多的解释:

    有时,这些ID的表示方式与$Links-项中的不同:

    第一个字母代表ID的“类型”:

    R=副本ID V=查看通用ID N=注释通用ID

    所有32位值以16位的2/2分开,前面有另一个字符,表示“第一”(F)或“第二”(=Next,N)值

    其余部分被分成8个字母,第一个和第三个八位组用冒号隔开,前半部分和后半部分用减号分开

    就像你很容易看到的那样:

    RFC2257F23:004852B9翻译成FC2257F23004852B9

    VFA5208C4C:6552DA01-VN422569FB:003AAC2D翻译成A5208C4C 6552DA01 422569FB 003AAC2D


    NF6D24A297:6579B8E3-NNC225805D:004D8678翻译成6D24A297 6579B8E3 C225805D 004D8678你能提供一个工作示例和一个非工作示例吗?关于Notes链接的一些信息可以在这里找到:上面的数据是工作示例。非工作示例看起来完全相同,除了dif不同的十六进制代码集,我不认为这会有多大帮助。我会看看有关Notes链接的信息-谢谢。一个明显的问题是Notes客户端中不工作的链接是否为死链接。另一个明显的问题是用户单击链接是否有权访问数据库和文档。当您(和/或最终用户)单击浏览器中的非工作链接?当您(和/或最终用户和/或具有完全访问管理员权限的用户)被分配和激活时会发生什么情况在Notes客户端中单击它?谢谢,这非常有用。我想我的客户可能有一个损坏的数据链接,但我会进一步调查。