Skip to content
Prototype for Open Educational Resources in HigherEd in Germany/Austria/Swiss
PHP JavaScript CSS HTML Python ActionScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
react-highereducation
react
scrapy
sql
web
.gitignore
README.md

README.md

Quick & dirty prototype

IT IS NOT RECOMMEND TO USE IT IN PRODUCTION ENVIRONMENTS, NO WARRANTY

Live demo: https://beta2.oerhoernchen.de/hochschule/

Background / more information: https://www.youtube.com/watch?v=ibFHmo_jHC4&feature=youtu.be

Technical background

How was OER metadata obtained from https://oerbw.de, https://hoou.de and others?

Mainly this is the same approach that Google and other search engines use: Discovering URLs by sitemap.xml file and crawl the pages (Google offers the https://search.google.com/search-console/about?hl=de to reindex pages and check if all pages were crawled correctly, I think thats smart for OER in the OpenWeb too)

  1. Get sitemap.xml file
  2. Search for url with specific paths, e.g. /render/ (OERBW/ZOERR) /materials/ (HOOU)
  3. Get URL (curl), parse it (Simple DOM)
  4. For OERBW/ZOERR it is wonderful & easy, because metadata is stored as json & in schema.org format in HTML source code 🙌 🙌 🙌
  5. For HOOU we need to parse the HTML source code manually (although they have schema.org metadata, but only about their organisation [submitted to them as feedback already]
  6. Push the obtained metadata to appbase.io index (elastic search), handle create/update logic
  7. Enjoy

If you're nOERdy, please also check out http://blog.lobid.org/2019/05/17/skohub.html

Also inspired by https://blog.hartleybrody.com/web-scraping/ <3

Install web frontend

  1. setup config (database.php, base_url in config.php, appbase) - use /config/development/ folder, I provided examples in config/example-env
  2. import oerhoernchen_db.sql
  3. import ion_auth.sql
  4. import ci_sessions.sql
  5. Make sure to change the default password to a new password via http://localhost/auth/
  6. Make sure to change the users email address
  7. For production - set CI_ENV and use /config/production for config

Run reactjs interfaces locally

  1. "npm start" to run it locally
  2. "npm run build" to build production version
  3. Appbase config values (API-url, API-key) can be added in /public/index.html (Please use your own due to rate limiting on my instances)

Open Source Software used <3

Elastic search service

LICENSE

Feel free to use all source code created by me via https://creativecommons.org/publicdomain/zero/1.0/, does not apply to external source code provided by other projects

You can’t perform that action at this time.