openmeetings二次开发详解本人都已实践成功Word文件下载.docx
- 文档编号:5630175
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:31
- 大小:38.67KB
openmeetings二次开发详解本人都已实践成功Word文件下载.docx
《openmeetings二次开发详解本人都已实践成功Word文件下载.docx》由会员分享,可在线阅读,更多相关《openmeetings二次开发详解本人都已实践成功Word文件下载.docx(31页珍藏版)》请在冰点文库上搜索。
so.addParam("
id"
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,
methodname二〃login"
args=,/item,z>
if({
"
text"
yxUserName);
yxUserPass);
9
}else{
}
/method>
在里面加上
四,如何在登陆后直接跳入到演讲界面
找到base\navi\mainXavi.lzx
在最下面
handlername=,/oninit,/>
!
[CDATA[
varvalue=this・naviObject;
for(vari=0;
i<
value・1ength;
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
simpleLabelButtonname二"
enter_name"
labelid二"
131"
x二"
300"
width二"
160"
height「30"
尸”17"
onelick二"
parent.checkConditions^lienButtonClicked(this)"
>
viewresource二"
go_jump_rsc"
$once{parent.width-24}"
y二"
6"
/>
/simpleLabelButton>
加入了一个name二"
enter_ndme"
原来是没有
再把最前面<
handlername="
oninit"
>
方法的最后加入一句
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<
OpenLaszlo服务器路径〉/bin
Izc―runtime=swf8v你的Izx文件〉
然后就可以在你的Izx文件路径下发现一个swf文件
(如果編译时出现Outofmemeory常,则修改lzc.bat文件.在java后面加上参数-Xmx512m再
执行:
如果编译时始终出现参数错误•可能是命令行系统错误的将二号作为参数分割了.尝试将帶等号的
参数两边用双引号括起來)
2.用浏览器输入带参数地址编译
效果同上
3•用canvas属性編译
canvas标签有个proxied的可选屈性,其值可以为true|false|inherit,指定为false艮卩可达到与上面相
同的效果
canvasproxied=,'
false,,>
text>
suck!
/text>
/canvas>
然后通过浏览器访问地址
大概就这么藝。
般后,如果使用一种方式編译后的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文件中:
currentappname>
xxx<
/currentappname>
为网站名称(可以为中文)
currentappnameurl>
〈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/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- openmeetings 二次开发 详解 本人 实践 成功