show printer driver support contacts, status, and unsupported color mode warning

Bug #269454 reported by Till Kamppeter
2
Affects Status Importance Assigned to Milestone
Jockey
Fix Released
Undecided
Martin Pitt
jockey (Ubuntu)
Fix Released
High
Martin Pitt
system-config-printer (Ubuntu)
Fix Released
Undecided
Till Kamppeter

Bug Description

I am on Intrepid with Jockey 0.5alpha1.

I pretend with the following commands that a printer setup tool has detected a Samsung ML-1610 and asks Jockey for a driver:

sudo dpkg -P splix
dbus-send --print-reply --dest=com.ubuntu.DeviceDriver /GUI com.ubuntu.DeviceDriver.search_driver string:"printer_deviceid:MFG:Samsung;MDL:ML-1610;DES:;CMD:GDI;"

This causes a tiny window to open telling something like (this is what is currently intended to show, in reality it is worse, as we also have bug 269444):

Enable driver

splix

[Cancel] [Enable]

This is not of much help for the user. It should tell which device has caused the driver to be offered (the Samsung ML-1610) and also something about the driver, ideally the information in the gray box at the top of

http://openprinting.org/show_driver.cgi?driver=splix

The web query API of OpenPrinting supplies all this information. Note that all this info is important: Whether the driver is from the manufacturer. whether it is free software, patent issues, support contact and level of support, suitability for certain printing tasks, ... The interface should also be prepared for more than one suitable driver. So the window should show a list of all suitable drivers (for example in a column at the left) and the description and license info of the selected driver (for example in a big area at the right of the window). In case of a non-free license or patent issues there should be radio buttons to accept or reject the license. If there is more than one driver to choose, the most suitable one should be pre-selected. Also if there is one driver this one should be pre-selected, so that its info is immediately visible on the right.

See also the entry

http://openprinting.org/show_driver.cgi?driver=splix2

and if the user gets all info of the gray boxes of the two drivers, he will be able to decide what he wants.

Changed in jockey:
assignee: nobody → pitti
Changed in jockey:
assignee: nobody → pitti
importance: Undecided → High
milestone: none → ubuntu-8.10-beta
Changed in jockey:
importance: High → Critical
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in trunk. (r406 and r407). The "show non-recommended drivers" part is bug 271286.

Changed in jockey:
milestone: none → 0.5
status: New → Fix Committed
importance: Critical → Medium
status: New → Fix Committed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Much better now, but still not complete. Not only the functionality indices are needed but also:

 - Is the driver supplied by the manufacturer or a third party?
 - Does the driver have patent issues?
 - Support contacts and support levels for each contact
 - If the printer is color but the driver only BW an appropriate warning

An "Advanced display" button should also reveal (add to the content of the main area, no pop-up window).

- Name of the driver
- Name of the supplier
- max. resolution
- BW/Color
- Driver type
- license name (GPL, MIT, ...)

In addition, the short description should be wrapped and not cut when it is too long, at least in the main area.

The driver name could perhaps even be added to the standard display instead of only to the advanced display.

The license window should have a button to switch to the original English text if a translated text is shown. See

http://openprinting.org/show_license.cgi?driver=splix

and see also the output which you get from the OpenPrinting web API.

Changed in jockey:
status: Fix Committed → In Progress
status: Fix Committed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package jockey - 0.5~alpha1-0ubuntu3

---------------
jockey (0.5~alpha1-0ubuntu3) intrepid; urgency=low

  * Merge some bug fixes from trunk:
    - Fix search_drivers() to not return unrelated available handlers.
    - Change --search-driver UIs from confirmation dialog to displaying list
      of matches. (One half of LP: #269454)
    - OpenPrintingDriverDB: Show shortdescription and functionality fields.
      (Other half of LP: #269454)
    - Drop a lot of redundant probing from add_driverdb() and search_driver().
    - Build KDE .ui -> python on build time, to avoid runtime uic dependency.
      (LP: #271317)
    - nvidia, fglrx handlers: Remove RgbPath option, it causes X.org to crash.
    - ui.py: Update action button strings according to latest recommendations
      from Matthew Thomas, thanks!
    - ui.py: Properly intercept failure to connect to D-BUS. (LP: #258472)
  * Add python-kde4-dev build dependency, now needed to get pykde4uic.
  * fglrx, nvidia: Uninstall -kernel-source in disable(), thanks Alberto.
    (LP: #251962)
  * jockey/oslib.py, install_package(): Intercept SystemError. (LP: #258713,
    LP: #272146)

 -- Martin Pitt <email address hidden> Mon, 22 Sep 2008 15:39:42 +0200

Changed in jockey:
status: In Progress → Fix Released
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Reopening as this upload does not add the driver information as I have asked for in the last comment.

Changed in jockey:
status: Fix Released → Triaged
importance: Medium → High
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Another UI issue:

The window with the list of suitable drivers shows the cryptic device ID, like

printer_deviceid:MFG:Samsung;MDL:ML-1610;DES:;CMD:GDI;

It should better show the human-readable make and model, like:

Samsung ML-1610

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed the presentation of the searched device for printers.

Revision history for this message
Martin Pitt (pitti) wrote :

Till, some questions:

 - Is the driver supplied by the manufacturer or a third party?
 - Support contacts and support levels for each contact
 - If the printer is color but the driver only BW an appropriate warning

to which fields of the returned data structure do these map?

 - Does the driver have patent issues?

-> that maps to the "patents" field. However, a simple yes/no field is quite uninteresting for the user? I mean, knowing that there are patents doesn't really help him, he needs details? (and most users wouldn't care anyway, as long as it is free software)

Revision history for this message
Martin Pitt (pitti) wrote :

E. g. this is what I get for splix:

{'packages': {...}, 'name': 'splix', 'license': 'GPL', 'url': 'http://splix.ap2c.org/', 'recommended': True, 'functionality': {'text': '100', 'lineart': '100', 'photo': '80', 'graphics': '100'}, 'licensetext': '...', 'supplier': 'SpliX project', 'freesoftware': True, 'nonfreesoftware': False, 'shortdescription': 'Driver for Samsung SPL2 (ML-1710, ...) and SPLc (CLP-500, ...) laser printers', 'patents': True}

Except for the patent field (which I have a separate question about above), I make use of all other fields, and I don't see where support contacts, or color/bw warnings are happening?

Revision history for this message
Martin Pitt (pitti) wrote :

Needs input from Till. While http://www.linuxfoundation.org/en/OpenPrinting/Database/Query describes the input parameters very well, it says nothing about the output structure.

Changed in jockey:
status: Triaged → Incomplete
Revision history for this message
Martin Pitt (pitti) wrote :

Removing milestone. The bulk of information and the initial bug is fixed, just some bits are missing now.

Changed in jockey:
milestone: ubuntu-8.10-beta → none
Revision history for this message
Till Kamppeter (till-kamppeter) wrote : Re: [Bug 269454] Re: Poor user interface when printer setup tool asks Jockey for a driver
Download full text (10.9 KiB)

Let us take this example (pasted below) for answering your questions:

http://openprinting.org/query.cgi?type=drivers&moreinfo=1&printer=Samsung-ML-1750&onlydriverpackages=1&onlynewestdriverpackages=1&architectures=i386&packagesystem=rpm&lsbversion=3.2&format=xml

I assume you use the XML format. If you use text, please tell me.

Martin Pitt wrote:
> Till, some questions:
>
> - Is the driver supplied by the manufacturer or a third party?

*** 1 ***
<thirdpartysupplied/>

A manufacturer-supplied driver has

<manufacturersupplied/>

here. If none of the two is there, assume a third-party driver.

> - Support contacts and support levels for each contact

*** 2 ***

<supportcontacts>

section. Can have one or more support contacts. They can be "voluntary"
or "commercial".

> - If the printer is color but the driver only BW an appropriate warning
>

Driver supports color if it has

<color/>

field in the

<functionality>

section.

I found out now that I have totally forgotten to add the info about
whether a printer is color or not to the printer entries. You could at
least add the info whether the driver is color or bw to the driver list
entry for now.

> to which fields of the returned data structure do these map?
>
> - Does the driver have patent issues?
>
> -> that maps to the "patents" field. However, a simple yes/no field is
> quite uninteresting for the user? I mean, knowing that there are patents
> doesn't really help him, he needs details? (and most users wouldn't care
> anyway, as long as it is free software)
>

The details have to be put into the license text field. See the SpliX
driver.

    Till

<drivers>
<driver id="driver/gutenprint52">
<name>gutenprint52</name>
<url>http://gimp-print.sourceforge.net/</url>
<supplier>Gutenprint project</supplier>
<thirdpartysupplied/> *** 1 ***
<license>GPL</license>
<freesoftware/>
<supportcontacts>
<supportcontact level="voluntary"
url="https://lists.sourceforge.net/lists/listinfo/gimp-print-devel">Gutenprint
mailing list at SourceForge</supportcontact>
</supportcontacts> *** 2 ***
<shortdescription>

    Top Quality Printer Drivers for inkjets, dye sublimation printers,
    and PCL lasers<br>

    (<b>Development snapshot, not for daily use!</b>)

</shortdescription>
<execution>
<cups/>
</execution>
<functionality>
<color/>
<text>90</text>
<lineart>90</lineart>
<graphics>100</graphics>
<photo>100</photo>
<speed>60</speed>
</functionality>
<packages>
<i486>
<package file="gutenprint-5.2.0-0.beta4.0lsb3.2.i486.rpm">
<url>
http://www.openprinting.org/download/printdriver/RPMS/i486/gutenprint-5.2.0-0.beta4.0lsb3.2.i486.rpm
</url>
<realversion>5.2.0beta4</realversion>
<version>5.2.0</version>
<release>0.beta4.0</release>
<lsbver>3.2</lsbver>
<sortindex>5.2.0_0.beta4.0_3.2</sortindex>
<text>5.2.0beta4 (RPM for LSB 3.2)</text>
<arch>i486</arch>
<pkgsys>rpm</pkgsys>
<scope>general</scope>
<repositories>
<yum>
[openprinting-gutenprint52-driver]
name=OpenPrinting LSB-3.2-based driver packages of "gutenprint52"
baseurl=http://www.openprinting.org/download/printdriver/components/lsb3.2/gutenprint52/RPMS
enabled=1
gpgcheck=0
</yum>
<zypper>
zypper sa
http://ww...

Changed in jockey:
status: Incomplete → Triaged
Martin Pitt (pitti)
Changed in jockey:
milestone: none → ubuntu-8.10-beta
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks, Till. It seems that python-cupshelpers does not actually export these fields (it uses the XML output, BTW). So we first need to fix cupshelpers to export the fields, then I can use them in Jockey.

Changed in jockey:
milestone: 0.5 → none
importance: High → Low
milestone: ubuntu-8.10-beta → none
Revision history for this message
Martin Pitt (pitti) wrote :

In particular, those are missing:

 - thirdpartysupplied
 - manufacturersupplied
 - supportcontacts

Changed in jockey:
status: In Progress → Confirmed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

pitti, can you report an upstream bug on system-config-printer (https://fedorahosted.org/system-config-printer). These are more or less the most important fields which I have added to the Foomatic entries so that the user can decide on the drivers.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have created a patch for /usr/share/python-support/python-cupshelpers/cupshelpers/openprinting.py (file belongs to the system-config-printer source package) now which makes python-cupshelpers exporting the missing fields. The patch is attached. Apply it and implement the support for these fields then.

I will apply it to the Ubuntu package of s-c-p and upstream.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

pitti, you do not need to report an upstream bug on s-c-p any more, I have applied the patch upstream now.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have also applied the patch to the Ubuntu package of s-c-p now. As we are in beta freeze I cannot simply upload it. Therefore I am attaching the debdiff against the current Intrepid package.

Changed in system-config-printer:
assignee: nobody → till-kamppeter
milestone: none → ubuntu-8.10
status: New → In Progress
Changed in jockey:
milestone: none → ubuntu-8.10
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have uploaded s-c-p now. It is waiting in the beta freeze review queue.

Changed in system-config-printer:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package system-config-printer - 1.0.5+git20080819-0ubuntu3

---------------
system-config-printer (1.0.5+git20080819-0ubuntu3) intrepid; urgency=low

  * debian/patches/openprinting-query-missingfields.patch:
    Added some missing fields to the data structure for queried printer
    driver records (LP: #269454).

 -- Till Kamppeter <email address hidden> Thu, 25 Sep 2008 22:20:26 +0200

Changed in system-config-printer:
status: Fix Committed → Fix Released
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

To get a feeling how the driver info presented to the user should look like, see my implementation in the PostScript PPD download function of system-config-printer.

Get system-config-printer 1.0.5+git20080819-0ubuntu4, install and start it (take its source package from Launchpad if it did not arrive on the mirrors yet).

Click "New Printer", select an arbitrary detected printer, click "Forward", on the next page choose"Search for a printer driver to download", as "Make and Model" search term enter "HP LaserJet 3390", click "Search" and the "Forward" again. This brings you to the download screen for the PPD file for the HP LaserJet 3390. The info which Jockey should show about a downloadable printer driver package should be at least this one.

Changed in jockey:
importance: Low → High
Revision history for this message
Martin Pitt (pitti) wrote :

Added support contacts, supplier, and status to http://bazaar.launchpad.net/~jockey-hackers/jockey/trunk/revision/480 . I did not add a particular "unsupported color" warning, as Till says it's not yet implemented in the driver DB. However, the driver description already gives the support level of B/W and color, so the user can already see it.

Changed in jockey:
status: Confirmed → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :
Changed in jockey:
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package jockey - 0.5~beta2-0ubuntu2

---------------
jockey (0.5~beta2-0ubuntu2) intrepid; urgency=low

  * Merge bug fixes from trunk:
    - openprinting.org detected handlers: Add supplier and support contacts to
      long description. (LP: #269454)
    - backend.py, set_enabled(): Report progress signals early when handling
      packages, to avoid delays until package manager sends out the first
      progress. (LP: #279073)
  * data/handlers/fglrx.py: Enable driver again, current version works now.
    Also add "Recommends: fglrx-modaliases", so that detection works in a
    default installation. (LP: #262819)

 -- Martin Pitt <email address hidden> Wed, 15 Oct 2008 00:10:53 +0200

Changed in jockey:
status: Fix Committed → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in upstream 0.5 beta 3.

Changed in jockey:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.