C# と .NET Framework 4 を主にWindows Formのアプリケーション開発について

2009年3月21日

Windows Live Writerから投稿でタイムアウトまとめ Windows Live Writerから投稿でタイムアウトまとめ

以前から、Windows Live WriterでMovable Typeに投稿するとタイムアウトが発生してました。

いろいろ試したり調べましたが、原因がMT側なのかWLWなのかもよくわからない状態なため、諦めて画像はftpで転送する事にしました。

覚書として調べた事をまとめておく。

続きを読む "Windows Live Writerから投稿でタイムアウトまとめ"

2009年3月20日

wlwmanifest.xml &lt;options&gt; エレメント wlwmanifest.xml <options> エレメント

Windows Live Writerのマニフェストに記述可能な options サブエレメントは、ブログの機能をWindows Live Writerに伝える機能を持ちます。

最初にWLWでブログアカウントを設定する際に基本的なAPIタイプは決定されます。

さらに、マニフェスト中のoptionsエレメントによりオーバーライドする事が出来ます。

optionsサブエレメントの設定例:

    <options>
        <clientType>MovableType</clientType>
        <supportsCategoriesInline>Yes</supportsCategoriesInline>
        <supportsSlug>Yes</supportsSlug>
        <supportsPages>Yes</supportsPages>
        <supportsScripts>Yes</supportsScripts>
        <supportsEmbeds>Yes</supportsEmbeds>
    </options>

clientTypeエレメント

clientTypeエレメントはWLWの使用するブログの機能セットを定義します。
有効な値:

  • Metaweblog
  • MovableType
  • WordPress

clientTypeで設定した基本の機能は、各個別エレメントでオーバーライドできます。

続きを読む "wlwmanifest.xml &lt;options&gt; エレメント"

wlwmanifest.xml フォーマット wlwmanifest.xml フォーマット

Windows Live Writerをカスタマイズする場合、マニフェスト ファイルを編集することになります。

マニフェスト ファイルはXMLドキュメントで、Windows Live Writerがサーバー上の特定の場所から、必要に応じてダウンロードします。

マニフェストのフォーマット

基本となる構造は、下記のXML宣言とルートエレメントから構成されています。

<?xml version="1.0" encoding="utf-8" ?> 
<manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog">
</manifest>

MovableType用の例

<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns="http://schemas.microsoft.com/wlw/manifest/weblog">
    <options>
        <clientType>MovableType</clientType>
        <supportsCategoriesInline>Yes</supportsCategoriesInline>
        <supportsSlug>Yes</supportsSlug>
        <supportsPages>Yes</supportsPages>
        <supportsScripts>Yes</supportsScripts>
        <supportsEmbeds>Yes</supportsEmbeds>
    </options>
    <weblog>
        <serviceName>Movable Type</serviceName>
        <homepageLinkText>サイトを確認</homepageLinkText>
        <adminLinkText>ダッシュボードを開く</adminLinkText>
        <adminUrl><mt:AdminScript encode_xml="1"></adminUrl>
        <postEditingUrl><mt:AdminScript encode_xml="1">?__mode=view&amp;_type=entry&amp;blog_id={blog-id}&amp;id={post-id}</postEditingUrl>
    </weblog>
</manifest>

マニフェストに追加できるサブエレメント一覧

ルートエレメント内には次の4つのエレメントを含めることができます。

すべて省略可能です。

<options> ブログの機能の設定
<weblog> Windows Live Writerのサイバーのカスタマイズ
<buttons> Windows Live Writerのツールバーのカスタマイズ
<views> 既定の編集ビューの指定

wlwmanifest.xmlの読み込みタイミング wlwmanifest.xmlの読み込みタイミング

Windows Live Writerはいくつかのタイミングでwlwmanifest.xmlの検出ルールに従ってマニフェスト ファイルを読み込みます。

読み込みタイミング:

  • ブログアカウントの追加Wizardの実行中
  • アカウント設定の更新Wizardの実行中
  • テーマの更新コマンドの実行時
  • 自動更新

自動更新

Windows Live Writerは明示的なコマンド実行中以外にもバックグラウンドでマニフェスト ファイルを自動的に読み込みます。
この更新処理はデフォルトで有効になっていて、バックグラウンドで動作し、失敗したときには何も通知されません(成功した場合は通知されます)。

この自動更新は設定を行うと無効にすることができます:

  • [ツール]→[アカウント]の”アカウント”設定パネルでオプション項目のチェックを外す
  • wlwmanifest.xml内で <supportsAutoUpdate> オプションを指定する

自動更新が有効になっている場合の更新タイミング:

  • 新規で記事作成したとき
  • 過去の記事を開いたとき
  • 記事を書いている間にブログを変更した場合

wlwmanifest.xmlの配置場所 wlwmanifest.xmlの配置場所

Windows Live Writerがブログの設定を確認するために必要なファイルが wlwmanifest.xml です。

このマニフェスト ファイルをサーバーに配置する場合、2つの方法を取ることができます。

<link>タグで記述する場合、<head>~</head>内に

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="stuff/wlwmanifest.xml" /> 

のように記述します。

注意点:最初方法のルート ディレクトリ置かれたマニフェスト ファイルが優先されます。

Windows Live Writerに関するまとめ