一般的なこと

Nucleusからの移行

2010年5月30日

NucleusからデータをエクスポートしてJeansに取り込むための、Nucleus用のプラグインを書いてみました。ソースコードはこの記事の最後のほうに挙げておきます。

方法
1)Jeans CMSを、どこかにインストールする。
2)Jeans CMSにおけるメンバーを、Nucleus CMSのメンバーと同じに設定する。注意点としては、JeansでのメンバーIDと名前を、NucleusでのメンバーIDと本名に合わせること。ログイン名(表示される名前)は異なっていてもかまわない。
3)Nucleusに、NP_Export4Jeans(後述)をインストールする。
4)NP_Export4Jeansのプラグインオプション編集画面に入り、Index URLとMedia URLを設定する。通常、Index URLにはJeansをインストールしたURLを、Media URLにはJeansのスキンURL内のmediaディレクトリ(skins/media/)を選択する。
5)プラグインオプション編集画面内の、「Export」をクリックする。
6)ブラウザの別ウィンドウ(もしくは、タブ)内でJeans CMSの管理画面に入り(管理者でのログインが必要)、「データベース」のページに入る。
7)上の5で表示された内容を、「クエリー」窓にペーストし、「クエリーを実行」を押す。
8)メディアファイルを、skins/media/に移動もしくはコピーする。

以上です。あとは、Jeans CMSの管理画面内で、細かな修正を行ってください。

NP_Export4Jeans.phpを、Sourceforgeから取得して、Nucleusにインストールして用いてください。
コードの最後のほう、「function modify_item_extra($text){」から後の部分は、利用環境に応じて、適当に編集して用いてください。

追記(5/31)
NP_Export4Jeansのバージョンを、0.2に上げました。imagepopup周り、及びhttp://から始まる業を含むコメントでの不具合を修正しています。

コメント

Katsumi (2010年5月30日 10:57:28)

「クエリーを実行」をおした時、データーのアップロードに時間がかかって、サーバーエラーを起こすような場合は次のように。

1)一度ローカルな環境にJeansをインストールし、ここにすべてのデータを移行する
2)「sqlite/.htdbsqlite」ファイルをサーバー上にFTPか何かでアップロードする。

Katsumi (2010年5月30日 11:19:41)

メディアファイルのサーバー内でのコピーは、次のファイルをskins/media/に置いて実行するなどすればよい。使用の場合は、若干の修正が必要(3行目)。

<?php

define('_ORG','../../../nucleus/media/');
define('_DST','./');

copyto('./');

function copyto($dir){
$d=dir(_ORG.$dir);
while($file=$d->read()) {
if (substr($file,0,1)=='.') continue;
if (is_dir(_ORG.$dir.$file)) {
mkdir(_DST.$dir.$file);
copyto($dir.$file.'/');
} else {
echo "$dir$file\n";
copy(_ORG.$dir.$file,_DST.$dir.$file);
}
}
}

コメント送信