Open OA 2
工作太忙啊,花在学习和写代码上的时间太少了。
系统简介:
以前发布过一个ooa,基本上是我学习java和seam的结果,现在把这个系统重新写了一片,这个版本基本上是学习另外一些新东西的结果。最终还是放弃了portletbridge,毕竟这么简单的系统加上portal,实在太复杂了。
使用groovy的第一目的是开seam的debug模式后很多代码保存后就立即生效,开发效率大大提高。当然这和使用linux是有绝对关系的:我将所有除entity以外的groovy代码都放到WEB-INF的dev目录,为了配合eclipse和maven,还将其连接(ln -s)到web/src/main/java目录使得eclipse可识别,再从eclipse的workspace连接(ln -s)groovy代码到部署好的ear中,这样就仅仅在eclipse中save后就在jboss中立即生效了。当然,这样的处理方法也包括xhtml文件等等。
第二目的是groovy写的entity真的很简洁,维护上就简单太多了。
使用groovy的缺陷是eclipse对groovy的支持不够好,机器要求较高,开发环境系统反应较慢。不过经过编译过的groovy代码和java在速度上没什么区别。
主要功能:
1、公文交换
文件起草、发文审核、文件查询、发文统计、收办文超时统计、文件版本管理、办件查询。
Doc格式文件直接识别为html格式,可在收文后直接预览文件内容(格式为html),自动识别文件标题、文号并填入表单。
2、信访处理
发文以pdf格式显示,统计结果以excel格式下载,含统计表和事件表。
3、门户网站
栏目管理、门户管理、投票系统、栏目和门户分配。
门户前台部分使用了jbosscache,后台有相应的cache处理。
包含使用red5为服务器的视频栏目处理、利用系统的mencoder可自动转换部分视频为flv并生成截图。
前台自动生成利用flowplayer播放的代码。
利用系统的pacpl可自动转换部分音频为mp3。
网站模板采用区域模式,栏目可任意调整区域。网站模板制作只需要定义区域布局。
4、组织机构
机构、人员管理、人员调动、角色管理、角色变更、兼职管理、部门切换。
5、个人事务
个人信息、主题变更、通讯录。
6、在线交流(IM)
在线聊天、文件传输、音乐播放。
7、待办事宜
8、RSS
系统架构:
OpenOffice+jodconverter(文件转换)
red5 0.8+flowplayer
mencoder(视频转换)
pacpl(音频转换)
jboss-4.2.2GA
postgresql-8.3
seam2.2.0.GA
jsf1.2_13
richfaces3.3.2.CR1
groovy-all1.6.4
maven2 2.2.0
开发环境:
ubuntu9.04
java-6-ibm
eclipse 3.5 (galileo)
groovy-eclipse plugin
Maven Integration for Eclipse
jbosstools
firefox
系统预览:
门户预览:
版权声明:
虽然我也明白这种类型的软件技术含量很低,但是OOA2里面用了很多GPL软件,所以我觉得它也应该尊重GPL协议吧,所以OOA2选择GPL了(v1、v2、v3看哪个最松就哪个)。
源代码:
下面的附件是OOA2的maven2工程的源代码,欢迎拍砖 。