Perry Rylance

Personal & Professional blog

Release day

I’m very pleased to announce the formal release of two of my libraries, comprised of three different modules.

EventDispatcher

Firstly, my ES6 Event Dispatcher has been formally released, and can be installed via NPM.

npm install @perry-rylance/event-dispatcher

DataTables

Over the years I have worked on a great deal of projects which leverage the DataTables library in a server side fashion. I’ve created two libraries to facilitate this process as it’s not trivial to implement the routing, search, pagination and sort logic, as well as working with table columns in a meaningful way both client and server side.

The server side module is available via Composer.

composer require perry-rylance/datatable

Instructions on how to extend and use the class are available on the GitHub repo.

Basically, you need to subclass this class to specify the REST route and table name you wish to use. The table allows you to configure which columns should be displayed, caption columns, and add dynamically generated columns such as action buttons.

Please note this module is designed to work with Laravel or Lumen, however it can be effectively used in any project provided that Eloquent is available.

The server side module does most of the heavy lifting, but a client side module is also available for convenience and to extend upon.

npm install @perry-rylance/data-table

You can use the server-side option autoInitialize (set to false) to prevent the client side module automatically creating the base module with table elements upon the window load event. This is useful if you wish to extend the JavaScript class and implement your own behaviour.

REST Cache News

My REST Cache plugin failed on a few minor points on it’s initial submission to the WordPress.org plugin team.

They’ve pointed out a couple of areas they feel need sanitization, these areas seem redundant to me however I suppose if a 3rd party developer interacted with the classes in a specific way then vulnerabilities could potentially be introduced. I don’t anticipate that but I have, of course, added explicit sanitization and the points they requested.

Other than that I removed some redundant files to further trim the plugin down and have re-submitted the plugin to the team pending further review.