我可以在另一个数据库中引用位于一个数据库中的主题吗?

时间:2014-06-25 18:10:02

标签: themes xpages

我只是想在主题中引用css文件,这些文件位于不同的数据库中,我想知道:

我是否可以引用位于不同数据库中的整个主题以及" extend"?

背后的原因是:是否可以将主题保存在一个可供各种应用程序使用的中央数据库中,因此,如果主题应该有更改,则只需在一个位置进行更改而不是在每个应用程序中。

感谢您提前回复。

2 个答案:

答案 0 :(得分:2)

我认为简短的回答是,您无法仅从其他数据库加载主题。

每个NSF都拥有自己的JVM,位于服务器JVM之上。因此,您可以扩展位于服务器上的主题,但不能扩展另一个NSF中的主题。

XPages单一副本设计通过有效加载模板的JVM从不同的NSF加载主题。所以它是主题,也是所有其他设计元素。

Jesse Gallagher在OpenNTF Domino API中完成了一些工作,允许您从另一个数据库加载XPage或自定义控件,但我不确定这是否适用于主题。

如果您想设计一次并使用多次,您可以将主题添加到服务器本身。查找OneUI元素以查看您需要存储它的位置(或者可以在Mastering XPages中提及)。你只能将主题嵌套到五个级别,但你应该没问题。

答案 1 :(得分:2)

不,我不认为这是可能的(如果其他人知道的话,那就错了吗?)

要将所有主题文件保存在中心位置,OSGi插件中的XspLibrary是一个很好的解决方案,但如果您以前没有这样做,那么这是一个陡峭的学习曲线。好处是,一旦你了解这种技术,它就会为集中化而打开大门。 xpages的其他部分。 如果使用xpinc,你可以将插件部署到每个服务器和每个客户端,并且每个nsf都可以使用该插件中的主题。

有一些' xpages插件入门'文章突然冒出来。通过planetlotus.org查看(稍后我会用一些链接编辑这个答案)

一旦你知道如何做一个XspLibrary,你就可以在OpenNTF上下载bootstrap4xpages项目的源代码,看看他们是如何从插件中提供他们的主题的。 它依赖于扩展库,但如果你不使用退出库,你也可以对该项目的必要部分进行逆向工程! 这个引导项目是由XPage的首席架构师Phillipe Riand建立的,所以它应该是一个很好的例子!

我正在创建一个关于从插件中创建主题的视频系列,但暂时失去了动力:(。我可能在今年某个时候完成它,如果我这样做,我会在这个答案上发布一个链接。与此同时,如果你想试一试,我很乐意回答你的任何问题。

否则,一个快速而肮脏的解决方案将主题文件/ CSS /图像直接放在多米诺骨牌服务器的文件系统上,其他主题文件在那里。 '掌握XPages'可能对此有一些建议,但我现在不能和我一起:)