版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Openfire插件開發(fā)人員指南導(dǎo)言插件是增強(qiáng)Openfire功能。這份文件是一個(gè)開發(fā)人員創(chuàng)建插件指南。結(jié)構(gòu)的一個(gè)插件插件存放在插件openfireHome名目。當(dāng)部署一個(gè)jar或war插件文件,它會(huì)自動(dòng)解壓安裝。該文件在插件名目結(jié)構(gòu)如下:插件結(jié)構(gòu)
myplugin/
|
-plugin.xml
插件定義文件
|-readme.html
任擇自述文件的插件,它會(huì)顯示給最終用戶
|-changelog.html
任擇修改文件的插件,它會(huì)顯示給最終用戶
|-icon_small.gif
可選小(16x16)圖標(biāo)與插件(也能夠是PNG文件)
|-icon_large.gif
可選大(32x32)圖標(biāo)與插件(也能夠是PNG文件)
|classes/
資源的插件需要(即屬性文件)
|-database/
可選數(shù)據(jù)庫架構(gòu)文件,你需要插件
|-i18n/
插件國際化的語言配置。
|-lib/
您的插件的jar包
|-web
資源的治理操縱臺集成,如果有的話
|-WEB-INF/
|-web.xml
生成web.xml中含有編譯JSP的條目
|-web-custom.xml
可選用戶自定義的web.xml中的自定義servlets
|-images/
圖片文件存放的名目web名目存在的插件,需要添加到Openfire治理操縱臺。進(jìn)一步的細(xì)節(jié)如下。在plugin.xml文件規(guī)定的要緊插件類。樣本文件看起來可能如下:樣本plugin.xml<?xmlversion="1.0"encoding="UTF-8"?><plugin>
<!—需要的插件類-->
<class>org.example.ExamplePlugin</class>
<!--插件元數(shù)據(jù)-->
<name>ExamplePlugin</name>
<description>Thisisanexampleplugin.</description>
<author>JiveSoftware</author>
<version>1.0</version>
<date>07/01/2006</date>
<minServerVersion>3.0.0</minServerVersion>
<licenseType>gpl</licenseType>
<!--治理操縱臺的條目-->
<adminconsole>
<!--Moreonthisbelow-->
</adminconsole></plugin>該元數(shù)據(jù)的領(lǐng)域,能夠設(shè)置在plugin.xml文件:
name
-插件的名稱。
description
-插件的講明。
author
-插件的作者。
version
-該插件的版本。
date
-公布日期如2006年7月1日。
url
-插件網(wǎng)址。
minServerVersion
-最低Openfire版本
databaseKey
-如果插件需要它自己的數(shù)據(jù)表,該databaseKey內(nèi)容應(yīng)當(dāng)設(shè)置一個(gè)架構(gòu)要緊名稱(通常是相同名稱的插件)。數(shù)據(jù)庫架構(gòu)文件為每個(gè)支持的數(shù)據(jù)庫,然后放置在數(shù)據(jù)庫名目下的插件。例如,
“foo”,架構(gòu)文件將被稱為“foo_mysql.sql”
,
“foo_oracle.sql”等等,我們建議您,您的表前綴of
,以幸免可能的沖突與其他應(yīng)用程序安裝在同一數(shù)據(jù)庫。腳本應(yīng)該進(jìn)入ofVersion表使用的關(guān)鍵,如此的架構(gòu)版本信息可跟蹤,例如:
INSERTINTOofVersion(name,version)VALUES('foo',0);
databaseVersion-數(shù)據(jù)庫版本號(如果數(shù)據(jù)庫模式的定義)。新的插件與數(shù)據(jù)庫架構(gòu)應(yīng)該開始在版本。假現(xiàn)在后插件版本的需要更新,這些更新能夠定義創(chuàng)建子名目中的升級數(shù)據(jù)庫名目為每個(gè)版本。例如,名目database/upgrade/1和database/upgrade/2將包含腳本,如“foo_mysql.sql”和“foo_oracle.sql”中包含有關(guān)的數(shù)據(jù)庫,為每一個(gè)版本的變化。每個(gè)腳本應(yīng)該更新版本中的信息ofVersion表,例如:
UPDATEofVersionsetversion=1wherename='foo';
parentPlugin-父層插件(作為“foo”的“foo.jar”插件)。當(dāng)一個(gè)插件有一個(gè)父插件,插件的類加載器將被使用來而不是建立一個(gè)新的類加載器。這可讓插件更加緊密地協(xié)同工作。子插件將可不能阻礙其父插件。
“l(fā)icenseType”:顯示許可協(xié)議,該插件是由。有效值如下:o
“commercial”:commercial
“商業(yè)”
:插件是下公布的商業(yè)許可協(xié)議。o
“gpl”:
“通用公共許可證”
:插件公布使用GNU公共授權(quán)(
GPL
)。o
“apache”
:該插件公布的Apache許可證。o
“internal”
:(內(nèi)部)插件是供內(nèi)部使用的一個(gè)組織只,并可不能重新分配。o
“other”
:(其他)插件是許可下公布agrement不屬于其中的其他類別。許可協(xié)議的細(xì)節(jié)應(yīng)該在插件的自述。如果許可證類型未設(shè)置,這是假定其他。一些額外的文件都能夠在該插件提供更多資料,以最終用戶(所有放置在要緊的插件名目):
readme.html
-可選自述文件的插件,它會(huì)顯示給最終用戶。
changelog.html
-可選修改文件的插件,它會(huì)顯示給最終用戶。
icon_small.png
-可選?。?/p>
16x16
)圖標(biāo)有關(guān)插件。也能夠是。
GIF文件。
icon_large.png
-可選大(
32x32
)圖標(biāo)有關(guān)插件。也能夠是。
GIF文件。采樣插件執(zhí)行packageorg.example;
importorg.jivesoftware.openfire.container.Plugin;importorg.jivesoftware.openfire.container.PluginManager;
importjava.io.File;
/***AsamplepluginforOpenfire.*/publicclassExamplePluginimplementsPlugin{
publicvoidinitializePlugin(PluginManagermanager,FilepluginDirectory){
//您的代碼
}
publicvoiddestroyPlugin(){
//您的代碼
}}GeneralPluginBestPractices一樣插件最佳實(shí)踐在選擇軟件包的名稱為您的插件,我們建議您選擇一些與眾不同的您和/或您的組織,以關(guān)心幸免沖突盡可能。例如,如果每個(gè)人去與org.example.PluginName
,即使PluginName是不同的,您可能會(huì)開始投放到一些沖突在那個(gè)地點(diǎn)和那兒的類名。專門是當(dāng)工作與聚類。。修改治理操縱臺插件能夠添加標(biāo)簽,區(qū)段,和網(wǎng)頁的治理操縱臺。有幾個(gè)步驟,以完成這項(xiàng):
第一個(gè)<adminconsole/>必須添加到plugin.xml文件。
JSP的文件必須編制和實(shí)施的類路徑的插件。阿web.xml中的匯編文件,其中包含的JSPservlet的條目必須付諸網(wǎng)頁/名目下的插件。注:
Openfire建立腳本能夠協(xié)助編制JSPs和制造web.xml中。這是詳細(xì)講明如下。
任何圖像所需的JSP頁面必須住在網(wǎng)頁/圖像/名目。只有GIF和PNG圖像的支持。該<adminconsole/>部分plugin.xml定義額外的標(biāo)簽,科和項(xiàng)目治理操縱臺框架。抽樣plugin.xml文件看起來可能如下:樣本plugin.xml<?xmlversion="1.0"encoding="UTF-8"?><plugin>
<!--要緊插件類-->
<class>org.example.ExamplePlugin</class>
<!--治理操縱臺的條目-->
<adminconsole>
<tabid="mytab"name="Example"url="my-plugin-admin.jsp"description="Clicktomanage...">
<sidebarid="mysidebar"name="MyPlugin">
<itemid="my-plugin"name="MyPluginAdmin"
url="my-plugin-admin.jsp"
description="Clicktoadministersettingsformyplugin"/>
</sidebar>
</tab>
</adminconsole></plugin>在那個(gè)例子中,我們定義一個(gè)新的標(biāo)簽“范例”
,一個(gè)工具欄目“我的插件”和一個(gè)網(wǎng)頁“我的插件治理”
。我們差不多注冊的,插件admin.jsp頁面。您能夠覆蓋現(xiàn)有的標(biāo)簽,區(qū)段,項(xiàng)目利用現(xiàn)有的ID屬性值在自己的<adminconsole>定義。治理操縱臺最佳實(shí)踐有幾種最佳做法時(shí),需要考慮變更Openfire治理操縱臺通過一個(gè)插件??偟闹黝}是無縫集成的插件應(yīng)該:
集成到現(xiàn)有的標(biāo)簽和側(cè)欄節(jié)只要有可能不是創(chuàng)建自己的。只有制造新標(biāo)簽的專門重要的新功能。
不要用“插件”的名稱,標(biāo)簽,
sidebars和項(xiàng)目。例如,有一個(gè)項(xiàng)目叫做“網(wǎng)關(guān)插件”
,也可能是所謂的“網(wǎng)關(guān)設(shè)置”
。
嘗試以符合現(xiàn)有的用戶界面治理操縱臺在您的自定義插件的網(wǎng)頁。
沒有必要建立一個(gè)治理操縱臺進(jìn)入查看插件元數(shù)據(jù)。相反,讓Openfire告知用戶有關(guān)該插件安裝,并提供插件治理。寫作網(wǎng)頁治理操縱臺建立網(wǎng)頁,與Sitemesh是容易的。只要?jiǎng)?chuàng)建有效的HTML頁面,然后使用中繼標(biāo)記來傳送指示Sitemesh
。當(dāng)渲染輸出,Sitemesh將使用您所提供的指示,使裝修的任何內(nèi)容,在您的HTML網(wǎng)頁。以下元標(biāo)記可用于:
pageID
-的ID的網(wǎng)頁,其中必須符合入境治理操縱臺中的XML上文所述。要么pageID或subPageID
必須指定。
subPageID
-的ID小組網(wǎng)頁,其中必須符合入境治理操縱臺中的XML上文所述。小組網(wǎng)頁用于行政行為涉及到父頁面編號。例如,編輯或刪除某一特定群體。要么pageID或subPageID
必須指定。
extraParams
(可選)
-額外的參數(shù),應(yīng)通過網(wǎng)頁。例如,在網(wǎng)頁上刪除一組可能的ID集團(tuán)。參數(shù)必須是URL編碼。
裝修(可選)
-覆寫Sitemesh裝修使用的網(wǎng)頁。裝修沒有命名,將可提供簡單的網(wǎng)頁沒有裝修。下面的HTML代碼段顯示了有效的網(wǎng)頁:范例<html>
<head>
<title>MyPluginPage</title>
<metaname="pageID"content="myPluginPage"/>
</head>
<body>
Bodyhere!
</body>
</html>在您使用本土化插件這有可能把你的插件成多種語言化(
i18n
)。為此,請使用下列程序進(jìn)行:
創(chuàng)建一個(gè)“i18n”名目的根名目中的插件。
字符串轉(zhuǎn)換在您的JSP的文件指的是國際鑰匙。例如:
...
<fmt:messagekey=""/>
國際化在你的Java文件使用LocaleUtilsclass:
org.jivesoftware.util.LocaleUtils.getLocalizedString("","[plugin_name]");
國際化plugin.xml文件在您使用$
(葉)格式:
<sidebarid="gateways"name="${}"description="${plugin.sidebar.description}">
<description>${plugin.description}</description>使用Openfire構(gòu)建腳本在Openfire建立腳本將關(guān)心您建立和進(jìn)展插件。它看起來的插件開發(fā)名目格式如下:插件結(jié)構(gòu)myplugin/|-plugin.xml
<-插件定義文件|-readme.html
<-插件自述文件|-changelog.html
<-插件修改的日志|-icon_small.gif
<-縮略圖片(16x16)|-icon_large.gif
<-圖片(32x32)
|-classes/
<-資源的插件需要(即屬性文件)|-lib/
<-包|-src/
|-database
<-可選的數(shù)據(jù)庫腳本的插件
|-java
<-插件的Java源代碼
|
|-com
|
|-mycompany
|
|-*.java
|-web
|-*.jsp
<-jsp頁面
|-images/
<-圖片文件
|-WEB-INF
|-web.xml
<-可選的文件自定義servlets能夠注冊構(gòu)建腳本將編譯源文件和JSPs
,并建立有效的插件結(jié)構(gòu)和JAR文件。把你的插件名目中的
src
/插件名目下的源分布,然后用antplugins來建立您的插件。任何JAR文件的插件需要在匯編應(yīng)放到lib名目。這些JAR文件也將被復(fù)制到插件的生成lib名目的構(gòu)建過程的一部份。如果您創(chuàng)建一個(gè)src/web/WEB-INF/web.xml,注冊servlets初始化時(shí)啟動(dòng)插件。只有注冊的servlet和servlet的映在web.xml中的文件。注:此功能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)安全工程(安全系統(tǒng)工程)試題及答案
- 2025年高職農(nóng)產(chǎn)品加工與質(zhì)量檢測(質(zhì)量檢測技術(shù))試題及答案
- 2025年大學(xué)大四(宴會(huì)設(shè)計(jì))菜單定制專項(xiàng)測試題及答案
- 新能源鋰電光伏復(fù)合涂層材料生產(chǎn)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 2026年如何降低電氣設(shè)備故障率
- 2025四川自貢市第一人民醫(yī)院招聘醫(yī)療輔助崗人員11人備考題庫及完整答案詳解1套
- 2025福建廈門市翔發(fā)集團(tuán)有限公司招聘3人備考題庫(第三期)及1套完整答案詳解
- 2026浙江杭州市建德市大同鎮(zhèn)中心衛(wèi)生院編外人員招聘3人備考題庫及答案詳解(奪冠系列)
- 2025財(cái)達(dá)證券股份有限公司資產(chǎn)管理業(yè)務(wù)委員會(huì)招聘2人備考題庫(北京)及一套參考答案詳解
- 2025新疆阿勒泰布喀公路建設(shè)開發(fā)有限公司招聘1人備考題庫及一套參考答案詳解
- 美術(shù)教學(xué)中的跨學(xué)科教學(xué)策略
- mc尼龍澆鑄工藝
- 旅居養(yǎng)老可行性方案
- 燈謎大全及答案1000個(gè)
- 老年健康與醫(yī)養(yǎng)結(jié)合服務(wù)管理
- 中國焦慮障礙防治指南
- 1到六年級古詩全部打印
- 心包積液及心包填塞
- GB/T 40222-2021智能水電廠技術(shù)導(dǎo)則
- 兩片罐生產(chǎn)工藝流程XXXX1226
- 第十章-孤獨(dú)癥及其遺傳學(xué)研究課件
評論
0/150
提交評論