[原创][从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 ..\mambots\content\akocommentbot.php
   - Are you trying to install the same CMT twice?
   将提示的akocommentbot.php文件改名后再安装即可。

3:启用触发器,并在后台管理里设置/com_akocomment/settings设定操作模式,
   会自动生成一个文件:..\mambots\content\akocommentbot.xml


--2.安装remository,
先卸载原有的com_remository,在我的系统里卸载没有删除数据库里的数据

1:安装组件:com_akocomment:mod_remositorymulti_chinese_utf-8.zip

2:修改数据仓库的位置等信息

更新数据库记录为:可以先删除后插入一条记录,可以使用一个测试的数据库来生成新纪录,主要是修改路径:

insert into `mos_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.`mos_downloads_containers`
WHERE `filepath` LIKE "/www/mambo%"

再修改:
update mambo.`mos_downloads_containers`
set `filepath`= CONCAT("/www",substr(`filepath`,21))
where `filepath` like "/www/mambo%"

4:修改文件绝对路径:

先测试看看
SELECT `filepath` , CONCAT( "/www", substr( `filepath` , 21 ) )
FROM mambo.`mos_downloads_files`
WHERE `filepath` LIKE "/www/mambo%"

再修改
update mambo.`mos_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:安装

发现问题:几张表mos_zoomfiles ,mos_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号大的)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值