Jump to content

Extension:Education Program

shortcut: EP
From mediawiki.org
Revision as of 07:06, 28 May 2018 by AKlapper (WMF) (talk | contribs) (No more new installations. Past.)


MediaWiki extensions manual
Education Program
Release status: unmaintained
px
Implementation Special page , Ajax, User interface
Description Facilitates educational programs by adding various interfaces to manage courses, students, institutions, mentors, etc., as well as improving workflow for everyone involved and proving several analysis/statistics interfaces.
Author(s) Jeroen De Dauw, Andrew Russell Green, Sage Ross
Latest version 0.4 alpha
MediaWiki 1.21+ (1.23+ as of 0.4)
PHP 5.4+
Database changes Yes
License GNU General Public License 2.0 or later
Download
readme
release notes
Example en.wikipedia.org
Translate the Education Program extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

About

Facilitates educational programs by adding various interfaces to manage courses, students, institutions, mentors, etc, as well as improving workflow for everyone involved (enrollment, seeing changes of other students, article and reviewer association) and providing several analysis/statistics interfaces. It was developed for the Wikipedia Education Program but is generic enough to be used by similar programs.

Feature overview

  • Browsing interfaces for institutions, courses and terms.
  • Pages with summaries and linked items for all institutions, courses and terms.
  • Edit page for institutions, courses and terms.
  • History pages for institutions, courses and terms.
  • Enrollment page for students with optional token requirement (and associated disenroll page).
  • Sortable and filterable list of students.
  • Personal courses overview at Special:ManageCourses for students, ambassadors and instructors.
  • Personal course activity overview at Special:MyCourses.
  • Overview of the program status on Special:EducationProgram.
  • Overview of student activity on Special:StudentActivity.
  • Online Ambassador and Campus Ambassador profiles.
  • Lists of Online Ambassadors and Campus Ambassadors.
  • Logging of all special education events, such as enrollment and courses association.

Usage

Quick instructions for getting started

To get started using the extension, after it is installed, administrators can (optionally) grant to the course coordinator user right to anyone who will be managing the use of the extension's functions (if they are not already administrators), and administrators or course coordinators can grant the relevant user rights to users in the instructor or (optionally) campus/online volunteer roles. The course coordinator user right gives full access to the course page features, including creating and deleting courses and granting the other course rights to other users.

To set up a course page, you need to have a user account on Wikipedia that has the rights to do so (either administrator rights, or any of the "course" rights such as "Course instructor" which can granted by an administrator).

1. Check to see whether your institution (e.g., your college or university) is already in the course page system by going to Special:Institutions. If not, add it. (If you are logged in and have the proper rights, you should see an “Add a new institution” section above the list of institutions already in the system.)

2. Go to your institution page, then start your course page. In the “Add a course” section, select your institution from the pulldown menu, enter the course name and the term (e.g., 2013 Q1), and click “Add course.”

3. Fill in the details for your course including an “enrollment token” that your students will use as the code to allow them to enroll on the course page, the start and end dates, and a description of the course in general and what students will be trying to do on Wikipedia in particular—and then press “Submit” to create the course page.

4. After your course page has been started, you can send your students the URL of your course page along with the enrollment token, and they can sign up as students in the course (once they have created their Wikipedia accounts). You can then use the Special:MyCourses page (linked from the top of the page near your username as "Courses") to see recent activity from your students.

Using the extension features
  • Preferences and usergroups - The extension introduces new preferences, one for displaying a link to Special:MyCourses in the Personal tools at top right, and another for displaying the "Did you know box". The extension introduces four new usergroups to control the functions of the extension and identify users associated with particular course roles (such as the instructor or a Campus Ambassador or other volunteer Wikipedian).
  • Institution and Course pages - The pages for Institutions and Courses are in a new namespace, "Education Program:", and include structured data such as the name and location of an institution, and the start date, description, and other details for a course.
  • Special pages - The extension creates a set of related special pages for presenting information about classes and student activity.
  • Interface messages - Some optional interface messages can be used to customize the appearance of course pages and their default content.
Getting student usernames for Wikimetrics
  • ListStudents API - An API can be used to get a list of usernames or user IDs for the students in one or more courses, which can then be uploaded as a cohort to Wikimetrics.
Troubleshooting and bug workarounds
  • Remove duplicate courses - In some cases, the same course or org may be listed twice in the courses list, because it has two different course IDs. To clean this up, users can delete courses by ID number through the API.

Requirements

Education Program requires:

Download

The extension can be retrieved directly from Git [?]:

  • Browse code
  • Some extensions have tags for stable releases.
  • Each branch is associated with a past MediaWiki release. There is also a "master" branch containing the latest alpha version (might require an alpha version of MediaWiki).

Extract the snapshot and place it in the extensions/EducationProgram/ directory of your MediaWiki installation.

If you are familiar with Git and have shell access to your server, you can also obtain the extension as follows:

cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EducationProgram.git

Installation

Once you have downloaded the code, place the EducationProgram directory within your MediaWiki 'extensions' directory. Then add the following code to your LocalSettings.php file:

# Education Program
require_once( "$IP/extensions/EducationProgram/EducationProgram.php" );

(Make sure you add it after the inclusion of cldr.)

Then run update.php.

Configuration

Configuration of Education Program is done by assigning to $egEPSettings in your LocalSettings.php file. The options are listed below and their default is set in the Education Program settings file. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

Example of how to change a setting:

$egEPSettings['defaultWidth'] = 250;

Available settings:

Name Type Default Description
enableTopLink boolean true Enabled the link to Special:MyCourses in the menu on the top (next to the link to MyPreferences).
ambassadorCommonsUrl string https://commons.wikimedia.org/wiki/Special:UploadWizard Link to the upload interface for ambassador profile pictures.
citylessCountries array see settings file List of countries for which to not require a city for institutions.
ambassadorImgWidth integer 140 Maximum width of ambassador profile images in the ambassador profile lists.
ambassadorImgHeight integer 140 Maximum height of ambassador profile images in the ambassador profile lists.
recentActivityLimit integer 24 * 60 * 60 The length of the time period for which to show activity on Special:StudentActivity.
flagWidth integer 25 The maximum width of flag icons on Special:StudentActivity.
flagHeight integer 25 The maximum height of flag icons on Special:StudentActivity.
countryFlags array see settings file List of country codes pointing to image names used to figure out which image to use for country flag icons.
fallbackFlag string Nuvola unknown flag.svg A flag image to show for countries that do not have an associated flag set in the countryFlags settings.
courseDescPage string MediaWiki:Course description Name of the page on which the default initial description for courses can be specified.
courseOrgDescPage string $2/$1 Name of the page on which the initial description for courses belonging to a specific institution can be specified.

$1 is replaced by the name of the institution and $2 is replaced by the value of the courseDescPage setting.

useStudentRealNames boolean false If real names should be shown instead of usernames for students in the education interfaces.
timelineDurationLimit integer 2 *24 * 60 *60 The length of the time period for which to show activity in the course activity timelines (ie on Special:MyCourses).
timelineCountLimit integer 42 Maximum number of items to show in the course activity timelines.
timelineUserLimit integer 3 Maximum number of users to list in an event group in course activity timelines.
dykCategory string MyCourses Did You Know The name of the category from which to use pages as content for the did you know box.
dykOrgCategory string $2/$1 The name of the category from which to use pages as content for the did you know box for a specific institution.

$1 is replaced by the name of the institution and $2 is replaced by the value of the dykCategory setting.

Developer documentation

Version

This is a copy of the release notes file on Git, which might be more up to date than this page.

Version 0.3

(dev)

Compatibility changes
  • Added support for MediaWiki 1.21
  • Dropped support for MediaWiki 1.20
Enhancements
  • Renamed user groups from "Education Program $1" to "Course $1".
  • Introduced EducationProgram PHP namespace.

Version 0.2

(2012-10-16)

New features
  • Replaced Course and Institution namespaces with a single Education Program namespace.
  • Implemented Special:Articles.
Enhancements
  • Real name is now optional by default.
  • Tweaked default user rights.
  • Replaced all usages of wfMsg* with their modern equivalents.
  • Use of __DIR__ instead of dirname( __FILE__ )
  • Use of native Language::formatDuration rather then own implementation
  • Moved user preferences from a dedicated "education program" tab to the "misc" tab.
Bug fixes
  • Start and end dates are now shown in human readable format in diffs.
  • Added invalidation of the institution and course view caches after edits.
  • Fixed cancel button (on course/org edit pages) target to remain correct when altering the title and submitting but encountering a form validation error.
  • Blocked users can now view course and institution pages.
  • Blocked users can no longer enroll in any courses.
Migration from 0.1
  • Update.php needs to be run
  • Courses that where in the Course namespace will no longer be valid, no migration script provided
  • Institutions can remain where they where but the secondary storage needs to be rebuild, no rebuilding script provided

Version 0.1

(2012-6-20) Initial release with these features:

  • Browsing interfaces for institutions, courses and terms.
  • Pages with summaries and linked items for all institutions, courses and terms.
  • Edit page for institutions, courses and terms.
  • History pages for institutions, courses and terms.
  • Enrollment page for students with optional token requirement (and associated disenroll page).
  • Sortable and filterable list of students.
  • Personal courses overview at Special:ManageCourses for students, ambassadors and instructors.
  • Personal course activity overview at Special:MyCourses.
  • Overview of the program status on Special:EducationProgram.
  • Overview of student activity on Special:StudentActivity.
  • Online Ambassador and Campus Ambassador profiles.
  • Lists of Online Ambassadors and Campus Ambassadors.
  • Logging of all special education events, such as enrollment and courses association.
  • Several education related user preferences.
  • "Did you know" box on Special:MyCourses.

Internationalization

Education Program is fully internationalized. Translation of Education Program messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language. To determine how much of the interface has been translated into your language and what, see here.

Current installations

This extension is being used on 20 Wikimedia projects.

This extension is being deprecated. In Wikimedia projects, please use the Programs and Events Dashboard for all new programs.

Process for enabling on a Wikipedia

As this extension is being deprecated, we do not plan to enable it on new Wikimedia projects.

Authors

Education Program was written by Jeroen De Dauw as Wikimedia Foundation contractor for the Wikipedia Education Program. As of October 2013, it is being developed further by Andrew Russell Green as a Wikimedia Foundation contractor.

Roadmap, plans, and updates

The outdated project roadmap was posted at July 2015 roadmap notes.

Previous short- and long-term plans for the extension were posted at Wikipedia Education Program .

Project status updates were posted at Wikipedia Education Program/status.

This page documents plans from early 2013. It includes a list of ideas and feature requests.

On June 30, 2018, the Education Extension will be shut down.[1]

Screenshots