<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi, <div><br></div><div>I had a quick look at the code, but let's not talk about implementation. </div><div>I think the question of the dashboard/filesystem is a delicate one. </div><div><br></div><div>I already tried to hack a few things on it and I think it require a clear definition  of what need to be done on the api side before refactoring it. </div><div><br></div><div>The things that we need to considere are :</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>- our web app is not the only client of the api (Emacs client) </div><div>        - backend can be databases</div><div><br></div><div>So even if tree is a nice representation for filesytem (and I totally agree that in some case being able to see notebook a few level deeper than the current</div><div>would be so much useful) It can't apply everywhere. </div><div><br></div><div>There is also the problem that right now, the *kernel* starting directory is the same that the notebook dir, and with a tree view you can start it either on the root, or in the path of the launched ipynb.</div><div>And right now, this is also a problem with db backend.</div><div><br></div><div>On a performance side, walking all the filesystem to find all ipynb file is not very optimal neither, but we can surely hook onto indexing software to do that,  and/or limit the depth.</div><div><br></div><div>We discussed about this stuff during our last meeting, and there is also the issue with the naming/title of notebook. </div><div>Notebook have a  "document name" (could be different from filename) that **have to** be available **without** parsing the JSON. </div><div>in filesystem this is done with the filename. There is again an issue with database. </div><div><br></div><div>Dashboard might/ will need to know if a notebook </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>- is already attached to a kernel, </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>- if already opened in a new page</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>- if other users are using it.  </div><div><br></div><div>Finally, there is an issue with the unique uuid, that we wish to make persistent across notebook launching. </div><div><br></div><div>From at least this, and maybe other point, we should find a correct data structure that should accommodate both the backend (data base/ filesystem) and the </div><div>dashboard as much as possible.</div><div><br></div><div> IMHO: </div><div><span class="Apple-tab-span" style="white-space:pre">   </span>- we could include metadata in the message that could apply only on some specific dashboard. </div><div><span class="Apple-tab-span" style="white-space:pre">      </span>- we can't do with only one dashboard, there are specificities we can't deal with. </div><div><br></div><div><br></div><div>About The PR: </div><div><span class="Apple-tab-span" style="white-space:pre"> </span>- It it **really** nice to see fixes on existing javascript</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>- And tests !</div><div><br></div><div>But I do think we need to think about the data we send on the wire **before** going this way.</div><div><br></div><div>Just my reflexion on this.</div><div><br></div><div>BTW, One thing I would really **love** is having my started notebook on the top of my list, and being able to filter through the list !</div><div>-- </div><div>Matthias</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div><div>Le 25 févr. 2013 à 11:03, Robert Young a écrit :</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hi,<div><br></div><div>This email is intended to start a conversation around hierarchical notebook listings. I submitted a pull request [1] and it was pointed out that supporting directories deserves some thought and discussion.</div>
<div><br></div><div>Rob</div><div><br></div><div>[1] <a href="https://github.com/ipython/ipython/pull/2977">https://github.com/ipython/ipython/pull/2977</a></div></div>
_______________________________________________<br>IPython-dev mailing list<br><a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>http://mail.scipy.org/mailman/listinfo/ipython-dev<br></blockquote></div><br></div></body></html>