阳光百科迁移计划
目录
时间线(8月1日进行调整,整体延期一周)
- 8月2日导入标准页面(课程总结、课程提纲、学生课堂表现)
- 8月4日导入非标准页面
- 8月6日界面调试完毕
- 8月7日旧百科进入只读模式,www.ygclub.org/wiki指向新百科
待完成任务列表
- 导入总结帖、助教总结、学生课堂表现
- 总结帖、助教反馈、学生表现关联
- 非标准页面导入
- 图像的导入
- 不同课程用不同的logo
- 一个定制的皮肤( http://www.mediawiki.org/wiki/Manual:Gallery_of_user_styles)
- 导入层级类目体系
- 采用类目体系来组织多次上过的课程和正在开发的课程
互动百科导入维基百科数据的关键点
互动百科的数据格式:html
互动百科的数据格式保存的形式是html,在数据库中位于表wiki_doc中
其中,我们需要title, tags, summary和content。
而content里面的内容是html格式,mediawiki对其并非完全支持,我们需要对它进行处理。
维基百科的数据格式:wiki markup
维基源代码的格式点击本页右上角编辑源代码可以看到。
维基百科的数据格式和html部分相容
比如如下一段话,源代码其实是比较复杂的html,但是维基仍然可以比较好的解析:
A hunting we will go, a hunting we will go,
Heigh ho, the dairy-o, a hunting we will go!
A hunting we will go, a hunting we will go,
We'll catch a fox and put him in a box,
And then we'll let him go!
A hunting we will go, a hunting we will go,
Heigh ho, the dairy-o, a hunting we will go!
A hunting we will go, a hunting we will go,
We'll catch a fish and put him on a dish,
And then we'll let him go!
A hunting we will go, a hunting we will go,
Heigh ho, the dairy-o, a hunting we will go!
A hunting we will go, a hunting we will go,
We'll catch a bear and cut his hair,
And then we'll let him go!
A hunting we will go, a hunting we will go,
Heigh ho, the dairy-o, a hunting we will go!
A hunting we will go, a hunting we will go,
We'll catch a pig and dance a little jig,
And then we'll let him go!
A hunting we will go, a hunting we will go,
Heigh ho, the dairy-o, a hunting we will go!
A hunting we will go, a hunting we will go,
We'll catch a giraffe and make him laugh,
And then we'll let him go!
维基百科的图片和链接与html不相容
当出现链接和图片的时候,需要进行转换才能正常显示。 也就是<img>标签以及<a>标签,维基百科是不支持的。
- <img>标签的处理,维基百科支持的是直接输入图片的链接地址,比如
- <a> 标签的处理,维基百科支持的如下的语法 链接
hdwiki和mediawiki表格严重不兼容
表格需要另外想办法处理,两边非常不兼容,所以阳光百科的课程总结、上课准备提纲都有专门的程序转换,这里只考虑非标准页面(不是课程提纲、总结、学生课堂表现)的页面。
还有一些其他问题待补充
理想的效果
针对每一个hdwiki的页面(现在大概800个),都生成一个对应的wiki markup的文本文件。
新旧百科兼容性
这里讨论迁移完成后的兼容性
数据兼容性
链接兼容性
- 访问旧百科链接诸如http://www.ygclub.org/wiki/index.php?doc-view-71.html页面时,跳转到http://www.ygclub.org/hdwiki/index.php?doc-view-71.html
- 旧百科图片链接地址保持相容
- 旧百科所有页面显示只读和过期信息,建议大家使用新百科
- 半年内新百科首页显著标出旧版本地址
上线步骤
- hdwiki设为只读(混沌)
- 导出hdwiki数据
- 导出总结帖:
SELECT did,`views`,`edits`,author,title,summary,tag,content FROM `wiki_doc` WHERE title like '%课程总结%' and content like '%课程回顾%' and content like '%第一次活动%' limit 1,300;
- 运行转换程序
- 写入新页面
- mediawiki可用性冒烟测试
- /var/www/www.ygclub.org/wiki 更改为 /var/www/www.ygclub.org/hdwiki
- /var/www/www.ygclub.org/mediawiki 更改为 /var/www/www.ygclub.org/wiki
- 复制hdwiki的uploads目录到wiki
- 链接兼容性冒烟测试
回滚方案
- /var/www/www.ygclub.org/wiki 更改为 /var/www/www.ygclub.org/mediawiki
- /var/www/www.ygclub.org/hdwiki 更改为 /var/www/www.ygclub.org/wiki