Project

General

Profile

Design Notes » History » Version 1

Version 1/13 - Next » - Current version
Luke Murphey, 11/21/2015 07:57 AM


Design Notes

AJAX content loading caching system

The content for the reading pages is cached in order to reduce the loading time of the chapters. This is necessary because rendering is expensive. This works by:

  1. Caching the current page on the server
  2. Pre-loading the next page so that it is pre-cached

The way that this works is that the template for the page will only return the non-content part of the page if the request is not an AJAX request. This will not be cached.

On the other hand. if the request is for an AJAX request, then only the content part of the page will be returned. This will be cached.

ajaxify: what does it do?

The ajaxify decorator changes the page that will be returned such that it is a shell that will request the actual page. This is useful in order to show content to a user quickly with a progress-bar instead of showing a white screen while the content is prepared.