[IPython-dev] custom web notebook cells

Matthias BUSSONNIER bussonniermatthias at gmail.com
Sat Dec 15 16:35:08 EST 2012


> I have started to become very concerned about the metadata.  Our
> thinking so far has been: that metadata is complete unstructured.
> IOW, users can write to the metadata section whatever they want.  When
> nobody is doing that it works fine, but as more people start to use
> the metadata, it is going to turn into the wild west.  There will be
> conflicting metadata.  There will backwards incompatibilties.  We will
> allow this for a while, but when users start to complain that there
> notebooks don't work as expected, we will have to become extremely
> conservative about the metadata.
> Case in point: we are about to add a slideshow section to the cell
> level metadata.  And the notebook UI will rely on this metadata being
> in a very particular format.  If we *ever* change that metadata in the
> future, we will have to increment the notebook document format version
> to reflect it.  Some changes (adding a new attribute) won't be
> backwards incompatible, but some might be and it will affect the
> entire notebook document format.
>> [...]
> I am open to using metadata to control how cells act.  We are already
> doing this with the slide show and this may be a very powerful way of
> moving forward.

I think that everything that uses metadata should make the assumption
that the metadata field may not exist. 

This would highly help because you can then "clear" the metadata in case of problem. 

Also, I do think that the slideshow mode should live as an extension. 
Is it convenient to think that because we are in the core-dev we can put our
piece of code in the core.

This has always been my goal at the beginning, and I strongly believe it should be.

But having it as a separate extension will force us to comply to the rules we impose on 
other to build extension.

Also, I still believe that having smaller separate project could allow to have smaller team
maybe of person not in the core to work on that.

If a specific feature that use metadata seem to become really important, then we should consider
moving it to the notebook format.

More information about the IPython-dev mailing list