Batch Printing Improvements

Here’s another one worth talking about. We’ve recently rebuilt the batch printing functionality to give you more granularity and control, and to make it harder to accidentally send hundreds of tickets to the printer.

It works pretty much the same as it always has done, but there are a few things about the way it works that you might not notice unless you were told.

Previously, the “Delivery” search tab (implicitly, and confusingly) meant “Search for things which need to be delivered and haven’t been delivered yet”, so if you set the Delivery Scheme to Care of Box Office, then you’d get the unprinted COBO tickets. Now:

  1. You can search for items which have been delivered, not delivered, or either (“just give me everything that was set to post whether it’s been posted or not”).
  2. The search controls don’t appear until a status has been selected
  3. We can now search/filter by delivery type as well as delivery method ("Only show items where the thermal ticket hasn’t been printed yet, I don’t care about the email)

The “Print Selected” and “Print All” buttons do what they always did: Print Selected sends only ticked items on THIS page to the batch print, and Print All sends all items on ALL pages to the batch print:

but here’s where the differences begin. Instead of starting printing straight away, the Print buttons now explicitly create a batch print job:

and then you are taken to a page where you can monitor and control the print progress:

From here you can sort the batch - and the order that they’re sorted in is the order they print in, start printing, and stop printing. Whilst the batch print is running, the server searches for the next order the queue, prints it, and then searches for the next order again, until there are none left. This means you can re-order the queue at any time, as the next order to be printed isn’t decided until the server is ready to print it. If you stop the batch printing, documents that have been rendered but not yet sent to the printer will carry on being sent to the printer, but no more documents will be rendered.

If you go to an order that has outstanding delivery items and press the “Print” button on the order details page, it will clear the queue for your session if there is one - we assume that this isn’t the sort of thing that you need to do whilst batch printing. The batch print queue is per-session - we thought about making it per-printer but that would make managing it more complicated, and you’d have to think about swapping printers back and forward during a session.

It’s still possible to make things go wrong - having two sessions printing to the same workstation, and starting a huge batch job on one whilst continuing to server customers on the other would be a good start - but it should be harder to either

  1. Accidentally press “Print All” when your search results cover the entire database
  2. Get half way through a print job and lose track when the printer jams and have to go through the tickets one at a time working out what’s been printed and what hasn’t.