This article covers a convenient feature, which actually has been around for years since Powerfuse 7x, the printers.lst file. There is an old RES KB article about the topic here. So what’s the big deal? This file makes it possible to specify a list of printers which are available in a certain given geographical or otherwise physical structure. This is quite useful if you want to enable your users to select their own printers, but your AD doesn’t really reflect things as well as you would like them to.
Under normal circumstances, when users browse their printers, they be looking at something like this:
The problem is often that the printserver names do not really give the user enough information about where the printer is. The printserver and/or queue names may be cryptic, so it usually ends up with that a user goes hunting in the hallways for a printer, jots down the printername which the IT department hopefully has labeled the printer with, goes back to his workstation and starts browsing for it. Either that, or they pick up the phone and yell at the helpdesk guys.
Now imagine this. When a user goes to his printer preferences and opens it up, things would look like this:
Much nicer, wouldn’t you agree? A clean interface which reflects the physical world. This is what you can create with the printers.lst file. So what should the file look like, and where should I place it? Easy. Below is a template, which you can tweak for your own purposes. Just cut out the text below and save it as a textfile with that magic name. The file must reside in the user’s <homedrive:>\PWRMENU folder.
[New York\7th Ave Bldg\Floor 42] \\nyprint\Black & White Printer 4201 \\nyprint\Black & White Printer 4202 \\nyprint\SuperDuper Printer [New York\7th Ave Bldg\Floor 43] \\nyprint\Black & White Printer 4301 \\nyprint\Black & White Printer 4301 \\nyprint\MarketingPosterPrinter [New York\7th Ave Bldg\Floor 44] \\nyprint\Black & White Printer 4401 \\nyprint\HP CopyJet [SoCal Area\Irvine] \\caprint\Irvine B&W [SoCal Area\Santa Monica] \\caprint\SantaM B&W [SoCal Area\Long Beach\Accounting] \\caprint\LongB Accounting \\caprint\LongB A3 Printer [SoCal Area\Long Beach\Lab] \\caprint\LongB Lab Printer
Once this file exists, the user can open his Printing Preferences panel and there will be a Connect button (click miniature on right), which will show the above list. The fact that the file can reside in the user’s Pwrmenu folder is the new deal in PowerFuse 2010. Before you had to distribute it using Custom Ressources, as described in the before-mentioned RES KB article. Instead you can now use Home Directory maintainance to do this, which allows for way more granularity.
By using Directory Maintainance you can have multiple printers.lst files and distribute them according to access control. Note however that at present (126.96.36.199) using the Set values in INI files feature of directory maintainance, isn’t going to work very well.
Note that if you combine a central Custom Ressource based printers.lst with one being distributed to the user’s pwrmenu folder, the last one will win. There’s no merge. The printers.lst in the user’s pwrmenu folder will win over the custom resource based printers.lst file if it exists in the user’s pwrlaunch directory.
Last thing to cover in this article is how to use custom ressources to distribute the printers.lst file. This feature was originally introduced in PowerFuse 2008 SR7. You have to do the following:
- Go to the Setup|Datastore|Custom Resources node
- In the right pane, click on Custom Resources and press the magic key combo: CTRL+SHIFT+F9
- This will bring up the dialog box shown on the right. Scroll down and select Printers from the list and click OK
- Hit Add and upload your Printers.lst file.
Note: You are uploading to a different place in the database than normal. In general, you should be carefull with this kind of tweak, as it has the potential to wreck your datastore if you do something ill advised. In this case the central printers.lst file in the printers custom ressource, will end up in this folder: %programfiles%\res powerfuse\data\dbcache\resources\pl_prn\