« 2007年06月 | メイン | 2007年08月 »

2007年07月 アーカイブ

2007年07月31日

やっぱ LeftFields だよね。

MTカスタマイズ系の話題になると必ず RightFields が出てくるのだが、僕も似たようなものを作っていて社内で使っている (というかView担当に使わせている)。

これが結構印象に残ったみたいだが、僕はむしろ質疑応答時の小川さんの「LeftFields」発言が面白くて印象に残った。

よし、まずは名前から。LeftFields(TM) ということで夏休みの宿題にしよう(笑)。

まぁ冗談は冗談として、MT4になって実装されるような予感がしていたが実装されなかった(現状では) ものなんかを中心に、作っておきたいものをいくつかメモ程度に。

  • 承認フロー
  • 各アーカイブの並べ替えインターフェイス
  • 年「度」別アーカイブ
  • 再構築された静的ファイルとアップロードしたアイテムを統合的に扱うマネージャ
  • 複数ファイルのアップロード
  • エントリーと関連付いたアップロードアイテム管理
  • ログ解析
  • LeftFields(TM) (笑)
  • モブログ
  • 高速化関連
  • サイト運営者サイドの情報共有のしくみ
  • 会員制(認証付き)ページ
  • Backgeound RebuilderのV4対応

商用パッケージみたな本格的なものではなく、各プラグインがチョイスできる「手軽さ」を持ったものを作りたい。何となくそう考えている。

カテゴリー: MovableType, 駄文・雑文

2007年07月30日

コーポレートサイトのモバイル版(MTの企業向けモブログ化承ります!)。

ウェブ制作 - アルファサード(アクセシビリティ, MovableType ,モバイル)

WebSigには絶対間に合わせようと思っていた自社サイトのリニューアル。概ね評判は良いようで。というより、「らしくない!」「意外!」「絶句!」というか、僕のことを知っている人ほど「ありえねー」な感想をもらしておられた。ザマーミロ(笑)。「ありえねー」のが狙いだったのです。

まだ一部は作りかけだけど...モバイル版を作りました。MTのBootstrapアプリとプラグイン、Cron実行用のスクリプトのセット。かなり大規模なもの。MT4が出たおかげで対応の時間がかかったけれども、まぁ基本セットアップは丸一日あれば大丈夫な感じ。ただMT4から「ページ」と「エントリー」があるので、モブログも「ブログ」から「サイト」へ移行する使い方をしなければならない。やはりパッケージ化は難しいかもしれない。MT4の場合特に使い方が多様化されるから。

QRコード
http://alfasado.net/mobile/

Movable Type で高機能モブログを

ということで、パッケージ提供は当分無理かもしれませんが、モバイル版作成サービスを始めます。構築・運用のコンサルティングからデザイン・実装まで。

Movable Typeベースで作られているウェブサイトのモバイル版作成サービスを承ります。

当社のサイトではMovable Type (MT) 向けに開発した当社オリジナルのモバイルサイト拡張プログラムを利用しています(このブログでももう一つのブログでも使っています)。このプログラムをベースにお客さま向けに導入とカスタマイズを行います。

  • 携帯用に別途ページやエントリーを作成しなくても同一データから携帯版を作成。
  • 長いページのページ分割や画像の外部リンク化、画像のサムネイル自動生成が可能。
  • 携帯電話から画像付きのエントリーの投稿、エントリーの修正、再構築、コメント / トラックバックの承認・返信が可能。
  • 携帯電話からの投稿に外部サービスを利用する必要はありません。
  • コメント機能、トラックバック機能、検索に対応。
  • 別途PC用サイト構築やホスティングも対応します。
  • MT3 / MT4の両バージョンに対応しています。

画像付きエントリーの投稿も外部サービスを介さずに

携帯電話からの画像付き投稿を行う際、従来は外部サービスを使うのが一般的でした。このブログのシステムは、投稿専用のメールアドレスに投稿されたメールデータをこのサーバーからPOPで取得しに行くため、外部サービスを介する必要がありません。

また投稿可能な携帯電話のアドレスの事前登録とともに、メールに一定時間有効なパスワードを含めるしくみとか、携帯電話から投稿したデータは「下書き」状態になる等 (公開はMTの管理画面若しくは携帯用のオリジナル管理画面から行う) セキュリティ対策も考慮しています。

動作環境

本システムの動作にはUnix系のサーバーが必要です。またいくつかのPerlモジュールを必要とするため、サーバーにモジュールをインストールする権限が必要です。詳細はお問合わせください。

カテゴリー: MovableType, Web制作・ビジネス, モブログ

再構築うぜぇからやっぱWordPressだよねっていうWeb屋は...いや、まぁ何だ、ちゃんと考えようぜ。

はっきり言おう。タイトルはネタ! (笑)

昨日のWebSigで質問いただいた件の補足。というか元々は別々の質問だったんだけど何かうまく答えられなかったような気がして帰りの新幹線の中で何となく考えていたこと。

静的生成とアクセシビリティは実は良く似たテーマ

「ウェブアクセシビリティの人からMTの人になったのは何故(<ちょっと表現違うけどこういうことだよね。)」「静的生成と動的生成とMTとWPと...Why MT?」という2つの質問。

サイト作成側が楽しようと考え過ぎ

* これはWeb屋の話ね。個人のブログとかは別。好きなもの使えばいいと思うし。

再構築うぜぇからWPだよね、ってのは安易すぎるんじゃねえか、と思うのだ。作り手がユーザーに配慮して苦労するってのはWeb屋なら普通のことじゃね?

アクセシビリティ実装うぜぇから「なんちゃってマークアップ」マンセーってのとどこが違うというのだ。

* 何だか前にも書いた↓気がするな。

従来のサイト制作は制作者が"がしがし"コーディングして作ってたわけだろ? いつからそんなに偉くなったわけ? あんた作成者だぜ? ユーザー気分になってないか? クライアントが再構築重いって? 「御社のお客様のためです。我慢してください」って言えよ。いやマジで。

何と言うかちょっとだけ真面目に書くと、CMSのユーザーとしての自分とサイトを訪問してくれるユーザーのどちらの利益を優先するか、ということ。CMSの普及によってそのあたりがまぁ何だ、勘違いする人が増えたりしてないかな、ってことだ。

動的生成と静的生成で一つ付け加えておくと、「動的生成は常にセキュリティリスク考えなきゃならない運命にある」ってことも忘れないようにしようね。

だから、まぁ何だ、「趣味は再構築」ってのは結構マジで言ってるわけですな。

結論:「静的」対「動的」ってのは全然本質的な議論じゃねぇんだよ。

と、ここまではネタ(長っ!)。

高速化とキャッシュについて真面目に考えてみるかも

小川さんに「真面目に高速化する気ないの?」って言われちゃったので少し考えてみた。考えただけだけど。

このブログのように、右カラム以外再構築が必要ない場合、再構築不要な部分をキャッシュに入れてしまえば良いわけだ。つまり、エントリー自身は更新されていないわけだから、右側のメニュー以外の部分は一旦再構築したらキャッシュしておいて、次回の再構築の際にはそれを使うわけ。そして右側のカラム部分はMTIncludeでも良いけどキャッシュを使っても良いようにする。

ファイルをディスクに書き込むから再構築は負荷、というのは 「ガセ」

良くある誤解だからこれまでにも書いたが念のため。ファイルをディスクに書き込むのが負荷、というのはガセ。こういうこと言う人は信用しないこと。

もちろんディスクに書き込まない方が負担は軽減されるが、節約できる部分って実は知れているのだ。

時間がかかるのは「テンプレートを読み込み、テンプレートタグを解釈し、データベースから必要なデータを読み込み、グローバルフィルター等による処理を行ってHTMLを組み立てる」部分である。ソース読めばわかるしいくつかの実験をしてみれば明らかである。つまりはMTなら$build->compileして$build->buildするところね。

例えばMT::BuiltChacheとか

builtcache_idint一意なID
builtcache_object_idintオブジェクトのID
builtcache_object_typevarcharentryとかcategoryとか
builtcache_blog_idintブログID
builtcache_template_namevarcharモジュール名(IDでもいいかな)
builtcache_modified_ontimestampキャッシュされた日時
builtcache_htmltext構築されたHTML(テキスト)

<MTIncludefromCache module="hoge" type="Individual">
<MTIncludefromCache module="hage" type="Index">

例えば type=Individual だったらエントリーIDとテンプレートモジュール名「hoge」からキャッシュの有無をチェック。キャッシュが存在すればキャッシュの modified_on とエントリーの modified_on を比較して、キャッシュを使うべきであれば builtcache_html を返す。

キャッシュを使うべきではない場合、テンプレートモジュール「hoge」を再構築してキャッシュに保存すると同時にリプライする。

type=Indexの場合は単純に modified_on を見て一定時間内であればそれを使う。そうでなければ再構築してキャッシュに保存すると同時にリプライする。

問題はモジュールに使えるMTタグが限定されることかなぁ。つまり各エントリーのブロックとかはキャッシュできるけど、カテゴリーのエントリー一覧とかのコンテナタグごとモジュール化しても実質無意味だし。

う〜ん、どんなもんでっしゃろ。むしろやっぱりメモリにキャッシュですかねぇ。

カテゴリー: MovableType, Web制作・ビジネス

2007年07月29日

Webサイトは会議室で作られてるんじゃない! 現場で作られてるんだ! (WebSig会議雑感)

Webサイトは会議室で作られてるんじゃない! 現場で作られてるんだ! (織田裕二風!<嘘) な会議(<嘘) であるWebSig会議に参加して来ました。

プレゼン直前のMacBook

ひと言でいうと「参加して良かった」です。スピーカーの藤本さん関根さん小川さん、モデレーターの蒲生さんを始め色んな人にお会い出来た(話題?の鷹野さんにもお会いしたよ!)。あ、僕は大阪人ですけど少なくとも隔週では東京に来るのでまた機会があったら誘ってください(名古屋でも沖縄でも北海道でもハワイでもOKですよ!)。

* ちょっと飲み過ぎ喋り過ぎは反省してます! みなさんごめんなさいもうしません。

プレゼンの中でひとつ言い忘れたことがあった。MTのメリットの一つは、認知度・普及度が高いから「開発環境」の確認が楽なこと。「データベースは使えますか?」とか「言語は何が使えますか?」とか「PHPのバージョンはいくつですか?」とか聞かなくて良いもん。

「MTは動作しますか?」

サーバー管理会社とかに聞くときもひと言で済んじゃう。些細なことだけど現場では結構大切。

以下、まとまりのない雑感。

僕と「立ち位置」が同じ方々が多かったこともあってか色々聞かれたわけですが、僕が当初感じていたMTの「使いにくさ (for サイト制作 as a CMS)」はやはり多くの方が同じことを感じていて、それをプラグインなんかでカスタマイズしてっていうのが制作現場の「良くある風景」なんだよなぁ、と改めて。フィールド分割は意外? に需要があるんだな、ということも分かった。

僕の場合は自力でコード書く方向へ走ったわけですが、少しでもPerlに覚えのある方であれば一度書いてみればいいと思う。これは是非。WordPressでPHP書くくらいだったら...(ってのはWPあんまり知らない僕が言うべき事じゃないけど) 。

結局、僕のMTに対するスタンス (& 昨日の話の中で言いたかったこと) は「脱! テンプレ屋・脱! インストール代行屋」なわけです。これを去年の秋以来やっていてここまで来た感じですね。ちなみに昨日の「大人の事情タイム」にお見せした「フィールド分割、承認フロー、エントリー複製」のあたりのしくみは実は去年の年末には出来てました(ということは、プラグイン書き歴3ヶ月くらい)。公開してないのは、まぁ結構まじめに商用プラグインとか考えていたのもありますが、本当は「汚ったねぇコードだなぁ」って(o)さんに言われたくないからです(笑)。CHEEBOWさんが「同じようなもの作ってるんだねぇ」と仰せられてましたが、実際サイト制作現場で欲しいものって似たようなところに落ち着くのよね。

ちょっと話がそれましたが「スーツ」な僕でさえ (<冗談と思われてましたね) この位のカスタマイズは出来ます。いやマジで。話題にも出ていましたが分科会があるのなら書き方とかノウハウとか濃ゆ〜い話を、っていうか自分で企画すればいいんだよね。ニーズありますかね。制作会社向けMTプラグイン作成講座とか。「MT業界のフジロック ウッドストック!」とか銘打ってやっちゃおうか。場所は大阪。東京の人が来たくなるイベントに...ってどうです? >各位(誰?)。

何だかまとまらない感想になりましたが、お誘いいただき感謝。ありがとうございました!

カテゴリー: MovableType, Web制作・ビジネス, ごあいさつ

2007年07月27日

Web2.0言うな!

Web2.0って何ですか?
Web2.0っていうのは「ウェブニーテンゼロって」発音して...ブログが云々
私はそれで何ができるんですか?
...

この漫画は何? というと、リニューアルした当社のサイトの各ページ用に作った4コマ漫画のうちの一つ。

他に アクセシビリティ, ブログ/CMS, モバイル, 求人ページ用の各パターンがあります。今後も増やせる限りは増やしていこうと思うので、どうぞお楽しみください。

リニューアルについての考え方

少し真面目に書くと、今回のリニューアルにあたって「ウェブ制作会社の自社ページはどうあるべきか」について考えみたわけだ。

デザイン・表現においては『ウェブ制作会社の自社ページは「ショールーム」であり、「自社をどんなクリエイティブや技術で表現するのか」をお客様に評価いただく場である』という視点で全体を作り直し (その一つが「漫画」というアイデア)、コンテンツも現状の仕事の実状に合うように変更 (Blog/CMSモバイル等に新たにフォーカスをあてた)。

今回はMovable Typeで構築。今までクライアントにこのブログ (Junnama Online) 見せながら技術系のデモをしないといけないので中々恥ずかしかったのもある。

これまでもサイトから仕事はそれなりに来ていたし、実際はクライアントの多くが「リピート」や「紹介」なのでさほど (どころか全然) 自社サイトの更新ってしてなかったのだが (紺屋の白袴?)、やはり人材確保の面からも今後の発展の面からもきちんとしておかねばという強い思いがあって、一気に1週間程度でやり遂げた。僕たち自身が楽しんでサイト作ってないと、伝わらないし。

実はこれは序章にすぎなくて「この発想はなかったわ」的なアイデアが既にいくつかあるので、今後もどんどん新しいアイデアを取り入れて「制作会社の楽しいサイト」にしたいと思う。

楽しんでいただければ幸い。そして、ツッコミ歓迎、どんどん良くして行きたいと思うので。


クリエイティブって何だ?

このリニューアルのプロセスでもう一つ思い出した事がある。

例? のごとくブレスト後、内部でのデザインコンペをしたのだが、僕がオリエンした内容の中の言葉で「シンプルで力強いもの」という言葉に引っぱられてしまったスタッフが多かったのだ。採用案は「どこがシンプルやねん」というもの。

何故このデザインが採用になったか?

ひと言でいうと「僕は"本当は"これが欲しかった」からだ。

その昔 (もう5年近く経つのか...) サラリーマン時代に勤めていた会社の社長の言葉。

クリエイティブってのは『「顧客が実は気がついていなかったもの(*) だが、本当は"それ"が欲しかった」もの』を提供すること。

* 気づいていなかったわけだから、オリエンの時の言葉には「直接は」出てこないことがあるのだ。

カテゴリー: Web制作・ビジネス

MovableType4.0で「ウェブページ」と「エントリー」を紐付ける。

概要

エントリーの「出力ファイル名(basename)」とカテゴリーの「出力ファイル名(basename)」が一致するエントリーを出力するコンテナタグ。

作成した経緯

MT4から導入された「ウェブページ」と「エントリー」を紐付けるために作成したものです。他に「タグ」を利用する方法等もあるかと思いますが同等の事を実現する簡単で良い方法が見つからなかったので作成しました (「RelatedCatEntriesByBasename」ってタイトルが長過ぎ?)。

* このページの右下の「関連する新着情報」の表示のために作成したものです。

サンプル出力ページ

利用方法

<MTIfRelatedCatByBasename>
エントリーとbasenameが一致するカテゴリーが存在していれば真
<MTIfRelatedCatEntriesByBasename>
エントリーとbasenameが一致するカテゴリーにエントリーが存在したら真
<MTRelatedCatEntriesByBasename lastn="4" sort_order="ascend">
エントリーとbasenameが一致するカテゴリー内のエントリーを出力 (lastn (出力するエントリーの数)、sort_order (並び順 ascend|descend))
<MTIfRelatedCatByBasename>
  <MTIfRelatedCatEntriesByBasename>
    <MTRelatedCatEntriesByBasename lastn="4" sort_order="ascend">
      <MTEntryTitle><br />
    </MTRelatedCatEntriesByBasename>
    <MTElse>
      そんなエントリーはこのカテゴリーには無い!
    </MTElse>
  </MTIfRelatedCatEntriesByBasename>
  <MTElse>
    そんなカテゴリーは無い!
  </MTElse>
</MTIfRelatedCatByBasename>

対応バージョン

MovableType3.x, MovableType4.0

ライセンス

パブリック・ドメイン

ダウンロード

カテゴリー: MovableTypeプラグイン

続きを読む "MovableType4.0で「ウェブページ」と「エントリー」を紐付ける。" »

2007年07月26日

携帯電話の未来 (もはや"電話"じゃないし!)。

このネタ(あ、ネタじゃないのか)、実はこんな風に将来はなるんだろうなぁって考えていて、来年のエイプリールフールにリリースとか言って打ってやろうかと考えていたのだが。

テレビが見られるわけだし「液晶」なんだから、こうなるのは時間の問題な気がするな。でね、次は多分キーボードがつなげるようになるのではないだろうか。折り畳み式のキーボード。

OSはWebベース、ストレージもオンライン。で、携帯1台あればパソコンは不要。そんな風に妄想している今日この頃。

カテゴリー: 駄文・雑文

2007年07月25日

Movable Type as a Web application framework.

WebSigのスライド作成中 (もちろんMTで作成中!)。

タイムテーブルには「開発ネタ」と書かれているのですが、現在のところ以下のような内容を考えています。

タイトルは開発者向け*っぽいんですが、視点は「制作会社」というか、MVCでいうところの「V」を想定した視点で喋りますのでウェブ制作系の方に「へぇ」ボタン(古!?)押してもらえるよう頑張ります。

*何かいつの間にかプログラマにされてるし(笑)

Movable Type as a Web application framework.
〜開発プラットフォームとしての Movable Type〜

  • The Inside of "Junnama Online."
  • 制作会社はMovable Typeをこう使う
    • CMSとしてのMovable Type
    • Movable Typeを使ったコンテンツの再利用
    • クライアントの"わがまま"にとことん応える (←あとで消す)
  • 開発プラットフォームとしての Movable Type
    • MVC (Model-View-Controller) パターンとMovable Type
    • アルファサードの開発スタイル
    • Bootstrap.pmを利用したウェブアプリ開発
  • MT4とMTOSで何が変わるのか

関連エントリー

カテゴリー: MovableType

Junnama.com。

以前名前+「.com」っての取得してどうとかいうやりとりがあってその時勢いで取ったドメインがあるのでMT4のお試し用にインストールしてみた。

何か「食ログ」みたいになってますが。

カテゴリー: 駄文・雑文

2007年07月23日

MTで作成しているブログに一連の特集記事のようなエントリーを作る方法。

WebSigの準備しないと...(時間的にやばいけど、ちゃんと用意しますからね!) ということもあってMTを使ったサイト制作ネタを少しメモ的に書いておく。

SpecificFieldプラグイン, Path2AliasプラグインとIfMatchEntryプラグインの利用例

これまでに書きためたプラグインが結構な数になってきたので先日「MovableTypeプラグインアーカイブ」として纏めた。

エントリーにも書いたとおりこれまでは都度ブログのエントリーに作成、公開、修正等を書いて来たのでプラグインの「パーマリンク」が一定でないし古い情報のページからリンクを貼り直すのも大変。しかも途中でブログを一回移転してURLも変わっているし、SMOの観点からも良くないよね。ブックマークURLがばらけるから、ランクも上がりにくいし。

というのがMovableTypeプラグインアーカイブを作成した理由なのだが、同じようにエントリーを立て直すのも何だし、ちょっとした構成上/テンプレート上の工夫をしたのでメモしておく。

特定カテゴリーアーカイブの表示パターンを変更する

プラグインカテゴリーアーカイブの構成についての考え方

アーカイブのレイアウト

サイト制作の際にMTを使う際に「シンプルな構成を保ちメンテナンス性を犠牲にしない」ためのポイントの一つは「例外に引っぱられない」ことだと思う。特定の例外条件のためにブログをもう一つ立てたり挙げ句の果てにはカテゴリー毎にブログが乱立してしまいテンプレート数が増えてしまうとか、再構築が一度に出来なくなる等の構成にならないようにすべき(これは経験上から断言出来る) 。

今回特定のカテゴリーアーカイブとそのカテゴリーに属するエントリーにおける例外は以下の通り(上記の表参照)。

  • カテゴリーアーカイブの上部に任意のエントリーを表示したい。今後は更新履歴等をこのエントリーを修正していき、更新の際には日付を変更してトップページやRSSで周知できるようにしたい。
  • よって上部に表示させる任意のエントリーはトップページや右カラムの「最近のエントリー」「アーカイブ」「月別アーカイブ」「RSS」に表示させたい。
  • 一方、各プラグインのページはトップページや右カラムの「最近のエントリー」「アーカイブ」「月別アーカイブ」「RSS」には表示されないようにしたい。
  • 各プラグインは名称と概要のみ掲載し、詳細はプラグインを紹介した各エントリーのパーマリンクにリンクさせたい。
  • 但し新規作成したプラグインはエントリーとして表示されるようにしたい。
  • プラグインの表示順は任意に指定できるようにしたい。

言葉で説明するとややこしいが、上記の図をご覧頂くか他のカテゴリーアーカイブと比較していただくなりすると理解いただけると思う。

具体的なテンプレートにおけるプラグインの利用例

あとは...表示順の制御だが、これも実はオリジナルのプラグインを使っている。次回はこれを紹介したい(ドキュメントが整備出来次第公開したいと思う)。

カテゴリー: MovableType

MovableTypeオープンソースプロジェクト(補足)。

MTOS (Movable Type Open Source Project) についてはおそらくMT4の正式リリース後でないと追加情報は出てこないと思いますし、1ユーザーとしては製品リリースに集中いただきたい思っていますので憶測めいた発言は避けたいと思いますが、以前ご紹介した movabletype.orgMTOSのページのコメント欄にいくつか言及があるので引用して紹介しておきたいと思います。

MTOSについて

Welcome to MTOSのコメント欄より (一部抜粋*)

* 訳には誤りが含まれているかもしれません。

onoh June 12, 2007 7:15 PM

hi, i have 2 questions.
1)
can i upgrade "Movable Type Open Source" from
"MT4 Beta" ?
2)
can i get japanese version of "Movable Type
Open Source" ?


2つの質問があります。
1)
私は「MT4ベータ」から「Movable Type Open Source」へアップグレードすることができますか?
2)
私は「Movable Type Open Source」の japanese バージョンを得ることができますか?

Byrne Reese June 14, 2007 12:32 PM

@onoh - thank you so much for your questions. I am sorry I have not had a chance to reply sooner.
1) Yes, you absolutely can upgrade from MT4 to MTOS. However, how the app will change is still being worked out. That is what I want to discuss soon on the mtos-dev mailing list. But more importantly, MT4 will be available in two forms as MT is today: a free personal edition and a paid commercial edition. The open source version is actually going to be a slightly different product (they will share probably 99% of the same code and will look the same)... But I am getting ahead of myself. This is exactly what we will be discussing on the mtos-dev mailing list.

2) We are still working on internationalization of MT4. Eventually a japanese version will be made available for MTOS, but I am not sure when that will be.

Thank you so much for your inquiries!


@onoh - あなたの質問に感謝します。返事が遅くなってごめんなさい。
1) はい、絶対にMT4からMTOSにアップグレードすることができます。しかしながら、それはまだ作成中のものであるため appがどのように変わるだろうかはまだわかりません。この件については mtos-dev メーリング・リスト上で議論したいものです。
しかし、より重要なことは、MTが今日あるように、MT4は2つの形式で利用可能になります:自由なパーソナル・エディションおよび払われた商用版。オープンソースバージョンは、実際にわずかに異なる製品(それらは、恐らく同じコードの99%を共有し、同じに見えるでしょう)になるでしょう...しかし、説明は性急すぎるかもしれません。これはまさにmtos-devメーリング・リスト上で私たちが議論するべきものです。

2) 私たちは、現在もMT4の国際化に取り組んでいるところです。結局、japaneseバージョンはMTOSに利用可能になるでしょう。しかし私はそれがいつになるかは分かりません。

質問をどうもありがとう!

Terry Heath June 16, 2007 9:31 AM

Could you clarify the licensing for MT4? What is the difference between acceptable uses of the Open Source and Commercial versions? For instance, could an internet marketer use the open source version to operate a group of blogs that are designed to generate Adsense income?


MT4のためのライセンスについてはっきりさせていただけませんか? オープンソースとコマーシャルバージョンの許容できる用途の違いは何ですか? 例えば、インターネットマーケッターは、AdSense収入を得るためにデザイン・設計されたブログのグループを運営するのにオープンソースバージョンを使用することができますか?

Byrne Reese June 16, 2007 10:12 AM

Under the terms of the GPL, the license we are currently planning on using with MTOS, users of the software are completely unrestricted in how they can use the software. They can use it to power a blog that generates $1,000,000 in revenue if they wanted to. So MTOS is unrestricted in terms of use, allows for redistribution but with restrictions. Here is perhaps a good way to describe it all:

MTOS MT4 Personal MT4 Commercial
Cost FREE FREE Depends
Commericial use ok? Yes No Yes
Personal use ok? Yes Yes Yes
# of Blogs unlimited unlimited unlimited
# of Authors unlimited unlimited $$ per user
Can redistribute Yes No No
Support Avail? From Community From Six Apart From Six Apart
Features Base only Base + more Base + more


私たちがMTOSに適用を計画しているGPLライセンスのもとでは、ユーザーはMTOSを完全に無制限に利用できます。お望みであれば100万ドル稼げるブログの運営にそれを使う事もできます。MTOSは使用は無制限で、再配布についても考慮されていますが、制限があります。 皆さんに説明するには以下のような表現が良いでしょう。

MTOS MT4 個人利用 MT4 商用利用
費用 無料 無料 有料
商用利用はok? Yes No Yes
個人的利用はok? Yes Yes Yes
作成出来る
ブログ数は?
無制限 無制限 無制限
ログイン
ユーザー数は?
無制限 無制限 ユーザー数に
よって課金
される
再配布可能? Yes No No
サポートは? コミュニティ
から
Six Apartから Six Apartから
機能 基本機能のみ 基本機能 +
追加機能
基本機能 +
追加機能

Byrne Reese July 10, 2007 12:02 PM

One question we have received from a number of users is about the use of the name "Movable Type" in association with products that utilize MTOS source code.

The open source license associated with MTOS pertains to the project's source code only. The name "Movable Type" is actually a registered trademark and thus cannot be used without the express and written permission of Six Apart. In other words, third parties are not permitted to redistribute altered versions of MTOS under the product name "Movable Type."

It is however safe to say that "this project utilizes, or is based upon code from the Movable Type Open Source Project." I hope this clarifies any questions you might have. If not, please contact us and we can help resolve any remaining concerns or questions you might have.


私たちが多くのユーザから受け取った質問はMTOSソース・コードを利用した関連製品における 名称 "Movable Type" の使用についてです。

MTOSによってオープンソース化されるのは製品のソース・コードのみです。

「Movable Type」は実は登録商標で、シックス・アパートの許可(書)なしでは使用することができません。言いかえれば、サードパーティーは製品名「Movable Type」の下で、MTOSの変更されたバージョンを再配布することは許されません。

しかし、このように表現することは問題ありません。
「このプロジェクトはMTOSを利用しています、あるいはMTOSのコードをベースにしています。」

私は、この答えが皆さんの質問に対する明確な答えとなることを望んでいますが、もしそうでなければ連絡してください。私たちは、この件に関して皆さんが抱いている質問等の解決を支援することができるでしょう。

カテゴリー: MovableType

MT4雑ネタあれこれ。

Movable Type 4 Beta7

MT4もベータ7まで来ました。はっきり言って追いつきませんわ。
ベータ5〜6は試せず、ベータ7を取り敢えずインストールして会社のサイトのリニューアルに使おうとしている。何せ今週中に完成させないと週末のWebSig会議で話すネタに困ってしまう。ということで、とばっちりを受けるのはFくん、SさんのMo[e]vableType開発チームだな。まぁ頑張りましょう。

えーっと、ライセンスはProNet会員向け提供の件はどうなるんだろう? まぁ聞いてみてライセンス必要なら購入しましょう。Web系のスタッフでログインユーザー数5だからちょうどいいし。

ちゃんとフィードバックしてる?

最近 Livedoor Reader 使い出してMT関連のブログ検索結果のRSSとかソーシャルブックマークのMTネタとかは欠かさずチェックしているわけだが、みんなブログに書くのは良いのだがちゃんとフィードバックしてる?

まぁそろそろリリース候補版ということで機能の追加ではなくてバグ対応になっていくのだろうが、これだけ新機能があるとバグの方もね...

ちょっと気になっているのはJavaScript, Ajax風? なCMSであるが故にクロスブラウザ関係のバグ対応が結構大変じゃないかな、という点。

あなたがつまずいた箇所はきっと誰かもつまずいている件

というわけで? 中の人も忙しいでしょうからいくつかMT4絡みのブログのエントリーから気づいたところを勝手に返答してみる(聞かれてもいないのに...)。

FastCGI環境でプラグインの追加や更新が反映されない件。
よろしければTouchMe プラグインお使いください。

リッチテキスト(WYSIWYG) の生成するソースの件ね。これはブラウザによる部分だそうで、おそらくFirefoxだと"まし"じゃないかなぁ。
っていうかこれも tag2xhtmlプラグイン 作ったのでお使いください。

フィードバックするだけじゃなくてちゃんと情報収集しようね! って俺がもうちょっと有名ブロガーだったら良かったのか!?

いっそのことWebアプリのテンプレート管理にMTを使ってみたらどうか

話しそれまくって恐縮だが先のエントリー「OpenPNE」にちょっと触れたのだけど、MTのGPL版が出たらいっそのことOpenPNE のテンプレート自体をMTで管理したら面白くないかな?

結局Smartyのテンプレートな訳だよね。別にOpenPNEじゃなくてもいいんだけど、静的生成ができるMTならではの面白い使い方だと思うんだけどね。

もちろん現状のMTママではゴミファイルが残ったりする可能性もあるし辛い面もあるけど、再構築された (ファイルシステムに書き出された) ファイルさえきちんと管理できるようにすればMT自体がWebアプリのテンプレート管理システムとして使えてすんごく面白いと思うな。このネタいずれ改めて書くかも。

コメント/トラックバックスパムが本当にこない件

いや、本当にこない。見事に。スパムフィルターとかじゃなくてCGI叩かれないから負荷一切かからないです。お勧め。

もちろん、ちゃんとした? コメントやトラックバックは来ています。

ところで、WordPressって人気なのね

ところで、WordPressって人気なのね。エントリーの内容ってそんなに特別なこと書いてるわけじゃなくてすごく基本的なことなんだと思うんだけど(はてブのホッテントリ入り、200ブクマ超えてら...

これなんか↓ すんごく気合い入れて書いたんだけどなぁ。37ブクマか...

ってのはWordPressかMTかという問題じゃなくて俺が人気ないからか...失礼しました!

カテゴリー: MovableType, 駄文・雑文

2007年07月21日

アクセシビリティはボランティアじゃないっ!

スクリーンリーダー利用者とのやりとりから理解できること

「ウェブコンテンツ・テキストバージョン・ジェネレーター(Naked Beta)」なるものを作っているのだが、先日某SNSの「視覚障害者のパソコンサポート」コミュニティにて「PDFの扱い方」スレが立っていたので初めて書き込ませていただいた(Naked(Beta)ではPDFをテキスト化することができる)。

その後メンバーの方が参加しているメーリングリストで紹介いただいた関係で何通かメールをもらった (感想や要望など)。早速いくつかは反映させていただいたが、そのメールでのやりとりから改めて「音声ブラウザやスクリーンリーダーといってもその使い方は様々」ということを実感したので、ちょっと紹介させていただこうと思う(これまでにお会いして話を聞いた他の方の例もあわせて紹介したい)。

以下、利用環境の一例。

  • OSはWindows。
  • VDMW300 (PC-Talker系列) を利用。
  • ブラウザはInternetExplorer 6。
  • Orbit (ダウンローダー) を「スタートアップ」に登録している。

ウェブの利用の方法の一つとして、この方の場合はウェブページやPDFをクリップ・ボード経由でエディタに貼り付けることが多いとのこと。

ポイントは、PDFへ移動しようとする際にOrbitが起動してしまうこと(単に拡張子の問題だろうな)。Naked経由でPDFを読み上げる場合はOrbitのダイアログで「キャンセル」を選ぶ必要があるらしい。

エディタに貼付けるとかエクセルに(テーブルを)貼付けるってのは他の方にも聞いた事があって、スクリーンリーダー+エクセルだと「矢印キー」でセルの移動ができるから表を読み上げるのには便利だよ、というお話をしておられた(この方には少々驚かされた。エクセルもそうだが、ページ内で欲しい情報はエディタに貼付けてエディタの検索機能を使うから、ほら、こうやって...速いだろ? って...*)。

* もちろんこの方はかなりの上級者だからこうできるのであって、一般のユーザーだとこうはいくまい。

また、他の方の場合 (弱視の方) ルーペを使えば見えるけれども (つまりソフトウェア的に拡大ではなくて、実物のルーペを使ってディスプレイに顔をくっつけて情報を見る)、音声ブラウザは楽だから読み上げソフトはよく使うよ、と言っておられた。

これは完全に余談だが「目の見える人は不便やのう(笑)。わしら重たいモニターとかいらんもん。」ってな冗談で僕らを笑わせてくれたおっちゃんもいた。

携帯ブラウザでPCサイトを閲覧する

私事で恐縮だが、Naked(Beta)を最も活用しているのは誰あろう自分自身である。用途は携帯からのPC用サイト閲覧。

スポーツのリアルタイム中継とかでPC向け無料、携帯向け有料ってサービスが結構あるので(セコいな! 俺)、Naked(Beta)の「携帯」モードのURLをブックマークに登録しておいて外出中はそこからウェブサイトを見ていることが多い。

僕の携帯には一応フルブラウザが入っているのだが、僕にとっては使いやすいものではないし、何より画像込みの重たいページをダウンロードするには電波状況がかなり良くないと途中で切れてしまうことが多い (回線速度も決して速くない)。またあの小さなディスプレイの上ではやはり携帯向けのページの方が使いやすい。

Googleのモバイルゲートウェイやライブドアの「モバウザー」とか同じようにPC用のサイトを携帯用に変換するサービスは存在するが、これらのゲートウェイで変換して「読みやすい」サイトと「読みにくい」サイトがある。これらのゲートウェイで変換して読みやすいページは、音声読み上げでも理解しやすいと考えてほぼ間違いないだろう。装飾が排除されシンプルに構造化されたテキスト情報こそが携帯ブラウザで読みやすいページであるからである。

ウェブサイトやソフトウェアは意外な使い方をされている

覚えておきたいのは、それがソフトウェアであってもウェブサイトであっても、どんな利用のされ方をされているかは全く分からないということだ。

VDMW300のほうはともかく、Orbitの開発者たちは視覚障碍者がこんな使い方をしているなんておそらく想像もしていないだろう。

サイトの中での「文字の画像化」がエディタを使ってページ内検索をする人にとってはマイナス要因になっているということも普段僕たちはあまり気にしない。

PCでの閲覧を前提にサイトを作成していて「携帯版は想定外」な場合でも、ゲートウェイを使って携帯で閲覧しているユーザーがいるかもしれない。

「サイトのターゲットはこうだから...」という考え方をするのは構わないが、そのサイトやサービスをどう使うかはユーザー次第であり、全然自分たちの想像から離れたところで有益なものとして使われているかもしれないのだ。

「色んな使い方ができる」のが「Web標準」

で、まぁ何と言うかここからが答えになるわけだが、「そんなに色んなブラウザやユーザーをターゲットにして制作する側の負担ばかり増える...」という思考の対極にあるのが「Web標準」なんだな。

表現は視覚だけじゃなく音声だけでもない。また音声にしたって使い方は一通りじゃない (だからこそIAとかペルソナ/シナリオ法とか...それはそれで大切であるが「想定外」の使い方にも耐えられるつくりにしないといけない、それがアクセシビリティ)。

どんな使い方をしてもらってもいいよ。色んな使い方ができるよ、ってのが「Web標準」の本質なのだ。

制作者とクライアントにメリットはあるか

これはもう滅茶苦茶あるね (日本語滅茶苦茶...)。まずユーザーにメリットがあること=制作者の幸せでありクライアントへのメリットじゃないか。

まぁ、ありきたりのことを書いてもつまらんだろうから少し目線を変えてウェブプログラマ向けに書いてみようか。

思いつくままに羅列すると、工数短縮・コードの短縮、分業化、メンテナンス性の向上、出力されるHTMLの減量→トラフィックの節約、等々。

これらの殆どは制作者のメリットでもあるが例えば受託の開発であればクライアントのメリットに直結する。工期とコストの縮減、メンテや改良コストの縮減、さらにウェブサイトやウェブサービス利用者へのメリットがあるとなれば、もう「やらない理由が無い」ではないか。

と、まぁこのあたりで息切れして来た。「早い段階での分業化が可能」「テンプレートを半分に減らす」あたりを続いて書こうかと思っていたが、続きはいずれ書く予定。

あ、そうそう具体例を一つだけ。

SNS構築案件の時に「OpenPNE」を試してみたことがあるのだが、テンプレート数の多さとテーブルレイアウトのコードのあたりで嫌になってしまい結局採用を見送った (今のバージョンは良くなっているのかもしれないが)。何もそこまでmixi真似することもなかろうに。

これ「Web標準」ベースだったらテンプレート数とコード量おそらく半分近くになるだろう (これ本当)。テンプレート数が減ったらカスタマイズ工数も大幅減ですよ。

と、ここまで書いたところでこんなエントリー見つけてしまった...

アクセシビリティはボランティアじゃないっ!

ということでタイトル改題。まだこんなこと言ってるのか...何年前の議論だろうか。

ここまでお読みいただいた方は既にお分かりだろうが「アクセシビリティ」は何も障碍者のためだけのものではない。特にページを処理するプログラムを書く人間に対するアクセシビリティが高ければ高いほど様々なメリットが享受できるようになる。

確かに冒頭のNaked(Beta)の話はボランティアというか、実際にパソコンサポートという形でボランティアされている方とのやりとりがきっかけで...という話なのだが、何も僕自身はNaked(Beta)をボランティアで作っているわけでも趣味でつくっているわけでもない。

このプログラムの本質はHTMLの構造を保ったままてきるだけシンプルなテキストバージョンのHTMLに変換する「アクセシビリティ・テキスト変換エンジン」なのだ。で、この変換エンジンはサイト制作現場というきわめて「ビジネス」的な世界で様々な活用が可能である*。

もちろんこのプログラム自体への引き合い(製品やサイトへの組み込み)も頂いているが、変換エンジンの部分はもっと多様な利用方法を想定して作成している。

いくつか例をあげよう。

サイトリニューアル時の既存ページの変換・再利用

サイトを新しいデザインに変更するだけなのに、既存のページをいちいちコーダーがひぃひぃ言いながら流し込み直し、マークアップし直しとかするの? 何か無駄じゃない? 旧ページを機械処理でCMSにインポートして、新しいデザインテンプレートを適用して出力(某方面では「再構築」と呼ぶアレ)し直したらリニューアル終了! ってな形で活用している。

もちろん、ページの構造がきれいであればあるほど変換は容易である。

どっか(どこ?)の制作会社に騙されて(!) 「Web標準」で作ってみたけどリニューアル見積もりとったら全然安くないじゃん! というクライアントの皆さんはどうぞウチの会社にご連絡を。きっとびっくりするようなワークフローと見積もりの提案が可能かと*。

* もちろん、ウチ的にちゃんとそれで利益があがるわけです。スタッフも「ひぃひぃ」言わないし。

サイト運用におけるアクセシビリティの継続確保

せっかくCMS入れたのに覚える事沢山すぎる...あんたらフォームの全半角揃えとかはサーバー側で行うべきとか言うくせに、CMSへのテキスト入力の際は私らが気をつけないといかんのか? というクライアントの皆さんはどうぞウチの会社にご連絡を。ガイドラインに違反した入力は可能な限り機械的に修正・出力するという考え方でCMS構築します。

何か単なる宣伝になってきたな...まぁ、工数短縮・コード縮減のあたりでも書いたが、「Web標準」ベースだとサイト全体にわたる修正とかも楽だから、「えー!! ここまできて全ページにかかる修正ですか!? 勘弁してください」とか言われなくて済むようになるし。

とか...本当に息切れしてきたので続きはまた今度書く...かもしれない。

カテゴリー: アクセシビリティ, 駄文・雑文

コメント/トラックバックスパムと戦うための5つのヒント。

殆どがここに書いた事だけど。

トラックバックスパムもコメントスパムも来ないと何だか寂しい...。

まだ対策して数日ではあるけれど、今までは2〜3日したらスパムが来てたから。

ここ数日トラックバックスパムもコメントスパムも来ない。何だか寂しいな。 ログを見ると相変わらずmt-comments.cgiとかmt-tb.cgiは叩きに来てる。阿呆が。 CAPTCHAは絶対使いたくなかったのでまぁこれが正解だろう。現状では多分。

  1. テンプレートから「<$MTEntryTrackbackData$>」を削除する。これで「自動検知」できなくなる。
  2. トラックバック、コメントCGIをリネーム。単にリネームするだけでなく拡張子も変えてしまおう。トラックバックCGIについては更にhtmlファイルに見せる技を使おう。
  3. コメントは「確認」画面を経由させるようにして直接ポストできないように。但しJavaScriptオンの場合は直接ポストできるようにする。そもそもJavaScriptオンの人は意識せずに済むし。
  4. 古いエントリーのトラックバックやコメントを閉じてしまおう。攻撃のターゲットは少ない方がいい。
  5. トラックバックやコメントのCGIに対してGETリクエストを制限しよう。

カテゴリー: MovableType

2007年07月20日

MovableType4のWYSIWYGエディタが生成したHTMLをクリーンアップするプラグイン。

8月3日更新、グローバルフィルター版も作成しました。

概要

MT4のWYSIWYG(リッチテキスト)エディターが生成するHTMLをクリーンアップします。

要素タイプ名と属性名を小文字に変換し、空要素タグを /> で閉じます。また、B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します。

また、ダブルクォーテーションで囲まれていない属性値をダブルクォーテーションで括ります。

背景・経緯

MT4のWYSIWYG編集では、例えば "<br>" が "<br />" にならないとか IMG要素が閉じられない (つまり空要素が />で終わらない) 問題があります(Beta2の時にフィードバック済み)。

またWindows版 Internet Explorer, Opera* だと要素タイプ名/属性名が大文字になってしまいます。

*Macintosh版 Safariでも要素タイプ名/属性名は大文字になりますが、そもそもSafariではWYSIWYGがうまく動作しません。

テンプレートはXHTMLで書かれていますのでこれらの部分はXHTMLとして正しくないことになります。

また、B, I, U, STRIKE, FONT 等の要素が使われることからWYSIWYGを敬遠する人も多いかと思います。

簡単に修正できるのか? と思っていましたがBeta7で修正されていないところを見るとコード数行で済む問題でもないようです。

H.Fujimotoさんのエントリーによると、

動作からすると、リッチテキストエディター部分のinnerHTMLプロパティをそのまま出力しているようです。

とあります。となるとブラウザがHTMLを生成しているわけで、修正するには根本的に実装方法を変える必要があるという、ちょっとやっかいな仕様ということになります。

MT4のWYSIWYGエディタについて言及している他サイトのエントリー

ということもあって、MT4のWYSIWYGエディタが生成したHTMLを出来る限りクリーンアップするプラグインを作成しました。

利用方法

プラグインフォルダに tag2xhtml.pl をアップロードします。

再構築の際 (ファイルがディスクに書き出される直前) にファイル全体に対して処理を行います(「確認」段階では処理は行われません。またデータベースに格納されるデータは変換されません)。

ダイナミックパブリッシングには未対応です。

処理内容

  • 要素タイプ名と属性名を小文字に変換します。
  • 空要素タグを /> で閉じます。
  • B, I, U, STRIKE, FONT 等の物理要素をそれぞれ STRONG, EM, INS, DEL, SPAN要素に置換します (簡易的な対応ではありますが、主な視覚系UAのデフォルトスタイルが同等な論理要素に置換します) 。

対応バージョン

MovableType3.x, MovableType4.0

ライセンス

パブリック・ドメイン

ダウンロード

カテゴリー: MovableTypeプラグイン

続きを読む "MovableType4のWYSIWYGエディタが生成したHTMLをクリーンアップするプラグイン。" »

2007年07月19日

ウェブコンテンツ・テキストバージョン・ジェネレーター(Naked Beta)。

Naked (Beta)について

「音声ブラウザと相性の良いHTMLをつくる」というコンセプトで開発を始めた「ウェブコンテンツ・テキストバージョン・ジェネレーター(ゲートウェイ)」です。

以前にも紹介しましたが、その後色々と調整を行い実用レベルになったと思うので、このブログの各ページに各モード(スキン)変換のためのリンクを設置したついでにブックマークレットを作りました。宜しければご利用ください。

これは何?

  • HTMLからCSSや装飾部分, JavaScript等を削除します。
  • 一定サイズ以下の画像はALT属性の文字列に置き換え、一定サイズ以上の画像は外部リンクに変換します。*
  • 音声読み上げの際に問題になることの多いいくつかの問題 (日付のフォーマット、機種依存文字、DEL要素,INS要素、スペースによる日本語の分割等) の解決 (読み上げやすい、あるいは読み上げて意味の通りやすいフォーマットへの変換) を試みます。
  • レイアウト用のテーブル要素 (らしきもの) を削除してできるだけプレーンなHTMLに変換します。
  • PDFをテキスト化します。
  • 上記の変換を行った上で、各スキンの適用やルビ振り処理を行います。

* 画像については実際はもう少しインテリジェントな? 処理を行っています。見出し要素の中の画像は「テキストが画像化されたものだろう」、とかアンカーの中の画像は「ボタン」だろうとか。詳しく知りたい方は関連エントリーをご覧ください。

ブックマークレット

サイト貼付け用JavaScript

このブログに貼っているJavaScript↓そのまま使っていただいても構いません。


<script type="text/javascript" src="http://junnama.alfasado.net/online/naked.js"></script>

H3要素で「スタイル:」というラベル、各リンクはUL, LI要素によるリストです(このブログではCSSで一行に並べています)。

より詳細な仕様について

関連エントリーをご覧ください。実装の課程で書いたものです。どういうコンセプトでどのような処理を行っているかを書き連ねています。

関連エントリー