第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共9页Openfire插件开发人员指南导言插件是增强Openfire功能。这份文件是一个开发人员创建插件指南。结构的一个插件插件存放在插件openfireHome目录。当部署一个jar或war插件文件,它会自动解压安装。该文件在插件目录结构如下:插件结构myplugin/|-plugin.xml插件定义文件|-readme.html任择自述文件的插件,它会显示给最终用户|-changelog.html任择修改文件的插件,它会显示给最终用户|-icon_small.gif可选小(16x16)图标与插件(也可以是PNG文件)|-icon_large.gif可选大(32x32)图标与插件(也可以是PNG文件)|classes/资源的插件需要(即属性文件)|-database/可选数据库架构文件,你需要插件|-i18n/插件国际化的语言配置。|-lib/您的插件的jar包|-web资源的管理控制台集成,如果有的话|-WEB-INF/|-web.xml生成web.xml中含有编译JSP的条目|-web-custom.xml可选用户自定义的web.xml中的自定义servlets|-images/图片文件存放的目录web目录存在的插件,需要添加到Openfire管理控制台。进一步的细节如下。在plugin.xml文件规定的主要插件类。样本文件看起来可能如下:样本plugin.xml
第2页共9页第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共9页org.example.ExamplePluginExamplePluginThisisanexampleplugin.JiveSoftware1.007/01/2006http://www.igniterealtime.org/projects/openfire/plugins.jsp3.0.0gpl该元数据的领域,可以设置在plugin.xml文件:name-插件的名称。description-插件的说明。author-插件的作者。version-该插件的版本。date-发布日期如2006年7月1日。url-插件网址。minServerVersion-最低Openfire版本databaseKey-如果插件需要它自己的数据表,该databaseKey内容应设立一个架构主要名称(通常是相同名称的插件)。数据库架构文件为每个支持的数据库,然后放置在数据库目录下的插件。例如,“foo”,架构文件将被称为“foo_mysql.sql”,“foo_oracle.sql”等等,我们建议您,您的表前缀of,以避免可能的冲突与其他应用程序安装在同一数据库。脚本应该进入ofVersion表使用的关键,这样的架构版本信息可跟踪,例如:INSERTINTOofVersion(name,version)VALUES('foo',0);databaseVersion-数据库版本号(如果数据库模式的定义)。新的插件与数据库架构应该开始在版本。第3页共9页第2页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共9页如果将来插件版本的需要更新,这些更新可以定义创建子目录中的升级数据库目录为每个版本。例如,目录database/upgrade/1和database/upgrade/2将包含脚本,如“foo_mysql.sql”和“foo_oracle.sql”中包含相关的数据库,为每一个版本的变化。每个脚本应该更新版本中的信息ofVersion表,例如:UPDATEofVersionsetversion=1wherename='foo';parentPlugin-父层插件(作为“foo”的“foo.jar”插件)。当一个插件有一个父插件,插件的类加载器将被使用来而不是建立一个新的类加载器。这可让插件更加紧密地协同工作。子插件将不会影响其父插件。“licenseType”:显示许可协议,该插件是由。有效值如下:o“commercial”:commercial“商业”:插件是下发布的商业许可协议。o“gpl”:“通用公共许可证”:插件发布使用GNU公共授权(GPL)。o“apache”:该插件发布的Apache许可证。o“internal”:(内部)插件是供内部使用的一个组织只,并不会重新分配。o“other”:(其他)插件是许可下发布agrement不属于其中的其他类别。许可协议的细节应该在插件的自述。如果许可证类型未设置,这是假定其他。...