CMS是Content Management System的缩写,意为“内容管理系统”。CMS实际上是一个很普遍的称呼,从通常的博客程序,新闻发布程序,到综合性的网站管理程序均可以被称为内容管理系统。javascript
根据不一样的需求,CMS有几种不一样的分类方法。好比,根据应用层面的不一样,能够被划分为: css
就目前已经存在的各类CMS来讲,最终界面上都是大同小异,可是在编程风格与管理方式上来说倒是千差万别。java
就CMS自己被设计出来的出发点来讲,应该是方便一些对于各类网络编程语言并非很熟悉的用户用一种比较简单的方式来管理本身的网站。这虽然是自己的出发点,但因为各个CMS系统的原创者们本身自己的背景与对“简单”这两个字的理解程度的不一样,就形成了如今没有统一的标准群雄纷争的局面。 git
简而言之,CMS就是可让你不须要学习复杂的建站技术,不须要学习太多复杂的HTML语言,你就可以利用CMS构建出一个风格统一功能强大的专业网站。github
CMS具备许多基于模板的优秀设计,能够加快网站开发的速度和减小开发的成本。 CMS的功能并不仅限于文本处理,它也能够处理图片、Flash动画、声像流、图像甚至电子邮件档案。 数据库
CMS还分各个平台脚本种类的。内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场,对于内容管理,业界尚未一个统一的定义,不一样的机构有不一样的理解:django
Gartner Group 认为内容管理从内涵上应该包括企业内部内容管理、Web内容管理、电子商务交易内容管理和企业外部网(Extranet)信息共享内容管理(如CRM和 SCM等),Web内容管理是当前的重点,e-business和XML是推进内容管理发展的源动力。 编程
Merrill Lynch的分析师认为内容管理侧重于企业员工、企业用户、合做伙伴和供应商方便得到非结构化信息的处理过程。内容管理的目的是把非结构化信息出版到intranets, extranets和ITE(Internet Trading Exchanges), 从而使用户能够检索、使用、分析和共享。商业智能系统 (BI)侧重于结构化数据的价值提取,而内容管理则侧重于企业内部和外部非结构化资源的战略价值提取。 安全
Giga Group 认为做为电子商务引擎,内容管理解决方案必须和电子商务服务器紧密集成,从而造成内容生产(Production)、传递(Delivery)以及电子商务端到端系统。服务器
随着网络应用的丰富和发展,不少网站每每不能迅速跟进大量信息衍生及业务模式变革的脚步,经常须要花费许多时间、人力和物力来处理信息更新和维护工做;遇到网站扩充的时候,整合内外网及分支网站的工做就变得更加复杂,甚至还需从新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合……
因而,咱们听到许多用户这样的反馈:
对于网站建设和信息发布人员来讲,他们最关注的系统的易用性和的功能的完善性,所以,这对网站建设和信息发布工具提出了一个很高的要求。
首先,角色定位明确,以充分保证工做人员的工做效率;其次,功能完整,知足各门道"把关人"应用所需,使信息发布准确无误。好比,为编辑、美工、主编及运维人员设置权限和实时管理功能。
此外,保障网站架构的安全性也是用户关注的焦点。能有效管理网站访问者的登录权限,使内网数据库不受攻击,从而时刻保证网站的安全稳定,免于用户的后顾之忧。
根据以上需求,一套专业的内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题和需求。对网站内容管理是该软件的最大优点,它流程完善、功能丰富,可把稿件分门别类并受权给合法用户编辑管理,而不须要用户去理会那些难懂的SQL语法。
发展
内容管理从2000年开始成为一个重要的应用领域,这时.COM和B2B, B2C等经历了资本和市场的考验及洗礼,人们从新回到信息技术应用的基本面-如何提升竞争能力,而内容管理偏偏可以经过对企业各类类型的数字资产的产生、管理、增值和再利用,改善组织的运行效率和企业的竞争能力,企事业单位也开始认识到内容管理的重要性。
从企事业单位信息化的观点来看,如下因素致使对内容管理软件的巨大需求:
在Internet交互过程当中,只有十分之一涉及销售,其余十分之九都和信息交互有关,员工的知识获取愈来愈依赖于互联网,特别是在电子商务的个性化环境中,客户为了作出购买决定,须要智能化地获取信息,不只仅是商品的数量和价格,更重要的多是产品的手册、安全保证、技术指标、售后服务、图片文件等等。
不管在企业内网仍是外网,信息的更新愈来愈快,企事业单位的信息生产量愈来愈多,且呈现成倍增加的趋势,企事业单位更须要的是一个功能强大、可扩展的、灵活的内容管理技术来知足不断的信息更新、维护,这时如何保证信息的准确性和真实性将愈来愈显得重要。
随着企事业单位信息化的建设,内联网和外联网之间的信息交互愈来愈多,优秀的内容管理系统对企业内部来讲,可以很好地作到信息的收集和重复利用以及信息的增值利用, 对于外联网来讲,更重要的是真正交互式和协做性的内容。
因为CMS的发展一直是各自为政,以致于没有一种统一的行业标准。各家各派也互相仿造,或是不断完善各自的功能,以最终实现:Full Stack CMS - 大而全的内容管理平台,换句话说就是CMS厂家但愿经过“全功能”加强用户的忠诚度,经过全功能实现就能用一个CMS构造一切类型的网站,至少这是全部的CMS官网上最为为一至的宣传口号。
一但Full Stack成为CMS的设计哲学,那么就意味着这类CMS必然是航空母舰级别的重武器,这意味着要驾驭这些尼米芝级的庞然大物就须要付更多的时间与精力去学习它们所提供的一切功能,其学习曲线之陡峭可想而知。讽刺的是,不少的站长或者是开发者可能须要的只是小船他们选择CMS的初衷可能只是一个文字型的发布平台或是纯产品信息型的平台,创建网站就是不想学HTML/javascript/css等各类的常规技术。
号称使用了CMS就不用重复轮子的开发商们难道不清楚这一点?答案显然是否认的。由于要开发能盈利的CMS产品只能作全功能型,不管客户是否须要这些功能,通通都要提供,不然买不了价,这是其一。其二是CMS原本就是一种需求边界模糊的平台产品,CMS若是不与实际的应用需求相结合将一无事处,充其量只能是一个创建博客网站的网站而已。
本人在CMS这个领域也打滚了10多年,对此也是深表无耐也深入地理解这个行业所处于的困局。对于正在选择的CMS的的用户我想提出几点忠告:
对于非专业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的文章,敬请期待吧。