[Printing-architecture] News about auto-download of printer driver
packages from OpenPrinting
Till Kamppeter
till.kamppeter at gmail.com
Thu Dec 20 13:37:02 PST 2007
Hi,
to implement the feature requests of the printer manufacturers on the
OpenPrinting Meeting in Tokyo in November I have added the following
features to the OpenPrinting database/web query API:
- Download and display of the full license text: This is especially for
proprietary drivers, as they can have very different licenses and
printer manufacturers want to present the license to the user before
he installs/downloads the driver. Therefore the license (in HTML) can
now be added to a driver XML entry in the database. The OpenPrinting
driver pages will have a link to show the license and the driver
records returned through the web query API will also contain the
license text, so that a printer setup tool can display the license and
ask the user whether he is OK with it.
- More packaging flexibility: Before, every downloadable driver had to
be put into one single package. Now one can split into several
packages, for example the core part of the driver which also works on
headless servers without X and an extra package with GUI frontends
like ink level checks, ... Or several drivers having a common part, so
each driver entry gets assigned one individual package and the package
with the common part. A scope can be assigned to each package, like
"general", "gui", "scanner", ... so that the printer setup tool can
decide what needs to be installed. One simply specifies package names
and scopes in the driver XML files.
- Possibility to host the driver packages on an external server (not
recommended): Printer manufacturers can decide on hosting the drivers
on their own servers but have printer setup tools downloading them
automatically via OpenPrinting. One simply defines absolute paths to
the drivers packages in the driver XML entry. This is not recommended,
as having the drivers on another server one can easily get out of
sync with the links in the driver XML files. By using wild cards in
the driver links, at least simple version updates to not require the
updating of the driver XML file.
- Driver dependencies: One can mark a driver that it needs another
driver to be installed. So one can make an additional driver entry
(driver XML file) for a proprietary plug-in for a free main driver.
Most printers work with the free driver and so they are in the list of
printers supported by the free driver. Some need a proprietary
plug-in, so the plug-in is registered as another driver (with its own
license text) and the printers which need it in its own printer list.
As the plug-in needs the main driver, it is marked as requiring it.
Dependencies with driver name and version can simply be put into the
driver XML files.
- Driver locales: You can mark drivers to be especially for certain
locales (countries, languages). So you can for example make three
driver packaqes for (more or less) the same set of printers, one for
Japan/China/Korea, the Americas, and Europe, to adapt the driver to
the special needs in different regions of the world. In the driver
XMLs you specify countries and languages for each of your drivers and
the printer setup tool sends the user's country and language settings
to OpenPrinting and gets back the best fitting driver choice.
- Internationalized answers to driver queries by printer setup tools:
The printer setup tool can tell with which UI language it is running
and if the driver XML contains translations into this language, the
answer comes in this language.
In the beginning of the next year i will do the following:
- At first I will write a package uploading HOWTO and other
documentation which explains the whole workflow of developing and
packaging drivers, creating printer and driver XML files for the
OpenPrinting database, and uploading everything to OpenPrinting. This
will also include how to use all these new features.
- Then I will create another sample driver package set: HPLIP with its
proprietary plug-ins. This will allow correct setup of all supported
HP printers with any printer setup tool (not needing hp-setup). HPLIP
will use package splitting to separate the core ("hplip") from the GUI
("hplip-gui"). The proprietary plug-ins will have separate driver XML
entries which are marked as requiring HPLIP. These driver XML files
will also contain the proprietary license text.
- Next step is adding the auto-downloading feature to
system-config-printer (I have upstream SVN write access to it).
system-config-printer is the printer setup tool used by Red Hat/Fedora
and Ubuntu.
I hope to succeed with all these steps before the next LF Symposium in
Tokyo in the beginning of March, so that I can demo full Plug'n'Print
with an HP printer.
Till
P. S.: What about the report from the last F2F of the OpenPrinting Japan
workgroup?
More information about the Printing-architecture
mailing list