as part of the upgrade of Jodconverter to version 4.4 I noticed that we are currently exposing in our OfficeConverter interface some classes from Jodconverter. The problem with that kind of practice is that each time Jodconverter community performs changes on their API it’s also breaking our own API. And it’s actually here when upgrading from Jodconverter 3.2 to 4.4 since the package names have changed.
Now I reviewed quickly the internal usages of
OfficeConverter#getFormatRegistry and it appears that we’re using it for 3 reasons:
- in some
isPresentationmethod to check if a file is a presentation based on the file extension
- in a
isConversionSupportedmethod in the OfficeViewerScriptService
- in a
getExportTypemethod in oldcore mainly used for the office Export
I also check the usages of this API in xwiki-contrib, but I haven’t found any.
So since upgrading to jodconverter 4.4 will necessarily imply some breaking changes, I propose to use the opportunity to completely remove
OfficeConverter#getFormatRegistry and to provide instead the 3 missing methods related to our internal usages.
For information I already opened a PR with the preliminary work for upgrading jodconverter without the refactoring: https://github.com/xwiki/xwiki-platform/pull/1495