YaleSTC / reservations

Manage equipment loans & reservations. Who can borrow what, for how long?
yalestc.github.io/reservations
MIT License
139 stars 57 forks source link

Datatables: find better solution #765

Open dgoerger opened 10 years ago

dgoerger commented 10 years ago

Currently with datatables pagination, the javascript table needs to load ALL records into active memory (e.g. on the Users or Reservations pages), which for a large database requires quite a bit of time and might crash the browsers of low-end systems.

We should try to find a pagination and search scheme which isn't so resource-intensive client-side.

dgoerger commented 10 years ago

This gem looks like it extracts datatables and allows for server-side pagination, so we wouldn't have to load 5000+ users or reservations into client-side memory:

Datatables is a nifty jquery plugin that adds the ability to paginate, sort, and search your html tables. When dealing with large tables (more than a couple hundred rows) however, we run into performance issues. These can be fixed by using server-side pagination, but this breaks some datatables functionality.

ajax-datatables-rails is a wrapper around datatable's ajax methods that allow synchronization with server-side pagination in a rails app.

The documentation suggests it's compatible with kaminari, which we're using for the catalogue pagination.

orenyk commented 10 years ago

Great find, that would make things so much better, especially on the BMEC instance. I'm throwing this into 4.0.0, hopefully it will be a quick fix.

orenyk commented 10 years ago

bumping to v4.1