Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Please include at least the following information when contacting us about a new custom JupyterHub:

  1. Relevant course code(s).
  2. Approximate number of students.
  3. Name and NTNU email address for at least one instructor responsible for the JupyterHub.
  4. Name for the hub. This will determine the URL for the hub, ie. namegoeshere.apps.stack.it.ntnu.no. Using course code as the name is generally the safest bet.
  5. Does the hub require any customisation? (See more info below!)Any customisation required? 
  6. Is there a need for delivering and grading assignments with nbgrader on the hub? 
  7. Is there a need to share files using the 'shared'-folder, from instructors to students directly on the hub? (See more info below!)

If the answer to questions 5., 6. and 67. is a 'no', please consider whether your course can use use the official NTNU-wide JupyterHub at https://jupyterhub.apps.stack.it.ntnu.no/ instead.). The official hub and the custom hubs are set up in the exact same way and use the exact same underlying hardware, there is absolutely no benefit in having a custom hub versus using the official hub outside of those points.

Customisation

The hubs we offer can be customised in a few different ways. It is technically possible for us to install any existing tools, extensions, packages, etc. that work "out-of-the-box" within our infrastructure. 

All of our hubs are based on the Jupyter official jupyter/datascience-notebook image, with a few additional tweaks. Generally speaking, the image covers many use cases within basic programming and data science with the packages and modules the image comes with by default. You can find the full list of the pre-installed packages here. However, many some courses may require specific additional packages to be installed. It is possible for us to install any tools, packages, notebook- and/or jupyterlab extensions beforehand, that should be ready so the extensions are installed and ready to use for all users of the hub. Unfortunately this installing packages and extensions for all users can be only done by us, the maintainers of the hub, the instructors (s). Instructors and students (and any other users) can only install packages to their own environments. We can install new packages at any point throughout the semester as well if needed - just get in touch with us if and when needed. 

The various tools offered by Jupyter are built to be incredibly flexible, where almost anything and everything can be customised. This is not always true for NTNU JupyterHub. As a general rule, we are not able to make large modifications in order to facilitate for different tools to work with our JupyterHub(s). All of the hubs we offer are run on the same underlying infrastructure serving thousands of users with relatively limited resources, and as such we must reserve the right to refuse to install any package/tool/extension we deem unsafe. 

The hubs use the Jupyterlab interface by default, but that can be changed to the Notebook interface. That is not a hard limitation however, users can always change between the lab and notebook interfaces just by changing the URL.

...

  • The first group is the Felles Studentsystem (FS) group(s) for the course(s), which means that all students and course staff registered to the course in FS should gain access to the hub automatically. These groups are automatically fully managed by FS, we cannot manually add students (or instructors) to them. Please note that there can be a significant delay (from a few hours to a few days) between a student signing up to a course and the student being registered for the course on FS. The student will only be able to access the hub after they show up in the FS group. You can check whether you are a member of a group for a course at https://innsyn.feide.no/groups -  the the group names can vary but the structure of 'group code' (Norwegian: 'gruppekode') is always fc:fs:fs:emne:ntnu.no:{course code}:1.
  • The second group is an ad-hoc group that is created when creating the hub. The ad-hoc group can be used to invite additional people to use the hub, who are not affiliated with the course in FS - for example teaching assistants or guest lecturers. The ad-hoc groups are usually called "NTNU Jupyterhub {course name}". The course coordinator (or the person contacting us about creating the hub) will receive an email invitation to manage the ad-hoc group, and after accepting the invitation they will be able to invite additional people to the group as well as grant additional people the ability to invite others. The group can be managed at https://innsyn.feide.no/groups.
    NOTE: the 'Make Admin' toggle when inviting people to the group only refers to being able to administrate the ad-hoc group (add and remove other users), it does not have any effect on the user's status on the actual JupyterHub. The invitations are fairly short lived, they will expire in a matter of few days. The invitations also have a tendency to get mislabeled as junk email, so please do check your junk email if you are expecting an invitation and have not received one.

...

The shared folder can be used as a simple way for sharing files from the course staff to students on the hub. The folder is a directory of which contents every user on the hub can see and read from, but only admin users and members of the instructor group can write to. The only way students can make changes to the files under the shared folder is to make personal copies of the files into their own home directories. Students are not able to write to files in the shared folder directly.

You can create direct links to the files in the shared folder by changing "/user/username/" in the hub URL to "/hub/user-redirect/". 
Image Added

These direct links can be shared anywhere and can help other users find the shared files easier.

For example, the following URL, that will only work for my own username, and links directly to my own environment; https://jupyterhub.apps.stack.it.ntnu.no/user/lauritko/lab/tree/shared/jupyterhub.ipynb

is changed to https://jupyterhub.apps.stack.it.ntnu.no/hub/user-redirect/lab/tree/shared/jupyterhub.ipynb which is a link that anyone at NTNU can use to access the same notebook in the shared folder. 

Please note that you cannot create links for files that are not in the shared folder - any notebooks and/or other files in your environment outside of the shared folder are not accessible by others.

nbgitpuller 

The Jupyter extension nbgitpuller can be used create a link that will automatically clone a git repository onto a user's environment, given that the notebooks and files you want to share are stored in a publicly accessible git repository. It is very simple to use, no git experience required; the user only needs to click the generated link, and nbgitpuller will transfer the files from the git repository to the user's home directory. nbgitpuller is automatically installed on each hub. 

...