# PanDocElectron
## Introduction

PanDocElectron is a tool to create Open Educational Resources (OER) from and for Wikipedia and Wikiversity. PanDocElectron is able to download wiki documents and create several other output formats from the wiki source. The main workflow for educators is:
* Online OER Maintenance: Edit, update and optimize your open educational resources in Wikiversity (e.g. Lineare Abbildung (German - PanDocElectron Wikiversity Demo) used in a lecture) and
* Download and Convert OER: download and convert these online resources to local documents on your digital device, to tailor the documents to local requirements and constraints that are relevant for the group of learners only, (e.g.
** add a local case study, that cannot be published on Wikiversity,
** add local contact details on the slides of the OER, that are not meant to be for public use,
* OER Use in Learning Environment: Use tailored documents in Learning environment e.g. as slides Converted Wikiversity OER of "Lineare Abbildungen" - german demo lecture for PanDocElectron-

## Learning Resources for Output Formats

* Wiki2Reveal Demo: Demo for Wiki2Reveal - on the fly conversion of Wiki2Reveal learning resources in Wikiversity.
* AudioSlides4Web: Create a webbased presentation with audio comments per slide.
* Wiki2Reveal: Create a webbased presentation from a Wikiversity learning resource.
* Wiki2ODF: Webbased editing of ODF formats - interims format for generation of ODT document from Wikiversity learning resources.
* Wiki2ODT: ODT Output format for private annotations of Wikiversity learning resources.

## Installation on Linux, Windows and Mac

* Electron framework allows to develop simultaneously for Linux, Window and Mac
* Installation workflow is maintained on GitHub and select your operating system.
* Keep in mind that the Linux, Mac and Windows binaries are in general older releases (NPM installation is recommended)

## Learn to use PanDocElectron

* PanDocElectron-Presentation - Create PanDocElectron Presentation directly from Wikiversity Articles
* Videos Screencasts - watch basic use-cases in a video
* Learn to use PanDocElectron with Wikiversity

## Demo Output Formats

Beside the Office document formats (including LibreOffice and LaTeX) PanDocElectron can export to webbased presentation formats e.g. based on Reveal
* Audioslides in Reveal Attach recordef audio comments to each slide,
* Chalkboard in Reveal Handwriting and Comments directly on the slide Kommentare zu Folien und eine digitale Kreidetafel.
* Export a LibreOffice Presentation to Audioslides with PanDocElectron, in presentation press (F) for Fullscreen and Cursor keys to navigate between slides.
* German Lecture in Mathematics with
** the Resources of Lecture on Wikiversity and
** the presentation with Reveal and Chalkboard plugin Press (C) for comment on page or press (B) to get a blackboard for writing for each slide with a tablet and stylus.
These examples show some possible use cases for PanDocElectron-Presentations. The includes the requirement, to classifiy certain wikiversity article as SLIDE conform, ie. length of text for the sections is not too long, so that the capacity of each slide is not exceed.

## On-the-fly Document Generation

* Wiki2Reveal can create from Wiki articles (e.g. in Wikiversity) online presentations on the fly in RevealJS
* Wiki2ODF is format cross-compilation pair that creates ODF documents for LibreOffice in a Webbrowser (see WebODF and WebODF Demos and wtf_wikipedia.
* Wiki2ODT is format cross-compilation pair that creates LibreOffice Writer documents from the Wiki source.

## Learning Task

* Create a software design for the wiki2odt WebApp and document that as learning resource here in Wikiversity.

## History

The Action Team 6 Follow Up Iniative (AT6FUI) is based on the Open Community Approach, which is a generalization of the concept of OpenSource and OpenContent to other collaborative effort. With the Low Cost approach for international conferences the presentations are recorded prior to the semi-virtual conference. The videos are used for:
* simultaneous presentations of videos at different Local and Regional Meeting Points (L/RMP) facilitated the participation at the conference with local face to face communication at virtual international connectivity with video conferencing for discussion.
* at the same the video were available beyond the meeting for Capacity Building.
In the context of Open Educational Resource (OER) and the Project LLinES the concept of creating OER products for Capacity Building was optimized due to the maintenance of the video presentations. Due to the fact that it is difficult to update slides and audio comments in a video presentation, Wikiversity was chosen as repository for OER products. The content itself cannot be used directly as a presentation. So there is a missing link between OER repository in Wikiversity and a webbased HTML presentation in RevealJS with Audio Comments. PanDocElectron is designed for bridging the gap between Wikiversity and HTML Presentation and of course other output formats.

## Technical Background

PanDocElectron is mainly a Graphical User Interface for Pandoc developed by John MacFarlane. Without the development and provision of Pandoc to the Open Source Community, the development of PanDocElectron was not possible-
PanDocElectron was developed in Electron/NodeJS to create crossplattform applications for
* Linux,
* MacOSX and
* Windows.
The following software packages are required for PanDocElectron. Tools and packages are selected by the requirement, that the software packages are available on all operating systems (Lin, Mac, Win).
* Pandoc the core tool for converting documents, the swiss army knife for document processing developed by John MacFarlane.
* ImageMagick to convert PDF-Slides into web-based Presentation with Audio Comments. ImageMagick is used to create multiple PNG-File as slides from the PDF document.
* LaTeX for PDF conversion and processing Latex input files. Convert from a latex document and convert the source into WikiMedia output for Wikiversity.
* PanDoc Templates: Download Support Files and Templates for all Operating Systems
* Git to download and update the sources of Electron Applications (see http://git-scm.com/ for installing the software git)
* Ghostscript, an interpreter for the PostScript language and for PDF
* Node.js and npm to install pre-build packages of Electron as a runtime environment. (npm is installed as part of Node.js). Node.js allows reading and writing files to the filesystem in Electron with JavaScript (installer Node.js and npm). For running and testing the Electron applications in general (like PanDocElectron) it is necessary to install the Electron environment on your Desktop Computer. With electron you download the application that is designed as cross-platform application and install the Electron Framework for your operating system (OS).
* RevealJS, DZSlides, ... to create web-based slide shows.

## Future Development
### Scientific Paper Wizzard

Create a scientific paper wizard, that supports
* Wikiversity Downloads of State of the art text fragments from Wikiversity and/or quality assurred versions of Wikiversity Documents stored GitHub et.al. and maintained by team, the user trusts as experts. Available sources on Github et.al. are stored in MediaWiki source text and media files are stored in the original format.
* Github will be used to provide an open access to current work made available by a single scientist or a group a scientist. GitHub Documents are quality assured by the group scientists. The trust in the group of scientists releasing the state of the art versions defines, if you would use that state of the art document in your own publication. Nevertheless it is always recommended to crosscheck that document anyway and if you find errors
* comment your findings on the corresponding Wikiversity page (discussion) or
* correct identified errors and add new scientific evidence directly in the Wikiversity article.
* The authors can watch the Wikiversity pages and create feedback on the alteration or thank the Wikiversity user for their contribution for improvement.

### Features of the Paper Wizzard

* Download a complete Wikiversity article and integrate the source document with PanDocElectron (already implemented since version v0.96)
* Download a specific subsection of an article in Wikiversity and Wikipedia.
* Download a selector page from Wikiversity, that allows the users of PanDocElectron to select a specific subtopic from offered options (e.g. used statistical approach to analyse the data).
* Include R code for processing data that can be hidden in attributes of HTML-tags, that can be processed with knitr and R with the generated document.

### Sweave, KnitR, R

If we combine the Paper Wizard with statistical processing of data collected in an scientific study, R is a powerful and flexible system together with (Sweave/Knitr) to process the data with a set of statistical and/or numerical method and create dynamic reports and reproducible research with LaTeX and Sweave or Knitr and MarkDown. The concept enables the embedding of R code within text documents to generate a PDF file that includes narrative and statistical analysis, graphics, code, and the results of statistical and numerical computations in R.
knitr is an R package that adds many new capabilities to Sweave and is also fully supported by RStudio.
To use Sweave and knitr to create PDF reports, you will need to have LaTeX installed on your system. The installation of PanDocElectron requires LaTeX to be installed on your operating system anyway.
Cross-compile/transcode Wiki Source into R Markdown and run the R-scripts for data analysis on your own computer without sharing the data to the pubic on the server. Just the methodology is implemented in the R-Code will be used (see Reproducible Science). The cross-compiler could contribute to data analysis solutions to papers published in WikiJournals (e.g. WikiJournal of Medicine)

### WebODF Editor

The WebODF Editor allows to edit ODT documents (see WebODF. Basic idea of the NodeJS implementation allow browser based application, that need no installation of binaries like
* PanDoc (Try PanDoc Online),
* ImageMagick,
* wget and wgetjs as NodeJS module
on your local system. Instead of installation the full document conversion will be implemented in WebApp with a LocalStorage and AppCache.

### MediaWiki Parser

The currently best candidate for loading MediaWiki source text from Wikiversity and/or Wikipedia is wtf_wikipedia developed by Spencer Kelly (2018). The cross-domain download of Wiki source text works even with local HTML file with wtf_wikipedia.js that contacts a MediaWiki (e.g. Wikipedia or Wikiversity) and downloads the Wiki source and parses the document from MediaWiki into a JSON file (see Demo)