webpa / webpa
WebPA is an online peer assessment system for higher education institutions. It is designs for teams of students doing groupwork. The system allows participating students to assess themselves and their peers to calculate a final grade for each student, which is a weighted result based on the collect
Requires
- php: >=7.4
- ext-mysqli: *
- ext-session: *
- ext-xml: *
- doctrine/dbal: ^3.0
- vlucas/phpdotenv: ^5.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- phpstan/phpstan: ^0.12.25
- squizlabs/php_codesniffer: ^3.5
README
WebPA is an online peer assessment system, or more specifically, a peer-moderated marking system. It is designed for teams of students doing groupwork, the outcome of which earns an overall group mark. Each student in a group grades their team-mates and their own performance. This grading is then used with the overall group mark to provide each student with an individual grade. The individual grade reflects the students contribution to the group.
Requirements
PHP
The following versions of PHP are supported for the latest version of WebPA:
- PHP 7.4
- PHP 8.0
Your PHP instance must also have the following extensions enabled:
- MySQLi
- Sessions
- XML
NPM
Node package manager is required to install feather-icons, an icon package used by WebPA. Once you have downloaded WebPA navigate to its root on the command line and run:
npm install
npm run build
The first command will retrieve the feather-icons package and the second will move the relevant files to WebPA's js directory for use in the application.
Installation
Download
The easiest way to download WebPA is with the composer package manager using the following command:
composer create-project --prefer-dist --no-dev webpa/webpa webpa
Alternatively you can download the latest release from this repository's release page.
Configuration
WebPA has a number of configuration options allowing you to set your database credentials, SMTP mail host details and various other options.
The application comes bundled with a .env.example
file which lists all of the configuation key-value pairs you can
set.
For speedy development, you can copy this .env.example
file to a file called .env
and change the values to suit your
environment. The path of this file can be set in the includes/inc_global.php
file.
For production environments, please avoid using the .env
file as storing sensitive credentials in a file could be a
security risk. Instead you should set these key-pairs as environment variables. In Apache, you can set these in your
.htaccess
file as follows:
SetEnv DB_HOST localhost
At a minimum, you should set the following environmental variables to let WebPA function:
- APP_WWW - URL to your instance of WebPA (set without a closing '/')
- DOC_ROOT - Directory path to the WebPA files (set with a closing '/')
- DB_HOST - Database host
- DB_USER - Database username
- DB_PASS - Database password
- DB_NAME - Database name
- DB_PREFIX - Database table prefix. Usually set to 'pa2_'
For more information on the dotenv file please visit the dotenv package's repository. For more information on setting environmental variables in Apache, please visit Apache's website.
Initialise the Database
Run the following scripts to initialise the database (edit the files to change the names and password as required):
- install/webpa2_database.sql: create the database schema and user account;
- install/webpa2_tables.sql: create the database tables;
- install/webpa2_administrator.sql: create an administrator account and sample module.
Upgrading an Existing Installation
If you already have WebPA installed and are upgrading from version 3.1.0 or below, please run:
- install/webpa_security_update.sql
Login to WebPA
- navigate to root of WebPA application
- enter a username of admin and a password of admin
- change the password to something more secure after logging in
Delete the install folder when you're finished.
LTI Extension
The standard installation of WebPA does not include LTI (Learning Tools Interoperability) support which allows it to integrate seamlessly with most popular Virtual Learning Environments. This can be added via an extension created by Stephen P Vickers. Please visit Stephen's site for instructions on how to obtain and install this extension.
Documentation
Documentation for WebPA can be found on the WebPA project site.
Changelog
Please see our changelog for a list of updates for this system.
This project uses semantic versioning from version 3.0.0 onwards.
Contributing
We always welcome contributors to WebPA. If you can help with development, testing, or documentation, please submit a pull request to this repository.
Support
Bugs and feature requests are tracked on this project's GitHub issue tracker.
License
This software is distributed under the GNU General Public License version 3.
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
Credits
WebPA was originally developed by the Centre for Engineering and Design Education at Loughborough University with financial support from JISC's e-Learning Capital Programme.
It continues to be maintained by a number of open source contributors. We thank them for their time and effort supporting this system.