なんか:かんがえて-6スマートフォン用の表示で見るなんか:かんがえて-62010-09-11NucleusからWordPressへ移行techこのサイトhttp://diary.mrmt.netをNucleusからWordPressへ移行してみた。ものすごいことになっていた。このさい、あまりに古いものは捨てることにした。記事ごとのpermalinkを担保するために、Nucleus時代の記事番号もITEMIDというパラメータで書き出すようにプラグインを修正。gist5e98864eb0375e00a6edつぎにWordPressを入れる。lennyのホストがあったのでそれに入れる。lennyのWordPressはこれなんだ。wordpressほんとにすっぴんのホストだったので、apache2とかもこの時点で依存関係でインストールされました。GNU/LinuxのWordPressの場合、以下のスクリプトを実行するだけでMySQL関係のセットアップが完了します。Fieldとして受け取るようにする。あとは、NucleusからMT形式でコンテンツをexportし、それをWordPressでimportしてやればいい。gistcee4d1fb779d26c3c53a途中で何度も何度もタイムアウトが発生し、importできない記事が発生した。その都度importファイルを分割して手で修正とかしていった。原因はそのときはわからず、気合いで乗り切ってしまったのだが、あとになって、これは記事名称が重複している場合に発生する問題らしい気がしてきた。実際、普通に手で記事を書く場合でも、過去にすでにあるタイトルと同じタイトルの記事は、publishするさいに、なかで延々と考え込んでタイムアウトしてしまう。(同名を避けようとあれこれする処理がバグっている気がする)なので、workaroundとしては、MT形式にexportしたファイルの時点で、重複タイトルをチェックして、あとで検索・除去しやすいようなゴミ文字列を適宜タイトルにくっつけてやるのがいいのかもしれない。本筋はWordPress本体の修正とパッチ報告だが、古いバージョンのWordPressの問題を追っかける気もしないし、upstreamもパッチ受け取る熱量は低いだろうしね...importできたら、いったん全体をexportする。XMLの固まりができるので、そこから、WordPressの記事番号と、Nucleus時代のitemidの組み合わせを取り出す。ここはXML::Simpleあたりの出番なわけだが、吐かれたXMLがいまいちparseに失敗する代物で、調べかけたけど5分で撤退。shotの作業だし、grepとかEmacsを駆使して手作業で切り出しておしまい。あとは、こんな感じになるように加工して、virtualhost定義に貼り付ける。1500行近くありました。/2295こういう記述は、mod_rewriteには外部スクリプトに判断処理を渡す機能もあるので、それを使えばエレガントかもしれないけど、以前仕様を読んだときの記憶では、パイプのやり取りあたりの仕様が、いまいちrobustかどうなんだろうか。hack」の切り分けがめんどい。書いてあるという愚直な方法も、TPOでアリだと思うのでした。中学生のオナニーだと思っています。WordPress自体は、permalinkの受け方を/%post_id%と設定してあります。301でredirectされます。あたりを入れておしまい。localすぎる話なのでばっさり省略。(11)月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。