diff --git a/episodes/01-Introduction.md b/episodes/01-Introduction.md index c149582bf341d8e81d0fbec2e208166c15500d08..2efacca71c490a0959393800e6b82f517169eb7b 100755 --- a/episodes/01-Introduction.md +++ b/episodes/01-Introduction.md @@ -101,6 +101,7 @@ This structure ensures that each code example is isolated and runnable, making i * **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ :::::::::::::::::::::::::::::::::::::::: keypoints - NDIP is a workflow management system used for analsyis and interpretation of neutron scattering data. diff --git a/episodes/02-Copy-Template.md b/episodes/02-Copy-Template.md index 205602cd9d493cc50a49543d0eb8b432f5a25bba..2381dfc6668e65b9a2ec9bd76a22ea5052d0eb41 100755 --- a/episodes/02-Copy-Template.md +++ b/episodes/02-Copy-Template.md @@ -176,6 +176,7 @@ The template includes a basic GitLab CI configuration file (`.gitlab-ci.yml`). * **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ :::::::::::::::::::::::::::::::::::::::: keypoints - Nova provides a template application to help get started developing your application. diff --git a/episodes/03-Nova-Galaxy.md b/episodes/03-Nova-Galaxy.md index fbcedc3d45e44679d0f0330f8407196950055249..e8ef3584dc3a6a3379bc2a3929f34c12a387a3d6 100755 --- a/episodes/03-Nova-Galaxy.md +++ b/episodes/03-Nova-Galaxy.md @@ -53,6 +53,45 @@ The basic workflow for running a tool with `nova-galaxy` involves these steps: 3. **Set Parameters**: Create a `Parameters` instance and add the necessary input parameters and their values for the tool. 4. **Run the Tool**: Use the `tool.run()` method to submit the job to NDIP. This typically involves creating a datastore to hold the job\'s input and output data. +## Understanding an NDIP tool + +NDIP tools consist of two parts. The first component is the core logic of the tool which will be containerized and run by NDIP. This is the component that we will be focusing on throughout the tutorial and containerization will be discussed in Episode 8. The second component is the tool\'s XML file which is added to the [Galaxy Tool Repository](https://code.ornl.gov/ndip/galaxy-tools). The XML file is responsible for describing the tool\'s inputs, outputs, location, how it is executed, and other details to NDIP. + +Let\'s take a look key parts of the [XML file](https://code.ornl.gov/ndip/galaxy-tools/-/blob/dev/tools/neutrons/test_tools/fractal.xml?ref_type=heads) for the Fractal Tool that we will use shortly. + +The first line gives the name, version, and unique id for a tool. This ID is used in the example below to tell NDIP which tool we are attempting to use. +``` + +``` + +This line tells NDIP where the tool\'s container can be found. +``` + savannah.ornl.gov/ndip/tool-sources/playground/fractal:0.1 +``` + +This section defines the tool\'s inputs. In this example, the tool requires an input by the name `Option`. The valid values for `Option` are `mandlebrot`, `julia`, `random`, and `markus`. + +``` + + + + + + + + +``` + +This section describes the output from the tool. The Fractal tool results in a single output file named `output`. Tool outputs will be discussed more below. +``` + + + + +``` + +A comprehensive list of tools, and links to their XML, can be found in Calvera's documentation on the [tools](https://calvera.ornl.gov/docs/tools/) page. + ## Setting up the Fractal tool Let\'s create a `Fractal` class that uses `nova-galaxy` to run the `neutrons_fractal` tool on NDIP. You can find the complete code for this episode in the `code/episode_3` directory. @@ -195,6 +234,7 @@ In both cases, an error is received from the ndip-galaxy library. When changing * **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ :::::::::::::::::::::::::::::::::::::::: keypoints - Tools are run remotely on the NDIP platform diff --git a/episodes/04-MVVM-Design-Pattern.md b/episodes/04-MVVM-Design-Pattern.md index 42ebc55a9b0f423dacb8cd27541bffc9ee795f92..e4fee0d3775572bf8c1a2a4327592de247894eba 100755 --- a/episodes/04-MVVM-Design-Pattern.md +++ b/episodes/04-MVVM-Design-Pattern.md @@ -336,6 +336,7 @@ If you don't want Trame to launch a tab by default, you can instead run ```poetr * **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ :::::::::::::::::::::::::::::::::::::::: keypoints - MVVM stands for Model, View, View-Model. diff --git a/episodes/05-Working-with-Trame.md b/episodes/05-Working-with-Trame.md index 063d910d2050dd1c32b4ff84d97686d7824a8bb0..206bb2c3033dc2a7ddb5e4e80f44813653f922ec 100755 --- a/episodes/05-Working-with-Trame.md +++ b/episodes/05-Working-with-Trame.md @@ -391,6 +391,8 @@ Experiment with customizing the appearance of the Vuetify components using the v * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ * **Vuetify Documentation**: https://vuetifyjs.com/en/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ + ``` :::::::::::::::::::::::::::::::::::::::: keypoints diff --git a/episodes/06-Advanced-Data-Modeling.md b/episodes/06-Advanced-Data-Modeling.md index 3a63b97f18930070eda03b204b9cd8e22e47f03a..8d394b41244f09c03b62e0be1f1afd30ead979de 100755 --- a/episodes/06-Advanced-Data-Modeling.md +++ b/episodes/06-Advanced-Data-Modeling.md @@ -409,4 +409,12 @@ In the GUI application, set the port to the default value if a user enters an in - Pydantic is a powerful Python library used to define data models and enforce data validation. - Pydantic supports complex data structures and custom data validation logic. - The NOVA Framework supports Pydantic models to automatically validate UI elements. -:::::::::::::::::::::::::::::::::::::::::::::::::: \ No newline at end of file +:::::::::::::::::::::::::::::::::::::::::::::::::: + +## References + +* **Nova Documentation**: https://nova-application-development.readthedocs.io/en/latest/ +* **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ +* **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ +* **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ \ No newline at end of file diff --git a/episodes/07-Advanced-Visualizations.md b/episodes/07-Advanced-Visualizations.md index 35a4e4e0ec40f2fc45f118f0ca467cb0f48a893e..ffa6d6a322c582ec5ba01e99406f03cadf85868e 100755 --- a/episodes/07-Advanced-Visualizations.md +++ b/episodes/07-Advanced-Visualizations.md @@ -770,6 +770,7 @@ We didn\'t look at `VTKConfig.init_lut` or `VTKConfig.init_pwf` during the tutor * **Trame/PyVista Integration Tutorial**: https://tutorial.pyvista.org/tutorial/09_trame/index.html * **VTK Python Documentation**: https://docs.vtk.org/en/latest/api/python.html * **Trame Tutorial**: https://kitware.github.io/trame/guide/tutorial/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ :::::::::::::::::::::::::::::::::::::::: keypoints - Trame integrates well with Plotly for building 2D charts. diff --git a/episodes/08-Next-Steps.md b/episodes/08-Next-Steps.md index ecf5ff74a7b95d5010e03184690e745195535d26..12185879a9578da552db71a3414aaf73ca47551b 100755 --- a/episodes/08-Next-Steps.md +++ b/episodes/08-Next-Steps.md @@ -88,9 +88,9 @@ After performing these steps, your application will be available to NDIP users. * **nova-galaxy documentation**: https://nova-application-development.readthedocs.io/projects/nova-galaxy/en/latest/ * **nova-trame documentation**: https://nova-application-development.readthedocs.io/projects/nova-trame/en/stable/ * **nova-mvvm documentation**: https://nova-application-development.readthedocs.io/projects/mvvm-lib/en/latest/ +* **Calvera documentation**: https://calvera-test.ornl.gov/docs/ By following the steps outlined in this section, you can deploy your own applications to the NDIP platform and make them available to the wider scientific community. -``` :::::::::::::::::::::::::::::::::::::::: keypoints - Tools must be containerized to run on NDIP.