openmeetings二次开发详解(本人都已实践成功)
OpenMeetings源码编译手册

O PENMEETINGS源码编译手册2010-12-1B Y:邵贤军O PENMEETINGS源码编译及运行环境搭建 (2)一、下载eclipse for javaEE (2)二、Subclipse插件安装 (2)三、用Subclipse从Google SVN Check out项目文件 (7)四、消除项目红叉 (9)五、配置文件的修改 (13)六、启动openmeetings项目 (14)Openmeetings源码编译及运行环境搭建一、下载eclipse for javaEEEclipse是IBM捐献的一套开发java的IDE,由于它采用了OSGI协议,因此现在可以开发的语言已经有很多种了,这里我们下载eclipse for javaEE,因为openmeetings是基于web开发的,至于下载的过程这里就不提了,一般从/downloads/下载,我下载的是eclipse-jee-galileo-win32.zip,解压就可以使用,我的eclipse是版本3.6,下面的说明和截图都是基于此版本的。
二、Subclipse插件安装Subclipse是eclipse的一个SVN插件,使得你可以从Google code上“Check out”openmeetings的代码。
打开eclipse,依次Help->Install New Software在弹出的对话框中点击add,在新弹出的对话框中填入Name和Location,图中Name:subclipse, Location:/update_1.6.x,但是我在做的时候用1.6找不到,所以实际上我填写的是Name:subclipse1.4,Location:/update_1.4.x点击OK;安装的,至于它们是干什么的,你可以上网查,这里不做赘述;点击Next,出现如下界面:这个界面是程序检测依赖性的界面,检测完毕之后,会出现以下界面:直接点击Next即可,进入下面界面:下界面:依次windows->preferences->show View->other,见图:在弹出的对话框中找到SVN,选中SVN资源库,如图:这时eclipse将出现以下界面:三、用Subclipse从Google SVN Check out项目文件点击图中“1“位置,将弹出下图:在URL中填入/svn/trunk/singlewebapp,点击Finish,即可看到如下图:这个图显示了openmeetings项目的源码目录,在图中位置点击右键,点击“检出为“,英文为”check out“,进入下一个界面:按照如图填写,点击Finish,等待很久….check之后会看到Project Explorer 多出一个项目Root,见图:至此,Openmeetings的源码已经下载完毕了可以看到里面还有很多小红叉,下面我们就把其中的小红叉去掉,这个比较麻烦,具体的步骤我也记得不太清了,但是主要的几个烦扰我的问题我还是记得的。
openMeetings二次开发高手的七篇文章

第一章PhMeetings——基于OpenMeetings 的实验性商业版本OpenMeetings 2010-09-29 16:42:53 阅读279 评论0 字号:大中小订阅作者:老猫PhMeetings是基于开源WEB视频会议系统OpenMeetings开发的一个实验性商业版本,原始蓝本来自。
老猫花了好几个月的时间,费了九牛二虎之力至今天终于完成了一个目前还算过得去的版本,沾沾自喜中……由于资料的缺乏以及对OpenLaszlo编程的陌生,其中艰辛不足为外人道。
今日发一声感慨:如果你想折磨一个程序员,那就让他去干开源软件的二次开发!好了,言归正传,先推销一下PhMeetings的演示地址:参考国内流行的一些C/S架构下的网络视频会议系统,老猫的PhMeetings在OpenMeetings基础上增加了一些适合独立进行商业运营的概念和功能,同时也删减了一些不符合国内网络环境或者形同鸡肋的功能。
删除的功能有:SIP接入网关(IP phone在国内基本用不上)预约会议功能(这个在商业运营商很难掌控)屏幕共享功能(除非部署在局域网环境,否则会把人急死)取消了其它类型房间的录制功能,只保留interview类型房间内的录制功能新增的概念或功能:房间目录树概念:用于对房间采用树状目录管理新增用户类型:房主。
使得房间的租用概念得以商业化推广。
房间计费管理及租用到期提醒功能新增房间管理后台功能:房主可以管理房间超级主持人、LOGO、背景、黑名单、白名单、链接及广告等。
房间收藏和房间搜索功能:方便在众多的房间中找到你想要去的。
房间锁功能:可对房间设置进入密码。
踢出房间功能:超级管理员或者房主有权在房间里将捣乱的用户踢出系统。
黑名单功能:将用户ID或者IP加入房间黑名单,该用户将被该房间拒之门外。
白名单功能:列入房间白名单的用户在房间设置密码锁时可以不必输入密码验证。
游客直接通过链接进入房间功能:房间租用者可以对游客开展产品推介或其它客服服务。
二次开发手册

二次开发手册随着科技的不断发展,软件已经成为人们日常生活和工作中不可或缺的一部分。
为了满足用户对软件功能的需求,开发者经常需要进行二次开发。
本手册旨在为二次开发者提供一套完整、实用的指南,帮助其更好地进行软件二次开发工作。
1.二次开发的基本概念二次开发是指在已有软件的基础上,根据用户需求进行功能扩展、改进或定制的过程。
通过二次开发,可以充分利用已有软件的优点,提高软件的功能性和易用性。
2.二次开发的流程二次开发的流程包括需求分析、设计、编码、测试和部署等阶段。
其中,需求分析阶段是关键,需要充分了解用户需求,确定二次开发的具体内容和目标。
设计阶段需要对系统架构、数据库结构、界面设计等进行详细规划。
编码阶段需要按照设计要求进行编码实现。
测试阶段需要对二次开发的功能进行全面测试,确保其符合预期要求。
部署阶段需要对二次开发的软件进行部署和上线。
3.二次开发的技术实现在进行二次开发时,需要了解和掌握相关的技术实现。
例如,对于Web应用程序的二次开发,需要了解HTML、CSS、JavaScript等前端技术,以及后端语言如Python、Java等。
对于移动应用程序的二次开发,需要了解iOS或Android平台的开发技术。
此外,还需要了解数据库技术、版本控制技术等。
4.二次开发的常见问题及解决方案在进行二次开发时,可能会遇到一些常见问题,如兼容性问题、性能问题、安全性问题等。
针对这些问题,需要采取相应的解决方案。
例如,对于兼容性问题,需要进行充分的测试和调优;对于性能问题,需要进行性能分析和优化;对于安全性问题,需要加强安全措施和防范措施。
5.案例分析为了更好地说明二次开发的实践过程,本手册提供了几个案例分析。
这些案例涵盖了不同领域和不同规模的二次开发项目,通过分析这些案例的成功经验和问题所在,可以为读者提供宝贵的启示和帮助。
通过这些案例的分析和学习,读者可以更好地理解二次开发的实践操作和关键要点,为自己的二次开发工作提供指导和实践经验借鉴。
二次开发方案范文

二次开发方案范文二次开发是指对已有软件或系统进行二次开发或功能扩展的过程。
在进行二次开发之前,首先需要明确开发的目标和需求,然后选择适合的开发平台和工具,制定详细的开发计划和任务,最后进行开发和测试工作。
下面是一个关于二次开发方案的具体内容,包括目标和需求分析、平台和工具选择、开发计划和任务制定、开发和测试工作。
一、目标和需求分析在进行二次开发之前,需要明确开发的目标和需求,确保开发的方向明确,确保二次开发能够满足用户的需求。
在目标和需求分析阶段,需要与用户进行充分的沟通和交流,以了解他们的需求和期望。
二、平台和工具选择在选择平台和工具时,需要考虑以下几个方面:1. 开发语言:根据项目需求和开发人员的技术背景选择合适的开发语言,常用的开发语言有Java、C#、Python等。
3. 数据库:根据项目需求选择合适的数据库,常用的数据库有MySQL、Oracle等。
4. 开发工具:选择合适的开发工具能够提高开发效率,例如Eclipse、Visual Studio等。
三、开发计划和任务制定在确定了目标和需求以及选择了合适的平台和工具后,需要制定详细的开发计划和任务,包括开发的阶段、时间和人力资源的分配等。
在制定开发计划和任务时,需要充分考虑项目的复杂度和开发人员的技术水平,确保开发进度和质量。
四、开发和测试工作在进行开发和测试工作时,需要按照开发计划和任务进行组织和安排,充分利用已有的资源和工具,以确保开发的进度和质量。
开发过程中需要遵循良好的开发规范和设计原则,编写高质量的代码和文档,进行充分的测试和调试工作,以确保开发的质量和可靠性。
五、验收和部署在开发完成后,需要进行验收和部署工作。
验收工作主要是对开发的软件或系统进行功能和性能测试,以确保满足用户的需求。
部署工作主要是将开发的软件或系统部署到生产环境中,确保能够正常运行和使用。
总结:二次开发是对已有软件或系统进行二次开发或功能扩展的过程,需要明确目标和需求,选择合适的开发平台和工具,制定详细的开发计划和任务,进行开发和测试工作,最后进行验收和部署。
openmeeting二次开发

使用SOAP网关实现OpenMeetings 与其它系统的整合OpenMeetings 2010-09-27 10:28:49 阅读158 评论2字号:大中小订阅作者:老猫一、概述非常遗憾的是,OpenMeetings没有提供基于第三方SSO(单点登录,例如CAS)系统的集成方法。
但它提供了一个Web Service,官网将其命名为SOAP-Gateway,亦即一个基于SOAP的网关。
这个Gateway集成了一系列的方法,可以实现从OpenMeetings的Flash客户端(前台)之外完成登录、进入房间、以及部分后台管理(如添加房间、注册新用户等)功能。
调用SOAP-Gateway的前提是你必须知道一个OpenMeetings管理员的登录名和密码。
对于调用该Web Service来进行平台管理的应用,这看起来是合理的;但对于那些只是需要让一个游客直接进入某个房间的应用来说,这似乎有点不合理,从安全性角度,管理员的帐户和密码似乎不应该在外部应用中出现。
因此,对于那些只需要集成以游客身份直接进入房间的应用,建议将调用SOAP-Gateway的程序与OpenMeeting部署在一起,仅向外部应用提供一个输入游客姓名的页面url。
要了解OpenMeetings提供的SOAP-Gateway的接口信息,最简单的方法是把OpenMeetings运行起来,然后在浏览器中输入:http://localhost:5080/openmeetings/axis2-web/浏览器的现实如下图:以上信息告诉我们,SOAP-Gateway实际上是一个采用AXIS2框架实现的Web Service。
单击Services,我们可以查到它是由UserService、RoomService 和FileService三个Service组成。
再单击某个Service,如UserService或直接键入链接(http://localhost:5080/phmeetings/services/UserService?wsdl),则以wsdl 方式显示出它的全部方法和接口。
二次开发的配合方案

二次开发的配合方案
二次开发的配合方案是指在现有软件或系统基础上进行修改、定制和优化的工作。
这种开发方式旨在满足用户特定需求,提供更加个性化和高效的解决方案。
首先,为了确保二次开发的顺利进行,需要进行详细的项目规划和需求分析。
这包括与用户和开发团队密切合作,明确用户的具体需求和期望,制定可行的开发计划。
在此过程中,我们应该充分了解现有系统的架构和功能,以便能够对其进行有效的修改和定制。
其次,为了确保二次开发的安全性和稳定性,我们需要采取适当的开发工具和
方法。
这包括选择合适的开发语言和框架,以及使用测试和调试工具进行质量控制。
同时,我们需要确保开发过程中的数据安全,避免用户信息泄露和系统漏洞。
另外,为了保证二次开发的高效性,我们需要合理安排开发团队的工作。
这包
括分配任务和资源,制定开发进度表,并及时沟通和协调团队成员的工作。
在开发过程中,我们应遵循敏捷开发方法,及时调整开发计划,以适应用户需求的变化。
最后,为了保证二次开发的成功应用,我们必须进行充分的测试和培训工作。
这包括对开发结果进行全面的功能测试和性能测试,以确保系统的稳定性和可用性。
同时,我们还应为用户提供系统的操作手册和培训材料,以便他们能够熟练使用和维护二次开发的系统。
综上所述,二次开发的配合方案需要进行详细的规划和需求分析,采用合适的
开发工具和方法,合理安排团队工作,进行充分的测试和培训。
通过有效的配合方案,我们可以为用户提供个性化和高效的解决方案,满足其特定需求。
二次开发概念
二次开发概念二次开发概念简述什么是二次开发?•二次开发是指在现有软件或系统的基础上进行进一步的开发、扩展或定制,以满足特定的需求。
•二次开发可以通过修改现有代码、添加新功能、修改界面等方式来实现。
•二次开发通常是基于软件或系统的开放性接口,以便开发人员可以定制、扩展和集成其功能。
二次开发的相关概念开放性接口•开放性接口是软件或系统提供给开发人员的一组方法、函数、类或接口,用于开发人员在其基础上进行二次开发。
•开放性接口通常是一种标准化的接口规范,以确保开发人员可以准确使用和调用相应的功能。
•开放性接口可以是公开的,也可以是特定授权的,以提供一定的安全性和控制。
API(应用程序接口)•API是一组定义和规范接口的函数、方法和工具,用于不同应用程序之间的交互。
•API可以是开放性接口的一种,使得开发人员可以通过调用函数、方法或使用工具来直接访问和使用特定软件或系统的功能。
•API通常包含一系列标准的调用参数、命令和数据格式,以实现特定功能的调用和响应。
插件(Plugin)•插件是一种可与特定软件或系统集成的软件模块或组件,以增加新功能或改进现有功能。
•插件通常是通过二次开发实现的,可以在已安装的软件或系统上进行动态加载和卸载。
•插件可以在现有软件或系统的框架内运行,并与其余部分无缝集成,甚至可以通过特定的API进行交互。
二次开发的相关内容自定义功能开发•通过二次开发,可以为现有软件或系统添加自定义功能,以满足特定的需求。
•自定义功能开发可以包括添加新模块、修改现有模块、定制流程等,以实现特定业务逻辑和功能。
•自定义功能开发可以提高软件或系统的灵活性和可扩展性,满足不同用户或行业的不同需求。
外部系统集成•通过二次开发,可以实现不同系统之间的集成,以实现数据的共享、交互和协同工作。
•外部系统集成可以通过调用API、使用标准化的数据格式、实现消息传递等方式来实现。
•外部系统集成可以增强现有系统的功能,提高工作效率,减少重复的数据输入和处理。
二次开发方案
二次开发方案引言随着互联网的普及和发展,许多企业开始重视软件系统的二次开发,以满足其独特的业务需求。
在本文档中,我们将探讨二次开发方案的重要性,并提供一些相关的实施建议。
二次开发的定义二次开发是指在现有的软件系统基础上进行功能增强、定制化开发的过程。
通过二次开发,企业可以根据自身业务需求,对现有系统进行改造和优化,以满足其独特的业务要求。
二次开发的重要性1.适应业务需求在市场竞争日益激烈的今天,企业需求不断变化。
现有的软件系统可能无法完全满足企业的需求,因此二次开发成为了不可或缺的一环。
通过二次开发,企业可以根据自身业务需求,定制系统功能,以更好地支持业务流程。
2.提升工作效率通过二次开发,可以针对现有软件系统的不足之处进行优化和改进。
这些改进可能包括界面操作优化、功能整合、自动化流程等,可以有效提升员工的工作效率,减少重复劳动,提高生产效率。
3.降低成本相比于自行开发一个全新的软件系统,进行二次开发往往更加经济高效。
二次开发不需要从零开始,而是基于现有系统进行改进和定制。
这样可以节省开发成本和时间,降低项目风险,同时提高项目的成功率。
二次开发的实施建议1.需求分析和规划在进行二次开发之前,首先需要进行详细的需求分析和规划。
与业务部门沟通,了解他们的具体需求和期望,然后根据这些需求制定开发计划和时间表。
2.选择合适的开发工具和技术在进行二次开发时,选择合适的开发工具和技术是非常重要的。
根据企业的具体需求和系统特点,选择适合的开发语言、框架和数据库等工具。
同时,考虑到二次开发的稳定性和可维护性,选择流行且有良好支持的开发工具和技术更为推荐。
3.合理的功能定制和改进在进行二次开发时,需要根据需求来进行功能定制和改进。
尽量避免过度定制,以免影响系统的稳定性和维护成本。
定制和改进的功能应该能够满足业务部门的需求,同时保持与原有系统的兼容性。
4.测试和部署在二次开发完成之后,需要对新功能进行全面测试,确保其稳定性和可靠性。
项目二次开发源代码及详细说明
项目二次开发源代码及详细说明I. 项目介绍本文档描述了一个二次开发项目的源代码及详细说明。
该项目是基于一个开源的企业资源管理系统进行二次开发,以满足特定客户的需求。
原始系统功能包括客户关系管理、订单管理、库存管理等,但客户需要在原始系统的基础上增加一些新的功能,比如业务报表的定制、权限管理的优化等。
为了满足客户的需求,我们需要对原系统进行二次开发,修改和添加一些功能,以适应客户的特定业务需求。
II. 项目目标1. 通过二次开发,实现客户需求的定制化功能,并满足特定的业务需求。
2. 优化原系统的权限管理模块,增强系统的安全性和稳定性。
3. 重构原系统的报表模块,实现业务报表的定制化功能。
4. 对原系统的库存管理模块进行优化,提高系统的性能和稳定性。
III. 项目源代码及详细说明1. 新增功能模块:客户需要系统新增一个产品价格管理模块,方便他们随时根据市场需求调整产品的价格。
我们在系统中增加了产品价格管理的功能模块,客户可以在这个模块中根据自己的需求,对产品的价格进行调整。
以下是新增功能模块的主要源代码及详细说明:```python# 产品价格管理模块import datetimefrom django.db import modelsclass Product(models.Model):name = models.CharField(max_length=100, verbose_name='产品名称')price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='产品价格') create_time = models.DateTimeField(default=datetime.now, verbose_name='创建时间')class Meta:verbose_name = '产品'verbose_name_plural = verbose_name# 增加产品价格调整记录模型class PriceAdjustRecord(models.Model):product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name='产品')old_price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='调整前价格')new_price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='调整后价格')adjust_time = models.DateTimeField(default=datetime.now, verbose_name='调整时间')class Meta:verbose_name = '价格调整记录'verbose_name_plural = verbose_name```上面的代码是在原系统中新增的产品价格管理模块的源代码。
【必看】微擎应用模块二次开发文档和初级教程手册
【必看】微擎应⽤模块⼆次开发⽂档和初级教程⼿册01.微擎的应⽤模块⽂件夹是addons,所有微擎应⽤模块都在这个⽂件夹⾥⾯。
02.运⾏环境推荐PHP版本5.6以上,mysql5.6,操作系统最好是Linux(centos)。
03.微擎允许对外公开访问的⽂件,就三个,分别是根⽬录api.php(微信开发者URL地址),/web/index.php(电脑端),/app/index.php(⼿机端)。
04.微擎的数据库等配置信息,放置在:/data/config.php⽂件中。
05.在微擎的manifest.xml配置⽂件中,direct的属性值要设置为0,⽐如:<entry * direct="0">,如果设置成1,有可能出现不经过⾝份权限验证,就可以直接访问。
06.微信开发者URL地址那⾥接收到微信推送过来的数据,主要⽤processor.php⽂件来响应。
07.addons/zhiwu55com/template/*,这个⽂件夹下⾯都是电脑端的模块⽂件。
08.addons/zhiwu55com/template/mobile/*,这个⽂件夹下⾯都是⼿机端的模块⽂件,⽐如:链接应⽤⼊⼝的那些页⾯模块⽂件,都在这个⽂件夹下⾯。
09.微擎的数据表,默认以ims_开头。
10.常量:IA_ROOT,微擎程序安装⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn,注意:返回的值最后没有斜杠。
11.常量:ATTACHMENT_ROOT,微擎程序附件⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn/attachment12.常量:MODULE_ROOT,当前模块⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn/addons/hzw_zhiwu13.当需要引⼊include⽂件的时候,尽量以IA_ROOT为基准路径引⼊,⽐如:include_once IA_ROOT .'/addons/wwwzhiwu55cn/inc/hzw.class.php'14.$_W(⼤写W),是系统中最为重要的全局变量,微擎系统中很多常⽤的数据都存储在这个变量之中15.$_GPC,全局请求变量,获取 $_GET,$_POST,$_COOKIES 中的变量,即$_GPC=array_merge($_GET,$_POST,$_COOKIES);16.$_W[‘siteroot’],⽹站URL根⽬录,⽰例值:/17.$_W[‘siteurl’],原始链接,⽰例值:/web/index.php?m=xxx&c=yyyy&do=hzw,即当前浏览器地址栏那⾥的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
openmeetings十万个如何(不断更新)事先声明,我用的是最新的openmeetings源码(包括客户端与服务端),最新版本openmeeting是有多种风格默认为蓝色一.如何绕过登陆找到base\auth\checkLoginData.lzx,在第一个oninit加上this.login()<handler name="oninit">this.pressEnter = new LzDelegate(this, "login");lz.Keys.callOnKeyCombo(this.pressEnter, ["enter"]);lz.Focus.setFocus(ername,true);this.login();</handler>这样,一进入登陆界面就会自动登陆.二.如何传参数给openmeetings如http://localhost:5080/openmeetings/index.jps?userName=土匪&pwd=123可以修改index.jsp,在openmeetings for java的源码找到它var so = new SWFObject("main.lzx.swf8.swf", "lzapp", "100%", "100%", "8", "#ffffff");so.addParam("quality", "high");so.addParam("id", "lzapp");so.addParam("allowScriptAccess", "always");so.addParam("scale", "noscale");so.addVariable("yxUserName",'<%=request.getParameter("userName")% >');so.addVariable("yxUserPass",'<%=request.getParameter("pwd")%>');so.write("flashcontent");以上so.addVariable是我加的,就是把传过来的用户名与密码加入到openlaze 中,这里的yxUserName与yxUserPass在openLaze中是全局变量三.如何把传过来的参数,即用户名与密码直接录入到输入框中,来达到真正意义的跳转找到base\auth\checkLoginData.lzx,<method name="login" args="item">if (this.b2.visible) {ername.setAttribute("text",yxUserName);erpass.setAttribute("text",yxUserPass);this.b2.onclick.sendEvent();} else {this.b3.onclick.sendEvent();}</method>在里面加上ername.setAttribute("text",yxUserName);erpass.setAttribute("text",yxUserPass);四,如何在登陆后直接跳入到演讲界面找到base\navi\mainNavi.lzx在最下面<handler name="oninit"><![CDATA[var value = this.naviObject;for (var i=0;i<value.length;i++){var t1 = newlz.mainMenuMeetingsItem(this.itemlist,{textvalue:value[i].name,list :value[i].mainnavi,isleaf:value[i].isleaf,text:value[i].label.value,textToolTip:value[i].t ooltip.value,action:value[i].action});// if (i==0) t1.onclick.sendEvent();if (i==2) t1.onclick.sendEvent();//Debug.write("t1: ",t1);}//Debug.write("this: ",this);]]></handler>我现在已经把i=0改为了i=2,这样就直接进入到演讲之前的一个界面,接着我们就是触发进入按钮就OK了注意,还可以把i改成i=1,i=3找到modules\conference\conference\roomListItem.lzx<simpleLabelButton name="enter_name" labelid="131" x="300" width="160" height="30" y="17"onclick="parent.checkConditionsWhenButtonClicked(this)"><view resource="go_jump_rsc" x="$once{ parent.width-24 }" y="6" /></simpleLabelButton>加入了一个name="enter_name",原来是没有再把最前面<handler name="oninit">方法的最后加入一句enter_name.onclick.sendEvent();ok,现在就可直接进入到演讲界面openmeeting 安装另一篇Red5 , 视频会议GgNET 08月 20th. 2008, 1:43am(一)好了,开始吧。
首先我们需要用到以下东东:1. JDK 1.5或以上版本 - 这个就不说了,以下所有东西都是基于它的。
2. Red5 - 开源Flash服务器,用来替代FCS/FMS,毕竟License还是有些贵的,呵呵。
这里有信息和下载/red53. OpenMeetings - 开源视频会议系统,基于OpenLaszlo开发。
这里有信息和下载/p/openmeetings/4. OpenLaszlo- 开源的富客户端应用开发平台(有点长,呵呵,用它的话来说是the premier open-source platform for rich internet applications)。
这里有信息和下载:/5. MySQL或者其他数据库 - 必须是Hibernate支持的数据库6. SVN - 著名的版本管理工具Subversion,用来下载OpenMeetings的源代码的。
Windows下推荐TortoiseSVN,这里下载:/ 。
Liunx就直接命令行吧,呵呵。
喜欢用Eclipse的兄弟也可以用Subclipse插件/7. 没有第7个东西要下载了好了上面是需要用到的项目,我们先来部署一次看看效果。
下面是部署过程,我们暂时不需要用到Laszlo和SVN1. 先装JDK(注意要是1.5.0以上),这个到处都有教程,就不说了。
注意装完以后要设置JAVA_HOME到JDK路径。
2. 根据你的系统下载red5的安装包,然后傻瓜式安装3. 从OpenMeetings下载一个已经打包好的应用(/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来进行管理。
同时提供白板可以画画,还可以共享桌面,呵呵。
先玩玩看看效果吧,晚点我再介绍修改。
(二)看了效果后如果有兴趣,我们就可以开始着手修改OpenMeetings了。
要修改当然先是要拿到源代码了。
我们先大致了解一下OpenMeetings的源代码结构。
OpenMeetings分为两部分:一部分是客户端,由OpenLaszlo和一些Flash 文件组成,负责生成最终的客户端swf文件;另一部分是服务器端,由Java代码编写而成。
我们必须分别下载并编译这两个部分,注意这两个部分版本必须一样。
下面分别说明这两个部分的部署过程。