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.
- Name: Tim Waugh
- Email: firstname.lastname@example.org
- Targeted release: Fedora 19
- Last updated: 31 July 2012
- Percentage of completion: 3%
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".
The basic design is discussed here: http://cyberelk.net/tim/2012/03/08/session-printing/
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.
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.
How To Test
Job submission, status feedback, and job cancellation should be tested for:
1. a printer registered to Google Cloud Print 2. a CUPS server on the network
When printing from native applications, printers shared using Google Cloud Print will appear in the list of available printers.
Fedora now supports printing to Google Cloud Print shared printers natively.