2

对于我们的 Xpages 应用程序堆栈,我们必须创建 cca。100 个控件将涵盖我们的新 UI 部件/帮助程序和一些附加服务。这些控件非常通用,必须由许多 Xpages 应用程序使用。现在的问题是如何在应用程序(数据库)之间共享这些控件。控件需要一些托管 bean 才能工作,还需要一些 CSS、JS 和图像。将整个内容复制到每个应用程序中并以某种方式对其进行维护是不可行的(即使设计继承在这里也无济于事)。更重要的是......在应用程序特定控件中混合这 100 个控件是真正的地狱,因为控件不支持任何命名空间或某些包分组(如包资源管理器中的 java),所以最后我们在 DDE 中有很长的控件列表,其中是导航和工作的噩梦。

我们尝试使用扩展库方法并遵循本教程

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide

...但老实说,我从头开始在我的计算机上尝试了 3 次,甚至教程中的示例项目也无法正常工作,并且仍然在更新站点项目中引起了一些错误。我的同事也在他的电脑上试过这个,但没有运气。上面文章中描述的整个过程是许多java类、XML和配置文件的集合,即使是小控件(eclipse插件项目->功能项目->更新站点项目,然后你必须安装这个更新站点测试它和什么时候出现错误,您必须运行另一个循环...)。与这个http://tapestry.apache.org/component-classes.html相比,它在 Xpages 中的重量级非常高。

所以我的问题是,有没有其他方法可以帮助我们在这个领域在应用程序之间共享控件?或者对于即将发布的 Notes 版本(例如 R9.1),该区域是否有任何更新?

4

2 回答 2

5

共享控件的最有效方式扩展库。它确实带有学习曲线。您可以使用 Nathan 的 XSP Starter Kit 来减轻您的痛苦。或者,您可以使用 OpenNTF 中的导入/导出插件来移动控件(及其支持文件)。

无论如何:XPages 自定义控件确实支持名称空间和分组 -> 只需查看控件的属性面板即可。您可以定义:

  • 命名空间(默认为 xc,但您可以自由设计自己的)
  • 它应该出现的组
  • 图标
  • 它在设计时的样子(隐藏内部工作原理)

所以第一步是分组和清理,然后考虑分配。Extlib 肯定是最好的。

于 2013-06-13T14:42:14.210 回答
-1

在 NSF 中有一个很好的共享设计元素的方法:模板。您可以使您的数据库成为模板,然后通过在设计器级别复制/粘贴特定的设计元素来继承它们。在设计元素的属性视图的设计选项卡中,查找“从设计模板继承”属性。它包含您从中复制元素的模板名称。注意属性“禁止设计刷新或替换修改”,它应该被关闭。

但是,在将应用程序部署到生产环境时,这会产生一些后果,因此请阅读有关模板继承的文档/帮助。特别是与 XPages/自定义控件的组合需要构建和签名模板。

我们使用它来毫无问题地共享自定义控件,例如应用程序布局和选项列表。

于 2013-06-14T09:50:52.683 回答