Welcome!    Register now    Login  
Menu chính
Tư liệu - Tiện ích
Tin tiếng Việt

Xã hội

4 cán bộ cao cấp của Vinashin bị bắt (0) External link to  4 cán bộ cao cấp của Vinashin bị bắt +
'Trục Hồ Tây - Ba Vì nên đặt là đường Độc lập' (0) External link to  'Trục Hồ Tây - Ba Vì nên đặt là đường Độc lập' +

Thế giới

Nông dân Trung Quốc lao đao vì lợn rừng (0) External link to  Nông dân Trung Quốc lao đao vì lợn rừng +
Truyền thông Nhật đánh giá cao vị thế của Việt Nam (0) External link to  Truyền thông Nhật đánh giá cao vị thế của Việt Nam +

Kinh doanh

Giá vàng vượt đỉnh 29,30 triệu đồng (0) External link to  Giá vàng vượt đỉnh 29,30 triệu đồng +
Doanh nghiệp Việt băn khoăn xây dựng thương hiệu toàn cầu (0) External link to  Doanh nghiệp Việt băn khoăn xây dựng thương hiệu toàn cầu +

Pháp luật

Cựu sinh viên điều hành đường dây gái gọi (0) External link to  Cựu sinh viên điều hành đường dây gái gọi +
Đôi nam nữ chết trong phòng trọ (0) External link to  Đôi nam nữ chết trong phòng trọ +

Đời sống

Rộ tin đồn ngôi chùa 'oán' tình nhân (0) External link to  Rộ tin đồn ngôi chùa 'oán' tình nhân +
Bé gái bị đẻ rơi trên xe buýt (0) External link to  Bé gái bị đẻ rơi trên xe buýt +
Đăng nhập
Bí danh:

Mật khẩu:



Lost Password?

Register now!
Calendar


Thanks to
TOP  >  Tài liệu kỹ thuật  >  How to upgrade to XCL from XOOPS 2.0.x / ImpressCMS
This 'howto' is basically the same to the wiki by minahito. I just expressed it in a different way, in my poor English. Hope this will be useful for some of you.

Before you read further, please take a look at my mini FAQ :-)

Q1. Why do I need to move to XCL?

A1. Please read and view carefully the following resources:

- The 10 reasons why you should touch XOOPS Cube
- Above content described in other way: graphical instead of text. Click me.

Q2. When should I move to XCL?

A2. When all of your modules that are currently working on Xoops.org/ImpressCMS:

- are compatible with XCL;
- can be replaced with other modules that are compatible with XCL.

Q3. Where should I do the migration?

A3. On your local machine, not on your production server.

Only when the migration went smoothly and the migrated site at your local works perfect, you could synchronize it to your production site.

Scope

This howto is worth reading if you are trying to migrate to XCL 2.1.4 from one of the following cores with Protector installed:

- Xoops 2.0.16a-JP (from xoopscube.jp)

- Xoops 2.0.X (from xoops.org)

The DB structure of the 2.0.X series from xoops.org looks almost exactly to XCL except for some minor changes in data length. See the diff below:

$ diff Package_Legacy/html/install/sql/mysql.structure.sql \
xoops-2.0.18.1/htdocs/install/sql/mysql.structure.sql 
170c170
<   conf_title varchar(30) NOT NULL default '',
---
>   conf_title varchar(255) NOT NULL default '',
172c172
<   conf_desc varchar(30) NOT NULL default '',
---
>   conf_desc varchar(255) NOT NULL default '',
187c187
<   confcat_name varchar(25) NOT NULL default '',
---
>   confcat_name varchar(255) NOT NULL default '',
365,366c365
< ) TYPE=MyISAM AUTO_INCREMENT=2 ;
< # mid=1 is reserved for old XOOPS system module
---
> ) TYPE=MyISAM;

- ImpressCMS 1.0 Final (Janus) (from impresscms.org)

It's based on xoops 2.0.17. It has the DB structure nearly the same to xoops.org 2.0.X except for one additional table called block_positions. We don't need this table in XCL.

This 'howto' is done based on my real experience of migrating from ImpressCMS to XCL. I did not test on other cores but it must work on Xoops 2.0.16a-JP, and Xoops 2.0.X without problems.

Environments

I am running xoops stuffs on my own Linux server which I have full control over it. I did almost of things via command lines. Please see the commands and translate them to English to achieve the same results if you use GUI and/or Microsoft Windows.

- Linux x64
- Apache 2.2.x
- MySQL 5.0.x
- PHP 5.2.x
- ImpressCMS 1.0
- XCL 2.1.4

In this article I use some following 'definitions' for simplicity. Please applied theme to yours properly.

- XOOPS_ROOT_PATH is /home/avtx30/html
- XOOPS_TRUST_PATH is /home/avtx30/xoops_trust_path
- XOOP_URL is http://www.mydomain.com
- MYDBUSER is MySQL database username
- MYDBPASS is MySQL database password
- MYDBNAME is MySQL database name
- MYPREFIX is MySQL database tables' prefix

-------------------------HERE WE GO------------------

STEP 1 Preparation

1. I checked my server PHP version. It's 5.2.5

2. I checked my current xoops version. It's ImpressCMS 1.0 (Final)

3. I checked the compatibility of my modules. Almost of them are said to work on XCL except for 2 modules: article 1.0 (by phppp), and Liaise 1.2x (from brandycoke.com). I was confident to move. I was planning to replace 'article' by onokazu's Xigg, and 'Liaise' by Marijuana's inquiry.

4. I checked whether my modules require the system module for compatibility. I found 1 modules need 'system', it was multiMenu 1.1X (from malaika-system). I decided to keep the 'system' module of ImpressCMS for multiMenu compatibility.

I also found that xoopstube 1.0.x (by McDonald), SmartFAQ 1.0X (from smartfactory.ca), and rw_banner 1.X (from brinfo.com.br) needs 'system' for their own blocks/permission setting function. Because I use GIJOE's Altsys I don't need such functions so I planned to ignore some PHP warnings if they happen to appear.

STEP 2 Close site

The following step numbers are not sync. with minahito's wiki.

1. Backup database (first time)

I've been training myself to backup everything before changing stuffs. This habit has saved me alot of works. I backup my database so that I can go back to the working state if anything went wrong during the migration.

$ cd
$ mysqldump -uMYDBUSER -pMYDBPASS MYDBNAME > original.sql

2. Backup files/directories

I backup files/directories using rsync

$ mkdir ~/html_backup
$ cd ~/html_backup/
$ rsync -avh ~/html/ .

3. Change site preferences

I log in to my current site (powered by ImpressCMS) as admin. At the 'General Settings' under 'Preferences Main' I selected the following settings then click 'Go!'.

- Default language: english
- Module for your start page: None
- Default theme: default
- Selectable themes: default
- Debug mode: Enable debug (inline mode)
- Turn your site off?: Yes
- Module-wide Cache: No Cache (for all modules)

4. Hide all blocks

Within 'Blocks Administration', I set the 'Visible' property of all blocks (to show in every pages) to 'No'.

5. Remove incompatible modules

I uninstall the 2 modules that are not compatible with Xoops: article 1.0 and Liaise 1.2X. After that I removed them (directory names: 'article' and 'liaise') from XOOPS_ROOT_PATH/modules directory.

6. Backup database (second time)

I backup my database so that I can go back to the working state (site-closed) if anything went wrong during the migration.

$ cd
$ mysqldump -uMYDBUSER -pMYDBPASS MYDBNAME > closing.sql

STEP 3 File replace

The following step numbers are not sync. with minahito's wiki.

1. I deleted all of files/directories (include the .htaccess file under XOOPS_ROOT_PATH), except for the following files/directories:

- XOOPS_ROOT_PATH/favicon.ico
- XOOPS_ROOT_PATH/images
- XOOPS_ROOT_PATH/modules
- XOOPS_ROOT_PATH/themes
- XOOPS_ROOT_PATH/uploads
- XOOPS_TRUST_PATH

2. Download and unzip Xoops Cube Legacy

I download XCL version 2.1.4 from xoopscube.org, unzip it, remove un-wanted contents, move the upgrade module to it proper place, then copy the whole content under its 'html' directory to my XOOPS_ROOT_PATH.

Files/directories of XCL to be removed:

- favicon.ico
- mainfile.php
- install/
- uploads/

I moved the 'XUpgrade' directory under 'extras' to 'html/modules'

Here are the actual commands:

$ cd
$ wget http://nchc.dl.sourceforge.net/sourceforge/xoopscube/Package_Legacy_2_1_4.zip
$ unzip Package_Legacy_2_1_4.zip
$ cd Package_Legacy/html/
$ rm -rf install/ uploads/ favicon.ico mainfile.php
$ mv ../extras/XUpgrade/ modules/
$ tar cf ~/xcl214.tar *
$ cd ~/html/
$ tar xf ~/xcl214.tar

STEP 4 Upgrade

1. Manually create the 'mainfile.php'

I renamed the file 'mainfile.dist.php' under XOOPS_ROOT_PATH to 'mainfile.php'. I wanted a clean 'mainfile.php' for XCL. I intentionally did not use the old 'mainfile.php' because there are a lot of 'hacks' inside it. With XCL, I don't need any 'hacks'.

I edited 'mainfile.php' so that it looks like following:

- Line 34, 39, 44 accordingly:
    define('XOOPS_ROOT_PATH', '/home/avtx30/html');
    define('XOOPS_TRUST_PATH', '/home/nhatban/xoops_trust_path');
    define('XOOPS_URL', 'http://www.mydomain.com');

- Line 48, 52, 56, 60, 64, 68, 72 accordingly:
    define('XOOPS_DB_PREFIX', 'MYPREFIX');
    define('XOOPS_SALT', '');
    define('XOOPS_DB_HOST', 'localhost');
    define('XOOPS_DB_USER', 'MYDBUSER');
    define('XOOPS_DB_PASS', 'MYDBPASS');
    define('XOOPS_DB_NAME', 'MYDBNAME');

- Line 99-106:

if (!defined('_LEGACY_PREVENT_LOAD_CORE_') && XOOPS_ROOT_PATH != '') {
    require 
XOOPS_TRUST_PATH.'/modules/protector/include/precheck.inc.php' ;
    @include_once 
XOOPS_ROOT_PATH.'/include/cubecore_init.php';
    if (!isset(
$xoopsOption['nocommon']) && !defined('_LEGACY_PREVENT_EXEC_COMMON_')) {
        include 
XOOPS_ROOT_PATH.'/include/common.php';
    }
    require 
XOOPS_TRUST_PATH.'/modules/protector/include/postcheck.inc.php' ;
}



2. Change directory permissions for templates_c and cache

I chmod related directories for write permission.

$ cd ~/html/
$ chmod 0777 templates_c/
$ chmod 0777 cache/

3. I opened my site from a web browser to see what happen

The first thing I saw is a familiar site-closing window with XCL looks.



I logged in with my admin account to be asked to install XCL modules.



I checked the 'XUpgrade'. This is very important because the upgrade will be done by installing this module.

4. I went to the module management, and update all of my modules. Since XUpgrade had finished its job, I uninstalled it and delete it from my server.

STEP 5 Open site

1. I went to the front page and check if my modules were working. I found no problems.

2. I need the 'system' module for compatibility but there's not need to have it installed so I uninstalled it and did not delete it from my server.

3. I used 'Altsys' to arrange blocks. I found no difficulty placing them. Altsys is just great!!

4. Custom blocks are also successfully placed using Altsys.

5. I manually recovered all my preferences so that the site looks exactly to its origin (before migration)

At the 'General Settings' under 'Preferences Main' I selected the following settings then click 'Go!'.

- Default language: english
- Module for your start page: None
- Default theme: MYTHEME
- Selectable themes: MYTHEME
- Debug mode: Off
- Turn your site off?: No
- Module-wide Cache: case-by-case

Appendix 1: Module list

I had successfully migrated my ImpressCMS to XCL with the following modules:

- Altsys 0.58 (GIJOE - block/permission/template/language constants utility)
- Protector 3.17 (GIJOE - security)
- multiMenu 1.15 (malaika-system - custom menus)
- sitemap 1.03 (GIJOE - sitemap)
- tellafriend (GIJOE - tell-a-friend)
- waiting 0.95 (GIJOE - waiting content manager)
- mylists (custom module)
- marquee 2.41 (instant-zero - marquee)
- rw_banner 1.5 (brinfo.com.br - banner system)
- mycal (custom module)
- attach 0.4 (unknown-artifacts.info - files attacher)
- happy_linux 1.40 (ohwada's framework)
- happy_search 0.53 (search with google)
- d3pipes 0.60 (GIJOE - RSS feeds)
- logcounterx 2.71 (Taq - site access statistics)
- news 1.54 (instant-zero - news)
- smartfaq 1.08 (smartfactory.ca - FAQ)
- pico 1.6 (GIJOE - static contents)
- d3forum 0.82 (GIJOE - forums)
- xoopstube 1.03 (McDonald - video)
- xpress 2.05 (phppp - wordpress for xoops)
- d3downloads 0.82c (photositelinks - downloads)
- d3xcgal 0.23 (oceanblue - D3 version of xcGal)
- xwords 0.46 (kanpyo.net - based on wordbook)
- mylinks 1.10

Afterword

I've just tried to write this 'howto' from my hands-on experience but I don't know if you can understand it well. Questions, comments are welcomed. I am happy if this could help some of you who are trying to reach XCL.
Tell a friend
Votes:191 Average:3.98
Prev
How to migrate to Xoops Cube Legacy
top of the category
Tài liệu kỹ thuật




Thảo luận mới
Tin tiếng Việt

Văn hóa

Triệu Vy, Trần Khôn tái ngộ (0) External link to  Triệu Vy, Trần Khôn tái ngộ +
Bóng hồng trên thảm đỏ LHP Venice (0) External link to  Bóng hồng trên thảm đỏ LHP Venice +

Thể thao

'Bức tường' Wozniacki (0) External link to  'Bức tường' Wozniacki +
Những vụ tuyển mộ tốt nhất hè năm nay (0) External link to  Những vụ tuyển mộ tốt nhất hè năm nay +

Khoa học

Núi lửa tại Indonesia phun cột tro cao 3.000 m (0) External link to  Núi lửa tại Indonesia phun cột tro cao 3.000 m +
Ong vò vẽ không chấp nhận kẻ gian trá (0) External link to  Ong vò vẽ không chấp nhận kẻ gian trá +

Vi tính

Những sự kiện công nghệ nổi bật trong tuần (0) External link to  Những sự kiện công nghệ nổi bật trong tuần +
Apple ra mắt máy nghe nhạc iPod lừng danh thế hệ mới (0) External link to  Apple ra mắt máy nghe nhạc iPod lừng danh thế hệ mới +

Cười

Những tình huống hài hước của phụ nữ (0) External link to  Những tình huống hài hước của phụ nữ +
Siêu điện thoại di động (0) External link to  Siêu điện thoại di động +
Sponsors