openmeetings二次開(kāi)發(fā)詳解本人都已實(shí)踐成功_第1頁(yè)
openmeetings二次開(kāi)發(fā)詳解本人都已實(shí)踐成功_第2頁(yè)
openmeetings二次開(kāi)發(fā)詳解本人都已實(shí)踐成功_第3頁(yè)
openmeetings二次開(kāi)發(fā)詳解本人都已實(shí)踐成功_第4頁(yè)
openmeetings二次開(kāi)發(fā)詳解本人都已實(shí)踐成功_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余21頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、openmeetings 十萬(wàn)個(gè)如何(不斷更新)事先聲明,我用的是最新的 openmeetings 源碼(包括客戶端與服務(wù)端),最新版本openmeeting 是有多種風(fēng)格默認(rèn)為藍(lán)色一.如何繞過(guò)登陸找至 UbaseauthcheckLoginData.lzx,在第一個(gè) oninit 力口上 this.login()this.pressEnter=newLzDelegate(this,login);lz.Keys.callOnKeyCombo(this.pressEnter,enter);lz.Focus.setFocus(this.username,true);this.login();這樣,

2、一進(jìn)入登陸界面就會(huì)自動(dòng)登陸.二.如何傳參數(shù)給 openmeetings如 http:/localhost:5080/openmeetings/index.jps?userName=匪&pwd=123可以修改 index.jsp,在 openmeetingsforjava 的源碼找至 U 它varso=newSWFObject(main.lzx.swf8.swf,lzapp,100%,100%,8,#ffffff);so.addParam(quality,high);so.addParam(id,lzapp);so.addParam(allowScriptAccess,always);s

3、o.addParam(scale,noscale);so.addVariable(yxUserName,);so.addVariable(yxUserPass,);so.write(flashcontent);以上 so.addVariable 是我加的,就是把傳過(guò)來(lái)的用戶名與密碼加入到 openlaze中,這里的 yxUserNamefyxUserPass 在openLaze 中是全局變量三.如何把傳過(guò)來(lái)的參數(shù),即用戶名與密碼直接錄入到輸入框中,來(lái)達(dá)到真正意義的跳轉(zhuǎn)找至 UbaseauthcheckLoginData.lzx,if(this.b2.visible)this.username.

4、setAttribute(text”,yxUserName);this.userpass.setAttribute(text”,yxUserPass);this.b2.onclick.sendEvent();elsethis.b3.onclick.sendEvent();在里面加上this.username.setAttribute(text,yxUserName);this.userpass.setAttribute(text,yxUserPass);四,如何在登陸后直接跳入到演講界面找至 UbasenavimainNavi.lzx在最下面!CDATAvarvalue=this.naviOb

5、ject;for(vari=0;i我現(xiàn)在已經(jīng)把 i=0 改為了 i=2,這樣就直接進(jìn)入到演講之前的一個(gè)界面, 接著我們就是觸發(fā)進(jìn)入按鈕就 OK 了注意,還可以把 i 改成 i=1,i=3找至 UmodulesconferenceconferenceroomListItem.lzx加入了一個(gè) name=enter_name,原來(lái)是沒(méi)有再把最前面方法的最后加入一句enter_name.onclick.sendEvent();ok,現(xiàn)在就可直接進(jìn)入到演講界面openmeeting 安裝另一篇Red5,視頻會(huì)議 GgNED8 月 20th.2008,1:43am(一)好了,開(kāi)始吧。首先我們需要用到以下

6、東東:1. JDK1.5 或以上版本-這個(gè)就不說(shuō)了,以下所有東西都是基于它的。2. Red5-開(kāi)源 Flash 服務(wù)器,用來(lái)替代 FCS/FMS 畢竟 License 還是有些貴的,呵呵。這里有信息和下載 http:/red53. OpenMeetings-開(kāi)源視頻會(huì)議系統(tǒng),基于 OpenLaszlo 開(kāi)發(fā)。這里有信息和下載http:/code.google.Com/p/openmeetings/4. OpenLaszlo-開(kāi)源的富客戶端應(yīng)用開(kāi)發(fā)平臺(tái)(有點(diǎn)長(zhǎng),呵呵,用它的話來(lái)說(shuō)是 thepremieropen-sourceplatformforrichintern

7、etapplications)。這里有信息和下載:/5. MySQ 域者其他數(shù)據(jù)庫(kù)-必須是 Hibernate 支持的數(shù)據(jù)庫(kù)6. SVN-著名的版本管理工具 Subversion,用來(lái)下載 OpenMeetings 的源代碼的。Windows 下推薦 TortoiseSVN,這里下載:/。Liunx 就直接命令行吧,呵呵。喜歡用 Eclipse 的兄弟也可以用 Subclipse 插件 http:/7. 沒(méi)有第 7 個(gè)東西要下載了好了上面是需要用到的項(xiàng)

8、目,我們先來(lái)部署一次看看效果。下面是部署過(guò)程,我們暫時(shí)不需要用到 Laszlo 和 SVN1 .先裝 JDK(注意要是 1.5.0 以上),這個(gè)到處都有教程,就不說(shuō)了。注意裝完以后要設(shè)置 JAVA_HOMEJDK 路徑。2 .根據(jù)你的系統(tǒng)下山 red5 的安裝包,然后傻瓜式安裝3 .從 OpenMeetings 下載一個(gè)已經(jīng)打包好的應(yīng)用(http: URed5 的webapps 里面,解壓后目錄應(yīng)該是 xmlcrm(最新版本可能為 openmeetings)4.到解壓后的 OpenMeetings 項(xiàng)目下 Install 目錄中(新版本可能為 conf)按照你自己的數(shù)據(jù)庫(kù)來(lái)修改目錄中的任意一個(gè)

9、xxx_hibernate.cfg.xml文件并另存為hibernate.cfg.xml,我的是 MySQ 所以就直接把mysql_hibernate.cfg.xml 文件改名然后把數(shù)據(jù)庫(kù)地址用戶名密碼寫(xiě)上去就 OK5 .打開(kāi) config.xml 文件,看看端口啊,地址啊,有沒(méi)有什么要修改的。6 .啟動(dòng) Red5 服務(wù)器。如果是在 Windows 下 Red5 設(shè)成了服務(wù)的,在 Windows 的服務(wù)中重啟。7 .開(kāi)瀏覽器輸入地址 http:/localhost:5080/xmlcrm/Install (注意大小寫(xiě); Install 根據(jù)版本也有可能為 conf;另外 5080 是默認(rèn)端口,

10、如果修改了就按照你自己的弄)先進(jìn)入安裝界面,東西隨便填。注意郵件服務(wù)器,如果你像我一樣沒(méi)有郵件服務(wù)器的話,就不填,只是暫時(shí)只能由管理員來(lái)添加帳號(hào)而無(wú)法直接注冊(cè),呵呵。然后其中要填入兩個(gè)工具地址,就在頁(yè)面上已經(jīng)提供了下載了。8 .配置完了點(diǎn)擊 Send 按鈕,然后去喝杯咖啡或者茶什么的,因?yàn)橐?5-10 分鐘。=0=#9 .全部搞定訪問(wèn) http:/localhost:5080/xmlcrm 就可以登陸了,你登陸的時(shí)候會(huì)是管理員,可以在頂上選擇 Manag”進(jìn)行管理。同時(shí)提供白板可以畫(huà)畫(huà),還可以共享桌面,呵呵。先玩玩看看效果吧,晚點(diǎn)我再介紹修改。(二)看了效果后如果有興趣,我們就可以開(kāi)始著手修改

11、 OpenMeetings 了。要修改當(dāng)然先是要拿到源代碼了。我們先大致了解一下 OpenMeetings 的源代碼結(jié)構(gòu)。OpenMeetings 分為兩部分:一部分是客戶端,由 OpenLaszlo 和一些 Flash 文件組成,負(fù)責(zé)生成最終的客戶端 swf 文件;另一部分是服務(wù)器端,由 Java 代碼編寫(xiě)而成。我們必須分別下載并編譯這兩個(gè)部分,注意這兩個(gè)部分版本必須一樣。下面分別說(shuō)明這兩個(gè)部分的部署過(guò)程。服務(wù)器端1 .用 SVNM 這個(gè)地址 Checkout 出代碼http:/ .到 install 目錄中(新版本可能為 conf)按照你自己的數(shù)據(jù)庫(kù)來(lái)修改目錄中的任意一個(gè) xxx_hibe

12、rnate.cfg.xml 文件并另存為 hibernate.cfg.xml,我的是MySQ 所以就直收把 mysql_hibernate.cfg.xml 文件改名然后把數(shù)據(jù)庫(kù)地址用戶名密碼寫(xiě)上去就 OK3 .代碼可以用 eclipse 直接 import,不過(guò)編譯 OpenMeetings 推薦使用 ant,項(xiàng)目已經(jīng)提供了一個(gè) build.xml 文件,直接在 eclipse 里面 RunasAnt 就可以編譯整個(gè)項(xiàng)目,編譯結(jié)果將在項(xiàng)目下的 dist 目錄下。(這里有個(gè)小問(wèn)題, 本人下載的 r980 版本中的 build.xml文件居然編譯的時(shí)候沒(méi)有包含編譯 java 文件,導(dǎo)致部署一直失敗

13、,解決方法只需要在最后一行的 depends=clean,prepare,compile,hibernate”最后力口一個(gè) jar 就可以了,改為depends=clean,prepare,compile,hibernate,jar”)4 .將編譯完成的dist中的openmeetings文件夾復(fù)制到red5的webapps下, 重啟red5服務(wù)器,服務(wù)器端部署完成。(如果嫌部署太麻煩,可以將 build.xml 文件中這一行 value 的值改為你的 red5 的 webapps如:,并將這一行刪掉或注釋掉。這樣每次運(yùn)行 build.xml 文件的時(shí)候就可以直接部署到 red5 下了)客戶端

14、1 .下載并安裝 OpenLaszlo,2 .用 SVNM 這個(gè)地址 Checkout 出代碼http:/ .代碼也可以用 eclipse 直接 import,但編譯需要使用 OpenLaszlo,這個(gè)以后4 .復(fù)制剛才代碼下 xmlcrm 下的 videoconference 文件夾到 OpenLaszlo 下,OpenLaszlo 目錄/Server/lps-4.0.9/(4.0.9 為我的版本號(hào),根據(jù)服務(wù)器版本不同而不同)Windows認(rèn)安裝是這個(gè)地址:C:/ProgramFiles/OpenlaszloServer4.0.9/Server

15、/lps-4.0.9/videoconference/(其中4.0.9 同上解)5 .修改 videoconference/con 巾 g.xml 文件,端口啊、地址啊都改成你自己的。rtmphostlocal 標(biāo)簽中的內(nèi)容是你的 red5 服務(wù)器安裝位置。數(shù)據(jù)庫(kù)配置與測(cè)試本來(lái)在上一篇里面寫(xiě)過(guò)一點(diǎn)點(diǎn)數(shù)據(jù)庫(kù)配置,有兄弟在問(wèn),這里就再說(shuō)下1 .安裝一種數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的類型隨便,只需要保證 hibernate 支持類型就行了,這里可以看哪些支持 /80.html,不需要建立任何數(shù)據(jù)庫(kù)或庫(kù)表,等下程序會(huì)幫你建立2 .完成上面兩步,注意服務(wù)器端的第 2 步,

16、那里必須保證正確3 .啟動(dòng) red5 服務(wù)器4 .服務(wù)器端安裝訪問(wèn) http:/localhost:5080/openmeetings/Install,程序會(huì)自動(dòng)進(jìn)入 Step1 安裝,上面框填入你的信息,中問(wèn)框郵件服務(wù)器那一項(xiàng)如果沒(méi)有可以留空,下面框填入 SWFToo 和 Magicimage 兩個(gè)必須的工具的安裝后的路徑,如果沒(méi)有安裝這兩個(gè)軟件的話可以點(diǎn)擊輸入框下面的連接去下載,安裝完成后再填入。然后選擇 Senden,之后進(jìn)展會(huì)很慢不要關(guān)閉頁(yè)面也不要以為死機(jī)了,可以做些別的事情例如和身邊的美女同事聊聊天什么的,大約 5-10 分鐘后安裝完成,此時(shí)數(shù)據(jù)庫(kù)中已經(jīng)多了一個(gè)庫(kù)了。直接訪問(wèn) htt

17、p:/localhost:5080/openmeetings 應(yīng)該可以看見(jiàn)輸出結(jié)果,但由于其中的 swf 是事先編譯好的,不是我們編譯出來(lái)的,所以我們還需要學(xué)習(xí)下面的客戶端安裝5 .客戶端安裝Proxied 方法現(xiàn)在保證 red5 服務(wù)器中剛才部署的服務(wù)器端在運(yùn)行,然后啟動(dòng) OpenLaszlo 服務(wù)器,并在瀏覽器中輸入:http:/localhost:8080/lps-4.0.9/videoconference/maindebug.lzx?lzr=swf8_和http:/localhost:8080/lps-4.0.9/videoconference/main.lzx?lzr=swf8 即可

18、看到結(jié)果 (4.0.9 根據(jù)具體版本號(hào)變更, 如果 OpenLaszlo 不在本機(jī), 請(qǐng)修改 localhost為 OpenLaszlo 服務(wù)器地址SOLO 方法還可以使用 SOLGK 式編譯(如何 SOLGK 式編譯可以參看我另外一篇文章OpenLaszlo 下的 Proxied 和 SOLOS 種編譯方法)在客戶端目錄中生成 swf 文件,然后將客戶端目錄中的 main.lzx.lzr=swf8.swf 復(fù)制到服務(wù)器端部署好的目錄中覆蓋原來(lái)的同名 swf 文件(即red5 路徑/webapps/openmeetings),然后僅啟動(dòng) red5 服務(wù)器,訪問(wèn) http:/localhost:

19、5080/openmeetings 同樣可以看見(jiàn)結(jié)果關(guān)于Laszlo開(kāi)發(fā)工具Laszlo的開(kāi)發(fā)工具網(wǎng)上大多數(shù)都是介紹使用 Eclipse插件 IDEforLaszlo作為開(kāi)發(fā)工具,但此工具在 2006 年 12 月的時(shí)候就因?yàn)樘换钴S而被 eclipse 留檔停止了?,F(xiàn)在比較推薦的是 Spket,http:/ iTouch,下次再來(lái)說(shuō)修改和編譯A_A。要修改代碼,其實(shí)說(shuō)到前面兩步就差不多了,因?yàn)榻酉聛?lái)的事情,就是讀懂和理解代碼,然后按照自己的需求來(lái)修改,各人需求不同,自然修改的方案也有很多不同。不過(guò)介于 OpenMeetings 客戶端的開(kāi)發(fā)語(yǔ)言為 OpenLaszIo,相信很多人都從來(lái)沒(méi)有接

20、觸過(guò),這里我就大致的說(shuō)下。學(xué)習(xí)簡(jiǎn)單的 OpenLaszIo 語(yǔ)法(比較懶的兄弟可以跳過(guò)這節(jié)直接轉(zhuǎn)到下面的“懶人視頻聊天室”,呵呵)隹薦大家去看一看 OpenLaszIoExplorer 中的 Laszloin10Minutes,啟動(dòng) Laszlo 服務(wù)器,然后訪問(wèn)http::8080/Ips-/IaszIo-expIorer/index.jsp 就可以看見(jiàn)(Windows 下的安裝后直接雙擊桌面圖標(biāo)就能夠自動(dòng)觸發(fā)瀏覽器訪問(wèn)此地址)。這個(gè)是給大家對(duì)于 OpenLaszIo 的語(yǔ)法進(jìn)行一個(gè)簡(jiǎn)單的介紹。另外,點(diǎn)擊Documentation 下面的 LZXReferen

21、ce 還能夠看到更詳細(xì)的每個(gè)標(biāo)簽和指令的介紹。這些應(yīng)該都會(huì)在修改代碼過(guò)程中有所幫助。我這里介紹幾個(gè)修改代碼時(shí)可能會(huì)用的多的:1 .類的繼承、定義與使用2 .事件與觸發(fā)3 .基本元素 view,text4 .數(shù)據(jù)綁定(dataset)看這些相信最多花費(fèi)你 1-2 個(gè)小時(shí)的時(shí)間,然后你就可以開(kāi)始修改了。在調(diào)式模式下啟動(dòng) OpenMeetings首先說(shuō)下我修改時(shí)的調(diào)試方法,我是在后臺(tái)啟動(dòng)部署了 OpenMeetings 服務(wù)器端的 Red5 和部署了客戶端的 OpenLaszIo 兩個(gè)服務(wù)器,然后訪問(wèn)http::8080/Ips-/videoconference/ma

22、in.Izx?Izr=swf8,即可編譯并啟動(dòng) OpenMeetings 客戶端然而,在 OpenMeetings 客戶端的根路徑下其實(shí)有兩個(gè)主文件,一個(gè) main.Izx 和maindebug.Izx,這兩個(gè)都可以用來(lái)整合編譯并啟動(dòng) OpenMeetings 客戶端,但 maindebug.Izx 是帶調(diào)試界面的,更便于修改用,我們可以把訪問(wèn)地址改為:8080/Ips-/videoconference/maindebug.Izx?Izr=swf8,這樣每次運(yùn)行都會(huì)有一個(gè)調(diào)試框, 里面會(huì)顯示很多客戶端本身就帶有的調(diào)試信息。當(dāng)然你也可以自己在代碼中寫(xiě)入

23、調(diào)試信息,Debug.write(xxxx);運(yùn)行時(shí)即會(huì)將 xxxx 的內(nèi)容顯示在調(diào)試框中。OpenLaszlo 下的 Proxied 和 SOLCM 種編譯方法TriinKi&dtr時(shí)間不多,隨便說(shuō)一下OpenLaszloServer 方式(代理方式)CGMPIIFRPEBUCCER-MCDIA-DATASERVESSERVERPHOXY0p前小cc/*M*dkiPtoxyiLaszlo有兩種編譯方式:1.通過(guò)OpenLaszloServer進(jìn)行編譯2.一次性將lzx文件編譯成swf文件這兩種方法各有好處,下面分別介紹,并簡(jiǎn)單的介紹了下SOLO模式的幾種編譯方法這種相信現(xiàn)在大家都在用

24、,啟動(dòng)OpenLaszlo服務(wù)器,然后在瀏覽器中輸入lzx文件全路徑,不需要任何參數(shù)或設(shè)置,即會(huì)出現(xiàn)結(jié)果。代理方式好處是測(cè)試簡(jiǎn)單方便,壞處則是如果你要部署的話,需要在部署服務(wù)器上另起一個(gè)OpenLaszlo服務(wù)器端。下面是官方文檔中對(duì)于此方式的圖解:OMNLAfZLQSERVERCOMPILATIONREQUESTMEDIAREQUESTATAREQUESTCjPEMla手WinCLIENTDEBUGREQUESTMEDIAXMLDATAswf 文件方式(SOLO 方式)SOLO的全稱是StandaloneOpenLaszloOutput,即根據(jù)Izx生成swf文件,編譯完成以后,每次只需要s

25、wf即可運(yùn)行程序,而不再需要OpenLaszlo服務(wù)器了。這樣的好處是顯而易見(jiàn)的,部署非常方便,少一個(gè)服務(wù)器需要啟動(dòng)、配置和維護(hù),可以在任何的環(huán)境下執(zhí)行,你甚至可以把它上傳到你的個(gè)人免費(fèi)靜態(tài)空間中。下面是官方文檔中對(duì)于此方式的圖解:SOLO 的編譯方法網(wǎng)上很多朋友詢問(wèn)如何生成swf文件,這里有三種方式可以生成:1,用命令行進(jìn)行編譯cd/binlzc-runtime=swf8然后就可以在你的lzx文件路徑下發(fā)現(xiàn)一個(gè)swf文件(如果編譯時(shí)出現(xiàn)Outofmemeory異常,則修改lzc.bat文件,在java后面加上參數(shù)-Xmx512m再執(zhí)行;如果編譯時(shí)始終出現(xiàn)參數(shù)錯(cuò)誤,可能是命令行系統(tǒng)錯(cuò)誤的將=號(hào)

26、作為參數(shù)分割了,嘗試將帶等號(hào)的參數(shù)兩邊用雙引號(hào)括起來(lái))EXTERNALWEBAmiCATIONSANDRESOURCESCLIENTAPPLICATION.MedktProjty/2 .用瀏覽器輸入帶參數(shù)地址編譯http:/?lzr=swf8&lzproxied=false效果同上3 .用canvas屬性編譯canvas標(biāo)簽有個(gè)proxied的可選屬性,其值可以為true|false|inherit,指定為false即可達(dá)到與上面相同的效果suck!然后通過(guò)瀏覽器訪問(wèn)地址http:/?lzr=swf8效果同上大概就這么多。最后,如果使用一種方式編譯后的swf無(wú)法正常工作,嘗試下其他的方

27、法,或許能成功參考文檔:Chapter49.UnderstandingCompilation懶人視頻聊天室有很多兄弟肯定還是比較懶的,接下來(lái)我將幾個(gè)簡(jiǎn)單又比較通用的修改帖上來(lái),按照這個(gè)修改完成以后基本上就是一個(gè)簡(jiǎn)單的視頻聊天室了,下面的步驟不分先后,你可以根據(jù)自己的需求決定哪些需要修改哪些不需要:1 .去掉郵件注冊(cè)前面我們介紹了 OpenMeetings 安裝的時(shí)候必須設(shè)置一個(gè)郵件服務(wù)器,如果沒(méi)有郵件服務(wù)器則前臺(tái)是無(wú)法注冊(cè)的?,F(xiàn)在我們就把這個(gè)煩人的郵件注冊(cè)去掉。K 務(wù)器端文件中,找至1Jorg.xmlcrm.app.data.user.Usermanagement 類,找至 U 下面一行Lon

28、guser_id=this.registerUserInit(3,1,0,1,login,Userpass,lastname,firstname,email,age,street,additionalname,fax,zip,states_id,town,language_id,true,newLinkedHashMap();將倒數(shù)第二個(gè) true 改為 false,部署以后再到前臺(tái)注冊(cè),現(xiàn)在已經(jīng)不會(huì)提示InvalidEMail 了2 .修改界面左上角網(wǎng)站名稱和連接修改 config.xml 文件中:xxx為網(wǎng)站名稱(可以為中文)、標(biāo)簽為自己的網(wǎng)站 URL3 .修改登錄框,設(shè)置默認(rèn)語(yǔ)言為中文每

29、次登陸以后默認(rèn)都是英文的,要選擇一下語(yǔ)言而且登陸以后才會(huì)變成中文,我們可以讓它一開(kāi)始就是中文。然后修改 xmlcrm/hibernate/rtmphib.lzx 文件這一句,value 由 1 改為 9(9 是 chinesesimplified 在語(yǔ)言那個(gè)下拉菜單的順序)。修改 xmlcrm/auth/checkLoginData.lzx 文件 comboxname 遂 language”標(biāo)簽下的handlername=oninit”事件內(nèi)容,兩行 this.selectItemAt(0);全都改為this.selectItemAt(8);,這樣系統(tǒng)會(huì)在初始狀態(tài)下默認(rèn)選擇簡(jiǎn)體中文(8=9-1

30、)。這樣重新編譯,你的界面就初始為簡(jiǎn)體中文了。(貌似也可以用管理員帳戶在后臺(tái)直接改)4 .去掉登錄框上不需要的部分登陸框下面的語(yǔ)言選擇,顏色選擇和帶寬我都去掉了,方法如下:auth/checkLoginData.lzx 文件,其中每個(gè) labeltext 標(biāo)簽和其下縮進(jìn)的一個(gè)表Chapter25.ProxiedandSOLOApplications單標(biāo)簽(combobox/customedittext)一起代表一行的輸入框和其前面的名稱,將不需要的都在標(biāo)簽最后加入 visible=false”屬性(我去掉了最后三項(xiàng))。同時(shí)注意剩余的 labeltext 和表單標(biāo)簽中的 y 值為其所在的縱向坐標(biāo)

31、, 需要修改之讓其匹配界面應(yīng)在的位置??梢詤⒖荚瓌h除的標(biāo)簽的 y 位置。最后的simplelabelbutton 就不要改了,因?yàn)槭前凑障鄬?duì)高度定位的。最后,修改整個(gè)窗體的高度,頂部的 class 標(biāo)簽最后的 height 屬性,改為應(yīng)有的值,大概是每刪除一個(gè)表單標(biāo)簽-30,例如刪除了 3 項(xiàng)輸入框,就是原有高度 260-(3x30)=170。5 .修改登入后界面,直接到私人房間界面對(duì)于一個(gè)聊天室,登陸以后其實(shí)直接到房間列表就夠了,所以你需要。/xmlcrm/navi/mainnavi.lzx文件, 找至Umainnavi類, 最后個(gè)handlername遂oninit,修改代碼行 if(i=

32、0)t1.onclick.sendEvent();中間 if 條件為 i=2。這樣進(jìn)入后就會(huì)自動(dòng)進(jìn)入“會(huì)議”菜單然后找至 Umainmenumeetingsitem 類,下面的 handlername 遂 onclick”,最后一行 elsethis._menuRef.subviews0.onclick.sendEvent();改為 elsethis._menuRef.subviews1.onclick.sendEvent();這樣進(jìn)入后就會(huì)自動(dòng)進(jìn)入“私入會(huì)議”列表界面6 .去掉房間列表頁(yè)面中右側(cè)的聊天窗口進(jìn)入房間列表頁(yè)面以后,可以看見(jiàn)右側(cè)有一個(gè)聊天窗口,如果你希望屏蔽他們的話。根據(jù)需要修改/

33、xmlcrm/content/meetings/publicmeetings.lzx(公共房間歹 U 表)/xmlcrm/content/meetings/privatemeetings.lzx(私人房間歹 U 表),刪除一行即可7 .屏敝頂部采單頂部菜單可以進(jìn)行一些操作,但對(duì)于一個(gè)聊天室,這些操作其實(shí)有些多余,下面是刪除辦法。/xmlcrm/navi/mainnavi.lzx 文件,找至 Umainnavi 類,先在其中找至 U 第個(gè) view標(biāo)簽(就在緊接一堆 attribute 下面,不含有 name 屬性的那個(gè)),然后為其加上 nameH,|4name=navibar”。然后還是 ma

34、innavi 類中,找至 U 最后個(gè) handlername 遂 oninit”,在 Debug.write(this:if(value.length=4)this.navibar.setAttribute(this.itemlist.setAttribute(this.subitemlist.setAttribute()這樣, 當(dāng)管理員登陸的時(shí)候看到的還是原來(lái)的界面。 普通用戶登陸則看不到頂部菜單。如果只希望屏蔽一級(jí)菜單,而希望留下“公共會(huì)議”和“私人會(huì)議”菜單,則不要第三行 this.subitemlist.setAttribute(visibility,“hidden);即可。8 .屏蔽

35、右上角菜單,僅剩下 Logout 登出登陸進(jìn)去以后,屏幕右上角總是顯示三項(xiàng):用戶、退出、報(bào)告錯(cuò)誤。如果不希望有用戶和報(bào)告錯(cuò)誤兩項(xiàng)的話,就按照下面的做。/xmlcrm/navi/mainnavi.lzx 文件,找至 Uhelpandbugs 類,斗等其中 name 遂 btnl和 name 遂 btn2的兩個(gè) view 標(biāo)簽及其包含內(nèi)容全部刪去即可,this);后添加代碼:visibility”,“hidden);visibility”,“hidden);“visibility”,“hidden);9 .修改未翻譯的文字即使選擇了簡(jiǎn)體中文,系統(tǒng)依然會(huì)有很多地方的顯示是英文的,我們需要手工的將部分

36、未翻譯過(guò)來(lái)的單詞自己翻譯一下,有三種辦法:(1)在服務(wù)器端代碼(不是客戶端代碼)中找到,里面存的是所有的國(guó)際化文件,english.xml為英語(yǔ),Chinesesimplified.xml 為中文,用文本編輯器打開(kāi)以后可以按照你自己的希望對(duì)不滿意的翻譯進(jìn)行修改。修改以后需要用管理員帳號(hào)登陸,然后在【管理】-Language-Editor中 Import 修改后的 xml 文件到 Chinesesimplified。(2)用管理員帳號(hào)登陸,然后在【管理】-【Language-Editor)可以直接對(duì)數(shù)據(jù)庫(kù)中的語(yǔ)言進(jìn)行翻譯,比較方便。(3)直接訪問(wèn)數(shù)據(jù)庫(kù)表 fieldlanguagesvalues

37、,用select*fromfieldlanguagesvalueswherelanguage_id=9 即可查看所有的簡(jiǎn)體中文國(guó)際化記錄,直接修改 value 的值也能達(dá)同樣的結(jié)果,用數(shù)據(jù)庫(kù)的好處是查找比較方便,呵呵另外還有部分語(yǔ)言是硬寫(xiě)在代碼里的,這些只需要對(duì)整個(gè)項(xiàng)目搜索那段英文再修改為中文即可,例如:/conference/popups/changedevice.lzx 中 Donotaskagain 改為中文“下次不再提示”10 .刪除進(jìn)入房間后頂部菜單中不需要的功能進(jìn)入房間后,頂部一排有很多功能菜單,申請(qǐng)主持、文件上傳、投票等等,這些功能對(duì)于一個(gè)純粹的聊天室來(lái)說(shuō),有些多余,而且這些功能

38、全都可以在其他地方實(shí)現(xiàn),所以你可以根據(jù)需要將頂上的部分功能菜單給刪除。/xmlcrm/content/conference/conferencemenubar.lzx 文件中找至 Uconferencemenubar 類, 其下每一個(gè) labelmenu 標(biāo)簽代表一個(gè)菜單項(xiàng), 順序?yàn)閺淖笾劣?,將不需要的菜單?xiàng)刪去或注釋掉即可。再在上面一點(diǎn)找到一堆 command標(biāo)簽,根據(jù)快捷鍵將不要的也刪除或屏蔽,以避免有人使用快捷鍵調(diào)用功能。而房間上中的按鈕和顯小則在文件/conference/moderation/moderationpanel.lzx 的 moderationpanel 類中,同樣將不需

39、要的屏蔽即可11 .國(guó)際化房間里主要面板的標(biāo)題進(jìn)入房間后,發(fā)現(xiàn)不管怎么修改語(yǔ)言數(shù)據(jù),那三塊板子頂上的標(biāo)題就是不變,這是因?yàn)檫@三個(gè)標(biāo)題沒(méi)有綁定國(guó)際化的原因。/xmlcrm/content/conference/conference.lzx 中,找至 Uvideoboard 類,刪去title 屬性,加上 labelid=313;找到 whiteboardpanel 類,刪去 title 屬性,加上 labelid=315;找到 filespanel 類,刪去 title 屬性,加上 labelid=31412 .刪除房間里左下角框中不需要的功能房間里左下角框里面是有聊天、文件和成員三個(gè)選項(xiàng)的,

40、文件用來(lái)控制白板,還有些用,而投票在視頻聊天室里面恐怕用不上,所以去掉。/conference/tabbar/conferencecontainertab.lzx 中,找至 Uconferencecontainertab 類, 3 個(gè) openmeetingsTabButton 標(biāo)簽每個(gè)代表一個(gè) tab 按鈕,屏蔽不需要的13 .修改房間人數(shù)限制有些兄弟認(rèn)為 4 人房間的聊天室太無(wú)聊。不過(guò)好像也是。又不是打麻將。所以。/xmlcrm/conference/roomlistItem.lzx 文件中一行,修改 value 的值即是修改最大人數(shù)。最大人數(shù)修改以后展示的時(shí)候界面可能有些亂,這個(gè)就你自己

41、去調(diào)整了,因?yàn)槲易龅臅r(shí)候沒(méi)有這個(gè)需求,所以沒(méi)有測(cè)試過(guò)實(shí)際效果,呵呵客戶端文件結(jié)構(gòu)簡(jiǎn)單介紹這里只介紹幾個(gè)對(duì)界面修改比較有用的文件:/config.xml 一些全局參數(shù)定義/main.lzx 主文件,用來(lái)整合其他文件/maindebug.lzx 帶 debug 的主文件/xmlcrm/hibernate/rtmphib.lzx 定義并實(shí)例化 hibrtmpconnection 類,負(fù)責(zé)主要流程調(diào)度及部分默認(rèn)配置,比較重要/xmlcrm/hibernate/netremotecallhib.lzx 定義 netremotecallhib 類,繼承于netremotecall 類,負(fù)責(zé)調(diào)用后臺(tái)服務(wù)器端

42、 Java 方法,使用很多/xmlcrm/content/meetings/publicmeetings.lzx 定義公共會(huì)議歹 U 表相關(guān)類/xmlcrm/content/meetings/privatemeetings.lzx 定義私人會(huì)議歹 U 表相關(guān)類/xmlcrm/conference/roomlistItem.lzx 定義 roomlistItem 類,代表會(huì)議房間列表頁(yè)面中的一個(gè)房間展示/xmlcrm/auth/checkLoginData.lzx 定義 checkLoginData 類,負(fù)責(zé)登陸框的顯示/xmlcrm/navi/mainnavi.lzx 定義登錄后的主界面展示相

43、關(guān)類/xmlcrm/content/conference/conferencemenubar.lzx 定義房間左上角菜單/conference/moderation/moderationpanel.lzx 定義房間上中的顯示和按鈕/xmlcrm/content/conference/conference.lzx 定義房間主要的三個(gè)面板類/conference/tabbar/conferencecontainertab.lzx 定義房間左下角聊天窗口中的內(nèi)容/conference/video/basevideoobject.lzx 視頻對(duì)象的基類,定義了視頻圖像的外框顯示/conference/

44、video/videoobjectbroadcast.lzx 視頻播放類,定義了會(huì)議房間中的本人的視頻顯示/conference/video/videoobjectplayBroadcast.lzx 視頻播放類,定義了會(huì)議房間中的其他人的視頻顯示/conference/video/videocontainer.lzx 視頻容器類,定義了房間內(nèi)左上角框里的所有視頻對(duì)象的展示/conference/whiteboard/白板相關(guān)類/conference/tabcontent/chat 房間內(nèi)的聊天窗口相關(guān)類/conference/tabcontent/files 房間內(nèi)的文件窗口相關(guān)類部署要部署的

45、時(shí)候建議把整個(gè)客戶端生成一個(gè) swf 文件然后復(fù)制到服務(wù)器端(即使用SOLOJ 式編譯,如果不知道如何編譯,參考我的另一篇文章 OpenLaszlo 下的Proxied和SOLCW種編譯方法) ,這樣服務(wù)器端部署的時(shí)候就不需要再開(kāi)啟OpenLaszlo服務(wù)器了。另外注意,將修改過(guò)的 config.xml 文件和 swf 文件一起拷貝到服務(wù)器去,否則有些修改又沒(méi)了,呵呵。(如果 swf 文件和 red5 是部署在同一臺(tái)機(jī)器上的,建議你把 config.xml 文件中 rtmphostlocal 留空,這樣可以省去很多麻煩)拷貝過(guò)去后先修改 index.jsp 文件中 SWFObject 的第一個(gè)

46、參數(shù), 使之指向你的 swf 文件。然后訪問(wèn) http:/localhost:5080/openmeetings/即可看到效果,部署完成。然后,然后。如果你在自己的機(jī)器上部署了,希望外網(wǎng)的朋友來(lái)和你一起測(cè)試或使用的話,注意要配置路由上用虛擬主機(jī)端口映射,開(kāi)放 1935、8088、5080三個(gè)端口指向自己(當(dāng)然也可以直接將自己設(shè)為 DMZ。如果感覺(jué)自己夠安全的話。),如果是非 SOLQJ 式還要為 Laszlo 服務(wù)器開(kāi)放 8080;另外,機(jī)器上如果有Kapersky 之類的話需要關(guān)閉,否則會(huì)攔截外網(wǎng)的端口訪問(wèn)。寫(xiě)在最后好了,東西寫(xiě)的差不多了,雖然我自己修改這個(gè)所做的遠(yuǎn)不止寫(xiě)的這些,但我想我也只

47、能寫(xiě)到這里了。我寫(xiě)這些東西的目的只是希望大家能夠得到一點(diǎn)啟發(fā),每個(gè)人需求都不一樣,我相信根據(jù)我的修改肯定達(dá)不到你的要求,但相信你通過(guò)邊做邊學(xué)習(xí)這些之后,完成后面的事情應(yīng)該不是什么難事了。我平時(shí)少上 IM,我的郵箱是 ,有興趣的朋友可以 mail 我交流,呵呵(四)本來(lái)是沒(méi)什么東西好寫(xiě)的了,不過(guò)這幾天的持續(xù)改造中又出現(xiàn)了各種讓人比較頭疼的問(wèn)題,準(zhǔn)備將這篇文章作為持續(xù)更新,遇到比較疑難的問(wèn)題我會(huì)一直發(fā)上來(lái)。1 .改進(jìn)攝像頭這不知道是否算的上個(gè) bug,google 了一下,中文網(wǎng)頁(yè)沒(méi)見(jiàn)人提過(guò),英文的話。俺英文比較差看不太懂,呵呵?,F(xiàn)象是這樣的,進(jìn)入房間后顯示的視頻,會(huì)根據(jù)不同的攝像頭被切掉一部分,

48、有的攝像頭只切掉邊緣一小塊,而有的攝像頭甚至只顯示了原面積的 1/9,平時(shí)可以看見(jiàn)一個(gè)身體的,這里卻只能看見(jiàn)一只眼睛。由于我的需求是需要讓不同的視頻框有不同的大小,俺花了一個(gè)下午的功夫才搞定攝像頭視野被裁切的問(wèn)題,下面是修改的部分,大家可以自己修改試試。/conference/remote/devvideoview.lzx 文件中,在類 devvideoview 中增力兩條 attribute:修改中:vid._width=this.width;vid._height=this.height;改為:vid._width=this.myWidth;vid._height=this.myHeigh

49、t;修改中:if(!this._clipinitdone)this.width=w;return;改為:if(!this._clipinitdone)this.width=576;this.myWidth=w;return;修改中:if(!this._clipinitdone)this.height=h;return;改為:if(!this._clipinitdone)this.height=432;this.myHeight=h;return;)2 .修復(fù)房間用戶數(shù)量不增加問(wèn)題我的版本 r988 有這個(gè)問(wèn)題,感覺(jué)這也算一個(gè) bug。問(wèn)題的現(xiàn)象是,用戶加入房間后房間的用戶數(shù)量始終為 0,這樣主要是房間人數(shù)上限就沒(méi)有起到作用了。后來(lái)看了下程序,發(fā)現(xiàn)是客戶端調(diào)用 rooms_id 不正確導(dǎo)致的,只需要修改/xmlcrm/content/conference/roomlistItem.lzx 文件,將所有的this.obj.rooms_id 全都改為 this.obj.room.rooms_id 即可解決問(wèn)題。3 .服務(wù)器端

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論