PowerCMS から PowerCMS X への移行の概要について

PowerCMS X Advent Calendar 2021」の18日目です。

PowerCMS から PowerCMS X へは単純なバージョンアップはできません。
作り直しまではいかないものの、それなりの手順が必要となります。

今回はリニューアルやボトルネック改善などではなく、デザインやサイト構成をそのままとする前提での移行について説明したいと思います。

移行調査

まずは現行のPowerCMS の仕様を調査します。

○どのプラグインを使っているか、独自拡張プラグインがあるかを調査
拡張プラグインがあれば、そのプラグインが何をしているかを確認します。これは、PowerCMS X の標準機能で実装できるかを調査するためになります。
PowerCMS X では標準機能でもできることが多いので、PowerCMS で独自拡張されたプラグインでもPowerCMS X の標準機能に置き換えることが可能なことが多いです。
PowerCMS X の標準機能では置き換えられない場合は、プラグインの開発が必要になります。
こちらは1番時間とコストが掛かりますので、まっさきに調査します。

○PowerCMSにしかない機能をつかっているか調査
PowerCMS X には今の所ユーザーグループ機能がありません。
こちらを使っている場合は、プラグイン開発が必要になります。
こちらも時間とコストが掛かりますので先に調査します。

○ウェブサイト、ブログがいくつあるか、それぞれ何をしているか調査
どのようなサイト設計なのか、誰がどの部分を更新・管理しているのか、ワークフローはどうしたいのか等、ウェブサイトやブログ、サイトマップなどを元に調査します。

○カスタムフィールド、カスタムオブジェクト調査
PowerCMS では、記事にカスタムフィールドを追加してフィールドを拡張します。また、カスタムオブジェクトで様々なオブジェクトを管理していたりします。
どの画面でどのようなフィールドがあるか、どのようなオブジェクトを管理しているか調査します。

○スニペットフィールド、フィールドブロック機能を使っているか調査
PowerCMS では、スニペットフィールドやフィールドブロックを使って管理画面を見やすく、使いやすくしていることがあります。
どの画面でどのようなカスタマイズをしているか調査します。


要件定義・設計・実装

○バックエンド開発
独自プラグインやユーザーグループ機能を使っていて、PowerCMS X の標準機能では実装できないと判断されたものについては、要件を固めて、設計・プラグイン実装に入ります。

○サイト設計
PowerCMS では、サイトの基本設計をウェブサイトとブログで行いますが、PowerCMS X では、スペースとモデルという概念に変わります。

スペース
設計のポイントとしては、ワークフローと個人情報管理になります。
モデル(メニュー)の見せる・見せないは、権限で制御したり、画面オプションで制御したりできますので、1つのスペースでも管理は可能です。
ただし、同じモデルの中で同じ権限を持っていると同じオブジェクトが見れてしまいますので、同じモデルの中でも見れる人、見れない人を分けたい場合は、スペースを分けます。
よくある事例はフォーム等の個人情報となります。
ワークフローも、スペースごと、モデルごとで設計となりますので、同じモデルで承認者を分けたいなどの場合はスペースを分けます。
また、別のドメインで管理する場合もスペースを分ける必要があります。
こちらの記事も参考にしてください。
https://note.com/knucklehead/n/naa9414f115a2


モデル
PowerCMS では、記事にカスタムフィールド等を追加して入力画面を作成していきます。
PowerCMS X では、記事モデルもデフォルトで用意されてますが、記事モデルを使わなくても、自由にモデルを作成でき、モデルに自由にカラムを追加することができますので、どんな単位でモデルを作るか、どんなカラム構成にするか、ブログ・カスタムフィールド・カスタムイブジェクトを元に設計します。
モデル単位でロールを作成することができますので、権限を加味して設計してください。
こちらの記事も参考にしてください。
https://note.com/knucklehead/n/n810f4098882e


○管理画面カスタマイズ
先述の通り、PowerCMS では、スニペットフィールド、フィールドブロックを使ってカスタマイズしていることがありますが、PowerCMS X では、アプローチの仕方が少し違いまして、Alt-tmplや、user_css、user_js、プラグインなどで柔軟に管理画面をカスタマイズすることができます。
調査した結果をもとにカスタマイズ実装を行ってください。
詳しくは以下を参照してください。


○テンプレート実装
PowerCMS のテンプレートは、そのままコピーしても動きません。
PowerCMS X ではビューというところに実装しますが、PowerCMS X ではデータの取り出し方が違いますので、PowerCMS X の作法に直す必要があります。
データ取り出し以外の部分については、かなりの互換性がありますので、以下を参考に修正をしてください。
https://note.com/knucklehead/n/n99b44527d18d


○URLの作成
PowerCMS ではアーカイブマッピングにてURLのルールを作成しますが、PowerCMS X ではURLマップで作成します。
基本的には同じ考え方となりますので、調査したサイトマップやアーカイブマッピングの設定を元に同じURLになるようにURLマップを作成します。
同じく以下を参照してください。


○データインポート
ここまでで、一通りのサイトが移行できました。
最後にデータを移行します。
PowerCMS からのデータ移行については、以下の方法があります。

DataMigratorプラグイン
標準で WordPress(WXR形式)と Movable Type(MT形式)に対応しています。
Movable Typeのカスタムフィールド名=PowerCMS Xのフィールド名形式でマッピングし、データを取り込みます。

HTMLImporterプラグイン
URLを指定してHTMLからデータやアセットを移行する機能です。
こちらは非常に便利ですので是非使ってみてください。
詳しくはこちらを参照ください。

インポート・エクスポート機能
PowerCMS X のインポート形式にCSVを加工して取り込みます。
Excel等の知識がある方はこちらが1番汎用性があります。


最後にお伝えしたい重要な事項

ここではPowerCMS から PowerCMS X への移行を説明しましたが、できれば、他製品からPowerCMS X へ移行してくださいね!
製品に関するお問い合わせは、こちらのサイトからお願いします。
https://powercmsx.jp/

以上、ありがとうございました。



この記事が気に入ったらサポートをしてみませんか?