「ゼロから始めたチーム作り」COLUMNトップコラムオープンソースCMSで開発効率が劇的にアップ!WordPressのメリットと知っておくべき弱点オープンソースCMSで開発効率が劇的にアップ!WordPressのメリットと知っておくべき弱点2016.10.26デベロップお久しぶりです。忙しさにかまけて、更新出来ていなかったのは本当に反省。書きたいことばかりがたまっているんですがねー。今回の記事から、社内のWEB解析士の資格をとったスタッフが、頑張ってSEOのことも勉強してくれて、タイトルや見出しのアドバイスをくれたので、ちょっと雰囲気違います。やって、このブログを支援してくれる仲間が増えて涙がちょちょぎれそうです!そういえば、こうやってブログを書いているのですが、自己紹介を全くしてなかったと思い、少しずつですが、顔出ししていこうかと思います。※先日業界の大先輩より、アドバイスいただいたというのもあります。制作一課のマネージャをやっております、わたくし「市川吾郎」というものが更新しております。以前に、slideshareをはっているので、そちらの内容で、経歴は紹介させていただいてます。はい、今回はここまでの顔出しということで、本日はガラッと変わって、CMSについて思うところを書こうと思います。僕は、今までの経歴上ほとんどスクラッチのシステム開発はやってきませんでした。SIベンダーとか、システムゴリゴリのWEB開発会社に所属したことがないので。システムのがっつりした要件定義ってものに出会ったのは、ほんとここ2-3年のことです。数千ページとか、何十サイトもの統合とか、でかい案件をやってきました。システム会社にいたことないのに、要件定義がっつりしてないのになんで出来るん?と思うかもしれません。その理由、僕が大規模案件に関われていたのは、ひとえにオープンソースというもののおかげでした。ご存知の通り、オープンソースっていうものは、世界中の有志の開発者が作っている、無償のシステムです。有名どころだと、このサイトにも使っているWordpressとかです。今回書くのは、今までの経験上の主観が強くなってしまうとは思いますが、オープンソースがどんな時にマッチングするか、そのメリットと、切り捨てなくてはいけないポイントというところを中心に書きたいと思います。メリット1:予算と開発時間を大幅に節約!案件にオープンソースという候補が上がる場合の理由のナンバーワンは、おそらく予算でしょう。PHPやjavaなどで、スクラッチでCMSを作ったり、仮にフレームワークを使って構築したとしても、一般的なコーポレートサイトを作るのに、500万とかかかるものを、オープンソースを使えば、300くらいまでに抑えられるでしょう。この見積もりという部分にみんな目が行きがちです。こんなに安くできるのでしょう?それは、スクラッチ開発でやらなければならない工程がすでに終わっているということだと思います。僕は、もともとデザイン側の人間なので、2-3年前まで、スクラッチのシステム開発の案件は、蚊帳の外でしたし、あまり興味もありませんでした。ここ最近やらなければならず、関わっているのですが、本当に面倒なのがシステムの要件定義という工程です。こんなことを言ったら怒られますね(笑)僕からしてみると、そんな当たり前の機能についてあーだこーだ、できるできないって話をする暇があったら、コンテンツについて話そうよ!UIについて話そうよ!って思ってしまうんです。「当たり前の事」と思っているのがそもそもオープンソース基準なんです。WordPressを使ったことありますでしょうか?WordPressは、公式サイトから最新のzipファイルを取得、解凍し、使いたいサーバーにアップロードし、インストーラーのURLを叩けば、自動でデータベースのテーブルを作り、すぐに使えます。バージョン管理まで、カテゴリやタグ、画像や動画などのメディアアップロードといった、CMSならまず欲しい機能がその場で使えます。スクラッチで作る場合、同じ機能の要件定義をするのに、2ヶ月ほどかかり、なおかつWordPressより機能制限されたものが出来上がります。実際に、システム要件定義に参加していて、「えー、それWordPressなら簡単にできるのに!」って思うことが多々あります。ここで言いたいのは、オープンソースのメリットは、費用というより、時間の短縮というのが大きいということ。2ヶ月の要件定義に時間と体力を使わずに、新しいコンテンツを検討したり、魅力的な見せ方を検討したいという方には、マッチすると思います。イノベーティブな発信をいち早く、ネット上に公開していきたいという場合は、この時間短縮が圧倒的なメリットとなるでしょう。メリット2:クライアントの希望も実現しやすくなる!ただし、機能面はデフォルトで使う限り、完全に思い通りにでません。出来合いのCMSなので、基本的にはフォーラムに書かれていること以上のことはできません。前述したように、多少のお金を積み増してスクラッチで開発するCMSよりは、はるかにデフォルト状態で高機能と言って過言ではないと思います。一つ前述の時間短縮は、メリットを生みます。それは要望を受け入れる時間が残るということです。スクラッチのシステムで要件定義をしていると、基本的な機能のところで結構な時間を使ってしまい、クライアントから上がってくる、希望に溢れた機能が、あえなくスケジュールという慈悲なき刀によって切り捨てられる歯がゆい場面をよく見かけます。オープンソースを使う場合、「基本機能はデフォルトを踏襲します。他にどんな機能が欲しいですか??」というところからスタートするので、まず最初に要望から着手できるという状況に近いのです。オープンソースとはいえ、基本はPHPでできているものがほとんどなので、スクラッチと同じように、機能拡張は可能です。公式サイトからお墨付きの信頼できるものであれば、プラグインという拡張機能を導入することもできます。オープンソース普及を妨げる”責任の所在”問題これはいろいろなところに書かれているから、ほとんどの人は既知のことかもしれませんが、オープンソースは責任の所在がないということなのです。これは有志による開発で、無償で提供されているということに対して、必然の代償でしょう。これは、特に日本の企業、特に大きな会社の場合、受け入れられにくい条件です。日本の企業は特にイノベーションよりリスクヘッジを選ぶ傾向が強いと思います。実際、WordPressなどで提案した際に、保守やセキュリティについての質問を延々とうけた上に、導入断念となった相談は多々あります。現場のマーケ担当は、メリットを理解し導入したいと思っていても、「責任の所在」というところで会社を説得できずに諦めるというパターンが多いと思います。WordPress導入の注意点。セキュリティや保守の観点から僕はWordPressを提案する際に、保守の範囲や説明をいつも同じように定型化しています。同じようにWordPressをオススメしようとしている方や、導入したいと思われている方は、一意見として参考にしていただければと思います。WordPressのファイル構成は、以下のようになっています。admin:管理画面の表示に関するプログラム群includes:管理画面の機能に関するプログラム群content:サイト表示に関するプログラム群adminとincludesは、ほぼカスタマイズしません。管理画面のUIを変えたいとか、会員メディアでがっつりいじりたいというような話もありますが、できる限り丁重にお断りします。管理側はコンテンツやユーザ情報といった情報資産を司るところなので、特にセキュリティに細心の注意を必要とするからです。デフォルトの状態で使えば、公式のセキュリティパッチやアップデートをボタン一つで受け入れることができます。この公式のアップデートは、スクラッチCMSでベンダーが対応するよりずっと早く行われるというのが印象です。実際に先日2015年12月4日にPHPが7系にメジャーアップデートされましたが、WordPressは4.4(2015年12月8日リリース)というバージョンから対応しているので、ほぼ同時期に対応していたといえるでしょう。カスタマイズを入れてしまうと、この公式アップデートの恩恵を受けられない、正確に言うと受けられるが、カスタマイズしてしまったところは、対象外になるかアップデートが原因で、不具合をきたしてしまいます。管理側のプログラムはデフォルトのままお使いください、というのが僕の定石になります。逆にカスタマイズするのはどこ?とうことですが、基本的に対象になる箇所は限定されています。テーマデザインを司るところで、この中だけは完全にオリジナルで作ります。デフォルトのWordPressは全世界共通なので、個性はありません、クライアントごとの個性を反映するのは、このテーマの中のファイル群に対して、CSSやjavascriptでデザインを乗せたり、表示に関わるプログラムを追加したりすることになります。プラグインテーマ内に追加機能を入れるほどでもない、ご要望に関しては、出来合いのプラグインをインストールします。その際にプラグインを格納するフォルダです。このプラグインは、WordPress本体と違い、個人的に趣味で作られているものや、作ってみました系のものもネット上に多く転がっています。言ったプラグインが原因で、セキュリティの穴を突かれるケースも多い為、基本的にはWordPressの本家フォーラムで、しっかりとオススメされているかつ、アップデートが頻繁に行なわれているもののみを導入しています。プラグインもカスタマイズしなければ、本家側からのアップデート恩恵を受けられる為、基本的には、導入のみで、プラグインのカスタマイズは行いません。アップロード管理画面からアップロードした画像や動画などのメディアファイルが格納される場所です。基本的には、FTPなどのソフトでアクセスすることはなく、プログラムが置かれることはないので、触りません。開発環境から本番サーバーに移設したりするときにFTPでダウンロードしたりするので、その際にはフォルダのパーミッションを変更します。元のパーミッションと合わせるようにしています。上記3つが、WordPressのサイトを納品した後に、保守をする場合の対象となります。管理がわや、上記以外の表示に関するプログラムは、WordPressの本家アップデートの取り込みを持って、お客様自身で保守いただくという条件を提示します。この条件と導入のメリットを天秤にかけた際に、どちらを選択されるかというところで、クライアントに判断を委ねるようにしています。オープンソースの弱点。不向きな案件4つ前章まで、かなりオープンソース押しをしていましたが、こんなサイトはオープンソースを使わないほうがいいと思っているものも書きます。個人情報を取得し、蓄積するサイト通常のメールフォームであれば良いと思いますが、フォームで取得したデータをDBに蓄積する場合は、お勧めしません。しても、オープンソースを使って、個人情報を取得したい場合は、フォームのところだけ、外部の信頼できるASPサービスを使うことをお勧めしています。金銭の授受が行われるサイトECサイトや、コンテンツのダウンロード販売サイトなどです。いったサイトは上記個人情報ももちろん取得しますし、決済サービスへの繋ぎこみなど、金銭に関するデータの授受が行われます。WordPressには、EC向けのテーマやプラグインがありますが、基本的にはお勧めしません。これもどうしても使いたいという要望がある場合は、製品管理の部分だけをWordPressで構築し、カートやマイページ以降は全て外部のASPサービスに飛ばしてしまうという形でご提案するようにしています。コンテンツ保護系のサイトいわゆるDRMというものですが、これも専門のベンダーにスクラッチで対応してもらった方が良いでしょう。動画メディア安定した動画の配信をしたのであれば、そもそも通常のサーバ構成では無理です。WordPressのデフォルトでは、メディアのアップロードサイズの上限を2Mに制限しています。長尺の動画や、画質の高い動画はアップロードできません。専門の業者にお願いしましょう。youtubeチャンネルを活用することをお勧めします。最初に書こうと思ってたよりかなり長文になってしまいましたが、今日はこの辺で。別途書こうと思います。元モヒカンスパイキーのバンドマン。チームマネジメント、ライティング初心者ですが、思ったことはとりあえず書いていきます。