Setting React element values directly from Selenium
I love Selenium, but there are a few things that it still handles poorly. Interacting with non-standard web native inputs is one of those items, for example color pickers, date inputs. You can usually get around these by simply setting the value using the executeScript method. But this doesn’t work so easily if you are…
PapaParse as a Promise
I’m torso deep in re-writing the Booked front end for the 3.0 release. One of the big improvements will be the incorporation of modern JavaScript tools and patterns to replace the clunky JavaScript that currently handles client side functionality and dynamic rendering. Most of the admin tools allow for CSV imports for data. I’m now…
We don’t have a QA team here
Testing was a bottleneck. Bugs were being discovered by users in production. Obviously, the QA team wasn’t providing any value and changes needed to be made.
Test driven development when I have no idea how to test anything
It’s no secret that I’m a firm believer in the effectiveness of test-driven development. But I don’t practice TDD 100% of the time. One of those times is when I’m just getting started with a new technology or library. For me, one of the hardest aspects of TDD is writing a test when I have…
Machine Readable Logs in PHP
I’m a big believer that log files should be easy for machines to read and ingest. Structured logging opens up the door for using tools like the ELK stack or Splunk to aggregate, search, monitor, and alert on application activity. The most common format for structured logging seems to be JSON. There are, of course,…
Node – Get Named Command Line Arguments
I am writing a small command line utility using Node and needed to get named arguments from the command line. A quick Google search led me down crazy complicated rabbit holes and (of course) a bunch of recommendations to just install npm modules. There ain’t no way I’m installing an npm module to READ COMMAND…
Configuring Booked SSO with SAML
Booked comes with multiple Single Sign On plugins out of the box. There are many benefits to SSO over standard authentication. For administrators, having a single point of account credential and access administration is very valuable. If someone leaves the organization they don’t have to deactivate accounts in multiple systems. For your normal user, the…
Social Distancing Features in Booked
Slowing the spread of COVID-19 is about the most important thing we can do as a society right now. I know that Booked is heavily used in laboratories and other organizations where working remotely may not be possible. I want to highlight a few features that can help reinforce social distancing in your lab or…
Configuring Sonar with a Create React App in TypeScript
There are a ton of posts on StackOverflow and Medium and the rest of the internet on setting up SonarQube, but I couldn’t find a definitive guide on configuring it with a React web application (using react-scripts/create react app) written in TypeScript. Turns out that it’s not that hard once you know all the pieces…
Booked Tips: Limiting Resource Usage
Booked is configurable in so many ways. In this article we’ll review a few ways to control when, how, and by whom resources are booked. Let’s start with some of the simple settings. In Application Management > Resources you are able to control broad settings on when resources can be reserved. Resource Access Settings The…