When we have a django site that is pokey, we tend to reach for two tools: improving the performance any underlying SQL, and caching. Django has another tool, that I've never seen us use: conditional view processing.
Basically, this approach is allows the user's browser to make much more effective use of the browser cache, making their pages load much faster and reducing the hit on our servers and application.
Adding conditional processing looks like it will often be very unobtrusive and as such, it may be something we want to have as SOP for django views.
Proposal
I'd like to do a spike of this on BGA payroll and confirm that adding the conditional view decorators are in fact unobtrusive. In also want a good understanding of any potential troublesome interactions with caching.
Deliverables
A PR for BGA that looks good.
Timeline
If this takes more than one investment day, then it's not as easy as I think it should be.
Background
When we have a django site that is pokey, we tend to reach for two tools: improving the performance any underlying SQL, and caching. Django has another tool, that I've never seen us use: conditional view processing.
https://docs.djangoproject.com/en/3.2/topics/conditional-view-processing/
Basically, this approach is allows the user's browser to make much more effective use of the browser cache, making their pages load much faster and reducing the hit on our servers and application.
Adding conditional processing looks like it will often be very unobtrusive and as such, it may be something we want to have as SOP for django views.
Proposal
I'd like to do a spike of this on BGA payroll and confirm that adding the conditional view decorators are in fact unobtrusive. In also want a good understanding of any potential troublesome interactions with caching.
Deliverables
A PR for BGA that looks good.
Timeline
If this takes more than one investment day, then it's not as easy as I think it should be.