2: 2009-05-05 (火) 11:41:51 なーお ソース 現: 2019-08-17 (土) 07:11:56 なーお ソース
Line 1: Line 1:
-* 習作:Movable Type形式の d3blogインポート [#c0ca336c]+* Movable Type形式の d3blogインポート-ver0.5 [#c0ca336c]
 Movable Type 形式のブログデータを、d3blogにインポートしようと考えました。 私の場合は、niftyの「ココログ」でエクスポートしたMT形式データのインポートになります。  Movable Type 形式のブログデータを、d3blogにインポートしようと考えました。 私の場合は、niftyの「ココログ」でエクスポートしたMT形式データのインポートになります。
 + &font(Red){いきなり本番環境で実行せず、必ずテスト環境で試してから実行してください};。
** 1、参考:[[ MovableTypeのデータをWordPressに移行したい。>http://www.kowa.org/modules/pukiwiki/306.html]](のぶのぶXOOPS) [#q7bae4ba] ** 1、参考:[[ MovableTypeのデータをWordPressに移行したい。>http://www.kowa.org/modules/pukiwiki/306.html]](のぶのぶXOOPS) [#q7bae4ba]
Line 30: Line 31:
** 3、インポートの準備 [#v451ce5a] ** 3、インポートの準備 [#v451ce5a]
-*** (1)xoops_trust_path/modules/d3blog/import.php [#y3555236]+*** (1)xoops_trust_path/modules/d3blog/main/import-mt.php [#y3555236]
-|&ref(import_0.4.zip); ver 0.4(EUC-JP)| +|&ref(import_0.5.zip); ver 0.5(EUC-JP)| 
- 解凍したファイルの5行目にMT形式ファイルのフルパスを加筆し、6行目にMT形式ファイルの文字コードを(2008-7-13修正)xoopsのデータベースの文字コードが EUC-JP以外なら変更して、 ファイル名「import.php」で&font(#ff0000){trust側の};d3blogフォルダに保存します。(本ファイルはEUC-JPで保存されていますが、運用サイトの文字コードに合せて変換保存して下さい。)+ 解凍したファイルの 
 +- 3行目にMT形式ファイルのフルパスを加筆し、 
 +- 4行目にMT形式ファイルの文字コードを(2008-7-13修正)。 
 +- 5行目にxoopsのデータベースの文字コードを記載。 
 +- Biglobeの場合は、7行目を$biglobemode = true;に変更。 
 +ファイル名「import-mt.php」で&font(#ff0000){trust側の};d3blog/mainフォルダに保存します。(本ファイルはEUC-JPで保存されていますが、運用サイトの文字コードに合せて変換保存して下さい。)
 なお、セキュリティの関係上、ファイル名は変更することをお勧めします。  なお、セキュリティの関係上、ファイル名は変更することをお勧めします。
-(2009/5/22追記)+(2010/05/02変更)
 元のブログやMT形式データによっては、改行がHTMLの場合やただの改行の場合など、様々なようです。  元のブログやMT形式データによっては、改行がHTMLの場合やただの改行の場合など、様々なようです。
-この場合、インポート後の各記事のオプション設定が、スクリプト280行目付近にありますので、必要に応じて編集します。+この場合、元のMT形式ファイルから設定を読み込みますが、万一うまくいかない場合は、スクリプト475行目付近に設定がありますので、必要に応じて編集します。
-デフォルトでは、HTMLが有効としてあり、通常の改行コードでは改行が入りません。 +自動改行を有効にする場合はこの「dobr」オプションを「1」にします。
-#code(php,280-){{ +
-    $entry->setVar('cid', 1); +
-    $entry->setVar('dohtml', 1); +
-    $entry->setVar('dobr', 0); +
-    $entry->setVar('doxcode', 1); +
-    $entry->setVar('doimage', 1); +
-    $entry->setVar('groups', '|0|'); +
-}} +
- +
-その場合はこの「dobr」オプションを「1」にします。+
-#code(php,280-){{+#code(php,472-){{
    $entry->setVar('cid', 1);     $entry->setVar('cid', 1);
    $entry->setVar('dohtml', 1);     $entry->setVar('dohtml', 1);
Line 62: Line 58:
にしてやってみてください。 にしてやってみてください。
-なお、HTMLを無効にする場合は、上記 'dohtml' を「0」に変更すします。+なお、HTMLを無効にする場合は、上記 'dohtml' を「0」に変更します。
*** (2)xoops_trust_path/modules/d3blog/xxxx.txt [#bc1adae7] *** (2)xoops_trust_path/modules/d3blog/xxxx.txt [#bc1adae7]
Line 68: Line 64:
 MT形式のテキストデータを、d3blog フォルダに置きます。 テキストデータ内の記事の投稿者名と、インポートするxoopsのユーザー名が合致する場合のみ、インポートされます。 もし、 ユーザー名が変わる場合は、テキストデータの投稿者名部分(AUTHOR: ○○)を予めすべて置き換えておく必要があります。  MT形式のテキストデータを、d3blog フォルダに置きます。 テキストデータ内の記事の投稿者名と、インポートするxoopsのユーザー名が合致する場合のみ、インポートされます。 もし、 ユーザー名が変わる場合は、テキストデータの投稿者名部分(AUTHOR: ○○)を予めすべて置き換えておく必要があります。
-*** (3)xoops_root_path/modules/d3blog/import.php [#if48335f]+ &font(Red){既知の不具合として、ファイル最初の1件目のデータを読み取れません。 お手数ですが、テキストファイルの1件目のデータをコピーし、2件目に挿入したテキストファイルを作ってください};。 記事選択の際には、2件目のほうを選択してください。 
 + 
 +*** (3)テンプレート _custom_mt2_d3blog.html [#e2c481e9] 
 +Altsysの「テンプレート管理」-「カスタムテンプレート」で、以下のコードを「_custom_mt2_d3blog.html」として作成します。
- 次のコードを書いて、ファイル名「import.php」で&font(#ff0000){html側の};d3blogフォルダに保存します。 なお、セキュリティの関係上、ファイル名は変更することをお勧めします。変更した場合は、(1)の50行目付近「form」タグ内の記述も変更してください。+#code(html,1-){
 +<h2>mt形式ログ > d3blogインポート</h2> 
 +<h3>STEP:<{$mt2d3b_step}></h3> 
 +あなたのuid=<{$mt2d3b_uid}> 
 +<{if $mt2d3b_isadmin}>実行権限:OK 
 +   <form name="MainForm" action="./index.php?page=<{$mt2d3b_actionname}>" method="post"> 
 +  <{if $mt2d3b_step==0}> 
 +   <{if $mt2d3b_mtfile != ""}> 
 +       <p>こんにちは! あなたの Movable Type 記事を d3blogへインポートします。 <br> 
 +       (カテゴリは、1つしか読み込まれません。) 
 +        インポート作業は、少々時間がかかる場合があります。</p> 
 +       <p>また、インポートする記事毎に、ユーザー名が一致するかチェックを行い、該当ユーザー名がDBに無い時はインポートを行いませんので、ご注意を。 一旦取り込んだ記事やコメント・トラックバックと重複データの場合は、インポートをスキップして次の記事のインポートを継続します。</p> 
 +       <p>一度にインポートする記事件数: 
 +       <select name="d3b_once"> 
 +               <option value="20" <{if $mt2d3b_once ==20}>selected=true<{/if}>>20件</option> 
 +               <option value="50" <{if $mt2d3b_once ==50}>selected=true<{/if}>>50件</option> 
 +               <option value="100" <{if $mt2d3b_once ==100}>selected=true<{/if}>>100件</option> 
 +               <option value="200" <{if $mt2d3b_once ==200}>selected=true<{/if}>>200件</option> 
 +               <option value="500" <{if $mt2d3b_once ==500}>selected=true<{/if}>>500件</option> 
 +       </select></p>;
-#code(php,1-){{ +    <{if ( $mt2d3b_use_d3comment ) }> 
-<?php +     <font color=red>コメントのインポート先に、d3forumコメント統合が選択されています。</font><br />
-require '../../mainfile.php' +     d3forumのdirectoy名称 = <{$mt2d3b_d3com_agent}><br /> 
-if( ! defined( 'XOOPS_TRUST_PATH' ) ) die( 'set XOOPS_TRUST_PATH in mainfile.php' ) ;+     d3forumの名称 (forumid) = <{$mt2d3b_d3com_forum_title}> (<{$mt2d3b_d3com_forumid}>)<br /> 
 +     間違えなければ、「実行」。 変更したい場合はd3blogの一般設定と、このスクリプトファイルの設定を変更して下さい。<br /> 
 +    <{/if}>;
-$mydirname = basename( dirname( __FILE__ ) ) ; +     <{else}> 
-$mydirpath = dirname( __FILE__ ) +       <p><font color="red">MT形式ファイルのパスが正しく設定されていません。</font></p> 
-$mydirurl = XOOPS_URL.'/modules/'.$mydirname;+         (<code><{$mt2d3b_actionname}></code>) を開いて、どのファイルから読み込むか1行編集してください。</p> 
 +       <p><code>define('MTEXPORT', '');</code></p> 
 +       <p>これを、下のように(但し実際のファイルのフルパスに)編集します。</p> 
 +       <p><code>define('MTEXPORT', '/full/path/to/your/import.txt');</code></p>
 +       <p>この作業は、セキュリティの観点から手動で行う必要があります。</p> 
 +   <{/if}> 
 +  <{elseif $mt2d3b_step==1}>
 +       全<{$posts_total}>件から、<{$mt2d3b_once}>件づつインポートします。<br /> 
 +       以下の中から選択した記事・コメント・トラックバックをインポートします。<br /> 
 +       <table class="outer"> 
 +       <tbody border="1"><tr><th align="center">選択<br /><input type='checkbox' title='この縦一列のチェックボックスすべてをON/OFFします' onclick="with(document.MainForm){for(i=0;i<length;i++){if(elements[i].type=='checkbox'&&elements[i].name.indexOf('mt2d3b_thread')>=0){elements[i].checked=this.checked;}}}" />全選択/解除</th> 
 +       <th align="center">No</th><th align="center">タイトル</th><th align="center">投稿日時</th></tr> 
 +       <{foreach key=num item=thread from=$mt2d3b_threads}> 
 +       <tr class="<{cycle values='odd,even'}>"><td align="center"><input type="checkbox" name="mt2d3b_thread[<{$num}>]" value="<{$thread.thread_id}>" /></td><td align="right"><{$thread.thread_id}></td><td><{$thread.title}></td><td align="center"><{$thread.post_time|date_format:"%Y年%m月%d日 %H時%M分"}></td></tr> 
 +       <{/foreach}> 
 +       </table> 
 +       よろしければ「送信」してください。<br /> 
 +   <input type=hidden name="forum_title" value=<{$mt2d3b_forum_title}> /> 
 +   <input type=hidden name="forum_id" value=<{$mt2d3b_forum_id}> /> 
 +   <input type=hidden name="wf_topic_id" value=<{$mt2d3b_wf_topic_id}> /> 
 +   <input type=hidden name="wf_fileid" value=<{$mt2d3b_file_id}> /> 
 +   <input type=hidden name="d3b_once" value=<{$mt2d3b_once}> /><br /> 
 +  <{elseif $mt2d3b_step==2}> 
 +       <{foreach key=num item=echo_log from=$mt2d3b_echo_log}> 
 +       <{$echo_log}><br /> 
 +       <{/foreach}> 
 +       インポートが完了しました。<br /> 
 +       最初のページに戻るには下のボタンで送信してください。<br /> 
 +   <input type=hidden name="d3b_once" value=<{$mt2d3b_once}> /><br /> 
 +  <{/if}> 
 +   <input type=hidden name="page" value="<{$mt2d3b_actionname}>" /> 
 +   <input type=hidden name="step" value="<{$mt2d3b_step_next}>" /> 
 +   <input type=hidden name="d3b_start" value=<{$mt2d3b_start}> /><br /> 
 +   <input type=submit value="送信" /> 
 +   </form> 
 +<br /> 
 +<{else}> 
 +実行権限:NG 
 +権限がありません。 
 +<{/if}>;
-require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname 
-require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/import.php' ; 
-?> 
}} }}
-#br 
** 4、インポートの実行 [#y38a8c01] ** 4、インポートの実行 [#y38a8c01]
+ 管理者でログインする + 管理者でログインする
-+ xoops_root_path/modules/d3blog/import.phpにアクセスする ++ STEP0:xoops_root_path/modules/(d3blog)/index.php?page=import-mtにアクセスする。 
-+ 「実行」ボタンを押して、処理を行う。+ (d3blog)の部分はインストールフォルダ名に変更します。 
 +-- 「一度にインポートする記事件数」を選択します。 
 + 大量の記事を一度にインポートすると、メモリ不足になったりサーバーに負荷をかけてしまいます。通常は50~100件程度に抑えて実行してゆくことをお勧めします。 
 +-- コメントにd3forumコメント統合が選択されている場合は、フォーラム名称とforum_idを確認します。 
 +-- 「送信」ボタンを押します。 
 +|&ref(step0.gif,mw:240,mh:240);| 
 ++ STEP1:取り込む記事にチェックを入れて「送信」ボタンを押す。 
 +-- 全記事一度に取り込む場合は、全選択/解除チェックを活用してください。
 記事数にもよりますが、かなりの時間がかかる場合があります。  記事数にもよりますが、かなりの時間がかかる場合があります。
-+ 結果を確認する +|&ref(step1.gif,mw:240,mh:240);| 
- d3blogの各記事のカテゴリーは1つしか選べないため、記事毎にカテゴリを選択しなおす必要があります。++ STEP2:結果を確認する。 
 +-- インポートした記事群のbid値、タイトルが表示されます。 
 +-- 「送信」を押すと、STEP0に戻り、選択した記事数の次回分のインポートに進みます。 
 +-- 別ウインドウを開くなどして、インポート状態を確認します。 
 + d3blogの各記事のカテゴリーは1つしか選べないため、後で記事毎にカテゴリを選択しなおす必要があります。 
 +|&ref(step2.gif,mw:240,mh:240);|
+ ファイルを削除する + ファイルを削除する
Line 100: Line 167:
 以下の環境で確認しました。 他の環境では動作しない場合もあるかもしれません、ご容赦下さい。  以下の環境で確認しました。 他の環境では動作しない場合もあるかもしれません、ご容赦下さい。
-- Vine Linux 4.2-Apache1.3.37 +- CentOS-5.4 + Apache-2.2.3 
-- php 5.2.3 +- php 5.1.6 
-- mysql 5.0.27 +- mysql 5.0.77 
-- Xoops Cube Legacy 2.1.4 および HD1.0.0 +- Xoops Cube Legacy 2.1.6 および HD1.0.3 
-- d3blog 1.02.3 +- d3blog 1.03 
-- エクスポート元ブログ:ココログ+- エクスポート元ブログ:ココログ、Biglobe(ウエブリブログ)
** 6、改変履歴 [#n780257d] ** 6、改変履歴 [#n780257d]
 +- 10年5月 2日 ver0.5 カスタムテンプレート方式に変更し記事単位で取り込み指定が可能に。 また、html側ファイル不要とした。
- 09年5月 4日 スクリプトの配布を、zip形式に変更。 - 09年5月 4日 スクリプトの配布を、zip形式に変更。
- 09年4月13日 ver0.4 コメントのd3forum統合コメントへの直接インポートに対応。 - 09年4月13日 ver0.4 コメントのd3forum統合コメントへの直接インポートに対応。


トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 4259, today: 1, yesterday: 0