All primary components in the Syntasa application, i.e. Apps, Dashboards, Notebooks, and the folders they are organized in, are created from Workspace -> Folders -> Create New (as shown below).
Selecting the Notebook option presents you with a new screen to provide the details of the notebook.
Creating a new notebook entails several pieces of information, some only affecting the attributes of the notebook object seen within the Syntasa environment, and others relating to the notebook created within JupyterHub. We have categorized different fields of 'Create Notebook' screen into 3 parts:
Syntasa notebook attributes
The following fields define the notebook object within the Syntasa application. The notebook object is connected is a single Jupyter notebook within JupyterHub that can be accessed via the Syntasa application and its specific notebook object.
Notebook Name - Name as seen on the notebook card and searchable within Workspace. This name must be unique across all notebooks in the application, even those that have been deleted and are in the trash.
Copy/Import Notebook - Turning this on allows you to create a new notebook from an existing one instead of starting from scratch. The source notebook may be within the same Syntasa application or from an outside source.
- Copy Notebook - Replicate a notebook from the same Syntasa application. You can only select from notebooks that you have access to given the sharing setting on the source notebook.
- Import Notebook - Replicate a notebook from an outside source by uploading a .ipynb file from your local machine.
Tags - All objects throughout the Syntasa application support tags to help organize and search for related objects. More information on tags can be found here.
Folder - The folder path defines the location of the notebook object within the Syntasa folder structure. The default value will be the folder from where you clicked the 'Create New' button, but this can be changed here. The notebook can also be moved to another folder after it has been created.
Description - Provide information explaining the purpose of the notebook. This is especially useful if the notebook is to be shared with other users.
Override Icon - The override icon toggle allows the default icon shown on a component's card to be altered. The default icon is dependent on the type of component. When the toggle is turned on there are two options to associate a new icon with the component, depending on the position of the existing Icon toggle:
- On - This allows the user to search icons that have already been uploaded to the environment and associate one with the current component.
- Off - This allows the user to upload a new icon for the component. When uploading a new icon it must be given a name so that it can be referenced and searched for and thus is available to be reused on different components.
Jupyter attributes
The following fields are characteristics of the notebook within JupyterHub. The values can be changed or turned on/off after creating the Syntasa notebook object.
Language - This defines the programming language the notebook is using. The accepted values are Python and Scala. When you launch the notebook, the kernel of the selected language will be shown by default on the JupyterHub screen. You also have the option to enable GPU for the kernel which can be done by enabling the toggle 'Enable GPU' (as highlighted below)
Initialization Script - This code area allows you to enter bash code that can be executed on launching the notebook. This code block is helpful when you want to initialize additional libraries, set up environment variables, etc before launching the notebook.
Connect Notebook to Syntasa Runtime - A launched notebook will have a kernel running that can run a variety of functions within the notebook. Still, at times you may need a bigger cluster or custom libraries loaded that will require a Syntasa runtime to be attached to the notebook.
This option is turned off by default. When this option is turned on, you get the option to select the runtime template. Once the runtime template is selected, you get the following 3 options to choose the instance:
- Create a New instance: With this option, you can create a new instance for the selected runtime template.
- Use Existing instance: With this option, you can use any existing runtime instance.
- Use Running Instance: With this option, you can use any existing instance that is already running.
You can overwrite template defaults by enabling the toggle 'Overwrite Template Defaults'. A runtime can also be attached after Launching the Notebook. The article Notebook Runtimes reviews the best practices and when a runtime may be needed.
Sharing and permissions
When creating a new app or resource, the sharing option selection will be available to make the component available as Private, Public, or Group. Regardless of the selection, a user with the role of System Admin will always have access to all apps and resources.
The sharing option selected at the time of creating the component can be changed by the owner or a system administrator. The owner of the app or resource is by default the user that is creating the component. This can be changed, if needed, by the owner or the system administrator, after the component is created.
When editing a component, the owner and sharing option is visible and can be changed by the owner or system administrator. For other users, when editing a component, the sharing option and owner settings are hidden.
- Private - Private can be set by the owner (or the system administrator) to limit access to the component only to the owner. System administrators can also access components set to private.
- Public - Public is the default setting and is the behavior of all components before Syntasa 5.2, i.e. before the sharing functionality was available, as all users have access to the component (except apps that are in a module, Synthesizer, Composer, Orchestrator, and the user's role is such that they do not have access to that module).
- Group - Group can be set by the owner (or the system administrator) to limit the access to the component to the user group(s) assigned to the component. As with private, the system administrator can view components with the sharing option set to group regardless if they are a member of the group.