Hi there,
experimenting with M29 and in the meantime with its update to version
"OOO300m1 (Build: 9342)" (installations files dated 2008-08-04):
- installing the ooRexx script provider works nicely,
- on Windows the registry entry now points to OOo300 as the default
one (which is fine, allowed me to test the installation script on
Windows, where the default OOo will be picked, and in the case of
OOo300 the unoinfo executable is used to learn about the needed
environment setup: very nice and very helpful!), which is fine,
- invoking any M29 component always informed about an available
update, applying it worked nicely (I just made sure that the check box
to remove all older versions of OOo got unchecked), the previously
installed ooRexx script provider remained in place and operational.
However (already with M29) the following tow issues are present at the
moment:
- if using the user-interface to create new libraries for "My
Macros" (user macros) or "OOo-dev Macros" (share macros), one *cannot*
create such libraries, which looks like a bug, but before filing an
issue, I just would like to make sure, that this indeed qualifies for a
(new, regression?) bug; looking up For the "share" branch on my machine
I looked up "D:\Programme\OOo-dev\Basis 3.0\share\Scripts" which does
not possess the "oorexx" subdirectory, which should be created while
installing the ooRexx script provider with unopkg; it contains the
OOo-supplied subdirectories "beanshell", "java", "_javascript_", and
"python".
- by contrast creating ooRexx libraries and creating ooRexx
macros therein for a document and then running it works, but *only*
from the ooRexx editor displaying the macro; i.e. choosing the menu
path: "Tools -> Macros -> Organize Macros -> ooRexx", choosing
a document, then a library and a macro therein, then a macro and then
"Edit", brings up the editor. Choosing the "Run" button on the editor
window executes the macro successfully.
- if using the user-interface to execute existing (ooRexx) macros
in a document does not work, but yields the following error pop-up:

---
Before you think this is some exotic problem, please note that I
experienced partly the same problems with OOo's supplied scripting
languages: i.e. it is not possible currently to create libraries
(neither in the "user", nor in the "share" realm). Running the
pre-installed macros via the Macros-menu works however.
So it seems that there are two different problems currently with the
scripting framework:
- creating libraries does not work via the user interface, all the
script languages are affected by this (different kinds of problems
there, the "worst" seems to be Python at the moment, as one cannot even
create macros at the document level);
- running scripts with the help of a supplied script provider for
ooRexx does not work via the Macros-user "Run" interface, only via the
ooRexx editor's "Run" which can be invoked via the Macros-user
interface as described above.
- Both, ScriptEditorForooRexx.java/ScriptSourceModel.java and
ScriptProviderForooRexx.java get first the class loader from
ClassLoaderFactory supplying a ScriptMetaData object, which then is
used to set the Thread's context class loader (will be restored upon
return from ooRexx or in caught exceptions):
cl = ClassLoaderFactory.getURLClassLoader( metaData );
...
Thread.currentThread().Thread.setContextClassloader(cl);
One additional info: the ooRexx script provider was compiled with JDK
1.4, using OOo 2.4.1's ScriptingFramework.jar. Haven't looked into
3.0.0's ScriptingFramework classes/sources yet to see, whether the
com.sun.star.script.framework.provider.ScriptContext.createContext()
method changed its signature, which could be a cause as well. [But then
I would have expected that a new version of createContext() would have
been added and the old one would have been left unchanged or marked
deprecated so to not break backward compatibility.] Will look into this
a little bit later...
TIA,
---rony
|