A friend has LibreOffice installed (due to a better mail-merge-support I understand) and I came up with a script to help her taking advantage of the writer component. The script is written in ooRexx for which I authored an OOo scripting provider that works on OOo, making ooRexx an additional macro language for OOo.
Now, installing that package on her machine the scripts work from outside of LO flawlessly, however ooRexx does not get registered as another macro language in LO (missing from the "Macro" menu). After researching this issue for quite some time now, it turns out that LO removed a method in ClassLoaderFactory and changed the signature of the remaining method by removing the throws clause, causing a need to compile the script language provider against OOo's ScriptFramework.jar, if the script provider is to run against OOo, and having the need to compile it separately against LO's version of ScriptFramework.jar, which is a PITA. In the case that there are other script provider programmers hanging around, this is what I did in order to get a single version that runs also against LO, if there is a need to use ClassLoaderFactory (maybe in the XScript implementation part): ... cut ... // instead of: cl = ClassLoaderFactory.getURLClassLoader( metaData ); // load and run the method dynamically at runtime: Class clfClz=Class.forName("com.sun.star.script.framework.provider.ClassLoaderFactory"); Class smdClz=Class.forName("com.sun.star.script.framework.container.ScriptMetaData"); Method meth =clfClz.getMethod("getURLClassLoader", new Class<?>[]{smdClz} ); cl=(ClassLoader) meth.invoke(null, new Object []{metaData}); ... cut ... Again, this is just a side note for other script provider implementors who get hit by this LO pecularity. Also: in the "description.xml" deployment file make sure that the element "OpenOffice.org-minimal-version has a value "3.4" or higher (cf. <https://wiki.documentfoundation.org/Development/Extension_Development>), such that the extension is not regarded as "legacy" by LO. In the end, with the above changes, the ooRexx scripting provider again gets accepted as a macro language for LO. The reference remains OOo, which has been working in all other aspects of the Macro menu (run, edit, making the installed macros available etc.) as per the specifications, whereas LO has some problems in that area (shared scripts not showing up, listing of the script language in the menu disappears, if the menu got used, still user macros remain visible and executable). ---rony