摘要:
本文记录了网站由mambo迁移到joomla的过程中插件、组件的迁移
作者:陈海青(josonchen)
(http://www.chq.name)
(http://www.hhrz.org)
(http://junit.vicp.net)
[原创][从mambo到joomla的迁移实战之四]插件、组件的迁移
作者:陈海青(josonchen)
(http://www.chq.name)
(http://www.hhrz.org)
(http://junit.vicp.net)
日期:2007.11.27 - 2007.12.02
摘要:
本文记录了网站由mambo迁移到joomla的过程中插件、组件的迁移
关键字:
Joomla! 1.0, 迁移,插件,组件,升级,akobook,akocomment,remository,zoom ,Joomla,mambo,UTF-8,
--------------
源环境:
操作系统:unix - bsd
数据库:MySQL - 4.0.27:
数据库字符集:character set latin1
CMS:mambo/mambor
目标环境:
操作系统:windows
数据库:MySQL - 4.0.27:
数据库字符集: CHARACTER SET utf8
CMS:joomla
工具软件:
ultraedit 文本编辑工具
Beyond Compare 目录比较工具
----
操作步骤:
!!!!很重要:首先先备份好数据库和目录,避免数据丢失!!!!!
一、确定需要迁移的插件,直接到插件所在的目录查找即可,主要有:
com_akobook
com_akocomment
com_remository
com_zoom
二、迁移插件等:(待续)
!!!!很重要:首先先备份好数据库和目录,避免数据丢失
1:迁移图像目录images:将原有图像目录的stories拷贝到新网站
2:迁移组件:
1)需要迁移的组件:
com_akobook,使用Easybook代替
com_akocomment,使用joomla版本
com_remository,使用joomla版本
com_zoom,使用joomla版本
--1.安装akocomment,需要安装组件(com_akocomment)和触发器(akocommentbot)
先卸载原有的com_akocomment,在我的系统里卸载没有删除数据库里的数据
1:安装组件: com_akocomment
2:安装触发器:bot_akocomment
会提示错误提示错误:There is already a file called ..mambotscontentakocommentbot.php
- Are you trying to install the same CMT twice?
将提示的akocommentbot.php文件改名后再安装即可。
3:启用触发器,并在后台管理里设置/com_akocomment/settings设定操作模式,
会自动生成一个文件:..mambotscontentakocommentbot.xml
--2.安装remository,
先卸载原有的com_remository,在我的系统里卸载没有删除数据库里的数据
1:安装组件:com_akocomment:mod_remositorymulti_chinese_utf-8.zip
2:修改数据仓库的位置等信息
更新数据库记录为:可以先删除后插入一条记录,可以使用一个测试的数据库来生成新纪录,主要是修改路径:
如
insert into `jos_downloads_repository`(`id`,`sequence`,`windowtitle`,`keywords`,`version`,`Use_Database`,`tabclass`,`tabheader`,`headerpic`,`ExtsOk`,`Down_Path`,`Up_Path`,`Large_Text_Len`,`Small_Text_Len`,`Small_Image_Width`,`Small_Image_Height`,`Large_Image_Width`,`Large_Image_Height`,`MaxSize`,`Max_Up_Per_Day`,`Max_Up_Dir_Space`,`Favourites_Max`,`Max_Thumbnails`,`Default_Version`,`Date_Format`,`Anti_Leach`,`Allow_Up_Overwrite`,`Allow_User_Sub`,`Allow_User_Edit`,`Allow_User_Up`,`Enable_Admin_Autoapp`,`Enable_User_Autoapp`,`Allow_Comments`,`Allow_Votes`,`Allow_Large_Images`,`Enable_List_Download`,`User_Remote_Files`,`See_Containers_no_download`,`See_Files_no_download`,`Send_Sub_Mail`,`Sub_Mail_Alt_Addr`,`Sub_Mail_Alt_Name`,`Time_Stamp`,`download_text`) values (0,0,'','','',1,'sectiontableentry2,sectiontableentry1','sectiontableheader','www/components/com_remository/images/header.jpg','txt,exe,tar,gz,rar,zip,png,gif,jpg,pdf,doc,jar,chm,war,mpg,mpeg','/www/downloads','/www/downloads/uploads',300,550,100,100,900,900,10000,10,50000,0,0,'','d M Y',0,1,1,1,1,0,0,1,1,1,0,0,1,1,1,'111000641','','','');
或者修改之:
update `aaa_downloads_repository` set `Down_Path`="... ",`Up_Path`="... "
。。。
3:修改容器的绝对路径:
先测试看看:
SELECT `filepath` , CONCAT( "/www", substr( `filepath` , 21 ) )
FROM mambo.`jos_downloads_containers`
WHERE `filepath` LIKE "/www/mambo%"
再修改:
update mambo.`jos_downloads_containers`
set `filepath`= CONCAT("/www",substr(`filepath`,21))
where `filepath` like "/www/mambo%"
4:修改文件绝对路径:
先测试看看
SELECT `filepath` , CONCAT( "/www", substr( `filepath` , 21 ) )
FROM mambo.`jos_downloads_files`
WHERE `filepath` LIKE "/www/mambo%"
再修改
update mambo.`jos_downloads_files`
set `filepath` = CONCAT( "/www", substr( `filepath` , 21 ) )
WHERE `filepath` LIKE "/www/mambo%"
提示:点击后台菜单上的“组件 -> Remository -> 设置”,点击“权限”标签,将第二项“在数据库中存储下载文件(默认)”设置为否。然后删除组件自行建立的容器,自己重新添加容器和文件,这样即可保证所有上传的文件存储在FTP空间里而不是数据库里。
--3.安装com_zoom,需要安装组件(com_remository)和触发器(akocommentbot)
zOOm Media Gallery 媒体库组件2.5.1RC4简繁中文版 -- com_zoom_5f251rc4_wk08_chinese_utf-8.zip
下载地址:http://www.joomlagate.com/component/option,com_remository/Itemid,48/func,fileinfo/id,243/
1:卸载原有的com_zoom,在我的系统里卸载没有删除数据库里的数据
2:安装
发现问题:几张表jos_zoomfiles ,jos_zoom_priv :字符集由gbk_chinese_ci修改为utf8
3:存在的问题
进入“管理媒体库”模块时,树状目录的目录名为乱码,但不影响使用。
--4:安装Easybook 留言本组件、模块1.1简繁中文版
1:安装组件com_easybook
2:安装触发器:JOOMLA_bot_easybooksearchbot_1.1_stable_easy-joomla.zip
3:安装模块:mod_eblastpost_1_0_1.zip
三、其他工作
Mambo 和 Joomla! 运行时都会默认PHP 的环境设置变量register_globals = on. 在现代的web应用程序设计中,这常常被认为是一个不受欢迎的条件. 一个生产站点的首选设置应是register_globals = off. 在出现问题是,这样做的确可能阻止对程序bugs或编程陋习的恶意攻击.
在Joomla!要进行这样的设置,可以首先将globals.php改名为globals.php-on,然后将globals.php-off 改名为globals.php.
然而,在这种设置下,我们并不能担保所有的客户附加软件都能正常工作,因为其作者可能还要依赖于或默认为register_globals 被设置为On.
---1:发现模块位置有重复记录,删除一个
---2:发现模块管理 [ 管理后台 ] (/ com_modules)有重复记录, 清理之(不发布其中一个),相关数据表#_modules
---3:发现模块管理 [ 前台 ] ( / com_modules)有重复记录, 清理之(不发布其中一个,建议去掉id号大的)