多人数でWikiを活発に使いたくなるような仕掛け

多人数でWikiを活発に使いたくなるような仕掛け

- Tatsuya Shirai の投稿
返信数: 2

 個人的にはMoodle搭載のeWikiをフル活用しています.

 ところが学生に用意したWikiはいま一つ,活発に活用されない.「なになにについて書いて!」と指示を出すと,その指示には従うものの,自主的には使ってくれない.何か,刺激が足りないのです.

 ブログに関しては,LastUpdatedblogブロックをコースに追加したことでブレイクしました.(今週は疲れ気味なので沈静化していますが) 誰かが書き込むとそれに呼応するように別の学生がブログを更新する.書いた方も,読まれたことを意識してさらに書く.
 Wikiは誰かがページを追加しても,記述を修正しても,そのサインが他のユーザに伝わりにくい.各ページの「情報」タブをクリックすれば,誰が書いたのか,誰が更新したのかが分かりますが,まぁ,見ないでしょう.

 いくつか構想があります.

  • 「New!」マークをコース上のWikiのアイコン(あるいは名称)の横に表示する.
     たとえば過去24時間の間に修正/追加があったかどうかを調べて表示する.クリックすると過去24時間に更新された最新の10ページ分のリストが表示され,それをクリックすると該当ページにジャンプする.未読管理のようにデータベースに書き込む必要は無いので安全性が高い.ただしフロントページ表示のオーバーヘッドが増える(キャッシュを用意する?).
     あるいは単に「New!」のマークのみを表示し,自分で”Wikiリンクの選択”から”最新ページ”で新しく追加されたページを見に行くということでも良い.
  • WIKIのコンテンツの下部に,ページが作成された日時と著者,ページが最後に更新された日時と著者を表示する.「ボクが書いたページだ」という満足感が得られる.

他にも何か手は無いでしょうか.あまりディープな改造ではない方法で.

(ディープな改造案)

  • Wikiが更新/追加されるとメールが送信されてくる.
  • Wikiが更新/追加されると特定のフォーラムに自動的にポストされる.
  • LastUpdatedblogブロックのようなブロックを作る.(既にある?)

#”最近の活動”はいまひとつアピール性が低いですね.

Tatsuya Shirai への返信

Re: 多人数でWikiを活発に使いたくなるような仕掛け

- Tatsuya Shirai の投稿

 必要にかられてWikiの活発さをコース上に表示する機能の実装を試してみました.

 機能は,「過去*日の間にそのWikiに対して更新のあったページを新しい順に最大*件リストアップし,その件数をWikiリソースの横に表示すると共に,ポップアップメニューで表示してダイレクトにジャンプ可能とする」というものです.画像を添付します.

 ログからモジュールの更新状況などを取得するのは標準のブロックである”最近の活動”(Recent Activity block)が参考になりました.各モジュールにはfunction wiki_print_recent_activity()といった関数が用意されています.この関数は残念ながら抽象化されていないのでダイレクトにprintしてしまうのですが,それをベースにしてデータとして最近の活動(特定のページのWikiについて,さらにそれを分割してインスタンス単位に分けて)を取得できました.

 画面表示に関しては,当初,純粋なHTMLのみによるプルダウンメニュー(SELECT)で考えていたのですが,あまりにもダサい.そこでCalendarに目を付けて,そこで用いられているJavaScriptのoverlib()を用いる方法を真似してみました.標準の機能を利用したので,比較的,安全でしょう.端末の種類によってはJavaScriptが正しく動作しない場合がありえますので,そのような機種であると判断した場合はHTMLによるプルダウンメニューに切り替える予定です.

 これでフォーラムのように,Wikiも誰かが更新したコンテンツへすばやくアクセスできるようになります.ただし,フォーラムはユーザ単位の未読管理の機能があるのに対してWikiにはありません.強引にログを参照して,更新後にそのユーザがそのページを見たかどうかを調べることはできますが,サーバの負担が大きいので止めました.前回ログアウトしてからの間に更新されたページのみをリストアップする,という考えもありましたが,それも不便でしょう.

 この機能は次に公開するfs_moodleに搭載する予定です.

 なお,比較的簡単に単語帳(Glossary)にも応用できると思います.

添付 RecentActivity_Wiki.jpg
Tatsuya Shirai への返信

Re: 多人数でWikiを活発に使いたくなるような仕掛け

- Tatsuya Shirai の投稿

どうやら無事に用語集(単語帳ではなかったですね)に応用ができました.

Wikiも用語集もrecent activityブロックから function print_recent_activity()経由で同一の手順で呼び出されるのですが,mod/wiki/lib.php, mod/glossary/lib.phpの中のfunction wiki_print_recent_activity(),function glossary_print_recent_activity()の中身がかなり違いました.Wikiはログから更新情報を取得し,用語集は実際のデータベースから情報を取得しています.どちらかといえばWikiの対応の方が不正確になる恐れがありますね.ログがきちんと残っていないといけない.