全国からa-blog cmsのユーザーが集まる「a-blog cms Training Camp」に、昨年の秋に引き続き参加してきました。
今回も好天に恵まれ、知多半島のきれいな景色を堪能しました。
前回に引き続き参加した人たちとは、この一年の間にずいぶんTwitterやFacebookで交流をしていて、前日にはおいしい梅酒と食事をごちそうになったりしました。
合宿では、参考になるLTがたくさんありましたが、特に興味があったものをピックアップしてご紹介します。
a-blog cmsの処理順で失敗した話(s-style-arts おかださん)
おかださんは「a-blog cms ユーザー勉強会 大阪」を主宰しています。
最近、おかださんはブログ(もちろんa-blog cmsでできています)をリニューアルして、個別記事の末尾にFacebookコメントを設置しました。
このとき、フッターにあるので「バナーモジュール」での一括管理をしようと考えたのですが、Facebookコメントのコード内に埋め込む「現在のエントリーのURL」の取得が正しくできませんでした。
実は、a-blog cmsは「変数の処理順」というのが決まっていて、バナーモジュールが参照するよりも早く、グローバル変数の内容を反映することができません。
なのでこの場合はモジュールで管理せず、テーマ内に直接HTMLを書くか、別ファイルに書いてインクルードで呼び出さなければならないのです。
もしWordPressな人がa-blog cmsを使ってみたら(teckingさん)
teckingさんは「WordBench福井」の運営に参加している方で、普段はWordPressユーザーです。
なのでLTでも、WordPressユーザーの視点から見たa-blog cmsの良いところ、こうして欲しいところについて挙げられました。
いいところ:エントリーのエディタ部分、コア機能の豊富さ
a-blog cmsは、エントリーのエディタが優れているという話をされていました。
公開画面から直接編集できるようにする「ダイレクト編集」については、「Front-end Editor」を追加すれば、WordPressでも似たようなことが可能です。
ですが、そのインターフェースはあくまでWord感覚のウィジウィグであって、横二段・三段に見出しをフロートさせるような、高度なレイアウトは実現できません。
また、a-blog cmsには、Web制作でよく使うJSの演出用ライブラリが多数含まれていて、簡単に実装することができます。
WordPressの場合はJSに詳しくない人のために、簡単な演出を追加するだけのプラグインでも数十個公開されている状態で、これがプラグインディレクトリのカオス化につながっていたりします。
こうしてほしいところ:アップグレード
WordPressは新しいバージョンが出ると、ブラウザからアップグレードができます。このお手軽さは最大の魅力だったりします。
(ただし、既存プラグインが動かなくなるリスクもありますが…)
a-blog cmsは機能の多さとか、暗号化の関係で、簡単なアップグレードはできません。
オープンソースではなく、サードパーティのプラグインとぶつかる心配はないので、オンラインでもアップグレードができたらいいのになあ…と私も思ったりします。
ところで、LT中にアップルップルの山本さんに
「WordPressは、どうしてパーミッションを書き込み可能にしなくてもインストールできるの?」
と聞かれました。確かに、それがWordPressのインストールを簡単にしているわけなんですけど、何故なんでしょう…?
ざっくり速度チューニング(アップルップル 佐藤さん)
ahomuさんこと佐藤さんは、アップルップルのプログラマで、a-blog cmsの中の人です。
今回の合宿でも、内部的なカスタマイズについてアドバイスをもらったりしました。
発表では、a-blog cmsの表示部分の処理速度を向上する方法について解説されていました。
a-blog cmsは管理メニューで「アクセスログを有効にする」にしていると、「acms_log_access」というデータベーステーブルに細かい記録を残すようになります。
このとき、アクセスしたページのクエリが処理されるまでと、生成が終わるまでの時間は「log_access_sql_time」「log_access_res_time」に記録されています。
この処理時間は、インクルードが多いほど遅くなり、特に管理用のパーツを呼び出していると低下します。
たとえ、タッチモジュールで表示しないようにしていても、処理は行われているので処理速度には影響してしまうそうです。
ですが、インクルード時に「対象となるファイル名が存在しなかった場合」だと、処理がかなり軽くなる特徴があるので、インクルードのファイル名にセッション系のグローバル変数を混ぜて
「ログインしていなければ、有効なファイル名にならない」
ようにすると、非ログイン時の公開ページの表示速度をかなり向上することができます。
と、かなり高度な話なのですが、PHPを記述しなくてもパフォーマンスのチェック・改善は充分にできるということがわかって、参考になりました。
二回目の参加は、充実した内容の合宿になりました。
夜は、他の地域の勉強会を主催している人たちに、a-sap(札幌勉強会)をこれからどんな風にやっていったらよいかなど、アドバイスをもらったりしました。
帰りはセントレアで地元の人たちと「台湾ラーメン」を食べて、出発口まで見送ってもらって名古屋をあとにしました。
昨年と違い体調が良かったのはいいのですが、テンションが上がりすぎていたようで、LTの準備ができてなくて浅い内容になったことと、妙な行動や発言が多かったことを反省しています。
次に参加するときまでに、札幌にa-blog cmsをもっと定着させることでお返ししたいと思います。