Skip to content

Uses APIs from Equella, LimeSurvey and Piwik to display books and book reviews

Notifications You must be signed in to change notification settings

BCcampus/opentextbooks

Repository files navigation

Open Textbooks

Build Status

The application is currently hosted on open.bccampus.ca, open.campusmanitoba.ca, openlibary.ecampusontario.ca and is built and maintained to support the Open Textbook Project by BCcampus

The application is embedded in a WordPress environment, and while there are WP integrations, there are zero WordPress dependencies. It can be used as a standalone app.

Requirements

  • PHP version > 7

Will be useful if you also have any instances of:

  • an instance of LimeSurvey
  • an instance of Matomo
  • an instance of WordPress
  • an instance of Equella

Functionality

This application can consume API's from

  1. Equella to display books from a collection OR
  2. DSpace to display books from a collection
  3. LimeSurvey to display book reviews
  4. Matomo Analytics to access book statistics

It also

  1. creates Google Scholar metadata for each book
  2. generates a sitemap of all textbooks which integrates with Better WordPress Google XML Sitemaps
  3. pulls data from Contact Form DB
  4. waxes your neckbeard :neckbeard:

Purpose

Built to support the wide dissemination of open textbooks.

Quick Start (developers)

Uses yarn to build front end dependencies and composer to build php dependencies. Once you've cloned the repo, you'll need to build:

  • yarn && yarn build
  • composer install

THEN:

  • rename config/environments/env.sample.php to .env.mydomain.com.php
  • add config files per domain (ie. .env.localhost.php, .env.myotherdomain.com.php)
  • modify config values to connect your instances of LimeSurvey, Wordpress, Equella and Matomo
  • to test how the app will behave with a configuration file that is different than the domain you're testing with, use the override in env.php at the root of the site.
  • ensure the web server user (apache, _www) has write permissions to cache directory and all subdirectories (cache/webform, cache/analytics, etc)

Copyright and License

Unless otherwise noted, this code is copyright (c) 2012-2016 Brad Payne, released under a GPLv3 license, or any later version

Otherwise noted:

  • PHP Class Cache licensed under BSD, (compatible with GPL)
  • PHP Class SitemapAbstract Licensed under GPLv3, or any later version
  • Bootstrap licensed under MIT, (compatible with GPL)
  • Table Sorter is dual licensed, MIT and GPL