Introduction
This page describes the outcomes and objectives of a short project funded by the Wikimedia Foundation UK (during the second half of 2014), see https://wikimedia.org.uk/wiki/Wiki-based_teacher_education_and_resource_development.
Summary
Mediawiki is already used to host Open Educational Resources (OER), such as Wikipedia (which is possibly the most widely used open resource), which means that many people are familiar with both reading Wikipedia, as well as contributing (the barrier to which has been lowered significantly by the usability enhancements such as the visual editor). Mediawiki has facilities for taking content offline, through Offline Content Generation (OCG) toolchain, or Parsoid with ZIM and Kiwix.
These features mean that Mediawiki could be a good platform for hosting other types of OER, and a few years ago we started using Mediawiki to host the OER4Schools teacher professional development programme. As far as we are aware, it’s the only structured open teacher programme available aimed at teacher in sub-Saharan Africa (though of course there are other open teacher resources, from OER Africa, TESSA, COL, and others).
While our mediawiki-based approach has been very successful in a number of ways, there have also been challenges. As an encyclopedia, the basic unit of Wikipedia is articles, which relate to each other, but often not in complex ways. TPD programmes need to be very clearly structured to be effective, and we thus built templates for structuring resources (with semantic properties), section numbers (with CSS), and navigation (again using semantic wiki). Wikimedia UK kindly provided some funding to help address some of these challenges, in collaboration with Emmanuel (of Kiwix) in a project to "Enable Wiki-based teacher education". There are of course some remaining challenges, and hope to continue working with the community in order to address these!
Objective
Mediawiki is already used to host Open Educational Resources (OER), such as Wikipedia (which is possibly the most widely used open resource overall). However, the use of mediawiki to develop and host more complex resources, such as structured resources (such as textbooks), is still limited. In particular, Mediawiki could be a suitable platform for collaboratively producing and hosting teacher education resources, including open textbooks (whether these are teacher education resources or otherwise). However, our previous research on the ORBIT project has highlighted some of the obstacles to this, that we are trying to address through this project. The work undertaken as part of the EWTE project, aims to further develop our mediawiki practices and facilities to make it a more suitable platform for hosting structured open educational content. This could bring potentially very significant gains to the OER community, and possibly leads to a far greater adoption of mediawiki in this area.
Mediawiki and Open Educational Resources
OER are understood to have three freedoms (c.f. [1]): Legal, technical, and education/participation. While many OER initiatives focus primarily on legal freedom, this project focusses on technical freedom (including access) and strategies for presenting content in educationally appropriate ways, allowing participation.
Technical freedom and Access. Mediawiki already is a strong platform in terms of providing multiple ways of accessing content, including facilities like an API, a version for mobile content, as well as the ability to download content as PDF or as a ZIM archive. However, many of these facilities are first "stress tested" on Wikipedia, and may be somewhat tailored to use on Wikipedia (and the kind of content hosted on Wikipedia, i.e. encyclopaedia articles). In this project, we seek to apply the the accessibility provided by mediawiki to another site (i.e. http://oer.educ.cam.ac.uk/wiki), and explore to what extent the tools developed for Wikipedia carry over to other mediawiki sites, particularly with regard to a mobile site, PDF and ZIM.
Educational freedom and content organisation. One of the areas where we previously experienced difficulties were in the area of content organisation. Wikipedia's "unit of content" are encyclopaedia articles. While these articles have relations with each other, articles do not form "linear sequences". Other other types of educational materials, such as books, have a linear order. Typically such content would be organised as a set of (reasonable length) pages, with appropriate navigation between pages. Other than doing this manually, by default, mediawiki does not provide such facilities. However, as part of this project, we developed a number of options to better structure content (see below), enabling mediawiki users to structure their content in ways more suitable for certain typed of educational content (books, manuals, courses, including professional development courses). The issues address here should be highly relevant for other sites that offer more structured content, such as Wikiversity and Wikibooks.
Participation and usability. Visual editor and TogetherJS. We were also keen to introduce some of the excellent usability enhancements.
Project outcomes
Overarching outcomes. Through this work, we gained some ground in the use of MediaWiki in formal Higher Education, particularly in the area of teacher education, and for the use of mediawiki to produce professional open wikibooks. We feel very strongly about the benefits of collaborative teacher resource development, and this project helped us to take this message out to the Faculty of Education (University of CambridgE) as well as other departments in the UK.
Concrete outcomes. The concrete goal of the project was to implement existing extensions, as well as to further develop a number of new extensions for mediawiki, that will significantly enhance the usability of the platform for creating teaching and learning materials in Higher Education, and particularly for teacher education. We suggest that the outcomes of this project to be immediately applicable to other wikimedia sites (including wikibooks).
The overall specific outcomes of this project are:
- Greater engagement of University of Cambridge staff and students with mediawiki, particularly within teacher education. This is measured through additional (University or Faculty) projects adopting our existing mediawiki site to host their resources (such as a teacher development programme for Raspberry Pi).
- Greater engagement of UK and international Higher Education staff and students with mediawiki, measured through increased use of discussion on facebook, see e.g. https://www.facebook.com/groups/oer4schools/.
In accordance with the goals, the specific technical deliverables were as follows:
- Section numbers. A mediawiki extension that allows section numbers to be prefixed with strings, together with documentation. Implementation of this extension on our wiki.
- Project specific page banners. A mediawiki extension that the adding of project specific banners to wiki pages, in order to be able to mark a set of pages as belonging to the same project or set of pages.
- Wiki navigation between pages. If feasible, and extension that allows better navigation between individual pages in a collection. Brief instructions on our implementation (together with mediawiki Templates) allowing our approach to be replicated more easily.
- Better searching. Brief documentation on the more advanced search options within mediawiki, aimed at the Higher Education sector. An implementation of these search options on our wiki.
- Assessment of pdf generation. Brief documentation on mediawiki to pdf workflow options, aimed at the Higher Education sector.
- Collaborative options. Brief documentation on real-time collaboration on mediawiki, aimed at the Higher Education sector.
Content organisation
During the ORBIT project, we developed a number of features for our mediawiki on an experimental basis, which as part of EWTE, we developed into proper extensions, with documentation. These include:
Section numbers.
When creating longer documents, it is important that each section has a unique number. In educational materials, sections usually have a number, that uniquely identifies it. In mediawiki, section numbers within pages are just numbered incrementally (1, 2, 3, ...). Ideally the usual page section numbers (1, 2, 3, …) would be prefixed with a chapter number (say “5”, to give 5.1, 5.2, 5.3, …; or say “A”, to give A.1, A.2, A.3). This stems also from our experience with OER4Schools, where the use of our longer documents (sometimes numbering 100s of printed pages) has been confusing during e.g. during workshops because of the lack of unique section numbers across several pages. (“Let’s look at chapter 5, section 3.” - “No, not this section 3, go to chapter 5 first, then section 3.” vs. “Let’s look at section 5.3.”).
We developed a simple mediawiki template that allows existing section numbers to be prefixed with strings (together with the CSS extension). To use the template on this wiki, see basic documentation provided here Template:SectionHeadingPrefix. In brief, e.g. {{SectionHeadingPrefix|A.}} a section called
- 1.1. Section title
appears as
- A.1.1. Section title
For an example, visit this page: Each section number is prefixed with the session number ("4.2"). For details about how to install this on other wikis, see OER:Documentation.
Project specific page banners.
On our wiki, different "projects" have different “page banners”, i.e. a section at the top of the page that identifies the project. Compare e.g. ORBIT, and OER4Schools. In order for projects to choose to place their outputs on a departmental site (let along a University wide, or wikibooks), they need to have their own identity within that site. Otherwise it is simply not acceptable to project stake holders. Compare e.g. ORBIT and OER4Schools with a page on wikibooks, e.g. [2]: On ORBIT / OER4Schools the page banner appears above the page title, while on [3] the page title appears at the top, with the book title effectively appearing below the page title.
For the ORBIT project, a mechanism was developed to achieve this, but it used the 'site notice’, so it was not possible to have site notices. Moreover, the implementation require modification of the actual source code modification, which made it difficult for us to upgrade our wiki installation. Part of EWTE, the implementation was adapted, to no longer affect the site notice, and to work as an extension, with out the need to modify the source code.
On this wiki, you can use
<topcontent> Page header content </topcontent>
Typically, this is used using a template, see e.g. Template:EWTE, so that the same page header content can be placed on all pages belonging to a project.
To use <topcontent> on another wiki, see OER:Documentation/customextensions for installation instructions.
As detailed above, it is important to be able to group pages into sequences. Compare OER4Schools or DEFT with a page on wikibooks, e.g. [4]: The wikibooks page creates the navigation manually:
{{navigation|Book=Primary Mathematics |current=Working with fractions |previous=Fractions |next=Decimals}}
During our project work on ORBIT and OER4Schools we have found such as solution very hard to maintain. E.g. the insertion of a new page (or the renaming of an existing page) requires the bordering pages to be updated. Moreover, a list of all pages needs to be maintained separately.
We currently have two mechanisms to allow the creation of such 'page sequences' in a more automated way, one which uses the collection extension, and the other one uses semantic mediawiki.
A simple solution is to use the book creator extension to produce a book, and then to use the saved book page as a template for navigation, see EWTE/booknav. Advantages are:
- This method is quite simple to use, and builds on using the book creator. Users can use the interface provided by the book creator to create their collections.
- It also means that books cannot just be viewed (as a set of wiki pages), but also exported, using the mechanisms provided by the book creator. The pages are thus grouped on the wiki, and can be exported as such.
However, there are a number of disadvantages:
- Adding a page to a set of pages requires the book definition to be updated.
- While it's easy to edit the book (and thereby the navigation), and this may already be familiar to users, every time the book is saved the <noinclude> statements need to be added again to the book definition, for the navigation to stay properly formatted.
- The page itself does not 'know' that it's part of the book, and can 'behave' accordingly, e.g. it's not possible to add "previous" and "next" navigation to pages.
Using semantic mediawiki
We currently have a mechanism (relying on the semantic extension) that allows several wiki pages to be grouped into a collection, displaying a navigation menu on each page, see e.g. OER4Schools. As part of this project, we have documented our work, allowing the replication of this on another wiki, see EWTE/nav for an example, and Category:PageGroupTemplate for documentation. The simples use is the Template:BasePageGroupNav. Simply including this template on subpages:
{{BasePageGroupNav}}
creates a navigation menu, see EWTE/nav for an example. The advantages of this approach are:
- Flexible creation of navigation, as simple as adding a generic template (Template:BasePageGroupNav) to each in a set of pages (and sub-pages) to create navigation.
- The page itself 'knows' that it's part of the book (and where it is in the book), and can 'behave' accordingly, e.g. allowing for 'previous' and 'next' links.
The disadvantages of this approach are:
- It does require a number of extensions to be installed (semantic mediawiki, as well as functions for arrays).
- It does not integrate with the book extension, when in principle the functionality is similar.
For more information, see OER:Documentation.
Extension:BookManagerv2
The Extension:BookManagerv2 has also come to our attention, but we haven't tested this yet.
General usability
A number of modifications were made to provide better usability.
Better searching.
We did some user testing, and the wiki search came up as something that users found confusing, and not really useful for finding the content they were looking for. We currently use a Google custom search, but the integration into the wiki is not ideal. We would like to explore options for searching that allows our audience to find relevant content more easily. The Mediawiki search future was thus customized. It display the results of the standard search engine conbined with the results of Google. This is done using the "GoogleSiteSearch" extension. See the file LocalSettings.custom.php to see how it's configured, and “../custom/extensions” directory. See OER:Documentation for more details.
Visual editor
The visual editor is now working as part of the installation.
Collaborative options.
The TogetherJS extension is now available on the wiki, and has been used on a few occasions to demonstrate the wiki remotely. The "Collaborative Editor" (which is planned), as a tool for real-time collaboration, was not ready for trialling.
Access and Offline
Assessment of pdf generation.
We currently generate our own multi-chapter pdf (using a set of scripts). The Pediapress PDF generation suitable (book extension) was unable to support our formatting, such as educator notes:
This is an educator note.
We were unable to find alternative ways of formatting text in a similar way, that would be compatible with the book extension.
The more general Offline Content Generation toolchain should offer better solutions for this. There are two toolchains that could be promising:
- The OCG/Latex toolchain also doesn't take css into account, but appears to be aimed at very high quality print output from wikipedia articles.
- An OCG toolchain with Phantom-js-2 is planned, that would work from the html (including css), and could be a good option. Work on this will start when Phantom-js-2 is released.
For now, we thus stick with our own way of creating PDF, which have documented here OER:Documentation/PDF with wkhtmltopdf.
Offline
Apart from PDF, we considered generation of ZIM with the Kiwix browser. This was fairly successful, see http://oer.educ.cam.ac.uk/download/. A few issues remain, see OER:TODO and outstanding issues below.
Mobile
The MobileFrontend was also installed, see http://www.mediawiki.org/wiki/Mobile_Web, http://www.mediawiki.org/wiki/Extension:MobileFrontend http://noc.wikimedia.org/conf/highlight.php?file=mobile.php. It can be configured through Special:MobileOptions.
MediaWiki Language Extension Bundle
MediaWiki Language Extension Bundle also came to our attention through this work, as is being trialled, see e.g. OER4Schools/AVU2014/fr. Also see [5].
Technical documentation of our work
The above work is documented at OER:Documentation, which also includes for some hints on how to set up a wiki in general.
Issues remaining
There are a number of issues remaining, that we hope to address with support from the MediaWiki Community. Some of these are also reflected in our list of "to do" items.
OCG / PDF
The OCG/PDF/Latex toolchain does not work well for us, due to the lack of support for some css (or an alternative way of formatting.
Two options are:
- OCG/PDF/PhantomJS2 tool chain. This is planned, but contingent on release of PhantomJS2. However, one could build a toolchain using the alpha version of PhantomJS2.
- OCG/PDF/wkhtmktopdf tool chain. In principle, given that we have the script-side working already, it should be easy to adapt a toolchain to work with wkhtmltopdf.
OCG / epub
We would also like to render to epub.
- OCG/epub ?
ZIM
There are some improvements being made (such as the incorporation of MediaWiki:Offline.css into the ZIM generation process). ZIM generation has issues e.g. due to parsoid, which are likely to affect the other extensions as well.
Other issues:
- Where File: refers to a PDF/Word/etc file, that file should be available offline. Maybe it can be provided within ZIM. Alternatively, we can provide the PDF file separately, but in that case the ZIM generation needs to produce a directory (or zip) with the files needed (i.e. take those files from the /images directory and put them into a separate directory, or zip them up.
- Some of ORBIT is organised through categories. Need to decide how this is reflected in the ZIM file (and mwoffline script).
Parsoid
E.g. section numbers (with page, e.g. 1.2.3, 1.2.4, etc.) are not preserved in the parsoid output.
Also:
- ENCODED_CONTENT MTkzMTMPGRpdiBjbGFzcz0iZmFxIj4KICAgPHVsPjxsaT4KICAgPGEgaHJlZj0iI21lbnVleHBhbmQiPkNsaWNrIHRvIHJldmVhbCBtZW51PC9hPiwgICAK END_ENCODED_CONTENT
- a rel="mw:WikiLink" href="./SMW::off" title="SMW::off"
Navigation could do with better integration between book extension and semantic.
Ideally Navigation would take place through a unified menu on the LHS? It doesn't seem straight forward to make the menu dynamic, but perhaps it's somehow possible?
We sometimes have extra edit buttons that we don't want to appear when not logged in - how can we do that?
Video integration
Video integration, e.g. hosting videos on "commons".