Skip to content
fuji edited this page Mar 30, 2022 · 3 revisions

Event(WIP) ⚠️ 🚧 🏗

knoQの中心的な概念。他の全ては直接または間接的にこれを補うものでしかない。

部屋の共用 allowTogether(sharedRoom)

イベントの場所は部屋という概念を用いて扱われる。

部屋の共用とはこの部屋を他のイベントと共に用いるかを決定する。

イベント管理者

イベントを管理することが権限があり、管理することを求められるユーザ集合。

イベント管理者はイベント管理者を任意に追加・削除出来るが、最低でも1ユーザは必要である。最初のイベント管理者は作成時に選択する。イベント管理者はイベント作成者を含む必要はなく、グループ管理者などとも無関係である。

イベント管理者はeventId以外のすべてを後から編集することが出来る。

イベントタグ

イベントはタグ(Tagを参照)を持ち、これは検索等に使用される。

イベントタグはロックされている状態とロックされてない状態の2状態がある。全てのユーザがいつでもイベントにロックされてないタグを付けることや削除することが出来るが、ロックされているタグについてはイベント管理者のみ編集出来る。

出欠席管理

イベントとユーザを直接結び付ける。

イベント開催前とイベント開催中・開催後^1で異なる仕組みを用いる。

参加予定 v2.1実装予定

イベント開催前^1に、ユーザが出席・欠席の予定を表明する。

ユーザはpending, attendance, absentの3状態(状態なしがあるため正確には4状態)を持つ。イベントのグループに属するユーザはイベント作成時にpendingで自動的に追加される。

グループに属しているユーザ以外もそのイベントに参加表明出来る。(グループ外はオープンイベントに限る)グループに属するために自動追加されたユーザとその他ユーザはデータ上は区別される。参加表明時の状態は、attendance, absentに限る必要はない。(後述の通り)

開催前^1に限り、ユーザは自身の3状態を推移できる。

checkin^2 実装未定

イベント開催中^1に参加を確定させる。ユーザの参加の確定はイベント管理者が保証する。保証方法は要検討。管理者がユーザのtraQのQRコードを読み取る、パスワードを発行する等が考えられる。オンラインの存在も考慮に入れるべき。

参加した時刻を保持する。

参加について保証がある、参加時刻が分かるなどの違いはあるが「参加予定」は「checkin」の代替が可能である。保証手段が有効でない場合、checkinは参加予定と同じことを繰り返していると考えて大差ない。

利用用途

  • 予め出席できるユーザが分かる(参加予定)
    • 無駄に待つ必要がなくなる
  • 欠席者へのフォローアップが容易になる(checkin)
  • グループ外からのイベント参加の敷居下げ(参加予定)
    • オープンイベントは参加を歓迎という意味を持つ
  • グループが作ったイベントの参加割合が見える(checkin)
    • ユーザがグループに入った日時が必要
      • traQグループでは表示できない
      • 直近10イベントとか
    • 統計見るの楽しい
  • 講習会の参加状況が分かると、現在の理解レベルを把握するのが容易になる(checkin)
  • 自分の参加してきたイベントが分かる(checkin)
    • 精度がそれなりにきちんとしている
  • 参加できない・する気のないイベントの通知がされない(参加予定)
    • グループを介したユーザとの結びつきだと対応不可

オープンイベント v2.1実装予定

開かれているイベントという意味。

参加予定の際に、グループ外のユーザを許可する。

checkinの際は、イベント管理者の確認が取れていると考えられるため、オープンイベントに依らず、チェックイン出来る。

マイグレーション

v2.1で参加予定は実装予定であるが、checkinに関しては実装は未定である。

checkin実装までは、参加予定の状態をcheckinの代わりとして扱う。

checkinの実装後は、attendanceの場合に限りイベントの開催時刻で値を入れる。???

^1: 厳密なものを想定しているのではない。ある程度の余裕を持つべき。

^2: 名称は、https://git.trap.jp/to-hutohu/checkin に由来する。