# 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