【问题标题】:Domino 8.5.3 - Create an organization extension library / codestoreDomino 8.5.3 - 创建组织扩展库/代码库
【发布时间】:2014-05-15 11:17:21
【问题描述】:

这是一个我断断续续地工作了几个月的项目,我觉得我已经很接近了,但我似乎无法克服最后的障碍。

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

历史

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

下一步是使用该插件并将其放入更新站点,以便所有服务器和开发人员可以在一个版本上同步。我发现并关注了这两篇优秀的博客文章(我希望在我开始这个项目时就存在):

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 更新程序只是挂起。我已经放了一个多小时,最终 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

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

这里的安全措施也相当严格。这可能是一个安全问题 - 有没有办法解决这个问题?一旦我掌握了窍门,我就只能猜测了。

为清楚起见并更新信息,已对此进行了编辑

【问题讨论】:

  • 如何加载更新站点?
  • 所以,确保我理解。您已经成功构建了一个插件并且服务器知道它(告诉 http osgi ss com.yournamespace)。您通过更新站点将插件安装到 DDE 中,但您无法构建使用 POI 的应用程序。您是否选中了 xsp.properties 中的复选框以将该插件作为 nsf 的依赖项包含在内?您的插件是否显示在那里?
  • 我希望我更清楚 - 我会看看我是否可以编辑我的问题。可能有太多无关信息。

标签: eclipse osgi xpages lotus-domino


【解决方案1】:

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

对于那些发现这个并试图解决错误的人

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

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

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

【讨论】:

    【解决方案2】:

    要开发一个插件,你真的需要 3 个项目:

    • 插件
    • 功能
    • 更新站点

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-10
        • 1970-01-01
        • 1970-01-01
        • 2019-03-19
        • 2010-10-25
        • 1970-01-01
        • 2012-05-09
        相关资源
        最近更新 更多