内容管理系统(CMS)简史

内容管理系统(CMS)简史

       在深入探究Drupal之前,让我们先及时地对内容管理系统(CMS)之前的日子做个简略的回顾。回顾网络幼稚之年的那些工作原理,你就能很好的理解Drupal这些内容管理系统是咋样简化了我们的工作。

网站建设的历史之初

       回到20世纪九十年代,那个流行着zeppelins和T型台的暗淡年代,网页仅仅是一些放置于网络服务器上的某个或某些文件夹中的简单文本文件而已。他们有着index.html,news.html,about_us.html等等的类似于此的名字,任何人都可以通过网络浏览器来访问。他们通过HTML标志语言,前后互联,并用图片和其它媒体文件来装点门面。而网站,用当时时髦人士的话来说,仅仅是某个文件夹中的文件集合体而已。(看图1-2)

       这个系统可行甚至运行良好。每一个网民可访问的网址都对应着一个存于服务器上的独一无二的.html文件。如果要自成一体,你只需要建立一个文件夹,然后把这些文件移到这个文件夹即可。例如:http://www.example.com/news/对应站点的“News” 部分,而1997新闻列表对应地址http://www.example.com/news/
fall_1997_products.html。如果要修补一个问题,网站管理员(或者助理)只需要通过浏览器地址,然后在服务器的文件夹中找到对应的文件,打开文件修复即可。        

       图1-2 

           

       不幸的是,随着网站规模的不断膨胀,这种方面明显的感到捉襟见肘,难于对付。页面和文件夹年复一年不断增加,不少的站点开始要管理几十个、几百个甚至几千个页面。这样,朋友,你就看到问题的严重性了:

       改变一下站点设计需要巨量的工作

       格式、布局和其他站点设计都是一个页面一个页面单独完成,那个时候样式表(CSS)还没有流行,即使是只是想修改一下网站的默认字体(没错)你都只得去编辑一个一个页面。

        网站构建要做大量重复动作

        大多数的网站设计里面都有一个放在页面底部显示版本信息和联系方式的页脚(footer),一个页头图片(header image)或者一些循环启用的导航菜单,等等。他们的任何一点变化,都要导致修改所有文件。如果你非常非常走运的话,所有在你之前的管理员都非常负责,从而保证你不需要修改网站的布局或者仅仅只需要做一些代码的变化。但是大部分管理员都不会如此幸运,以致直到今天那些使用FrontPage, PageMill, Dreamweaver和 Notepad制作的站点都统统遭人诅咒。

        网站很难保持一致并更新同步

        为保持条理,大多数网站都整理成多个目录和多个子目录。在NEWS 目录下添加一条新闻,意味着你需要更新包含所有新闻故事的“概览”页面,或者在首页发布一个通知,或者(好恐怖!)还要记得当新闻不再新鲜时去把通知撤下。一个多结构网站或者有相当内容的网站,光折腾这些更新就足以让一个全职管理员手忙脚乱的。

             

      

脚本和数据库时代

      为寻求解决这些问题,催生了第一次真正的Web设计革命:脚本和通用网关接口( CGI )程序的使用。一开始是在HTML文件里面置入一种名为服务器端内含程序(SSI)的特殊标签。这些标签能够从其他文件中(比如一个版权信息或者一个最新新闻列表)中调用内容,然后植入到当前页面,一如其为该HTML文件之一部分。这样使得更新这些内容轻松多了,因为他们被放在同一个地方。

       进一步到对简单数据库的使用。 这些数据库存储着大量的类似信息。所有在CNN.com(http://www.cnn.com)的新闻尽管其内容不同,但结构基本相同。同样,Apple.com (http://
www.apple.com)的产品与Blogger.com(http://www.blogger.com)的博客文章一如于此。网站管理员们不再把这些内容单独放在一个个HTML文件里,而是通过一个运行于网络服务器的程序来从数据库中提取文章内容然后通过HTML标签包装显示该内容。 一个类似http://www.example.com/news/1997/big_sale.html的网址样式被http://www.example.com/news.cgi?id=10样式代替。访问以上网址,将无需再去NEWS目录,再到1997目录,再在浏览器中来查看big_sale.html文件了,网络服务器只需要运行news.cgi程序,然后从数据库中检索10条文章信息,然后将内容输出就是。

       以上差别的实现需要网站设计者和开发者改变以往的建站方法,但这是非常值得的:成百上千的文件将由一个数据库和一个简单的脚本代替。看图1-3。

图1-3

       尽管取得了改进,但挑战仍然严峻:

       我现在该从哪里改变设置呢?

       一个有着多种内容样式(如产品信息、雇员档案、新闻发布、免费下载等等)的大站仍然会面临着如何协调脚本、数据库和其他的元素来使站点正常运行的问题。管理员在更新内容时首先需要搞清楚是要去改动HTML文件呢,还是数据库条目,还是脚本代码。

       需要修整组合的东西太多

       动态内容——如论坛和留言本这类互动性内容都有自己的架构,每个系统通常都是独立设置的,要把它们整合在一个统一的站点实属不易。

内容革命

      慢慢的但又是确定无疑的,一些用简单的统一用户界面来管理多种内容和特征的程序出现了。老一代软件为了一个特定的任务或应用,但是新一代的CMS平台为网站提供了集内容发布、内容编辑到内容组织的通用工具。大多数的系统还为开发者准备了在原有系统上增加插件、增加新功能而无须从头开始的机制。图1-4说明了内容管理系统CMS如何利用一个数据库和一些脚本来整合这些功能。

      图1-4

Drupal就是新生一代CMS成员之一。它可以让你创建并管理多种内容,为用户提供针对网站维护者和访问者的管理工具,让你获得无数的能够增强网站功能的第三方插件。Drupal的创建者,Dries Buytaert,曾经在2007年开源CMS峰会上说到Drupal的目标就是要”消灭管理员“。如果你是管理员,乍一听来可能感到恐怖,但是略微一想,这一结论很让人兴奋。使用Drupal,管理和更新那些成百上千页面的辛苦工作消失了:你可以把重点放在建设你站点需要的功能和改进用户体验上。

Tags:

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.