PukiWiki のプラグイン機能を使用することによって,およそ要求仕様をみたすことができるとかんがえられる.
すなわち,PukiWiki につぎのようなプラグインを追加することによって実現できるとかんがえられる.
- #town_attributes()
- #bugtrack プラグインをモデルとして,建築などの属性を項目ごとに入力し,内容をチェックするプラグイン #town_attributes() を開発する. 属性としてはつぎの項目を記述する: 名称 (俗称と正式名),設計者,施工者,所在地,建設年,構造,建築面積.
- #town_photo()
- #attach プラグインのように,写真がまだアップロードされていなければファイル・アップロード・メニューを表示する. 写真がすでにアップロードされていれば,#ref プラグインのようにそれを表示する. ただし,写真の置換や追加が可能なようにする必要がある. また,複数のサムネイルを表示して,そのなかのひとつを拡大表示する機能をつけるべきである.
- #town_bbs()
- 掲示板を表示する. このプラグインによって表示されるフォームを使用して項目を追加する. もっとも単純なコメント・リストは #pcomment プラグインをモデルとしてつくることができるが,スレッド機能などをとりいれることも可能である.
- #town_related_list()
- その場所に関連するサイトおよび広告,ショップ,商品などへのリストを生成する. このプラグインによって表示されるフォームを使用して項目を追加する. プラグインの実装法としては,項目追加時にデータベースへの登録をおこなう方法もあるが,データベースを使用せず,項目追加時に特定のページをパースして項目の順序変更などをおこなう方法もある (このばあいは,項目追加のないときに人気度などにしたがって順序を変更するべつのしかけをあわせてつくる必要がある).
- #town_event_list()
- 関連するイベントなどのリストを生成する. このプラグインによって表示されるフォームを使用して項目を追加する. プラグインの実装法としては,データベースを使用せず,項目追加時に特定ページ内に項目を挿入する方法もある.
建築の説明など,自由形式で記述する部分はプラグインをつかわずに記述する.
なお,レイアウトをととのえるためには CSS (skin/pukiwiki.css.php) や skin (skin/pukiwiki.skin.php) にも手をくわえる必要がある. また,認証機能等にも手をいれる必要があるだろう.