<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Oct 24, 2014 at 10:34 AM, Nicholas Bollweg <span dir="ltr"><<a href="mailto:nick.bollweg@gmail.com" target="_blank">nick.bollweg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>A thing I have wanted since finding out about both projects is notebooks as a fundamental building block of content in <a href="https://allura.apache.org/" target="_blank">Apache Allura</a>. You may know Allura's primary commercial install and main contributor, <a href="http://sf.net" target="_blank">sourceforge</a>. It is, unsurprisingly, Apache licensed.<br></div></div><br></div>Allura's focus is providing open source tools for teams building open source, so it is based on users, groups, and projects, and code. Into each project, its admins can add any number of tools: tickets, wikis, blogs, forums, git/hg/svn repos, subprojects, chat. Every project immediately has search and an API. It has configurable usage analytics.  It can import project data from a large number of other project management tools. Text is markdown all over, and has nice features like ticket linking, etc. Writing new tools is pretty easy: here's a <a href="http://sourceforge.net/projects/skelallura/" target="_blank">template</a> I made a while ago.<br><br>Allura is written in TurboGears, which is kind of showing its age, but it
 uses classical MVC patterns, Jinja2, etc. so it wouldn't be that much different than tornado: presumably, jupyter would be run as a second server, anyway. It has customizable themes, but there are not <a href="https://opensourceprojects.eu/" target="_blank">many</a> real re-skins in the wild. Some branded, scientist-focused design love here would be amazing.<br><br></div><div>Here are some specific integration ideas (and challenges):<br></div><div></div><div><ul><li>I would see notebooks supplanting the wiki and blog tools (which are already markdown-based), as well as providing an entirely novel, multiuser compute environment with any number of kernels, as handled by jupyterhub.</li><li>Since a lot more assumptions would be in place, it would be much more reasonable to have an "app store" approach to automating package management for both the installed packages available to the current kernel, as well as what is installed in the notebook javascript environment.</li><li>While runtime notebooks could be persisted to MongoDB, files, or whatever long-term, pure notebooks, or better still notebooks + data + a snapshot of the container, could be stored in repos. This would be a boon for, say, setting up assingments: click on a link, you are using a live machine that is an exact copy of what a TA set up.</li><li>A light wrapper around something like <a href="https://github.com/paulgb/runipy" target="_blank">runipy</a>, <a href="https://github.com/conda/conda-launch" target="_blank">conda-launch</a>, etc. would make building reusable data workflows lovely.</li><li>Things like nbconvert --slides and <a href="https://github.com/damianavila/live_reveal/tree/master/livereveal" target="_blank">live_reveal</a> would make crafting talks more discoverable and reusable than any previous solution, and could be nicely configured to ensure that a whole project has a consistent theme for slides which can be regenerated at any time.</li><li>Thinking about directories of notebooks, one could imagine compiling a whole e-book or mobile app... just by hitting a URL.<br></li></ul></div><div></div><div>I'd love to get involved with an effort like this, and might even be able to get the day job interested if we thought we could get some funding to do it... there are 100 ways one could spin this, either as an LMS, a data integration environment, research platform, communication hub, or some other goal.<br></div></div></blockquote><div><br></div><div>Great ideas here! Yes, I should have mentioned wikis, books, hubs, and just as a repository of reproducible experiments, with data. Not all of these ideas need to be embedded in such a component-based webapp framework. But such a project would seem to be the next logical step.</div><div><br></div><div>I'd also love to discuss such a project with like-minded folks. A million questions and issues come to mind. I guess we can first see what kind of interest there is, and then have some conversations on a separate mailing list.</div><div><br></div><div>-Doug</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div><br></div><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Fri, Oct 24, 2014 at 9:13 AM, Doug Blank <span dir="ltr"><<a href="mailto:doug.blank@gmail.com" target="_blank">doug.blank@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Devs,<div><br></div><div>If you were going to build a full web application (with components like comments, index, sitemap, search, etc) for, say, an on-line journal, blog, or course website, that was based on jupyterhub and notebooks what would you write it in? </div><div><br></div><div>Many of those functions exist in full content-management systems (CMS) like Drupal or Wordpress. There is also support for building a CMS from tools like Django (which is written in Python). </div><div><br></div><div>Jupyterhub is written in Tornado. As far as I see, there aren't drop-in CMS-like components for Torando.</div><div><br></div><div>So, would you try to integrate jupyterhub into an existing CMS? Or build one from tools like Django + Torando? Or create a new project especially for jupyterhub? Or is there another option?</div><span><font color="#888888"><div><br></div><div>-Doug</div><div><br></div></font></span></div>
<br></div></div>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">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></blockquote></div><br></div></div>
<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></blockquote></div><br></div></div>