It’s now been more than one cycle that the new PDF export has been available (since 14.2) and we need to decide what we do with the old PDF export. Right now there are still 48 issues open for it at Loading...
I’m proposing that:
We officially declare it a deprecated feature, i.e. we (the XWiki Dev team) stop supporting it. This means closing as won’t fix all issues from Loading... that don’t affect the new PDF export and for those that do, simply remove the “oldcore - PDF Export” component.
We either move it Contrib or move it to the Attic
It might be a bit too early to move it to the Attic so we might want to first move it to Contrib and create a jira project for it, copying issues (maybe limited to bugs only) from Loading...
Since it’s been there for long it’s possible some of our users have complex setups or custom code for the old PDF export and they’d prefer to see it moved as a contrib extension where community members may want to continue working on it.
Move to contrib: the code that registers the PDF export button in the export UI
Move to contrib: any functional test testing the old PDF export
So indeed in this list there’s the FOP part too. I don’t see a need to keep it for now and if we ever need it in the future, we could rewrite it but based on components.
The hard parts are probably:
the “Modify” parts for which we would need to keep some backward-compatibility
retain the ability to re-install the old PDF export in an XWiki instance in a way that’s not too hard
Regarding the timing of the move, I don’t think it matters much if the chosen solution is to move to contrib, as users will still be able to use it. OTOH if we are forced to break APIs then it’s probably best to do that in 16.0+.
Even if we decide to postpone the move to 16.0, we can still declare it as deprecated once this proposal is agreed, and not supported anymore (or rather minimal support = blocker bugs - this includes regressions and important security issues), even if the code remains in the platform for a while. This would allow us to close the jira issues as won’t fix + update the various docs to mark it deprecated.
Do you realize that this means supporting the old PDF export in 15.10+, and thus fixing the following 30 issues ideally: Loading...
This is why I was proposing to deprecate it and mark it unsupported now (but possibly move it only in 16.0 to reduce risks although I don’t think it’s a real issue). This is also why I sent the list of jira issues we fixed for it in the past year, to show that in practice it’s currently not supported. So we coud indeed cheat and say it’s supported and not support it, but not sure it helps much.
Also, I don’t think we’re doing anyone a favor by keeping open jira issues that we know we’re not going to fix. Hence my comment above:
So to recap, what I’m proposing is to mark it deprecated officially + minimally supported (ie only blocker bugs) and close all jira issues we’re not going to fix.
So you want to deprecate it only at documentation level. What about the configuration that enables the old PDF export export.pdf.replaceFOP which is exposed in the PDF Export administration section? On a new installation the administrator may enable it without being aware it’s deprecated (without reading the documentation).
Personally I would remove it from the UI (I don’t think we should have added it TBH) and only keep it at the xwiki.properties level, with a comment explaining it’s temporary and will be removed and mention there that the old PDF export is deprecated and not supported anymore.