Print Service

Summary

This feature provides a desktop session service for aggregating online print services such as network IPP servers, Google Cloud Print, HP ePrint etc. The GTK+ print dialog will allow the user to select destinations from all available print services when printing. The desktop session will be able to provide feedback regarding submitted print jobs, and allow the user to cancel jobs.

Owner

Current status

Detailed Description

Printing is usually spooled in a queue. Local print servers such as CUPS allow for queueing to be done on the local machine. However, such print servers are run as system daemons and require system privileges to configure them -- even for something as simple as adding a print queue for a remote print service.

Increasingly, print services are provided by the network rather than by a locally-connected printer. An office often has a print server that all clients send documents to when printing. Google now provides Cloud Print, and there are several other online print services available.

Online print services provide one or more of the following:

Enumeration of available printers

Description of printer capabilities

Job submission to printer

Job queueing

Status feedback for job/printer

Job management (cancel, pause, resume, reprocess)

The idea behind printservice is to aggregate the available print services and provide a common interface for them. This can be used by the desktop session to gather information about queued jobs and available printers, and to allow functions such as "cancel job".

Benefit to Fedora

Adopting this feature will provide native client support for Google Cloud Print and other online print services, and make it easier for users to set up network printing by eliminating the need for system privileges to do so.

Scope

The printservice session service needs to be implemented, with at least support for Google Cloud Print.

A backend for the GTK+ print dialog needs to be implemented.

Modifications are required to the System Settings "print" panel so that job display and management is done via printservice instead of directly through CUPS.

There will be modifications required to gnome-settings-daemon in order to use printservice for print job status feedback.