This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
gsoc:google-summer-code-2017-openprinting-projects [2017/01/16 13:46] till |
gsoc:google-summer-code-2017-openprinting-projects [2017/01/27 14:08] (current) till [Common Print Dialog for desktop applications and mobile devices (up to 3-4 students)] |
||
---|---|---|---|
Line 19: | Line 19: | ||
For the dialog itself there is already a design of how the user interface could look like. It was done by the design team of Canonical (the company behind Ubuntu) and can be found [[https://wiki.ubuntu.com/Printing|on the Ubuntu Wiki]]. The dialog should support three ways of obtaining available printers: Most importantly it should list the local CUPS queues and get printer properties and options through CUPS. It also should be able to pick IPP network printers from the network via Bonjour/DNS-SD and query the printer's properties via IPP (mainly for mobile devices to use IPP Everywhere and AirPrint printers). The third way is to connect to the user's Google account to list the Google Cloud Print printers which the user has registered. | For the dialog itself there is already a design of how the user interface could look like. It was done by the design team of Canonical (the company behind Ubuntu) and can be found [[https://wiki.ubuntu.com/Printing|on the Ubuntu Wiki]]. The dialog should support three ways of obtaining available printers: Most importantly it should list the local CUPS queues and get printer properties and options through CUPS. It also should be able to pick IPP network printers from the network via Bonjour/DNS-SD and query the printer's properties via IPP (mainly for mobile devices to use IPP Everywhere and AirPrint printers). The third way is to connect to the user's Google account to list the Google Cloud Print printers which the user has registered. | ||
- | To allow for the print dialog being provided by the currently running desktop (Unity, GNOME, KDE, ...) or mobile environment while the different applications use different GUI toolkits (GTK, Qt, ...) the print dialog and the application should be implemented in different executables which communicate by D-Bus. An appropriate D-Bus interface got already [[:openprinting:cpdapi|designed earlier]]. Probably the designe can already be used as it is, perhaps it needs some slight modifications. | + | To allow for the print dialog being provided by the currently running desktop (Unity, GNOME, KDE, ...) or mobile environment while the different applications use different GUI toolkits (GTK, Qt, ...) the print dialog and the application should be implemented in different executables which communicate by D-Bus. An appropriate D-Bus interface got already [[:openprinting:cpdapi|designed earlier]]. Probably the design can already be used as it is, perhaps it needs some slight modifications. |
- | The task for the student(s) is to implement the dialog with a major toolkit (GTK or Qt) or to add the D-Bus interface to call the Common Print Dialog to a major toolkit or an aimportant application. | + | The task for the student(s) is to implement the dialog with a major toolkit (GTK or Qt) or to add the D-Bus interface to call the Common Print Dialog to a major toolkit or an important application. |
At OpenPrinting there has already been worked on a similar project earlier. See the resources [[:openprinting:commonprintingdialog|here]]. | At OpenPrinting there has already been worked on a similar project earlier. See the resources [[:openprinting:commonprintingdialog|here]]. | ||
Line 27: | Line 27: | ||
This project will be divided under several students (GTK dialog, Qt dialog, D-Bus interfaces for applications/GUI toolkits, ...). | This project will be divided under several students (GTK dialog, Qt dialog, D-Bus interfaces for applications/GUI toolkits, ...). | ||
- | Mentors: Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Ubuntu GUI developers TBD | + | Mentors: Till Kamppeter, Project Leader OpenPrinting (till at linux dot com), Aveek Basu (basu dot aveek at gmail dot com), Ubuntu GUI developers TBD |
Desired knowledge: C/C++ programming, GUI programming, GTK, Qt, D-Bus | Desired knowledge: C/C++ programming, GUI programming, GTK, Qt, D-Bus | ||
Line 43: | Line 43: | ||
See also the following bug reports which lead to this project: [[https://bugs.launchpad.net/ubuntu/+source/qpdf/+bug/1564249|in Ubuntu]], [[https://bugs.linuxfoundation.org/show_bug.cgi?id=1315|in cups-filters]] | See also the following bug reports which lead to this project: [[https://bugs.launchpad.net/ubuntu/+source/qpdf/+bug/1564249|in Ubuntu]], [[https://bugs.linuxfoundation.org/show_bug.cgi?id=1315|in cups-filters]] | ||
- | Mentors: Tobias Hoffmann (smilingthax at googlemail dot com), Jay Berkenbilt (ejb at ql dot org) TBD | + | Mentors: Jay Berkenbilt (ejb at ql dot org), Tobias Hoffmann (smilingthax at googlemail dot com) |
Desired knowledge: C/C++ programming | Desired knowledge: C/C++ programming | ||
Line 49: | Line 49: | ||
Code License: MIT, Artistic 2.0 | Code License: MIT, Artistic 2.0 | ||
- | =====Google Cloud Print: Desktop-integrated solution for registering local CUPS printers===== | + | =====Google Cloud Print: Desktop-integrated solution for registering local CUPS printers (1 student)===== |
[[https://developers.google.com/cloud-print/docs/overview|Google Cloud Print]] is a service from Google which allows to print from anywhere with internet access to anywhere else with internet access, for example from a mobile phone to printer at home or in the office. | [[https://developers.google.com/cloud-print/docs/overview|Google Cloud Print]] is a service from Google which allows to print from anywhere with internet access to anywhere else with internet access, for example from a mobile phone to printer at home or in the office. |