BlogTop > MovableType > mt4 Archive

mt4 Archive

Movable type 4.x は、2011/11/26 で製品ライフサイクルを終了しています。
詳しくは、MovableType.jpの Movable Type のプロダクト・ライフサイクルポリシーについて を参照してください。

2 of 5

< Previous PageNext Page >

すべてのページ

4.25での認証ユーザのサインイン動作確認:はてなの場合

  • Posted by: maRk
  • mt4
  • はてなブックマークに追加

Movable Type 4.25では、これまでの認証ユーザのサービスにいくつかのサービスが加えられています。今回は「はてな」のOpenIDによる認証を試してみます。

認証ユーザの件については、MovableType.JPの以下のドキュメントを参照します。*モーション用のドキュメントですが、通常のブログであっても認証については同様です(のはず)。

コメントのサインインのリンクをクリックします。

hatena_openid01_425.gif

サインイン画面に遷移します。自分のはてなIDを入力して、サインインのボタンをクリックします。

hatena_openid02_425.gif

はてなのサインイン画面に遷移します。SSLでログインする場合は、セキュア(SSL)のリンクをクリックします。なお、すでにはてなにサインインしている場合は、ログイン認証画面は出ずに次のステップとなります。

hatena_openid03_425.gif

OpenIDでのログイン確認画面に移動します。認証するサイトのURIが表示されて、認証をおこなう場合は、「今回のみ許可」か「常に許可」を選ぶことができます。この辺の説明は、はてなの説明ページを参照します。

hatena_openid04_425.gif

認証に成功すると、元記事のページに戻りコメント欄のところで、ワタくシの場合だと「maRkとしてサインインしています。」という文言が表示されます。

はてなのOpenIDの確認画面で「常に許可」を選んだ場合ですが、次回からはそのサイトではOpenIDを許可するかの確認画面が表示されなくなります。

「常に許可」のサイトを解除するには、http://www.hatena.ne.jp/ユーザID/config/authのページに移動して、許可済みサービス一覧のなかから削除したいサイトのところの「削除」ボタンを押下します。

hatena_openid05_425.gif

あとがき

検証日は、2009年5月21日です。その後の仕様変更などで挙動が変わることがあるかもしれません。

はてな認証は、4.25からのもので、プラグインのものとは別です。4.24以前からプラグインで導入されているかたは、無効にするかプラグインを外されるとよろしいかと。自分の場合ですが4.25にアップする際、以前のバージョンのプラグインディレクトリからコピーせずにアップグレードをおこないました。「はてな」のほか、4.25ではWordPress(のアカウント)も同様にはじめから認証サービスとして入っています。

MT:ダッシュボードにブログパーツを表示させてみた

Movable Typeのダッシュボードにプラグインとして、ウィジェットを追加することができるとのことで、あれこれ試して「ブログパーツ」を表示するというのができました。

最近ブログパーツとか使わないというか、それほどかまったりすることがないのですが、ほんの練習がてら作ってみたものです。ウィジェット作成の方法ですが、The blog of H.Fujimotoさまの以下の記事から始まる続き物記事にて詳しい解説があり、参考にさせていただきました。

以下に作成した手順を記しておきます。これはネタ的なものでして、実用性とか全く考えてませんのであしからず。例としてBlogPet(ブログペット)を表示させるというのを示します。まずはキャプチャから。

dashbordwidget_blogparts.gif

手順は以下のような感じです。

手順1:ブログペットを表示させるHTMLファイルを作る

テンプレート側で、インラインフレームにて呼び出す、という形にしています。因みに自分のVoxブログにて表示させていますが、あれもインラインフレームが使われています。

テンプレート自体はブログペットを表示させるだけの簡単なものでいいかと思います。blogparts.htmlとか適当なファイル名で保存して、サーバにアップしておき表示されることを確認しておきます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>blogpet</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta name="robots" content="noindex,nofollow" />
<style type="text/css">
object,embed{ border: 0px none; }
</style>
</head>
<body>
<--ここにブログペットを表示させるコード -->
</body>
</html>

手順2:config.yamlとテンプレートを作成

config.yamlのコード

ここではidをWidgetBlogparts、テンプレートファイルは、blogparts_widget.mtmlとし、ファイル名config.yamlで保存します。

name: Widget Blogparts
id: WidgetBlogparts
description: ブログパーツを表示
version: 1.0
widgets:
  blogparts_widget:
    label: ブログパーツ
    plugin: $WidgetBlogparts
    template: blogparts_widget.mtml
    singular: true
    set: sidebar

テンプレート(blogparts_widget.mtml)のコード

ファイル名をblogparts_widget.mtmlとして、tmplという名前のフォルダを作成してその中に保存します。以下は上記のブログペットを表示するページをウィジェットに取り込むためのテンプレートの例です。

<mt:setvar name="blogpetID" value="ブログペットのID(貼り付け用コード内にある32文字くらいの英数)" />
<mt:setvar name="src" value="http://example.com/blogparts.html" />

<mt:setvartemplate name="showBlogparts">
<iframe frameborder="0" marginwidth="2"
marginheight="2" longdesc="http://www.blogpet.net/profile/view/<$mt:getvar name="blogpetID"$>" src="<$mt:getvar name="src"$>" width="134" height="324" scrolling="no"></iframe>
</mt:setvartemplate>

<mtapp:widget id="WidgetBlogparts" class="widget" label="ブログパーツ" can_close="1">
    <mt:getvar name="showBlogparts">
</mtapp:widget>

手順3:ファイルをまとめてプラグインディレクトリに入れる

ファイルの準備が整ったらフォルダにまとめていつものようにMTシステムのpluginsディレクトリに収めます。

フォルダの構成とかはこのような感じです

  • blogpartsWidget
    • tmpl
      • blogparts_widget.mtml
    • config.yaml

最後に

マルチブログ機能とかで、複数ユーザのパーツの対応とか考えたけど、ややこしくなってきそうなのでこの辺でやめておきます。この理屈でいうと、いくつでもパーツをつけれそうなのですが、ま・あまりつけ過ぎるとダッシュボードがカオス状態に!くれぐれもご注意を。次回はもう少しマトモなのをやってみたいと思います。以上です。

4.25がでたのだけど

  • Posted by: maRk
  • mt4 | myown
  • はてなブックマークに追加

Movable Type4.25の出荷が開始されましたが、どうも今回はアップデートするのが乗り気でありません

Movable Type 4.25 では、様々なバグフィクス、セキュリティ強化に加え、モーションブログを作成するためのテンプレートセットや、それに関する新機能を追加。また、プラグインとして提供されていたアクションストリーム機能を強化してバンドルしています。

Movable Type 4.25 出荷開始 | MovableType.jpより

【追記:2009/04/30 】4月30日に4.25にアップグレードしました。4.24において脆弱性が確認されたとのことです。詳細は、Movable Type 4.24 でのセキュリティ上の問題について (MovableType.jp)に記載されています。

モーションブログ、アクションストリーム機能は今回の目玉というわけですが、どうも今回はアップデートする気が起きません。

理由としては、ベータ版から正式版リリースまでの期間がはやすぎない??というのと、アクションストリームはプラグイン単体のほうがいいような気がするということからです。

まぁ個人が思ったことにすぎず細かく説明することもないのでこれ以上のことは書かないでおきますが。

いちおう本体はダウンロードしていて、アクションストリーム1.0との差分みていたりします。config.yamlでわかったのは、1.0になくて追加になっているテンプレートタグがあるようですネ。以下が4.25にバンドルされたほうでつかえるタグのようです。

function
block

あと、これはどうでもいいことですが、これ以降、このブログでアクションストリームのネタをとりあげるのを打ち止めにしておきます。バージョン1.0のころの情報で古いですし、どこの馬の骨かわからないようなのが情報垂れ流ししても迷惑なだけで、影響力のあるヒトが書いたらそのほうが情報を信頼できるでしょうから。自分で書いてて馬鹿馬鹿しくなってきたので。

それと。。Movable Typeのタグの仕様とかみるのに、テンプレートタグリファレンスみたら全部わかるよ、と思っているかたもいるとはおもうんですけど(自分でもリンク張っていますが)、あれ万能というわけでもないですから。これとか

ActionStreams関連のドキュメント・リファレンスが追加されている

  • Posted by: maRk
  • mt4 | plugins
  • はてなブックマークに追加

Movable Type 4.25でバンドルされているActionStreams(アクションストリーム)プラグイン関連の情報がmovabletype.jpにあがってきているようです。

最近ほとんどかまうことのなくなってきたActionStreamsなのですが、movabletype.jpを見ますと、このプラグインの関連情報やタグリファレンスなどが追加されています。一寸だけピックアップします。詳細は、アクションストリームのドキュメントをご参照ください。

タグリファレンス

ドキュメント

EntryAuthorLinkタグでAuthorのURLの有無で分岐する

MTEntryAuthorLinkは、ブログ記事作成者に対しリンクを付加するものです。このタグでリンクが付かなかった場合の分岐をやってみます。あとmicroformatsを少々カスタマイズします。

Vicunaテンプレートのカスタマイズを中心にやっているのですが、たまにはデフォルトのテンプレートをカスタマイズしてみることにします。

MTEntryAuthorLinkの説明は以下のページに記載されています。

さて、Movable typeデフォルトテンプレートのエントリアーカイブには、microfomatsが埋め込まれており、Operator(Firefoxアドオン)などを使うことで情報を抽出できるようになっています。

しかしながら、OperatorでMovable Typeのテンプレートで生成されたページをみますと、hcardの連絡先の部分でInvalidになっているのをよく見かけます。

これをOperatorでおこられないようにしてみよう、というわけです。

Invalidの原因と対処

OperatorでInvalidとなる原因ですが、早い話が仕様に則してない書き方をされてる、ということになります。

最も簡単な解決方法は、記事を作成できる権限のあるユーザにプロフィールでURLを設定してもらえば、Invalidとはなりません。それは、EntryAuthorLinkshow_hcard="1"の指定によるものです。例えば、MTUserさんが、user.example.orgで設定された場合の実際のテンプレートタグの出力は、

<span class="vcard author">
<a class="fn url" href="http://mtuser.example.org">MT User</a>
</span>

となっています。これが、URLおよびEmailを設定されていませんと、リンクとおよびclass属性のfn urlが表示されませんからOperatorでInvalidとなるようです。

分岐によりURLがないときvcardをつけないようにする

ということで、作成者のURLがないとき、vcardは使わない、というように分岐してみることにしました。デフォルトテンプレートを以下のように書き換えてみます。

<mt:If tag="EntryAuthorDisplayName">
<mt:SetVarBlock name="Autr">
<$mt:EntryAuthorLink show_hcard="1"$>
</mt:SetVarBlock>
 By <mt:If name="Autr" like="href="><span class="vcard author"><mt:Else><span class="author"></mt:If><$mt:Var name="Autr" /></span> on <abbr class="published" title="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%x %X"$></abbr>
<mt:Else>
・・・・以下略・・・・

ここではAutrという変数名にEntryAuthorLinkの内容を与え、href属性があるかで判断しております。リンクがないと、vcardが付かないので、Operatorでは抽出されなくなります。細かくて伝わらないと思いますけど、複数記事作成者がいて、URLの登録を統一できないようなときなどに。

ちょっと小技で改造する

一寸だけ改造をしてみます。テンプレートを見ると、<mt:If tag="EntryAuthorDisplayName">とあることから、表示名はニックネームだろうと、決め付けてしまうならば、オプションのnicknameをつけて以下のようにしてみるとか。

<$mt:EntryAuthorLink show_hcard="1" regex_replace="/fn url/","fn nickname url"$>

あと思いつたのは、hAtom関連で、updated情報もというときに。

<abbr class="updated" title="<$mt:Date format_name="iso8601"$>">Update: <$mt:Date format="%x %X"$></abbr>

といった感じです。最後に、show_hcardの情報はMovableType.orgの以下を参考にしました。

4.2xのコメントリプライお試しの続き

MovableType4.2xのコメント返信機能つきテンプレートの編集。前回のものはmicroformatsをあまり意識してなかったのでその点だけ修正してみました

この記事は以下の記事の続きになります。コメント返信機能をmt.Vicunaテンプレートに適用させるといった内容です。

テンプレートの変更

当該記事に示しましたテンプレート(のコード)のdt要素の部分だけ抜粋します。

<dt<MTIfArchiveTypeEnabled archive_type="Individual"> id="comment-<$MTCommentID$>"</MTIfArchiveTypeEnabled>>
<span class="name">
<MTIfNonEmpty tag="CommentAuthorIdentity">
<$mt:CommentAuthorIdentity$>
</MTIfNonEmpty>
<mt:IfCommentParent>
<span class="vcard author"><$mt:CommentAuthorLink default_name="Anonymous" show_email="0" spam_protect="1"$></span> replied to <a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>">comment from <mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>
<mt:Else><span class="vcard author"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
| <span class="date"><a href="<$mt:CommentLink$>"><$mt:CommentDate$></a></span>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
</span>
</dt>

以下のよう書き換えをおこないます。

class="name"のところは、class="vcard autor name"class="vcard author"のところは、class="fn"のようにしてみます。書き換え後のテンプレートは以下のようになります。

<dt<MTIfArchiveTypeEnabled archive_type="Individual"> id="comment-<$MTCommentID$>"</MTIfArchiveTypeEnabled>>
<span class="vcard author name">
<MTIfNonEmpty tag="CommentAuthorIdentity">
<$mt:CommentAuthorIdentity$>
</MTIfNonEmpty>
<mt:IfCommentParent>
<span class="fn"><$mt:CommentAuthorLink default_name="Anonymous" show_email="0" spam_protect="1"$></span> replied to <a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>">comment from <mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>
<mt:Else><span class="fn"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
| <span class="date"><a href="<$mt:CommentLink$>"><$mt:CommentDate$></a></span>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
</span>
</dt>

class="url fn"としたいところなのですが、MTCommentAuthorLinkの出力が、コメントフォームでURL・メールアドレス共に記載されなかった場合、リンクはつかないという動作のために「コメント投稿者のリンクがあるかないか」の判断をおこなう処理が必要になってくるようなのでfnのみにしてあります。

InstaMTで編集したテンプレートを任意のフォルダに

  • Posted by: maRk
  • MovableType | mt4
  • はてなブックマークに追加

InstaMTで編集しているテンプレートを特定のフォルダ内に収めて同期させるといった使い方についてです。

検索語から何かを勝手に読み取って答えるようなエントリ、みたいな企画を考えてまして。今回はその予行練習とでもいいましょうか、まぁそんな感じです。

検索されたワードは特に公開しないというお約束ですすめていこうと思います。

InstaMTに「このテンプレートにリンクするファイル」を設定してみる

さて、「あらかじめローカルで編集しテストをおこなったのち本番環境で使ってみる」、というようなとき一寸したものでしたら、InstaMTでも実現は可能です。

で、編集したテンプレートをバックアップ目的等でフォルダにまとめてローカルに保存したい、というようなときは「このテンプレートにリンクするファイル」(以下この記述を、「Link to File」とします)という機能をつかってみる、というのはどうでしょうか。

Link to Fileについては、「小粋空間」さまの以下の記事にて、その機能の詳細が説明されています。

こちらが特に説明することはないのですが、InstaMTにおいての設定は以下のようになります。

ローカルディスク(C:)直下にInstaMTをインストールしたとして、mtVicunaというフォルダにStylesheetテンプレートを「styles.mtml」というファイル名にて任意フォルダにリンクさせるという場合です。

Link to Fileの項目には以下のように記述して保存または再構築します。

C:\instamt\www\mtVicuna\styles.mtml
instamt-linkfile.png

*パスが適正でないと、保存のときにエラー表示がでますのでご注意。保存がうまくいっているようならば、実際のフォルダを確認します。上の例ではmtVicunaフォルダ内にstyles.mtmlが入っているはずです。このファイルをテキストエディタ開いて直接編集してみます。そして、InstaMTを起動してテンプレートを見にいけばそのファイルを変更したテンプレートはその変更が反映されます。

ワタくシの環境で可能であったというものですので、その点はご承知おきください。あとInstaMTをUSBで使う場合は想定してません。

なお、InstaMTについては以下のページを参照します。

Index of all entries

BlogTop > MovableType > mt4 Archive

Feeds
Elsewhere

Action Streams

logo

Comment powered by DISQUS

Return to page top