CMSのプラグイン開発を受注した際の作業の流れを紹介します。
MODXで〇〇なプラグインを作りたい
最近のCMSは、PHPで記述されているものが多いので、同じPHPの他のCMSを検索してみます。
他の開発でもそうなんですが、だいたいのアイディアって既に先行者が世界のどこかにいたりするので、キーワードを英語で検索すると何か引っかかります。
今回の場合、Wordpress に同等のプラグインがあり、MODXでも既に近いものがありました。
古いプラグインをリメイク
MODXで見つけたプラグインは、バージョン1に満たないまま数年間放置されていました。
対応しているMODXのバージョンも古く、コーディングルールも古いままでしたが、アイディアは一緒なので、これを再利用させていただくことにします。
ライセンスに注意してみる
CMSのライセンスって、だいたいGPLだったり、Apacheライセンスだとかの割とフリーなライセンスのはずなんですが、一応ライセンス的に問題ないかチェックしておきます。
最新のコーディングルールに合わせる
古いプラグインのソースを流用しつつ、最新のコーディングルールに合わせて書き換えます。
コーディングルールを一から全て学習するのは大変なので、MODXの最新バージョンに同梱のプラグインを参考にします。
そうして出来上がったプラグインを実際にMODXに導入してみて動作検証です。
行儀良いプラグインを目指そう
プラグインディレクトリなどに登録したい場合、最低限守りたいルールがあります。
- コアプログラムを書き換えない(オーバーライド可能か確認)
- HTML出力をガチガチのハードコーディングしない
- 様々な言語環境で使われることを意識する
- ソースコードを隠蔽しない(怪しいコードが混入されているとリジェクトです)
こんなところでしょうか。
PHPじゃなかったらどうする?
見つかった類似のプラグインが、RubyやPerlだったりしたらどうするか。
大丈夫です。記述言語が異なっていても、入出力データはだいたい同じようなものなので、その中間ルーチンを少し学習して、PHPコードに置き換えればいいんです。