# Brainstorming PyData 11.10.2019
* Common Extension Points
* ~~Table of contents~~
* https://github.com/jupyterlab/jupyterlab/issues/7339
* Developer Guide
* ~~Overview of the guide?~~
* https://github.com/jupyterlab/jupyterlab/issues/7345
* Examples
* https://jupyterlab.readthedocs.io/en/stable/developer/examples.html#dissecting-the-filebrowser-example - Rename Examples to “Extension Examples” ?
* Questions worth mentioning in the docs:
* > [How do I find out if a notebook has loaded?](https://github.com/jupyterlab/jupyterlab/issues/7340)
* > [How do I find out if a notebook has changed or another file has been loaded?](https://github.com/jupyterlab/jupyterlab/issues/7343)
* > [How do I find out if the kernel has been interrupted or has resumed working?](https://github.com/jupyterlab/jupyterlab/issues/7342)
* > [How do I attach events when a cell is executed / deleted / created?](https://github.com/jupyterlab/jupyterlab/issues/7343)
* > [How do I attach events when the path in file manager is changed?](https://github.com/jupyterlab/jupyterlab/issues/7346)
* > [How do I open a notebook/file manually? (via code)](https://github.com/jupyterlab/jupyterlab/issues/7342)
* > I was looking for a way to test my simple extension. I found this documentation and it definitely gave me the right direction. But here I needed to look at the repository itself and look for test examples. It would be really great to have a really simple extension with a really simple test and just play the scenario in the documentation how it is done.
* > I was looking for a way to insert a widget in the left sidebar. The documentation I found for this is quite poor (but it's a start), so I asked in gitter and started to reverse-engineer code myself.
* > I was looking a proper way to init and start my extension when a notebook is loaded. I "reverse engineered" that using `INotebookTracker` I can use `notebook_tracker.currentChanged.connect(() => {` to connect to a signal whenever a notebook changes, here I have to use `notebook_tracker.currentWidget.context.ready.then(() =>` so I can attach to a second signal whenever the notebook has loaded. Quite the spaggeti thing, am confused, but there is 0 documentation about finding out when a notebook has loaded (or a file or any other "tab" inside jupyter lab). Having these two signals work for me for now, but sometimes the extension does not "initialize" properly so I am not sure anymore if this is the correct way