module:print provides print queue management when run as a CFEngine module. module:print supports the Common Unix Printing System (CUPS) and Windows.
Advantages of module:print include extensbility to support new print queue systems, assuming appropriate list, add, and remove command interfaces. Also, systems are not slaved to a directory service. This allows support for laptops.
Disadvantages of module:print include scalability problems, and the need to run scripts everywhere.
With the no_modify class set in the CFALLCLASSES environment variable, module:print will only display what changes would be made to the system. This simplifies rollouts to previously unmanaged systems.
The source code for module:print is only available by request.
Configuration
main.ini
main.ini contains module defaults, and configuration classes that define how to list, add, modify, and remove groups on various Operating Systems.
print.ini
The print.ini configuration file contains print queue definitions, and classes statements to determine what printers to setup based on the CFEngine classes defined.
[default]
app_cups:name = default
classes = any
location = Room 208
ppd = HP4000_5.PPD
[tree-killer]
app_cups:name = tree_killer
classes = group_admin group_devel
location = Room 104
ppd = SITE_001.PPD
PostScript Printer Description (PPD)
CUPS uses PPD files to support custom printer features (extra trays, duplex units). These can be converted for use on Windows, though the conversion is complex and troublesome. To support printers with additional features, custom PPD can be used for the printer.