Openmeetings安装详细步骤

  • openmeetings
    Openmeetings安装 Openmeetings官方主页 http://code.google.com/p/openmeetings/ 。安装过程参照 http://code.google.com/p/openmeetings/wiki/InstallationOfRelease05
    http://code.google.com/p/openmeetings/wiki/BuildSources
    Openmeetings 是一个网络视频会议系统,提供视频,白板,doc,ppt,pdf,jpg等文档,图像文件的白板共享。其最大特点是视频会议客户端不需要下载安装, openmeetings系统将客户端做成swf形式,通过网页浏览的方式自动加载,免去用户下载安装的步骤,所有支持flash的ie浏览器都可以使用 openmeetings进行视频会议。
    Openmeetings 安装所需的模块:(注意:所有的软件安装路径中不能含有空格)
    Java jdk1.6.0_02
    :安装Java jdk,新建系统环境变量 JAVA_HOME C:\Java\jdk1.6.0_02;JAVA_CLASSPATH %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    数据库 :使用MySQL,用于记录会议成员信息等内容
    OpenOffice-Service :使用 openoffice ,官方主页 http://www.openoffice.org/ 。下载 OOo_2.2.1_Win32Intel_install_zh-cn.exe 安装( OS : windows ),完成后去官方注册。运行 cmd ,转换到 openoffice 安装目录,运行 soffice.exe -headless -nologo -norestore -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager,让其监听8100端口。再运行netta –anp tcp 如果在显示的列表中找到TCP 127.0.0.1:8100 0.0.0.0:0 LISTENING,则表明启动成功。
    ImageMagick :用于图像转化,官方主页 http://www.imagemagick.org/script/index.php 。下载地址 http://www.imagemagick.org/script/binary-releases.php , windows 上下载 ImageMagick-6.4.0-11-Q16-windows-static.exe ,安装。
    GhostScript :官方主页 http://pages.cs.wisc.edu/~ghost/ 。 windos 上下载 gs862w32.exe 和 gsv49w32.exe ,先安装 gs862w32.exe ,再安装 gsv49w32.exe 。
    SWFTools :用于将 pdf 等文件转化为 swf 文件。官方主页 http://www.swftools.org/ 。下载地址 http://www.swftools.org/download.html ,下载 swftools-2008-04-27-1957.exe 安装。
    Ant1.7 :官方 http://ant.apache.org/index.html ,下载地址 http://www.apache.org/dist/ant/binaries/ 。下载 apache-ant-1.7.0-bin.zip ,解压到 c 盘后将 C:\apache-ant-1.7.0\bin 加入系统环境变量 PATH 中。
    Red5 Server :官方主页 http://osflash.org/red5 。下载 setup-red5-0.6.3.exe 安装。 red5 将作为 openmeetings 服务器端,详细配置在下面给出。
    OpenLaszlo-Server
    :官方主页 http://www.openlaszlo.org/ 。下载地址 http://www.openlaszlo.org/download 。下载openlaszlo-4.0.12-windows-dev-install.exe安装。Openlaszlo将作为 openmeetings客户端的编译,服务。详细配置在下面给出。
    下载 openmeetings源代码:
    SVN URL: http://openmeetings.googlecode.com/svn/trunk/
    Openmeetings 分为 client 和 webapp 两部分,这两部分分别用不同的工具编译,下面具体介绍:
    Client 端 :在 openlaszlo 安装中 C:\...\OpenLaszlo Server 4.0.12\Server\lps-4.0.12 目录下新建 openmeetings 目录, openmeetings 源码的 client 目录内文件全复制到 C:\...\OpenLaszlo Server 4.0.12\Server\lps-4.0.12\openmeetings 目录下。启动 openlaszlo 服务,在 ie 浏览器地址中输入 http://localhost:8080/lps-4.0.12/openmeetings/main.lzx?lzr=swf8&lzproxied=solo
    若编译没有报错则客户端配置完成。
    Webapp 端 :运行 cmd 将目录改为 openmeetings 源码的 webapp 目录,其中应该包含 build.xml 文件。运行 ant dist 会在 webapp 目录下生成 dist 目录。其中包含 openmeetings 文件夹。将 openmeetings 文件夹复制到 Red5 安装路径下的 Red5\webapps\ 。将 conf 文件夹下的
    mysql_hibernate.cfg.xml 文件改名为: hibernate.cfg.xml,并根据数据库内容修改hibernate.cfg.xml中相关选项:
    root

    jdbc:mysql://YOUR_HOSTNAME/YOUR_DATABASE
    数据库相关配置 :在 MySQL 中新建数据库,数据库名为 openmeetings ,则前面提到的 YOUR_DATABASE,为 openmeetings;注意MySQL数据库的默认字符为utf8(修改my.ini文件中default-character-set=utf8)。
    启动Red5服务,在ie浏览器中输入 http://localhost:5080/openmeetings/Install 。设置帐号,密码, Email ,等(注意: ImageMagick , SWFTools 的运行目录已经写入系统环境变量 PATH 中的话,这里关于 ImageMagick , SWFTools 的 path 就不用填写 )。填写完毕后按下 INSTALL ,等待配置完成,此时 MySQL 数据库服务应该为开启状态。

    配置完成后在 ie 浏览器中输入 http://192.168.1.213:8080/lps-4.0.12/openmeetings/ ,就可以使用 openmeetings 了。
    posted @ 2008-11-20 11:51 hannover 阅读(200) | 评论 (0) | 编辑

    最近在看一些SOA的东东,突然发现好像一夜之间时代就变了,虽然SOA早在一年多以前就有耳闻,还被公司派去参加过普元在广州的路演大会,但是总觉得这是个比较遥远的东西,或者说,比较虚的东西。

    有时候上javaeye也会关注一些,但是好像有很多人的理解也不透彻,所以一直觉得挺迷糊的。一直的理解都在基于互联网的WebService上徘徊

    直到最近jianfeng去了淘宝架构部,我们偶尔还会切磋一些技术,听他说起淘宝架构的一些理念,突然觉得茅塞顿开,对SOA的思想也有了一些更深的理解。

    最近公司希望做内部系统整合,松散耦合、异构、可扩展性、分布式成为了技术选型的主要标准,那么SOA自然是非常适合。于是临阵抱佛脚买了本 Thomas Erl的《SOA概念、技术与设计》,每天在上下班的路上啃。看这本书前几章看得想睡觉,但前几天看到第五章时突然觉得豁然开朗,关于这本书本来想写几篇读书笔记,怎奈任务时间太紧,只能先放一放了,还有Domino的纪念文章也只能等闲时再写了。

    前几天在群里有人聊起OSGi,居然不知是何物-_-#,于是在群里请人扫了下盲。感觉和SOA的概念非常的相似,松散耦合、面向服务、可扩展性,正好这段时间也在看SOA,就在群里聊起来,聊着聊着总算弄清楚了SOA和OSGi的区别,其实说起来也简单,一个支持分布式,一个不支持,嘿嘿。现行有人推荐的方案是每个应用用OSGi来架构,应用之间靠SCA链接。

    这里则牵扯到了SCA,也是那次在群里聊起才知道的,算是SOA的一个实现吧。SCA历史不太清楚,看样子很像是IBM首先推出的,随后自然就有 Open Source Project跟进了。由于这几天看书虽然SOA的理论书里面都讲得很清楚,但实际应用还是有点担心。虽然自己之前一直在思考SOA的几个重要组成的实现,但总是觉得自己实现框架在时间上划不来而且通用性不高,一直又没找到什么好的已有框架(可能主要是没去找,哈哈)。SCA则正合我意,至少看起来是这样的。于是这几天开始研究Apache Tuscany。

    又有网文说到SCA、SDO、BPEL可以作为SOA的铁三角,分别对应调用方式、数据对象和编排,对后面两种暂时还没学习到,所以不做评论。又看了InfoQ上的一篇文章:http://www.infoq.com/cn/news/2008/03/manageability-oss  文章对使用这些技术提出了一部分质疑,使得我也对SOA是否真实能应用到生产系统中产生了担心。看来还需要对SCA进一步的了解,同时参考一些现行的SOA成功架构。不过,对于现行的企业内部系统的架构来说,不论如何,SOA应该是再适合不过了。

    回想上半年还在同康众和系统的Struts2、Spring、Hibernate中游走,下半年满世界都是SOA、SCA、SDO、BPEL、OSGi,仿佛一夜之间沧海桑田。现在jianfeng不在身边,少了一个可以讨论技术的人,只能自己一个人埋头苦学了。

    好在对自己的学习能力颇有信心,相信SCA不日即可迎刃而解,但最后研究出来框架是否适合系统就不得而知了。




    改造OpenMeetings成为Flash视频会议室(一) - [Development]

    2008-02-22

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fallenlord.blogbus.com/logs/15808503.html

    首先,像那些找******************点进来的兄弟说声Sorry。。。。显然这里没有美女。。当然,视频也没有。

    好了,开始吧。首先我们需要用到以下东东:

    1. JDK 1.5或以上版本 - 这个就不说了,以下所有东西都是基于它的。
    2. Red5 - 开源Flash服务器,用来替代FCS/FMS,毕竟License还是有些贵的,呵呵。这里有信息和下载 http://www.osflash.org/red5
    3. OpenMeetings - 开源视频会议系统,基于OpenLaszlo开发。这里有信息和下载 http://code.google.com/p/openmeetings/
    4. OpenLaszlo - 开源的富客户端应用开发平台(有点长,呵呵,用它的话来说是the premier open-source platform for rich internet applications)。这里有信息和下载: http://www.openlaszlo.org/
    5. MySQL或者其他数据库 - 必须是Hibernate支持的数据库
    6. SVN - 著名的版本管理工具Subversion,用来下载OpenMeetings的源代码的。Windows下推荐TortoiseSVN,这里下载: http://tortoisesvn.tigris.org/。Liunx就直接命令行吧,呵呵。喜欢用Eclipse的兄弟也可以用Subclipse插件 http://subclipse.tigris.org/
    7. 没有第7个东西要下载了

    好了上面是需要用到的项目,我们先来部署一次看看效果。下面是部署过程,我们暂时不需要用到Laszlo和SVN

    1. 先装JDK(注意要是1.5.0以上),这个到处都有教程,就不说了。注意装完以后要设置JAVA_HOME到JDK路径。
    2. 根据你的系统下载red5的安装包,然后傻瓜式安装
    3. 从OpenMeetings下载一个已经打包好的应用(http://code.google.com/p/openmeetings/downloads/list),解压到Red5的webapps里面,解压后目录应该是xmlcrm(最新版本可能为openmeetings)
    4. 到解压后的OpenMeetings项目下Install目录中(新版本可能为conf)按照你自己的数据库来修改目录中的任意一个 xxx_hibernate.cfg.xml文件并另存为hibernate.cfg.xml,我的是MySQL所以就直接把 mysql_hibernate.cfg.xml文件改名然后把数据库地址用户名密码写上去就OK了。
    5. 打开config.xml文件,看看端口啊,地址啊,有没有什么要修改的。
    6. 启动Red5服务器。如果是在Windows下Red5设成了服务的,在Windows的服务中重启。
    7. 开浏览器输入地址http://localhost:5080/xmlcrm/Install(注意大小写;Install根据版本也有可能为conf;另外5080是默认端口,如果修改了就按照你自己的弄)先进入安装界面,东西随便填。注意邮件服务器,如果你像我一样没有邮件服务器的话,就不填,只是暂时只能由管理员来添加帐号而无法直接注册,呵呵。然后其中要填入两个工具地址,就在页面上已经提供了下载了。
    8. 配置完了点击Send按钮,然后去喝杯咖啡或者茶什么的,因为要5-10分钟。。。=。=#
    9. 全部搞定访问 http://localhost:5080/xmlcrm就可以登陆了,你登陆的时候会是管理员,可以在顶上选择Manage来进行管理。同时提供白板可以画画,还可以共享桌面,呵呵。

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


    收藏到: Del.icio.us

    改造OpenMeetings成为Flash视频会议室(二) - [Development]

    2008-02-22

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fallenlord.blogbus.com/logs/15809073.html

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

    要修改当然先是要拿到源代码了。我们先大致了解一下OpenMeetings的源代码结构。OpenMeetings分为两部分:一部分是客户端,由OpenLaszlo和一些Flash文件组成,负责生成最终的客户端swf文件;另一部分是服务器端,由Java代码编写而成。我们必须分别下载并编译这两个部分,注意这两个部分版本必须一样。下面分别说明这两个部分的部署过程。

    服务器端

    1. 用SVN从这个地址Check out出代码http://openmeetings.googlecode.com/svn/branches/dev/xmlcrm/java/
    2. 到install目录中(新版本可能为conf)按照你自己的数据库来修改目录中的任意一个 xxx_hibernate.cfg.xml文件并另存为hibernate.cfg.xml,我的是MySQL所以就直接把 mysql_hibernate.cfg.xml文件改名然后把数据库地址用户名密码写上去就OK了。
    3. 代码可以用eclipse直接import,不过编译OpenMeetings推荐使用ant,项目已经提供了一个build.xml文件,直接在 eclipse里面Run as Ant就可以编译整个项目,编译结果将在项目下的dist目录下。(这里有个小问题,本人下载的r980版本中的build.xml文件居然编译的时候没有包含编译java文件,导致部署一直失败,解决方法只需要在最后一行的depends="clean, prepare, compile, hibernate"最后加一个jar就可以了,改为 depends="clean, prepare, compile, hibernate, jar")
    4. 将编译完成的dist中的openmeetings文件夹复制到red5的webapps下,重启red5服务器,服务器端部署完成。

    (如果嫌部署太麻烦,可以将build.xml文件中<property name="dist.dir" value="dist"/>这一行value的值改为你的red5的webapps如:<property name="dist.dir" value="C:\Program Files\Red5\webapps" />,并将<delete dir="${dist.dir}"/>这一行删掉或注释掉。这样每次运行build.xml文件的时候就可以直接部署到red5下了)

    客户端

    1. 下载并安装OpenLaszlo,http://www.openlaszlo.org
    2. 用SVN从这个地址Check out 出代码http://openmeetings.googlecode.com/svn/branches/dev/laszlo/client/
    3. 代码也可以用eclipse直接import,但编译需要使用OpenLaszlo,这个以后再说。
    4. 复制刚才代码下xmlcrm下的videoconference文件夹到OpenLaszlo下,{OpenLaszlo目录}/Server/lps- 4.0.9/(4.0.9为我的版本号,根据服务器版本不同而不同)Windows默认安装是这个地址:C:/Program Files/Openlaszlo Server 4.0.9/Server/lps-4.0.9/videoconference/(其中4.0.9同上解)
    5. 修改videoconference/config.xml文件,端口啊、地址啊都改成你自己的。rtmphostlocal标签中的内容是你的red5服务器安装位置。

    数据库配置与测试

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

    1. 安装一种数据库,数据库的类型随便,只需要保证hibernate支持类型就行了,这里可以看哪些支持http://www.hibernate.org/80.html,不需要建立任何数据库或库表,等下程序会帮你建立
    2. 完成上面两步,注意服务器端的第2步,那里必须保证正确
    3. 启动red5服务器
    4. 服务器端安装
    访问 http://localhost:5080/openmeetings/Install,程序会自动进入Step 1安装,上面框填入你的信息,中间框邮件服务器那一项如果没有可以留空,下面框填入SWFTool和MagicImage两个必须的工具的安装后的路径,如果没有安装这两个软件的话可以点击输入框下面的连接去下载,安装完成后再填入。然后选择Senden,之后进展会很慢不要关闭页面也不要以为死机了,可以做些别的事情例如和身边的美女同事聊聊天什么的,大约5-10分钟后安装完成,此时数据库中已经多了一个库了。直接访问http://localhost:5080/openmeetings应该可以看见输出结果,但由于其中的swf是事先编译好的,不是我们编译出来的,所以我们还需要学习下面的客户端安装
    5. 客户端安装
    (1) Proxied方法
    现在保证red5服务器中刚才部署的服务器端在运行,然后启动OpenLaszlo服务器,并在浏览器中输入:http://localhost:8080/lps-4.0.9/videoconference/maindebug.lzx?lzr=swf8 http://localhost:8080/lps-4.0.9/videoconference/main.lzx?lzr=swf8 即可看到结果(4.0.9根据具体版本号变更,如果OpenLaszlo不在本机,请修改localhost为OpenLaszlo服务器地址
    (2) SOLO方法
    还可以使用SOLO模式编译(如何SOLO模式编译可以参看我另外一篇文章 OpenLaszlo下的Proxied和SOLO两种编译方法)在客户端目录中生成swf文件,然后将客户端目录中的main.lzx.lzr=swf8.swf 复制到服务器端部署好的目录中覆盖原来的同名swf文件(即{red5路径}/webapps/openmeetings),然后仅启动red5服务器,访问http://localhost:5080/openmeetings同样可以看见结果

    关于Laszlo开发工具

    Laszlo的开发工具网上大多数都是介绍使用Eclipse插件IDE for Laszlo作为开发工具,但此工具在2006年12月的时候就因为太不活跃而被eclipse留档停止了。现在比较推荐的是Spket,http://www.spket.com/,它是免费软件,如果要用于商业目的则需要付费。当然你也可以选择直接使用文本编辑器开发。

    好了,差不多了,现在代码也有了,部署也通过了,想改什么都行了,嘿嘿。俺先去摆弄两下iTouch,下次再来说修改和编译^_^。


    收藏到: Del.icio.us


    改造OpenMeetings成为Flash视频会议室(三) - [Development]

    2008-02-28

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fallenlord.blogbus.com/logs/16115016.html

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

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

    学习简单的OpenLaszlo语法

    (比较懒的兄弟可以跳过这节直接转到下面的“懒人视频聊天室”,呵呵)
    推荐大家去看一看OpenLaszlo Explorer中的Laszlo in 10 Minutes,启动Laszlo服务器,然后访问http://127.0.0.1:8080/lps-4.0.9.1/laszlo-explorer/index.jsp就可以看见(Windows下的安装后直接双击桌面图标就能够自动触发浏览器访问此地址)。这个是给大家对于OpenLaszlo的语法进行一个简单的介绍。另外,点击Documentation下面的LZX Reference还能够看到更详细的每个标签和指令的介绍。这些应该都会在修改代码过程中有所帮助。我这里介绍几个修改代码时可能会用的多的:
    1. 类的继承、定义与使用
    2. 事件与触发
    3. 基本元素view, text
    4. 数据绑定(dataset)
    看这些相信最多花费你1-2个小时的时间,然后你就可以开始修改了。

    在调式模式下启动OpenMeetings

    首先说下我修改时的调试方法,我是在后台启动部署了OpenMeetings服务器端的Red5和部署了客户端的OpenLaszlo两个服务器,然后访问http://127.0.0.1:8080/lps-4.0.9.1/videoconference/main.lzx?lzr=swf8,即可编译并启动OpenMeetings客户端

    然而,在OpenMeetings客户端的根路径下其实有两个主文件,一个main.lzx和maindebug.lzx,这两个都可以用来整合编译并启动OpenMeetings客户端,但maindebug.lzx是带调试界面的,更便于修改用,我们可以把访问地址改为http://127.0.0.1:8080/lps-4.0.9.1/videoconference/maindebug.lzx?lzr=swf8,这样每次运行都会有一个调试框,里面会显示很多客户端本身就带有的调试信息。当然你也可以自己在代码中写入调试信息,Debug.write(xxxx);运行时即会将xxxx的内容显示在调试框中。

    懒人视频聊天室

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

    1. 去掉邮件注册
    前面我们介绍了OpenMeetings安装的时候必须设置一个邮件服务器,如果没有邮件服务器则前台是无法注册的。现在我们就把这个烦人的邮件注册去掉。
    服务器端文件中,找到org.xmlcrm.app.data.user.Usermanagement类,找到下面一行
    Long user_id = this.registerUserInit(3, 1, 0, 1, login, Userpass,lastname, firstname, email, age, street, additionalname,fax, zip, states_id, town, language_id, true, new LinkedHashMap());
    将倒数第二个true改为false,部署以后再到前台注册,现在已经不会提示Invalid EMail了

    2. 修改界面左上角网站名称和连接
    修改config.xml文件中:
    <currentappname>xxx</currentappname>为网站名称(可以为中文)
    <currentappnameurl>、<currentappnamebugurl>标签为自己的网站URL

    3. 修改登录框,设置默认语言为中文
    每次登陆以后默认都是英文的,要选择一下语言而且登陆以后才会变成中文,我们可以让它一开始就是中文。
    然后修改xmlcrm/hibernate/rtmphib.lzx文件<attribute name="userlang" value="1" type="number" />这一句,value由1改为9(9是chinese simplified在语言那个下拉菜单的顺序)。
    修改xmlcrm/auth/checkLoginData.lzx文件combox name="language"标签下的handler name="oninit"事件内容,两行this.selectItemAt(0);全都改为this.selectItemAt(8);,这样系统会在初始状态下默认选择简体中文(8=9-1)。
    这样重新编译,你的界面就初始为简体中文了。
    (貌似也可以用管理员帐户在后台直接改)

    4. 去掉登录框上不需要的部分
    登陆框下面的语言选择,颜色选择和带宽我都去掉了,方法如下:
    auth/checkLoginData.lzx文件,其中每个labeltext标签和其下缩进的一个表单标签(combobox /customedittext)一起代表一行的输入框和其前面的名称,将不需要的都在标签最后加入 visible="false"属性(我去掉了最后三项)。
    同时注意剩余的labeltext和表单标签中的y值为其所在的纵向坐标,需要修改之让其匹配界面应在的位置。可以参考原删除的标签的y位置。最后的simplelabelbutton就不要改了,因为是按照相对高度定位的。
    最后,修改整个窗体的高度,顶部的class标签最后的height属性,改为应有的值,大概是每删除一个表单标签-30,例如删除了3项输入框,就是原有高度260 - (3 x 30) = 170。

    5. 修改登入后界面,直接到私人房间界面
    对于一个聊天室,登陆以后其实直接到房间列表就够了,所以你需要。。。
    /xmlcrm/navi/mainnavi.lzx文件,找到mainnavi类,最后一个handler name="oninit",修改代码行if (i==0) t1.onclick.sendEvent();中间if条件为i==2。这样进入后就会自动进入“会议”菜单
    然后找到mainmenumeetingsitem类,下面的handler name="onclick",最后一行else this._menuRef.subviews[0].onclick.sendEvent();改为else this._menuRef.subviews[1].onclick.sendEvent();这样进入后就会自动进入“私人会议”列表界面

    6. 去掉房间列表页面中右侧的聊天窗口
    进入房间列表页面以后,可以看见右侧有一个聊天窗口,如果你希望屏蔽他们的话。。。
    根据需要修改/xmlcrm/content/meetings/publicmeetings.lzx(公共房间列表)/xmlcrm/content /meetings/privatemeetings.lzx(私人房间列表),删除<roomlistdetails x="510" y="50" name="_roomlistdetails" />一行即可

    7. 屏蔽顶部菜单
    顶部菜单可以进行一些操作,但对于一个聊天室,这些操作其实有些多余,下面是删除办法。
    /xmlcrm/navi/mainnavi.lzx文件,找到mainnavi类,先在其中找到第一个view标签(就在紧接一堆attribute下面,不含有name属性的那个),然后为其加上name属性name="navibar"。然后还是mainnavi类中,找到最后一个handler name="oninit",在Debug.write("this: ",this);后添加代码:
    if (value.length == 4) {
      this.navibar.setAttribute("visibility", "hidden");
      this.itemlist.setAttribute("visibility", "hidden");
      this.subitemlist.setAttribute("visibility", "hidden");
    }
    这样,当管理员登陆的时候看到的还是原来的界面。普通用户登陆则看不到顶部菜单。如果只希望屏蔽一级菜单,而希望留下“公共会议”和“私人会议”菜单,则不要第三行this.subitemlist.setAttribute("visibility", "hidden");即可。

    8. 屏蔽右上角菜单,仅剩下Logout登出
    登陆进去以后,屏幕右上角总是显示三项:用户、退出、报告错误。如果不希望有用户和报告错误两项的话,就按照下面的做。
    /xmlcrm/navi/mainnavi.lzx文件,找到helpandbugs类,将其中name="btn1"和name="btn2"的两个view标签及其包含内容全部删去即可

    9. 修改未翻译的文字
    即使选择了简体中文,系统依然会有很多地方的显示是英文的,我们需要手工的将部分未翻译过来的单词自己翻译一下,有三种办法:
    (1) 在服务器端代码(不是客户端代码)中找到webapp\openmeetings\languages\,里面存的是所有的国际化文件,english.xml为英语,chinese simplified.xml为中文,用文本编辑器打开以后可以按照你自己的希望对不满意的翻译进行修改。修改以后需要用管理员帐号登陆,然后在【管理】 -【Language-Editor】中Import修改后的xml文件到chinese simplified。
    (2) 用管理员帐号登陆,然后在【管理】-【Language-Editor】可以直接对数据库中的语言进行翻译,比较方便。
    (3) 直接访问数据库表fieldlanguagesvalues,用select * from fieldlanguagesvalues where language_id = 9即可查看所有的简体中文国际化记录,直接修改value的值也能达到同样的结果,用数据库的好处是查找比较方便,呵呵
    另外还有部分语言是硬写在代码里的,这些只需要对整个项目搜索那段英文再修改为中文即可,例如:/conference/popups/changedevice.lzx 中Do not ask again改为中文“下次不再提示”

    10. 删除进入房间后顶部菜单中不需要的功能
    进入房间后,顶部一排有很多功能菜单,申请主持、文件上传、投票等等,这些功能对于一个纯粹的聊天室来说,有些多余,而且这些功能全都可以在其他地方实现,所以你可以根据需要将顶上的部分功能菜单给删除。
    /xmlcrm/content/conference/conferencemenubar.lzx文件中找到conferencemenubar类,其下每一个labelmenu标签代表一个菜单项,顺序为从左至右,将不需要的菜单项删去或注释掉即可。再在上面一点找到一堆command标签,根据快捷键将不要的也删除或屏蔽,以避免有人使用快捷键调用功能。
    而房间上中的按钮和显示则在文件/conference/moderation/moderationpanel.lzx的moderationpanel类中,同样将不需要的屏蔽即可

    11. 国际化房间里主要面板的标题
    进入房间后,发现不管怎么修改语言数据,那三块板子顶上的标题就是不变,这是因为这三个标题没有绑定国际化的原因。
    /xmlcrm/content/conference/conference.lzx中,找到videoboard类,删去title属性,加上labelid="313";
    找到whiteboardpanel类,删去title属性,加上labelid="315";
    找到filespanel类,删去title属性,加上labelid="314"

    12. 删除房间里左下角框中不需要的功能
    房间里左下角框里面是有聊天、文件和成员三个选项的,文件用来控制白板,还有些用,而投票在视频聊天室里面恐怕用不上,所以去掉。
    /conference/tabbar/conferencecontainertab.lzx中,找到conferencecontainertab类,3个openmeetingsTabButton标签每个代表一个tab按钮,屏蔽不需要的

    13. 修改房间人数限制
    有些兄弟认为4人房间的聊天室太无聊。。。不过好像也是。。。又不是打麻将。。所以。
    /xmlcrm/conference/roomlistItem.lzx文件中<attribute name="maxUsers" value="4" type="number" />一行,修改value的值即是修改最大人数。最大人数修改以后展示的时候界面可能有些乱,这个就你自己去调整了,因为我做的时候没有这个需求,所以没有测试过实际效果,呵呵~~

    客户端文件结构简单介绍

    这里只介绍几个对界面修改比较有用的文件:

    /config.xml 一些全局参数定义
    /main.lzx 主文件,用来整合其他文件
    /maindebug.lzx 带debug的主文件
    /xmlcrm/hibernate/rtmphib.lzx 定义并实例化hibrtmpconnection类,负责主要流程调度及部分默认配置,比较重要
    /xmlcrm/hibernate/netremotecallhib.lzx 定义netremotecallhib类,继承于netremotecall类,负责调用后台服务器端Java方法,使用很多
    /xmlcrm/content/meetings/publicmeetings.lzx 定义公共会议列表相关类
    /xmlcrm/content/meetings/privatemeetings.lzx 定义私人会议列表相关类
    /xmlcrm/conference/roomlistItem.lzx 定义roomlistItem类,代表会议房间列表页面中的一个房间展示
    /xmlcrm/auth/checkLoginData.lzx 定义checkLoginData类,负责登陆框的显示
    /xmlcrm/navi/mainnavi.lzx 定义登录后的主界面展示相关类
    /xmlcrm/content/conference/conferencemenubar.lzx 定义房间左上角菜单
    /conference/moderation/moderationpanel.lzx 定义房间上中的显示和按钮
    /xmlcrm/content/conference/conference.lzx 定义房间主要的三个面板类
    /conference/tabbar/conferencecontainertab.lzx 定义房间左下角聊天窗口中的内容
    /conference/video/basevideoobject.lzx 视频对象的基类,定义了视频图像的外框显示
    /conference/video/videoobjectbroadcast.lzx 视频播放类,定义了会议房间中的本人的视频显示
    /conference/video/videoobjectplayBroadcast.lzx 视频播放类,定义了会议房间中的其他人的视频显示
    /conference/video/videocontainer.lzx 视频容器类,定义了房间内左上角框里的所有视频对象的展示
    /conference/whiteboard/ 白板相关类
    /conference/tabcontent/chat 房间内的聊天窗口相关类
    /conference/tabcontent/files 房间内的文件窗口相关类

    部署

    要部署的时候建议把整个客户端生成一个swf文件然后复制到服务器端(即使用SOLO方式编译,如果不知道如何编译,参考我的另一篇文章 OpenLaszlo下的Proxied和SOLO两种编译方法 ),这样服务器端部署的时候就不需要再开启OpenLaszlo服务器了。另外注意,将修改过的config.xml文件和swf文件一起拷贝到服务器去,否则有些修改又没了,呵呵。(如果swf文件和red5是部署在同一台机器上的,建议你把config.xml文件中rtmphostlocal留空,这样可以省去很多麻烦)

    拷贝过去后先修改index.jsp文件中SWFObject的第一个参数,使之指向你的swf文件。然后访问http://localhost:5080/openmeetings/即可看到效果,部署完成。

    然后,然后。。。如果你在自己的机器上部署了,希望外网的朋友来和你一起测试或使用的话,注意要配置路由上用虚拟主机端口映射,开放1935、 8088、5080三个端口指向自己(当然也可以直接将自己设为DMZ。。如果感觉自己够安全的话。。),如果是非SOLO方式还要为Laszlo服务器开放8080;另外,机器上如果有Kapersky之类的话需要关闭,否则会拦截外网的端口访问。

    写在最后

    好了,东西写的差不多了,虽然我自己修改这个所做的远不止写的这些,但我想我也只能写到这里了。
    我写这些东西的目的只是希望大家能够得到一点启发,每个人需求都不一样,我相信根据我的修改肯定达不到你的要求,但相信你通过边做边学习这些之后,完成后面的事情应该不是什么难事了。
    我平时少上IM,我的邮箱是fallen_lord@126.com,有兴趣的朋友可以mail我交流,呵呵~~
    星期天准备去海淀学校散散心~~
    最后祝大家周末愉快~~^_^


    历史上的今天:


    收藏到: Del.icio.us

    • OpenLaszlo下的Proxied和SOLO两种编译方法 - [Development]

      2008-02-28

      版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
      http://fallenlord.blogbus.com/logs/16125648.html

      时间不多,随便说一下
      Laszlo有两种编译方式:
      1. 通过OpenLaszlo Server进行编译
      2. 一次性将lzx文件编译成swf文件
      这两种方法各有好处,下面分别介绍,并简单的介绍了下SOLO模式的几种编译方法

      OpenLaszlo Server方式(代理方式)

      这种相信现在大家都在用,启动OpenLaszlo服务器,然后在浏览器中输入lzx文件全路径,不需要任何参数或设置,即会出现结果。
      代理方式好处是测试简单方便,坏处则是如果你要部署的话,需要在部署服务器上另起一个OpenLaszlo服务器端。
      下面是官方文档中对于此方式的图解:

      swf文件方式(SOLO方式)

      SOLO的全称是Standalone Open Laszlo Output,即根据lzx生成swf文件,编译完成以后,每次只需要swf即可运行程序,而不再需要OpenLaszlo服务器了。
      这样的好处是显而易见的,部署非常方便,少一个服务器需要启动、配置和维护,可以在任何的环境下执行,你甚至可以把它上传到你的个人免费静态空间中。
      下面是官方文档中对于此方式的图解:

      SOLO的编译方法

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

      1. 用命令行进行编译

      cd <OpenLaszlo服务器路径>/bin
      lzc --runtime=swf8 <你的lzx文件>

      然后就可以在你的lzx文件路径下发现一个swf文件
      (如果编译时出现Out of memeory异常,则修改lzc.bat文件,在java后面加上参数-Xmx512m再执行;如果编译时始终出现参数错误,可能是命令行系统错误的将=号作为参数分割了,尝试将带等号的参数两边用双引号括起来)

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

      http://<OpenLaszlo服务器路径>/<你的lzx文件>?lzr=swf8&lzproxied=false

      效果同上

      3. 用canvas属性编译

      canvas标签有个proxied的可选属性,其值可以为true|false|inherit,指定为false即可达到与上面相同的效果

      <canvas proxied="false">
      <text>su ck!</text>
      </canvas>

      然后通过浏览器访问地址

      http://<OpenLaszlo服务器路径>/<你的lzx文件>?lzr=swf8

      效果同上

      大概就这么多。最后,如果使用一种方式编译后的swf无法正常工作,尝试下其他的方法,或许能成功。

      ^_^

      参考文档:

      Chapter 25. Proxied and SOLO Applications

      Chapter 49. Understanding Compilation

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值