名古屋工業大学 先進セラミックス研究センター
井田 隆/Web 運営

文字サイズ:

新着情報更新システム

新着情報(What's new)の更新を,担当者が Web ブラウザを使って行えるシステムを作成しました。


はじめに

Web サイトのトップページには,比較的新しく短い内容を時系列で(新しい順に)表示する「新着情報」「What's New」「トピックス」などと呼ばれるエリアが設置される場合があります。
(例えば→ 名古屋工業大学の Web サイト の NEWS&TOPICS 欄)
この「新着情報」は Web サイトの他の部分に比べて頻繁に更新されるという特徴があります。

原則的に Web ページの更新は,管理者が更新した HTML ファイルを Web サーバーにアップロードすることによって行われます。 HTML(ハイパー・テキスト・マークアップ言語)に慣れた管理者が一人で管理する場合にはこの方法の効率も悪くないと思われますが,外出先から内容を更新しようとすると,編集作業以外に,VPN クライアントソフトを使って web サーバーと接続し,ssh プロトコルを利用できるファイル転送ソフトでデータを転送するなどの作業が必要になります。

複数の管理者が共同で管理する場合に特有の問題もあります。 たとえば日本セラミックス協会東海支部の Web サイト(→ セラ協東海支部)では,基本的に複数の担当者が運営を担当しています。更新の頻度が高くないので,管理者グループの中の一人がトップ・ページの内容を変更したときに,他の管理者に電子メールで通知するようにしていますが,異なる管理者による更新作業が干渉する可能性もあり,このような運営のしかたは基本的な問題を抱えているようです。

HTML に慣れていない Web サイト管理者は,「ホームページビルダー」などの「ホームページ作成ソフト」(Web オーサリングツール)を使う傾向があります。 Web オーサリングツールでは,Web ブラウザで見たときと同じような見た目のまま編集ができる WYSWYG(What you see is what you get;ウィズウィグ;見たままが得られる)という性格があり, HTML 言語に慣れていない管理者にとって,このことが非常に大きな利点となることは間違いありません。

しかし,本来 HTML はコンテンツ(内容)の論理的な関係を記述するためのものであり,必ずしも見た目を規定するものではありません。 例えば,高齢者や視覚障碍者に配慮して,Web ページで用いられる文字の大きさは固定すべきではないと言われています。

不慣れな Web 管理者では, Web オーサリングツールを使って本来の Web ページのデザインを崩してしまうという例が少なくありません。

CMS の導入の検討

Web ブラウザを使って Web サイトの内容を管理するシステムを CMS (コンテンツ・マネジメント・システム)と呼びます。 特にブログ (Weblog) としての利用で広く普及しましたが,他の用途でも用いられ,HTML の知識がなくても,パソコンではなく携帯情報端末などからでも Web サイトの更新ができるなどの特徴があります。

現時点 (2012年7月) で CMS としては WordPress と Movable Type という二つのシステムが比較的普及しているようです。Movable Type は商業利用が有料なのに対して,WordPress は無料なこともあり,小規模な組織が導入する CMS としては,今後しばらくは WordPress が主流になると予測されます。しかし,プログラミング言語の PHP と,データベース管理システムとして MySQL を利用することが必須になります。 サーバの管理者権限を使って PHP や MySQL をインストール,またアップデートしなければいけないことになってしまいます。

ところで,Web ブラウザを使って Web サイトの内容を変更する方法としては,古くから Perl 言語を使った CGI (Common Gateway Interface) が使われていました。普通に Web サーバのソフトウェアをインストールしたら,何も考えなくても Perl はインストールされることになるようです。Apple 社の現行 Mac OS X では,パソコンに初めから Perl がインストールされています。

そのような事情から, 「不慣れな管理者でも Web ブラウザを使って「新着情報」を更新できるようにする」だけなら,Mac OS に標準で付属している Perl 言語を使って,自分で「簡単な CGI」を作ってしまうのが早いし確実という結論に達しました。

新着情報管理システム,HTML ファイルの仕様

CGI/Perl によるインタラクティブなページは「新着情報管理者」のみが使用し,Web ブラウザでアクセスできる管理用のページで,新着情報を含むトップページ(index-j.html ファイル)を丸ごと読みこんで,必要な箇所のみを書き換え,丸ごと書き出すという動作をさせることにします。 このことには以下のメリットがあるように思います。

  1. 必要があれば,web オーサリングツールやテキストエディタで web ページを再編集することが可能である。
  2. サーバーが閲覧者に提供するのは静的な HTML なので,サーバーに負荷がかからない。
  3. Web ページのレスポンスが速く,閲覧した人に良い印象を与える。
  4. Google や Yahoo などの検索エンジンから,比較的上位に評価されることが期待できる。
  5. Perl で作成したプログラムを一般ユーザーに使わせるわけではないので,比較的安全性が高い。
  6. Web サーバ (Apache) と Perl がインストールされている環境(Mac OS X では標準)では,完全にオフライン(ネットワークとつなげていない状態)でも編集作業ができる。

このとき,HTML 中で編集の対象となる箇所を CGI で特定しやすくするために,以下のような独自の仕様を定めます。

新着情報を含む HTML ファイル中で,各トピックは,<!-- topic yyyymmddnn start --> というコメント文から開始し,<!-- topic yyyymmddnn end --> というコメント文で終了することにします。 ここで yyyy は西暦の年号,mm は月,dd は日を表し,nn は 00 から開始し,99 までの数値であるとします。 また各トピックの見出し部は <h5> または <H5> で開始し,</h5> または </H5> で終了するとします。トピックの説明文は <p> または <P> で開始し </p> または </P> で終了するとします。

また,Web ページに表示される更新日は,コメント文 <!-- update start --> で開始し, コメント文 <!-- update end --> で終了するとします。

既に存在するページについては初めに一回テキストエディタを使って手作業で変更しますが,このシステムを使って追加された記事には,自動的に上記コメント文が付加され,更新日が変更されます。

新着情報管理システム,管理者ページ

「新着情報の管理者」が,他の人から電子メールで記事の更新依頼を受けた場合に,原則的にマウス操作のみで Web ページの内容を更新するために必要な処理が完了できるようにします。 GUI(グラフィカル・ユーザー・インターフェース)を用い,テキスト部分については,ダブルクリックやドラッグによる選択,右クリックによるコピー&ペーストが使えるようにし,目的に応じた特定のボタンをクリックすることで,動作を完了します。 管理者用のページでは,以下のような操作を可能にすることとします。

  1. 編集用一時ファイル作成とロック(排他的な使用)。
  2. 編集対象 HTML ファイルの読み込み。
  3. トピック項目の抽出。
  4. トピック通し番号(yyyymmddnn)と見出しの表示。
  5. トピックの選択,編集。
  6. 一時ファイルへの保存,書き換え。
  7. 編集対象ファイルの書き換え,一時ファイルのロック解除と削除。

編集操作として,以下の機能を提供します。

  1. 新規記事作成,既存記事の変更,削除
  2. プレビュー表示。
  3. “(new)” 表示の on/off。
  4. リンク,強制改行,文字修飾など最小限のタグのテンプレートの提供。
  5. トピックを指定したアーカイブ(書庫)への移動(コピー)

問題点/注意点

このシステムでは,他の CMS と同様,Web サーバー上のみで記事の編集が完結してしまいます。 パソコンとファイル転送ソフトを使った方法では Web サーバーがクラッシュした場合でも, 管理者のパソコン上にデータが残るのですが, この方法で作成されたデータが失われたときに復元できるように, 定期的にバックアップをとることが不可欠になると思われます。

それほど危険性が高くない方法だと思いますが, セキュリティー上の問題がある可能性は否定できません。 現時点では試験的に運用しているところです。


2012年7月02日公開

2012年7月18日更新