From Fedora Project Wiki

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

  • Email: twaugh@redhat.com

Current status

  • Targeted release: Fedora 19
  • Last updated: 31 July 2012
  • Percentage of completion: 3%

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".

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.

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.

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

User Experience

When printing from native applications, printers shared using Google Cloud Print will appear in the list of available printers.

Dependencies

gnome-settings-daemon control-center

Contingency Plan

None necessary.

Documentation

http://cyberelk.net/tim/2012/03/08/session-printing/

Release Notes

Fedora now supports printing to Google Cloud Print shared printers natively.

Comments and Discussion