まいさんの日記

まいさんが、趣味的な記事を書くところです。はてなダイアリーの「まいさんの日記」のから引っ越しました。

過去のイベント配置図や中国麻将の話題は、「 まいさんのホームページ DTI版」へ  
Twitter(@maisan_t)もやってます  

コミケ時の共同購入チェック集計方法

2005/07/25追記
なんかリンクを多方面からされた気がするので、記事最下部に「ソースや設定の書き換え場所一覧」を追加
2005/07/30追記
この記事は、CGIのバージョン1.2.4を対象に書かれていますが、いま作者さんの方で公開されているのは1.3.3.2のようです。動作やソース(CGI)はけっこう変わっているかもです。

 ここの5月3日の日記では、共同購入について記事にしましたが、この中で『まず、事前にチェックを集めて表にします。(この集めるシステムがたぶん独特なのですが、ここでは紹介しないでおきます。それだけで長い記事になりますので)』と書いています。今日はこの独特と思われる部分を書きたいと思います。

 このシステムでは、集計にwebサーバー上で動作するperlスクリプト(CGI)を使います。「ぼいらぁ工房」さんで提供しているCMINFOです。CMと名がついているとおり、コミックマーケットに標的を絞ったソフトウェアですが、他の即売会でも利用することもできます。
 とにかく動作画面を見てみましょう。「ぼいらぁ工房」のページ(http://boil.moemoe.gr.jp/)の左のフレームのcminfoの下『sample』をクリックしてください。

 青い表が表示されたと思います。これがメイン画面です。
 上部に「表示」「登録」「個人表示」のリンクがあり、特定の日付だけ表示したり、条件でソートしたり、特定の個人だけの登録で表示するなどを切り替えることができます。オプションからは、画面の表示行数などを変更できます。
 下段の表は、共同購入サークルの情報で、日程、配置、サークル名、執筆者が表示されています。サンプルでは表示されてませんが「ページ」を表示させることも出来ます。表の右の方には、だれが何冊欲しがっているのか、だれが購入するのか、といった情報があります。
 このWEB上にある表を共同購入メンバーが好きな時間に更新することで、共同購入が集計されるというシステムです。

 どれでも好きなサークルの「更新時間」をクリックしてみてください。そのサークルの編集フォームが表示されました。全ての変更や更新はこの画面で行います。「A君」が子のサークルの本を1冊ほしいと思ったら、プルダウンメニューで数字を1に変更して『記録する』を押せばOKです。
 登録されていないサークルは(登録が1件もない初期状態を含め)、「新規登録」で登録することができますが、CD-ROM版が発売されているコミケでは、そのCD-ROM版で登録した「お気に入り」サークルのデータを直接表に追加することができます。お気に入りからの追加時の機能で、カタロムでチェックした色ごとに冊数を選択できるので上手く活用できます。冊数が「登録のみ」では冊数は変更されずサークル情報だけが表に追加されます。
 カタロムからの直接入力は大変便利で、チェックするサークルが数十以上ある人はこの機能がないと登録は無理ではないでしょうか。ただ、大勢がいっぱい登録すると収拾がつかなくなるかもしれません。事前に「共同購入にならないようなサークルは登録しない」「共同サークルになりそうと思えるサークルだけ登録する」みたいな基準を決めておくのもいいかもしれません。 
 そのあと、各人がサークル情報や新刊情報などを収集し、編集フォームの「備考」に追記していくとさらに便利になります。サンプルでもいろいろ登録されていますね。
 サークルへのリンクはカタロムに登録されている場合は自動的に張られますが*1、それがなくても表のサークル名・執筆者ところにgoogle検索リンクがありますので、簡単に調べて追加できると思います。サークルの販売物によってチェックを入れたり外したりってころもあるでしょうし、共同購入での巡回順や、行くor行かないの重要な決め手になることもありますよね。チェックをしっぱなしでなく各人の協力で表の備考を充実させるといいと思います。
 また、表には他のメンバーが登録した自分の知らないサークルもあると思いますので、そういうものに興味を持って買い物のはばを広げるというのもありですね。
 情報がそろったら、共同購入の分担作業になります。みんながネット環境があればこの表を見ながらメッセンジャーなどのチャットで分担などをするのもよいですし、表を印刷してどこかに集合して会議を開いてもよいでしょう。個人的な経験だとこの作業は印刷して会議の方がスムースと感じます。

 だいたいこのような流れです。動作については、サンプルをいろいろいじってみるといいかと思います。特徴である「カタロム入力」はちょっと試せないですが、その他はきちんと動いてくれるようです。

 最後にこのシステムの欠点をあげておきましょう。

WEBやCGIに詳しい人が一人は必要、WEBスペースも必要

 WEB上でCGIの設置までの知識と経験がないと辛いでしょう。初めての設置は手順通りやっても知識がなければハードルが高いです。WEBスペースは、自作CGIが設置できるものが必須です。CGI作者の方ではWindowsマシンと無料ソフトで構築した自宅サーバーでの動作も確認していますが、これはこれでハードルが高いかな。
 perlを理解していれば、自分たちのグループにあわせて改良もできるわけで、さらに使えるものに変更できるのではないでしょうか。実際に改造しているというサークルもあると聞きます。

気軽にどんどん登録してしまいがち

 システムが便利になって、ついついチェックを増やしがちになるかもです。楽になるのは会場に入る前まで。共同購入そのものは楽にはなりませんので、あとで苦労しますよ。

ミスがおきやすい

 簡単・便利の裏を返せば、ミスするのも簡単ということです。単純な情報の登録ミスもあるでしょうが、登録者の指定をミスして「カタロム入力」「チェックしたサークルの一括変更」などをやると取り返しつきません。各人で気をつけるしかありません。

悪意のある人の操作

 悪意を持った人が一人でもいると運用できません。他人も自分も操作上の区別は無いので、勝手に購入数や購入担当者を変更したり、サークルを削除をされてしまうかもしれません。


 今回の記事がどこかのグループにて役に立てば嬉しいです。



【2006/07/25追記】
 ソースとか設定を手で変更しないといけないところ一覧(編集した結果、行数がいくつかずれてしまうこともありますので、その付近で探して下さい) この変更リストの意味がわからないような人はさわらない方がいいかも。ある程度プログラムの知識のある人向けです。
【2006/07/29追記】
 あたまでも書いたとおり、最新のものとこの記事とではバージョンが違います(ただし、ほとんどの動作は変わりません)。また、(うちが確認している限りですが)最近のバージョンで使われている「Ver.2形式でのカタロム取込」時にすでに登録済みのサークルデータを上手く判別できないバグがあるようです。(同じサークルを別物として取り込んでしまう) Ver.1形式ならそのバグはないようですのでそちらをご利用になった方がいいかも。
【2006/07/29追記】
 上記のバグは1.3.3.2で取り除かれているようです。

  • .ht_config(このファイルは設定ファイルですので、一通りどんな設定があるかを見て理解してもらいたい)
    • Line.53 変数'title' ブラウザのタイトルバーに表示される文字列の変更「C70の共同購入システム」とかご自由に。
    • Line.61 変数'page_min' カタログ初期ページは、サークルカットの始まるページに(エラーチェック用で、それより若ければ問題ないので1とかにしておけば今後困ることはない)
    • Line.63 変数'page_max' カタログ最終ページも同じくだが、こっちは企業リストなどの最終ページが妥当か。(もちろん2000とか大きい数にしておけば(以下略))
    • Line.77 変数'date_file' は、相対パスでわかりやすいものに。「./data/cm70list.dat」など。
    • Line.79 変数'member_list' も用意したファイルを相対パスで。デフォルトは「./data/memlist.dat」
    • Line.89以下 オプションがいっぱいあるので、理解度に合わせて変更して下さい。
  • cmingo.cgi(プログラム本体もいろいろと変更しないといけないのがなんとも。いちおうプログラムなので扱いには注意して下さい)
    • Line.111くらいから 基本的な設定(.ht_configの方が優先されるので多分変更不要)
    • Line.199 超重要変更箇所。金土日の3日間なら「@cmday = ('-','金','土','日','漏','企');」のように変更。C69のように木金で2日間開催なら「@cmday = ('-','木',金','漏','企');」に変更。これが間違っていると日付ソートできないので設定変更必須。
    • Line.273 エリアの変更箇所。ビッグサイトで開催されている以上は変更不要か?
    • Line.278から ブロックに変更があったときは変更。
    • Line.293から 企業エリアのスペース番号。毎回変わるところですが、企業に用事がなければ無視で。
    • Line.1824 「print qq| コミケットCD−ROMカタログ69 お気に入り(ver.1形式)からの入力 \n|;」の中の文章は変更したほうがいいかも。コミケの番号消してしまうのがいいかもね。
    • その他、ソース作成者がコミケ番号をそのまま打ち込んでいる場所が何カ所もあります。「番号は無視する」「探して変更する」のどちらかで。
  • memlist.dat(メンバーリスト)
    • タブ区切りでメンバーを入れて下さい。確かメンバー数に制限があったかも。表では頭文字しか出てこないので、先頭の文字が同じのは避けた方がいいかも。(山田、山本、山下、とかだったら、どれも表では「山」としか出ないので、そのへんはハンドルネームや下の名前で工夫を)

*1:事前にコミックマーケットの公式サイトの『サークル情報登録&当落情報検索システム』でCD-ROMに登録される追加の情報を登録したサークル