WordPress

WordCamp Tokyo 2011のセッション資料公開しました

11/27開催のWordCamp Tokyo 2011で担当した
「クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考」の資料をアップしました。

あと、1月2月でパソナテックさんでPHPのハナシメインのWordPressの入門セミナーをします。
今回のハナシを聞いて、あまりPHPのことよくわからなかったけど勉強はしていきたいっていう人におすすめです

こういうイベントで話します

イベント&セミナー情報|パソナテック(PASONA TECH)

こちらもよろしくお願いします。

[参考]WordCamp Tokyo 2011で、コラボレーションに向いたPHPコーディングや設計についてのセッションをします

Read More

WordCamp Tokyo 2011で、コラボレーションに向いたPHPコーディングや設計についてのセッションをします

出るよ

2011年11月27日(日)に品川シーサイド 楽天タワー2号館で行われるWordCamp Tokyo 2011に出演させていただくことになりました。

WordCamp Tokyo 2011

そして、僕のプロフィールと講演内容も公開されました。

スピーカー|原 一浩(はらかずひろ)

時間は、15時15分からで、

人来るかな

タイムテーブルを見ていただくとわかりますが、

田口元さんの「百式ブログの毎日更新を10年+続けてわかったことと、これからの展望」や、

をかもとさんの「 WordPress ハイパフォーマンスチューニング Reloaded」

など人気セッションが並ぶラインです(あまり来ないかもしれませんね)

僕が行うのは、

クリーンな WordPress サイトのための PHP コーディングのお作法 ― 計画的に WordPress を拡張していくためのフレームワーク思考

というイベント一長いタイトルで、

とかくカオスになりがちな WordPress の PHP 周りのコードを、どう綺麗な設計で作るかということをデザイナーやディレクター向けにわかりやすく扱います。1年後に見て「あれ、なんだっけ?」となりにくい、コラボレーションしやすい設計をご紹介します。

という内容になります。

ウェブサイトはコンテンツが大事。もちろんそうです。ユーザと言えばエンドユーザつまりはサイトの閲覧者ということも当たり前の話です。
が、今回のお話はどちらかというと、CMSを扱うユーザー(つまりサイトの運営者)のためにあれこれ気を使う系のお話で、しかもテンプレートカスタマイズよりもレイヤーとしては低い考え方の土台の話。
設計思想の土台が変わったからといってサイトを訪れるユーザーには何も変化がないですが、サイトの将来性という意味では大きく変わってきます。

WordPressを普通にブログとして使ったり、CSSとHTMLと少しのテンプレートタグしか使わない人や、既にばりばりWordPressアプリケーションを作っている方には、あまり響かない内容かもしれません。

でも、テーマのカスタマイズを行ったりしてPHPのコーディングも少しはしたりしはじめたというデザイナーさんや、過去に拡張を場当たり的に行ってにっちもさっちもいかなくなったコーダーさんには聞いていただきたい内容です。あと、CMSとしてちゃんと使うサイトの設計を担当するディレクターさんとか。もちろんプログラマーさんが聞いても、そういう使い方も出来るのかっていう内容かもしれません。

例えば、家を作る時に、とりあえず土台は場当たり的につくっておいて、インテリアや外装はちゃんと手をかけるなんてことはしないですよね。後から設計を変えるのはかなりヘヴィな作業です。WordPressはCMSであると同時にPHPコードで構成されたWebアプリケーションでもあります。

現在は静的なページが多数を占めていたとしても、そのうちユーザーのニーズに応じて様々な機能を追加したくなるかもしれません。そういう可能性を考慮しPHPのコーディングを行い、なおかつ、メンテナンスする人が別の人に変わった場合でもわかりやすい設計をするには、一体どのような考え方とメソッドが必要かというのがテーマです。

2年から3年ほど前にWordPressを使った比較的規模の大きい複雑なカスタマイズの案件を担当しました。
これは大きな組織の内部向けのイントラシステムの1つで、ブログのような投稿スタイルでいろいろなデータを扱いたいというものです。

いろいろなCMSが検討されたのですが、結局WordPressを採用しようという運びになり、構築をはじめたのですが、結構カスタマイズをする部分が多く、ほとんどの部分はフックを多用したプラグインでまかないましたが、一部どうしてもWordPressの内部コードをいじってカスタマイズという形をとりました。

既存のプラグインも併用しましたが、こちらも一部カスタマイズをしました。特に既存のカスタマイズはコードが入り組んでいて結構苦労した記憶があります。

また、切り離せる部分は別途WebアプリケーションフレームワークCakePHPと別のデータベースを使って構築し、APIという形でWordPressと連携させたりして管理画面を作ってきました。
そのときのノウハウを前のWordCampのレセプションやCakePHP勉強会で発表したりしました。

その後のフェイズで、更なる拡張が必要になり、結局はCakePHPでスクラッチなシステムとして再構築したわけですが、今やるとしたら、もうちょっとうまくやるかもしれません。

そんな経験を踏まえて、拡張性の高い、メンテしやすく、コラボレーションしやすいコーディング方法と設計ノウハウをこのセッションでお話できたらと思います。

Read More

究極的にシンプルだけど、実際に使えるサンプルを考えてます

先週より始まったWP Jelly

ここで心がけていることの1つに、「すごくシンプルだけど、実際に使えるサンプル」というのがあって。

サンプルだからといって実際には使えないものでは仕方ない。
でも頑張った結果難しいものでもわかりにくくてしょうがない。
ということに結構気を使っている。

第1回目のサンプルは「管理画面に更新マニュアルを追加しよう」だった

第1回目は、「管理画面に独自の操作マニュアルをつけよう」というものだった。
皆はヘルプというか操作マニュアルをどう納品しているだろうか?
PowerPointもしくはKeynoteで書いてpdf化しての納品だろうか。

オンライン上でどこからでも投稿できるブログのマニュアルは、やはりオンラインにあったほうがいいのではと僕は思っていて。
例えばカスタムフィールドにどう入れるかとかはやはりマニュアルが欲しいところ。
ただ、オンラインで参照する場合、認証をどうするかとはを考えるのは頭が痛い。

理想的なのは、管理画面のメニューにあることだろうという結論に至った。

そこで作ったのが第1回目のプラグイン。

このプラグインは管理マニュアルをWordPressの中に入れるというものだが、WordPressのプラグイン作成の初歩中の初歩の機能しか使っておらず、すごくシンプルなつくりになっている。

さて、2回目は、メインで取り上げさせていただくのは、shinichi.nishikawaさんの「Kid’s Data」というプラグイン。

でも、僕も一応shinichi.nishikawaさんのプラグインの前段話として、ウィジェットの構造を理解をしてもらうための簡単なサンプルを提供する。shinichi.nishikawaさんのに比べるとてんでたいした事はしていないプラグインであり、単なる前座なのだが、一応僕がこういうのがあればいいなという企画のもとで作っている。

今回のサンプルは「忙しさを書くためだけのウィジェット」というプラグインだ。

忙しさを書くためだけのウィジェット

忙しさを書くためだけのウィジェットは、実は前にMovableType用のものを作った事がある。これは僕が皆のブログにあってほしいと思うものの1つだ。

フリーランスのクリエイターのブログとかを見ていると、お仕事をご一緒したいなあと思う事があるが、その人が今忙しいのかどうかがよくわからないことがある。問い合わせればいいのだけど、もし事前に今お仕事を受け付けられる状態かどうかを書いてあったらすごく便利なのだ。

データベースにちゃんと保存ができる

このウィジェットも、これ以上小さなものはないといえるほどのミニマムさで、実質的にHello Worldと同じ程度の機能しかない。
でも、一応、こんなのがあったらいいなというところからスタートしたプラグイン企画で、欲しいものを作っている。

当然ウィジェット登録の画面にも出現し、

ここでは特に設定できない

貼付けると、サイドバーに表示される

これだけ出てるだけでも助かる

ということで、興味があれば是非!

Read More