Status of WP-Table Reloaded development

November 4th, 2009 by Tobias Leave a reply »

As the development of my WordPress plugin WP-Table Reloaded continues, I’d like to push out a small status update message to all fellow plugin users and contributors.

I’m working on version 1.5 of the plugin, and I have a few new additions and changes planned: Probably the biggest changes are the extended interfaces for table editing and the newly added “DataTables” script. It will also be possible to write extensions to my plugin and you can export and import all tables at once.
(This post got rather long, sorry about that :-) )

If you like the upcoming changes and ideas, I’d be very happy if you would rate the plugin in the WordPress Plugin Directory. You also might consider a donation or have a look at my Amazon wishlist. This will encourage me to further develop the plugin and keep giving countless hours of support. Thank you!

Table editing

On the “Edit table” screen, you will now find more bulk editing options, most notably the “Edit more than one row or column at once” feature, which was a highly requested idea. With the same method you will now also be able to insert several rows/columns at once.
Additionally, you will get a warning message that you should save your changes first, if you are about to perform an action that would otherwise cancel those changes. This is similar to the message you get on WordPress’ “Edit” screens for posts or pages.
As some users might be annoyed by such messages, you can turn it off in the “Plugin Options” if you want. The same goes for the grow effect of the textareas. If turned off, they will not automatically expand their height when focussed.

DataTables table sorting

The most significant addition might be the “DataTables” table sorting library. This is a very advanced but fast and light-weight JavaScript, very similar to the already included Tablesorter script. It does have more features though, seems to be more robust and – probably the most important fact – is still actively maintained and developed. Its developer Allan Jardine does a great job on this! So, I really want to thank him for his great work! You can find more about the script and a very well written documentation on http://www.datatables.net. There are also great demos on that page, so make sure to check those out!

Besides plain table sorting, the script also includes a so-called paging effect. This allows you to split up the table into several pages that each only show a certain number of rows. A nice navigation menu allows the user to view the table and browse through the pages.
To make things even better, it includes a Filtering mechanism. This provides an input field for text, and if a visitor enters a search string, only the rows which include this string somewhere will be shown, while the remaining rows are hidden.
A lot of people have asked for this feature, so I’m pleased to have found a solution to this, thanks to Allan’s great script!
I will also make use of these features on the “List of Tables”, so that working with a large number of tables becomes even easier.

The “DataTables” script will be the default script used for all new installations of the plugin. To make sure that upgraded installations won’t break, I will (for now) keep shipping the (older, and as it seems no longer developed) script Tablesorter with my plugin. For upgraded installations it will also remain the script of choice, but you can easily switch to the new DataTables script (which is recommend) by hand in the “Plugin Options”. I won’t apply this change for upgraded installations by default, because the tables look slightly different with the new script and some CSS changes might be necessary. To find out, how tables look like with the new script, I want to encourage you to check out the examples at http://www.datatables.net.
(Of course, any installation (whether a fresh or upgraded installation) can also choose to use the old Tablesorter script if this is preferred.)

The new DataTables script will also enable the usage of a table footer and a few other HTML attributes of the table tag. This means that you will be able to declare the last row of the table the “footer”, which will make it “sticky” and remain at the bottom of the table. (This can be used to repeat the table head at the bottom of a large table, making it easier to see what the data in a column means.)
The DataTables script also allows to add links to the page that enable a site visitor to download the table contents in a CSV or XLS file, or to print just the table – you can see those very neat features in this demo!

Plugin filters and extensions

A third big enhancement is the inclusion of WordPress filters and actions into the code. This powerful concept (used very, very widely throughout the WordPress code) enables users and developers to alter the behavior of WP-Table Reloaded (to some extent) or to add or change features.
So far, this especially applies for the frontend display of the table. There will be filters to add/change/replace the CSS of certain tables or their cells, depending on your needs. You could also automatically change the content of your table cells. One example for this is the automatic creation of HTML links from URLs. That way, you won’t have to enter the complete HTML for a link on the “Edit table” screen. The plain URL will suffice, because a small plugin can filter through the content and replace all URLs with full HTML links. (I will probably include this as an example extension for my plugin, to give users and developers a better understanding of how to write an extension for my plugin.) A second example is the possibility to change the JavaScript code that calls the table sorting library. This is especially helpful, if you have a table that shall use more than the commonly applied options and possibilities of either the DataTables or Tablesorter script library. Using that filter you will basically be able to use any feature that is available for those scripts, as mentioned in their documentation.
(I have to warn you that writing an extension is non-trivial, if you have never programmed before. But I will try to provide enough documentation to enable an easier development process. If you have developed with WordPress before, it will be easy for you.)
(And one further remark to this: You won’t always have to develop a WordPress plugin to create an extension to my plugin. Especially for small ones, I recommend using the file “functions.php” of your theme, which basically acts like a WordPress plugin, but saves you from most of the hassle involved with activation and so on. Therefore, this is very handy for small extensions (like the above mentioned URL to link transformation example).)

Bulk import and export of tables

Another feature that I have planned and a lot of people will like to see, is the mass export/import (or backup) of all tables at the same time. Currently you can only export or import one table at a time, which is very annoying, if you have many tables and, for example, need to move them to another server. The feature will also be very helpful for creating backups of your tables – a process which is highly recommended to prevent the loss of your table data. (Unfortunately I have received several reports of people losing their data. In all cases this was due to server issues or human error. Therefore you really should have a backup of your tables.)
The feature – as I have it envisioned so far – will export all tables (meaning their data and settings) into one large XML file. The plugin will then be able to re-import that file and restore all table and settings.

Other things

Last but not least there are some minor changes:

  • new languages: Slovak, Finnish
  • option to move WP-Table Reloaded to a first-level admin menu item (and filter to change the string “WP-Table Reloaded”)
  • minor bug fixes and user interface changes

User feedback

Ok, I hope this long text didn’t bore you and hopefully stirred interest for the next version of the plugin :-)

If you have any further ideas or wishes, please let me know (by writing a comment or email).

I might also start a small beta test, so if you are willing to take part, just drop me a note and I will email you a beta release at some point. By that time I should also have the translations frozen, so that I will send out a version to the translators, so that they can update their language files.

The final release of version 1.5 will probably available at the end of the month, depending on how busy I am with other things. I might also wait for the release of WordPress 2.9, to make sure everything works correct.

Thanks

I also want to take this moment to thank all supporters, donors and translators! Without your work and appreciation the plugin would not be what it is. So thanks a lot and keep it up!

If you like the upcoming changes and ideas, I’d be very happy if you would rate the plugin in the WordPress Plugin Directory. You also might consider a donation or have a look at my Amazon wishlist. This will encourage me to further develop the plugin and the keep giving countless hours of support. Thank you!