Meeting called to order by Ira McDonald at 1pm US Eastern. Minutes taken by Ira McDonald.
Recording of this conference call is not available. Attendees
- Discussion - 9 November 2019 - OpenPrinting Mini Summit at Indian Institute of Technology in Mandi (Himachal Pradesh India) - Aveek was also invited to be a speaker at one of the Hackathon events which was conducted at the university campus during that time - Over the last few years OpenPrinting has seen some excellent contributions from the students of the institute - Sahil Arora was the first student to get selected as a GSoC student from the institute to work on OpenPrinting. Sahil started his journey as a GSoC student for OpenPrinting and is currently working as a GSoC mentor for OpenPrinting. - There are some notable contributions from other students like Akash, Dheeraj, and Sharad. It was a great time to meet them at their campus and talk about printing and the future of the technology. - There were other students as well who showed their interest in contributing for Open Printing. - Aveek conducted sessions on driverless printing and the other related topics. - We are looking forward to see more contributions from the students and also see them grow as the future leaders of the print industry.
- Discussion - On November 2019 OP monthly call Ira tested Bluejeans recording feature - output 340MB file (mostly blank screenshare content) - 45 minutes to download from the slow Bluejeans server! - Bluejeans can *only* record full video and audio - not practical! - Aveek and Till might explore other audio-only recording methods for OP calls
- Discussion - Aveek Basu and Till Kamppeter submitted an application for the Linux Foundation as mentoring organization in the Google Code-In 2019 - https://codein.withgoogle.com/ - Unfortunately, the Linux Foundation application did not get selected - No reason was given for the rejection - Till and Aveek to inquire to Google - A web page was set up for the application, containing sample tasks of several work groups of the Linux Foundation, including many of OpenPrinting - https://wiki.linuxfoundation.org/gsoc/google-code-in-2019 - The web page will remain available for use in a new application next year
- Progress report - New website of openprinting: - https://openprinting.github.io - Dheeraj has continued to work on the website and fixed several issues. Especially, the most recent three news items are now presented on the front page and they are listed with author and date. - On the “News and Events” page we also now have a link to the archive of minutes of monthly OpenPrinting phone meetings. - We need to go through the new OP website now and look for things which are still missing or need improving. Please report any issue here: - https://github.com/OpenPrinting/openprinting.github.io/issues
- Progress report - We have completed moving OP repositories to GitHub - https://github.com/OpenPrinting - No updates
- Progress report - No further news.
- Progress report - Avahi (Till) - Trent Lloyd has added a comment to the Upstream issue with some questions on 6 December 2019 and Till (amd Michael Sweet) have answered. No further action after that. - This has raised the idea in Till to make cups-filters (cups-browsed and the “driverless” utility) use DNS-SD-service-name-based IPP URIs, like CUPS does. Compared to the standard host-name-based ones they are independent of network interfaces and ports and so make it easier to implement local IPP services (like Printer Applications). Till has implemented this in cups-filters 1.26.0. - We urgently need the localhost support for the Printer/Scanner Applications, as CUPS PPD support will go away within a year.
- CUPS source code and bug reports are handled on GitHub now - https://github.com/apple/cups/ - CUPS Summary (Till) - CUPS release v2.3.1 on 13 December 2019 (Mike) - Newest CUPS 2.3.x release. - Lots of bug fixes. - CUPS release v2.2.13 on 13 December 2019 (Mike) - Newest CUPS 2.2.x release. - Last general bug fix release in the 2.2.x series and includes a fix for CVE-2019-2228. - CUPS v2.3.1 on 13 December 2019 (Mike) - Documentation updates (Issue #5661, #5674, #5682) - CVE-2019-2228: The `ippSetValuetag` function did not validate the default language value. - Fixed a crash bug in the web interface (Issue #5621) - The PPD cache code now looks up page sizes using their dimensions (Issue #5633) - PPD files containing "custom" option keywords did not work (Issue #5639) - Added a workaround for the scheduler's systemd support (Issue #5640) - On Windows, TLS certificates generated on February 29 would likely fail (Issue #5643) - Added a DigestOptions directive for the `client.conf` file to control whether MD5-based Digest authentication is allowed (Issue #5647) - Fixed a bug in the handling of printer resource files (Issue #5652) - The libusb-based USB backend now reports an error when the distribution permissions are wrong (Issue #5658) - Added paint can labels to Dymo driver (Issue #5662) - The `ippeveprinter` program now supports authentication (Issue #5665) - The `ippeveprinter` program now advertises DNS-SD services on the correct interfaces, and provides a way to turn them off (Issue #5666) - The `--with-dbusdir` option was ignored by the configure script (Issue #5671) - Sandboxed applications were not able to get the default printer (Issue #5676) - Log file access controls were not preserved by `cupsctl` (Issue #5677) - Default printers set with `lpoptions` did not work in all cases (Issue #5681, Issue #5683, Issue #5684) - Fixed an error in the jobs web interface template (Issue #5694) - Fixed an off-by-one error in `ippEnumString` (Issue #5695) - Fixed some new compiler warnings (Issue #5700) - Fixed a few issues with the Apple Raster support (rdar://55301114) - The IPP backend did not detect all cases where a job should be retried using a raster format (rdar://56021091) - Fixed spelling of "fold-accordion". - Fixed the default common name for TLS certificates used by `ippeveprinter`. - Fixed the option names used for IPP Everywhere finishing options. - Added support for the second roll of the DYMO Twin/DUO label printers. - CUPS v2.2.13 on 13 December 2019 (Mike) - CVE-2019-2228: The ippSetValuetag function did not validate the default language value. - Added a workaround for the scheduler's systemd support (Issue #5640) - Fixed spelling of "fold-accordion". - Fixed the default common name for TLS certificates used by ippserver. - The libusb-based USB backend now reports an error when the distribution permissions are wrong (Issue #5658) - Default printers set with lpoptions did not work in all cases (Issue #5681, Issue #5683, Issue #5684) - Fixed an off-by-one error in ippEnumString (Issue #5695) - Fixed some new compiler warnings (Issue #5700) - Fixed a few issues with the Apple Raster support (rdar://55301114) - The IPP backend did not detect all cases where a job should be retried using a raster format (rdar://56021091) - CUPS Filters Summary (Till) - Current release is v1.26.0 on 13 December 2019. - CUPS Filters v1.26.0 - This release adds some new features to cups-browsed and to the driverless utility: Both now use DNS-SD-service-name-based URIs for IPP print queues, like CUPS does. These URis are independent of network interfaces and ports and so make providing IPP services on the local machine (Printer Applications) easier. cups-browsed creates large numbers of local queues in portions now, so that it can treat jobs to print clusters between the portions. This makes printing more reliable in large networks with many printers. In addition, a lot of bugs got fixed. - CUPS Filters v1.25.13 - Bug fix release, mainly to solve problems of cups-browsed, mainly for compatibility problems with some printers, leaks, and crashes. Also updated the PPD generator to catch up with the one of CUPS. Prefer Apple Raster instead of PWG Raster as some printers have bugs in their PWG Raster implementation. - CUPS Filters v1.25.12 - Bug fix release, to address a bug of grayscale jobs not printed on PostScript printers when Poppler is used as PDF interpreter, to allow printing on printers which claim to accept PWG Raster but actually do not print this format, and to eliminate all compiler warnings when building the package. - CUPS Filters v1.26.0 on 13 December 2019 (Till) - cups-browsed: When generating local queues for printers for which the local CUPS daemon would provide temporary queues use the PPDs generated by libcupsfilters and not the ones generated by CUPS. The PPD generation of libcupsfilters also works with IPP-1.x-only printers, printers which do not support to query "media-col-database" and printers which support driverless printing only via PCLm. This can be changed via the "UseCUPSGeneratedPPDs" directive in cups-browsed.conf (Issue #22). - libcupsfilters: Re-structured the get_printer_attributes() function to remove the recursive calls for the fallbacks, to check required attributes in the response only if requested, and to fully integrate the method of getting a suitable response for a full printer capability list also if the printer is only IPP 1.1 or does not support the "media-col-database" attribute (Issue #22, Issue #163). - libcupsfilters, cups-browsed, driverless: Moved the functions get_printer_attributes() and resolve_uri() from cups-browsed into libcupsfilters, to share them with the driverless utility (Issue #22). - implicitclass: Fixed wrong stdout redirection from the filters to the IPP backend and hard-coded path for "ipp" backend call (Possible fix for Issue #163, Issue #181). - cups-browsed, driverless: Use DNS-SD-service-name-based URIs instead of host-name-based ones, as CUPS also does. In cups-browsed one can switch back to the conventional host-name-based URIs via the new "DNSSDBasedDeviceURIs" configuration option. Note that cups-browsed always uses conventional URIs for printers discovered via legacy CUPS browsing or LDAP. - cups-browsed: When removing a CUPS queue, do not consider an error (and retry) if the queue does not actually exist. Also ignore errors when checking whether there are still jobs. This way when a new queue gets created and the generation of the PPD file fails the attempt to remove this non-existing queue when removing the printer entry does not cause any problem. - cups-browsed: Improved the fallback mechanism of the get_printer_attributes() function. Instead of considering the request failed by the content of the response only when not more than the two language atrributes come out, we check through a list of required attributes whether they are all there. In addition, we actually fail when all callbacks have failed (Issue #22). - cups-browsed: Introduced new configuration options "UpdateCUPSQueuesMaxPerCall" and "PauseBetweenCUPSQueueUpdates" to limit the amount of local CUPS queues created, modified, or removed in a single event callback. Before, when there were thousands of printers in the network, cups-browsed got blocked for other tasks, like assigning a destination printer for a cluster print job (Issue #163). - CUPS Filters v1.25.13 on 29 November 2019 (Till) - implicitclass: When passing on the job via the "ipp" CUPS backend, set argv to the destination printer URI (Pull request #173). - cups-browsed: Added another fallback to the get-printer-attributes IPP request: Now after failing the standard request ("all", "media-col-database") with both IPP 2.0 and IPP 1.1, try simply "all", without "media-col-database" (Pull request #173). - cups-browsed: Do not set printer-is-shared for remote CUPS queue when making a temporary queue permanent (Pull request #180). - cups-browsed: Fix leaks of ipp_t struct and load balancing on the servers (Pull request #179). - cups-browsed, implicitclass: Prioritize Apple Raster against PWG Raster when selecting the PDL for the destination printer for a job sent to a cluster, also cleaned up the PDL selector code and added PostScript support. - libcupsfilters: Updated the PPD generator adding all changes of the PPD generator of CUPS: Support for "job-account-id", "job-accounting-user-id", "job-password", finishing options "trim-..." added, finishing options and "finishing-col-database" support synced with CUPS. - libcupsfilters: In the PPD generator get the mode for handling the back sides of the sheets when printing duplex preferrably from the "urf-supported" attribute. - libcupsfilters: Fixed bug that the PPD generator did not output the "*CloseUI: *ColorModel" line when it did not determine a default setting for "ColorModel". - cups-browsed: Added some missing memory allocations leading to a segfault (Issue #175). - CUPS Filters v1.25.12 on 12 November 2019 (Till) - libcupsfilters: Use the text names "Draft", "Normal", and "High" instead of 3, 4, and 5 as choice names for the "cupsPrintQuality" option as CUPS does (Issue #171). - libcupsfilters: If a printer supports both Apple Raster and PWG Raster let the generated PPD use Apple Raster as there are several printers which report PWG Raster support but do not actually print PWG Raster (Pull request #168, Issue #171, CUPS issue #5238). - cups-browsed: Fix unset location check to use DNS-SD field (Pull request #172). - libcupsfilters, beh, implicitclass, foomatic-rip, imagetopdf, mupdftoraster, pdftops, sys5ippprinter, cups-browsed, driverless: Silenced all compiler warnings to make the build process of cups-filters completely free of warnings. - pdftops: Fixed crash when using filter without PPD file. - pdftops: If printing grayscale jobs with Ghostscript as PDF renderer, add "-sProcessColorModel=DeviceGray" to Ghostscript command line. - pdftops: Do not use the ugly "pdftops -level1 ..." workaround to get grayscale PostScript output from Poppler. It leads to huge output files with Poppler's "pdftops" utility and does not work at all with "pdftocairo". Poppler itself does not support PostScript output converted to grayscale. Issue a warning with the hint to use Ghostscript or MuPDF as PDF renderer (Issue #169). - libcupsfilters: In the cupsRasterParseIPPOptions() accept also "Mono", "Monochrome", and "Gray" as color space names.
- GSoC 2019 Mentor Summit - Till Kamppeter and Aveek Basu attended the Mentor Summit in Munich 17-20 October 2019. - They presented a lightning talk about the success of the students working for OpenPrinting and also a held a session to discuss current OpenPrinting work.
- GSoC 2020 Status - We need to start with the GSoC 202 student selection process soon, so that we can let the students do assignments to compensate for the missed Google Code-In 2019 opportunity. - The mentoring organization application time window for the Google Summer of Code 2010 has been announced: 14 January 2020 to 5 February 2020. - GSoC 2020 Project Proposals - With the IPP standards work of the PWG and after our discussion on the Linux Plumbers Conference, first ideas for next year’s Google Summer of Code have come up: - SANE driver for existing SANE-using apps to be able to access driverless IPP scanners (including Scanner Applications) - Scanner Application Framework, to make Scanner Applications from SANE drivers - Extend Printer Application Framework from a converter for legacy drivers to a general Printer/Scanner Application SDK - Including direct, PPD-less printer applications, IPP System Service, web interface, C API library, ... - Make a Gutenprint Printer Application - But without PPDs and without Dheeraj’s legacy printer driver converter. - Use only libgutenprint to get the printer capabilities. - A built-in web admin interface could allow configurability. - Turn cups-browsed into a Printer Application - Instead of creating a local CUPS queue for a printer cluster emulate an IPP printer which prints to the cluster (and local CUPS picks it up automatically). - But how to prevent local CUPS from seeing the member printers directly? - Can also pick up legacy CUPS broadcasts (or BrowsePoll from legacy servers) and provide these printers as IPP printers.
- Summary - See link above for more details. - We need to concentrate on Printer/Scanner Applications and IPP System Service from now on. - This is urgently needed because Michael Sweet (Apple) plans to drop PPD file support in CUPS 2.4.x (next cycle, ~1 year from now). - At least according to the warning message which one gets from lpadmin when one creates a print queue with PPD file (-P or -m option, except -m everywhere). - This is a substantial change in the printing architecture on Posix-style operating systems. - Especially we need to create libraries to allow easy creation of Printer/Scanner Applications. - For testing this we should create a native Printer Application from Gutenprint, for example, or one for PostScript printers for which we have PPD files. - We also should create a native Scanner Application wrapping SANE with its current driver collection. - We also should do documentation and community outreach.
- PWG Virtual F2F (PWG Host) - 5-6 February 2020 - Ira to attend - http://www.pwg.org/chair/meeting-info/ - Status of AMSC and ISO liaisons w/ PWG (Paul Tykodi) - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20191104.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20191202.htm - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20191216.htm - see PWG Steering Committee minutes from 11/04/19, 12/02,19, 12/16/19 - IPP System Service v1.0 (Mike/Ira) - PWG Candidate Standard - https://ftp.pwg.org/pub/pwg/candidates/cs-ippsystem10-20191122-5100.22.pdf - IPP mapping of System object, System Control Service, and Resource Service - from PWG Semantic Model specs (PWG 5108.06, PWG 5108.03, and PWG 5109.1) - Published as PWG 5100.22-2019 - IPP Transaction-Based Printing Extensions v1.1 (Mike) - Initial draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20191216.pdf - for a Candidate Standard - minor errata update of PWG 5100.16-2013 - IPP WG review on 19 December 2019 - Schedule - Stable draft in Q1 2020 - IPP Production Printing Ext v2.0 (Mike) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippppx20-20191216-rev.pdf - for a Candidate Standard - major update of PWG 5100.3-2001 - PWG F2F review on 20 November 2019 - completed - prototype in ippserver (newly REQUIRED and RECOMMENDED attributes) - Schedule - Stable draft in Q1 2020 - IPP Driverless Printing Extensions v2.0 (Smith) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippnodriver20-20191121-rev.pdf - for a Candidate Standard - major update of PWG 5100.13-2012 - IPP WG review on 19 December 2019 - in progress - Schedule - Prototype draft in Q1 2020 - IPP Enterprise Printing Extensions v2.0 (Smith) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippepx20-20191010-rev.pdf - for a Candidate Standard - major update of PWG 5100.11-2010 - PWG F2F review on 20 November 2019 - completed - Schedule - Prototype draft Q4 2019 - Job Accounting for IPP v1.0 (Mike) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippaccounting10-20191022-rev.pdf - for a Best Practice - PWG F2F review on 21 November 2019 - stopped at section 6 - Schedule - Prototype draft in Q1 2020 - IPP Everywhere 1.1 (Mike) - Stable draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve11-20190827-rev.pdf - for a Candidate Standard - PWG F2F status on 20 November 2019 - Defer IPP WG last call until self-cert beta tools are finalized - Schedule - Stable working drafts/beta tools in Q1 2020 - IPP Everywhere 1.1 Self-Certification Manual 1.1 (Mike) - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeveselfcert11-20190827-rev.pdf - for a Candidate Standard - PWG F2F status on 20 November 2019 - Defer IPP WG last call until self-cert beta tools are finalized - Schedule - Stable working drafts/beta tools in Q1 2020 - IPP Encrypted Jobs and Documents (Mike/Smith) - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrustnoone10-20190418-rev.pdf - for a Candidate Standard - PWG F2F skipped on 21 November 2019 - Schedule - Prototype draft in Q1 2020
- ISO TC22/SC32/WG12 in Berlin, Germany - 3-7 February 2020 - Ira to call in - Road Vehicles Software Update - https://www.iso.org/standard/77796.html - PWG Virtual F2F (PWG Host) - 4-5 February 2020 - Ira to attend - http://www.pwg.org/chair/meeting-info/meetings.html - TCG F2F in Miami, Florida - 10-13 February 2020 - Ira to call in - https://trustedcomputinggroup.org/ - TCG members only - no open sessions - IEEE 1609 in San Diego, CA - 19-20 February 2020 - Ira to call in - https://standards.ieee.org/project/1609_2_1.html - IETF 107 in Vancouver, Canada - 21-27 March 2020 - Ira to call in - https://ietf.org/how/meetings/107/
Open Action Items
Next OP US/Europe/Brazil/India Conference Calls
- Tuesday 14 January 2020, Daytime - Bluejeans.com web conference to be announced - US 10am in San Francisco - US PST (Pacific Standard Time) 11am in Colorado - US MST (Mountain Standard Time) 12am in Chicago - US CST (Central Standard Time) 1pm in New York - US EST (Eastern Standard Time) - Europe 7pm in Berlin - CET (Central Europe Time) - Brazil 3pm in Belo Horizonte - BRT (Brasilia Time) - India 11:30pm in New Delhi - IST (India Standard Time)
- Tuesday 11 February 2020, Daytime - Bluejeans.com web conference to be announced - Note - PWG Virtual F2F - 5-6 February 2020 - Note - ISO TC22/SC32/WG12 in Berlin, Germany - 3-7 February 2020 - Note - TCG F2F in Miami, Florida - 10-13 February 2020 - Note - IEEE 1609 in San Diego, CA - 19-20 February 2020 - US 10am in San Francisco - US PST (Pacific Standard Time) 11am in Colorado - US MST (Mountain Standard Time) 12am in Chicago - US CST (Central Standard Time) 1pm in New York - US EST (Eastern Standard Time) - Europe 7pm in Berlin - CET (Central Europe Time) - Brazil 3pm in Belo Horizonte - BRT (Brasilia Time) - India 11:30pm in New Delhi - IST (India Standard Time)
- Tuesday 10 March 2020, Daytime - Bluejeans.com web conference to be announced - Note - US Daylight Savings Time starts 8 March 2020 - Note - EU Summer Time starts 29 March 2020 - Note - IETF 107 in Vancouver, Canada - 21-27 March 2020 - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 6pm in Berlin - CET (Central Europe Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time)