Added dummy data for testing.
Removed extraneous comma at the end of the last record.
Implemented the product list using DataTables.
Updated the DataTables call to occur on wb-init-load and added bDestroy:true to the DataTables configuration.
Replicated basic module layout from initial design.
Started hacking in support for multiple <tbody> elements to DataTables using the fnDrawCallback callback function.
Added support for multiple <tbody> elements to DataTables using the fnDrawCallback callback function.
Code improvements and corrections based on feedback by @pjackson28.
Added basic multi-language support.
Moved the custom code for displaying the product listing to a stand-alone JavaScript file.
Added all product fields.
Added missing comma after publication date field.
Removed sTitle fields.
Attempting to produce a multi-column layout by floating the table rows as fixed-width blocks.
Used a combination of display:block and display:inline-block to achieve the desired layout.
Began adding functionality to create equal-height columns on each row when the product listing is displayed using multiple columns on larger screens.
Added functionality to create equal-height columns on each row when the product listing is displayed using multiple columns on larger screens.
Merged the product icon and product name cells into one as the product icon is only an supplement to the product name and not distinct from it.
Fixed the bug in the equal-height algorithm that cause the algorith to ignore the padding.
Fixed the equal-height algorithm to work with all breakpoints.