2012年8月2日木曜日

[Blogger] テンプレートのバックアップとリストア

Blogger をカスタマイズするには、いろいろなガジェットを使ったりHTML/JavaScript ガジェットを使ったりすることもできるが、多少凝ったことをするとなるとテンプレートに手を入れることになる。

テンプレートに手を出す前に必須なのがテンプレートのバックアップ/リストアなので、一度テスト用のブログを使ってやってみよう。



バックアップは、「テンプレート」画面で右上の「バックアップ/復元」ボタン。「テンプレート>バックアップ/復元」ダイアログで「テンプレートをすべてダウンロード」を実行。「すべて」と書いてあるが別に複数のテンプレートをまとめてダウンロードするわけではなくて現在使用しているテンプレートがダウンロードされる。
テンプレートは、template-3026474201568311803.xml というファイル名のXMLファイルとしてダウンロードされる。何回ダウンロードしてもファイル名は同じ。使用するテンプレートを変更するとサイズは変わるがファイル名はやはり同じ。ブログが違えばファイル名も変わるので、「template-」の後の数字は、ブログ毎の識別子か何かなのだろうか?

復元してみよう。まず検証用にダウンロードした時とは違うデザインを選んで適用しておく。
「バックアップ/復元」ボタン。「テンプレート>バックアップ/復元」ダイアログで「ファイルを選択」。ファイル選択ダイアログが表示されるが、ファイルの形式が「すべて」になっている。ダウンロードしたのがXMLファイルなのだからここでもファイルの形式はXMLにしておいてくれると楽なのに。ファイルを選択してアップロード。元のデザインに戻った。アップロードが完了した時点でブログに適用される。


元テンプレートとの関連付け


デザインはバックアップ時に戻るのだが、親テンプレートとの関連は切れてしまうようだ。

バックアップ時復元後

また、たとえばSimpleテンプレートを基にして作成→バックアップ→復元しても、画面上は動的ビューをカスタマイズしたようになってしまうので注意。



ガジェットについて


ガジェットの復元についても確認してみた。
位置情報などは元に戻るようだが、内容については部分的に復元される。

たとえば、「HTML/JavaScript」ガジェット。
配置位置を変更してもバックアップ時の場所に戻る。タイトルが変更されていても元に戻る。しかし、内容が変更されていても元には戻らない。 実際、テンプレートファイル中にも

<b:section-contents id='sidebar-right-1'>
<b:widget id='HTML2' locked='false' title='てすと' type='HTML'>
<b:includable id='main'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != ""'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>

  <b:include name='quickedit'/>
</b:includable>

となっていて、タイトル情報までは記録されているが内容までは記載されていない。
テンプレートをバックアップしてもガジェットの内容までは復元されないことには留意するべき。

このHTML/JavaScriptガジェットがレイアウトから削除した後で復元をしてみると、ガジェットも復元されるのだが、内容はやはり削除時の内容で復元された。
このあたりは動きから類推するしかないがガジェットは削除後もデータとしては Blogger に記録が残っていてその値が使われているのだろうか。



0 件のコメント:

コメントを投稿