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

Xã hội

22 ôtô nằm kho chờ sân bãi tập lái (0) External link to  22 ôtô nằm kho chờ sân bãi tập lái +
Những mảnh vỡ sót lại sau vụ xe khách rơi xuống sông (0) External link to  Những mảnh vỡ sót lại sau vụ xe khách rơi xuống sông +

Thế giới

Máy bay Mỹ tập trận trước thềm hội nghị NATO (0) External link to  Máy bay Mỹ tập trận trước thềm hội nghị NATO +
Philippines ngăn người dân tự ra bãi cạn tranh chấp (0) External link to  Philippines ngăn người dân tự ra bãi cạn tranh chấp +

Kinh doanh

Giá xăng dầu nhập khẩu tiếp tục giảm mạnh (0) External link to  Giá xăng dầu nhập khẩu tiếp tục giảm mạnh +
Ra mắt Thời báo Ngân hàng online (0) External link to  Ra mắt Thời báo Ngân hàng online +

Pháp luật

Mua khách sạn làm động ma túy (0) External link to  Mua khách sạn làm động ma túy +
Cục trưởng Cục Hàng hải bị bắt (0) External link to  Cục trưởng Cục Hàng hải bị bắt +

Đời sống

Cách lịch sự 'đuổi' hàng rong (0) External link to  Cách lịch sự 'đuổi' hàng rong +
Nữ sinh tử vong vì bác sĩ nhầm lao với bệnh tương tư (0) External link to  Nữ sinh tử vong vì bác sĩ nhầm lao với bệnh tương tư +
Đăng nhập
Username:

Password:



Lost Password?

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:378 Average:3.81
Prev
How to migrate to Xoops Cube Legacy
top of the category
Tài liệu kỹ thuật

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

Văn hóa

'John Travolta từng quan hệ với bạn diễn đồng giới' (0) External link to  'John Travolta từng quan hệ với bạn diễn đồng giới' +
Đức Hùng khiêu vũ với bạn nhảy của Tuấn Tú (0) External link to  Đức Hùng khiêu vũ với bạn nhảy của Tuấn Tú +

Thể thao

5 lý do giúp Chelsea ở chung kết Champions League (0) External link to  5 lý do giúp Chelsea ở chung kết Champions League +
Bayern và ác mộng ở chung kết năm 1999 (0) External link to  Bayern và ác mộng ở chung kết năm 1999 +

Khoa học

Trái đất nóng dần (0) External link to  Trái đất nóng dần +
Nguồn nước ngầm Việt Nam suy giảm (0) External link to  Nguồn nước ngầm Việt Nam suy giảm +

Vi tính

Chuyến phiêu lưu trong vài giây của mỗi e-mail (0) External link to  Chuyến phiêu lưu trong vài giây của mỗi e-mail +
Galaxy S III nhận 9 triệu đơn đặt hàng (0) External link to  Galaxy S III nhận 9 triệu đơn đặt hàng +

Cười

Bé 30 tháng múa côn như võ sư (0) External link to  Bé 30 tháng múa côn như võ sư +
Nghi ngờ có cơ sở (0) External link to  Nghi ngờ có cơ sở +

Copyright © 2005-2011 Nhatban.net. All Rights Reserved. Supported by SCS (Việt Nam) : Designed By Theme4u.Net