What is the battel plan to migrate from XULRunner?

1,847 views
Skip to first unread message

Simon Perdrisat

unread,
Feb 29, 2016, 2:39:55 PM2/29/16
to zotero-dev
Hello,

Their is already a lot of discussions about the end of XULRunner and how than the project should adapt. But I didn't find any information how what are the plans.

Only use standalone.
For my point of view it's clear than the "Zoter for Firefox" plugin is obsolete and the project should migrate to use only standalone. So the Firefox plugin can easily can be way lighter and use the almost the same code base has Chrome when https://wiki.mozilla.org/WebExtensions is ready.

In a user point of view it also make sens, their is a lot of confusion about standalone and not standalone. Documentation is harder to write when you have two radically different way of doing things. You also have a big risk to end up with two library. So again I don't understand why this project still provide the full Zotero application as a Firefox plugin.

Migrate the standalone Zotero from XULRunner to ...?
Witch platform is going to be used next for the UX and run the JS used in the core of Zotero? Their is of course http://nwjs.io  (formerly node-webkit) and http://electron.atom.io  (formerly atom-shell). But http://qt.io/ can  also be in option. I guess this is an opportunity to create a mobile app...

So what direction Zotero is going to take?

Best regards

Simon Perdrisat

Dan Stillman

unread,
Feb 29, 2016, 4:03:36 PM2/29/16
to zoter...@googlegroups.com
On 2/29/16 12:43 PM, Simon Perdrisat wrote:
Their is already a lot of discussions about the end of XULRunner and how than the project should adapt. But I didn't find any information how what are the plans.

Only use standalone.
For my point of view it's clear than the "Zoter for Firefox" plugin is obsolete and the project should migrate to use only standalone. So the Firefox plugin can easily can be way lighter and use the almost the same code base has Chrome when https://wiki.mozilla.org/WebExtensions is ready.

In a user point of view it also make sens, their is a lot of confusion about standalone and not standalone. Documentation is harder to write when you have two radically different way of doing things. You also have a big risk to end up with two library. So again I don't understand why this project still provide the full Zotero application as a Firefox plugin.

As long as we can continue using the same code base, there's very little cost to producing both, and there are significant benefits. Many users prefer the tighter integration that the Firefox version provides, it provides some features that can't currently be offered in other browsers, and the Firefox version makes various aspects of development much easier. The drawbacks you describe do exist, but I don't think they're quite as bad as you make them out to be — it's true that some people are confused by the two versions (though usually by confusing Zotero for Firefox with the website), but the two versions use the same data directory by default, you can switch seamlessly between the two, and much of the documentation can be identical.

But yes, ultimately we won't have a choice here. XUL/XPCOM's days are numbered, there's no plan (that we've seen) for WebExtensions to offer the same ability to customize the Firefox UI that Zotero relies on now, and even if there was Mozilla has made it pretty clear that they're no longer interested in being an application platform. So the upshot is that we will indeed be discontinuing the full-featured Firefox version within the next year. The Firefox connector may retain some unique features — WebExtensions are tracking Chrome extension functionality to start but will likely eventually expand on it significantly — but all Zotero users will ultimately need to start using Standalone (which, conveniently, will be able to just be called "Zotero") to get full functionality.


Migrate the standalone Zotero from XULRunner to ...?
Witch platform is going to be used next for the UX and run the JS used in the core of Zotero? Their is of course http://nwjs.io  (formerly node-webkit) and http://electron.atom.io  (formerly atom-shell). But http://qt.io/ can  also be in option. I guess this is an opportunity to create a mobile app...

So what direction Zotero is going to take?

We'll be porting Zotero to Electron.

While the migration will be painful — we make pretty heavy use of XUL and XPCOM — we're excited for this change, and there will be some great benefits, including the ability to use NPM modules, better OS integration, better documentation, and, in general, a continuously improving application platform used by thousands of other projects. (Another upcoming project from CHNM, Tropy, is also being built on Electron, and we'll likely be able to share some of the same code and will also benefit from their experience.)

Freeing ourselves from the tight confines of a browser pane should also provide us with much more flexibility in terms of user interface, and we're planning for a major UI overhaul to go along with this migration.

We're currently focused on getting 5.0 — which will still use the current architecture — out the door as soon as possible, but after that we'll start talking more about our migration plans. The goal, of course, will be to make the transition as seamless as possible for existing Zotero users.

Simon Perdrisat

unread,
Mar 1, 2016, 5:44:38 PM3/1/16
to zotero-dev
Thanks a lot for those precisions.

Good news, I will then stay on Zotero and recommend it.

Electron is going to make things so much easier.... It will also be lot more exciting to jump in the project code.

I was sometimes looking into Bookends. Bookends interface/workflow is better (and some features are very sweet like "export pdf without annotation") but Zotero works with libreoffice. Both can import pdf "standard" comments/annotation it's why their are the only two alternative for me even bibdesk is pretty good.

Best regards

Simon

Will S

unread,
Mar 9, 2016, 12:54:05 PM3/9/16
to zotero-dev
I'm glad to hear that a plan forward has been identified. I had asked about this previously on this mailing list and on GitHub but not seen a response. Porting to Electron seems messy but offers a lot of upsides. Do you think Standalone will be able to go straight from XULRunner to Electron, or will it be necessary to switch it to Firefox ESR in between as was suggested previously?

I'm not that familiar with Electron but I know it was spun off from the Atom editor which is implemented as a minimal shell that gets most of its features through packages that are installed into it. Will Zotero have any kind of package support like this? I am wondering what to do about the two Zotero plugins I currently maintain (is it a waste to spend any more time on them?). Also, I don't maintain it but the ZotFile plugin is pretty well integrated into my current workflow.

Dan Stillman

unread,
Mar 11, 2016, 5:07:41 AM3/11/16
to zoter...@googlegroups.com
On 3/9/16 12:54 PM, Will S wrote:
> Do you think Standalone will be able to go straight from XULRunner to
> Electron, or will it be necessary to switch it to Firefox ESR in
> between as was suggested previously?

Firefox ESR. Mozilla has actually already pulled XULRunner from the tree
and is no longer putting out releases, so just to keep up with security
updates before Electron we'll need to use Firefox builds as the base.
We've already been doing that for the past few releases on some
platforms, so this isn't a big deal.

> I'm not that familiar with Electron but I know it was spun off from
> the Atom editor which is implemented as a minimal shell that gets most
> of its features through packages that are installed into it. Will
> Zotero have any kind of package support like this? I am wondering what
> to do about the two Zotero plugins I currently maintain (is it a waste
> to spend any more time on them?). Also, I don't maintain it but the
> ZotFile plugin is pretty well integrated into my current workflow.

We'll definitely still support plugins. We don't know exactly how that
will work yet, but extensibility is very important to us.

Marielle Volz

unread,
Oct 4, 2016, 2:49:20 PM10/4/16
to zoter...@googlegroups.com
Do we have any further information about the timescale with this? I know 5.0 is in Beta and 5.1 is next up with changes to the fields. Is the move to Electron up next after that? 



--
You received this message because you are subscribed to the Google Groups "zotero-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zotero-dev+unsubscribe@googlegroups.com.
To post to this group, send email to zoter...@googlegroups.com.
Visit this group at https://groups.google.com/group/zotero-dev.
For more options, visit https://groups.google.com/d/optout.

Dan Stillman

unread,
Oct 4, 2016, 7:14:15 PM10/4/16
to zoter...@googlegroups.com
On 10/4/16 2:49 PM, Marielle Volz wrote:
> Do we have any further information about the timescale with this? I
> know 5.0 is in Beta and 5.1 is next up with changes to the fields. Is
> the move to Electron up next after that?

That's the general plan, but we'll likely try to migrate as much of the
Standalone UI to React as we can while we're still on the Mozilla
platform, since otherwise we'd be stuck maintaining two parallel
branches while we tried to rewrite the entire program. We'll also
probably try to create Electron-compatible shims for some XPCOM
interfaces (e.g., nsIPrompt) so that we can share code without rewriting
everything at once. So I don't really see Electron happening before the
end of 2017, with various new features coming to the Mozilla-based
version in the meantime).

We will, however, be discontinuing the full-featured Zotero for Firefox
sooner — as early as January 2017 — due to the Firefox e10s
(multiprocess) migration. (In theory the full extension could be made to
work with e10s, but given that XUL extensions are being discontinued by
the end of 2017 anyway it's not worth the effort.)

Emiliano Heyns

unread,
Oct 27, 2016, 5:38:49 AM10/27/16
to zotero-dev
On Friday, March 11, 2016 at 11:07:41 AM UTC+1, Dan Stillman wrote:
On 3/9/16 12:54 PM, Will S wrote:
> Do you think Standalone will be able to go straight from XULRunner to
> Electron, or will it be necessary to switch it to Firefox ESR in
> between as was suggested previously?

Firefox ESR. Mozilla has actually already pulled XULRunner from the tree
and is no longer putting out releases, so just to keep up with security
updates before Electron we'll need to use Firefox builds as the base.
We've already been doing that for the past few releases on some
platforms, so this isn't a big deal.


What version of ESR is standalone built on? I'm using an ES6 module in Better BibTeX that runs OK in FF ESR45 but (according to reports, still investigating) not on standalone.
 

Emiliano Heyns

unread,
Oct 27, 2016, 5:40:24 AM10/27/16
to zotero-dev
On Wednesday, October 5, 2016 at 1:14:15 AM UTC+2, Dan Stillman wrote:
We will, however, be discontinuing the full-featured Zotero for Firefox
sooner — as early as January 2017 — due to the Firefox e10s
(multiprocess) migration. (In theory the full extension could be made to
work with e10s, but given that XUL extensions are being discontinued by
the end of 2017 anyway it's not worth the effort.)

Is there a way to have Zotero standalone spawned by Selenium as if it were Firefox? My test suite is built around Selenium. I'd rather not have to port it if I don't have to. 

Dan Stillman

unread,
Oct 27, 2016, 12:21:46 PM10/27/16
to zoter...@googlegroups.com
On 10/27/16 5:38 AM, Emiliano Heyns wrote:
> What version of ESR is standalone built on? I'm using an ES6 module in
> Better BibTeX that runs OK in FF ESR45 but (according to reports,
> still investigating) not on standalone.

Zotero Standalone 4.0 for Linux: 39
Zotero Standalone 4.0 for Windows: 41
Zotero Standalone 4.0 for Mac: 49
Zotero Standalone 5.0 Beta for Windows: 45esr
Zotero Standalone 5.0 Beta for Mac/Linux: 49

So once 5.0 is out we'll be at at least 45 across the board. There won't
be new 4.0 releases for Windows/Linux.

I had trouble with later Firefox versions on Windows, so that might stay
on 45esr for a while.

Emiliano Heyns

unread,
Oct 27, 2016, 12:38:43 PM10/27/16
to zotero-dev
Bummer, that craters my plan using the babel transpiler.

Dan Stillman

unread,
Oct 27, 2016, 12:59:11 PM10/27/16
to zoter...@googlegroups.com
On 10/27/16 12:38 PM, Emiliano Heyns wrote:
> Bummer, that craters my plan using the babel transpiler.
>

Not sure what you mean. What do you need that you can't transpile?

FWIW, we're planning to start using Babel on 5.0 code in the near future.

Emiliano Heyns

unread,
Oct 27, 2016, 1:40:25 PM10/27/16
to zotero-dev
EDTF.js. It transpiles without issue with the es2015 preset, but EDTF.js uses new.target which doesn't work in FF 41 or earlier.

Emiliano Heyns

unread,
Oct 26, 2017, 5:36:16 PM10/26/17
to zotero-dev
On Thursday, October 27, 2016 at 6:21:46 PM UTC+2, Dan Stillman wrote:

So once 5.0 is out we'll be at at least 45 across the board. There won't
be new 4.0 releases for Windows/Linux.

I had trouble with later Firefox versions on Windows, so that might stay
on 45esr for a while.

What version did you guys settle on? I'm looking at minimizing polyfills, looking at this table I could get away without any on FF52ESR.

Dan Stillman

unread,
Oct 26, 2017, 5:44:32 PM10/26/17
to zoter...@googlegroups.com
All versions are now at least Firefox 52.
Reply all
Reply to author
Forward
0 new messages