Hi!

I attended PWG (printing working group) f2f vie Webex last week (I
attended one and half day of conference). It was held in Lexington this
year and you can find by full report in the attachment.

The main new (in comparison to previous year) points were:

1) CUPS license issue is coming to the solution - CUPS 2.3 will stay
under new Apache License 2.0 and it will have exception like LLVM does
for GPL2 only programs. Security fixes and other important fixes (if you
want something to backport to 2.2.x, create an issue at cups github for
backporting that specific patch) will stay under old license.

But there is still open issue about it, so I would delay rebasing CUPS
to 2.3 in Fedora rawhide until final outcome exists.

2) ippeveprinter binary came into CUPS master branch - the purpose of
the binary is to be kind-of wrapper around PCL or Postscript printers,
makes them visible for Avahi (preferred way of sharing printers since
cca 2012) and process received document to wanted data for printer. You
can check the code and try it from CUPS master branch.

3) Several projects of Openprinting+PWG were announced in Google Summer
of Code 2019 - the main project is creating API for writing Printer
Applications, I will mentor one small project - convert
scp-dbus-service.py into C, since printing sw is mainly written in C.

-- 
Zdenek Dohnal
Software Engineer
Red Hat Czech - Brno TPB-C

PWG 2019
========

PWG plenary
--------------

- ipp eve certified printers - now 365!
- new versions of IPP eve - 1.1 and IPP eve selfcert - 1.1
- new project - ipp registry
- imaging device security - security of hardcopy devices -focus on common 
criteria profiles for HCD
- ipp workgroup - maintenance of IPP, support of network archs in IPP
  - IPP enterprise printing extension 1.0?
- trusted computing group - specifications for mobile platforms and trusted 
mobility solutions
- IETF - RFC for new TLS-1.3, security automation and continuous monitoring 
drafts
- openprinting - new gsoc projects (Zdenek Dohnal is one of the mentors) - test 
script for IPP errata and IPP system service,
  printer app from legacy driver, improve pdftoraster filter, turn 
scp-dbus-service into C, new website
- mopria - print and scanning services for mobiles
- 3D printing

Openprinting plenary
--------------------
- CUPS-filters - no new features, focus on reliability, pdftoopvp and pdftoijs 
deprecated, in the future remove CUPS PPD API, treat equal IPP printers and 
remote
  cups queues as equal
- IPP system service - future - support for MFD and printers+possible 
driverless MFD and scan
- GSoC projects

CUPS plenary
------------
- licensing - report important issues for backporting to older CUPS with old 
license, security fixes will be still with old license, APACHE 2.0 otherwise
- CUPS-2.3.0 - focus on license change, ipp eve, print accounting, scheduler - 
the last release with printer driver support (2021)
- they will have exception for GPL2/LGPL2-only sw (same as LLVM)
- ipp eve - localizations, job preset, finishing-template support, closing any 
CUPS API holes preventing of usage of ipp eve
- print accounting - track total number of pages at the end of job
- scheduler - sharing hostname can be set, .strings file is created when 
printer is created - for localization, support for printer id and no hardcoded 
script
  interpreters in CGI
- API - new function for adding media options - cupsAddDestMediaOptions(), 
encoding IPP attr from CUPS options - cupsEncodeOption, 
-D_IPP_PRIVATE_STRUCTURES=1 does
  not work, -D_PPD_DEPRECATED="" does not work :)
- FUTURE: Modular cups with following modules: commands, local server handles 
print requests on local temporary queues, cups sharing server handles network 
print
  requests (acounting, Acl, pam auth, oauth2 ipp shared infrastructure) with 
permanent CUPS queues, CUPS library, oauth 2.0 as replacement for Kerberos
  (does not need root access)
  - printer apps - printer drivers will look as ipp eve
  - ipp eve printer - replacement of ippserver, two commands - PCL printers 
ippevepcl - like PCL laser printer bundled with CUPS, ippeveps for postscript 
printers (runs
    pdftops and specific filters), use with PPD file - output from commands can 
be sent to AppSocket or spool dir
    - why? wonderful for debugging for now! just get PPD and create ippeve 
printer by it
- FUTURE ippeveprinter vs ippserver - single ipp eve printer vs implements ipp 
system service with multiple IPP printers (print commands for ippserver will 
work for 
  ippeveprinter, but not otherwise because missing backends and filters)

Openprinting projects update
-----------------------------
- 2018 - conversion bannertopdf to QPDF, enhancement ipptool (new support for 
attributes and operations), ippdoclint program (check-up if pwg raster document 
file 
  is correct - structure, content), content-oriented printer auto-selection 
(cluster abritary collection of printers into one queue with merghed PPD with 
all options 
  of all printers available - depending on doc and options is printer 
selected), common print dialog backend project (dbus interface to separate from 
print dialog GUI),
- 2019 - generic framework to turn legacy drivers consisting of CUPS filters 
and PPDs into printer apps (simple daemon emulates driverless IPP printer, 
converts to
  printer format and sent the data to printer + advertise itself on DNS-SD), 
ipptool test suite for ipp system service and IPP errata updates, remove 
unstable poppler
  api in pdftoraster, turn scp-dbus-service into C
- goal is to make printing popular :)
- google season of docs - collaboration of open source programmer and tech 
writer to better documentation!
- google code in - bring open source to pre-universities
- planning to have a talk on Linux Plumbers conference
- more testing project in the future

cups-filters, ippusbx
---------------------
- no big new features since last year, focus mainly to bug fixing and 
stabilizing
- FUTURE - restartable in-process, no use CUPS PPD API (do not download PPD 
from server) in cups-browsed nor filters, treat IPP printers and remote cups 
queue equally
  , selecting printer from cluster depending on job options, library functions 
for printer apps, translations of ppds
- ippusbxd - daemon mirroring USB printer as ipp printer at 
ipp://localhost:<port>/ipp/print , has web ui at http://localhost:<port>, 
default port 60000
- foomatic was moved to github

PWG workgroup status
---------------------
- 3D printing - widespreading IPP 3D v1.1 and WPG safe g-code subset 1.0 to 
vendors, possible GUI client - maybe in FreeCAD or other existing 3D printing 
apps (kind of
  plugin), concrete printing (see if other materials are needed...) 

IPP system service
------------------
- implements all IPP services possible on the machine (printing, scanning, 
faxing...), all required attrs and operations are implemented in ippsample
- demo :) 
  - ipp printer pointing to pcl printer  - ipptool -t 
ipps://localhost:<port>/ipp/system -d device-uri=socket://smth:9100  
examples/create-pcl-printer.test (all from
  ippsample project)
  - get printer attr - same as before just 
ipps://localhost:<port>/ipp/print/PCL -tv and 
examples/get-printer-attributes.test 
  - print job - -t , -f examples/onepage-letter.pdf and example/print-job.test
  - create-resource, send-resource-data, install-resource-data, 
get-resource-attributes, cancel-resource

IPP enterprise printer extensions
---------------------------------
- new attributes job-password-*, job-cancel-*, job-phone-number...
  

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to