I've completed endless question paging and PJAX functionality. All pages in OSQA can be loaded via AJAX requests with complete, seamless fallback for browsers that don't support the HTML5 history APIs. It works incredibly well, it completely transforms the application (which is why I started this in the first place :)
It requires the django-endless-pagination extension be installed, but otherwise all of the dependencies are included. Turn on the functionality in the 'web' section in the admin panel. Default page size is 30 for question pages, loads will happen automatically at the base of the page.
I'm using this on my instance internally and have tested w/ Chrome, Firefox release channels and IE9, but would appreciate anyone trying this out on a test instance and letting me know how it works for you:
This fork also includes all of the changes here:
In future, I'll make the pagination dependency soft and disable the settings if it's not installed and add a better 'more' interface and loading indicator for pagination.
Funnily enough, though I'd planned this work anyway, Jeff Atwood wrote about pagination in the last week. Well worth a read:
Loading indicator on top bar during navigation:
Fixed top navigation that survives navigation and stays with you on all pages:
When navigating using back/forward you may find you can't be returned back to the same location on the page due to a shorter content length. There's currently no easy way to hook into PJAX's history state to persist the current page scroll information. Once history.state has better adoption, I'll override the browser behaviour and implement full restoration of scroll position after state change
Port OSQA to Google App Engine 1 Answer