背景
我在过去一年左右设计了许多工具,旨在帮助我编写XPage程序。这些工具主要包括帮助java类,扩展日志记录(使用OpenLogger和我自己的东西),还有一些我个人认为没有的东西。已与我的雇主讨论过,我们认为开始将这些项目发布到openNTF可能是一个好主意。由于这些工具由大约3个.nsfs组成,所有这些工具都设计为使用相同的java代码,关键的javascript类,css,甚至是一个或两个自定义控件,我想将关键项合并到一个插件中,安装在服务器和客户端级别。在我考虑发布迄今为止所做的任何工作之前,我想做这个整合。维护不仅仅是为了我,而是为了潜在用户,这将是太多的工作。我还没有找到任何关于如何在谷歌搜索中做这样的事情的信息。我还必须确保能够使用ExtLib库,openNTF Domino API和Notes API。
我的问题
非常感谢您的投入。
答案 0 :(得分:8)
根据我的经验,我发现潜入插件开发是一个巨大的PITA,直到你习惯它,但它总是值得它。
至于你是否可以使用Designer进行插件开发:是的,但你最终可能不希望这样做。我开始使用Designer这样的事情有一段时间了,大概与你有同样的感受:当我已经整天坐在一起时,为什么还要安装另一个Eclipse实例呢?然而,在Designer的时代(它大致相当于,我认为,Eclipse 3.4)之间,当涉及到"应用程序"之间的工作集时,有些奇怪。和" Project Explorer"在我的情况下,我希望使用Mac应用程序,我最终切换了。
有两个主要的起点:XSP入门套件(http://www.openntf.org/internal/home.nsf/project.xsp?name=XSP%20Starter%20Kit)和Niklas Heidloff关于为XPages开发设置Eclipse的视频(http://www.openntf.org/main.nsf/blog.xsp?permaLink=NHEF-8RVB5H)。后者提到了XPages SDK(http://www.openntf.org/internal/home.nsf/project.xsp?name=XPages%20SDK%20for%20Eclipse%20RCP),它也很有用。在我的设置中,我发现视频很有用,但有些方面要么难以找到(IBM的下载正在转移)或可选(调试,这取决于你是否在Windows上使用Eclipse) )。
这些资源通常应该让您进行设置。在设置Eclipse环境时要担心的主要问题是确保插件执行环境正确完成。如果您按照SDK设置说明进行操作,那么您应该可以获得所需的信息。
接下来要知道的是插件的结构方式。您要在Designer或Domino中安装的每个插件也将与功能项目(一个功能可容纳多个插件)配对,并且可能还有一个更新站点 - 如果您只想将功能导入更新站点,则最后一个是可选的NSF。这就是我经常进行正常插件开发的方法:将配对功能导出到目录,然后将该功能导入服务器的更新站点NSF,然后使用应用程序从那里安装到Designer中 - >安装。您还可以进行设置,以便部署到服务器的插件/功能目录中,而不是在您喜欢的情况下将安装步骤安装到更新站点中。 GitHub并没有真正发挥这方面的作用 - 它更多的是与您的代码共享/协作,以及为您的git存储库提供远程存储位置(我强烈建议)。
至于"在森林中迷失了#34;感觉:是的,你有这么好的时间。有许多活动部分和深奥的概念可以同时掌握所有内容。如果你主要按照上面的链接,然后从XSP入门套件(它本身就是一个可以与一个功能配对的插件项目)的一些基础知识开始 - 比如说,在Activator类中打印文本并创建一个隐式全局变量确保它有效 - 这应该有助于让你的脚湿透。
答案 1 :(得分:2)
最好在Eclipse中完成。您可以从那里调试在服务器上运行的代码,也可以直接从那里运行它。编辑也是最新的。你想要:
OpenNTF上的XSP入门套件是插件的一个很好的起点。库id有各种引用,对于你的插件必须是唯一的。基本上,对org.openntf.xsp.starter的引用需要更改为您想要调用插件的任何内容。你也最好建议删除你不需要的东西。我倾向于使用Starter的副本,删除东西,构建,如果有必要类的错误(显然需要Activator.java和其他一些),然后将它们从Starter中重新粘贴。
XPages OpenLog Logger是一个很好的交叉引用,它是从XPage Starter Kit构建的。它几乎被剥夺了,你将能够看到必须改变的东西。 XSP入门套件的许多元素对应于您可能从XPage Java开发中熟悉的Java类。
GitHub等倾向于用作源代码控制,这对于解决不时发生的变化非常有用。