Size: 3198
Comment:
|
← Revision 10 as of 2009-12-25 07:10:06 ⇥
Size: 9360
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
-- Zoom.Quiet [[[DateTime(2005-01-07T16:35:31Z)]]] [[TableOfContents]] = 怎么办? = |
-- Zoom.Quiet [<<DateTime(2005-01-07T16:35:31Z)>>] <<TableOfContents>> = 为什么? = == 怎么办? == |
Line 16: | Line 18: |
= 凉办! = | == 凉办! == === 升级脚本 === * 果然有专门的脚本进行处理! * 台湾 [[http://ljm.idv.tw/mywiki/%e9%a6%96%e9%a0%81|林哲民]] 指点了一下子: * {{{ 我想你之前的文件應該都是用 GB2312 碼存儲的吧? 首先要把 data/ 製作一份備份,移除所有歐洲語系 (latin-1) 的頁面 (如 Hje_e4... 這種) 然後執行 moin-1.3.2 裡面 附的 12_to_13_mig?.py 程式。 一定要看 README 說明,升級全部順利的話 20 分鐘左右 可以做好,但如果沒看說明、或是沒有移掉 latin-1 網頁, 可以搞上幾個小時。 正確轉換的話,連變更記錄和附件都會留下來。 -- 泰山崩兮!禮樂壞兮! }}} === mig 处理流程 === |
Line 79: | Line 101: |
* ..... | == 经历 == * MoinMoin 1.2.3 是 FreeBSD 的Ports 提供的MoinMoin ! * 经过长久安定的运行,还是有些小问题! * 虽然一开始就是指定 UTF-8 的编码进行的管理 * 但是Wiki 森林中,天生有些问题——就是那些个欧洲编码的文章!! * 转换到12_to_13_mig4.py 死活过不去: {{{data.pre-mig4/pages/huanian(2f)MoinEditorBackup/text -> data/pages/huanian(2f)MoinEditorBackup/text Traceback (most recent call last): File "12_to_13_mig4.py", line 148, in ? convert_eventlog(opj(origdir, 'event.log'), opj('data', 'event-log')) File "12_to_13_mig4.py", line 63, in convert_eventlog data[0] = str(convert_ts(float(data[0]))) # we want usecs ValueError: empty string for float() }}} * 幸好,都是Python ,调试一下子,就确定了有问题的 event-log 记录行, * vi 进去,修改好!这次是在行首有非常的二进制“ ”空格!! * 12_to_13_mig6.py 时,则是没有办法将 UTF-8 以外的欧洲字符,转换为Uincode的, * 还是 vi 进去逐一清除! * 到了12_to_13_mig8.py 是死活不行了, * 返回去 干脆 {{{#touch data/event-log}}} 放空 log 记录! * 接着就好了!哈哈哈! * 除了在 RecentChanges 中,报告有些修改动作丢失………………可以忍受!! === 1.2.xto 1.3.3 === * 正式升级 啄木鸟的 Wiki ,这次是升级到 1.3.3 最新版本的MoinMoin.... * 小心再小心的按步就班的升级,还是没有躲了中文的麻烦!! ---- * step but step 按照以上的介绍升级前使用 FreeBSD 的Ports 先升级Python 系统: * {{{ #cd /usr/ports/ #升级Ports 树 #cvsup -sgL2 /usr/share/examples/cvsup/ports-supfile -h tarsier.delphij.net #直接下载最新的Ports 索引..否则你要等候很长时间来重建! #make fetchindex #make searc name=python #询问出最新的Python 包在哪? .. Port: python-2.4_1 Path: /usr/ports/lang/python ... #cd /usr/ports/lang/python #make clean && make install #OK 就可以自动安装完一切!!! }}} * 不过发布的MoinMoin 还是 1.3.1 在 FreeBSD 的Ports 中, * 只好自个儿下载最新的 然后简单的 {{{ #python setup.py install }}} * 完事儿!!MoinMoin 的安装! * 可是!升级就没有如此简单了! * 要求一步步调整原有的内容页面 * 这次我一直顺利的运行到12_to_13_mig6.py 才有问题: * {{{Traceback (most recent call last): File "12_to_13_mig6.py", line 100, in ? convert_eventlog(opj(origdir, 'event-log'), opj('data', 'event-log'), from_encoding, to_encoding) File "12_to_13_mig6.py", line 77, in convert_eventlog val = convert_string(val, enc_from, enc_to) File "12_to_13_mig6.py", line 58, in convert_string return str.decode(enc_from).encode(enc_to) File "/usr/local/lib/python2.4/encodings/utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode byte 0xe5 in position 8: unexpected end of data }}} * 中文!!或是其它欧洲语言的页面访问信息行, event-log 中的不能简单的处理,所以崩溃! * 老办法,修改 12_to_13_mig6.py 先不进行转换,而是报告哪里有问题,然后手工删除有问题的行就好! * '''可是!'''怎么也难以清除,手工枯燥的使用 vi 不断的根据崩溃点的信息来搜索,删除,搜索,删除...怎么也不能完全修正?! * 问了高手,知道一个技巧: {{{ # grep -v OpenGNS%E7 event-log > event-log-fixE7 }}} * 可以将所有包含模式 '''OpenGNS%E7''' 的行忽略,整理出新的文件 * 哈哈哈!!加快了清理工作,要知道啄木鸟Wiki 的 访问事件日志文件已经有 63Mb 之巨!! Vi 效率再高也是痛苦的! ----- * 呜乎哀哉!!可是清除了5个模式,还在不断的崩溃!! * 火大!直接修改脚本,自动跳过有问题的记录行--- 反正一定是文字编码问题,不用理会的! * [[/12_to_13_mig6.py]] -- 修改后的升级脚本 * 世界为之清静!! * 最后报告说{{{ mig6 finished but maybe there is 4424 lines log not transition for some unicode ERROR!! }}} 天!!! * 不过接下来就好了,顺畅的完成!!简单设定一下子 Apache 就重新开启了 啄木鸟的 MoinMoin!!! ==== 惊奇与遗憾 ==== * 最大的感受是: * '''MoinMoin 全部Pythonic 了!!''' * 包括配置文件,等等,一切都是标准的 Python 脚本,没有以前的CGI Perl 的味道了... * {{{<meta name="robots" content="index,nofollow"> }}} * 解析出来的页面居然已经有 '''nofollow''' 这个''避孕套'' 了!!哈哈哈!! * [[http://www.chedong.com/blog/archives/000045.html|+1 rel="nofollow" = 互联网为超链戴上的安全套?! ;-)]] * [[http://blog.cnblog.org/archives/2005/01/wikiaeenofollow.html|wiki也要nofollow - CNBlog: Blog on Blog]] * [[http://heterotopias.org/node/504?PHPSESSID=360790edeeed10347bd3a4b3bf49eb8a|為blog加套套:rel="nofollow" | Heterotopias]] * [[http://www.technorati.com/cosmos/search.html?rank=&url=nofollow|更多....]] ---- * 可惜,{{{[[Include(PageName)]]}}}的嵌入页面,没有了原来快速修改的入口链接.... = 反馈 = * 如果你也面临升级 MoinMoin 有什么问题和经验请分享... |
如何完好的升级到 MoinMoin1.3.1 ?!
-- Zoom.Quiet [2005-01-07 16:35:31]
为什么?
怎么办?
有最新稳定版本了!但是!
MoinMoin 的安装方式没有变化!
- 但是!!目录结构完全变化了!!
- 原先的升级后,也是原有看页面全部不能自动识别,是人工一一恢复的!!
- 这次一定要摸索出正确的方式来!
- 到现在没有头绪!请大家帮忙是也乎!………………
凉办!
升级脚本
- 果然有专门的脚本进行处理!
台湾 林哲民 指点了一下子:
我想你之前的文件應該都是用 GB2312 碼存儲的吧? 首先要把 data/ 製作一份備份,移除所有歐洲語系 (latin-1) 的頁面 (如 Hje_e4... 這種) 然後執行 moin-1.3.2 裡面 附的 12_to_13_mig?.py 程式。 一定要看 README 說明,升級全部順利的話 20 分鐘左右 可以做好,但如果沒看說明、或是沒有移掉 latin-1 網頁, 可以搞上幾個小時。 正確轉換的話,連變更記錄和附件都會留下來。 -- 泰山崩兮!禮樂壞兮!
mig 处理流程
- 呜乎矣哉!按照移植说明,要一一进行转换!
- {{{首先要把 data/ 製作一份備份,移除所有歐洲語系 (latin-1)
的頁面 (如 Hje_e4... 這種) text:
- _d* ##language:sv Aide_* ##language:fr Aiuto* ##language:it H_* ##language:sv Aktuelle_c4nderungen ##language:de
ZufallsSeite ##language:de
text.default 中多有:
- Hi* 是德文的 Hj* 是挪威的
(干脆杀光!反正新版本中是使用underlay 目录专门管理帮助页面了!) """
- 然后,按照原始的:
具体脚本在 MoinMoin/scripts/migration/12_to_13_migN.py (在你MoinMoin安装到的目录, /usr[/local]/lib/python2.x/site-packages/MoinMoin). 有几个脚本问以将你的数据转换到当前版本 你必须,在 停止 旧版Wiki 后,运行 新版Wiki 前进行转换 确定有足够的空间(每次转换都会产生新的复制) 在升级时,先确认你的版本,作为转换入口的依据 你运行的版本 使用的移植(mig)脚本 --------------------------------------------- before 1.2 first upgrade to 1.2.4 and test for a while 1.2.x mig1 - check from_encoding in script! 1.3 <patch-78 mig2 1.3 <patch-101 mig3 1.3 <patch-196, =beta2 mig4 1.3 <patch-221, =beta3 mig5 1.3 <patch-248 mig6 - check from_encoding in script! 1.3 <patch-275, =beta5 mig7 1.3 <patch-305, =beta6 mig8 1.3 <patch-332, =beta7 mig9 1.3rc1 - 修改脚本中的 from_encoding 设置为相应的值, 如果你旧版本的安装中没有使用默认的 iso-8859-1 编码 (在1.2.X 和以前的版本,默许是 iso-8859-1 编码 (你可以在 moin_config.py中使用 charset = '...' 来修改), ) 你必须在 mig 脚本中也进行修改 当然,其实你最后还是要将所有移植脚本按照正确的次序运行一遍的, 以上对照表,仅仅是帮助你记忆,哪些脚本已经运行过?! 将你的 date/ 目录复制到脚本目录中,依次运行所有脚本 结束后,你将获得新版本的数据目录 可能有些东西没并不需要转换,请阅读脚本中的注释获得详细指点 特别要注意 mig5 的脚本. 注意!移植脚本,仅仅能够自动转换你的 文章,并不能转换你定制的插件,在1.3的新API接口面前, 你原先版本的Plugin 并不会良好的工作,需要重新自行调整,与1.3保持一致!
经历
- 经过长久安定的运行,还是有些小问题!
- 虽然一开始就是指定 UTF-8 的编码进行的管理
- 但是Wiki 森林中,天生有些问题——就是那些个欧洲编码的文章!!
- 转换到12_to_13_mig4.py 死活过不去:
{{{data.pre-mig4/pages/huanian(2f)MoinEditorBackup/text -> data/pages/huanian(2f)MoinEditorBackup/text Traceback (most recent call last):
- File "12_to_13_mig4.py", line 148, in ?
- convert_eventlog(opj(origdir, 'event.log'), opj('data', 'event-log'))
- data[0] = str(convert_ts(float(data[0]))) # we want usecs
ValueError: empty string for float() }}}
- 幸好,都是Python ,调试一下子,就确定了有问题的 event-log 记录行,
- vi 进去,修改好!这次是在行首有非常的二进制“ ”空格!!
- 12_to_13_mig6.py 时,则是没有办法将 UTF-8 以外的欧洲字符,转换为Uincode的,
- 还是 vi 进去逐一清除!
- 到了12_to_13_mig8.py 是死活不行了,
返回去 干脆 #touch data/event-log 放空 log 记录!
- 接着就好了!哈哈哈!
除了在 RecentChanges 中,报告有些修改动作丢失………………可以忍受!!
1.2.xto 1.3.3
正式升级 啄木鸟的 Wiki ,这次是升级到 1.3.3 最新版本的MoinMoin....
- 小心再小心的按步就班的升级,还是没有躲了中文的麻烦!!
- step but step 按照以上的介绍升级前使用 FreeBSD 的Ports 先升级Python 系统:
#cd /usr/ports/ #升级Ports 树 #cvsup -sgL2 /usr/share/examples/cvsup/ports-supfile -h tarsier.delphij.net #直接下载最新的Ports 索引..否则你要等候很长时间来重建! #make fetchindex #make searc name=python #询问出最新的Python 包在哪? .. Port: python-2.4_1 Path: /usr/ports/lang/python ... #cd /usr/ports/lang/python #make clean && make install #OK 就可以自动安装完一切!!!
不过发布的MoinMoin 还是 1.3.1 在 FreeBSD 的Ports 中,
只好自个儿下载最新的 然后简单的
#python setup.py install
完事儿!!MoinMoin 的安装!
- 可是!升级就没有如此简单了!
- 要求一步步调整原有的内容页面
- 这次我一直顺利的运行到12_to_13_mig6.py 才有问题:
- {{{Traceback (most recent call last):
- convert_eventlog(opj(origdir, 'event-log'), opj('data', 'event-log'), from_encoding, to_encoding)
- val = convert_string(val, enc_from, enc_to)
- return str.decode(enc_from).encode(enc_to)
- return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe5 in position 8: unexpected end of data }}}
- 中文!!或是其它欧洲语言的页面访问信息行, event-log 中的不能简单的处理,所以崩溃!
- 老办法,修改 12_to_13_mig6.py 先不进行转换,而是报告哪里有问题,然后手工删除有问题的行就好!
可是!怎么也难以清除,手工枯燥的使用 vi 不断的根据崩溃点的信息来搜索,删除,搜索,删除...怎么也不能完全修正?!
- 问了高手,知道一个技巧:
# grep -v OpenGNS%E7 event-log > event-log-fixE7
可以将所有包含模式 OpenGNS%E7 的行忽略,整理出新的文件
- 哈哈哈!!加快了清理工作,要知道啄木鸟Wiki 的 访问事件日志文件已经有 63Mb 之巨!! Vi 效率再高也是痛苦的!
- 呜乎哀哉!!可是清除了5个模式,还在不断的崩溃!!
- 火大!直接修改脚本,自动跳过有问题的记录行--- 反正一定是文字编码问题,不用理会的!
/12_to_13_mig6.py -- 修改后的升级脚本
- 世界为之清静!!
最后报告说
mig6 finished but maybe there is 4424 lines log not transition for some unicode ERROR!!
天!!!
不过接下来就好了,顺畅的完成!!简单设定一下子 Apache 就重新开启了 啄木鸟的 MoinMoin!!!
惊奇与遗憾
- 最大的感受是:
MoinMoin 全部Pythonic 了!!
- 包括配置文件,等等,一切都是标准的 Python 脚本,没有以前的CGI Perl 的味道了...
{{{<meta name="robots" content="index,nofollow">
}}}
解析出来的页面居然已经有 nofollow 这个避孕套 了!!哈哈哈!!
可惜,[[Include(PageName)]]的嵌入页面,没有了原来快速修改的入口链接....
反馈
如果你也面临升级 MoinMoin 有什么问题和经验请分享...