[php]titleHeader();[/php]
[php]banner(“banner4.png”,”Student-Read-03.png”);[/php]

 

Introduction

This document will take you through the installation procedures for installing WebPA. Please take the time to read through this document fully before beginning the installation process.

 

WebPA is built on open source software and can be used in conjunction with any server as long as all the ‘requirements/ pre-installation checklist’ have been met.

 

WebPA can be broken down into two major components. The first component is the Database, and the second component being the PHP files that constitute the application and interface. Information for how to set up/ install these components are described in the following sections.

 

Requirements/Pre-installation Checklist

The WebPA application requires the following components:

 

These software components need to be installed on the computer/machine/server where you are going to be installing WebPA. It is possible to install the components independently, however, it is possible to find packages of the components that can be installed together. If you want to use a packaged install please read ‘Appendix 3– Software Packages’ where you can find information about where to download the software components and packages.

 

Information on installing, configuring and administering these software components is beyond the scope of this document. Comprehensive help about the software components can be best sought from each of the open source communities.

 

Web Server

WebPA was originally written to be run on Apache Server Project. The system has sucessfully been installed on other server architectures e.g. Microsoft IIS Server. The project would be grateful to know of any other server configurations running WebPA.

 

MySQL

You will need the login details (username and password) which will allow you to create and administer at least one database, if MySQL has already been set up. If you need to install MySQL then you will to need choose to either install the latest supported version 5.x.x or the version that WebPA has currently been written for, which is version 4.1.22.

 

PHP

You will need to install the 5.2.x version of PHP

When installing php you will need to ensure that the following configuration modules are included

 
A lot of these configuration modules are installed as standard but it is best to check that they are included.

 

Permissions

You will need to set up permissions on the web server to allow files to be written to the server file structure in a specified location. WebPA advise you to take security measures that are appropriate for your server to ensure that the files can only be written by the application.

 

Installing a new version of WebPA?

In general the reasons for why self and peer assessment are used is related to the meanings of the terms. Generally the assessment forms are under stood to be;

 

Downloading

You will need to download the latest WebPA stable release from this link

Create the WebPA Database

The database script pa_tables.sql has been created to be UTF-8 compliant and should, in theory work, on all platforms.

It is entirely up to you on how you run the script.

If you are using an interface to MySQL such as Query Browser then you can open the files via

File->Open Script…

this will then open a directory browser window for you to locate the pa_tables.sql file where you have saved it.

Alternatively you can run the pa_tables.sql script from the a command line. For example for a Linux machine you will need to type

mysql [my_db_name[ -u[user_name] -p[password] pa_tables.sql

Where the text within the [] brackets is replaced with your local terms.

It is also possible to achieve the same outcome by using the MySQL command prompt by entering:

mysql>source pa_tables.sql

Where script name is replaced by the name of the file downloaded.

 

Once you have run the WebPA script we recommend that you remove the following files;


/pa_tables.sql
/tables_updates.sql

 

It is also recommended that you put in place a database back up schedule if not already present. More information on creating back-ups and schedules can be found in the MySQL Documentation.

 

Alternative Database Installation

You may wish to create you own copy so that you can test the system before putting it into use. It is possible for you to install a blank database, however Bob has provided a solution for versions prior to 1.0.0.2.

 
By following the above instructions you will create a semi populated database with false information.

 

This will inturn create the following users:

 

Admin User

username = fred

password = test

Staff User

username = rakia

password = rakia

and

username = Chimoa

password = Chimoa

 

There are also aproximately 10 students with the details of AAAA, BBBB etc.

 

[php]
//Connect to Database
//connect();

//Variables
//$search= “dbsetup”;
//$table= “lboro_documentStore”;

//Build Results
//documentList($search, $table);
[/php]

 

Installing the WebPA Application Files

Download the latest stable install of WebPA here

 

Once you have un-zipped the download this will create a new directory ‘WebPA’ which contains all of the WebPA files and directories. You will need to move this directory on to the web servers document root, or your public HTML directory.

 

Configure

Once you have moved your files into their final location you will need to locate and open the following file;

Include ->inc_global.php

Within this file you will find the following definitions for which you will need to change as appropriate. The area for editing is shown in square brackets ([ ]) and italics.

The first elements to be customised are for the details of where the files are and the descriptors which will be out put by WebPA.

define('APP__WWW', '[URL eg. http://www.webpa.com/]');

define('APP_DESCRIPTION','[eg. online peer assessment system.]');

define('APP__KEYWORDS','[eg. peer assessment, online, peer, assessment, tools]');

The next section to customise is the logo section. This is purely optional and if left blank will not effect the appearence of the system.

define('APP__INST_LOGO', '[directory structure to the image file]');

define('APP__INST_LOGO_ALT','[Alt text for the image added]');

define('APP__INST_HEIGHT', ''); //image height in pixels

define('APP__INST_WIDTH', ''); //image width in pixels

The next section that needs to be customised is for the database connection. You will need to ensure that the username and password are correct and have permission to access the database from the web server address. It is possible to get more assistance from the MySQL community on how to achieve the best results.

define('APP__DB_HOST', '[server name / IP address]:[Port number]');

define('APP__DB_USERNAME', '[username with correct permissions]');

define('APP__DB_PASSWORD', '[password for the username]');

define('APP__DB_DATABASE', '[name of the database]'<);

The section that needs to be customised is the contact information for the help sections. These need to valid email addresses and should not point to the WebPA project staff.

define('APP__EMAIL_INFO', '[webmaster@institution.com]');

define('APP__EMAIL_HELP', '[helpdesk@institution.com]';

define('APP__EMAIL_TECH', '[technical_desk@institution.com]');

Following this the grade book section needs to be configured. The grade book allows the grades for an assessment to be output in the format accepted by the moodle grade book system. By default this option is set to false as it is untested at present.

define('APP__MOODLE_GRADEBOOK', false);

The next area for configuration is the automatic emailing options. This option is dependant on cron jobs/services being set for the following files;

 
define('APP__REMINDER_OPENING', false);

define('APP__REMINDER_CLOSING', false);

The file structure also needs to be set to suit the operating systems structure

define ('DOC__ROOT', '[File structure]');

On a Microsoft Windows machine this will be something like ‘C:\webpa\’, on a *nix machine it will be ‘/var/www/html/webpa’.N.B. Please note that a trailing slash is required for the windows system.

In order to set the authentication method that will be used to allow users to logon to the application the following line of code within the configuration file needs to be changed.

define('AUTH__CLASS', '[authentication option]');

There are currently two options for authentication. The first is to use the database; this is set by the authentication option of DBAuthentication. To use the LDAP authentication option the use; LDAPAuthenticator.

The final section to be configured is for the students are able to add textural input as part of an assessment.

NB. In the UK if requested any information about the student would need to be made available to them under the Freedom of Information Act 2000. Therefore it is up to the installer of the software to meet the institutional requirements dependant on this act.

define('APP__ALLOW_TEXT_INPUT', true);

Within the WebPA tool a number of areas allow you to send emails. You can leave the settings as in the php ini file and the system should use the default php email system. Alternatively you can set WebPA up to use the organisational SMTP server. In order to do this you will need to edit the following lines in the config file.

ini_set('SMTP','localhost');

ini_set('smtp_port','25');

If using a Windows based architecture then you need to set the send mail from

ini_set('sendmail_from','');

 

LDAP Configuration

You will need to locate and open the following file;

Include ->inc_global.php

Within this file you will find the following definitions for which you will need to change as appropriate. The area for editing is shown in square brackets ([ ]) and italics.

define ("LDAP__HOST", "[host url]");

define ("LDAP__PORT", "[Port number]");

define("LDAP__USERNAME_EXT", "[User name extention]");

define("LDAP__BASE_DN""[dc=…]");

define< ("LDAP__FILTER""");

$LDAP__INFO_REQUIRED = array("displayname","mail", "sn","homeDirectory", "memberof");
 

Troubleshooting

If you are having problems with the LDAP authentication then this may be related to anonymous binding. The following patch was recieved from D.Appelbe of Liverpool University (http://sourceforge.net/tracker/index.php?func=detail&aid=1813683&group_i…) for the file \library\classes\class_ldap_authenticator.php

Add the following code at line 91 in the class_ldap_authenticator

------------------------------------------

//-- DEA Addition

//-- Need to get full DN for bind

//--

$ldapbind = ldap_bind( $ldapconn );

if ( $ldapbind ) {

//-- now get DN of user

$retVal = ldap_search( $ldapconn, LDAP__BASE_DN, "cn={$this->username}",

array( 'dn', 'sn' ) );

if ( !$retVal ) {

// drop the ldap connection

ldap_close($ldapconn);

return false;

exit;

}

$uentry = ldap_first_entry( $ldapconn, $retVal );

if ( !$uentry ) {

// drop the ldap connection

ldap_close($ldapconn);

return false;

exit;

}

$user = ldap_get_dn( $ldapconn, $uentry );

}

----------------------------------------

Also remove the “*” on the filter definition.

There are also the following areas of the LDAP Authentication Class that you may wish to check.

From line number 121

//with the results add this to the cls info.

$this->fullname = $info[0]["displayname"][0];

$this->email = $info[0]["mail"][0];

$description_str = $info[0]["description"][0];

to ensure that the ‘descriptionname’, ‘mail’ and ‘description’ match the LDAP stucture that you use.

Also you may want to change the lines from 127 to match the how you identify the staff and students in the description area.

//check in the string for staff

if(strripos ($description_str, 'staff')){

$this->user_type = 'staff';

}else{

$this->user_type = 'student';

}

LDAP error codes
If you recieve specific LDAP error codes then you can see what they mean; http://www.directory-info.com/LDAP/LDAPErrorCodes.html

 

Running WebPA for the First Time

Once you have installed and configured the WebPA application and database then you will want to ensure that the system is running correctly. To do this you will need to navigate to the page you defined in the /includes/inc_global.php file as the APP__WWW variable.

If the system has been properly configured then you will see the login page. If there is a problem with the installation then you will be presented with no information. In order to find out what the problems with the installation are you will need to make a change to the /includes/inc_global.php file. If you change the following line error_reporting(0); to error_reporting(E_ALL); you should be able to see all of the errors for the system.

 

If you have had no problems with the install and can see the login page okay, then you will need to set up a administrators account. In the web browser you will need to navigate to /install.php. This file will allow you to enter the information for the administrators account. You will need to enter the information for the following;

 

There is an optional tick box to let the project know about your installation Notify the WebPA Project that an installation of the system has taken place for inclusion on the WebPA community site.. If you tick this box then an email will be sent to the WebPA team and you institution name will be displayed on the Community page.

Once you have created the administrator account then it is recommended that you delete the /install.php file from the server for security reasons.

 

Upgrade WebPA

 

Before you Start

Before you upgrade the WebPA application to the latest release, it is recommended that you back up the current version you have.

 

To back up the database we recommend that you follow the instructions provided in the MySQL documentation.

 

We also recommend that you take a copy of the files as configured currently. In order to do this all you need to do is copy the directory to another location on your system.

 

Replacing the Files

It is recommended that you download the new stable release from the download page and un zip the file this will create a new directory ‘WebPA’ which contains all of the WebPA files and directories. You will need to move this directory on to the web servers document root, or your public HTML directory as when you originally installed WebPA.

 

However, before moving the files we recommend that you remove the following files;

 

 

We also recommend that you copy the configuration elements before moving the files into their final place.

 

Alternatively you can un-zip the files and move them in to a location on the server before altering the server configuration for the WebPA system.

 

Database Changes

The database update is only applicable when upgrading from the last version to lates release.

The database update script, tables_updates.sql has been created to be UTF-8 compliant and should, in theory work, on all platforms.

It is entirely up to you on how you run the update script tables_updates.sql. If you are using an interface to MySQL such as Query Browser then you can open the files via

File->Open Script…

this will then open a directory browser window for you to locate the tables_updates.sql file where you have saved it.

Alternatively you can run the script from the a command line. For example for a linux machine you will need to type

mysql [my_db_name[ -u[user_name] -p[password] tables_updates.sql

Where the text within the [] brackets is replaces with your local terms.

It is also possible to achieve the same out come by using the MySQL command prompt by entering:

mysql>source tables_updates.sql

Once you have run the WebPA script we recommend that you remove the following files;

 
It is also recommended that you put in place a database back up schedule if not already present. More information on creating back-ups and schedules can be found in the MySQL Documentation.

 

Troubleshooting

If anything goes wrong in the process we recommend that submit a bug report via the WebPA source forge area or use the mailing lists and forums to find the answer or post questions.

 

Thanks

Caroline Lowery from the CEDE for reading through and providing a sanity check on the information provided in this document.

 

If you would like to be included in the thanks section for this document then you will need to add something or provide feedback on how useful or unhelpful it has been with suggested corrections if applicable.

 

 

Appendix 1 – Glossary of Terms

Term Definition
Components Application, service or software that is required to run WebPA
Package Group of components all bundled together in to a one-click installation

 

 

Appendix 2 – Student Briefing Document

Description URL
Apache Server Project Open source server application which allows PHP to be run and served to the application user via HTTP http://httpd.apache.org
PHP Server scripting language that WebPA has been written in http://php.net/
MySQL Database server application http://mysql.org/

 

 

Appendix 3 – Student Briefing Document

Name Operating system URL
Entropy package Mac OSX http://www.entropy.ch/software/macosx/php/
PHP for Solaris Solaris http://sunfreeware.com/programlistsparc10.html#php
MAMP Mac OSX http://www.mamp.info/en/index.php
SGI-IRIX 6.5.x

http://freeware.sgi.com/index-by-alpha.html#php

XAMPP Cross platform http://www.apachefriends.org/en/xampp.html