Hi Miguel,

I had been busy most of the week with my TA teaching duties. Jason did get
back to me and I'm forwarding what he wrote. I looked briefly at IPython
widgets, and at the Sage Cell Server code but I have not had much free time
this week.


I am at a conference this weekend at Yale, so I probably won't have much
time to look at it until Monday (I have all of Monday off though). I'll
contact William Stein when I get back and ask him for his input also. I
might also email Rado.

I'm pretty sure I can make this work, but it will require that I do my
research. I'll let you know how my understanding progresses sometime early
next week.

Jason


---------- Forwarded message ----------
From: Jason Grout <[email protected]>
Date: Tue, Mar 25, 2014 at 8:09 AM
Subject: Re: the graph editor that you wrote for the Sage notebook
To: Jason Suagee <[email protected]>, sage-gsoc <[email protected]>


 On 3/23/14, 10:57, Jason Suagee wrote:

Hello Professor Grout,

 My name is Jason Suagee and I am a graduate student at George Washington
University in the Math department. I'm contacting you because I might be
designing a knot/link editor for Sage as part of this year's Google summer
of code, similar to the graph editor that you created for Sage. I am
wondering if you could give me a hand in understanding how your graph
editor communicates with the rest of Sage.

 I understand how the data goes from the Sage server to the notebook, and
then to the graph editor (or at least I think I do). However, I am
struggling to understand the method by which the graph editor sends data
back to the Sage notebook. I think that most of my difficulties is due to
my lack of knowledge about javascript and the Sage notebook. (I'm coming
from a more mathematics background, not a programming background.)

 Any help would be appreciated (such as a reference to read, or a synopsis
of how the notebook server works in general).

 Rado Kirov implemented the graph editor.  IIRC, it communicated with Sage
via a kludge (I think it constructed Python code in javascript, then asked
Sage to evaluate it like it was a cell).

For things going forward, I'd recommend either adopting the IPython style
comm/widget infrastructure for communication between backend and frontend
(like we have in the Sage Cell Server, and in IPython), or some equivalent
in the sage-cloud project.  Some information about the IPython Comm/Widget
infrastructure is here:
http://nbviewer.ipython.org/github/ipython/ipython/tree/master/examples/widgets/.
William may also have something to add about his plans regarding
communication with frontend widgets in cloud.sagemath.com.

Thanks,

Jason

-- 
You received this message because you are subscribed to the Google Groups 
"sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-gsoc.
For more options, visit https://groups.google.com/d/optout.

Reply via email to