citeproc at appengine

So I’ve created a “citeproc” account at Google’s appengine with the
thought that it might be a place to host a web service that could then
feed into Wave. If anyone actually wants to experiment with this, let
me know. AppEngine now supports Java, and the docs even mention using
Rhino, so Frank’s new code is an obvious option …

Bruce

Here’s a demo appengine app that uses rhino + helma ng:

http://helma-ng.appspot.com/

So it seems running JS on the server on appengine is no problem :wink:

Bruce

Here’s a demo appengine app that uses rhino + helma ng:

http://helma-ng.appspot.com/

So it seems running JS on the server on appengine is no problem :wink:

Yikes. So there’s my answer. :slight_smile:

Sorry, wrong response address. But this does look interesting.
Anyone game to set it up? I’d be very happy to help.

Frank

Just came across something that suggests Wave robots use json-rpc:

http://json-rpc.org/

Bruce

I’ve given you an invite for the project. It might be possible to use
your xml-rpc example more-or-less as is, but am not really sure of
what kinds of technical restrictions there are on the platform (beyond
that it has to be either Java (which can include other JVM language
lke JRuby or Scala) or Python).

Bruce

I’ve signed into the account. Not sure whether the Python engine will
have access to the spidermonkey library. There are other issues as
well. From a note for circulation that I sent privately a few minutes
ago:On Wed, Jun 10, 2009 at 4:39 AM, Bruce D’Arcus<@Bruce_D_Arcus1> wrote:

On Tue, Jun 9, 2009 at 11:28 AM, Bruce D’Arcus<@Bruce_D_Arcus1> wrote:

On Tue, Jun 9, 2009 at 11:13 AM, Frank Bennett<@Frank_Bennett> wrote:

On Wed, Jun 10, 2009 at 12:11 AM, Frank Bennett<@Frank_Bennett> wrote:

So it seems running JS on the server on appengine is no problem :wink:

Yikes. So there’s my answer. :slight_smile:

Sorry, wrong response address. But this does look interesting.
Anyone game to set it up? I’d be very happy to help.

I’ve given you an invite for the project. It might be possible to use
your xml-rpc example more-or-less as is …

Just came across something that suggests Wave robots use json-rpc:

http://json-rpc.org/


Hmm. WRT Wave, this xbiblio-devel thread about position awareness is relevant:

Thread: [xbiblio-devel] CSL processor status | XBib

CSL processing requires state awareness for disambiguation (for cite
formatting) and for position awareness (for back-references). Wave
would present the same issues as a word processor plugin, with the
possibility of deletion of references during a session, so there will
need to be some means of maintaining and updating state for those two
services. In Zotero, it’s been agreed that the processor maintains
disambiguation state on its own, but position awareness is to be
delegated to a separate middleman module, which calls the CSL
processor with appropriate values for each cite is processed in a
citation.

For Wave support, the position awareness machinery will need to be
provided somewhere, either in the processor itself or elsewhere.
Establishing state at the outset of a session is expensive, so some
means of efficiently saving state information in the Wave itself
should also be worked out. The thread above has some thoughts about
how to maintain pretty-good state in the processor, but with the
flexibility of Wave, a better solution that keeps things more tightly
updated may be possible. That design issue would probably be the
first challenge that needs to be looked at (not by me personally, as
I’m pretty much at the limit of my abilities and available time with
the string processing stuff in citeproc-js).

If it’s decided that position awareness should be available in the
processor, I can extend things in that direction, once the API for
insertions, deletes, and (if appropriate) the exchange of state
information with the Wave is settled.

This all looks very interesting, I must say. Full academic
authoring support in Wave would be a huge plus, and would open the
path to exciting possibilities both in research support and in
teaching. Looking forward to this one!


Frank

I’ve signed into the account. Not sure whether the Python engine will
have access to the spidermonkey library.

Ah right; I suspect they only allow native Python libraries. That
would suggest Java + Rhino.

There are other issues as
well. From a note for circulation that I sent privately a few minutes
ago:


Hmm. WRT Wave, this xbiblio-devel thread about position awareness is relevant:

Thread: [xbiblio-devel] CSL processor status | XBib

CSL processing requires state awareness for disambiguation (for cite
formatting) and for position awareness (for back-references). Wave
would present the same issues as a word processor plugin, with the
possibility of deletion of references during a session, so there will
need to be some means of maintaining and updating state for those two
services. In Zotero, it’s been agreed that the processor maintains
disambiguation state on its own, but position awareness is to be
delegated to a separate middleman module, which calls the CSL
processor with appropriate values for each cite is processed in a
citation.

For Wave support, the position awareness machinery will need to be
provided somewhere, either in the processor itself or elsewhere…

A citeproc web service might have a mode where it’s just returning a
dumb set of formatting options, and the code at the document/wave is
responsible for knowing which one to choose?

This all looks very interesting, I must say. Full academic
authoring support in Wave would be a huge plus, and would open the
path to exciting possibilities both in research support and in
teaching.

Yup. I actually requested an account, talking about both this, and
also integrating Wave into an LMS.

Bruce