Skip to content

[RFE] Implement printer profiles #2

@zdohnal

Description

@zdohnal

This issue is a placeholder for implementing printer profiles, which are needed for the case:

  • CUPS temporary queues work only with LAN located devices, because the tech uses mDNS for device discovery. However, this situation isn't usually a case for enterprises, where their IT engineers tend to put printers into a separate VLAN - they do it because of security and monitoring. Without any migration plan, these use cases would be left behind if permanent queues are gone and CUPS temporary queues become the only technology in CUPS.

The idea of printer profiles was introduced by Mike Sweet during email communication within OpenPrinting group and distro maintainers and presented during PWG F2F meetups.

Set of features provided by printer profiles:

  • access to queues on remote print servers, which are not in local network
  • access to printers from different network
  • setting default options for a printer
  • setting a default printer for specific network
  • every setting can be related to a specific network (f.e. show printer P1 if I'm in network A, but show printer P2 if I'm in network B, use a different default printers across the networks etc.)

Tasks:

  • implement showing queues defined by printer profiles in cupsEnumDests() CUPS library function (idea: cupsEnumDests() will check /etc/cups/profiles/ and if there are some, add them to the output - this will show profile queues in print dialogs, which use cupsEnumDests())
  • implement sharing profile-defined queues in cupsd/sharing cups module in modular design
  • implement tests for printer profiles in CUPS test suite
  • add printer profiles into CUPS documentation, man pages etc

I will try to implement this feature in meantime, but any other help is welcomed.

@michaelrsweet WDYT? Did I forget about something in tasks or do you have any recommendation what to add?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions