最近组织考试工作增多,想引入一个在线考试系统,减少工作量。
找了一些网络评论,最后定位到一个开源软件 TCExam
经过几日使用,有一些心得纪录下来
安装
其实好简单,
1)装数据库 服务器上已经有OSQA服务,用的是Postgresql,所以这次就用现成的
可以先把用户权限设定好
sudo su postgres -c psql template 1 ALTER USER postgres WITH PASSWORD 'mypassword';
2)装网络服务器 Apache也是现成的,没什么
3)装PHP 用CentOS的yum命令安装就可以了,5.1足够了
4)将TCEXAM保存入 www文件夹。因为有多个服务,所以设置一个虚拟Host
5)Apache module (/etc/httpd/conf/httpd.conf):
AddDefaultCharset UTF-8 php_value arg_separator.output "&" php_value magic_quotes_gpc On php_value magic_quotes_runtime Off php_value magic_quotes_sybase Off php_value request_order "GPC"
上面是官网的要求,不过除了第一行,其他我都没有找到。
6)php.ini
date.timezone = Asia/Shanhai ; arg_separator.output = "&" magic_quotes_gpc = On magic_quotes_runtime = Off magic_quotes_sybase = Off request_order = "GPC"
上面是官网的要求,我照做了。结果在这之后就出事情,服务器怎么也取不到$_SERVER[]这个全局变量。查了我半天,后来把
request_order = "GPC" 换成默认的“EGPCS”,就没有问题啦。
如果有相同问题,可以借鉴
7)执行自动安装
http://yoursite.com/tcexam_folder/install/install.php
按照提示,一个一个填好,按Install就安装完成了
8)PDF做成的问题
做成PDF试卷的时候,出现什么不支持 \p ,\p, and \x的问题。
我执行了 yum install pcre就可以了
另外,PDF输出的是文字会出现乱码。这个要安装字体,比较麻烦,我没有试验。
倒是可以把 /var/www/tcexam/shared/config/tce_pdf.php中对应行数修改为
define('PDF_FONT_NAME_MAIN','stsongstdlight');
define('PDF_FONT_NAME_DATA','stsongstdlight');
这样和嵌入中文字体效果不一样的是,如果客户端的PDF Reader安装了中文字体,就可以正常浏览,如果没有则还是乱码。不过我不在意,只要我的机器能正常打印就行。
第一次使用
1)默认的管理员是 admin/1234 ,多语言做的很好,可以选择底下的CN为中文界面
2)可以建立一些群组 比如 1201班啥的。之后的注册用户可以选择合适的群组
3) 登陆后,进入后台,按照现面的顺序由大到小建立题目的结构
模块: 最大的分类,我建立的是 开发技术 和 Agile
主题: 其次的分类, 我在开发技术里面建立了 Java 主题
题目: 就是具体的题目。种类可以是多选,单选,排序,是非和自由答题
答案: 一个题目有多个备选答案,可以选定其中某些为正确
4)出测验试卷
可以在新建一个测验,包括一些信息,特别的是
开始时间-终了时间 : 代表考试开启的窗口
测验时间: 代表考试的时间,超过则自动锁定
通过考试的分数: 不解释
组:就是面向那些群组,其他群组将不会看到考试
然后就可以从之前录入的题库中添加到本次考试。
有一个答案数量,记得选大一些,默认是2,也就是说及时选项是4个,也只会显示2个。这个设置确实很坑爹
试题是可以做成PDF打印出来的,不过PDF的排版不敢恭维
开始考试
1)让所有人员登陆完毕。
2)到考试窗口时间的时候,考试人员自动看到考试开始链接
3)考试中,考试后,可以随时查看考试的成绩和分布等
4)还可以将考试的结果发给参考人员
5)有一个不太好的是,考试人员自己无法看到正确和错误的题目。只能在管理界面看到,或者做成PDF发给参考人员。