Implementing complex authorization rules for a Django-based application was simplified by the framework's permission & authorization classes at the class-level. Instance-level permissioning proved to be more complicated.
For weekly curated, interesting links posted to our internal Slack channel, please see Slacklinks.
Editing and formatting text on the web comprises of an interesting sub-field of web development. The web allows for different ways to turn text into HTML markup. First I'll outline some of the background of interactive text formatting on the web from my perspective, and then go into some configuration details of MediaWiki's Visual Editor that I found interesting.
Ideally when making automated tests, you don't have to mock anything. You just test exactly what would be executed in production. Some scenarios make that a challenge, though. What if you're testing a view that relies on an external authentication service, like an LTI server?
This post describes some challenges and guidelines to be aware of when integrating a Django application with Canvas.
A few tricks for storing configuration secrets in Vault
I mentioned in a previous post that we're working on interactive e-book for the Women on the Road to Health project. Here I'll outline a simple system for authoring ePub 3 content.
We needed bulk editing in our project management tool, and this post outlines how we've taken advantage of some of Django's built-in functionality to achieve this.
This post sketches out a process for developing activities in an ePub-style environment.
Bare except statements are a well-known anti-idiom in Python, and this post illustrates one example why that is.
When I've found it necessary to make changes to the npm libraries I'm using in React, the process isn't well-documented and I've found some guidelines through trial and error.