设为首页 收藏本站
查看: 1127|回复: 0

[经验分享] 内容管理系统概述(c)

[复制链接]

尚未签到

发表于 2017-2-19 06:07:40 | 显示全部楼层 |阅读模式


内容管理系统是一个很泛的概念:从商业门户网站的新闻系统到个人的Weblog都可以称作发布系统。

  • 框架型:本身不包含任何应用实现,只是提供了底层框架,具体应用需要一定的二次开发,比如Cocoon,Vignette;
  • 应用型:本身是一个面向具体类型的应用实现,已经包含了新闻/评论管理,投票,论坛,WIKI等一些子系统。比如:postNukexoops等;
  但无论如何,在发布系统选型之前,首先了解自己的实际需求是最重要的:想根据现成系统将自己的需求硬往上照搬是非常不可取的。访问量,权限控制和各种功能需求。每个模块和功能自己都比较清晰一点以后,再去网上找找类似的实现:你会发现其实每个环节到目前上都有比较成熟的实现了,而且还在不断完善和发展中,如果没有:你的需求太特殊,或者可以尝试分解成更小的系统组合实现。

  内容管理系统被分离成以下几个层面:各个层面优先考虑的需求不同



  • 后台业务子系统管理(管理优先:内容管理):新闻录入系统,BBS论坛子系统,全文检索子系统等,针对不同系统的方便管理者的内容录入:所见即所得的编辑管理界面等,清晰的业务逻辑:各种子系统的权限控制机制等;
  • Portal系统(表现优先:模板管理):大部分最终的输出页面:网站首页,子频道/专题页,新闻详情页一般就是各种后台子系统模块的各种组合,这种发布组合逻辑是非常丰富的,Portal系统就是负责以上这些后台子系统的组合表现管理;
  • 前台发布(效率优先:发布管理):面向最终用户的缓存发布,和搜索引擎spider的URL设计等……

      内容管理和表现的分离:很多成套的CMS系统没有把后台各种子系统和Portal分离开设计,以至于在Portal层的模板表现管理和新闻子系统的内容管理逻辑混合在一起,甚至和BBS等子系统的管理都耦合的非常高,整个系统会显得非常庞杂。而且这样的系统各个子系统捆绑的比较死,如果后台的模块很难改变。但是如果把后台各种子系统内容管理逻辑和前台的表现/发布分离后,Portal和后台各个子系统之间只是数据传递的关系:Portal只决定后台各个子系统数据的取舍和表现,而后台的各个子系统也都非常容易插拔。
      内容管理和数据分发的分离:需要要Portal系统设计的时候注意可缓存性(Cache Friendly)性设计:CMS后台管理和发布机制,本身不要过多考虑“效率”问题,只要最终页面输出设计的比较Cacheable,效率问题可通过更前端专门的缓存服务器解决。
      此外,就是除了面向最终浏览器用户外,还要注意面向搜索引擎友好(Search engine Friendly)的URL设计:通过URL REWRITE转向或基于PATH_INFO的参数解析使得动态网页在链接(URI)形式上更像静态的目录结构,方便网站内容被搜索引擎收录;

---------------    ---------------     ---------------                    

|新闻管理子系统|   | BBS论坛子系统|    | 商城子系统  |                    

---------------    ---------------     ---------------                    

|       \     /    |     \           /   内                        

|        ----------|---   \         /    容   <== 业务子系统(零件生产)

|           /      |   \   \       /     管                        

---------------      |    ---------------  理                        

|专题制作子系统|     |    |全文检索子系统|                           

---------------      |    ---------------                             

\       |          /                                    

-------------------------|---------------------------------------------   

\     |        /            频                        

---------------             道   <== Portal系统(产品组装)

| Portal 系统 |             管                        

---------------             理                        

|                                                

-------------------------|---------------------------------------------   

|                     前                        

|                     台   <== 发布系统(分发代理)  

---------------              发                        

|前台发布系统 |              布                        

---------------                                         

/        \                                            

/          \                                          

---------------      ---------------                                

| 用户浏览器   |     |Search Engine|                                

---------------      ---------------                                




这里,我把在内容发布系统选型中找到的一些资料总结如下:

    内容管理系统的选型
      关键词:CMS Content Manage System

      CMS行业研究
    http://www.cmswatch.com/
    http://www.cmsreview.com/
    http://www.cmsinfo.org/


    CMS讨论邮件列表
    http://www.cms-list.org/  商业软件和开源项目列表:
    http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/

      推荐:基于XML的发布框架
    http://cocoon.apache.org/

      具体实现复杂程度可能会根据需求的不同而不同,但越是大型的系统越是需要分工:将内容(数据),表现(模板)和应用逻辑(程序)尽可能分离和对这3 者的管理。

      Portal---门户系统
    Open source Projects:
    http://jportlet.sourceforge.net/
    Apache Software Foundation: Jakarta JetSpeed 1.3
    JetSpeed home page: http://jakarta.apache.org/jetspeed/site/index.html
    JetSpeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
    http://www.liferay.com/home/index.jsp
    http://basicPortal.com/
    http://www.jahia.org/
    http://jporta.sourceforge.net/
    商业软件:
    BEA WebLogic Portal - http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
    IBM Websphere Portal - http://www.software.ibm.com/wsdd/zones/Portal/
    Oracle Portal Developer Kit - http://Portalstudio.oracle.com/
    其它:
    PSML - http://jakarta.apache.org/jetspeed/site/psml.html
    BEA: Web Logic Portal 4.0 http://www.bea.com/products/weblogic/Portal/index.shtml
    IBM: WebSphere Portal 2.1 http://www-4.ibm.com/software/webservers/Portal/
    iPlanet: iPlanet Portal Server 3.0 http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
    Oracle: Oracle 9i Portal http://www.oracle.com/ip/deploy/ias/Portal/index.html
    SAP Portal: http://www.iviewstudio.com/
    Epicentric Portal: http://www.epicentric.com/solutions/products/efs/
    参考:
    Wafer:Java开发框架研究
    http://www.waferproject.org/index.html
    门户(Portal)系统相关开发框架:
    http://udoo.51.net/mt/archives/000011.html


    广告管理系统
      关键词:ad server
      广告系统和内容的分离,可以大大降低系统之间的关联度。
    专业行业研究网站:
    http://adres.internet.com/
    相关厂商和开源项目:
    http://directory.google.com/Top/Computers/Programming/Languages/PHP/Scripts/Ad_Management/?il=1
    http://directory.google.com/Top/Computers/Software/Internet/Servers/Advertising/?tc=1
    http://www.jspin.com/home/apps/admanage?cob=winedit
    http://www.scriptdex.com/dex/php_ad_management.shtml

      推荐:
    http://www.phpadsnew.com/ 功能性比较强
    http://oasis.sourceforge.net/ 免费 基于日志记录和定期导入MYSQL统计,可以负载50万请求/每小时 以上
    如果看重广告的第3方特性,可以选择第三方服务:
    http://www.doubleclick.net/
    http://www.allyes.com/


    论坛/社区系统

    关键词: BBS FORUM
    论坛软件介绍:
    http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/
    推荐:
    http://www.phpbb.com/ PHP + MySQL open source
    http://www.vbulletin.com/order/ PHP + MySQL  有付费的商业支持85-160$
    http://www.jivesoftware.com/products/pricing.jsp 商业论坛系统,1000$-2500$ 有知识库扩展应用
    http://yazd.yasna.com/features.jsp 基于 Java
    所见即所得(WYSIWYG)编辑器

          在内容的录入管理方面,所见即所得是比较重要的,这样可以大大简化对系统中布局排版的需求。
          基于浏览器的WYSIWYG(所见即所得)编辑器是CMS设计中,编辑工具的主要考虑方面。目前主要是通过JAVASCRIPT调用IE或其他浏览器的内置方法实现。其中基于IE5.5浏览器的实现最为简洁。这里有一个完整的例子:
    Building a WYSIWYG HTML Editor Part 1/2
    Building a WYSIWYG HTML Editor Part 2/2
    主要功能:

    • 能够通过JAVASCRIPT实现的基本功能:加粗,斜体字,居中,添加链接,添加图片,模式切换:HTML和文本模式的切换,
    • Word垃圾代码过滤
    • 图片上载接口:图片上载最好通过其他独立模块实现。

    选型指标:

    • 不依赖服务器端代码:只通过JAVASCRIPT或客户端控件实现代码,可以保证以后系统迁移的方便。
    • WORD垃圾代码过滤

    可视化编辑器大全:
    http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html
    推荐:
    http://www.aine.be/aynhtml/
    图片/文件上传组建

          图片和文件等非结构化数据还是分别使用另外的服务解决比较好。这样可以大大简化CMS本身的复杂程度。
    推荐:
    文件上传:
    Apache Commons项目
    http://jakarta.apache.org/commons/
    ImageJ:图片处理缩略图生成和水印等
    http://rsb.info.nih.gov/ij/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-343974-1-1.html 上篇帖子: Web Services的魅力 下篇帖子: Servlet与WebService关系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表