如何将Notes文档链接转换为HTML链接
我负责维护一些旧的代码,我们从消息中提取Notes链接,并将其转化为可从本地计算机上的HTML调用的链接(在其上安装Notes)。我们有一个链接起作用的情况,另一个链接不起作用。如何将Notes文档链接转换为HTML链接
我很努力地理解这段代码究竟做了什么,甚至为什么它甚至起作用。基本上,我们在电子邮件中查看“$ Links”属性。此属性的值,例如,在Notes中查看时,是这样的:
RFC2257F23:004852B9
VFA5208C4C:6552DA01-VN422569FB:003AAC2D
NF6D24A297:6579B8E3-NNC225805D:004D8678
什么我们的代码做的就是让这个属性的二进制值,使用NSFItemInfo和OSLockBlock。然后从偏移量11开始,向后计算8个字节,将每个字节转换为2位十六进制值。然后再执行相同的操作3次,但将原来的偏移量8个字节向前移动。在这8个字节段的第1个和第3个之后插入'/'字符。然后整个事件被附加到“注释:///”。最后,链接生成这个样子的:
Notes:///C2257F23004852B9/A5208C4C6552DA01422569FB003AAC2D/6D24A2976579B8E3C225805D004D8678
我猜测,这个值表示文档链接的注意事项UNID,并且点击时,注意 启动,并直接进入文件。那么,有没有人有一个想法,为什么一个链接将工作,而其他失败?我们的客户声称Notes链接数据库是完好无损的,并且可以从Notes本身中成功查看 。
注 - 链接由协议,服务器部分,数据库部分和数据库内的元素组成。
一个正常的例子是:
笔记://server/path/database.nsf/view/keytodocumentinview
每个部分(除服务器)可以由内部ID来代替。
- 路径/ database.nsf - >副本ID(在你的例子C2257F23004852B9)
- 视图 - >视图的设计元素的通用ID(A5208C4C6552DA01422569FB003AAC2D)
- keytodocumentinview - >通用ID (6D24A2976579B8E3C225805D004D8678)
如果链接中没有服务器,则Notes客户端会尝试“猜测”正确的服务器。它会检查:
- 桌面上是否存在请求的副本ID的图标。如果是:将最后一次使用的副本的服务器(如果副本堆叠在顶部)
- 我可以找到一个catalog.nsf(从位置文档或邮件主服务器上的目录服务器上)如果是:是replica- ID在那里如果是:以从那里服务器...
- 询问用户服务器(不知道那一部分,因为它并不总是似乎发生)
所以答案您的问题是:
如果客户端无法找到任何引用的服务器链接将无法正常工作。 因此,将正确的服务器添加到链接总是更好(如果你知道的话)。
只是为了解释,如何从一种形式到另一个,这里是一些更多的解释:
有些时候,这些ID都表示不同的作为$链接 - 项目发现:
的第一个字母代表的ID的 “类型”:
R =副本ID V =查看通用ID N =注意通用ID
所有32位值是分隔符编辑16位的2个半字节,由另一个字符作为前面的字符,告诉“First”(F)或“Second”(= Next,N)值。
其余分为8个字母块,第一个和第三个八位字节用冒号分隔,前半部分和后半部分用负号分开。
就像你可以很容易地看到:
RFC2257F23:004852B9转化为FC2257F23004852B9
VFA5208C4C:6552DA01-VN422569FB:003AAC2D转化为A5208C4C 6552DA01 422569FB 003AAC2D 和
NF6D24A297:6579B8E3-NNC2258 05D:004D8678翻译成6D24A297 6579B8E3 C225805D 004D8678
谢谢你,这是非常有帮助的。我想可能我的客户有一个腐败的数据链接,但我会进一步研究它。 –
您能否提供一个工作示例和一个非工作示例?关于Notes链接的一些信息可以在这里找到:https://www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urls –
上面的数据是工作示例。非工作示例看起来完全一样,除了一组不同的十六进制代码,我认为这不会有多大帮助。我会看看关于Notes Links的信息 - 谢谢。 –
一个显而易见的问题是,Notes客户机中的非工作机器是否是死链接。另一个明显的问题是用户点击链接是否可以访问数据库和文档。当您(和/或最终用户)单击浏览器中的非工作链接时,会发生什么?当您(和/或最终用户和/或具有完全访问管理员权限的用户分配并激活)在Notes客户端中点击它时会发生什么? –