10
Moodle のデータベースモジュールの応1 Moodle のデータベースモジュールの応― 第 3 回 越中とやま Moodle ワークショップ ― 仁愛大学 篭谷隆弘 データベースモジュールでは、さまざまなデータを授業内で共有することができます。教 師は、それぞれのレコードを構成する項目を設計し、どのように表示するかを決めること ができます。学生間でこのようなデータの共有を行う過程を通して、協働や相互コメント が活発化することにもつながります。 データベースモジュールの利用方法とちょっとした応用について、実習をまじえて解説 します。 1. Moodle データベースモジュール この学習活動モジュールでは、教師や学 生が様々なテーマに関するデータを持ち寄 り、蓄積し、共有することが可能です。ま たそのような活動を通して、協働や相互コ メントを活性化させることにも役立ちます。 例えば以下のような例が考えられます。 授業に関する参考文献・資料あるいは そのリンク集など 学生による写真や音声ファイルなどの 作品公開、評価 名簿・住所録・物品管理等 すでに、moodle.org Moodle buzz や Themes、Old modules and plugins でも使 われています。 学生間で情報を共有できる活動モジュー ルとしては、フォーラム、用語集、ワーク ショップ、Wiki などもありますが、データ ベースモジュールが特徴的なのは、教師が 定型的な項目を設計し、レコードの一覧表 示や個別表示の方法を柔軟に指定できるこ とです。また外部ファイルへの出力や読み 込みも簡易的に対応しています。 2. データベースモジュールの基本的な利 用方法 大まかな利用の手順は以下の通りです。 テーマを決めてデータベース活動 を追加します。 各レコード(1件分のデータ)が どのようなフィールド(列・項目) で構成されるかを決めます。 各レコードの一覧表示・個別表示 等の画面デザイン(テンプレート) を決めます。 レコードを追加入力します。 レコードを表示・検索します。 もちろんこれらの手順②~⑤は、試行錯 誤のため繰り返す場合があります。また、 ④・⑤は、データベースをコースで公開し 学生も行うことが可能です。 今回は、例として、日本の世界遺産デー タベースの作成を通じて利用方法を体験し て頂こうと思います。 (もちろん、実際には、

Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

1

Moodle のデータベースモジュールの応⽤

― 第 3 回 越中とやま Moodle ワークショップ ―

仁愛大学 篭谷隆弘

データベースモジュールでは、さまざまなデータを授業内で共有することができます。教

師は、それぞれのレコードを構成する項目を設計し、どのように表示するかを決めること

ができます。学生間でこのようなデータの共有を行う過程を通して、協働や相互コメント

が活発化することにもつながります。

データベースモジュールの利用方法とちょっとした応用について、実習をまじえて解説

します。

1. Moodleデータベースモジュール

この学習活動モジュールでは、教師や学

生が様々なテーマに関するデータを持ち寄

り、蓄積し、共有することが可能です。ま

たそのような活動を通して、協働や相互コ

メントを活性化させることにも役立ちます。

例えば以下のような例が考えられます。

授業に関する参考文献・資料あるいは

そのリンク集など

学生による写真や音声ファイルなどの

作品公開、評価

名簿・住所録・物品管理等

すでに、moodle.org の Moodle buzz や

Themes、Old modules and plugins でも使

われています。

学生間で情報を共有できる活動モジュー

ルとしては、フォーラム、用語集、ワーク

ショップ、Wikiなどもありますが、データ

ベースモジュールが特徴的なのは、教師が

定型的な項目を設計し、レコードの一覧表

示や個別表示の方法を柔軟に指定できるこ

とです。また外部ファイルへの出力や読み

込みも簡易的に対応しています。

2. データベースモジュールの基本的な利

用方法

大まかな利用の手順は以下の通りです。

① テーマを決めてデータベース活動

を追加します。

② 各レコード(1件分のデータ)が

どのようなフィールド(列・項目)

で構成されるかを決めます。

③ 各レコードの一覧表示・個別表示

等の画面デザイン(テンプレート)

を決めます。

④ レコードを追加入力します。

⑤ レコードを表示・検索します。

もちろんこれらの手順②~⑤は、試行錯

誤のため繰り返す場合があります。また、

④・⑤は、データベースをコースで公開し

学生も行うことが可能です。

今回は、例として、日本の世界遺産デー

タベースの作成を通じて利用方法を体験し

て頂こうと思います。(もちろん、実際には、

Page 2: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

2

この例の場合、既存の Web 上のデータベー

スやウィキペディアの方がより詳しいかも

しれません。)

2.1 データベース活動の追加

教師権限があるコース内に、データベー

ス活動を追加しましょう。

活動の各種設定を行い追加します。

2.2 フィールドの構成を定義

フィールドとはデータベースにおける項

目です。今回の例では、「遺産の名前」「分

類」「所在地の県」「登録年」「写真」「解説」

といったものになります。フィールドには、

そのタイプ(型)があります。各項目に最

も適切と思われるタイプをプルダウンメニ

ューより選択します。

では、まず、「遺産の名前」フィールドを

定義してみましょう。テキストタイプを選

びます。

フィールド名などを入力します。オート

リンクを許可すると、コース内の文字列(例

えばリソースなど内)で自動的にこのデー

タベースを参照するリンクが設定されます。

作成したフィールドは一覧表示されます。

次に、「分類」フィールドをメニュータイプ

で作成しましょう。このように選択肢から

選ぶ項目はメニュータイプを用いるといい

でしょう。

同様に、「所在地の県」も作成しましょう。

ただし、1 件の遺産が複数の県をまたぐ場

合があるので、複数選択のメニュータイプ

Page 3: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

3

にします。今回は都道府県のリストはネッ

ト上で検索するなどして、利用しましょう

(実際には現時点で全ての県に世界遺産が

あるわけではありませんが)。

次に、「登録年」フィールドを数値タイプ

で作成しましょう。

次に、「遺産の写真」フィールドを画像タ

イプで作成しましょう。

最後に「解説」フィールドをテキストエ

リアタイプで作成しましょう。テキストタ

イプと違い、長い文章などを入力する場合

に用います。

ここまでの作業で、以下のように 6 フィ

ールドで1レコード分が構成されることに

なります。今回用いなかったタイプもあり

ますが、後程、それらのタイプの項目を追

加する予定です。(ただし、フィールドは作

成した順番に並びます。またフィールド名

やタイプは後で変えることはあまりよくあ

りませんので、あらかじめ十分検討しまし

ょう)

2.3 テンプレートを設定

タブをテンプレートに切り替えましょう。

テンプレートでは、一覧表示・個別表示・

検索オプション等の画面表示デザインを決

めることができます。

デフォルトで、一覧表示では、1 ページ

に複数行、個別表示では1レコードが1ペ

ージの表となるようにデザインがすでに設

定されています。(こちらの画面の説明・編

集については後述します。)

ただし「エントリ」つまり入力したレコ

ードがまだ1件もない状態なので、まだ表

示の内容を確認してみることができません。

Page 4: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

4

まずは「エントリを追加する」タブに切り

替え、2件追加してみましょう。

1件目は富山県にある文化遺産「白川郷・

五箇山の合掌造り集落」です。所在地の県

としては岐阜県と併せて選択する(ctrlを

押しながら選択するなどする)必要があり

ます。写真は、サンプルフォルダの

ShirakawaGokayama.jpg をアップロードし

てください。

2 件目は鹿児島県にある自然遺産「屋久

島 」 で す 。 登 録 年 は 1993 、 写 真 は

Yakushima.jpg、解説は「鹿児島県の大隅半

島南南西約 60km の海上に位置する島。」と

します。

これらの作業により、一覧表示および個別

表示が可能になりましたので見てみましょ

う。また先のテンプレートと比較してみま

しょう。

テンプレートでは、デフォルトで HTMLの

テーブルタグを用いた表が設定されており、

各フィールドは[[フィールド名]]により、

どこに記載されるかを表しています。利用

可能なタグからフィールド名を選択するこ

とで、編集エリアに入力することができま

す。

また、操作用のタグとして、##edit##や

##delete##などがあり、表示内容と比べれ

ばわかるとおり、これらは対応するアイコ

ンとして表示されます。その他のタグには、

このレコードの追加日時や修正日時、追加

したユーザ、コメントなどがあり、それら

を表示したい場所に挿入可能となっていま

す。

テンプレートの利用可能タグはフィール

ドと対応されているため、フィールドにつ

いての設定を変更した場合にはテンプレー

トもそれに併せて変更する必要がある場合

があります。例えば、緯度/経度型のフィー

ルド「マップ上の位置」を追加してみまし

ょう。テンプレートには、[[マップ上の位

置]]フィールドが含まれるようになります

が、表外に記載されています。そこで、テ

ンプレートをリセットすることで、自動的

に表組を訂正することが可能です。(しかし、

独自の画面デザインを設定している場合に

Page 5: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

5

は、リセットする場合には注意が必要です。

HTMLのバックアップを取るなどしてリセッ

トするなり、自身でフィールドのタグを挿

入するようにしてください。

では、実際に緯度経度のデータを入力す

るため、一覧表示や個別表示の画面から編

集(鉛筆のアイコン)を選択しましょう。

五 箇 山 の 緯 度 経 度 に は 、 36.4°N,

136.883°E を、屋久島には、30.35861°N,

130.52861°Eと(度分秒フォーマットでは

なく 10進フォーマットで)指定しましょう。

レコードには、緯度経度が含まれ、リン

クが設定さています。クリックすることで、

Google Map 等で確認することができます。

補足 1:実際の Google Map の利用に関し

ては、iframe を用いる埋め込み用 HTML コ

ードによって、テキストエリアに直接表示

する方法も考えられます。

補足 2:執筆時のバージョンで、テンプ

レートの「テンプレートを追加する」は誤

訳と思われます。「エントリ追加用テンプレ

ート」と考えてください。

2.4 レコードの追加

これまでと同様に、Web 上で 1 件ずつレ

コードを入力していくことが可能です。ま

た、このデータベースモジュールを通じて

学生らが同様の方法で「エントリを追加す

る」で追加していく学習活動ができます。

しかし場合によっては、教師が一括して

別途用意したデータをこのデータベースに

追加したい場合もあるでしょう。そのよう

な目的のために、設定ブロックから「エン

トリをインポートする」ことが可能です。

しかし、まずはどのようにインポートする

ためのデータを用意すればいいのか確認す

るために、「エクスポート」タブを選択し、

エクスポートしてみましょう。(画像フィー

ルド以外がエクスポートされます。)

CSVフォーマットでは、1レコードが 1行、

各フィールドがカンマで区切られた形式と

なります。1 行目はフィールド名となりま

す。

補足 1:通常、CSVファイルは Excelで開

くことができますが、今回出力される形式

は主に UNIX で用いられる改行コード LF、

文字コードは UTF-8 となるので、Excel で

そのまま開くと正しく表示されません。テ

キスト形式ですのでメモ帳でも開くことが

Page 6: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

6

可能ですが、改行は正しく表示されません。

多機能なフリーソフトのテキストエディタ

であるサクラエディタ等を用いると形式が

自動的に判断され見ることができます。

ODSとは OpenDocumentスプレッドシート

形式のことであり、OpenOffice や Excel

2010で開くことができます。

これを参考に、他の世界遺産も Excel で

入力しました。

そして、このファイルを CSV形式で出力し、

インポート用として用いることとしました。

補足 2:この CSV 出力には大きな注意点

がある事が分かりました。(実は、この事に

気づかないが為に丸1日悩みました。)

Excel の仕様上、各フィールドはカンマで

区切られますが、そのフィールド内の文字

列はダブルクォーテーションで囲まれたり

はしません。ところが、フィールド内にカ

ンマが含まれていると、区切り文字と区別

するため、そのレコードのそのフィールド

のみがダブルクォーテーションで囲まれま

す。これにより後でインポートする際に、

囲み文字(エンクロージャ)を指定しない

でおいてもダブルクォーテーションを指定

してもエラーになります。

補足 3:そこで、CSVをあきらめて TSV(タ

ブ文字を区切り文字とするテキスト形式)

にすることにしました。しかしながら、こ

こでもまた問題が発生します。TSV で出力

した中にもダブルクォーテーションが含ま

れてしまいます。結局、手作業でそれらを

取り除くか、直接 Excel から出力せずテキ

ストエディタへの貼り付けを経由するなど

すると良いかもしれません。

では、別途用意した TSV ファイル「日本

の世界遺産追加用.txt」(文字コード SJIS,

改行は CRLF)を用いて、インポートをして

みましょう。設定ブロックから「エントリ

をインポートする」を選択し、ファイルの

アップロード・指定、フィールドデリミタ

は\t(タブ)、エンコーディングは SHIFT_JIS

にします。

新たに 14 件のレコードが追加されます。

(遺産の写真は含まれていません。)

補足 4:フィールドのタイプがファイルの

場合も一括インポートはできません。

補足 5:フィールドのタイプが日付の場

合も注意が必要です。日付のタイプは UNIX

タイムスタンプの形式で保存され、例えば、

2012/11/16 は、1353034800としてエクスポ

ートされます。Excel 等で後ほど日付形式

のデータ(JST)として利用したい場合には、

以下の変換式を参考に計算する必要があり

Page 7: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

7

ます。

unix = (excel - 25569) * 86400 - 32400

excel = (unix + 32400) / 86400 + 25569

2.5 レコードの検索・並べ替え

レコードの検索は、一覧表示の下や検索

タブにて、フィルタ(抽出条件)という形

で指定します。

並べ替えもフィールドや追加日時・修正

日時を選択して行うことが出来ます。

補足 1: 日付型のフィールドを基準にし

ては検索できません。これは非常に不便に

感じています。

3. データベースモジュールの応用的な利

用方法

3.1 コメントと評価の利用

設定ブロックのデータベース活動管理か

ら「設定を編集する」を選びます。設定項

目のひとつ「コメント」を Yes にしてみま

しょう。個別表示の画面において、ページ

下にコメント欄が追加されます。また、評

価欄で評価尺度や統計タイプを設定するこ

とで、コース内の学生同士が、追加したレ

コードに対して相互に評価を行うことがで

きます。

補足 1: 例えば単純な点数のみならず、

評価尺度として独自に「いいね」や「★★

★」などを用意して利用するのもいいでし

ょう。

3.2 一覧表示のレイアウト

デフォルトでは、一覧表示のレイアウト

は、1レコードがカードのように表示され、

個別表示と大差ありません。そこで、一覧

表示を表のように表示するようにテンプレ

ートのレイアウトを編集してみましょう。

この各レコードに見出しは不要ですので、

ヘッダ部分にのみ表示しましょう。(HTML

の知識が少し必要です。入力を省略するに

はエディタを無効にし(HTMLで編集するよ

うにし)別途配布の listView.txt からコピ

ーしてください。)

これにより、一覧表示は、次のようになり

Page 8: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

8

ます。

3.3 CSSテンプレートの利用

さらなるデザインの調整には、 CSS

(Cascade Style Sheet)を用います。

例えば、先ほどの一覧表示において、ある

行(レコード)上にマウスカーソルがある

ときに背景の色を変えたければ、以下のよ

うに CSSテンプレートに記述し、

.trnormal td {

background-color: #FFFFFF;

}

.trhighlight td {

background-color: #EEEEEE;

}

さらに一覧表示用のテンプレートの繰り

返しエントリ部分の先頭行を以下のように

変更します。

<tr align="left" onmouseover="this.cl

assName='trhighlight'" onmouseout="

this.className='trnormal'">

もちろん、一覧表の罫線なども CSS により

指定することが可能です。CSS テンプレー

トに以下の内容を追加すると、一覧表示は

もとより個別表示・検索オプションなどに

おいても全てに罫線が入ります。

table, th, td {

border: 1px solid black;

}

特定の行、特定の部分のみを指定したい場

合には、テンプレート上で id や class で名

前を付けておき、CSSで id を指定します。

例えば、一覧表示の見出し行だけ変えたけ

れば、ヘッダ部分の tr に以下のように id を

付けます。

<tr id="toprow">

そして CSSテンプレートにて、この idを指

定して書式を指定します。

tr#toprow {

border: 1px solid black;

}

そ の 他 、 繰 り 返 し エ ン ト リ 部 分 で

border-bottom-style を指定するのもよ

いでしょう。さらに CSS3であれば、以下の

ように偶数行と奇数行で背景色を変えるこ

とも可能です。

table tr:nth-child(odd) {

background-color: #ffeeff;

}

table tr:nth-child(even) {

background-color: #eeffff;

}

3.4 プリセットの利用とギャラリー表示

データベース活動のフィールド設定およ

びテンプレートは、プリセットとしてエク

スポートしたり、逆にインポートしたりす

ることが出来ます。そのため、よく利用さ

れるプリセットは複数のコースで共有する

ことも可能です。

今回はその一つとしてイメージギャラリ

ープリセットを用いて、画像を中心とした

一覧表示を試してみましょう。

プリセットタブをひらき、すでに用意さ

れているイメージギャラリーを選択するこ

Page 9: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

9

とになります。

しかし、これにより image,title,caption

のフィールドが追加され、個別表示のテン

プレートも差し替わってしまいます。今回

は、このプリセットの一覧表示用テンプレ

ートと CSS テンプレートを参考に、以下の

ように変更してみます。(別途用意した

gallery.txtを利用)

補足 1:HTMLや CSSのデザインは知識が必

要です。そこで、ワープロのように編集が

できるツールを使うのも良いでしょう。例

えば、フリーソフト BlueGriffonなどでは、

WYSIWYG で編集も可能です。また WYSIWYG

ではないものの非常に高機能ソースエディ

タである Aptana Studio などを用いるのも

良いでしょう。

補足 2:また、参考にしたい Webサイトの

デザインは、ブラウザのソース表示や開発

者用ツール、あるいは FireBug などのツー

ルを使って調べることも可能です。

3.5 Javascriptテンプレート

Web 上で動作するスクリプト言語

Javascript を用いると、表示のみならず、

より複雑な処理をページ内の要素に対して

行うことが出来ます。以下は「文化遺産」

のみの件数を求め、フッタに表示する例で

す。

まず、分類を表示している td タグに名前

をつけます。

<td name="cat">

フッタ領域には、件数を表示したい場所に

以下のタグを記述します。

<div name="result"></div>

Javascript テンプレートには、以下の内容

を入力します。(ファイルからコピーしても

結構です。)

var cnt = 0;

var re = /文化遺産/;

function init(){

var namedElements = document.g

etElementsByName("cat");

for (i=0; i < namedElements.lengt

h; i++) {

if(re.test(namedElements[i].inn

Page 10: Moodle のデータベースモジュールの応 › moodle2 › pdf2 › etws03-23.pdfMoodle のデータベースモジュールの応 2 この例の場合、既存のWeb上のデータベー

Moodle のデータベースモジュールの応⽤

10

erHTML)) cnt++;

}

var namedResult = document.getE

lementsByName("result");

namedResult[0].innerHTML = cnt;

}

window.onload = init;

3.6 列見出しクリックによる並べ替え

一覧表示の際などにヘッダの列見出しを

選択することで並べ替えたい場合には、テ

ンプレートにおいて以下のようなリンクを

列見出しの文字列に設定します。

http://www.xxx.jp/mod/data/view.ph

p?d=○&sort=△&order=ASC

なお上記の○の部分にはデータベース活

動の ID(数値)や△の部分には基準となる

フィールドの ID(数値)が入ります。どの

ような値が適切かは実際にページ下のメニ

ューにて並べ替えをしてみた際の URL を参

考にしてください。降順にしたい場合には、

ASCの代わりに DESCを指定します。

補足 1:昇順・降順の文字列には△▽など

を用いると良いかもしれません。

3.7 その他注意事項

一覧表示の際などにヘッダの列見出しを

4. その他

冒頭に述べたように、データベース活動

モジュールは、学生がコース内・授業内で

様々なデータを収集していく活動を通して

学習を進めていくツールとなります。もち

ろんこのような用途には別のツールを使う

ことも考えられます。Wiki や Google ドキ

ュメント・スプレッドシート、そしてファ

イルに関しても DropBox なども利用するこ

とが可能です。それらとの大きな違いは言

うまでもなく、Moodle内のツールであるこ

とで、認証が統合されている点や評価との

連携、ログによる学習履歴の把握などでは

ないでしょうか。したがって、どちらか一

方というわけではなく、それらをうまく組

み合わせた活用方法も考えていくとよいと

思います。

参考資料

1. ドキュメント:

http://docs.moodle.org/23/en/Datab

ase_activity_module

2. 日本語ドキュメント:

http://docs.moodle.org/2x/ja/%E3%8

3%87%E3%83%BC%E3%82%BF%E3%83%99%E3

%83%BC%E3%82%B9%E3%83%A2%E3%82%B8%

E3%83%A5%E3%83%BC%E3%83%AB

3. フォーラム:

https://moodle.org/mod/forum/view.

php?id=3505

4. 利用例:

http://school.demo.moodle.net/cour

se/view.php?id=127&section=3