OpenCms 进阶学习其一

想写篇系列文章,都不知该怎么取名,深受JOJO的“荼毒”,它基本每集都是“XX其X”,觉得这样挺有意思的,我也就这样来写了。今后,大家可以通过OpenCms分类目录来查看。

OpenCms的历史

OpenCms最早始于1999年,前身是闭源的MhtCms,算到如今,已经有20年的历史了。在这20年间,我见过无数系统软件的更替,消亡,而它依然存在,其强大的生命力背后,必然有不俗的实力。软件版本虽然从4.0一直升到现在最新的11 Beta,但它的核心一直没变——基于Java和 XML技术,使用基于数据库存储的VFS文件系统管理。当然到现在它也是一个开源免费,可完全用于商业的软件。

OpenCms的功能点

  • 可以建立多个网站,实现网站群的管理。
  • 多语言支持,你可以使用多种方式去实现,如:限制内容类型的语言区域设置、或添加语言子站点。
  • 全功能的用户管理,支持“组织单位”的概念。
  • 内容可以动态提供或导出到静态HTML文件。
  • 可以使用简单的XML模式定义结构化内容。
  • 可以使用离线预览,编辑生产内容;“在线/离线”工作流程非常方便直接。
  • 集成Apache SOLR以实现强大的内容搜索和noSQL类查询。
  • JSP集成,用于模板,非常方便。
  • 可以通过灵活的模块系统添加功能扩展。
  • ... 还有很多,其实只需要掌握JSP模板的编写,功能模块的开发,就已经足够了。

使用OpenCms的感受

OpenCms标榜自己是一个功能丰富,工业级的开源内容管理系统。既可以将它用于小型网站,也可以管理复杂的大型网站,构建Intranet和Internet网站等。它可以在IT基础架构中无缝集成,并且使用Java和XML,基于强大而广泛的技术。

我最早是在2003年底用上5.3的发行版,当时是为了国税的一个网站项目。最初让我们从源码研究,我做JAVA的同事,在查看源代码时,惊为天人,她认为自己这辈子都写不出这么好的代码。而我当时还是做前端页面的,觉得不好用,因为5.3版本还是以XML模板为主,搞得太复杂了,可能是因为那个时代XML大行其道,炙手可热,出了相当多的书籍,甚至还有人认为有XML做数据岛,还要什么数据库之类的言论。经过摸索,做出了个内部网站,前端基本是我写的,功能模块则是当时的老大写的。之后,我通过学习OpenCms的源码,领悟了JAVA编程思想,除了能编写模板,自己也能写功能模块了。在6.X和7.X上开发了不少网站应用,最让我满意的,应该是十多年前自己的博客,opencms中文网和武汉浙科之前的官网。

5.3版本在我看来相当简陋,如果它是想模拟一个文件操作系统的话,它就是WIN3.2,后来的6.X版本界面强了些,算是到了WIN95的水平,其后的7.X才算是到了WIN2003的水准了,而最近接触的10.5.4,支持现代浏览器,进步明显。

以我个人体会,OpenCms就是个功能齐全,可无限扩展的毛坯房。当你兴冲冲的想直接入住时,却完全懵逼,虽然它也提供了Template One、Template Two这样的“简装”,但真不咋地,即便让它引以为豪的Apollo,也是差强人意。程序员的美感,大概只存在于代码中吧:)

所以你想使用OpenCms,先得自己能“装修”,它虽然有很多现成的工具组件,但需要你自己来组装。如果你想完全自主的定制产品:做模板,丰富的前端知识不可少,JSP,JSTL各项技术要会点。做模块,不用说了,要完全掌握JAVA原生态的知识。否则,就需要别人替你“装修”,或是直接使用别人共享的“装修”。

学习是一种乐趣,如果你不畏困难,没有被吓到,想自己动手的话,那就继续跟我看下一篇吧!

希望您能支持我,请随意奖励

0 条评论

发表评论

邮件地址不会被公开,使用QQ邮箱或Gravatar帐号将使用各自头像。必填项已用*标注,请注意,所有评论只有被审核后才可见。

*

code