簡易e-ラーニングシステム   EL3（エル）

             香川高等専門学校 情報工学科 宮武明義

   1. はじめに

        小中学校の先生方にe-ラーニングシステムとはどんな物かを体験してもらうための
	簡易e-ラーニングシステムです。
	現在，以下の機能がありますが，すべてを使用する必要はなく，個々に使用するか
	どうかを選択できます。
	
           掲示板               (bbs)
           行事カレンダ         (calendar) Powered by COMONET
           講義記録             (daily)
           配布ファイル         (files)
           用語集               (glossary)
           *ログイン            (main)
           *パスワード          (pas)
           アンケート           (quest)
           授業評価アンケート   (quest1)
           小テスト             (quiz)
           ランダム小テスト     (quiz_plus)
           選択肢もランダム小テスト     (quiz_shuffle)
           レポート             (report)  正規レポート
           追加用レポート       (report1) タイトル設定可能
           追加用レポート       (report2) タイトル設定不可
           挑戦的レポート       (report_plus)
	
	ユーザ認証をして，学習者ページと管理者ページを分けています。
	管理者は，レポートの確認や小テストの成績を保存することができます。

   2. ファイル一覧

        共通ファイル                 param.inc
        環境設定ファイル             el.ini
        学生名簿                     student.csv
	パスワードファイル           pas/ユーザID
        ログインページ               main/index.php
	パスワード設定・変更ページ   main/changepasswd.php
	トップページのスタイルシート main/style.css
	トップページの説明           main/readme.html
	学生用ページ                 main/student.php
        管理者用ページ               main/admin.php
        環境設定ページ               main/setup.php
	管理者用パスワード削除ページ main/deletepasswd.php

	    el3
              main              仮説明ページ(tmp.html)の保存
                main/readme.html  トップページの説明文
              pas               パスワード(ログイン名)
              report            レポート  ***report_plusも同様***
                report/r?         レポート結果の閲覧用Webページ(r?/index.html)
                report/doc        現在のレポート
                report/doc/memo   レポートの説明(problem.txt)
              quiz              小テスト  ***quiz_plusも同様***
                quiz/q?           小テスト成績のcsvファイル(q?/tmp.csv)
                quiz/doc          現在の小テスト
                quiz/tmp          公開前（編集中）の小テスト
              quest             アンケート  ***quest1も同様***
                quest/a?          アンケート結果のcsvファイル(a?/tmp.csv)
                quest/doc         現在のアンケート
                quest/tmp         公開前（編集中）のアンケート
              files
                files/doc         配布ファイル
                files/doc/memo    配布ファイルのコメント
              bbs
                bbs/log.dat       掲示板データ
              daily             講義記録
		daily/daily.csv   講義記録ファイル
              glossary          用語集
                glossary/glossary.csv     用語集ファイル
              calendar
                calendar/log.dat          カレンダーデータ

=== 環境設定メモ

   1. 初期設定

        設定ファイル param.inc を適当に編集して下さい。
        学生名簿     student.csv 等を参考に
                       学科,学年,出席番号,ログイン名,氏名
                     のデータを作成して下さい。
		     出席番号が負のユーザは管理者です。

          (注意）ログイン名にハイフン('-')とカンマ(',')は使用しないでください。

   2. ユーザ認証

            a) LDAP認証を使う場合
              param.inc ファイルの次の行を，環境に合わせて設定してください。
              // main/index.php で使用するLDAP関係のパラメータ
              $LDAP_SERVER = "XXX.XXX.XXX.XXX";   // LDAPサーバ
              $LDAP_BASE_DN = "YYYYYY YYYYYY YYYYYY YYYYYY"; // LDAPのディレクトリのベース DN 
            b) 独自に認証する場合
                 パスワードは，pas ディレクトリの下に
	         ユーザごとにログイン名（ユーザID）のファイルを作って保存
                 最初はファイルが無いので，changepasswd.php ページで作成して下さい
		 (注意）パスワードは MD5 で暗号化しています


=== 新規モジュールの追加

* el.ini
$(module_name)_on = 1;

*** setup.sh
#################### (module_name)用
# mkdir quiz_plus/tmp
chmod 606 (module_name)/(module_name).ini
chmod 707 (module_name)

main/
*** setup.php
// ***** 新規モジュール追加
	print('<TR><TH>(module_name)</TH><TD>');
	if ($_SESSION['(module_name)_on']=="1") print('<FONT color="BLUE">使う</FONT>');
	else print('<FONT color="RED">使わない</FONT>');
	print("</TD></TR>");
// ***** 新規モジュールのセッション変数追加
		$_SESSION['(module_name)_on']=$(module_name)_on;
// ***** 新規モジュールの設定確認追加
	print('<TR><TH>(module_name)</TH><TD><INPUT type="radio" name="(module_name)" value="1" ');
	if ($_SESSION['(module_name)_on'] == 1) print('CHECKED');
	print('>使う<INPUT type="radio" name="(module_name)" value="0" ');
	if ($_SESSION['(module_name)_on'] == 0) print('CHECKED');
	print('>使わない</TD></TR>');
// ***** 新規モジュールの設定保存追加
		$_SESSION['(module_name)_on']=$_POST['(module_name)'];
// ***** 新規モジュールの設定書込み追加
		fwrite($fp, '$(module_name)_on = ' . $_SESSION['(module_name)_on'] . ";\n");

*** admin.php
// 新規モジュールのメニュー追加
	if ($(module_name)_on == 1) include("../(module_name)/menu.php");

*** student.php
// 新規モジュールのメニュー追加
	if ($(module_name)_on == 1) include("../(module_name)/menu.php");

mimetex.cgiのコンパイル
gcc -Wno-pointer-compare -DAA -DWINDOWS mimetex.c gifsave.c -lm -o mimetex.cgi
    ^^^^^^^^^^^^^^^^^^^^