2015年9月 4日
Movable Type Tips:MT4→MT6バージョンアップはブログ構成の再編成に注意!
こんにちは,ディレクターの八木です。
最近,Movable Type 4で稼働中のとあるサイトをMovable Type 6にバージョンアップしました。 その際,ブログ構成の再編成に関してちょっと苦労しました。どなたかの参考になるかと思いメモを残しておきます。
Movable Typeを長くお使いの方はご記憶かと思いますが,MT4の時代は「ウェブサイト」という概念はまだ登場しておらず,すべての「ブログ」がフラットに並ぶ構造でした。
従って,サイトストラクチャ上はHOMEページがあり配下にニュースだの製品紹介だのといった子コンテンツ群がぶら下がる階層型の構造の場合,CMS内では仮想的にそうなるように設計したものでした(相当な昔話ですね…)。
ところが…。
今回の場合,元のブログ構成は図1のようになっていました。
<図1: MT4時代> HOME(ブログ) blog_1(ブログ) blog_2(ブログ) blog_3(ブログ) ... blog_N(ブログ)
MT6にアップデート後は,実際のサイトストラクチャに沿うようHOMEを親ウェブサイトとして,残りをこれの子ブログ化したいと考えました。
<図2: MT6後の理想形> HOME(ウェブサイト) ├ blog_1(ブログ) ├ blog_2(ブログ) ├ blog_3(ブログ) ├ ... └ blog_N(ブログ)
失敗:MT4 から ダイレクトにMT6化すると全部独立したウェブサイトになってしまった (^^;;)
しかぁし,MT4 から MT6にダイレクトにバージョンアップすると,個々のブログがそれぞれ独立したウェブサイトに変換されて,図3のような構成になってしまいました。 現在の MT6 では、ブログのままバージョンアップすることや、ウェブサイトをブログに変換することはできません。いったんウェブサイトになってしまうと,後から別のウェブサイトの子ブログ化することもできません(T_T)。困った。。。
<図3: MT4から直接MT6へバージョンアップした結果> HOME(ウェブサイト) blog_1(ウェブサイト) blog_2(ウェブサイト) blog_3(ウェブサイト) ... blog_N(ウェブサイト)
【課題1】ブログはブログのままバージョンアップしたい
シックス・アパートさんに教えてもらった方法は, 一旦MT5を中継する2段階方式,つまり「MT4->MT5, MT5->MT6の2段階バージョンアップ」です。
つまり,一旦,MT4をMT5にバージョンアップします。すると,図4のように,ウェブサイトが一つ自動生成されてMT4時代のブログが子ブログとしてぶら下がります(※)。
<図4: MT4からMT5へバージョンアップした結果> 自動生成されたウェブサイト ├ HOME(ブログ) ├ blog_1(ブログ) ├ blog_2(ブログ) ├ blog_3(ブログ) ├ ... └ blog_N(ブログ)
※簡単に書いてますが,実際にはブログのURLを判定してあーだのこーだのと再編成処理をするようです^^; 振る舞いの詳細については次の記事を参照してください。
これをさらに,MT6にバージョンアップすれば,一応ブログはブログのままバージョンアップというのが実現できるわけです。
なお,下位の各バージョンからMT6にダイレクトにバージョンアップした場合の ウェブサイト作成ルールについては次の記事に詳しい解説があります。
【課題2】HOMEブログはウェブサイトに昇格させたい
おおむねクリアできましたが,もう一つ残課題がありました。
MT4時代,HOME(ブログ) という親的存在のブログがあり,前述の図2にあるように,これをウェブサイトに格上げしたかったのです。
2段階バージョンアップだけだと,HOMEブログも他ブログと同様,MT5で自動生成されたウェブサイトの一子ブログとしてぶら下がっています。
HOME(ブログ)には多数のウェブページが入っているので,できればこのままウェブサイト化したいです。
課題2の解決方法(その1)
再びシックス・アパートさんに教えてもらったのは次のような方法です。 実際には私はこの方法は使わなかったので,教えてもらった手順をママ書いておきます。
現在の Movable Type 6 では、ブログをウェブサイトに変換する機能や、 ウェブページを別のウェブサイトやブログに移動する機能は搭載されていません。ご了承ください。 もし、お知らせいただいたブログの構成を実現する場合は、以下の手順でおこなう必要があります。 1. Movable Type 5 を経由してアップグレードした Movable Type 6.1.2 で、「HOME」ブログを除く各ブログ(「blog_1」から「blog_N」)のバックアップを取得 2. 別途、Movable Type 4 の環境を用意 ※データベースのダンプデータもしくは Movable Type 4 のバックアップ機能で取得したバックアップファイルをお使いください。 3. 別途用意した Movable Type 4 を Movable Type 6.1.2 にアップグレード 4. 変換された「HOME」以外のウェブサイトを削除 5.「HOME」ウェブサイト配下にブログを復元 ※復元したブログは ID が変わります。ほかのブログやウェブサイトのテンプレート内で ブログ ID を直接記述している箇所がある場合は、変更後の ID に書き換えてください。
課題2の解決方法(その2)
その1方式は,手間がかかるのと,ブログIDやエントリーIDが大幅にズレてしまうのが難点です。 MT4時代のテンプレートは,ブログIDを直書きしている箇所があり,元々弊社で開発を担当してないこともあって,ブログIDがズレる影響範囲が心配でした。
そこで,普通にMT4->MT5->MT6の2段階バージョンアップをした後で,スカイアークさんの「DuplicateEntry」という記事やウェブページを複製したり移動できるプラグインを使って,「HOME」ブログの記事・ウェブページをウェブサイトに移動する方法をとりました。 なお,テンプレートは大した数でもないので手動で移動しました。
ブログ記事を複製または移動するMovableTypeプラグイン:DuplicateEntry
- 普通にMT4->MT5->MT6の2段階バージョンアップをする
<図5: MT4->MT5->MT6バージョンアップ直後> 自動生成されたウェブサイト -(A) ├ HOME(ブログ) ├ blog_1(ブログ) ├ blog_2(ブログ) ├ blog_3(ブログ) ├ ... └ blog_N(ブログ)
- 「HOME(ブログ)」のテンプレートを,ウェブサイト(A)に複製。ここは手動です( ´・‿・`)。
- DuplicateEntryを使って,「HOME(ブログ)」配下のブログ記事およびウェブページを,ウェブサイト(A)に 移動。複製ではなく移動を使うと,エントリーIDが変わりません。
<図6: 再編後> HOME(ウェブサイト) (A)をリネーム。記事とテンプレを移動 ├ 【削除】HOME(ブログ) ├ blog_1(ブログ) ├ blog_2(ブログ) ├ blog_3(ブログ) ├ ... └ blog_N(ブログ)
ここで一つ注意があります。
DuplicateEntryは記事移動時に,公開ステータスを「下書き」に変える仕様になっています。このため,全記事を一気に移動してしまうと,どれが公開記事だったかわからなくなってしまいます(私はそこに気づかず,最初やらかしました^^;)。なので,まず公開記事だけを選択して移動し,移動先で「公開」ステータスに変更します。その後で残りの下書き記事を移動する,というのがよいです。
- (A)のウェブサイト名を「HOME」に変更し,HOME(ブログ)を削除して完成です。
カテゴリー: CMS(コンテンツマネジメント・システム) , CMS・MovableType
タグ: アップグレード , バージョンアップ , CMS , Movable Type
« 前の記事:Zen Cartハイエンド版の機能拡張:退会機能
» 次の記事:Zen Cart 高速化:ハイエンド版「かんたんカテゴリ管理」画面を商品数10万でも快適に
アークウェブの本
Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用
内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む
新着はてブ
カテゴリー
- Shopify(ショピファイ)オンラインショップ構築
- NGO・NPO向け情報
- スマートフォン
- だれもが使えるウェブコンクール
- mixiアプリ
- OpenSocial (システム開発)
- アークウェブのCSR
- A-Form, A-Member, A-Reserve(MTプラグイン)
- Ruby on Rails(システム開発)
- necoったー
- Miqqle
- WebSig24/7
- ecoったー
- ビッグイシュー(The Big Issue)
- CSR(企業の社会的責任)
- マッシュアップ
- RIA (システム開発)
- セキュリティ(システム開発)
- 唐松(アクセス解析)
- Ajax (システム開発)
- テスト(システム開発)
- データベース
- PukiWiki
- Web 2.0
- SEO・サーチエンジン最適化
- XP・アジャイル(システム開発)
- Web・ITニュースクリップ
- Webアクセシビリティ
- Webデザイン
- SEM・サーチエンジン広告
- Webユーザビリティ
- CMS・MovableType
- Zen Cart(オンラインショップ構築)
- Snippy(SNS・ソーシャルブックマーク)
- アークウェブ
- オープンソース
- CMS(コンテンツマネジメント・システム)
- Webマーケティング
- AMP
- SNS