User Tools

Site Tools


gsoc:google-summer-code-2021-openprinting-projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc:google-summer-code-2021-openprinting-projects [2021/03/08 14:34]
till
gsoc:google-summer-code-2021-openprinting-projects [2021/04/19 09:08] (current)
till [GUI for listing and managing available IPP Print/Scan services (or DNS-SD-advertised network services in general)]
Line 63: Line 63:
 This principally happens in the following projects: This principally happens in the following projects:
  
-  * [[https://​github.com/michaelrsweet/​pappl/|PAPPL]] - Printer Application Framework ​library for Printer/​Scanner Applications+  * [[https://openprinting.github.io/cups/|CUPS]] - The standard printing environment for Linux and other POSIX-style operating systems
   * [[https://​github.com/​OpenPrinting/​cups-filters/​|cups-filters]] - filters, backends, cups-browsed,​ ... - Everything which CUPS needs to be used on non-Mac systems   * [[https://​github.com/​OpenPrinting/​cups-filters/​|cups-filters]] - filters, backends, cups-browsed,​ ... - Everything which CUPS needs to be used on non-Mac systems
-  * [[https://​github.com/​OpenPrinting/​ps-printer-app/​|PostScript Printer Application]] - Printer Application for PostScript Printers+  ​* [[https://​github.com/​OpenPrinting/​cups-snap/​|CUPS Snap]] - Snap package of CUPS, for printing in all-Snap OS distributions ([[https://​snapcraft.io/​cups|in the Snap Store]]) 
 +  * [[https://​github.com/​michaelrsweet/​pappl/​|PAPPL]] - Printer Application Framework - library for Printer/​Scanner Applications 
 +  ​* [[https://​github.com/​OpenPrinting/​ps-printer-app/​|PostScript Printer Application]] - Printer Application for PostScript Printers ​([[https://​snapcraft.io/​ps-printer-app|in the Snap Store]])
   * [[https://​github.com/​michaelrsweet/​hp-printer-app/​|HP Printer Application]] - Printer Application for HP PCL printers   * [[https://​github.com/​michaelrsweet/​hp-printer-app/​|HP Printer Application]] - Printer Application for HP PCL printers
-  * [[https://​github.com/​OpenPrinting/​cups-snap/​|CUPS Snap]] - Snap package of CUPS, for printing in all-Snap OS distributions 
   * [[https://​github.com/​alexpevzner/​sane-airscan/​|sane-airscan]] - The "​airscan"​ SANE backend, supports driverless eSCL and WSD scanning, IPP Scan support is planned   * [[https://​github.com/​alexpevzner/​sane-airscan/​|sane-airscan]] - The "​airscan"​ SANE backend, supports driverless eSCL and WSD scanning, IPP Scan support is planned
 +
 +See also
 +
 +  * [[https://​openprinting.github.io/​news/​|OpenPrinting News and Events]] - Monthly news post, software releases, ...
 +  * [[https://​lists.linuxfoundation.org/​pipermail/​printing-architecture/​2021/​thread.html|OpenPrinting mailing list archive]] - Our recent discussions about the development of the printing architecture
  
 ======Project Ideas====== ======Project Ideas======
Line 82: Line 88:
 All the information needed to create the list is provided by DNS-SD (Avahi). DNS-SD advertises all printers, scanners, web interfaces, IPP System Service interfaces, ... see the output of "​avahi-discover"​ and "​avahi-browse"​. All the information needed to create the list is provided by DNS-SD (Avahi). DNS-SD advertises all printers, scanners, web interfaces, IPP System Service interfaces, ... see the output of "​avahi-discover"​ and "​avahi-browse"​.
  
-And with this one is already close to having a general network service management tool, also listing the DNS-SD services which are not related to printing with buttons to their web interfaces (imaging ​the user can open the web interface of his router with a simple mouse click). This would be the "​user-friendly"​ avahi-discover then, showing the services in a user-friendly order an presentation.+And with this one is already close to having a general network service management tool, also listing the DNS-SD services which are not related to printing with buttons to their web interfaces (imagine ​the user can open the web interface of his router with a simple mouse click). This would be the "​user-friendly"​ avahi-discover then, showing the services in a user-friendly order an presentation
 + 
 +The student'​s task is to implement such a tool in GTK, ideally as a module for the GNOME Control Center. 
 + 
 +Mentors: Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), GNOME/GTK developers, TBD 
 + 
 +Desired knowledge: %%C/C++%%, GTK, DNS-SD/​Avahi,​ CUPS/IPP 
 + 
 +Code License: GPL-2+ and LGPL-2+ 
 + 
 + 
 +=====GUI to guide the user to the correct Printer Application===== 
 + 
 +Modern printers usually are driverless IPP printers, and those get discovered and set up fully automatically with CUPS, no Printer Application is required for them, so it is easy for users to get up and running with them. 
 + 
 +Printers which do not do driverless IPP are either legacy printers, themany older printers which got developed before driverless IPP printing existed, and specialty printers. These need Printer Applications. As there will be several different Printer Applications and each one supporting another set of printers it is not trivial for the user to discover available non-IPP-driverless printers and find out which is the Printer Application to use and whether it is already installed. 
 + 
 +So we need some guide for the user. The idea is a GUI tool which lists available, non-IPP-driverless printers, local (USB) and network devices. If the user selects one of them, all installed Printer Applications which support this printer are shown, and for each a button to open the Printer Application'​s web interface and also a quick auto-add-this-printer button. In addition to the list of suitable Printer Applications there should also be a button which does a fuzzy search for the printer make and model on the Snap Store to find Printer Applications which are not installed on the local system.
  
 The student'​s task is to implement such a tool in GTK, ideally as a module for the GNOME Control Center. The student'​s task is to implement such a tool in GTK, ideally as a module for the GNOME Control Center.
gsoc/google-summer-code-2021-openprinting-projects.1615214079.txt.gz · Last modified: 2021/03/08 14:34 by till