最近在做WCMS,web content management system。

所谓WCMS,翻译是网站内容管理系统。以前公司的网站建设一般使用人肉编辑HTML的方法,如果公司网站的规模很大,这种方法就显得很劳民伤财,WCMS就是用来统一管理网站内容的软件。

目前接触到的WCMS的几个模块是:web内容管理,基于角色的安全管理和工作流管理。web内容管理模块可以让用户用简单的方法来创建网站内容,好比blog,输入些文本然后按按提交键就可以自动生成统一风格的网页。如果一个网站有若干组成部分,比如新闻啊产品信息啊等等,有些人负责更新新闻,有些人负责更新产品信息,更新新闻的人不能修改产品信息,反之一样,这就是基于角色的安全管理模块管的东西,它把网站建设者划分成不同的角色,不同的角色有不同的权限。工作流不太熟,先不谈。

WCMS的设计有一个舍己为人的基本公理,就是用户是无知的,他们不知道HTML是什么,不知道JavaScript是什么,总之,他们不知道一切该知道的东西,只知道他们的网站应该是什么样子的,上面应该有些什么内容。所以WCMS必须设计的非常体贴,必须把用户照顾的好像一个残疾人。这个公理是如此友善,为了别人的无知,程序员必须在幕后做大量的工作,比如提供所见即所得的内容编辑器让用户可以像写word文档一样编辑网页内容,而这类功能在我看来,即费事,又没有意义。WCMS程序员的处境就好像陈升歌里唱的那样,把悲伤留给自己,遇上这样没脑子的用户,那可真是从此以后我再没有快乐起来的理由。

其实程序员的生活远没那么乐观,因为还有另外一个公理,那就是用户是无理的,他们永远都是一种不满意的表情。这两条公理把用户彻底描绘成了一个反面人物。我小时候看过一个动画片,叫做没头脑和不高兴,不知道那个编剧是不是也曾经做过程序员。每次老板带着做好的产品去见客户,他们总是说,恩,我还要这样的一个功能,恩,能不能把那个功能改成这个样子。老板唯唯诺诺的回来后,我就又有事做了。有的时候一些功能要改成让用户满意的样子,是一件相当麻烦的事情,不仅如此,还会把程序结构弄的乱七八糟,让自己在调试的时候有足够的罪好受。我想老板真是好脾气,面对客户的时候能像忍者一样。要是我去见客户,看见他们对编程一窍不通还在那里胡说八道,肯定忍不住会问他们,老大,最近你是否还在定期服用空壳奶粉?

由此可见,程序员和用户的关系,好像一个贤妻良母和她的酒鬼丈夫,一个勤劳而幽怨,一个愚蠢而粗鲁。我所在的公司,一个冠名Edifixio的可怜地方,就是一个怨妇俱乐部,终日抱怨的主题都是那个叫作Schneider Electric的混帐老公。