Back-end improvements: replacing Bootgrid

By ,

The XirtCMS back-end relies quite heavily on the dynamic creation of tables to display content like users, articles and menu structures. Although Bootstrap does provide support to style tables consistently throughout an application, it lacks features like dynamic loading of table content via AJAX, sorting and filtering. To overcome this limitation, I adopted a library called Bootgrid which - with some minor changes to support Bootstrap 4 - provides all of these features and much more (see below screenshot for an example).

XirtCMS Grid using Bootgrid

With the last commit being over two years ago and over 200 issues still open, Bootgrid can however be considered abandonware and I am therefore not expecting any updates for this library in the future. As a consequence, the original code is already becoming outdated, sometimes still relying on relatively slow methods (see for example, this performance test) and not supporting Bootstrap 4 out-of-the-box. Furthermore, the library has many options that are not used within XirtCMS and support for simple responsive GUIs is lacking. Long story short: the Bootgrid library was put on the backlog to be rewritten to fit the needs of XirtCMS.

In the past week I have started on the actual replacement of the library using the user GUI as a testing playground. The aim of the activity was simple: rewrite the dynamic table generation using up-to-date functionality provided by Bootstrap 4 and jQuery, while at the same time simplifying the GUI and making it responsive for a large variety of screen sizes. Progress has been quite swift while rewriting the core functionality into a new library named XGrid and I have been pushing updates frequently to GitHub (here). Furthermore, the lay-out of the table has already been simplified reducing screen clutter, grouping functionality and providing clearer options to the user. The screenshots below indicate some of the changes made to the GUI in comparison to the earlier Bootgrid lay-out. In the coming period, I hope to finalize the refacturing of the new code and make the small changes required on other screens to use the new library. Once done, XirtCMS will be a bit more robust again by removing its dependency on Bootgrid.

XirtCMS Grid using XGrid (example 1)

XirtCMS Grid using XGrid (example 2)

Responses (0)

There are no responses to display. Be the first to react!

About the author

A. Gideonse

A. Gideonse

Arno enjoys programming in his spare time and created XirtCMS as a lean and fast platform to develop his ideas on. On this website, you will find all information required to start using XirtCMS and/or extend its functionality yourself.

XirtCMS - Copyright © 2018. All rights reserved. | GNU General Public License v3.0