2009年11月アーカイブ

CMSContextプラグインをMT5対応として今日の勉強会向けに修正(ついでに会場でさらに修正)しました。entry/page/category/folder/blogあたりのコンテクストセットするついでにログインしてCMS操作しているユーザーのコンテクストもセットするようにしました。あとあんまりテスト出来てないですけど MTIfUserCan permission="rebuild" とかで再構築権限があるかどうかとか、権限の分岐できるようにしました(他にも2回呼び出された時にロードしなおさないようにしたとか細かい修正ちょこっと)。

CMSContext/tmpl以下にエントリー編集画面でタグ入力を支援するインターフェイスを提供するテンプレートのサンプル例が入ってます。

タグ入力支援インターフェイス

ついでにLove再構築のひな形となった今日の勉強会用のダッシュボードウィジェットも上げておきます。

あと、僕には珍しくちゃんと配布資料用意していったから、それも上げときますね。

Love再構築。

| コメント(0) | トラックバック(0)

本日MT5勉強会で管理画面カスタマイズテーブル担当させていただきました。エントリー編集画面のカスタマイズ例で説明してからダッシュボードウィジェット作る課題ってのをやったのですが、僕の作ったのをとりあえず上げておきます(みんなまだ飲んでるだろけどなw)

Love 再構築ダッシュボードウィジェット

今日はありがとうございました。みんな俺のことも忘れないでなw

ユーザーダッシュボードのサムネール画像

前回の続きです。

@usualomaさんからスマートな書き方を教えてもらったので書き方変えて、ついでにいくつか追加。

  • ユーザーダッシュボードに左メニュー(システム)を表示させる
  • This is you ウィジェットを右カラムで着脱可能なウィジェットに変更
  • 時間によって「こんばんは」とかそんなのに変更する

最後のやつは、まぁ要らんっていえば要らんですけどね。

忙しくてあまり触れていなかったMT5ですが、もうさすがにリリースも近いということでいい加減なんかしないといけないと思い、少し集中して触ってみた。

MT4に慣れていればいるほど「あれどこ行ったっけ」ってのが多くて。重要なのは新規ユーザーにとってどうか、という点であるのはわかるけど(もちろん既存ユーザーにとっても使いやすい方がいいはずだ)。

エントリーの投稿画面についてはいずれ感想を述べようと思っているけれども、現段階でどうにも僕にとって馴染めないのが「ユーザーダッシュボード」。

何がって、夜アクセスしても「こんにちは、Junnama Nodaさん」て何だよ(まぁこれは冗談)。

一番思ったのは、左メニューがないこと。最初にログインしたり、ロゴクリックして戻るいわゆる「トップページ」だよね。例えば「グローバルテンプレート修正しないと」とか「設定変更しないと」とか「プラグイン入れてみよう」とか思ってアクセスした時に2アクション以上(最初の移動も2クリック - クリックでプルダウン→システム)必要だということ。正直なところちょっと個人的にこれはどうかと思う。

というわけで追加してみた。簡単にできるかと思っていたけどちょっとハマった。書き方気に入らないのでいずれ書き直すだろうけど(この書き方だといずれ動かなくなるだろうな、という無責任な思いもあるけど)、ご感想等いただければと。

さて、月曜のセミナーの準備しないと。

ユーザーダッシュボードに左メニューを追加

MTIfPreviewプラグインってのをカッとなってアップしたら、たくさん(@usualoma)から

@junnama <mt:IfPreview></mt:IfPreview> は、<mt:If name="preview_template"></mt:If> でもいいんじゃないかと思いました。

と来たもんだw

ときたらMT芸人の先輩としてはさらにカッとなるのが心情というもんで、書いた。プレビュー拡張してIMG要素のALTをチェックするプラグイン。

(追記)MTImgAltCheckブロックタグには、targetモディファイアとして[tag|src]のいずれかが指定できます。tagを指定した場合はtagsモディファイアに評価したいタグをカンマ区切りで指定します。下記の例はMTEntryBodyの中身のみチェックします。

srcを指定した場合は評価したいソースをSetVarBlock等で変数に入れてsrc属性に突っ込んでください。(追記ここまで)

ブログ記事アーカイブのテンプレート

<MTIfPreview>
<h3>
ALT属性のチェック結果
</h3>
<MTImgAltCheck target="tag" tags="MTEntryBody">
<MTImgAltCheckHeader>
<table border="1">
    </MTImgAltCheckHeader>
    <tr>
        <td>alt属性の値:
            <MTImgAltCheckImgAlt></td>
        <td><a href="<MTImgAltCheckImgSrc>" target="_blank"><MTImgAltCheckFilename></a></td>
        <td>
            <MTIf name="__error__">
            <MTImgAltCheckErrorMessage>
            <MTElse>
            チェックOK
            </MTElse>
            </MTIf></td>
    </tr>
    <MTImgAltCheckFooter>
</table>
</MTImgAltCheckFooter>
</MTImgAltCheck>
</MTIfPreview>

結果はプレビュー時のみ表示されます

プレビューでの画像のALT属性チェックの結果

ループの中ではMTImgAltCheckErrorCodeタグで以下の4種類の値が所得できます。

エラーコードエラーの内容
1ALT属性そのものがない
2ALT属性が空
3ALT属性値がファイル名と同じ(MTだとありがち?)
4ALT属性が(半角)スペースのみ

ALT属性が空でもいいときあるじゃんとか言うなよ。そういうのはちゃんと確認してチェックするんだ!

ダウンロード

ライセンス:Artistic License

MTIfPreviewプラグイン。

| コメント(0) | トラックバック(2)

ブログ記事とかウェブページ作成時に「確認」ボタンクリックしてプレビューする時だけ内容が出力されるブロックタグ(条件)タグです。

昨日のエントリーをちょっとだけ受けてカッとなって書きました(何自分でカッとなっとんねん!)。ひょっとしたら同様のものとか標準もしくは誰か書いてるかもしれませんw。出力されるテンプレートとプレビューの状態が何か違うケース、同時に生成される他のアーカイブの一部を確認させたいケース(わかるかな...うまく伝わるかな)、まぁ活用法は皆さん次第ということです!

<mt:ifpreview>
<!--「確認」クリックでプレビュー時のみ表示-->
</mt:ifpreview>

「自己満足CMS脳の制作者が陥る20の失敗」って本書いたら売れると思う、ってつぶやいたのはいつのことだったろうか。これ定期的に思うテーマなんだよな。MTや当社のCMSに限らない話として。お前ら、ってのはつまり俺たちのことだけどね。

Twitter / Junnama Noda:MTEntryMore, MTEntryExcerptが書いてないエントリーアーカイブのテンプレート、それは「バグ」だ。

「機能しないボタン」はバグと言っていい

ボタンでなくて「タブ」だけど。例えばMTで「続き」って入力フィールドがあるよね。「キーワード」でも「概要」でも何でもいい。

入力フィールド(「続き」タブ)

でね、ここに入力しても何も出ないわけ。いや、出るんだけどね。テンプレートに書いとけば。

で、聞くでしょ。必ずこういうんだ(必ずじゃないけど大抵こういう)。

「続き」は使うこと想定してないので、ここ出ないんです。

※引用元があるわけじゃないんだけど誰かの発言の引用だからblockquoteにしたった。

いや、出ないって「続き」ってラベル付いてて入力できるようになってんじゃん。他にも色々あるよ。細かい解説は書かない。羅列だけするよ。もしこのテーマで話しろっていうんやったらいつでもどこでも話すから言ってね(誰に言ってんだよw)

  • 出力されないんだったら、フィールド消しておけ(入力したのに出ないんですけど/あ、それ出ません仕様です)
  • 消せなかったら、注釈入れておけ(出ないんですけど/あ、それ出ません仕様です)
  • デフォルトスタイル消すなら、全部定義しなおしておけ(タグ入れたのに見た目変わんないです/あ、CSS初期化してまして...)
  • デフォルトスタイル消してんのにエディタのボタンに表示されてるって何だよ(ボタンクリックしたのに何も変化がないんですけど/あ、CSS初期化してまして...)
  • 使える機能はすべからく機能するようにすべし(「確認」クリックしてプレビューしてもデザイン反映されないんですけど/あ、このブログは「ウェブページ」使う想定してなくてテンプレートないんですよ)
  • 期待通りに動かないものは期待通りに動くようにするかラベル変えるか注釈入れるかボタン非表示にするかインアクティブにしておけ(「表示」ってクリックしても全部トップページ表示されますよ「確認」ボタンクリックしてプレビューしてもデザインされへんし/あ、これブログ記事として使ってなくて、一覧ページに表示させるためのエントリーでして...)
  • 触って欲しくないなら隠すか注釈入れとけよ(管理画面いじってたら表示がおかしくなっちゃいました/あ、これ消しちゃったんですか、消したら駄目なんです)
  • 後で使う人のこと考えて構築しろよ自己満足だろそれ(すいません、一カ所テキストなおしたいだけなんですが難しすぎてどこ修正していいかわかんないです/あ、インクルードしたモジュールの中のSetVarしてるところの後のif分岐でループがWeb2.0で...)
  • 運用でカバー言うな!(はー、こうやって使うんですか...言われてみたら理解しました/あ、これCMSのデフォルトで出来ないので頑張って実装したんです無理矢理...)

まだあるけど代表的なものはこんな感じですね。括弧内の前半はお客さんの心の声、後半は制作者の言い訳。結局ね、想像力の欠如と経験が活かされてないってのと、みんなツール(CMS)が好きなのはわかるけど、テクニックに走り過ぎなんだよ(走るのはいいんだけどね、努力の方向が間違ってんの)。

どのCMSがいいとか、悪いとかセミナー行って比較検討してってのもいいけど、目の前の仕事でもっとやれることがあると思うし結局こんな仕事してるからお客さんからずっと電話かかってきてしんどいことになるんだ。結局手を抜いたところが自分の首を絞めてるんだよな。

想像力の欠如ってのはアクセシビリティと通じるんだけど、ユーザーがどんな風にそいつを使うのかってのを考えて考えて想像して経験値上げて理解深めていこうよ。お客さんはツールのライセンスを買ってるんじゃなくて、どんな管理画面なりサイトなりを提供してくれるのかってことに対して対価を払ってくれているんだから。

だからね。

どのCMSがいいとか言う前に「俺たち」やることあるやろ!?

Facebook

Twitter

このアーカイブについて

このページには、2009年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年10月です。

次のアーカイブは2010年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6