云端的Java开源共享论坛 ---- XLineCode 0.9.4 正式版发布!欢迎大家下载。
此次版本升级主要针对附件上传代码做了大量优化,将附件上传代码整合进info-core中的AttachmentService中。分别提供uploadInfoEmbededImage和uploadAttachment上传内嵌主题内容的图片和单独的附件,同时复用uploadAttachment将用户头像上传相关代码整合进UserService,使附件上传和头像更换仅使用API调用就能完成,大量简化了业务开发的代码量。针对附件上传所作的另一个优化是同时兼容了本地文件系统和百度云存储(未来会加入更多云存储的选择),使用XLineCode源码建站的朋友仅需在以下配置间切换即可简单切换需要使用的文件系统:
百度云存储配置:
upload.file.system=BCS
upload.root=/upload
avatar.root=${upload.root}/avatar
百度云存储相关的“用户”“密码”等必要信息:
bcs.access.key=CkBc7E3REQ14wsHBkOKiFQWF
bcs.secret.key=7pvowlxn7vGcfy175jqYLV8sqffuwHZv
bcs.bucket=xlinecode
bcs.host=bcs.duapp.com
本地文件系统配置(默认指向用户根目录):
upload.file.system=LOCAL
upload.root=${user.home}/XLineCode/upload/
avatar.root=${upload.root}avatar
此次版本所作工作的另一个重点是:
1. 将info-core的jar发布至开源中国Maven镜像站 ,通过XLineCode进行二次开发的猿们只需更新Maven Pom中对于的版本信息即可轻松获取最新代码。
2. 源码迁移至开源中国代码托管中心,需看源码的朋友可以点击此查看。
关注我们将获得:
模块化的工程管理模式
单元测试的概念及应用范畴
业务核心与内容展现剥离的开发模式(分别对应info-core和XLineCode)
经典的Spring DI和AOP的事务、安全方面的应用
基于Spring Security的登录架构
零SQL的Hibernate开发
配置灵活及扩展方便的业务框架支持
最前沿、最热门技术的实战案例
发现不断演变优化的开发过程
云特性:
自版本0.9.3开始系统全面使用云资源。
系统部署在最热门的开源云主机Openshift上
图片和附件数据保存在百度云存储
系统源码存放在git.oschina.net
使用CloudFlare CDN进行网站提速
以上资源均为免费资源,任何想要使用XLineCode代码进行建站的用户即可零成本搭建网站
迁移简便 -- 系统可在SAE、GAE和BAE上自由切换而无需迁移用户图片和附件数据
架构特性:
业务核心与数据展示层相剥离。XLineCode使用info-core中的api完成主题列表展示、创建主题、添加回复、审核内容、移动主题等一系列功能。
两层用户Session管理:info-core中使用了自定义的UserSession记录系统内的用户登录信息并使用定时器检查已过期的UserSession。通过与Spring Security框架中的Authentication和Authorization Manager相结合,在info-dms中的服务层嵌入AOP的角色,即在系统核心处理了角色的定义与相关服务调用的权限问题。
大量使用AOP进行功能配置权限的处理,使功能配置权限独立存在于一个工程模块中 -- info-security。
可扩展性:采用Spring IOC配置的方式在SystemContextService中设置多个模块配置文件,完全导入该扩展模块所需的对象模型、业务AOP等,具体请参考info-ext-ranking模块。
采用Spring Security Web模块中的filter实现系统登录、登出、自动登录,同时无缝对接info-core中的SessionManager,使Spring Security架构本身的filter与Security框架中的Authentication和Authorization Manager接合。
使用核心中的SessionManager实现用户在不同设备登录时自动退出上一登录设备。
采用JUnit和H2数据库编写了196个测试用例覆盖info-core中的核心业务。
采用Maven管理10大核心模块。
功能特性:
用户登录唯一性
主题论坛内、论坛区内及系统内置顶。
系统语言、提示国际化。
站内私信。
主题、回复内容审核。
主题论坛间移动。
附件上传。
用户登录、注册及附件下载验证码后台开关。
升级功能:
添加文章标签,针对html中额meta、description类型header信息进行搜索引擎优化
调整页面布局
AttachmentInfo添加FileType属性区分经CKEditor上传的图片和通过附件功能上传的文件
发表主题、回复后使用redirect跳转,以防止刷新页面时的表单重复提交提示。
用户登陆、注册及内部附件下载加入印象码验证
将Spring Security的基于数据库验证的自动功能改为使用基于Token的机制,解决登陆时记住密码失效的bug
将js、css等静态资源重新配置,避免Struts及Spring的Web.xml中的filter拦截。
添加百度分享
添加官方新浪微博
整理百度云存储、印象码账户信息配置。
将附件上传及用户头像设置相关代码整理到info-core
点击查看安装详情
关于XLineCode
XLineCode是部署在开源云服务厂商Openshift云主机上的Java开源社区,其主旨在于通过分享前人的学习、探索、领悟和工作经验帮助后来者以更少的时间更快更深入的理解一门技术、框架的思想和目的。XLineCode的最大魅力在于运营所使用的全部代码是完全开源的,其架构基于主流的Spring和Hibernate框架,追求使用规范的软件标准来设计、开发、测试、部署和发布产品以打造一个结构清晰、耦合度底、灵活而又易以维护的系统,为同行提供一个良好的软件开发参考范例,同时在站内不断更新其在运营衍化中获取的经验与信息,致力于在社区内营造形而向上学习谈论氛围。
点击查看XLineCode详细介绍
项目
如果在使用、测试中发现任何问题,如果您有任何意见或建议,请告知我们 :-)
源码地址:
XLineCode源码:http://git.oschina.net/XLineCode/XLineCode
XLineCode所使用的业务核心API源码:http://git.oschina.net/XLineCode/info-project
源码及应用下载地址:xlinecode 0.9.4版本下载http://www.xlinecode.com/displayResponses.do?forumId=36&topicId=1046
来自:开源中国社区

