Right now, if you try to open a pdf in your browser on the desktops, it proceeds to download it, and run raster on it. This process takes 10 seconds to 1 minute, depending on the length of the pdf file. This is quite annoying, especially when you are opening multiple pdfs to see which one you want to read.
My proposal for solving this:
On each desktop, run a cups server. This cups server would have a filter that runs the rasterization, so you would only rasterize a file if you submitted it for printing. The cups server on the desktop would have a filter that runs whatever rasterization, and forwards the file onto printhost for printing. This would allow removal of the code that disables the in-browser pdf viewers, and the pdf-open wrapper for evince.
This would be better than the previously tested solution of moving all rasterization onto printhost, which caused huge delays for printing, as cups is single threaded.
The changes that would require would be in the ocf::packages::cups class. /etc/cups/client.conf should be change to contain “localhost” instead of “printhost”. There should be a configuration file starting a print queue, with a filter to do whatever rasterization is necessary (possibly by creating it from the command line and copying the resultant file into puppet). Some other puppet commands should also to be added to ensure that the cups server is running. One might also be able to remove any remaining rasterization on printhost.