<div dir="ltr">Hi all,<div><br></div><div style>[[ this may sound like a horrible idea at first but it has legs and has been used in limited context ]]</div><div style><br></div><div style>I think an &quot;attribute&quot; on the notebook called &quot;accesspath&quot; and an HTTP resolvable URI ( file:// or http:// or even mongo:// .... ) as a value makes this OS independent to a first order.</div>

<div style><br></div><div style><br></div><div style>It also allows the storage implementation code to be decoupled from the client in ways that do not require re-inventing these wheels and reuse of tons of built-in and well understood code.  Also for implementations in othe languages ( Ruby...) the address remains invariant.</div>

<div style><br></div><div style><div>Note: storage in SQL db&#39;s is probably best wrapped in a REST API for such purposes, with a set of CRUD primitives mapped to REST verbs, so we assume that SQL db&#39;s are behind an  http:// or https:// scheme.</div>

<div><br></div></div><div style>Bottom line using existing resolvable HTTP URI&#39;s for storage addressing gives both the hierarchy and the decoupling in an IPyNB friendly metaphor without need to write Yet Another Platform Independent Layer ( YAPIL ? )</div>

<div style><br></div><div style><div>[[ long long sidebar: having such an address also allows storage of notebooks (JSON blobs) in say Apache CouchDB which is an awesome REST addressable JSON store, which also has very powerful master-master replication.  CouchDB has an efficient storage format that saves embedded binaries and also allows custom indexes to be created using Map Reduce.</div>

<div>Having your own notebooks and a co-workers notebooks and being able to sync them on a LAN is effortless, as is syncing them to the cloud.  I have used Apache CouchDB (was the project manager for an NSF funded project in 2008-10) for JSON based bibliographies that could be synced. </div>

<div>A notebook storage in CouchDB + bibliographies in CouchDB would be a very powerful researchers&#39; publication management platform. </div><div>In our project we had spec&#39;ed out what an individual academic&#39;s bibliomanager, a departmental bibliomanager and a univ level biblio manager would look like.   We had also talked to administrators in the UCBerkeley statistics department to investigate how it would improve their work. </div>

<div><br></div><div>It was not implemented but another system which used CouchDB as a platform for creating citable URL&#39;s for unsolved Math problems was successfully implemented.  It managed inline LaTex using the precursor to MathJax - JSMath - as MathJax did not exist then.  We released on the 150th anniversary of the Riemann Hypothesis, in 2009, were Slashdotted and survived even when on a small EC2 instance - CouchDB is very resilient and manages concurrent requests very very well, in a resource efficient manner.  P.S. I do not sell CouchDB :-) ]]</div>

<div><br></div></div></div><div class="gmail_extra"><br clear="all"><div><br>------------------------------------------------------------------<br>Nitin Borwankar <br><a href="mailto:nborwankar@gmail.com">nborwankar@gmail.com</a></div>


<br><br><div class="gmail_quote">On Tue, Feb 26, 2013 at 2:47 AM, Matthias BUSSONNIER <span dir="ltr">&lt;<a href="mailto:bussonniermatthias@gmail.com" target="_blank">bussonniermatthias@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Le 26 févr. 2013 à 01:49, Brian Granger a écrit :<br>
<div class="im"><br>
&gt; Some of the questions we need to think about:<br>
&gt;<br>
&gt; * What does the web service look like to move around and query directories.<br>
&gt; * Do we map directory paths onto notebook URLS?  If so, how?<br>
&gt; * How do we build a UI/UX that is extremely simple, but functional<br>
&gt; enough to get the job done.<br>
&gt; * How do we want to abstract these things for different notebook backend stores?<br>
<br>
</div>IMHO, the &quot;backend&quot; should return a notebook &quot;document name&quot; ( not the one store in the json metadata)<br>
and a UUID when asked to &quot;list&quot; notebook<br>
<br>
The actual content of the notebook when asked.<br>
<br>
The actual &quot;mapping&quot; filesystem/url would be using uuid that are generated from hmac and path, so unique, and persistent.<br>
This also work for database<br>
 | uuid | document_name | content |<br>
<br>
For the UI,<br>
I can see &quot;breadcrumbs&quot; to navigate in parents directory.<br>
We could also do something like github, where you show both ipynb and folder and you can enter a folder.<br>
<br>
This would require some &quot;custom&quot; data structure that could be exchange from dashboard and backend.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Matthias<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
&gt; * How do notebook directories get mapped to kernel cwds?<br>
<br>
&gt; Cheers,<br>
&gt;<br>
&gt; Brian<br>
&gt;<br>
&gt; On Mon, Feb 25, 2013 at 2:03 AM, Robert Young &lt;<a href="mailto:rob@roryoung.co.uk">rob@roryoung.co.uk</a>&gt; wrote:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; This email is intended to start a conversation around hierarchical notebook<br>
&gt;&gt; listings. I submitted a pull request [1] and it was pointed out that<br>
&gt;&gt; supporting directories deserves some thought and discussion.<br>
&gt;&gt;<br>
&gt;&gt; Rob<br>
&gt;&gt;<br>
&gt;&gt; [1] <a href="https://github.com/ipython/ipython/pull/2977" target="_blank">https://github.com/ipython/ipython/pull/2977</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-dev mailing list<br>
&gt;&gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Brian E. Granger<br>
&gt; Cal Poly State University, San Luis Obispo<br>
&gt; <a href="mailto:bgranger@calpoly.edu">bgranger@calpoly.edu</a> and <a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a><br>
&gt; _______________________________________________<br>
&gt; IPython-dev mailing list<br>
&gt; <a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</div></div></blockquote></div><br></div>