Thank you as always, Nicolas. I have not written a derived backend for this, though I guess many of the functions are export-like and in osme ways thatwould make a lot of sense. But I also need to use the course id to receive data from the courseware server, so for instance, right now I have this code:
(defun org-lms-get-students (&optional course)
(unless course
(setq course org-lms-course))
(let* ((courseid (plist-get course :id))
(result
(org-lms-canvas-request (format "courses/%s/users" courseid) "GET"
'(("enrollment_type[]" . "student")
("include[]" . "email")))))
(message "RESULTS")
;;(with-temp-file "students-canvas.json" (insert result))
(loop for student in-ref result
do
(if (string-match "," (plist-get student :sortable_name))
(let ((namelist (split-string (plist-get student :sortable_name) ", ")))
(plist-put student :lastname (car namelist) )
(plist-put student :firstname (cadr namelist)))))
result))
Is there aclever way to extract the value of ~org-lms-course~ from the exporter even if what I'm doing really isn't an export? I'm actually harvesting JSON data from the server, rather than producing an export file.