Taming BrightSpace, for Linux users
By Brendan Halpin
Making the LMS work for you, not you for the LMS
BrightSpace is our new Learning Management System here in UL, since last semester. I’m trying to use it as a tool, rather than experience it as a constraint. The first thing I wanted to do was to manage content with as little interaction as possible with the BS user interface. The interface is reasonably well designed, but it depends a lot (like most LMSes) on doing things one at a time, with lots of clicking and opening menus and SAVEs and CONFIRMs.
What I want to do (to continue to do, because I managed this with Sakai, our previous LMS, based on a system I refined using an ordinary website to provide materials to students, starting about 20 years ago) is to update my material week-by-week on my own system, and then just press a button (well, run a single command-line script) and have it install itself on the LMS.
This is a brief account of my initial experience of making BS work for me, as a Linux user.
WebDAV
WebDAV is a protocol that allows you to write to websites, to upload files etc., without interacting with the web interface. With Sakai, I could access the “Resources” area via WebDAV. It turns out it’s harder with BS.
With WebDAV (and davfs, on Linux) I could create a local folder in which any files I placed showed up in Sakai’s “Resources” area. Sakai even respected the hierarchy of subfolders, showing them as folders online too. With BS, the WebDAV access is less mainstream, and doesn’t seem so mature. In fact, no matter how I (or our very helpful IT support crew) tried, I couldn’t connect. After a lot of experimentation (and good will from IT support) we figured it out: you need to create a “local” BS account, and authenticate with that, rather than with your institutional account.
Once the account is working, and the folder set up, anything you copy to the folder appears in the BS “Course File” area. But unlike with Sakai, it’s not visible to students. In Sakai everything appeared in the Resources area as files and folders, faithfully reflecting the hierarchy in your local folder. In BS, it’s just a staging area.
See HOWTO below, for the detail.
Linking to material in the WebDAV folder
But you can link to things in the “Course File” area, when you’re creating “Content”. When you create a big button (i.e., a topic header) in the left column, you can edit the content relating to the topic-button (i.e., the main part of the screen) and you can include links to your files. If the files are HTML they will show up in a new tab once clicked-on (PDFs will show up in a viewer, etc). You can also add sub-topics under the topic-button, and these too can be links to files: these will show up in the same tab, in the frame (thus retaining all the BS surrounds).
Creating topic-buttons requires engaging with the LMS, but it’s at the design stage, and not the weekly update stage (if you design it properly). What I do, for instance, is create one sub-tab and/or in-body link to a HTML file that lists all the PDFs containing slides for each lecture to date. Usefully, relative links in the HTML file refer to files or folders in the “Course File” area: if I create a “www” folder in the “Course File” area and put a HTML file in it, I can link to say, lecture1.pdf
in the same folder, or “lectures/lec1.pdf
” if the files is in “www/lectures/
”. The HTML file will need to change from week to week, as new lecture files are put in place, but that can be automated.
This means that I can update key material by simply copying it to the BS WebDAV folder (one caveat: BS won’t notice if you overwrite a file with a new version, so you have to delete first, then replace). Over the years I have built up quite complicated scripts that do this automatically (compile the lecture slides from .org
or .tex
files, add them to the file of cumulative slides, identify any other necessary material, copy them to the relevant locations on the website or LMS), and it was easy to adapt them for BS (including, for instance, doing the delete-then-copy rather than just copy).
There are lots of other tasks which require becoming a machine-minder, and doing all the menu clicky bits by hand, but this is a good strategy for automating the provision of materials: lecture notes, lab instructions, ancillary files, etc. It works particularly well if you’re used to writing HTML to communicate information and for linking to files.
Continue reading if you want the gory details.
HOWTO
WebDAV
To connect to BS via WebDAV you need to set up a “local” account. To do this you’ll likely need to talk to your IT people.
You’ll then need to identify your course’s “Course File” location. See under Admin > Course Admin > Course Offering Information, then scroll down to “Course Offering Path”. The detail here, something like /content/enforced/12345-SO5xxx_SEM2_2023_4/
can be used with a WebDAV program (like cadaver) to access the WebDAV folder:
$ cadaver https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/
Authentication required for d2l/dav on server `limerick.webdav.brightspace.com':
Username: brendan.halpin
Password:
dav:/content/enforced/12345-SO5xxx_SEM2_2023_4/> ls
Listing collection `/content/enforced/12345-SO5xxx_SEM2_2023_4/': succeeded.
Coll: 1.Resources 0 Jun 23 2023
Coll: Images 0 Jun 23 2023
Coll: custom_widgets 0 Jun 23 2023
Coll: www 0 Feb 7 11:51
Activity Instructions.html 4088 Jun 23 2023
Assessment & Feedback - V1.html 6135 Jun 23 2023
Assignment Instructions.html 4542 Jun 23 2023
Key Module Dates and Schedule.html 3044 Jun 23 2023
Module Handbook (Placeholder).html 4316 Jun 23 2023
Module Outline - V1.html 1769 Jun 23 2023
Untitled.html 3315 Jun 23 2023
What group am I in.html 3879 Jun 23 2023
course_banner.png 2625084 Nov 18 2022
dav:/content/enforced/12345-SO5xxx_SEM2_2023_4/>
For tidiness, I created the www
folder, and put all my materials there, leaving the default BS stuff undisturbed. Using cadaver (as above) or any similar utility, you can manually copy material to the WebDAV site. But there are better ways.
davfs2 and /etc/fstab
The better way is to use davfs2 to semi-permanently mount the WebDAV drive as a local folder. You can install davfs2 on Debian and Ubuntu by:
sudo apt update
sudo apt install davfs2
You can then mount a local folder like this:
~/work/teaching/so5xxx$ mkdir wbdv
~/work/teaching/so5xxx$ sudo mount -t davfs https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ wbdv
Please enter the username to authenticate with server
https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ or hit enter for none.
Username: brendan.halpin
Please enter the password to authenticate user brendan.halpin with server
https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ or hit enter for none.
Password:
~/work/teaching/so5xxx$ ls -l wbdv
total 2596
drwxr-xr-x 2 root root 0 Jun 23 2023 1.Resources
-rw-r--r-- 1 root root 4088 Jun 23 2023 'Activity Instructions.html'
-rw-r--r-- 1 root root 6135 Jun 23 2023 'Assessment & Feedback - V1.html'
-rw-r--r-- 1 root root 4542 Jun 23 2023 'Assignment Instructions.html'
-rw-r--r-- 1 root root 2625084 Nov 18 2022 course_banner.png
drwxr-xr-x 3 root root 0 Jun 23 2023 custom_widgets
drwxr-xr-x 2 root root 0 Jun 23 2023 Images
-rw-r--r-- 1 root root 3044 Jun 23 2023 'Key Module Dates and Schedule.html'
drwx------ 2 root root 0 Feb 8 21:50 lost+found
-rw-r--r-- 1 root root 4316 Jun 23 2023 'Module Handbook (Placeholder).html'
-rw-r--r-- 1 root root 1769 Jun 23 2023 'Module Outline - V1.html'
-rw-r--r-- 1 root root 3315 Jun 23 2023 Untitled.html
-rw-r--r-- 1 root root 3879 Jun 23 2023 'What group am I in.html'
drwxr-xr-x 2 root root 0 Feb 7 11:51 www
It’s more convenient to do this permanently. Add a line like the following to /etc/fstab
(e.g., sudo nano /etc/fstab
):
https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ /home/brendan/work/teaching/so5xxx/webdav davfs rw,user,noauto 0 0
You can now mount the webdav
folder like this:
~/work/teaching/so5xxx$ mount webdav
Please enter the username to authenticate with server
https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ or hit enter for none.
Username: brendan.halpin
Please enter the password to authenticate user brendan.halpin with server
https://limerick.webdav.brightspace.com/content/enforced/12345-SO5xxx_SEM2_2023_4/ or hit enter for none.
Password:
~/work/teaching/so5xxx$ ls -l webdav
total 2596
drwxr-xr-x 2 brendan brendan 0 Jun 23 2023 1.Resources
-rw-r--r-- 1 brendan brendan 4088 Jun 23 2023 'Activity Instructions.html'
-rw-r--r-- 1 brendan brendan 6135 Jun 23 2023 'Assessment & Feedback - V1.html'
-rw-r--r-- 1 brendan brendan 4542 Jun 23 2023 'Assignment Instructions.html'
-rw-r--r-- 1 brendan brendan 2625084 Nov 18 2022 course_banner.png
drwxr-xr-x 3 brendan brendan 0 Jun 23 2023 custom_widgets
drwxr-xr-x 2 brendan brendan 0 Jun 23 2023 Images
-rw-r--r-- 1 brendan brendan 3044 Jun 23 2023 'Key Module Dates and Schedule.html'
drwx------ 2 brendan brendan 0 Jan 23 16:35 lost+found
-rw-r--r-- 1 brendan brendan 4316 Jun 23 2023 'Module Handbook (Placeholder).html'
-rw-r--r-- 1 brendan brendan 1769 Jun 23 2023 'Module Outline - V1.html'
-rw-r--r-- 1 brendan brendan 3315 Jun 23 2023 Untitled.html
-rw-r--r-- 1 brendan brendan 3879 Jun 23 2023 'What group am I in.html'
drwxr-xr-x 2 brendan brendan 0 Feb 7 11:51 www
While it is mounted (and while you have a network connection) you can treat the BS WebDAV site the same as any other local folder.
Showing HTML in BS
Once you have HTML and other files in the “Course File” area, it takes a step or two to make them visible to students.
Go to the “Content” area and create a new topic-button by clicking on the “+New Unit” button. To put a link in the body, click on the “Insert Quicklink” icon.
This will bring up a dialog, in which you can choose the “Course File” option:
This gives access to the WebDAV area, and to the HTML file to which you wish to link. Note that by default this link, in the body attached to the topic-button, will open in a new tab without any BS decoration.
You can also link to the HTML file as a sub-topic under the topic-button by clicking in it, then clicking on “Add Existing” (click on “More” to find “Course File”):
The content of this sub-topic opens in the topic body area, in a HTML frame, surrounded by all the BS material:
Non-Linux OSes
Most of this will apply on any OS, but the details differ. Windows supports WebDAV, and I’m pretty sure you can set up a folder with a semi-permanent connection: I just can’t tell you how!
Further topics
I plan to consider some further topics in more blog entries: how to use PHP (even though BS doesn’t support it) to have web files that change automatically (e.g., listing all lecture slide files that exist at present), and using Makefiles to automate the management of materials and of posting them to BS.
Comments
Comment on Mastodon (or elsewhere on the Fediverse) by replying to this post: https://mastodon.social/@bthalpin/111901551588674000