Bug 38201 - Provide PDF printer driver for Windows clients
Provide PDF printer driver for Windows clients
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Print services
UCS@school 4.0
Other Linux
: P5 enhancement (vote)
: UCS@school 4.0 R2
Assigned To: Felix Botner
Florian Best
:
Depends on:
Blocks: 38699
  Show dependency treegraph
 
Reported: 2015-04-03 20:21 CEST by Michael Grandjean
Modified: 2015-06-12 13:42 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): External feedback
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Grandjean univentionstaff 2015-04-03 20:21:03 CEST
This is based on a feature request from a UCS@school workshop attendee:

The PDF printer should come with a windows printer driver pre-installed (samba share "print$"). Right now, you have to upload a fitting driver manually via point'n'print. Besides, that the process is error-prone, we don't explicitly mention that this is necessary or recommend a working driver in the manual (see Bug 38114 for this).
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2015-04-10 13:56:13 CEST
In UCS@school
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2015-04-16 18:39:44 CEST
In UCS@school a separate PDF printer share is created for each server. So the printer driver has to be assigned to the share within a UCS@school package.

Isn't there a generic windows printer driver provided by the CUPS project?

I think, the printer driver should be provided by the UCS package 
univention-cups-pdf and automatically installed "into samba". 
The assignment of the printer driver to the printer share should be done in the UCS@school package.

Any objections?
Comment 3 Felix Botner univentionstaff 2015-04-21 17:51:00 CEST
(In reply to Sönke Schwardt-Krummrich from comment #2)
> In UCS@school a separate PDF printer share is created for each server. So
> the printer driver has to be assigned to the share within a UCS@school
> package.
> 
> Isn't there a generic windows printer driver provided by the CUPS project?

No, they are no longer available.

BUT ,we can set a windows printer driver that is already (pre)installed on the windows clients. During first connect, the windows client installs the driver from local (not from the samba server) if the driver is available. A good candidate is "MS Publisher Color Printer", worked for me with
 * winxp (sp3)
 * win7 de
 * win7 en
 * win8.1

> 
> I think, the printer driver should be provided by the UCS package 
> univention-cups-pdf and automatically installed "into samba". 
> The assignment of the printer driver to the printer share should be done in
> the UCS@school package.

ucs-school-umc-printermoderation now sets the windows driver for PDFDrucker in the join-script (rpcclient). This was a bit tricky, because we have to use the machine account, but the machine account has no rights to manage printer driver settings. 
 -> s4: the host is temporary added to group "Print Operators"
 -> s3: the host is temporary added to group "Printer-Admins"

UCR Configuration:
 * ucsschool/printermoderation/windows/driver/name
   name of the windows printer driver - "MS Publisher Color Printer" by default
 * ucsschool/printermoderation/windows/driver/assign
   if this is false, the join script skips the driver assignment
 
QA: for s3 and s4
 * single server
 * multi-server
 * on a windows client (domain join is not necessary) open the school dc slave (\\IP_SCHOOL_DC)
   and double click PDFDrucker, the printer should be available/usable (without asking 
   for a driver)

Changelog entry has been added.
Comment 4 Felix Botner univentionstaff 2015-04-22 10:04:08 CEST
Added 

00_checks/15_ucsschool_check_windows_printer_driver_for_pdf_printer

to ucs-test-ucsschool to verify that the windows printer driver for PDFDrucker is 'MS Publisher Color Printer'
Comment 5 Florian Best univentionstaff 2015-04-28 16:45:58 CEST
The joinscript does not fail if the creation fails (e.g. because the statement in the loop never became true).
Comment 6 Felix Botner univentionstaff 2015-04-29 09:04:55 CEST
(In reply to Florian Best from comment #5)
> The joinscript does not fail if the creation fails (e.g. because the
> statement in the loop never became true).

fixed in ucs-school-umc-printermoderation 11.0.1-6.49.201504281757
Comment 7 Florian Best univentionstaff 2015-04-29 13:09:27 CEST
Please increase the joinscript version and insert a release note that the change can be disabled via setting the UCR variable ... before updating.
Comment 8 Florian Best univentionstaff 2015-04-29 13:11:40 CEST
The success=true »after« the break statement is not executed.
Comment 9 Florian Best univentionstaff 2015-04-29 13:53:26 CEST
OK: winxp + samba3
OK: win7 + samba3
OK: winxp + samba4
OK: win7 + samba4
OK: ACL workaround for host permissions (Bug #24075)
OK: Changelog
TODO: Release note
TODO: joinscript-version, joinscript-exit-code
Comment 10 Felix Botner univentionstaff 2015-04-30 10:27:38 CEST
* outsourced the windows driver setting part to 
  /usr/share/ucs-school-umc-printermoderation/set-windows-driver-for-pdf-printer 
  (for later execution).

* in the join script the windows driver will only be set during the first join.

* updated changelog
Comment 11 Florian Best univentionstaff 2015-04-30 13:38:46 CEST
If the script is executed on a samba3 slave the script have to be called with --binddn, ….
Without is just prints
Permission denied.
Restarting Name Service Cache Daemon: nscd.
Setting windows printer driver for PDFDrucker ...
result was WERR_ACCESS_DENIED
result was WERR_ACCESS_DENIED
result was WERR_ACCESS_DENIED
… 300 times …

Please adjust this with a usage string + die.
Comment 12 Felix Botner univentionstaff 2015-04-30 14:00:07 CEST
* added a check for --binddn and --bindpwd or --bindpwdfile
* exit if udm groups/group modify fails
Comment 13 Florian Best univentionstaff 2015-04-30 15:03:58 CEST
OK: tested the script with s3-multimaster, s4-multimaster, s3-singlemaster.
Comment 14 Florian Best univentionstaff 2015-04-30 15:04:28 CEST
(In reply to Florian Best from comment #13)
> OK: tested the script with s3-multimaster, s4-multimaster, s3-singlemaster.
err, s3-singlemaster → s4-singlemaster
Comment 15 Florian Best univentionstaff 2015-05-11 19:24:54 CEST
UCS@school 4.0 R2 v1 has been released:
http://docs.univention.de/release-notes-ucsschool-4.0R2v1-de.html

If this error occurs again, please use "Clone This Bug".