Unified, libre interface to learning management systems

Alyssa Rosenzweig 3faafff509 downloader: Crude escape for slashes преди 5 години
docs e74561aae8 Fixes typo in documentation and corrects link which notabug appears to incorrectly handle преди 6 години
polyglot 3faafff509 downloader: Crude escape for slashes преди 5 години
.gitignore 3f1624d243 add .gitignore, requirements.txt, setup.py преди 6 години
LICENSE 00bc7432a1 Initial commit преди 6 години
README.md 422f9ae7a2 Note that преди 5 години
requirements.txt 3f1624d243 add .gitignore, requirements.txt, setup.py преди 6 години
setup.py 0ffccdcdb9 Fix install on modern python преди 5 години

README.md

Polyglot

Unified, libre interface to learning management systems

The problem

"Digital classrooms" are increasingly popular. Ethical software, used appropriately, can be beneficial in schools. Unfortunately, educational software today is fragmented and proprietary, a problem which has been covered before. In an era where student privacy is trampled, this is particularly unacceptable. To add insult to injury, the relevant proprietary programs do not even interoperate with each other; in extreme cases, students may need to use upwards of a dozen proprietary systems merely to complete their coursework.

The solution

Enter Polyglot (name very tentative). Polyglot is free software to interface with each educational platform, so as to unify them and avoid proprietary components. Polyglot is to education as Pidgin is to chat and youtube-dl is to streaming.

Supported services (in order of support)

  • SchoolLoop: grades, task lists, LoopMail (todo: upload, forums, etc)
  • Haiku / PowerSchool Learning: modules, forums (todo: quizzes, upload, etc.)
  • Email: sending, receiving (todo: threading, MIME types, attachments, etc)
  • Moodle: fetch resource lists, classes, and grade summaries (todo: quizzes, wrap links, lots of bug fixes, etc.)
  • Canvas: fetch classes and grade summaries (todo: everything)
  • Webassign: downloading problem sets (todo: submission, fancy problems)
  • Classroom: fetch classlist (todo: everything)

Bold indicates that I currently use this backend with Polyglot in production so you can bug me over email if it breaks (alyssa@rosenzweig.io).