From the point of view of 2016, faxing something seems almost quaint. But, the realities of business being what they are, people still need to fax things sometimes. My alter-ego at Custom Insurance Services has a little problem...
We have been maintaining a Hylafax server, with a POTS line and an external modem and everything, for about 12 years since we retired the last standalone fax machine in the office. We have long since switched to a hosted service for receiving incoming faxes, but we still maintain that Hylafax box for outgoing faxes at the moment.
I would like to retire that box. Hylafax itself is rock solid, but the client software we need to use to access it -- we've been using YajHFC, Yet Another Java Hylafax Client -- is kind of buggy and weird. It's a pain to update the cover page on Hylafax because it requires manual editing of PostScript.
We have an outbound fax service that's now thrown in for free with our hosted voice telephone services, which is nice. The problem is that the tooling around it is somewhat lacking. For business purposes we need a nice cover sheet, we need a centralized record of what we sent, etc. The free service is basically an email address. If you send from the right source address, it pulls the destination number out of the subject line and sends whatever content it finds in PDF attachments.
So, what I need is an easy tool for users to interact with this service. What I was thinking is:
- A nice looking, mobile-friendly web app
- Accessible outside our LAN (e.g. secure enough to expose through the firewall)
- Login required, preferably tied to our Active Directory server or our Google Apps for Work accounts
- Per-user preferences for things like sender name, title, voice number.
- For each fax send, it should ask the destination name, title, company, destination fax number, a short subject line and potentially a longer bit of text.
- That info should be used to populate a template cover sheet. The template should be easy for a competent programmer to edit, if not editable by just anyone off the street. (It should not require a hex editor to get the template right.)
- It should allow uploading of multiple content files, adjustment of the order of those files if needed, and validating each content file to make sure it's valid readable PDF.
- It should insert the total page count on to the cover sheet once all the content is concatenated.
- It should drop that merged file into a database along with indexing information and a timestamp.
- It should email the content over to our SMTP-based fax sending service. (Ideally it should impersonate sending from the logged-in user so success/failure notifications go to the right place.)
A web app that does this wouldn't be that hard to build. It might be easier to build my own than to find one that already does this. Using tools I already know, I would probably build the UI using Django and its HTML forms tools, use PDFTK command lines for the PDF manipulation and metadata reading, and ReportLab for generating the cover sheet. For isolation and fault tolerance I would run this on our in-house Kubernetes cluster and expose it via a high port.
Posting this just in case someone happens to know of something like this that already exists, or in case someone has an interest in using what I end up building.