WebBlog:路杨中标签为“MT4” 的文章

Thisi is a SiteLog of Easun's WebBlog.

今天终于升级到了 Movable Type Pro 4.25 ,貌似一切顺利,也没有发现什么特别大的改动?只是 Community Pack 变成了 1.62, Professional Pack 升级成了1.3 。

其他的一切顺利,模版也没有修改,我甚至连重建前台HTML的事情都没有做。。。

就这样吧,继续用这个风格,等有时间了再慢慢研究吧。

如果非要说有什么修改的话,就是评论的登陆方式又丰富了很多,包括 "Google" 帐号。这个大家应该都有,那么在选择留言/评论的时候您可以选择这个登陆从而免掉了我后台认证的麻烦:)
抓图如下:


This is a SiteLog for Easun.org.

MT Forum 的注册机制是用户注册后帐户进入 Pending 状态,然后给用户刚才填写的Email发一份邮件,点 邮件 里面的连接才可以激活。

这个是个很好的功能,但是有时候偏偏想去掉这个功能。

懒得的写 插件 ,就直接 Hack吧。

简单分析: MT Forum 注册调用的函数是 addons/Community.pack/lib/MT/App/Community.pm 里面的 do_register {} 这个函数写入数据库是 create_user_pending {} 。

要简单修改 create_user_pending 函数里面的默认数值就好。

create_user_pending 函数 在 lib/MT/App.pm 中。 定位:
    $user->type( MT::Author::AUTHOR() );
    $user->status( MT::Author::PENDING() );
    $user->auth_type( $app->config->AuthenticationModule );


把加粗的部分 修改成
$user->status( MT::Author::ACTIVE() );
或者干脆一点硬编码:
$user->status( 1 );
再次测试一切OK ,当然你也可以顺便去掉发 确认邮件 的代码, 具体位置是 addons/Community.pack/lib/MT/App/Community.pm 中的 sub _send_signup_confirmation {},用空函数代替即可。


PS: 久不更新网站和研究 MT ,貌似 4.25 也出来了。也许该更新下系统了。呵呵
貌似最简单的办法就是修改日期到一个很遥远的日期,比如 AnySQL 那样:) 但是带来的问题的很多,比如导致Feed阅读器犯糊涂或者影响搜索引擎的收录等等,更糟糕的是对于 日志来说,最主要的就是发布日期。

也许大家都已经发现了,我的主页模仿 MT Forum 搞了一个固顶日志(也是为了风格统一)出来,这个固顶日志是后台通过自己设置实现的。是怎么设置的。答案是利用 <mt:Entries> 的tags 功能。
具体概念代码如下:
<mt:Entries tag="@top" sort_by="authored_on"
sort_order="descend" limit="1" blog_ids="1,5">
dosthing.....
</mt:Entries>
这样我们只要要在固定的主题 加上 tag ,tag 名字为 @top 就可以了。
PS: @开头的tag属于隐藏 tag,不会在发布页面显示出来。
Perl ForumMT4MT Forum 的功能搭建起来了好几天了,一直没有发现什么意外,今天突然发现 按作者按月归档 貌似找完了整个发布完的 Perl Forum 也没有找到 link ,查看作者个人信息貌似也没有 link ? 真是好玩的 归档方式。
从后台看,给每个用户(作者)都建立了按月的归档页面,估计是为了便于各用户归档自己的文章吧? 后台抓图如下:

a_m_a.png
(图中红色框选的是归档地址,当然什么的地址都让我修改过了)

从发布机制上来看,这个归档页面仅会在用户发布新帖子的时候才回重建,貌似不算什么资源大户,但是如果你的 Forum 有 500+ 用户(只是假设),那么如果你要全坛重建整个 Forum ,貌似比较恐怖,如果你没有把这个"隐藏"的归档展示出来的愿望的话,那么删除这个归档类型吧 :)

PS:  MT Forum 貌似还有很多奇怪的特点,也许和老外注重安全的观点有关。。比如,注册的ID 需要通过 Email 自行激活 才能正常使用,而我找遍了整个后台也没有办法关闭这个功能(有知道不修改程序完成这个的,请告诉我一下,谢谢 :D)。

This is a SiteLog of Easun's WebBlog。

装了自带 Community Pack 1.6 的 Movable Type 4.21 Pro,也用 Community Pack 功能建立了测试的 MT Forum,初衷是想用这个MT Forum 取代 基于 LB5000 ES Lite 建立的本站半废弃状态的 Perl Forum
简单的作了测试,帖子的转移很简单,用Perl写个小玩意,导出成 MT 系统能认识的文本就足够了。而User的转移貌似出现的密码问题上了。
当初匆匆检测功能,没有细思量,总之, Perl Forum 采用的 MD5 加密密码,而 MT User 的密码则是采用随机数和原始密码用 Unix crypt function 来加密的。貌似转化起来很是有点问题。
好久没有看原代码了,今天晚上有点时间,看了看 MT 关于 Auth 的代码。发现其实很简单,在用户输入的时候多一重判断就是

这也许是喜欢使用 LightBox 的朋友福音,尤其喜欢发布图片类文章的 MT 4.x 用户们:)

插件地址在这里: http://mixelandia.com/2008/09/lightbox-para-mtos-mi-primer-plugin.php

简单的插件,作用很简单:
1。自动生成 LightBox JS 模版 和 css 模版。
2。在上传文件的时候,自动加入 rel="lightbox" 标签。

注意:
1. 本插件的 js 和 css 是生成两个 Index Templates ,目标在你的Blog发布目录下,你可以手动修改地址:)
2. 从代码来看,这个插件(Plugin) 应该只支持 MT 4.0 + 。
3. 部分JS是远程引用 Google 网站,也许会拖慢速度,你可以手动修改代码把JS脚本下载到本地。

==
BTW: 本插件貌似不需要什么演示,因为本Blog已经启用了,效果可以看本站有图片存在的文章的效果 :D

真有点搞不明白 6A 了,不知道搞什么鬼,若干个版本。Movable Type, Movable Type Pro,Movable Type Open Source,这几个版本貌似都免费提供,当然还有传说中的 Movable Type Commercial 。

升级到4.21时,我选择的是 6A 提供给 ProNet Members 专用的版本。这个版本不是所谓的 Movable Type Pro ,而只是比 Movable Type 多带了一个 Professional Pack 1.2, 从而支持Professional Website template 而已。

而从 MT.com主页提供匿名下载的版本 Movable Type Pro ,不但带了 Professional Pack 1.2,还带了 Community Pack 1.6

Community Pack 1.6 啊,眼谗很久的论坛模式啊。。。。
废话不说了,言归正传,下载了 Movable Type Pro 4.21,覆盖了现在的版本,升级。终于有了论坛模式。先测试一段时间,考虑把我那个半废的 Perl Forum 在适当的情况下转到MT的数据库中。。。。

先测试,测试地址: http://easun.org/test_forum/ ,开放了注册,有兴趣的可以去看看:)

有朋友来Email问我的 Category Archives (按Category归档) 页面(比如这个页面)左边出现的 本分类的所有文章 |All Category Articles 是怎么样出来的。
因为这个问题貌似有好几个朋友问,所以在此共享下:)

MT4 开始,貌似 按Category归档 页面就只显示最近的若干文章而不是象MT3.x系列一样全部显示,其实是个节省资源的好办法,so 我把该Category的所有文章按照文章标题全部显示出来。
代码如下(注意只能在 Archive Templates 中 的 Blog Entry Listing 中用,不然希奇古怪的结果哦):

终于决定升级了。
简单覆盖了文件,模版没有做任何的修改(虽然4.21修改了不少模版细节,但是因为懒惰,没有刷新模版)。
启用的 PHP Includes 方式的 template module cache,希望速度能快一点(虽然没有感觉到):)

我用的是 英文版本,如果习惯中文的的可以去 平生一笑 那里下载 中文包,则可以实现完美中文化,感谢一笑!

废话几句: 貌似 MT.com 被 Ban 了? MT.org没有问题。
另外。近来貌似没有怎么关注自己的site,居然遭遇了一次域名过期事件。。同时受到影响的还有 easun.org 后缀的邮箱,也许 部分朋友 没有收到我的回信,应该就是这个问题。
实在抱歉 :D


另外: 装了 Yahoo! OpenID 登陆插件,拥有Yahoo! ID 的朋友可以登陆本Blog发表回复 :)

貌似又是好久没有写Blog :) 今天随便写写最近的一些琐事,也算随笔吧?

第一就是周末去了一趟 西单图书大厦,惊奇的发现了有 小骆驼第四版(中文) 出售.貌似这本书一直是 缺货缺货再缺货 , 呵呵,难得见到,激动之余抓拍了一张照片,见下:
perl.png

小骆驼 是 Perl 入门的经典图书,我这里有它的第3版,关于它的介绍,似乎不用我多费口舌:) 只是要说的是:书不多,有需要的要抓紧哦

第2说的就是另人郁闷的事情了,久不坐地铁,居然在地铁上也发现了牛皮癣--办证广告,苦笑ing,也顺手抓拍了两张(电话号码作了模糊处理):
sw1.png
sw2.png

最近单位事情颇多,不多的上网时间也给了 起点中文网 ,Blog的事情也就放在一边了。自Blog系统换用 MT4.1 后主页的界面也再没有统一,DreamHost 上登陆MT4.1后台也慢的厉害,恩。。。只好等有空再满满整合了:)

MT 4 模板功能强大,从代码分析来看,加了一系列小的功能,并没有从默认的模板(Template)中体现出来:)
这些功能,有些来自MT4程序本身,有些来自自带的插件(plugin),还是挺实用的,如果再结合 MTIF ,MTElse, MTUnless 等模板自身的选择流程,肯定让设计界面的朋友心动:)
我简单的说两个自己偶然发现的,抛砖引玉。

1. MTIfCommenterIsEntryAuthor
这个标签目的是判断回复评论的人是否就是这个主题的发布者:) 我偶然发现这个标签,然后Blog中我回复别人评论的回复就可以自己定义不同的样式了:)简单用法如下:

<MTIfCommenterIsEntryAuthor>Show sth.</MTIfCommenterIsEntryAuthor>
,当然,需要注意的这个标签应该在 MTComments 嵌套之中使用:)实例可以参考本站的评论处我自己的评论样式.

2. 在 MTOtherBlog 中使用 加 include_blogs 参数的 MTInclude
这个功能是由插件 MultiBlog 2.0带来的,不可否认,MultiBlog是个很优秀的插件(plugin),但是,也不能不说MultiBlog使用文档实在写的太含糊。她的文档貌似仅仅为了 写而写。大家一般都用他来做多个Blog文章的输出,但是其实他的功能还很多,比如:在一个MT Blog 中调用另外一个同系统的Blog的模块,这个就是 MTInclude 的include_blogs 参数了,但是使用这个参数必须在 MTOtherBlog 或者 MTMultiBlog 的 嵌套中使用,不然系统会找不到模块,另外,这个模块如果有 IF,Else 或者 SetVar 的设置,将会调用本来属于的那个Blog的设置。
简单例子如下(本Blog的id为2,要调用id=1的Blog的模块 Nav_Main):

<MTOtherBlog include_blogs="1">
<$MTInclude include_blogs="1" module="Nav_Main"$>
</MTOtherBlog>

OK,我目前发现的就这两个,你呢?不妨共享之。

This is a SiteLog of Easun's WebBlog。
前段时间正式升级到了 MT4 ,最后又因为反复提示升级这个Bug 回归到了 MT 3.34。
当时可惜的是自己辛苦设计的 MT 4.0 模板。
十一期间,又重新把自己的 Blog 升级到了 MT4.01,究竟,无论是模板的强大和模块化,还是page功能,附件管理的吸引力都对我来说是个不可抗拒的诱惑:)
按照原来的思路重新设计了模板,而且恢复上次自己回归MT3.34由于失误丢失的部分评论:)
留言本功能也重新回来了。
值得一提的是,这次升级其实还是全新建立blog,然后导出旧数据再导入的办法来完成:)
评论发布认证开启后台所有的选项:MT(本Blog系统后台注册名),TypeKey,OpenID,LiveJournal,Vox,但是匿名评论功能也开放了,但是希望来访的朋友请尽量避免使用匿名方式,因为匿名发表,也许会需要后台认证才能显示,个中原因,不言自明,请谅解 :)
另外,看到 David Yin发表的这篇文章:

四个用MovableType的原因
推荐一读。

This is a SiteLog of Easun's WebBlog。
曾经为 MT4 疯狂过,无论是模板的强大和模块化,还是page功能,附件管理都让人心动。然而,让我不得不选择回归到MT3.34的却是MT4另人恼火的一个Bug : 反复提示升级

我原来的系统是直接在 MT3.34 上升级到 MT 4.0 正式版本的,用的依然是 MT3.34 的 旧模板,进后台的时候老是提示数据库升级,倒也罢了,升级就升级了。似乎对功能和内容没有任何影响,除了“搜索模板”消失(无法编辑)外。

一直以为是升级数据库的原因,加上自己在测试的MT4系统(全新安装的MT4.0数据库)中并没有出现 “Time to Upgrade!” 问题,自己也准备启用新的 MT4 的模板,花了近一周的闲暇时间设计了新的模板和CSS,于周5晚上把旧数据库的文章导出,导入新的数据库,启用了这个新的数据库,想这样,应该彻底避免“Time to Upgrade!” 问题了吧:)

升级到 MT 4.0 好几天了,模板依然用的 3.3x系列的。不是不升级模板,而是在 MT 4.0 默认模板基础上测试和重新设计风格而已:)

MT 4.0 模板设计的很优秀,在测试中发现了一些不同和技巧,特和大家共享之。

一: 强大的 MTIf 和 MTSetVar。
因为有了SetVar 和 if ,模板也有了简单的判断和设定功能。所以MT4.0模板才变的更加简单和模块化。通过在主模板顶部设定不同变量的数值,可以方便而简单让模板生成的页面任意在 3栏,2栏变化,也可以方便让侧边栏显示或不显示某个模块。实在是节省了设计人员的工作量。仔细研究每个主模板顶部变量(SetVar)的设定,会让你受益非浅。
我的页面上面的导航条自动加重原来靠自己写的插件实现的,在现在MT 模板中完全可以利用 MTSetVar 和 MTif 实现,简单介绍如下:
修改头部模块(导航条),假设名字为 "Header" 为:

<div id="header">
<h1><a href="/" accesskey="1" title="Return to HomePage of easun.org" >Easun.org(路杨)</a></h1><h3><$MTBlogName encode_html="1"$></h3>
<h2><$MTBlogDescription$><a href="/links.html" title="Some Good Sites">链接</a></h2>
<ul>
<li id="top_ossu"><a href="/ossu/" title="Go to Easun OS Switch Utility HomePage">软件站</a></li>
<li id="top_perl"><a href="/perl/" title="Perl Site">Perl Site</a></li>
<li id="top_blog_bookmarks" <MTIf name="blog_bookmarks">class="notice"</MTIf>><a href="/Bookmarks/" title="Easun's Bookmarks,朋友的Blog RSS聚合">Bookmarks</a></li>
<li id="top_blog_tags" <MTIf name="blog_tags">class="notice"</MTIf>><a href="/blog/tag/" title="Tag cloud of Easun's WebBlog">Tags</a></li>
<li id="top_blog_archives" <MTIf name="archive_index">class="notice"</MTIf>><a href="<$MTLink template="archive_index"$>" title="Easun's All Articles Archives">Articles</a></li>
<li id="top_blog_index" <MTUnless name="is_not_blog">class="notice"</MTUnless>><a href="<$MTLink template="main_index"$>" title="Easun's Blog">WebBlog</a></li>
<li id="top_blog_home" <MTIf name="site_home">class="notice"</MTIf>><a href="/" title="Easun's HomePage">Home</a></li>
</ul>
</div>

在一般情况下,WebBlog 都是粗的,如果要加粗其他页面,比如Site Home 页面,只需要在此模板顶部写入:

<MTSetVar name="site_home" value="1">
<MTSetVar name="is_not_blog" value="1">
。。。
<$MTInclude module="Header"$>

就可以了:) 是不是被专门写插件处理方便多了? 呵呵。

二。 按分类归档有所变化。
这次MT4.0的重建速度要比以前版本快了很多,但是我怀疑和 "按分类归档" 有所变化。 以前"按分类归档" 是个大问题,严重拖慢速度,因为要重写的数据太多了。
这次, MT 默认模板对 "按分类归档" 只输出最近的几篇文章(就像Blog首页那样),所以节省了大量时间。但是作为补偿, MT4 推出了新的归档类型: Category Monthly Archives(分类的按月归档),这个主意的确不错,既方便了读者,也节约了重建速度。

三。大量的 SetVar 和 if 让生成的最终页面空行空格大量增多。
这个也许是模板化的代价,也许是 官方 的疏忽?虽然不影响什么。但是给人感觉很不舒服,我自己修改了下程序,让 MT 自动对页面进行了空格/空行压缩,但是发现速度明显变慢。。也算一郁闷事情吧:)


升级到 MT 4,模板模块化了,但是大量的 SetVar 和 if 让生成的最终页面空行空格大量增多,让人看到实在不爽,小修改了代码,让 MT 程序在发布/重建页面的时候对最终代码进行空格/行的压缩。
办法如下,找到并打开 lib/MT/Template.pm文件,找到 sub build {...},在此函数下面添加以下 Perl 代码

sub easun_html_reduce
{
my ($tmpl ,$res)= @_;
$$res =~ s!\s*\n\s*!\n!isg;
$$res =~ s!(\r|\t|\f| )+! !isg;
return 1;
}

然后转到sub build {...}代码的最后一行
return $res;

在这个之前添加
$tmpl->easun_html_reduce(\$res);

到此完成Hack,保存后重建整个Blog吧:) 相信看见空格和空行明显减少了 :P

MT 4.0 和 MT 3.3x系列模板相差太大,加上 beta 的时候测试过几次,发现都不能直接无修改升级(总有形形色色的错误出现)。
昨天,再次把现在运行的 MySQL 库导出来,导到一个临时的库里面,然后在这个临时数据库中测试MT4.0正式版本,居然发现没有任何错误提示,原来的模板在没有任何改动下完全没有任何错误。

更值得高兴的事情,是我现在用的几个插件:


AutoIPBan 版本 0.02
随机模块加载插件(RandInclude) 版本 0.01
SimpleComment简单评论防SPAM插件 版本 0.01
TCode 版本 3.3.01
RelatedEntries

都在MT4下正常运行而没有任何问题。

恩。这样以来,可以把 MT4的摸板和CSS修改先放一放,先升级吧:)
准备今天晚上把整个系统移植到 MT4.0下来:)

不知道 6A 出于什么考虑。从 MT3.3x到 MT4,MT 模板的一些定义变化了。导致旧的CSS没有办法直接移植到新的系统(如果你使用新系统带的模板的话)。

主要变化在 页面布局 的变化,基本上对应关系如下:

layout-two-column-right -> layout-wt
layout-two-column-left -> layout-tw
layout-three-column -> layout-wtt(宽-窄-窄) 或者 layout-twt (窄-宽-窄)

另外, 模块Class 名字原来 叫 module 现在改成了 widget , 原来所有以 module 的元素名字也改成了 以 widget 开头。

大概变化就这样,如果要使用旧风格,直接把 CSS 按照上面的进行替换,然后再修改细部就可以了。

恩,让我言中了,MT 4 RC1后,连续有了RC2,RC3,RC4,今天发现终于出正式版本了:)
喜欢新版本风格和追求新功能的兄弟姐妹可以更新了:)

由于是正式版本,下载界面也由 MovableType.org 转移到了MovableType.com, 商业气氛一下子就出来了,笑ing...

另外, MovableType.org 也正式宣布了 New Movable Type Plugin Directory 的存在,这个东西我在以前的 Blog文章 中提到过,显然随着新版本的正式推出,也正式从台后走到台前。至少对我来说,这个 Plugin 管理系统修复了N个Bug,现在我发布的插件在 MovableType.org 显示的漂亮了一点。

从 MT 1.0 到现在的 MT4.0, 6A 走了快6年了。希望新版本给大家带来不一样的感觉。

好了,废话完结,我需要测试下MT4.0正式版本,期待能平滑升级自己的网站.

MT 4 RC1 试用小记

| WebBlog Articles

Movable Type 4 终于告别了 beta7 ,但是却迎来了 RC,而且是 RC1。笑ing,估计少不了RC2,RC3。。 到真正的 Release 估计还需要等几天。看来这次 update 真是耗费了 6A 的精力。

周末有空,把测试blog( http://easun.org/temp/mt4/ )升级到了 RC1,也真正的测试了一番,今年由于工作比较忙碌,前几个beta版本虽然也安装了,但是却没有彻底测试,这次一并测试了 :P RC1的确要成熟的多了:)

对于 MT4 系列,其实对我来说最大的亮点如下:

1.Page 的定义:
页面功能。说实在的,在以前版本中这个功能依旧有,只是你需要在 Index Templates 中直接建立新Template而已,这样产生的页面重头开始写起,没有固定的样式和结构。也不可以对之发表评论和引用通告。 而 MT4 系列中,提出了 Page 的定义,说白了就是创立了一个不会出现在归档页面的“Blog文章”而已,可以接受评论和引用通告,可以设定共同的Template来规划相同的样式和结构。 说实在的,对我来说,这个功能最大的好处就是让我的 “Index Templates” List 显的清爽,因为我的 Index Templates List 现在实在太长了(建立了N个页面:P).

2.发表文章的“所见即所得(WYSIWYG)”样式和编辑Template的“代码加色”:
“所见即所得(WYSIWYG)”就不用说了,更重要的是 编辑Template的“代码加色”,实在是方便了很多:) 你说呢?

3.导出的格式包含了tags
好不容易来临的功能,当初可是耗费了精力,还专门给6A写了 email :) 当然,这次 MT 的备份方式不再只是 "导出",还有了"Buckup",可以备份包括Templates,Users在内的所有信息。比"导出"方便多了 :P

MT beta 3 也出来了。
6A 花了数月时间推出的这个较大改动的版本如同给 Blog 界投放一个深水炸弹,一时间,叫好的有,因为Bug而对 MT 失望的也有,甚至有因为升级而导致原来的 Database 完蛋的。。

作为 MT 使用者,我也测试了新版本。结论是这次的 beta 的确是个 beta 。也许是 6A 一向表现的太稳健了,原来的bata版本基本都是很稳定了,所以很多人急的升级,导致问题多多。

不说这个了,通过测试,我发现 MT 4b 对 Template Tag 的处理有了很多变化,一个最重要的,我认为也是很危险的变化就是: MT 在build的时候不在对 Template 中出现的不存在的 Template Tag 做 忽略 处理,而是直接停止 build .

1  

最近发表|Recent Entries

[八卦]话说修路这件事

建国路貌似又在修。根本没有办法步行。这个让我想起来一个笑话:话说某A国人来北京,在东城区丢了一枚戒指,于是乎找警察,警察告诉他尽可能的帮他找。过了几天,此人发现整个东城的马路都挖开了,于是感叹曰:北京的警察真好。看来这个笑话的地点可以换在朝阳了?是不是某人的戒指又丢了?PS: 城市规划城市规划,年年挖年年修。。。生命不休,挖路不止…

[SiteLog]Blog升级到了 Movable Type Pro 4.25

Thisi is a SiteLog of Easun's WebBlog.今天终于升级到了 Movable Type Pro 4.25 ,貌似一切顺利,也没有发现什么特别大的改动?只是 Community Pack 变成了 1.62, Professional Pack 升级成了1.3 。其他的一切顺利,模版也没有修改,我甚至连重建前台HTML的事情都没有做。。。就这样吧,继续用这个风格,等有时间了再慢慢研究吧。如果非要说有什么修改的话,就是评论的登陆方式又丰富了很多,包括…

IE脚本错误,可以尝试以下办法

IE 脚本错误是个很麻烦的问题,一般定位都是 JS 引擎 和 VB 引擎出错。但是有时间反复注册 jscript.dll 和 vbscript.dll 也不能解决问题。具体表现 部分 js 解析正常,而部分就不行,尤其是基于 Web2.0的网站。不说别的,就连 ie7/ie8 本身第一次运行向导的"保存设置"也出错。其实研究下,貌似都出现在 XML 解释上? 重新注册…