关于CMS的那点事 I

时间:2022-05-02 02:20:15

CMS是Content Management System的缩写,意为“内容管理系统”。CMS其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。

分类

  
根据不同的需求,CMS有几种不同的分类方法。比如,根据应用层面的不同,可以被划分为:   

  • 重视后台管理的CMS   
  • 重视风格设计的CMS   
  • 重视前台发布的CMS

就目前已经存在的各种CMS来说,最终界面上都是大同小异,但是在编程风格与管理方式上来讲却是千差万别。

就CMS本身被设计出来的出发点来说,应该是方便一些对于各种网络编程语言并不是很熟悉的用户用一种比较简单的方式来管理自己的网站。这虽然是本身的出发点,但由于各个CMS系统的原创者们自己本身的背景与对“简单”这两个字的理解程度的不同,就造成了现在没有统一的标准群雄纷争的局面。   

简而言之,CMS就是可以让你不需要学习复杂的建站技术,不需要学习太多复杂的HTML语言,你就能够利用CMS构建出一个风格统一功能强大的专业网站。

功能

CMS具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。 CMS的功能并不只限于文本处理,它也可以处理图片、Flash动画、声像流、图像甚至电子邮件档案。   

CMS还分各个平台脚本种类的。内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场,对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解:

  • Gartner Group 认为内容管理从内涵上应该包括企业内部内容管理、Web内容管理、电子商务交易内容管理和企业外部网(Extranet)信息共享内容管理(如CRM和 SCM等),Web内容管理是当前的重点,e-business和XML是推动内容管理发展的源动力。   

  • Merrill Lynch的分析师认为内容管理侧重于企业员工、企业用户、合作伙伴和供应商方便获得非结构化信息的处理过程。内容管理的目的是把非结构化信息出版到intranets, extranets和ITE(Internet Trading Exchanges), 从而使用户可以检索、使用、分析和共享。商业智能系统 (BI)侧重于结构化数据的价值提取,而内容管理则侧重于企业内部和外部非结构化资源的战略价值提取。   

  • Giga Group 认为作为电子商务引擎,内容管理解决方案必须和电子商务服务器紧密集成,从而形成内容生产(Production)、传递(Delivery)以及电子商务端到端系统。

CMS 诞生的背景

随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合……   

于是,我们听到许多用户这样的反馈:

  • 页面制作无序,网站风格不统一,大量信息堆积,发布显得异常沉重;
  • 内容繁杂,手工管理效率低下,手工链接视音频信息经常无法实现;
  • 应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;
  • 改版工作量大,系统扩展能力差,集成其它应用时更是降低了灵活性;

对于网站建设和信息发布人员来说,他们最关注的系统的易用性和的功能的完善性,因此,这对网站建设和信息发布工具提出了一个很高的要求。   

首先,角色定位明确,以充分保证工作人员的工作效率;其次,功能完整,满足各门道"把关人"应用所需,使信息发布准确无误。比如,为编辑、美工、主编及运维人员设置权限和实时管理功能。   

此外,保障网站架构的安全性也是用户关注的焦点。能有效管理网站访问者的登陆权限,使内网数据库不受攻击,从而时刻保证网站的安全稳定,免于用户的后顾之忧。   

根据以上需求,一套专业的内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题和需求。对网站内容管理是该软件的最大优势,它流程完善、功能丰富,可把稿件分门别类并授权给合法用户编辑管理,而不需要用户去理会那些难懂的SQL语法。
发展
  
  
内容管理从2000年开始成为一个重要的应用领域,这时.COM和B2B, B2C等经历了资本和市场的考验及洗礼,人们重新回到信息技术应用的基本面-如何提高竞争能力,而内容管理恰恰能够通过对企业各种类型的数字资产的产生、管理、增值和再利用,改善组织的运行效率和企业的竞争能力,企事业单位也开始认识到内容管理的重要性。   

从企事业单位信息化的观点来看,以下因素导致对内容管理软件的巨大需求:

知识是企业的财富。   

在Internet交互过程中,只有十分之一涉及销售,其他十分之九都和信息交互有关,员工的知识获取越来越依赖于互联网,特别是在电子商务的个性化环境中,客户为了做出购买决定,需要智能化地获取信息,不仅仅是商品的数量和价格,更重要的可能是产品的手册、安全保证、技术指标、售后服务、图片文件等等。   

信息的及时性和准确性。

无论在企业内网还是外网,信息的更新越来越快,企事业单位的信息生产量越来越多,且呈现成倍增长的趋势,企事业单位更需要的是一个功能强大、可扩展的、灵活的内容管理技术来满足不断的信息更新、维护,这时如何保证信息的准确性和真实性将越来越显得重要。   

企业内外网统一的需求增长。

随着企事业单位信息化的建设,内联网和外联网之间的信息交互越来越多,优秀的内容管理系统对企业内部来说,能够很好地做到信息的收集和重复利用以及信息的增值利用, 对于外联网来说,更重要的是真正交互式和协作性的内容。

CMS 的困局

由于CMS的发展一直是各自为政,以至于没有一种统一的行业标准。各家各派也互相仿造,或是不断完善各自的功能,以最终实现:Full Stack CMS - 大而全的内容管理平台,换句话说就是CMS厂家希望通过“全功能”增强用户的忠诚度,通过全功能实现就能用一个CMS构造一切类型的网站,至少这是所有的CMS官网上最为为一至的宣传口号。

一但Full Stack成为CMS的设计哲学,那么就意味着这类CMS必然是航空母舰级别的重武器,这意味着要驾驭这些尼米芝级的庞然大物就需要付更多的时间与精力去学习它们所提供的一切功能,其学习曲线之陡峭可想而知。讽刺的是,很多的站长或者是开发者可能需要的只是小船他们选择CMS的初衷可能只是一个文字型的发布平台或是纯产品信息型的平台,建立网站就是不想学HTML/javascript/css等各种的常规技术。

号称使用了CMS就不用重复*的开发商们难道不清楚这一点?答案显然是否定的。因为要开发能盈利的CMS产品只能做全功能型,无论客户是否需要这些功能,统统都要提供,否则买不了价,这是其一。其二是CMS本来就是一种需求边界模糊的平台产品,CMS如果不与实际的应用需求相结合将一无事处,充其量只能是一个建立博客网站的网站而已。

对于选择CMS的忠告

本人在CMS这个领域也打滚了10多年,对此也是深表无耐也深刻地理解这个行业所处于的困局。对于正在选择的CMS的的用户我想提出几点忠告:

非专业的IT

对于非专业IT用户那么最好的选择就是花点钱购买专业应用领域所提供的建站服务,这可能是最省钱同时也是最省心的途径吧。

对于站长和专业IT人

认清自己到低要干什么,无论选用哪种CMS搭建网站的代价都是巨大的,即使所选择的CMS是开源的,因为从学习曲线与运营维护成本而言往往采用CMS的成本并不比自己在网上下个静态HTML模板建立站点来得低,因为学习成本可能只是HTML而CMS的学习成本可能需要有一本200页以上的使用说明。

如果你有清晰的需求的话,建议选择用专用的网站平台而不是在CMS上自己构建。要建博客可以用WordPress, 建电子商务网站可以选Opencart (PHP),Shopify (ROR)又或者是Django shop (Python)这一类兼容性与功能性俱全的专用平台。

对于开发者

主流的CMS基本上都可以二次开发,然而学习一个主流CMS可能比学习一个开发平台所耗费的时间更多,而且所引入的风险更高。可以用实践去做一个对比,Web2Py, Flask, Rails 这些平台基本上一安装然后配备好可选件后基本上已构成最小的CMS基架了,那可必再曲线救国呢?当然这是可能仅仅是对Python和Ruby的开发者而言,对于以NodeJS, C# 或是 Java而言可能CMS会是一种节省时间的选择。

结语

好吧,似乎这些忠告有点诋毁CMS的可用性,但我的愿意并不如此。最近一直在反思CMS的发展与我们的项目的应该向如种方向推荐的问题,有感而发,同时也是给自己作一点总结。本文也只作为一个引子,后续还打算写一个系列关于CMS的文章,敬请期待吧。

关于CMS的那点事 I的更多相关文章

  1. CMS模板引擎:XHtmlAction

    前言: 先说说大伙关心的工作上的事,在上家公司任了一个多月的技术经理后,和公司中止了合作关系. 主要原因在于一开始的待遇没谈的太清楚: 1:没有合同,没有公积金,连社保也没交. 2:工资的30%变成了 ...

  2. Orchard 微软CMS项目介绍

    我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非 ...

  3. 屌丝程序员的梦想 (六) 我也写个开源CMS

    离开上家公司之后,我没急着找下家公司,一直以来都是为公司做各个细小的功能却没有属于自己的完整的项目 思来想去,我准备用自己熟悉的thinkphp 和 extjs写一个开源的cms,从用户系统,文章系统 ...

  4. JVM实用参数(七)CMS收集器

    HotSpot JVM的并发标记清理收集器(CMS收集器)的主要目标就是:低应用停顿时间.该目标对于大多数交互式应用很重要,比如web应用.在我们看一下有关JVM的参数之前,让我们简要回顾CMS收集器 ...

  5. .NET P****** CMS 逆向工程

    (应一些园友建议,我把敏感字段去掉) 其实当初我的目的是很纯洁的,只是想找一个简单的网站生成模板,由于对.net更熟悉一点,就去搜索了.net框架的CMS,看它的介绍挺强大的,符合最初的目的,但是下下 ...

  6. Orchard是一个了不起CMS(内容管理系统)

    在这个系列中,我们将共同经历从头开始构建一个Orchard模块的过程! 虽然Orchard是一个了不起CMS(内容管理系统),有着强大的功能和令人振奋的架构,可以无限的扩展,但它可能需要花费一定时间, ...

  7. .NET PageAdmin CMS

    .NET PageAdmin CMS 完全破解步骤(非简单去版权) 其实当初我的目的是很纯洁的,只是想找一个简单的网站生成模板,由于对.net更熟悉一点,就去搜索了.net框架的CMS,看它的介绍挺强 ...

  8. 垃圾收集器Serial 、Parallel、CMS、G1

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt378 这里介绍4个垃圾收集器,如果进行了错误的选择将会大大的影响程序的性能. ...

  9. 网络搬砖是件苦力活 CMS推荐GHOS博客程序

    搬砖不是技术活,而是苦力(bi)活,富有技术含量的苦力活说不定就是一门可以持续的生意. 我们不生产内容,我们只是互联网的内容搬运工,这是大部分不具备原创能力个人站长的心声.虽然原创能力不够,但是服务目 ...

随机推荐

  1. 对于JSP的调试

    在eclipse中调试JSP 我换了图片但是网页中的图片却不变化 我删了工程里的图片还是没用 看了一下Tomcat根目录..貌似也是没有的.. 最后我考虑换了HTML中图片的名字..并且更改了替换的图 ...

  2. 区别ie8和ie9的方法

    众所周知 区别ie6~8的方法是: width:10px;//chrome width:10px\9;//ie8+ *width:10px;//ie7 _width:10px;//ie6 区别ie8以 ...

  3. Linux应用程序的地址布局

    转载自:http://blog.csdn.net/embedded_hunter http://www.360doc.com/content/12/0405/00/1671317_200882538. ...

  4. java时间格式转换

    package org.shineway.com; import java.text.ParseException; import java.text.SimpleDateFormat; import ...

  5. UserControl 用户定义组件

    <pages> <namespaces> <add namespace="System.Web.Optimization" /> </na ...

  6. 监控 redis 执行命令

    监控 redis 执行命令 Intro 最近在用 redis 的时候想看看执行了哪些命令,于是发现了 redis-cli 提供的 Monitor 命令,直接使用这个就可以监控执行的大部分 redis ...

  7. Spring Cloud Vault介绍

    https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247484838&idx=1&sn=6439ed96133dde ...

  8. 大数据入门到精通13--为后续和MySQL数据库准备

    We will be using the sakila database extensively inside the rest of the course and it would be great ...

  9. c&num;调用dll接口传递utf-8字串方法

    1. 起源: VCU10之视频下载模块,采用纯python编码实现,c++代码调用pythonrun.h配置python运行环境启动python模块,编译为dll给c#调用,以使界面UI能够使用其中功 ...

  10. linux mysql表名大小写

    1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 0:区分大小写,1:不区分大小写 3.重新启动数据库即可