OpenRefine icon indicating copy to clipboard operation
OpenRefine copied to clipboard

ExporterManager: add an explicite extension point

Open Abbe98 opened this issue 7 months ago • 2 comments

Prior to this change one would extend the export menu by pushing directly to an array. This comes with several issues:

  • The interface isn't actually controlled by us and is incredibly large.
  • We can't document the interface in a structured way(with for example JSDoc).
  • Extensions ability to modify the menu isn't limited.

This change does not break existing interfaces as the underlying array is untouched. Some extensions do more than pushing to the array, however, that could be considered a side effect of the interface rather than an intended feature. If there are legitime use-cases beyond pushing additional extension points could be added.

Abbe98 avatar May 21 '25 14:05 Abbe98

PS this should not be squash merged.

Abbe98 avatar May 21 '25 14:05 Abbe98

I updated both commits to reflect your feedback @tfmorris. The only additional change is that I explicitly named the functions *After as the other menu extension points will need both *Before and *After versions so it makes sense to name these similarly.

Abbe98 avatar May 27 '25 17:05 Abbe98

@tfmorris, do you have any additional comments? I think your approval might be needed here before we're able to merge.

SoryRawyer avatar Jul 16 '25 18:07 SoryRawyer