zotero/zotero-word-for-mac-integration — Issue #1: Figure out future plans
Author: simonster
Created: 2012-01-02 12:01:35+00:00
State: open

As of Firefox 11, it seems as though it's no longer possible to create a ModuleLoader from outside Firefox proper. We have 10 weeks to find a solution. There are three possible strategies:

* Try to fix the Firefox code base so that PythonExt works
* Port MacWord Integration to Scripting Bridge and an XPCOM component
* Port MacWord Integration to Scripting Bridge and js-ctypes

None of these are ideal. I hate dealing with PythonExt, and I think something like this was inevitable and even if I do my best to keep it up to date, no one else has any incentive to keep it up to date with rapid release. Additionally, appscript is no longer being maintained because Apple deprecated the APIs it uses, so eventually it's going to die too.

Switching to Scripting Bridge/XPCOM would remove the PythonExt and appscript dependencies, but we'd still need to recompile for every Firefox release. Switching to Scripting Bridge/js-ctypes would let us use the same extension for every release, but the integration interface is object-oriented and js-ctypes isn't, so there might be some ugliness.

Porting the code will probably require more effort than getting PythonExt to build again in the short term, but in the long term it seems like rapid release will eventually kill PyXPCOM/PythonExt, even if not with Firefox 11. It's only ~1200 lines of Python that we'd need to port to C and Obj-C, and most of it can probably be translated directly. I am not so confident that I can make this happen in the next 10 weeks, but I can try.