EMIT-Japan WebCT レター

  • 登録・解除
  • プライバシーポリシー

【管理者向けミニティップス】WebCTのデータベース

WebCTはユーザを内部のデータベースで管理していますが、若干独特の管理方法を取っています。よってWebCTを管理する場合、データベースの概念を理解しておくことが必須になります。この記事ではWebCTがどのようなデータベース構造でユーザ情報を管理しているのか解説していきます。

二種類のデータベース

WebCTには大きくわけて「グローバルデータベース」と「学生データベース」の2種類のデータベースを保持しています。まずこれらの違いから理解する必要があります。

グローバルデータベース

グローバルデータベースはWebCTの中央のデータベースでユーザの基本情報を管理しています。このデータベースの情報は管理者インタフェースの「ユーザ管理」により管理されます。(「スタンダードAPI」、および「IMSエンタープライズAPI」を用いても管理する事が出来ます)

2種類のデータベース

グローバルデータベースが持つ基本情報は以下の通りです。

  • WebCT ID
  • ログインパスワード
  • コース登録情報

WebCT IDおよびログインパスワードはWebCTにログインする際に利用されるものです。すなわち逆を言うならばグローバルデータベースにエントリが無いユーザはWebCTには絶対にログインできませんし、myWebCTにアクセスする事も出来ません。

またグローバルデータベースはコースの登録情報を持ちますが、成績等の情報に関しては一切管理しません。コース情報に関してはあくまで「このユーザは○○というコースの学生である」という権限情報を格納しているだけです。

学生データベース

学生データベースとはコースごとに置かれるデータベースで、学生情報を管理します。よってデザイナの情報はこのデータベースには格納されません。 また、このデータベースは主にデザイナによって管理されます。

このデータベースはデザイナによって管理されるため、管理を行うには実際にコースにログインし、「コース管理」→「学生管理」を行う必要があります。管理インタフェースからこのデータベースを直接操作する事は出来ません。 ただし、管理者インタフェースで学生の権限を割りあてた時は、このデータベースにエントリが自動作成されます。

学生データベースでは以下の情報が管理されています。

  • User ID
  • パスワード
  • 中間成績
  • 最終成績

グローバルデータベースと学生データベースのリレーション

さて、WebCTのデータベースには中央の「グローバルデータベース」とコースごとに存在する「学生データベース」が存在すると書きました。これらはどのようにお互い結び付いているのでしょうか。実は両者の結び付きは非常に弱く、これがWebCTの利点でもあり欠点でもあります。

「みなしご」状態とは

先に記述した通り、グローバルデータベースと学生データベースの結合性は非常に弱い仕様になっています。よって「学生データベースにユーザエントリがあるのに、グローバルデータベースにはエントリが無い状態」が発生する事があります。これをWebCTでは「みなしご」と言います。

例えば次の状態を考えてみましょう。管理者が新規コース「c001」を作りデザイナ「d001」割当てました。学生は一人も割り当てていません。デザイナ「d001」は割り当てられたコースにログインし、「コントロールパネル」 → 「コース管理」 → 「学生管理」にアクセスし、学生「s001」を作成しました。しかしこの段階では学生「s001」はWebCTにログインする事は出来ません。なぜならグローバルデータベースにエントリが無いからです。これが学生データベースにエントリは存在するが、グローバルデータベースにエントリが存在しない「みなしご」状態です。 (デザイナは学生データベースに所属する事は出来ません)

みなしご状態になると下図のように「+ : WebCT ID を持っていないユーザ」のマークが付きます。

みなしご状態を解除するには

いくつかの方法がありますが、最終的に「グローバルデータベースに該当ユーザのエントリを作成し、コースc001へ関連付ける」事が必要になります。 グローバルデータベースにエントリを作れるのは基本的に管理者だけが好ましいので管理者にs001のエントリを作成してもらいましょう。

上図ではグローバルデータベースにエントリs001を作成したもののコースc001に関連付けられていない事を示しています。この状態は「s001はログインできるがmyWebCT上に登録コースが1つも無い」事を意味しています。この状態を解除するには管理者側でコースに追加してやるのが一番簡単です。

これを行うには、管理者インタフェースの「ユーザ管理」で「クエリ」を行い該当ユーザを選択できる状態にした後、「コース」を押して該当コースに学生として「追加」します。

既に同じIDのユーザが学生データベースに存在している時は警告が出ます。ここで該当するユーザにチェックを入れて「続ける」とするとグローバルデータベースと学生データベースが結び付きます。

正しく結びついた状態

学生を管理者インタフェース削除した時

コースc001に学生s001が存在し、同様にグローバルデータベースにもs001が存在するとします。ここで管理者がグローバルデータベースからs001を削除すると同様に学生データベースのs001も削除されるのでしょうか?答はNOです。

学生データベースにエントリがあるユーザをグローバルデータベースから削除した場合は、先に説明した「みなしご」状態になります。 これにより管理者の操作ミスでコースの成績データなどが削除される事は無いというメリットもあります。

(2004年 11月)