Meeting called to order by Ira McDonald at 1pm US Eastern. Minutes taken by Ira McDonald.
Recording of this conference call will be archived at:
http://www.openprinting.org/download/meetingnotes/op-telecons/ OP-Meeting-20180612.mp3
Attendees
Agenda
- We are moving to GitHub now: https://github.com/OpenPrinting - No updates
- Moved to new upstream home: https://github.com/OpenPrinting/ippusbxd - The improvements from David Valleau (Google, Chrome OS) are now committed to the ippusbxd GIT repository. - So these changes are now official part of ippusbxd: - https://github.com/OpenPrinting/ippusbxd/pull/2 Updating Communication Code --------------------------- from David Valleau (Google, Chrome OS) ------------------------------------------------------------------------------ Changes to USB The first commit is a simple change which has the USB library claim all of the available ipp-over-usb interfaces at the time of startup and only release them once the USB connection has been closed. The reason for this is that some printers will behave in strange ways if one interface is released while another interface is in the process of communicating. Changes to ippusbxd The second larger change is a redesign of how ippusbxd processes communication between the socket and the printer. The current implementation only supports transferring data from one end to the other, and relies on parsing the contents of the HTTP headers in the messages in order to determine when one end is done transferring data. Unfortunately due to the fact that many printers have implemented their HTTP servers in a variety of ways, the assumptions that the current implementation has made about when the printer has finished sending data do not hold up. The proposed implementation uses a pair of threads which are responsible for reading strictly from one end of the communication. One thread reads from the socket and sends data to the printer, the other thread reads from the printer and sends data to the socket. This allows ippusbxd to serve as a simple pass-through of information without having to keep any internal state or parse the contents of the messages which it handles. Since parsing the contents of the HTTP messages is no longer necessary, most of the existing HTTP code has been deleted. ------------------------------------------------------------------------------
- Avahi - Still no answer from Trent Lloyd yet. - Till considers Avahi as unmaintained. - Anyone wants to maintain it? - Or knows someone?
- CUPS source code and bug reports are handled on GitHub now - https://github.com/apple/cups/ - CUPS Summary (Till) - There are two new CUPS releases this time: 2.3b5 and 2.2.8. - The 2.2.8 version contains backports of all bug fixes done in the 2.3.x series. - CUPS 2.2.8 is a bug fix release that addresses issues in the scheduler, ipptool utility, CUPS library, and USB printer support. - CUPS 2. - CUPS 2.2.8 release on 5 June 2018 (Mike) - Additional changes for the scheduler to substitute default values for invalid job attributes when running in "relaxed conformance" mode (Issue #5229) - The ipptool program no longer checks for duplicate attributes when running in list or CSV mode (Issue #5278) - Fixed builds without PAM (Issue #5283) - Fixed lpoptions man page (Issue #5286) - The cupsCreateJob, cupsPrintFile2, and cupsPrintFiles2 APIs did not use the supplied HTTP connection (Issue #5288) - Fixed another crash in the scheduler when adding an IPP Everywhere printer (Issue #5290) - Added a workaround for certain web browsers that do not support multiple authentication schemes in a single response header (Issue #5289) - Fixed policy limits containing the All operation (Issue #5296) - The scheduler was always restarted after idle-exit with systemd (Issue #5297) - Added a USB quirks rule for the HP LaserJet P1102 (Issue #5310) - The mailto notifier did not wait for the welcome message (Issue #5312) - Fixed a parsing bug in the pstops filter (Issue #5321) - Documentation updates (Issue #5299, Issue #5301, Issue #5306) - Localization updates (Issue #5317) - The scheduler allowed environment variables to be specified in the cupsd.conf file (rdar://37836779, rdar://37836995, rdar://37837252, rdar://37837581) - Fax queues did not support pause (p) or wait-for-dialtone (w) characters (rdar://39212256) - The scheduler did not validate notify-recipient-uri values properly (rdar://40068936) - The IPP parser allowed invalid group tags (rdar://40442124) - Fixed a parsing bug in the new authentication code. - CUPS 2.3b5 beta release approaching 2.3.0 (still waiting for licensing to get sorted out): - The ipptool program no longer checks for duplicate attributes when running in list or CSV mode (Issue #5278) - The cupsCreateJob, cupsPrintFile2, and cupsPrintFiles2 APIs did not use the supplied HTTP connection (Issue #5288) - Fixed another crash in the scheduler when adding an IPP Everywhere printer (Issue #5290) - Added a workaround for certain web browsers that do not support multiple authentication schemes in a single response header (Issue #5289) - Fixed policy limits containing the All operation (Issue #5296) - The scheduler was always restarted after idle-exit with systemd (Issue #5297) - Added a USB quirks rule for the HP LaserJet P1102 (Issue #5310) - The mailto notifier did not wait for the welcome message (Issue #5312) - Fixed a parsing bug in the pstops filter (Issue #5321) - Documentation updates (Issue #5299, Issue #5301, Issue #5306) - Localization updates (Issue #5317) - The scheduler allowed environment variables to be specified in the cupsd.conf file (rdar://37836779, rdar://37836995, rdar://37837252, rdar://37837581) - Fax queues did not support pause (p) or wait-for-dialtone (w) characters (rdar://39212256) - The scheduler did not validate notify-recipient-uri values properly (rdar://40068936) - The IPP parser allowed invalid group tags (rdar://40442124) - Fixed a parsing bug in the new authentication code. - CUPS Filters Summary (Till) - Currently released is 1.20.3. - This is a bug fix release which especially fixes the problem of cups-browsed of cups-filters 1.20.2 not recognizing queues discovered via legacy CUPS browsing (remote servers with CUPS1.5.x and older, often found in enterprise setups) as remote CUPS queues. - CUPS Filters v1.20.4 plans (Till) - pdftoopvp: Silence compiler warning (Issue #42). - cups-browsed: If the user modifies/overwrites a print queue created by cups-browsed, it will now not only be automatically released from the control of cups-browsed, but we also create a replacement for our generated local queue under a new name. - cups-browsed: Make URIS for using the implicitclass backend correctly working also with queue names containing an '@' character. - braille: Strengthen error checking (Pull request #41). - braille: Index: Replace bogus characters with space (Pull request #41). - braille: Add print and braille page number options (Pull request #41). - braille: Index: Use standard duplex cups option (Pull request #41). - cups-browsed: Moved auto-generation of PPD file for IPP network printers from create_remote_printer_entry() function to update_cups_queues(). This allows re-creating accidentally removed or overwritten local queues without losing the PPD file. - braille: Add option to pick hyphenation rule according to current locale and make it the default for second translation table. Thanks to Samuel Thibault for this patch (Pull request #38 and #39). - braille: Remove generated defs on "make clean". Thanks to Samuel Thibault for this patch (Pull request #38). - braille: Turn non-breakable spaces to spaces. Thanks to Samuel Thibault for this patch (Pull request #38 and #39). - braille: Fix character encoding when extracting text. When extracing text from a zip file or a pdf, the resulting text is always utf-8 independently of the original locale, so we need to force that. Thanks to Samuel Thibault for this patch (Pull request #38). - braille: Warn when no text translation was selected in case the user didn't notice. Thanks to Samuel Thibault for this patch (Pull request #37). - CUPS Filters v1.20.3 release on 12 April 2018 (Till) - braille: Do not remove read permission on cups-brf. Thanks to Samuel Thibault for this patch (Pull request #32). - braille: Get braille table descriptions from liblouis metadata. Thanks to Samuel Thibault for this patch (Pull request #31). - braille: Select liblouis tables based on metadata before using file names. Thanks to Samuel Thibault for this patch (Pull request #30). - cups-browsed: The new method of identifying remote CUPS queues via the "printer-type" TXT record field does not work for printers discovered by legacy CUPS broadcast (CUPS 1.5.x or older). Now consider also printers without TXT record (not discovered via DNS-SD) as remote CUPS queues (Issue #34). - gstoraster: Improved detection whether input is PostScript or PDF by skipping over possible headers. Thanks to Rod Schmidt (schmidtrod at q dot com) for the patch.
- GSoC 2018 Schedule - DONE - 4 January to 23 January - Mentor organization applications - DONE - 23 January - 11 February - GSoC reviews mentor organization applications - DONE - 12 February - GSoC approves mentoring organizations - DONE - 12 February to 12 March - Students discuss GSoC projects - DONE - 12 to 27 March - Students apply for GSoC projects - DONE - 23 April - GSoC approves projects and Students - DONE - 14 May - GSoC coding begins - DONE - 11-15 June - GSoc Phase 1 evaluations by Mentors and Students - 9-13 July - GSoc Phase 2 evaluations by Mentors and Students - 6-14 August - GSoC final week - 14-21 August - Mentors submit final Student evaluations - 22 August - GSoC announces final results - October - GSoC Mentor Summit at Google - GSoC 2018 Status - Now the first third of the coding period has ended and the first evaluations have been done. - All the students for the Linux Foundation projects have passed and so they continue coding. - We got only 13 of the requested 19 student slots for the Linux Foundation and so we have only 6 slots for OpenPrinting. Fortunately, two of our originally selected students for whom we do not have a GSoC slot will do their projects voluntarily. - GSoC 2018 Projects (1) Make all filters in cups-filters use Poppler standard API or QPDF. - Make all filters in cups-filters which use Poppler only use the standard API of Poppler and no unstable, unofficial APIs, switch over to QPDF if more adequate (like bannertopdf for example). This task would improve the maintainability of cups-filters. - Student: Sahil Arora - Mentors: Till, *Jay (2) Enhancements for ipptool - Write additional ipptool scripts for coverage of operations and attributes that are required by IPP Everywhere, but not yet tested in IPP Everywhere Self- Certification process - also new scripts for other IPP specs (e.g., IPP Shared Infrastructure) for developers. - Students: Akash Sharma, Lakshay Bandlish - Mentors: *Smith, *Danny, Aveek, Ira (3) PWG Raster "ippdoclint" program - We ought to have a tool that can take an input PWG Raster document file and check its structure and report any errors / warnings / issues with the document's structure or content. This could be used by an "ippserver" tool as a "command" to process the input files, which could then report on structural problems with the document content submitted with a Job, and report its status accordingly. - https://github.com/istopwg/ippsample/issues/29 - Student: Rithvik Patibandla - Mentors: Smith, Danny, *Aveek (4) Common Print Dialog Backends project - The OpenPrinting project “Common Print Dialog Backends” provides a D-Bus interface to separate the print dialog GUI from the communication with the actual printing system (CUPS, Google Cloud Print, ...) having each printing system being supported with a backend and these GUI-independent backends working with all print dialogs (GTK/GNOME, Qt/KDE, LibreOffice, ...). This allows for easily updating all print dialogs when something in a print technology changes, as only the appropriate backend needs to get updated. Also new print technologies can get easily introduced by adding a new backend. For quickly getting this concept into the Linux distributions we need the following smaller, but important, tasks to be done: (a) The CUPS backend tells the print dialog only about printer-specific user- settable options, not about just general options implemented in CUPS or cups-filters and so being available for all print queues. These are options like N-up, reverse order, selected pages, ... As they are only common for CUPS and not necessarily available with other print technologies like Google Cloud Print, they should get reported to the print dialog by the CUPS backend. (b) A print dialog should allow to print into a (PDF) file. This should be implemented in a new print dialog backend. (c) As it will take time until GTK4 with its new print dialog is out, we should get support for the new Common Print Dialog Backends concept for the current GTK3 dialog. As this dialog has its own backend concept one simply would need an “adapter” backend to get from the old concept to the new, common concept. These are three smaller projects, so we expect that one student will do them in this GSoC 2018 summer. - Student: Ayush Bansal - Mentors: Till, *James (5) Content-oriented printer auto-selection - Cluster arbitrary collection of printers (all available printers) into one queue with merged PPD (all options of all printers available, option conflicts if selection cannot be obeyed on one single printer), user selects options (and document type, like text, photo, ... is also submitted) and printer (or printers) to print the job on gets auto-selected by cups-browsed. User does not need to know which printers are avaialable and what they are capable of. Interesting idea for a new concept of printing user experience. - Student: Deepak Patankar - Mentor: *Till - Outside Projects (of GSoC 2018) where students are voluntarily continuing (1) Enhance "ippserver" to support the full range of IPP data types - Enhance "ippserver" to support the full range of IPP data types (especially complex data types like (1setOf (textWithLanguage)) and handling the strings being wrapped in single / double quotes, etc. - Student: Aakash Lahoti - Mentors: Mike, *Ira, Danny, Aveek (3) Qt Print Dialog completion - The Qt Print Support framework should be updated with the CPD support. The goal is to provide the CPD GUI features and D-Bus communications with the CPD backend support for printing from Qt5 applications on supported platforms. Based on the GSoC 2017 work, one example of Qt CPD implementation outside of Qt Print Support can be found at: https://github.com/rithvikp1998/CPDv2. For this task, implementation is expected to start with QPrintDialog instead. - Student: Gaurav Purohit - Mentor: *Dongxu
- PWG Virtual F2F (PWG Host) - 15-16 August 2018 - 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-20180618.htm - IPP Everywhere Self-Certification - PWG 5100.20-2016 - Active - http://ftp.pwg.org/pub/pwg/candidates/ cs-ippeveselfcert10-20160219-5100.20.pdf - IPP Everywhere 1.0 Self-Certification Manual 1.0 - Q1 2016 - https://www.pwg.org/dynamo/eveprinters.php - 272 IPP Everywhere printers currently certified! - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve11-20180606-rev.pdf - IPP Everywhere 1.1 - Q2/Q3 2018 - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeveselfcert11-20180606-rev.pdf - IPP Everywhere 1.1 Self-Certification Manual 1.1 – Q2/Q3 2018 - IPP System Service (Mike/Ira) - Prototype draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippsystem10-20180504-rev.pdf - PWG F2F review in May 2018 - Schedule - Stable draft in Q3/Q4 2018 - prototyping in "ippserver" - PWG Safe G-Code - Prototype draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-pwgsafegcode10-20180604-rev.pdf - IPP WG review on 06/07/18 - Schedule - IPP WG Last Call Q4 2018 - IPP 3D Printing Extensions 1.1 - Interim draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipp3d11-20180605-rev.pdf - IPP WG review on 06/07/18 - Schedule - Prototype draft Q4 2018 - How to Print Using the IPP - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippguide-20180430.html - https://github.com/istopwg/pwg-books - PWG F2F review in May 2018 - Schedule - TBD - IPP Authentication (Smith) - Whitepaper - http://ftp.pwg.org/pub/pwg/ipp/whitepaper/tb-ippauth-20180510.pdf - PWG F2F review in May 2018 - Schedule - TBD - IPP Job Reprint Password (Smith) - Interim draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippreprintpwd-20180424-rev.pdf - PWG F2F review in May 2018 - Schedule - TBD - IPP Encrypted Jobs and Documents - Initial draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-trustnoone-20180328.pdf - PWG F2F review in May 2018 - Schedule - TBD - way forward on 06/04/18 via OpenPGP
- PWG Virtual F2F (PWG Host) - 15-16 August 2018 - http://www.pwg.org/chair/meeting-info/ - Trusted Computing Group in Lisbon, Portual - 15-19 October 2018 - http://www.trustedcomputinggroup.org/ - PWG Virtual F2F (PWG Host) - 14-15 November 2018 - http://www.pwg.org/chair/meeting-info/
Open Action Items
Next OP US/Europe/Brazil/India Conference Calls
- Note - US holiday 4 July 2018 - Tuesday 10 July 2018, Daytime - 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 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Note - Ira on travel on 7 August - Tuesday 14 August 2018, Daytime - 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 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Note - US holiday 3 September 2018 - Tuesday 11 September 2018, Daytime - 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 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)