Does anyone have a Connections 7 installation on RHEL 8 where PDF Export *is* working?

I have this longstanding ticket with HCL support on a not-working PDF export and it keeps on going in circles, but is not getting solved.

Since not that long, RHEL 8 is officially supported for Connections 7. Apart from myself I know one other person with a Connections 7.0 installation on RHEL 8. For both of us, PDF export is not working. I therefore suspect that this is a problem in the ic360 code, and that there haven't been enough customer calls about this yet as hardly anyone runs Connections on RHEL 8 already. But of course, I could be wrong.

Therefore if you're running Connections 7 (CFix status and WAS versions don't matter) on RHEL 8, can you please put in a comment whether PDF export is working for you? The simplest way is to go to https://<your connections url>/ic360/ui/selftest.html and look at the bottom. This is mine:

Have you installed icxt fullversion?

I can’t use the selftest page on my demo without icxt full. I have installed on Rockylinux 8 without an issue, pdf export works.

If you have icxt fullversion, do not deploy the icxt components with the Connections Installer, deploy all from the icxt package!

Regard
Christoph

Thanks for your input Christoph. My installation is running on CentOS 8 Stream, but that shouldn't really make a difference compared to Rocky Linux.

I have just the installation from the Connections 7 package. Everything installed default out of the box. A large part with the Ansible scripts. So no icxt full version. Nevertheless, the selftest page of icxt has always worked here.

Which versions of fontconfig and freetype do you have in your environment? I have 2.13.1 and 2.9.1 here. Also, did you install any i686 packages to get pdf export working?

Centos Stream is the upstream for RHEL. So nearly all packages and kernels are newer. Rocky and Alma are compiled from RedHat Sources and so called binary compatible. Like the old CentOS versions. Fontconfig and freetype are the same version. I installed with the official Ansible roles and worked directly. You need i686 and x86_64 afaik. Where does it fail? Pdf icon visible in Blogs and Wikis? Does the page open? Any log messages? Trace?

wkhtmltopdf:

This can help getting all settings and binaries together:

https://help.hcltechsw.com/connections/api/icxt/install-guide-pdfexport.html#PDF_Export_executable

About selftest, ah you're right, it is working now. Had to add the admin user in acl.properties.

That's my config:

This is where my installation goes wrong:

SystemOut.log says:

[12/07/22 22:10:37:874 CEST] 000002e8 PageNotFound W org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupported Request method 'GET' not supported

That's the only indication that something went wrong.

I ran the scripts that are mentioned in the url you provided. That's an interesting URL btw. It differs from the regular one and I hadn't seen this one before.

It sure did something, but on the selftest page it still shows:

and indeed, the result was the same as above.

wkhtmltopdf is on the server:

[wasusr@hestia ICCluster_server1]$ which wkhtmltopdf
/usr/local/bin/wkhtmltopdf

Can you convert on the Dmgr/AppSrv server on the cli?

wkhtmltopdf https://cnx-server/index.html test.pdf

[wasusr@hestia ~]$ wkhtmltopdf https://<my-connections-url> test2.pdf
Loading pages (1/6)
Warning: A finished ResourceObject received a loading finished signal. This might be an indication of an iframe taking too long to load.
Warning: A finished ResourceObject received a loading progress signal. This might be an indication of an iframe taking too long to load.
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

This call checks the wkhtmltopdf binary: https://your-cnx-server/ic360/ui/api/selftest/pdf.json

I enabled the default traces in /ic360/ui/tools/icxt-maintenance.html then trace.log of AppsCluster shows:

[7/13/22 7:13:44:820 UTC] 000001b5 PrintQueueSer 1 com.ibm.ess.ic.ic360.util.print.PrintQueueService queuePrintRequest > 
[7/13/22 7:13:44:821 UTC] 000001b5 PrintQueueSer 1 com.ibm.ess.ic.ic360.util.print.PrintQueueService queuePrintRequest < 1657696424821
[7/13/22 7:13:44:822 UTC] 000001b5 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl printPdfFromHtmlFile wkhtmltopdf.command.exec: /usr/local/bin/wkhtmltopdf
[7/13/22 7:13:44:823 UTC] 000001b5 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl printPdfFromHtmlFile Execute command '/usr/local/bin/wkhtmltopdf --username jjones1 --password **** --load-media-error-handling ignore --encoding UTF-8 --enable-local-file-access /tmp/tmp/htmlTemp_4332098738140881542.html /tmp/pdfTemp_1204857745279582969.pdf'
[7/13/22 7:13:44:849 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Loading pages (1/6)
[7/13/22 7:13:44:849 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [> ] 0%
[7/13/22 7:13:44:850 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [======> ] 10%
[7/13/22 7:13:44:850 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [==============================> ] 50%
[7/13/22 7:13:44:856 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [============================================================] 100%
[7/13/22 7:13:45:057 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Counting pages (2/6)
[7/13/22 7:13:45:058 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [============================================================] Object 1 of 1
[7/13/22 7:13:45:060 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Resolving links (4/6)
[7/13/22 7:13:45:060 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [============================================================] Object 1 of 1
[7/13/22 7:13:45:060 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Loading headers and footers (5/6)
[7/13/22 7:13:45:060 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Printing pages (6/6)
[7/13/22 7:13:45:060 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [> ] Preparing
[7/13/22 7:13:45:061 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > [============================================================] Page 1 of 1
[7/13/22 7:13:45:067 UTC] 000001e8 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl$StreamGobbler run /usr/local/bin/wkhtmltopdf > Done
[7/13/22 7:13:45:070 UTC] 000001b5 ContentPrintS 1 com.ibm.ess.ic.ic360.util.print.ContentPrintServiceImpl getPdfPrintAsStream Read in file stream from file '/tmp/pdfTemp_1204857745279582969.pdf'

So you see the whole call which is used (and that the http.admin user and password are used), or get an error message to digg into it deeper.

Regards
Christoph

I would test with index.html this is available without login.

That part works.

wkhtmltopdf https://connect.martdj.nl/index.html test.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

There doesn't seem to be a problem with the wkhtmltopdf installation. So it has to be something wiith the IC360 installation. Btw, I'm running Connections as non-root. I don't know if that makes a difference.