Domino 8.5.3 - 创建组织扩展库/代码库

时间:2014-04-03 14:31:34

标签: eclipse osgi xpages lotus-domino

这是一个我一直在工作几个月的项目,我觉得我非常接近,但我似乎无法摆脱最后的障碍。

目标是开发一个组织扩展库,其中包含我们经常依赖的内部和第三方代码。

记录

作为一个测试项目,我从Apache Poi开始,因为它已经在我们的环境中广泛使用。我有一个仅使用Poi .jars构建的插件和功能,只要我将插件(从我的工作区)添加到我的构建路径,就可以构建我们当前的Poi应用程序。这些应用程序可以在服务器上运行,因为我们已经通过手动复制它们来分发Poi .jars。

下一步是使用该插件并将其添加到updatesite中,以便所有服务器和开发人员可以在一个版本上进行同步。我找到并关注了这两篇优秀的博客文章(我希望在开始这个项目时存在):

http://www.dalsgaard-data.eu/blog/wrap-an-existing-jar-file-into-a-plug-in/

http://www.dalsgaard-data.eu/blog/deploy-an-eclipse-update-site-to-ibm-domino-and-ibm-domino-designer/

注意文章是为Domino 9编写的,我们在这里运行8.5.3,但这只在最后(安装)步骤中有用。

当前

这给我们带来了问题。所有上述内容似乎都很有效。我可以从eclipse更新站点将我的功能安装到我的设计器客户端,它运行良好。但是,当我将其导入我们的updatesite.nsf数据库时,安装失败。这意味着,如果将开发人员放在网络驱动器上,开发人员都可以从更新站点安装,但这并不会将更新部署到我们的服务器上。

问题在于,当我尝试从.nsf更新站点安装时,Eclipse Updater就会挂起。我已经让它持续了一个多小时,最终Notes变得完全没有反应。

所以问题是,在开发可能导致此问题的插件或服务器配置时,我可能做错了吗?

其他信息

我正在查看osgi控制台,这在很大程度上是无益的。我尝试安装时遇到以下错误:SEVERE Could not access digest on the site: no protocol: 0/5B004DDD5E38F3FF85257CAF004C72C7/$file/digest.zip ::class.method=unknown ::thread=Worker-7 ::loggername=org.eclipse.update.core

如果有用,我可以生成转储。

这里的安全性也相当紧张。这可能是一个安全问题 - 有没有办法解决这个问题?一旦我陷入困境,我就会猜测。

为了清晰起见,我们对其进行了编辑,以及更新信息

3 个答案:

答案 0 :(得分:2)

我知道这是5年前的帖子,但是...

对于发现此问题并尝试解决错误的人

  

严重无法在站点上访问摘要:无协议:“

原因是由于更新站点项目没有将Domino updatesite.nsf的URL添加到site.xml的“存档”选项卡中。

我发现updatesite.nsf也需要匿名访问,因为没有提示/未将凭据传递到托管updatesite.nsf数据库的Domino服务器(至少从DDE获取),从eclipse到YMMV。因此,如果在Domino服务器上阻止了匿名连接,那么您将很不走运。

答案 1 :(得分:0)

要开发一个插件,你真的想拥有3个项目:

  • 插件
  • 功能
  • 更新网站

当然,一个功能可以包含多个插件(可能应该包含),并且更新站点可以包含多个功能(可能应该包含)。一旦你有了一个更新站点项目,它就会有一个方便的按钮“build all”,确保一次性编译插件,功能和更新站点。而那个按钮就是你真正想要的。

您可以使用Domino Designer(或本地Domino服务器)中的设置指向功能目录。将纯文本.link文件添加到framework/rcp/eclipse/links,其中包含安装站点的路径 - 然后从那里获取功能和插件。构建完成后,您需要重新启动设计器/服务器以激活更新的功能。

对于Domino服务器,使用updatesite.nsf和相应的notes.ini设置的方法最有意义(对我而言)。需要http重启。懒人编写整个事情的脚本。

答案 2 :(得分:0)

我仍然没有很好的答案,但我相信这个问题与这里的环境有关。我没有权力改变环境,即使我能够最终证明这是造成这个问题的原因,所以这是一个没有实际意义的问题。我只能说,至少有一台管理员计算机从更新站点安装没有问题。

对我来说,分发更新站点的解决方案是将其放在网络驱动器上,让每个人都从那里安装它。服务器在updatesite.nsf中使用它没有问题。