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.
Topic: Research and Development
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.
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.
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.
The expectation that all basic webservers will behave similarly with the same static content has some limitations. Between Apache, Nginx, and S3/Cloudfront, there are plenty of opportunities to discover discrepancies around directory indexing, authentication, 404 handling, compression, and caching. Static site generators are a tool, not a silver bullet.
At CTL, we've been using smoketest for several years now. It is a standard part of our stack now and has helped us prevent numerous issues from making it to production as well as simplified and sped up the identification and fixing of production environment issues.