<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 "attribute" on the notebook called "accesspath" 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'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's are behind an  http:// or https:// scheme.</div>

<div><br></div></div><div style>Bottom line using existing resolvable HTTP URI'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' publication management platform. </div><div>In our project we had spec'ed out what an individual academic'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'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"><<a href="mailto:bussonniermatthias@gmail.com" target="_blank">bussonniermatthias@gmail.com</a>></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>
> Some of the questions we need to think about:<br>
><br>
> * What does the web service look like to move around and query directories.<br>
> * Do we map directory paths onto notebook URLS?  If so, how?<br>
> * How do we build a UI/UX that is extremely simple, but functional<br>
> enough to get the job done.<br>
> * How do we want to abstract these things for different notebook backend stores?<br>
<br>
</div>IMHO, the "backend" should return a notebook "document name" ( not the one store in the json metadata)<br>
and a UUID when asked to "list" notebook<br>
<br>
The actual content of the notebook when asked.<br>
<br>
The actual "mapping" 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 "breadcrumbs" 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 "custom" 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>
> * How do notebook directories get mapped to kernel cwds?<br>
<br>
> Cheers,<br>
><br>
> Brian<br>
><br>
> On Mon, Feb 25, 2013 at 2:03 AM, Robert Young <<a href="mailto:rob@roryoung.co.uk">rob@roryoung.co.uk</a>> wrote:<br>
>> Hi,<br>
>><br>
>> This email is intended to start a conversation around hierarchical notebook<br>
>> listings. I submitted a pull request [1] and it was pointed out that<br>
>> supporting directories deserves some thought and discussion.<br>
>><br>
>> Rob<br>
>><br>
>> [1] <a href="https://github.com/ipython/ipython/pull/2977" target="_blank">https://github.com/ipython/ipython/pull/2977</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>
>><br>
><br>
><br>
><br>
> --<br>
> Brian E. Granger<br>
> Cal Poly State University, San Luis Obispo<br>
> <a href="mailto:bgranger@calpoly.edu">bgranger@calpoly.edu</a> and <a href="mailto:ellisonbg@gmail.com">ellisonbg@gmail.com</a><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>
<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>