Home > old_presence_checker

old_presence_checker

Old_presence_checker is a project mainly written in RUBY and JAVASCRIPT, it's free.

Register and Confirm Students Presence (collaborate with Moodle)

== Presence Checker

Presence Cheker checks students presence by authenticating user using Single Sign On (SSO) and source IP address. It can be used with Moodle to omitting user information input (However if you do not federate Moodle with SSO, user must be authenticated twice by Moodle and SSO).

== Installation

You can checkout latest version from github.com

clone latest commit

% git clone git://github.com/toyokazu/presence_checker.git

change place to application directory

% cd presence_checker

This application requires the following Gems:

rails >= 2.3.5 (rails, activesupport, activerecord, actionpack) rubycas-client >= 2.1.0

About installation of RubyGems, refer the URL below: http://docs.rubygems.org/read/chapter/3

After installing RubyGems, you can install required gems by the command below:

% sudo gem install rails rubycas-client

== DB configuration

If you use SQLite3 as a repository, just copy config/database.yml.sample to config/database.yml.

% cp config/database.yml.sample config/database.yml

Then initalize database,

% rake db:migrate

You can create initial data by using db/seeds.rb script.

edit seeds.rb

% vi db/seeds.rb

then apply seeds.rb

% rake db:seed

== Starting server

For testing, just use WEBrick.

% script/server

and access http://localhost:3000/.

For production, thin may be good for now.

install thin gem

% sudo gem install thin

create thin config

in the following example, use 4 servers (port 4030-4033)

with application path /presence-checker

and use production environment

% thin config --config config/thin.conf --servers 4 --prefix /presence-checker --daemonize --environment production --port 4030

initialize production db

% rake db:migrate RAILS_ENV=production % rake db:seed RAILS_ENV=production

start up thin servers

% thin start --config config/thin.conf

You can use Apache 2.2 as a reverse proxy to the thin servers.

example httpd.conf configuration

% sudo vi /etc/apache2/httpd.conf ... LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so ... ProxyPass /presence-checker balancer://presence-checker ProxyPassReverse /presence-checker balancer://presence-checker <Proxy "balancer://presence-checker"> BalancerMember http://localhost:4030/presence-checker loadfactor=1 BalancerMember http://localhost:4031/presence-checker loadfactor=1 BalancerMember http://localhost:4032/presence-checker loadfactor=1 BalancerMember http://localhost:4033/presence-checker loadfactor=1

== Collaborate with Moodle

  1. Create web link to URL https://pchecker-host/pchecker-path/presences/new at Moodle course by setting "extended parameters" named as follows:

    login = User - User Name name = User - Sir & Given Name mail = User - Mail Address moodle_course_id = Course - id

    Assumed new window size (width, height) = (800, 600) for default css (precense_checker.css).

  2. Create course at Presence Checker (access URL https://pchecker-host/pchecker-path/courses/new) The new course should have the moodle_course_id of your course.

== Use without Moodle

You can also register presence without Moodle. In this case, students must input their profiles manually. This function is basiclly for the students unregistered to the Moodle.