考虑换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的插件更实惠。

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

脱掉“HTTP 500 – 内部服务器错误”的外衣

以往看到“HTTP 500 – 内部服务器错误”,就好像看“保密内参”的感觉:只知道有一个信息,但是这个信息是什么只有自己去努力猜。要是程序调试碰到500又猜不出原因,那真是让人挠肿头皮。

今天偶然看到一个小文章才发现:只有IE才会显示“HTTP 500 – 内部服务器错误”,firefox浏览器会直接报告出错详细信息。究其原因,原来是IE浏览器故意把服务器返回的错误信息掩藏在了身后,而且美其名曰“显示友好http出错信息”。原来,“友好”就是和你捉迷藏玩。

进IE的工具_internet选项_高级,把这个“友好”的家伙干掉。

如果早知道这个情况的话,今天早上的我就不用因为一个500而重新配置两次IIS了。虽然最后自己猜出了原因,可这种游戏在忙得露X的时候玩,实在是让人……

实诚的flashget与狡猾的mediaplay

今天下一个WMV文件,直接把mms://地址栏复制到flashget中,GO……竟然不动,难道是加密了?前几天还能下的啊。于是用mediaplay播放,一切正常,一点都不卡,拖放也正常。
然后看flashget的日志,显示无法链接1755端口。干嘛连1755端口?人家写mms://你就当人家是1755端口吗?也许人家是80呢?也许他根本就不是一个mms服务器,用mms://替换http://充门面呢?……还真有可能。

于是立刻换成http://协议……啊,那个速度啊……满屏幕的小格子飞快地跑了起来,就象《黑客帝国》,爽!

flashget真老实,写mms://就当是正宗MMS协议,不另写端口就当1755处理,80都不要考虑一下。mediaplay就狡猾大大的,才不管你是不是指定了mms://,是不是符合规范和常理,把所有可能都“容错”一下,用户根本不用操心什么东西。

实诚是好品质,但不一定是最有效的做事方式。

细读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>
一层层判断,一层层累加,累加到最后,形成了如幻影般的图片代码。