开始接触风讯CMS

对IWMS的个性化改造让人精疲力竭。其实做到后半截已经知道这么做是个错误,IWMS根本就是以小巧方便见长,要用这把小军刀去剔牛骨头……辛苦的只有屠夫了。在上一个任务勉强交差后就寻思换一个可定制性强的CMS,以备不时之需。看来看去,也就风讯人气比较旺,而且口碑不错。

风讯CMS给我的感觉是强大、复杂,客户群瞄准的是那些动手能力比较强的站长,因为它的最新免费版本甚至没有一套可以用的内置模板。如果把建网站看成是盖房子,那么IWMS就是一套积木式的房屋,你只要规划一下要盖多少层楼,要多少间房,房间和楼层分别叫什么名字就可以了;而风讯CMS,只提供给你一把铁锹和一堆砖,你的工作要从基本的打地基、灌水泥预制板开始。IWMS的构建模式允许你有少量的装修,比如刷个油漆,帖张装饰画什么的,但是基本结构你是不能动的。比如一个厕所里有一个马桶一个窗户,你就不能改成两个马桶两个窗户;而风讯CMS有的只是砂浆水泥,你想安几个马桶开多少窗户完全在于设计者怎么想。IWMS是安全的、普遍合理的设计,用它做房子不会出什么差错,同时也不允许有什么个性;而风讯CMS能做出什么样的东西来,则完全看设计者怎么使用它,也许它是摩天大厦,也许是个摇摇欲坠的危房。这种自由度无疑对设计者是个挑战,同时也能让思维的神经兴奋起来。

初次使用风讯CMS需要让自己安静下来,因为这完全是个陌生的构建环境,而且说实话,有些专用名词的设计明显欠缺考虑,非常容易造成误解。比如“样式”,不知道的人会以为这个项目是用来指定CSS样式表的;还有标签,会让人以为这是博客中常用的“tag”,也就是关键词管理;还有“复制到备份库”,其实执行的是“移动”操作。风讯的帮助部分也是差强人意,不过已经比IWMS好很多了。程序附带的PDF帮助手册看似内容不少,其实不是一本编写严谨的说明书,其中的内容看过之后似乎和没看是一样的,而且由于更新不能跟上新变化,所以内容也显得非常老旧,以一个过来人的角度看,这本说明书的作用只比没有说明书好一点。

风讯专门用来做技术支持的help.foosun.net也是个不怎么更新的地方。看得出,它曾热闹过一阵子,对风讯3.0的解释和帮助内容较多,但是缺乏组织和内容更新不及时依然不能让人满意,初学者在这里会不知道从哪里开始认识风讯CMS。在风讯支持论坛中的二十多个视频教学对初次接触它的人来说是一个亮点。死读书不如做一遍,视频教学中的一些过程演示虽然没有什么组织,但是确能从中看出很多门道来。比如上传图片,我相信很多人都找不到提交本地文件的地方在哪里,只有看过视频演示之后,才知道那个“上传”的按钮可以调出UPLOAD界面来,而这种外观的“上传”按钮在其他的场合基本都是起到“提交”的按钮作用,谁会想到它在风讯CMS中其实是个链接呢?视频的配音实在不敢恭维,经常把title念“踢头”,把dreamweaver念“追马克思”,而且口音严重,看完几个视频教程我终于明白为什么教师资格证要和普通话考级挂钩了。

纵观官方提供的学习资源,可以说信息足够但是没有组织。良好的教学是把概念、模式传达给学习者,而风讯的所有学习资源没有一个介绍了风讯CMS的组织形式,不管是说明书还是视频教学都是直接从事务操作入手进行介绍,这是网上教程和大多数市面上的教材常犯的错误。当我在阅读这些资料后初步明白他的组织模式的时候,曾想过重写一个详细的解读材料,后来一琢磨,工程量还不小。再说了,别人不懂那不是更好?有些事情说太清除了也就不值钱了。而且,牛群的那句名言我一直记在心里:“我不能马上告诉你。马上告诉你,你的印象不深。”个人认为,风讯只要把专用名称“样式”改成“格式”,“标签”改成“模块”,对初学者来说就能避免很多误解了。

另外一个普遍关心的问题就是“风讯CMS免费版本是否支持SQL?”按照常理理解,免费的应该只支持ACCESS数据库。但是风讯在安装的时候又显示可以选择SQL,并且给出了参数的写法。于是我费了好几天的功夫试验免费版支持SQL数据库的可能性。

在SQL数据库中建表是个麻烦的事情,起初我用导入access数据的方式建表。表是建起来了,但是字段属性又碰到了问题。在ACCESS表中的自动ID属性,在SQL中成为标签属性,并且要设定自动增加的步长,要是一个个手工这么搞下去……那工作量太大了。搜索了百度谷歌,对这种升级也没有更好的办法。后来无意看到了有人提议用accsee的数据库升迁工具试试,一用果然见效,ACCSEE的数据顺利升级为SQL。但是问题又出现了,按照默认的设置,一个风讯系统要占用三个数据库,这对于虚拟主机用户明显是缺乏操作性的。于是手工生成三个库的创建表SQL脚本,然后在一个新库中生成所有表,最后分别导入数据。这个方法看似不会产生问题,但是实际问题还是出现了,后台的“样式”栏目出错,在“采集”中也不能保存站点设定。研究了半天也没有什么好办法。后来灵光闪现,让ACCSEE升迁数据库的时候使用一个ODBC链接的方式,在ODBC中设定“默认数据库”为一个自定义的新库,而不是用默认的“新建数据库”方式升迁。经过一番折腾,重新安装程序后,这种模式果然见效。使用了一天,目前还没看出有什么问题。感觉风讯已经在一套程序中兼顾了两种数据库,并没有为两种数据库模式分别编写两套程序。虽然这种获得SQL支持的方式“可能”不会有什么问题,但是如果网站信息量不会超过2万的话,建议还是使用ACCESS数据库,毕竟它是全静态化的系统,查询的强度不高。如果对安全稳定性有特别高的要求,建议还是花800元购买风讯的商业版本,毕竟稳定是压倒一切的,也不必为老板省这个小钱。省钱的事情老板多数不会知道,但出了问题就全是你的责任了。

现在,该看的资料该建立的概念已经成形,下一步就是如何实际应用了。

《CSS禅意花园》读后感

这本标称2007年6月出版的新书,在经历网上下单、物流送货、粗翻、细看之后,今天已经全部看完了。这大概是我最赶时髦,并且消灭得最快的一本技术书了。之所以这么猴急,是因为自从将XHTML+CSS的模式引入实际工作以来,我就不断遭受信心上的打击。本书的末尾有段比喻非常贴切:深陷于CSS的泥沼中,气愤得只想撞墙,并发誓今后再也不会去做WEB设计,甚至会觉得哪怕是城市规划或者核物理,都要比CSS简单、友好得多。

“禅意花园”其实是个网站,起初我并不觉得它有什么牛B,但是当知道这些五花八门的页面,其HTML源代码都是完全一样的时候,我才感受到震撼。这本书的内容就是该站站长对其中几个典型作品写的点评。

书好不好?这个要分两个“两部分”来看。

从翻译上来看,书的前半部翻译流畅,感觉就象一本“土著书籍”,后半部就开始变得有点晦涩,大概是翻译者的激情已经被前几章消耗得差不多了,到最后只想快快结束这个痛苦的经历。

从内容质量上看,这本书有一半的内容是有意思的,另一半内容是不符合国情的。具体的说,设计、布局、图像和结尾的一些建议是比较有意思的章节,有些信息是在以前没有看到过的。最失败的章节要算“文字排印”了,由于英文和中文的计算机应用存在非常大的差异,所以导致本章节的内容对于中文用户来说几乎毫无意义。比如,用中文字体这么多年,我压根就不知道中文字体是否有系统分类的“字族”属性。虽然汉字字体在客观上存在相似的分类,但是计算机根本不知道怎么去区分,而英文字体天然就具有明显的字体分类方式。另外……我都懒得敲了,总之,这一章略过不看基本不会有什么损失。再加上N多为FIREFOX特制的技巧,和CSS 2.0 3.0的内容,基本上这些“不实用”内容占到了此书的一半页码。

基于我的读后体验,这本书只适合于有标准实践经验的人阅读。通过对作品的解读,可以得到不少收获。我的最大收获就是:绝对定位方式如此重要,以前我认为这是只有菜鸟才用的蠢方法而不敢使用。书最后的那些原则指导太有用了,几乎是每个标准入门者必修的内容。

在此给本书过于夸张的宣传口号加上一些标注,以方便后来的读者选书时参考。

本书内容包括:
36件效果惊人的设计艺术作品
(“惊人”这个词有点夸张了,个人感觉其中效果泛泛的作品占1/3)
来自顶级Web设计师和开发人员的CSS秘诀
(本书是第三人对作品的解读,决不是设计师本人对自己作品的解析,这些“秘诀”都不是来自作者本人。)
文字使用技巧,使作品生气勃勃
(最没意思的文字使用技巧部分,中文读者完全是在浪费时间)
绝妙的CSS使用技巧,轻松适应未来的变化
(技巧确实很妙,但是CSS永远不是轻松的事情。)
高效使用图形,以提高网页的下载速度
(似乎这方面内容只有不到100字的描述。这绝对不是本书编写目的之一)
本书特色:
圈内公认的Web视觉艺术设计的王者之书
(“王者之书”这么严重?……天书好,可也要看得懂啊)
来自36位顶尖网页设计师和开发者的CSS秘诀
(应该是“解读CSS作品”,不是作者本人讲述的就肯定不能算“秘诀”)
Amazon网站五星级图书,全球一致好评抢购中
(美国佬2004年出的书,不能算抢购ING吧?)
全国各大网上书店销售冠军
(CSS类的好像最新的就这本了)
本书适合以下读者阅读:
设计师 迈向完美,走向巅峰
程序员 无设计知识,亦能运用自如
CSS新手 未丧失拓展知识的勇气
(前三项是“痴人说梦”,此书不介绍任何CSS、xhtml基础知识,初学者连入门都入不了)
CSS高级用户 即使了如指掌,亦能受益良多

唯一欣慰的是在阅读本书的过程中,发现书中的CSS代码我基本都能看懂、并且可以用中文解释它的意思了[flower]。但话又得说回来,看电影和演电影完全是不一样的两件事[confused]。所以,路漫漫,其修远兮……

书名:CSS禅意花园
原著书名:The Zen of CSS Design
原书作者:[美] Dave Shea Molly E. Holzschlag 著
译者:陈黎夫、山崺颋
书号:978-7-115-16035-5
定价:49
开本:880×1230 1/20
总页码:290

考虑换CMS

几年前开始用IWMS的前身DVNEWS,是因为动网论坛的大名。这么几年下来,程序很稳定,特别是发新闻自动下载图片的功能用起来很方便。但是作为一个CMS,其可定制性确实太差了。早几年的时候想改动改动它的样式,却发现密密麻麻的CSS定义,而且没有任何说明该样式是“用在什么地方?”、“是否可以更改?”。那时候发现CSS竟然可以用得这么复杂,也“于是”发现了网页标准化的热潮正在无声的涌动,这可以说是用这套CMS最大的收获。

如今,关于标准的理论知识补习得差不多了,回过头再来看我原来不敢乱动的CSS样式表和那缺乏标签说明的模板,这才发现IWMS有点老态了。标准化进行这么几年来,IWMS虽然很早就加入了这方面的想法,但是从现在的4.5看,仍然在原地踏步。

很多FANS说,IWMS只要稍微改造就能成为一个符合标准的CMS,于是我仔细研究他的标签含义,结果发现,要避免TABLE布局基本是不可能的,这涉及到IWMS的设计思路和流程控制的改变,不是一时半会可以改变得了的,而且由于关键代码都已经编译,外人也无法对他进行改变。这半个月来,我能做的就是对IWMS生成的代码进行隐藏、定位,模仿出一个定制的外观,但是这只是表面现象,IWMS的结构并不由我控制。对它的改造是一个带着镣铐跳舞的工作,而且是一套颇多纠缠的镣铐。我的感觉,简直是一张鱼网。

于是开始寻找其他的CMS系统。PHP的很多系统非常先进,功能也非常牛,可惜我的能力还不足以控制LINUX,而WINDOWS下的APCHE我在试用小蜜蜂采集器的时候是见识过的,效率低,经常出连作者都说不清楚的问题。于是,只有ASP。

ASP中最有影响力的只有动易和风讯。动易的系统安装需要在服务器注册组件,这给维护会带来很大麻烦。比如最近的MS路径问题发生后,如果虚拟主机的站长想升级动易是不可能的,因为对组件的升级一定要IDC的管理人员来做,站长能做的只有等。而且动易的铜臭味也非常足,我见过他连教学、补丁光盘也打包卖钱的“大礼包”,加上从产品线来看,新闻系统只是其业务的N分之一,让我对他的印象大打折扣,于是,似乎只有风讯了。前几天安装了一下,从后台看了看,似乎有点过于强大,强大到无从下手,但是,谁让人家牛逼呢,只能怪自己才疏学浅,落后于时代了。

回头再看看IWMS,免费SQL版本,先进强大的NET框架,丢了似乎可惜。但愿IWMS下个版本可以梳理一下代码结构,不要在可视化编辑模板这种极少用到的功能上下工夫了,这种功能对菜鸟来说依然是“不会用”,对老鸟来说觉得“不舒服”,有这样的精力不如来本标签说明手册和DW8的插件更实惠。

没有选择,麻烦;有选择,也麻烦。

细读IWMS标签(五)修正底部导航代码

如果按照默认模板,底部导航的TABLE标签中将出现两次:Border=”0″ border=”0″,这个不规范的代码复制到DW做占位编辑的时候会导致局面混乱。
修正方式是将下面这段中的Border=”0″删除

<asp:DataList id=”dlNavList”
Border=”0″
CellSpacing=”0″
CellPadding=”0″
Width=”100%”
RepeatLayout=”Table”
RepeatDirection=”Horizontal”
RepeatColumns=”1″
DataKeyField=”classid”
OnItemDataBound=”dlNavList_ItemBound”
runat=”server”>

细读IWMS标签(四)拆除复杂的img结构

真受不了。IMG图片显示用了这么复杂的脚本,其中的结构不是用FIRFOX的开发工具根本开不出来。为了还图片本来面目,去掉拉杂的冗余代码,将显示脚本用的JS进行了瘦身。由于才疏学浅,还不能彻底看懂JS代码,所以能用空格代替的就用空格代替,没有轻易删除,两大浏览器下均没有报告脚本错误。修改后的thumbnail.js如下:
<blockquote>function WriteThumb(img,url,alt,blank,headline)
{
if (blank==null)
blank=false;
if (headline==null)
headline=false;
var str=” “;
str+=” “;
str+=”<a href=&#39;”;
str+=url;
if (blank)
str+=”&#39; target=&#39;_blank&#39;>”;
else
str+=”&#39;>”;
str+=”<img src=&#39;”;
str+=img;
str+=”&#39; alt=&#39;”;
str+=alt;
str+=”&#39; “;
if (headline){
if (thumbHWidth>0){
str+=” width=&#39;”;
str+=thumbHWidth;
str+=”&#39; “;
}
if (thumbHHeight>0){
str+=” height=&#39;”;
str+=thumbHHeight;
str+=”&#39; “;
}
}else{
if (thumbWidth>0){
str+=” width=&#39;”;
str+=thumbWidth;
str+=”&#39; “;
}
if (thumbHeight>0){
str+=” height=&#39;”;
str+=thumbHeight;
str+=”&#39; “;
}
}
str+=”>”;
document.write(str);
}</blockquote>
一层层判断,一层层累加,累加到最后,形成了如幻影般的图片代码。

想什么来什么

昨天晚上看一个编辑器才知道CER也是ASP可执行文件,想这要在服务器上过滤掉ASA与CER,结果早上就发现被安了个ASA的木马程序。真是想什么来什么,找了下资料,原来ASP有四种可执行文件。

“ASP.DLL文件支持 .asa .asp .cdx .cer ”

全禁止。对于上传限制来说,还要过滤空格字符。

serv_u的提升本地权限的漏洞似乎堵了,但是看文章说不仅仅要设置远程链接密码,还要改本地账户,找了半天也看不到在哪里改……