对于我们的Xpages应用程序堆栈,我们必须创建cca。 100个控件将涵盖我们的新UI部件/帮助程序和一些其他服务。这些控件非常通用,必须由许多Xpages应用程序使用。现在的问题是如何在应用程序(数据库)之间共享这些控件。控件需要一些托管bean才能工作,还需要一些CSS,JS和图像。将整个内容复制到每个应用程序中并以某种方式维护它不是方法(即使设计继承在这里也没有帮助)。更重要的是......在应用程序特定控件之间混合使用这100个控件真是太糟糕了,因为控件不支持任何命名空间或某些包分组(比如Package Explorer中的java),所以最后我们在DDE中有很长的控件列表是导航和工作的噩梦。
我们尝试使用扩展库方法并遵循本教程
...但老实说,我从头开始在我的计算机上尝试了3次,甚至教程中的示例项目也没有正常工作,但仍然在更新站点项目中引起了一些错误。我的同事也在他的电脑上试了这个,没有运气。并且上面文章中描述的整个过程设置了许多java类,XML和配置文件,即使是小控件(eclipse插件项目 - >功能项目 - >更新的站点项目,然后你必须安装此更新站点测试它当发生错误时,你必须运行另一个循环...)。与例如比较这是http://tapestry.apache.org/component-classes.html在Xpages中非常重的方法。
所以我的问题是,有没有其他方法可以帮助我们在这个领域共享应用程序之间的控制?或者,即将发布的Notes版本是否会在此区域中进行任何更新,例如R9.1?
答案 0 :(得分:5)
共享控件的最有效方式是扩展库。它确实带有学习曲线。您可以使用Nathan的XSP入门套件来缓解您的痛苦。或者,您可以使用OpenNTF中的导入/导出插件来移动控件(及其支持文件)。
在任何情况下:XPages自定义控件执行支持名称空间和分组 - >只需看一下控件的属性面板。您可以定义:
因此,第1步是分组和清理,然后考虑分发。 Extlib绝对是最好的。
答案 1 :(得分:-1)
在NSF中共享设计元素有很好的方法:模板。您可以将数据库设为模板,然后通过在设计器级别复制/粘贴它们来继承特定的设计元素。在设计元素的属性视图“设计”选项卡中,查找“从设计模板继承”属性。它包含从中复制元素的模板名称。注意属性“禁止设计刷新或替换以修改”,它应该关闭。
但是,在将应用程序部署到生产环境时会产生一些影响,请阅读有关模板继承的文档/帮助。特别是与XPages /自定义控件的组合需要构建和签名模板。
我们使用它来共享自定义控件,如应用程序布局和选项列表,没有任何问题。