E-mail
パスワード
次回から自動ログインする
パスワード紛失
新規登録
ホーム
|
フォーラム
|
ブログ
|
Wiki
|
用語集
|
マイアルバム
|
カレンダー
|
リンク
|
サイト内検索
|
|
新規
下位
一覧
検索
最新
ヘルプ
ページへ戻る
編集
複製
履歴
Note
リンク元
印刷
inc/import_mt2d3diary
- バックアップ No.3 を復元して編集
xpwiki
:
inc
/
import_mt2d3diary
- バックアップ No.3 を復元して編集
inc/import_mt2d3diary の編集
-- 雛形とするページ --
AutoAliasName
BracketName
FormattingRules
FrontPage
InterWiki
InterWikiName
InterWikiSandBox
InterWikiテクニカル
LeftMenu
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin/H-K
PukiWikiMod
QRコード
RecentPage
SandBox
TopList
TopPage
User
User/なーお
WikiEngines
WikiName
WikiWikiWeb
XOOPS
YukiWiki
ishii
nao-pon
readme
ゲストブック
コンテンツ
テーブルの拡張書式
ヘルプ
ヘルプ/Attachfile
ヘルプ/BBコード
ヘルプ/FAQ
ヘルプ/Plugin
ヘルプ/Plugin/A-D
ヘルプ/Plugin/E-G
ヘルプ/Plugin/H-K
ヘルプ/Plugin/L-N
ヘルプ/Plugin/O-R
ヘルプ/Plugin/S-U
ヘルプ/Plugin/V-Z
ヘルプ/wikiエディタ
ヘルプ/wikiヘルパー
ヘルプ/イベント通知
ヘルプ/フォーラム
ヘルプ/ブックマーク
ヘルプ/ページ作成
ヘルプ/画像添付法
モーションクリエイト
モーションクリエイト/セキュリティポリシー
公開Data集
公開Data集/Hint集
公開Data集/Hint集/ツール
公開Data集/Hint集/ツール/デバイスリスト
公開Data集/Hint集/ツール/ラベル
公開Data集/Hint集/ツール/ラベル/Ax(n)Cmd
公開Data集/Hint集/ツール/ラベル/Ax(n)R
公開Data集/Hint集/ツール/ラベル/Ax(n)St
公開Data集/Hint集/ツール/ラベル/Ax(n)W
公開Data集/Hint集/ツール/ラベル/Sn(n)Cmd
公開Data集/Hint集/ツール/ラベル/Sn(n)R
公開Data集/Hint集/ツール/ラベル/Sn(n)St
公開Data集/Hint集/ツール/ラベル/Sn(n)W
公開Data集/Hint集/ツール/ラベル/SysCmd
公開Data集/Hint集/ツール/ラベル/SysCmdAlt
公開Data集/Hint集/ツール/ラベル/SysSt
公開Data集/Hint集/ツール/ラベル/SysW
公開Data集/Hint集/ツール/ラベル/V(n)Cmd
公開Data集/Hint集/ツール/ラベル/V(n)R
公開Data集/Hint集/ツール/ラベル/V(n)St
公開Data集/Hint集/演算時間削減
公開Data集/Hint集/演算時間削減/分岐削減
公開Data集/Hint集/軸割付
公開Data集/モーションSFC演算時間
公開Data集/モーション演算周期
公開Data集/用語集
公開Data集/用語集/inc
公開Data集/用語集/inc/C言語コントローラ
公開Data集/用語集/inc/C言語コントローラ/関数処理時間
公開Data集/用語集/inc/サーボPGM
公開Data集/用語集/inc/サーボPGM/ABS
公開Data集/用語集/inc/サーボPGM/FEED
公開Data集/用語集/inc/サーボPGM/WAITON
公開Data集/用語集/inc/デバイス
公開Data集/用語集/inc/デバイス/DIN
公開Data集/用語集/inc/デバイス/DOUT
公開Data集/用語集/inc/デバイス/OUT
公開Data集/用語集/inc/デバイス/RST
公開Data集/用語集/inc/デバイス/SET
公開Data集/用語集/inc/デバイス/YNトランジション
公開Data集/用語集/inc/デバイス/位置決始動完了
公開Data集/用語集/inc/デバイス/位置決完了
公開Data集/用語集/inc/デバイス/始動受付
公開Data集/用語集/inc/デバイス/完了信号OFF指令
公開Data集/用語集/inc/一般
公開Data集/用語集/inc/一般/トルク制限
公開Data集/用語集/inc/一般/ドループ
公開Data集/用語集/inc/一般/モーション演算周期
公開Data集/用語集/inc/一般/演算時間
公開Data集/用語集/inc/仮想/メカ機構
公開Data集/用語集/inc/仮想/仮想モード
公開Data集/用語集/inc/仮想/仮想切替
利用規定
練習用ページ
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
* Movable Type形式の d3diaryインポート-ver0.2 [#xeddcd43] Movable Type 形式のブログデータを、ddiaryにインポートしようと考えました。 私の場合は、niftyの「ココログ」でエクスポートしたMT形式データのインポートになります。 &font(Red){いきなり本番環境で実行せず、必ずテスト環境で試してから実行してください};。 ** 1、参考:[[ MovableTypeのデータをWordPressに移行したい。>http://www.kowa.org/modules/pukiwiki/306.html]](のぶのぶXOOPS) [#b2ba331b] xoopsモジュールでこの手のインポートが出来るブログモジュールとしてはwordpressMEがありまして、上記参考サイトからphpソースをダウンロードしてテストサイトでインポートまで行ってみたところ、これは見事にできました。 また、既にインポート済みのデータは上書きしないようになっているなど、運用中のwordpressMEへの追加インポートを考慮しているのが、ユーザーに優しいところですね。 なお、今回のphpソースは上記参考サイトのソースを元に、d3diaryのソースをに手を入れて書いたものです。インポート済み記事やコメントは同様にスキップするようにしています。 d3diaryにはトラックバック機能が無いので、トラックバックは無視します。 ** 2、d3diaryインポートの制約 [#o9e522af] MT形式(ver3)データをd3diaryに取り込む場合、以下の制約があります。 + d3diaryにトラックバック機能が無いので、トラックバックはインポートできません。 + MT形式(ver3)のコメントがタイトル無くスレッド構造でない制約 元々のMT形式テキストデータが、タイトルもスレッド構造を持ちません。 xoopsコメントにインポートする際には、最初のコメントのタイトルを (Re:投稿タイトル)として親コメントと扱い、以降のコメントをその親コメントへ繋げ、(Re^2)、(Re^3)・・ とすることとしています。 + xoopsコメントを使う制約 d3diaryでは、標準コメントシステムの「xoopsコメント」を使っています。 それ自体はOKなのですが、このコメントシステムにはゲスト投稿者の 「名前」入力欄が無く、元を辿るとDBに「cname」などというフィールドさえ無い、という最大の問題を抱えています。 WordPressMEの場合は、モジュール側でコメント用のDBテーブルを持っていたため、問題ありませんでした。~ この問題をクリアする方法として、以下の2つの方法が考えられます。 ++ d3forumのコメント統合を使う スクリプト中の以下の部分を編集し、d3diaryのコメント統合設定を正しく行います。 $use_d3forum_comment = false; // コメントをd3forumに直接取り込む場合、true ++ xoopsコメントのままで、何とかする 要は、MTデータの投稿者名を何とか表示すればよいのです。 今回は、本文の冒頭に、「名前 wrote:」 と追加する安直な方法にしました。 + d3diaryで記事カテゴリを複数選択できない制約 diaryでは記事カテゴリを複数選択できません。 つまり、Movable Type形式の記事ではいくつか列挙されているカテゴリの一つしか保持できないことになります。 今回は、これまた安直に、成り行きで一つだけを生かす方式にしました。 多分、MT形式データの各記事の一番最後に書かれているカテゴリが有効になると思いますが、もしかしたらそうならないかも知れません。 ** 3、インポートの準備 [#nae2998e] *** (1)xoops_trust_path/modules/d3diary/main/import-mt.php [#k8e10b7e] |&ref(import_mt2d3diary_0.2.zip); ver 0.2(EUC-JP)| 解凍したファイルの - 3行目にMT形式ファイルのフルパスを加筆し、 - 4行目にMT形式ファイルの文字コードを記載。 - 5行目にxoopsのデータベースの文字コードを記載。 - Biglobeの場合は、7行目を$biglobemode = true;に変更。 ファイル名「import-mt.php」で&font(#ff0000){trust側の};d3diary/mainフォルダに保存します。(本ファイルはEUC-JPで保存されていますが、運用サイトの文字コードに合せて変換保存して下さい。) なお、セキュリティの関係上、ファイル名は変更することをお勧めします。 HTMLを無効にする場合は、下記 'dohtml' を「0」に変更します。 #code(php,498-){{ $diary->dohtml = 1; }} *** (2)xoops_trust_path/modules/d3diary/xxxx.txt [#r6f70aee] MT形式のテキストデータを、d3diary フォルダに置きます。 テキストデータ内の記事の投稿者名と、インポートするxoopsのユーザー名が合致する場合のみ、インポートされます。 もし、 ユーザー名が変わる場合は、テキストデータの投稿者名部分(AUTHOR: ○○)を予めすべて置き換えておく必要があります。 &font(Red){既知の不具合として、ファイル最初の1件目のデータを読み取れません。 お手数ですが、テキストファイルの1件目のデータをコピーし、2件目に挿入したテキストファイルを作ってください};。 記事選択の際には、2件目のほうを選択してください。 *** (3)テンプレート _custom_mt2_d3diary.html [#d58eee39] Altsysの「テンプレート管理」-「カスタムテンプレート」で、以下のコードを「_custom_mt2_d3diary.html」として作成します。 #code(html,1-){{ <h2>mt形式ログ > d3diaryインポート</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 記事を d3diaryへインポートします。 <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> <{if ( $mt2d3b_use_d3comment ) }> <font color=red>コメントのインポート先に、d3forumコメント統合が選択されています。</font><br /> d3forumのdirectoy名称 = <{$mt2d3b_d3com_agent}><br /> d3forumの名称 (forumid) = <{$mt2d3b_d3com_forum_title}> (<{$mt2d3b_d3com_forumid}>)<br /> 間違えなければ、「実行」。 変更したい場合はd3diaryの一般設定と、このスクリプトファイルの設定を変更して下さい。<br /> <{/if}> <{else}> <p><font color="red">MT形式ファイルのパスが正しく設定されていません。</font></p> (<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}> }} ** 4、インポートの実行 [#qa8380ee] + 管理者でログインする + STEP0:xoops_root_path/modules/(d3diary)/index.php?page=import-mtにアクセスする。 (d3diary)の部分はインストールフォルダ名に変更します。 -- 「一度にインポートする記事件数」を選択します。 大量の記事を一度にインポートすると、メモリ不足になったりサーバーに負荷をかけてしまいます。通常は50~100件程度に抑えて実行してゆくことをお勧めします。 -- コメントにd3forumコメント統合が選択されている場合は、フォーラム名称とforum_idを確認します。 -- 「送信」ボタンを押します。 |&ref(step0.gif,mw:240,mh:240);| + STEP1:取り込む記事にチェックを入れて「送信」ボタンを押す。 -- 全記事一度に取り込む場合は、全選択/解除チェックを活用してください。 記事数にもよりますが、かなりの時間がかかる場合があります。 |&ref(step1.gif,mw:240,mh:240);| + STEP2:結果を確認する。 -- インポートした記事群のbid値、タイトルが表示されます。 -- 「送信」を押すと、STEP0に戻り、選択した記事数の次回分のインポートに進みます。 -- 別ウインドウを開くなどして、インポート状態を確認します。 d3diaryの各記事のカテゴリーは1つしか選べないため、後で記事毎にカテゴリを選択しなおす必要があります。 |&ref(step2.gif,mw:240,mh:240);| + ファイルを削除する ** 5、開発環境 [#ja0d06c9] 以下の環境で確認しました。 他の環境では動作しない場合もあるかもしれません、ご容赦下さい。 - CentOS-5.4 + Apache-2.2.3 - php 5.1.6 - mysql 5.0.77 - Xoops Cube Legacy 2.1.6 および HD1.0.3 - d3diary 0.0.6 - エクスポート元ブログ:ココログ、Biglobe(ウエブリブログ) ** 6、改変履歴 [#oc531d99] - 10年9月17日 ver0.2 公開 日記記事インポートで失敗するバグ修正。(本文をaddslashesしていなかった。。) - 10年5月 2日 ver0.1 公開 ** 7、ライセンス [#u8e9107c] ライセンス:GPL ** 8、バグレポート [#c5aacfcf] バグを発見した方は、コメントでお知らせください。 また、自分でも目をそむけたくなるくらいの汚いソースです。 セキュリティーホールなど、発見された方もどうぞお知らせいただくか、改善案をご教示いただければ幸いです。
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「名古屋」の読みがな?(ひらがなで)
A:
お名前:
テキスト整形のルールを表示する
ぺージ情報
ぺージ名 :
inc/import_mt2d3diary
ページ別名 :
未設定
ページ作成 :
ゲスト
閲覧可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
編集可
グループ :
すべての訪問者
ユーザー :
すべての訪問者
Counter: 0, today: 0, yesterday: 0
Wiki新着ページ
最新の10件
2019-05-18
モーションクリエイト
2014-09-20
TopPage
2013-03-30
公開Data集/Hint集/ツール/ラベル/Sn(n)W
公開Data集/Hint集/ツール/ラベル/Sn(n)R
公開Data集/Hint集/ツール/ラベル/Sn(n)St
公開Data集/Hint集/ツール/ラベル/Sn(n)Cmd
公開Data集/Hint集/ツール/ラベル/V(n)R
公開Data集/Hint集/ツール/ラベル/V(n)St
公開Data集/Hint集/ツール/ラベル/V(n)Cmd
公開Data集/Hint集/ツール/ラベル/Ax(n)W
メインメニュー
ホーム
新着情報
フォーラム
ブログ
Wiki
新規ページ作成
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» 編集する
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
» リンク元一覧
用語集
アルバム