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


Reply via email to