PyDS の使い方あれこれ

PyDS 自体は今のところベータ版のソフトウェアであり、ユーザ用のドキュメントもまだ整備されていません。といっても何もガイドなしじゃ寂しいので、とりあえずよく使いそうな内容だけ順次紹介していきたいと思います。

  1. ナビーゲーション用リンク
  2. カテゴリ
  3. 画像のアップロード
  4. スタティックな HTML の管理
  5. ページデザイン/レイアウトの変更
  6. ストーリー
  7. ナゲットで HTML の部品を作成する
  8. HTML の再生成を自動化する
  9. アグリゲータ(RSS リーダ)
  10. アグリゲータで最新のコメントをチェックする
  11. バックアップ
  12. リモートアクセス

ナビーゲーション用リンク

たとえば PyDS 本家のページで左側に表示されている home とか download などのリンク。これがナビゲーション用のリンクです。ナビゲーション用リンクは、「設定」メニューの「ナビゲーション」で設定します。

まず作成するリンクの種類を選択します。たとえば、あなた自身のホームページに戻るためのリンクなら「ホームページへのリンク」、どこか外部サイトへのリンクを作成したいときは「URL を指定して直接リンク」を選択し、「追加」ボタンを押してください。その次の画面では以下の内容を設定します。

リンクレベル
任意の数字を入力します。複数のナビゲーションリンクを設定している場合、ここに入力した数字の順に表示されます。
リンクのタイトル
HTML のリンクとして表示する文字列です。
リンクの説明
リンクに関する説明文。これは a 要素の title 属性として html に出力されます。

なお、ここで設定したナビゲーション・リンクは、設定後に作成、修正したページにのみ反映されます。

カテゴリ

ウェブログの記事をジャンル毎に分類する機能です。設定メニューの「カテゴリ」で定義します。設定項目は以下の通り。

カテゴリ名
ウェブログの入力画面で表示するカテゴリの名称です。この名前はウェブログ入力画面で選択するカテゴリ名として使われると同時に、カテゴリのページを指す URL にも使われるため日本語は使わない方が無難です。
カテゴリのタイトル
カテゴリのページを表示したときのタイトルです。PyCS の更新情報ページにもこのタイ トルが表示されます。
有効
このチェックをはずすと、そのカテゴリは無効になります。
説明文
カテゴリのページでカレンダ下に表示されるカテゴリの説明文です。

実際にカテゴリによって分類されたページを見るのが分かりやすいでしょう。このページの URL、タイトル、カレンダー下の説明文をそれぞれ確認してみてください。

ウェブログ入力のときカテゴリは複数選択できるようになっています。デフォルトで用意されている「ホームページ」というカテゴリは、あなたのホームページとして分類するためのカテゴリです。「ホームページ」のチェックをはずすと、入力したウェブログのエントリはホームページに表示されず、ほかに選択したカテゴリのページにだけ表示されるようになります。

カテゴリで分類したページへのナビゲーションリンクも作成できます。ナビゲーションの設定画面でリンクを作成する際「ウェブログカテゴリへのリンク」を選択してください。次の画面の「リンク対象」に設定済みのカテゴリが選択できるようになります。

画像のアップロード

PyDS で画像ファイルの管理をおこなうには、まず画像アップロード用のディレクトリ(例: /home/yasusii/Images など)を作成し、そこに画像ファイルを置きます。次に PyDS の「設定」メニュー「画像」でパス名などの設定をおこないます。

画像フォルダのパス名
前述の画像用ディレクトリのパス名を入力します。
タイトル
PyDS はアップロードされた画像をもとにアルバム(画像付きウェブログ)ページを自動的に生成します。このアルバムページ用のタイトルを入力します。アルバムページの URL はユーザ0000015の場合 http://lowlife.jp/users/0000015/picures/ となります。
説明文
アルバムページのカレンダー下に表示する解説文を入力します。
テンプレート
アルバムページの生成に用いられるテンプレートです。表示するときのレイアウトを変えたいときは、このテンプレートを変更します。
サイズ
PyDS はアップロードの際、サイズの異なる画像の自動生成もおこなえるようになっています。デフォルトでは 640x480、800x600、1024x763、1280x1024 各サイズの画像とそのリンクを生成するようになっています。

設定が終わったら、ページ上のナビゲーションメニュー側の「画像」を選択してください。すると「画像を保存してあるフォルダから新規画像を登録するには、ここをクリックしてください」と表示されます。これをクリックすると、先のディレクトリ内にある画像が一覧形式で表示されます。アップロードしたい画像の欄にタイトルと解説文を入力し「アップロード」ボタンを押すと、PyDS のデータベースに画像が登録されます。アップロードが完了したらページ一番下の「登録済み画像の一覧へ戻るには、ここをクリックしてください」をクリックして一覧ページへ進みます。

この段階では PyDS に画像が登録されただけで、まだアップストリームのアルバムページには転送されていません。アップストリームに画像を転送するには画像一覧で「編集」をクリックし、「発行」の欄を「有効」にします。この後、アップストリームのアルバムページへアクセスすると画像が表示されているはずです。

アップロード済みの画像には1から順番に id が割り振られます。id の隣には 1600 x 1200 のように、オリジナルの画像サイズが表示されています。アルバムページではなく、ウェブログやストーリーに画像を埋め込みたいときはこの id を使って次のように指定します。

$pictures.imageTag(画像のID, (横ピクセル, 縦ピクセル))

たとえば、id が 15 で、サイズが 1600 x 1200 の画像を 200 x 150 に縮小して表示する場合、次のように入力します。

$pictures.imageTag(15, (200, 150))

なお、上記の例から分かる通り $ は PyDS の入力において特殊な文字として扱われます。ウェブログやストーリーで $ をそのまま文字として使いたいときは、$ というエンティティを用いてください。

スタティックな HTML の管理

普通の Web サイト用に作成したスタティックな HTML やファイルを PyDS で管理したい人もいることでしょう。こうしたファイルを管理する方法は簡単です。ホームディレクトリの .PyDS/www/static (Windows の場合は c:\Program Files\PyDS\www\static/) ディレクトリにファイルを置くと、自動的にアップストリームへ転送されます。たとえばユーザ番号 0000015 でファイルが. PyDS/www/static/foo.html の場合、アップストリームの URL は http://lowlife.jp/users/0000015/static/foo.html になります。修正や削除も同様、自動的にアップストリームへ反映されます。アップストリームに対しファイルの同期をおこなう時間間隔は設定メニューの「アップストリーム」にある「アップストリームの時間間隔」で変更可能です(単位は秒)。

ページデザイン/レイアウトの変更

前述の .PyDS/www/static ディレクトリには pyds.css という名のファイルがあらかじめ置かれています。これがデフォルトで用いられるスタイルシートです。このスタイルシートを修正することで、ページのデザインやレイアウトを変えられます。なお、この pyds.css は アップストリームのページだけでなく、ローカルで動作している PyDS の管理画面表示にも使われていることに注意してください。アップストリームとローカルの PyDS にそれぞれ別のスタイルシートを用いる場合は、アップストリーム用に別名のスタイルシートを用意し、.PyDS/template/BaseRendering.tmpl (Windows の場合は c:\Program Files\PyDS\.PyDS\template\BaseRendering.tml)に記述されているスタイルシートのファイル名を変更してください。

さらに大きくデザインを変更するならば BaseRendering.tml を修正する必要があります。このファイルは直接編集するほか、設定メニュー右側ボックスから「テーマ」をクリック、さらに BaseRendering をクリックして編集することもできます。なお、テンプレートファイルの中に $ や # で始まる行がありますが、これらは PyDS のマクロですので、よく意味がわからない部分は変更しないでください。

ストーリ

ウェブログとは別に何かまとまった、常にサイトのメニューに表示しておきたい記事などを作成するときはストーリ機能を使います。ページ上のナビゲーションに表示されている「ストーリ」をクリックし、「新規ストーリの追加」をクリックすると、ストーリの入力ページが表示されます。

タイトル
文書のタイトルを入力します。
ドラフト
「有効」を選択すると入力データは保留状態になり、アップストリームへの転 送はおこなわれません。
RSS に記載しない
「有効」を選択するとストーリの情報は RSS フィードに出力されません。
形式
HTML のほか構造化テキストによる入力が可能です。
レンダリングの際実行するマクロ
マクロを定義している場合、適用するマクロを選択できます。
説明文
ストーリを表示したとき、カレンダー下に表示する概要を入力します。
テキスト
ストーリの本文を入力します。

ストーリ一覧ページの URL はユーザ0000015の場合 http://lowlife.jp/users/0000015/story/ となります。このページのタイトルとカレンダー下の解説文は「設定」メニューの「ストーリ」で変更することもできます。

ホームページから個別のストーリへのリンクは、前述のナビーゲーション用リンクで "Link to a story" を選択すると簡単に作成できます。ウェブログや他のストーリの中からリンクを張りたいときは、ストーリの id を使って次のように指定します。ストーリの id は「ストーリ」メニューの一覧でタイトルに続いてカッコの中に表示されている数字です。

$macros.linkStory(ストーリの id)

ナゲットで HTML の部品を作成する

PyDS は各ページ共通で表示したいリンクなどの HTML を部品化して定義する機能を備えています。これがナゲットです。たとえばこのページ右側のカレンダー下に表示されている「ドキュメント翻訳」のボックスはこのナゲット機能を使って表示しています。

ナゲットを定義するには「ナゲット」メニューをクリックしてください。標準であらかじめ次の5つのナゲットが定義されています。

aboveNavigation
ページ左側、ナビーゲーション用リンクの上に表示するナゲット。
belowNavigation
ページ左側、ナビーゲーション用リンクの下に表示するナゲット。
customHeaders
ページの head 要素内で追加定義する内容。
firstBelowCalendar
ページ右側、カレンダー、ページ説明に続き、その下に表示するナゲット。
secondBelowCalendar
ページ右側、firstBelowCalendar の下に表示するナゲット。

ナゲットに定義する各項目の内容は次の通りです。

名前
ナゲットの定義名です。デフォルトで定義されている aboveNavigation、belowNavigation、customHeaders、firstBelowCalendar、secondBelowCalendar の定義名は変更しないでください。
タイトル
設定画面の一覧に表示されるナゲットの説明文です。
発行
これを「有効」にするとナゲットの HTML がアップストリームに転送されます。ただし、次の「状態」を「有効」にしない限り表示はされません。
状態
「有効」にすることでアップロードされたナゲットが表示されるようになります。
ソース
ナゲットの内容となる HTML を入力します。

たとえばこのページの場合、firstBelowCalendar の内容を次のように定義しています。

<p class="whiteboxsmall">
<b>ドキュメント翻訳</b>
<br>
$macros.linkStory(9)<br>
$macros.linkStory(7)<br>
$macros.linkStory(8)<br>
$macros.linkStory(11)
</p>

あらかじめ定義されている5つのほかにも「新規ナゲットの追加」で新たなナゲットを定義できます。たとえばカレンダー下に3つ目のナゲットを定義したいときは thirdBelowCalendar という名前で定義します。新規ナゲットを追加した場合、同時にテンプレートの方も変更する必要があります。テンプレートの変更は設定メニュー右にある「テーマ」をクリックし、"BaseRendering" を選択、さらに「テンプレートの編集」をクリックします。secondBelowCalendar の定義の下に、thirdBelowCalendar を追加することで3つ目のナゲットが表示されるようになります。

<p class="whiteboxsmall">$current.getPageDescription($context)
$nuggets.firstBelowCalendar(category=$category)
$nuggets.secondBelowCalendar(category=$category)
$nuggets.thirdBelowCalendar(category=$category)
</p>

HTML の再生成を自動化する

PyDS で入力したデータはスタティックな HTML ファイルとして出力された後、アップストリームへ転送されます。このためナビーゲーション用リンクナゲットを設定した場合、その後に作成、修正をおこなったページには内容が反映されますが、それ以前に作成し修正もしていないページには反映されません。しかし PyDS のタイマー機能を使うと必要に応じての HTML 再生成と転送を自動化することができます。この定義をおこなうには「設定」メニューの「タイマー」を選択してください。ここで「ツールのコンテンツをレンダリング」を選択し「追加」ボタンを押します。

次の画面では external、weblog、stories、nuggets などのツールを選択できるようになっているので、再生成を自動化したいものを選択します。その下の欄には実行の時間間隔(単位は分。たとえば1日1回ならば1440分)と時刻を入力します。再レンダリングを自動化したいものが複数あるときは、同じ手順で複数のツールを定義してください。

なお定義済みのタイマーは「直ちに実行」ボタンを押してで即時実行させることも可能です。

アグリゲータ(RSS リーダ)

PyDSは RSS ニュースフィードのポーリングと表示をおこなうアグリゲータ(RSS リーダ)機能を備えています。RSS ニュースフィードの登録は「アグリゲータ」メニュー「ニュースフィードの設定」をクリックし、RSS の URL を入力するだけです。ポーリングに成功すると、サイト名と更新日時の一覧が表示されます。「ニュースフィードの一覧」をクリックして元のページへ戻ると、ポーリングした記事の内容が表示されます。記事を読み終わったら「このページのニュースをクリア」を押して記事のキャッシュをクリアします。

ポーリング(RSS データの自動更新)の間隔は「設定」メニューの「アグリゲータ」でおこないます。

時間間隔
アグリゲータが RSS のポーリングをおこなう間隔(単位: 分)。
表示するニュース件数
1ページに表示するニュースの最大件数。
ステータス
「有効」を選択するとポーリングが有効になります。
表示形式
「チャンネルリストのみ表示」を選択すると記事内容は表示せず、サイトのリンクと記事の件数だけを表示します。「すべてのアイテムを表示」を選択するとすべての項目を表示します。

アグリゲータで最新のコメントをチェックする

コメントは PyDS ではなくアップストリームの PyCS 側で管理しているデータですが、コメントが付いたときすぐに分かるように PyDS のアグリゲータ機能を使ってチェックすることもできます。最新コメント一覧の RSS フィード案内ページは http://lowlife.jp/system/comments.py?u=ユーザ番号 です。たとえば私のページの場合は http://lowlife.jp/system/comments.py?u=0000001 になります。RSS フィードは abbreviated (簡略版)、unabbreviated (非簡略版)の2種類ありますから好きな方を選んでアグリゲータに登録してください。

バックアップ

基本的にはディレクトリ .PyDS の内容をバックアップ用の媒体にコピーするだけで OK です。また何らかの原因でデータベースが破損してしまった場合に備えコンテンツや設定情報を XML 形式で出力、バックアップしておくことも可能です。XML バックアップの設定は「設定」メニューの「タイマ」でおこないます。「データベースのバックアップ」を選択して追加、バックアップの実行時刻と時間間隔を指定します。バックアップのデータは .PyDS/backup に出力されるのでこの内容をバックアップ用の媒体にコピーしてください。

さらにこのバックアップデータを定期的にクラウドへ自動転送することもできます。「設定」-「基本データ」ー「バックアップをクラウドにアップロードする」を「有効」にしてください。こうしておくことで、万が一ローカルの PyDS データを失ってしまった場合でも PyCS サーバ上にあるバックアップを使ってローカルのデータベースを復活させられます。

リモートアクセス

PyDS へネットワーク経由で他のマシンからアクセスすることも可能です。なおユーザ認証には POP3 サーバの認証機能を利用します。普段メールの送受信に使っている POP3 サーバを利用することも可能ですが、PyDS は認証だけできれば良く、メール受信の機能は必要ないので、 PyDS と同じマシンで POP3 サーバを起動し localhost からのアクセスだけを許可しておくのがセキュリティ上安全です。

リモートアクセス用のユーザ登録は「設定」メニューの「ユーザ」画面でおこないます。「POP3 認証を使うリモートユーザ」を選択し「追加」ボタンを押してください。次に表示される編集画面でユーザ名と POP3 サーバの IP アドレス(またはホスト名)を入力してください。同一マシン上で POP3 が動いているなら「サーバ」欄には 127.0.0.1 と入力します。リモートから PyDS のすべての操作を許可したいなら「管理者権限」を有効にします。

この「管理者権限」を無効にした場合、リモートからの入力を許可するツールを限定することができます。その内容は「設定」メニュー「管理レベル」で設定します。デフォルトではすべてのツールの入力に管理者権限が必要になっていますので、非管理者に入力を許可したいツールの「管理者権限必要」欄を「無効」に変更してください。

さらにリモートからアクセスの場合、PyDS が動的に生成する URL が適切なものとなるように PyDSConfig.py を変更する必要があります。IP アドレスを使ってアクセスするなら remoteip、ホスト名を使うなら remotehostname を設定してください。

remoteip='192.168.10.5'
remotehostname='pyds.foo.com'

なお PyDS には通信をの暗号化する機能がありませんが、Apache のリバース・プロキシなどを利用することで SSL による暗号化も可能です。

最終更新 2004-04-05 00:49:20

4月 2004
    1 2 3 4
5 6 7 8 91011
12131415161718
19202122232425
2627282930  
3月
2004
 5月
2004

PyDS でよく使いそうな内容を順次紹介していきます。

XML-Image Letterimage

© 2004-2010, Yasushi Iwata