Using the Schoology API to do things you can't using the web version
Schoology is a powerful Electronic Learning Management System. It helps you to manage materials, students, courses, etc. Still, some functionality is lacking.
The Schoology SDK uses PHP to access Schoology objects. The Schoology Support site offers good documentation, but lacks example code.
This project aims to solve these problems.
Notably missing from Schoology is the ability to import and export grading groups. The class methods for groups will allow you to create, view and export grading groups.
Another major functionality missing in Schoology is a way to download all submissions from one student. You can now search for a student and download their submitted attachments.
For any additional information please visit https://developers.schoology.com/
The basic functionality is in a class called 'Course'. You will be able to retrieve information regarding the course with the methods in this class.
You will need a server capable of running PHP. It will also need CURL, Sqlite3, and ZipArchive enabled, which is available as of PHP 5.2.0. You will also need to request an API code from Schoology support. Settings in php.ini should be a large max_execution_time like 90 seconds, and short_tags should be on.
- Download the files from this project (schoology sdk is included)
- Upload the files to a folder on your web server
- Make sure there is write access to this folder from within PHP (on linux: chmod 755 )
You should start by copying all files to your server. Then, in the config directory create three files:
.api_key
.api_secret
.timetable
In the first two files put your key and secret resepectively Just the string, nothing else. The .timetable file is for a possible school timetable, so you can view attendance according to schedule. The files may be hidden from view, so make sure to enable view hidden files (e.g. in FTP or SCP program).
Note: there is a method in helpers.php named 'formatId' which is specific for the school this was made for originally. You may need to change this function.
The import of groups is done by setting up a PHP array in groups_import.php
. This is only temporary, the aim is to import directly from a csv file. Ideally a schoology formatted export file can be used.
Now it's time to run the import by opening your browser, selecting a course, and then 'create'. There's also the 'import' option but it's not functional as of yet.
You can see all groups and links to their submission pages by first selecting a course, and then select 'submissions'.