openmeetings二次开发详解本人都已实践成功.docx

上传人:b****5 文档编号:11959534 上传时间:2023-04-16 格式:DOCX 页数:31 大小:38.67KB
下载 相关 举报
openmeetings二次开发详解本人都已实践成功.docx_第1页
第1页 / 共31页
openmeetings二次开发详解本人都已实践成功.docx_第2页
第2页 / 共31页
openmeetings二次开发详解本人都已实践成功.docx_第3页
第3页 / 共31页
openmeetings二次开发详解本人都已实践成功.docx_第4页
第4页 / 共31页
openmeetings二次开发详解本人都已实践成功.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

openmeetings二次开发详解本人都已实践成功.docx

《openmeetings二次开发详解本人都已实践成功.docx》由会员分享,可在线阅读,更多相关《openmeetings二次开发详解本人都已实践成功.docx(31页珍藏版)》请在冰豆网上搜索。

openmeetings二次开发详解本人都已实践成功.docx

openmeetings二次开发详解本人都已实践成功

openmeetings十万个如何(不断更新)

事先声明,我用的是最新的openmeetings源码(包括客户端与服务端),最新版本openmeeting是有多种风格

默认为蓝色

如何绕过登陆

找到base\auth\checkLoginData.lzx,在第一个oninit加上this.login()

this・pressEnter=newLzDelegate(this,"login");

lz.Keys・callOnKeyCombo(this・pressEnter,["enter"]);

lz.Focus・setFocus(this・username,true);

this・login();

这样,一进入登陆界面就会自动登陆.

二.如何传参数给openmeetings

如http:

//locdlhost:

5080/openmeetings/index・jps?

user\anie二土匪&pwd=123

可以修改index,jsp,在openmeetingsforjava的源码找到它

varso=newSWFObject"lzapp","100%","100%","8",”#ffffff");

so.addParam(z/qualityz/,"high");

so.addParam("id","lzapp");

so.addParam(z/allowScriptAccessz,,"always");

so.addParam(z/scale,z,"noscale");

so.addVariable(,/yxUserName,/,'<%=request・getParameter(^userName^)%>');

so.addVariable(,zyxUserPassz/,'<%=request・getParameter(7/pwd^)%>f);

so.write("flashcontent");

以上so.addVariable是我加的,就是把传过来的用户名与密码加入到openlaze中,这里的yxUserName与yxUserPass在

openLaze中是全局变量

三.如何把传过来的参数,即用户名与密码直接录入到输入框中,来达到真正意义的跳转

找到base\auth\checkLoginData・lzx,

if({

"text",yxUserName);

"text",yxUserPass);

9

}else{

9

}

在里面加上

"text",yxUserName);

"text",yxUserPass);

四,如何在登陆后直接跳入到演讲界面

找到base\navi\mainXavi.lzx

在最下面

[CDATA[

varvalue=this・naviObject;

for(vari=0;i

vartl=new

lz.mainMenuMeetingsItem(this・itemlist,{textvalue:

value[i]・name,list

:

valueLi]・mainnavi,

isleaf:

valueLi]・isleaf,

text:

value[i]・labe1.value,textToolTip:

value[i]・t

ooltip・value,

action:

value[i]・action

});

//if(i=0);

if(i=2);

//Debug,write(,ztl:

",tl);

}

//Debug,write(,?

this:

",this);

]]>

我现在已经把i二0改为了i二2,这样就直接进入到演讲之前的一个界面,接着我们就是触发进入按钮就OKT

注意,还可以把i改成i二l,i二3

找到modules\conference\conference\roomListItem.lzx

onelick二"parent.checkConditions^lienButtonClicked(this)">

加入了一个name二"enter_ndme",原来是没有

再把最前面方法的最后加入一句

enter_;

ok,现在就可直接进入到演讲界面

openmeeting安装另一\

Redo,视频会议Gg\ET08月20th.200&1:

43am

(-)

好了,开始吧。

首先我们需要用到以下东东:

1.JDK1.5或以上版本-这个就不说了,以下所有东西都是基于它的。

2.Red5-开源Flash服务器,用来替代FCS/FMS,毕竟License还是有些贵的,呵呵。

这里有信息和下载—

3.OpenMeetings-开源视频会议系统,基于OpenLaszlo开发。

这里有信息

和下载/openmeetings/

4.OpenLaszlo-开源的富客户端应用开发平台(有点长,呵呵,用它的话来说是thepremieropen-sourceplatformforrichinternetapplications)。

这里有信息和下载:

_

5.MySQL或者其他数据库-必须是Hibernate支持的数据库

6.SVN-著名的版本管理工具Subversion,用来下载OpenMeetings的源代码的。

Windows5推荐TortoiseSVX,这里下载:

Liunx就直接命令行吧,呵呵。

喜欢用Eclipse的兄弟也可以用Subclipse插祚—

7.没有第7个东西要下载了

好了上面是需要用到的项口,我们先来部署一次看看效果。

下面是部署过程,我们暂时不需要用到Laszlo和SVN

1.先装JDK(注意要是,这个到处都有教程,就不说了。

注意装完以后要设置JAVA_H0ME到JDK路径。

2.根据你的系统下载red5的安装包,然后傻瓜式安装

3.从OpenMeetings下载一个已经打包好的应用(/openmeetings/downloads/list),解压到Red5的webapps里面,解压后H录应该是xmlerm(最新版本可能为openmeetings)

4.到解压后的0penMeetings项UFInstall目录中(新版本可能为conf)按照你自己的数据库来修改LI录中的任意一个XXX-,我的是MySQL所以就直接把mysql_

5.打开config,xml文件,看看端口啊,地址啊,有没有什么要修改的。

6.启动Red5服务器。

如果是在Windows下Red5设成了服务的,在Windows的服务中重启。

7.开浏览器输入地址_(注意大小写;Install根据版本也有可能为conf;列外5080是默认端口,如東修改了就按照你自己的弄)先进入安装界面,东西随便填。

注意邮件服务器,如果你像我一样没有邮件服务器的话,就不填,只是暂时只能山管理员来添加帐号而无法直接注册,呵呵。

然后其中要填入两个工具地址,就在页面上已经提供了下载了。

8.配置完了点击Send按钮,然后去喝杯咖啡或者茶什么的,因为要5-10分钟。

=o二#

9.全部搞定访问_就可以登陆了,你登陆的时候会是管理员,可以在顶上选择Manage来进行管理。

同时提供白板可以画画,还可以共享桌面,呵呵。

先玩玩看看效果吧,晚点我再介绍修改。

(二)

看了效果后如果有兴趣,我们就可以开始着手修改OpenMeetings了。

要修改当然先是要拿到源代码了。

我们先大致了解一下OpenMeetings的源代码结构。

OpenMeetings分为两部分:

一部分是客户端,illOpenLaszlo和一些Flash文件组成,负责生成最终的客户端swf文件;另一部分是服务器端,由Java代码编写而成。

我们必须分别下载并编译这两个部分,注意:

这两个部分版本必须一样。

下面分别说明这两个部分的部署过程。

服务器端

1.用SV\从这个地址Checkout出代码/branches/dev/xmlcrm/java/

2.到install訂录中(新版本可能为conf)按照你自己的数据库来修改LI录中的任意一个xxx_,我的是MySQL所以就直接把mysql_

3.代码可以用eclipse直接import,不过编译OpenMeetings推荐使用ant,项U已经提供了一个build,xml文件,直接在eclipse里面RunasAnt就可以编译整个项口,编译结果将在项LI下的distU录下。

(这里有个小问题,本人下载的r980版本中的build,xml文件居然编译的时候没有包含编译java文件,导致部署一直失败,解决方法只需要在最后一行的depends二”clean,prepare,compile,Mbernaten最后加一个jar就可以了,改为depends二”clean,prepare,compile,hibernate,jar)

4.将编译完成的dist中的openmeetings文件夹复制到red5的webapps下,重启red5服务器,服务器端部署完成。

(如果嫌部署太麻烦,可以将build,xml文件中<propertyname二”dist.dir”value二”dist”/>这一行value的值改为你的red5的webapps如:

〈propertyname二”dist.dir”value二”C:

\ProgramFiles\Red5\webapps,>/>,并将<deletedir二"S{dist.dir}”/〉这一行删掉或注释掉。

这样每次运行build,xml文件的时候就可以直接部署到red5下了)

客户端

1.下载并安装OpenLaszlo,_

2.用SVN从这个地址Checkout出代码/branches/dev/laszlo/client/

3.代码也可以用eclipse直接import,但编译需要使用OpenLaszlo,这个以后再说。

4.复制刚才代码下xmlerm下的videoconference文件夹到OpenLaszlo下,{OpenLaszloU录}/Server/lps-,根据服务器版本不同而不同)Windows默认安装是这个地址:

C:

/ProgramFiles/OpenlaszloServer

5.修改videoconference/config.xml文件,端「1啊、地址啊都改成你自己的。

rtmphostlocal标签中的内容是你的red5服务器安装位置。

数据库配置与测试

本来在上一篇里面写过一点点数据库配置,有兄弟在问,这里就再说下

1.安装一种数据库,数据库的类型随便,只需要保证hibernate支持类型就行了,这里可以看哪些支持,不需要建立任何数据库或库表,等下程序会帮你建立

2.完成上面两步,注意服务器端的第2步,那里必须保证正确

3.启动red5服务器

4.服务器端安装访问程序会自动进入Step1安装,上面框填入你的信息,中间框邮件服务器那一项如果没有可以留空,下面框填入SWFTool和Magicimage两个必须的工具的安装后的路径,如果没有安装这两个软件的话可以点击输入框下面的连接去下载,安装完成后再填入。

然后选择Senden,之后进展会很慢不要关闭页面也不要以为死机了,可以做些别的事情例如和身边的美女同事聊聊天什么的,大约3-10分钟后安装完成,此时数据库中已经多了一个库了。

直接访问—应该可以看见输出结果,但山于其中的swf是事先编译好的,不是我们编译出乘的,所以我们还需要学习下面的客户端安装

5.客户端安装

(1)Proxied方法

现在保证red5服务器中刚才部署的服务器端在运行,然后启动OpenLaszlo服务器,并在浏览器中输入:

_和_即可看到结果(,如果OpenLaszlo不在本机,请修改localhost为OpenLaszlo服务器地址

(2)SOLO方法

还可以使用SOLO模式编译(如何SOLO模式编译可以参看我另外一篇文章OpenLaszlo下的Proxied和SOLO两种编译方法)在客户端U录中生成swf文件,然后将客户端口录中的复制到服务器端部署好的LI录中覆盖原来的同名swf文件(即{red5路径}/webapps/openmeetings),然后仅启动red5服务器,访问一同样可以看见结果

关于Laszlo开发工具

Laszlo的开发工具网上大多数都是介绍使用Eclipse插件IDEforLaszlo作为开发工具,但此工具在2006年12月的时候就因为太不活跃而被eclipse留档停止了。

现在比较推荐的是Spket,」它是免费软件,如果要用于商业LI的则需要付费。

当然你也可以选择直接使用文本编辑器开发。

好了,差不多了,现在代码也有了,部署也通过了,想改什么都行了,嘿嘿。

俺先去摆弄两下订ouch,下次再来说修改和编译〔二

(三)要修改代码,其实说到前面两步就差不多了,因为接下来的事情,就是读懂和理解代码,然后按照自己的需求来修改,各人需求不同,自然修改的方案也有很多不同。

不过介于OpenMeetings客户端的开发语言为OpenLaszlo,相信很多人都从来没有接触过,这里我就大致的说下。

学习简单的OpenLaszlo语法

(比较懒的兄弟可以跳过这节直接转到下面的“懒人视频聊天室”,呵呵)

推荐大家去看一看OpenLaszloExplorer中的Laszloin10Minutes,启动Laszlo服务器,然后访问.l:

8080/lps-就可以看见(Windows下的安装后直接双击桌面图标就能够自动触发浏览器访问此地址)。

这个是给大家对于OpenLaszlo的语法进行一个简单的介绍。

另外,点击Documentation下面的LZXReference还能够看到更详细的每个标签和指令的介绍。

这些应该都会在修改代码过程中有所帮助。

我这里介绍儿个修改代码时可能会用的多的:

1.类的继承、定义与使用

2.事件与触发

3.基本元素view,text

4.数据绑定(dataset)

看这些相信最多花费你1-2个小时的时间,然后你就可以开始修改了。

在调式模式下启动OpenMeetings

首先说下我修改时的调试方法,我是在后台启动部署了OpenMeetings服务器端的Red5和部署了客户端的OpenLaszlo两个服务器,然后访问.1:

8080,Ips-,即可编译并启动OpenMeetings客户端

然而,在OpenMeetings客户端的根路径下其实有两个主文件,一个main,lzx和maindebug.lzx,这两个都可以用来整合编译并启动OpenMeetings客户端,但maindebug.lzx是带调试界面的,更便于修改用,我们可以把访问地址改为.l:

8080/lps-,这样每次运行都会有一个调试框,里面会显示很多客户端本身就带有的调试信息。

当然你也可以自己在代码中写入调试信息,Debug,write(xxxx);运行时即会将xxxx的内容显示在调试框中。

OpenLaszlo下的Proxied和SOLO两种编译方法

时间不女.随便说一下

•Laszlo有两种编译方式:

•1・通过OpenLaszloServer进行编译

•2.一次性将Izx文件编译成swf文件

•这两种方法各有好处,下面分别介绍.并简单的介绍了下SOLO模式的几种编译方法

OpenLaszIoServer(代理方式)

这种相信现在大家都在用,启动OpenLaszIoJJI4务器.然后在浏览器中输入Izx文件全路径.不需要任何参数或设宜,即会出现结果。

代理方式好处是测试简的方便,坏处则是如果你要部署的话,需契在部署服务器上另起一个OpenLaszIo服务器端。

下而是官方文档中对于此方式的图解:

swf文件方式(SOLO方式)

SOLO的全称是StandaloneOpenLaszloOutput,即根据Izx生成swf文件.編译完成以后,每次只需要swf即可运行程序.而不再需婆OpenLaszIo服务器f。

这样的好处是显而易见的.部署非常方便.少一个服务器需要启动.配逍和维护.可以在任何的环境下执行,你甚至可以把它上传到你的个人免费静态空间中。

下面是官方文档中对于此方式的图解:

SOLO的编译方法

网上很女朋友询问如何生成swf文件.这里有三种方式可以生成:

1.用命令行进行編译

cd

Izc―runtime=swf8v你的Izx文件〉

然后就可以在你的Izx文件路径下发现一个swf文件

(如果編译时出现Outofmemeory常,则修改lzc.bat文件.在java后面加上参数-Xmx512m再

执行:

如果编译时始终出现参数错误•可能是命令行系统错误的将二号作为参数分割了.尝试将帶等号的

参数两边用双引号括起來)

2.用浏览器输入带参数地址编译

效果同上

3•用canvas属性編译

canvas标签有个proxied的可选屈性,其值可以为true|false|inherit,指定为false艮卩可达到与上面相

同的效果

suck!

然后通过浏览器访问地址

效果同上

大概就这么藝。

般后,如果使用一种方式編译后的swf无法正常丄作,尝试下其他的方法.或许能成功。

参考文档:

Chapter25.ProxiedandSOLOADDlications

Chapter49.UnderstandinqCompilation

懒人视频聊天室

有很多兄弟肯定还是比较懒的,接下来我将儿个简单乂比较通用的修改帖上来,按照这个修改完成以后基本上就是一个简单的视频聊天室了,下面的步骤不分先后,你可以根据自己的需求决定哪些需要修改哪些不需要:

1.去掉邮件注册

前面我们介绍了OpenMeetings安装的时候必须设置一个邮件服务器,如果没有邮件服务器则前台是无法注册的。

现在我们就把这个烦人的邮件注册去掉。

服务器端文件中,找到,找到下面一行

Longuser_id=this・registerUserlnit(3,1,0,1,login,Userpass,lastname,firstname,email,age,street,additionalname,fax,zip,states_id,town,language_id,true,newLinkedHashMap());

将倒数笫二个true改为false,部署以后再到前台注册,现在已经不会提示InvalidEMail了

2.修改界面左上角网站名称和连接

修改config,xml文件中:

xxx为网站名称(可以为中文)

>〈cuirentappnainebugu:

rl>标签为自己的网站URL

3.修改登录框,设置默认语言为中文

每次登陆以后默认都是英文的,要选择一下语言而且登陆以后才会变成中文,我们可以让它一开始就是中文。

然后修改xmlcrm/hibernate/rtmphib・lzx文件〈attributename=userlangnvalue=n1"type二”number"/>这一句,valueI:

lj1改为9(9是Chinesesimplified在语言那个下拉菜单的顺序)。

修改xmlcrm./auth/checkLoginDatd.lzx文件comboxname二”languagev标签下的handlername二"oninitM事件内容,两行this.selectltemAt(0);全都改为this.selectltemAt(8);,这样系统会在初始状态下默认选择简体中文(8=9-1)。

这样重新编译,你的界面就初始为简体中文了。

(貌似也可以用管理员帐户在后台直接改)

4.去掉登录框上不需要的部分

登陆框下面的语言选择,颜色选择和带宽我都去掉了,方法如下:

auth/checkLoginData.lzx文件,其中每个labeltext标签和其下缩进的一个表单标签(combobox/customedittext)—起代表一行的输入框和其前面的名称,将不需要的都在标签最后加入visible^"false”属性(我去掉了最后三项)。

同时注意剩余的labeltext和表单标签中的y值为其所在的纵向坐标,需要修改之让其匹配界面应在的位置。

可以参考原删除的标签的y位置。

最后的simplelabelbutton就不要改了,因为是按照相对高度定位的。

最后,修改整个窗体的高度,顶部的class标签最后的height属性,改为应有的值,大概是每删除一个表单标签-30,例如删除了3项输入框,就是原有高度260-(3x30)=170o

5.修改登入后界面,直接到私人房间界面

对于一个聊天室,登陆以后其实直接到房间列表就够了,所以你需要。

/xmlcrm/navi/mainnavi.lzx文件,找至Umainnavi类,最后一个handlername二”oninit”,修改代码行辻(i—0);中间if条件为i=2。

这样进入后就会自动进入“会议”菜单

然后找到mainmenumeetingsitem类,下面的handlername=^^onclickv,最后一行elsethis._menuRef.subviews[0].onclick.sendEvent();改为elsethis._menuRef.subviews[1].onclick.sendEvent();这样进入后就会自动进入“私斤会议”列表界面

6.去掉房间列表页面中右侧的聊天窗口

进入房间列表页面以后,可以看见右侧有一个聊天窗口,如果你希望屏蔽他们的话。

OO

根据需要修改/xmlcrm/Zcontent/meetings/publicmeetings.lzx(公共房间列表)/xmlcrm/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1