diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index dd5b8bc8..4e17fc52 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -12,10 +12,10 @@ jobs: deploy_with_NEBULA: permissions: contents: write - uses: esciencecenter-digital-skills/NEBULA/.github/workflows/deploy.yml@v1.1.0 + uses: esciencecenter-digital-skills/NEBULA/.github/workflows/deploy.yml@v1.2.0 with: content_organization: ${{ github.repository_owner}} content_repository: ${{ github.event.repository.name }} content_ref: ${{ github.sha }} - nebula_ref: v1.1.0 + nebula_ref: v1.2.1 deploy_to_ghpages: false \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 93073236..6ee15345 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -9,10 +9,10 @@ jobs: deploy_with_NEBULA: permissions: contents: write - uses: esciencecenter-digital-skills/NEBULA/.github/workflows/deploy.yml@v1.0.0 + uses: esciencecenter-digital-skills/NEBULA/.github/workflows/deploy.yml@v1.2.0 with: content_organization: ${{ github.repository_owner}} content_repository: ${{ github.event.repository.name }} content_ref: ${{ github.sha }} - nebula_ref: v1.1.0 + nebula_ref: v1.2.1 deploy_to_ghpages: true diff --git a/config.json b/config.json index 9c930a71..f319e050 100644 --- a/config.json +++ b/config.json @@ -5,6 +5,6 @@ "repoName":"research-software-support", "repoOwner": "esciencecenter-digital-skills", "organization": "Netherlands eScience Center", - "categoryOrder": ["Getting started", "Reusability", "Publishing & Citing", "Development"] + "categoryOrder": ["Getting started", "Reusability", "Publishing & Citing", "Good Practices"] } } \ No newline at end of file diff --git a/main/masterclass.md b/main/masterclass.md new file mode 100644 index 00000000..7d1c7d4b --- /dev/null +++ b/main/masterclass.md @@ -0,0 +1,29 @@ +--- +title: Masterclass +order: 3 +--- + +## About +The Research Software Support Masterclass is the live workshop version of these online materials. If you are interested in following or even hosting such a masterclass, have a look at the [training page](https://www.esciencecenter.nl/digital-skills/) or contact the [training team](mailto:training@esciencecenter.nl) at the Netherlands eScience Center. + +## Homework + +### Research Software + +1. Find a piece of research software that you like (because of the topic or nice picture, or whetever other reason) from the [Research Software Directory](https://research-software-directory.org/software?page=1&rows=48). + +1. Do the [exercise about the research life cycle](/modules/researchsoftware/exercise-research-life-cycle) from the Research Software module, use the piece of software you chose. + +### Software in the Research landscape + +1. From all the different initiatives, concepts and organizations discussed in the [Software Landscape module](/modules/softwarelandscape/slides) or the [Yellow Pages](/main/yellowpages), pick **three** that your chosen piece of software could/should connect to and/or use. + +2. Explain why you chose these three and what makes them valuable for the chosen piece of software. + + +### Software Management Plan + +1. Create a software management plan template which fits your piece of software by using step 2 and 3 from the [Template Building exercise](/modules/softwaremanagementplans/templatebuilding) in the software management plan module. + +2. Fill out your own software management plan template. Keep it short and to the point. + diff --git a/modules/documentation/index.md b/modules/documentation/index.md index bed5c7cb..a8c3bc50 100644 --- a/modules/documentation/index.md +++ b/modules/documentation/index.md @@ -1,8 +1,8 @@ --- title: Documentation -category: Development +category: Good Practices order: 13 -abstract: Why should researchers document their code? +abstract: Why should researchers document their code? Which kinds of documentation are useful for what purpose? author: eScience Center thumbnail: "thumbnail-documentation.jpg" visibility: visible diff --git a/modules/licenses/index.md b/modules/licenses/index.md index 9e04beb6..b7a6a73e 100644 --- a/modules/licenses/index.md +++ b/modules/licenses/index.md @@ -4,7 +4,7 @@ category: Reusability order: 25 author: eScience Center abstract: What are software licenses, copyright and open-source, how are they related and why is it important to think about? -thumbnail: "thumbnail-licenses.jpg" +thumbnail: "thumbnail-licenses.png" visibility: visible --- diff --git a/modules/licenses/media/thumbnail-licenses.jpg b/modules/licenses/media/thumbnail-licenses.jpg deleted file mode 100644 index 861bffd4..00000000 Binary files a/modules/licenses/media/thumbnail-licenses.jpg and /dev/null differ diff --git a/modules/licenses/media/thumbnail-licenses.png b/modules/licenses/media/thumbnail-licenses.png new file mode 100644 index 00000000..b1f15b93 Binary files /dev/null and b/modules/licenses/media/thumbnail-licenses.png differ diff --git a/modules/researchsoftware/exercise-research-life-cycle.md b/modules/researchsoftware/exercise-research-life-cycle.md index 77d551e6..36a5388c 100644 --- a/modules/researchsoftware/exercise-research-life-cycle.md +++ b/modules/researchsoftware/exercise-research-life-cycle.md @@ -10,11 +10,9 @@ Take a look at the research life cycle below. The Research Life Cycle -Think of a piece of research software you have used or developed. +### Pick a piece of software -Where does it fit in the research life cycle? - -### Existing software +Think of a piece of software you have heard about, used, contributed to or developed in a research context. The following research software can also be used as examples: @@ -23,3 +21,9 @@ The following research software can also be used as examples: - [Haddock](https://research-software-directory.org/software/haddock3) - [worcs](https://cjvanlissa.github.io/worcs/index.html) - [democracy-topic-modelling](https://research-software-directory.org/software/democracy-topic-modelling) + +### Answer the following questions +Write a short paragraph (max. 100 words) per question: + +- Would you consider this Research Software or Software used in Research? Explain why. +- Where does it fit in the research life cycle? Explain why. diff --git a/modules/researchsoftware/index.md b/modules/researchsoftware/index.md index 39c674f8..3c32ed5c 100644 --- a/modules/researchsoftware/index.md +++ b/modules/researchsoftware/index.md @@ -1,5 +1,5 @@ --- -title: Research software +title: What is (Research) Software? category: Getting started order: 0 author: eScience Center diff --git a/modules/softwaremanagementplans/media/SMP-requirements.pdf b/modules/softwaremanagementplans/media/SMP-requirements.pdf new file mode 100644 index 00000000..3a5f2ddd Binary files /dev/null and b/modules/softwaremanagementplans/media/SMP-requirements.pdf differ diff --git a/modules/softwaremanagementplans/softwareassessment.md b/modules/softwaremanagementplans/templatebuilding.md similarity index 63% rename from modules/softwaremanagementplans/softwareassessment.md rename to modules/softwaremanagementplans/templatebuilding.md index 20bb43a7..737189b5 100644 --- a/modules/softwaremanagementplans/softwareassessment.md +++ b/modules/softwaremanagementplans/templatebuilding.md @@ -1,14 +1,14 @@ --- -title: Software Assessment +title: Build a Template type: exercise order: 3 --- -# Assess your software +# Build your own Software Management Plan template *In a live setting, this exercise is done in groups. Each group will be assigned a software project. -The group will then create an SMP for this project.* +The group will then create an SMP template for this project.* ## Step 1: Choose a software project @@ -24,10 +24,11 @@ If you don't have a project in mind, you can use one of the following: Find the Practical Guide at [tinyurl.com/SMP-guide](https://doi.org/10.5281/zenodo.7589725). -## Step 2: Assess the management level needed +## Step 2: Building blocks -- Look at the software repository or page in the Research Software Directory. -- Assess what level of management the software needs: low, medium, or high. +- Print the following [figure from the Practical Guide](media/SMP-requirements.pdf) and cut out the various hexagons/requirements. +- Look at the software repository or page in the Research Software Directory or any other information you can find about your software. +- Take a fresh sheet of paper and some glue and glue the requirements that you think are relevant to your chosen software. You can also use the physical space on your sheet of paper to group the various requirements together. For this, use the following considerations (section 5 in [the guide](https://doi.org/10.5281/zenodo.7589725)): @@ -38,12 +39,9 @@ For this, use the following considerations (section 5 in [the guide](https://doi - Research, either your own or of others. This effect could be due to an obvious software failure ("crash") or a hidden one, for example, returning inconsistent numerical results on different operating systems. 3. **Maintenance**. The long-term effort needed to maintain the software as long as it might be used as a standalone tool or dependency. This includes maintenance functions that can extend beyond the lifespan of the original development project and includes fixing bugs, dependency management, operating system compatibility, and security issues. -This may not be a clear-cut decision, but that is fine. -The goal is to get a sense of the level of management needed. -Discuss with your group and come to a consensus. -## Step 3: Fill in the SMP template +## Step 3: Assess your template -From the assessment made in Step 1, get the requirements that match the level of management needed. - -Copy a template, and fill it in for your software project. +- Assess what level of management (low, medium, high) your custom template matches most. +- What is different from your custom template and the default management level template? Does this difference make sense? +- Finally use section 6 (Implementation Examples) from the [Practical Guide to Software Management Plans](https://doi.org/10.5281/zenodo.7589725) to create the Software Management Plan template with questions that a researcher/developer would have to answer. diff --git a/modules/testing/index.md b/modules/testing/index.md index d680c005..2c483f6c 100644 --- a/modules/testing/index.md +++ b/modules/testing/index.md @@ -1,6 +1,6 @@ --- title: Software testing -category: Development +category: Good Practices order: 49 abstract: Local testing of your software and using Continuous Integration and Continuous Deployment (CI/CD) author: eScience Center diff --git a/modules/version-control/index.md b/modules/version-control/index.md index cdd428bf..f5c45e07 100644 --- a/modules/version-control/index.md +++ b/modules/version-control/index.md @@ -1,7 +1,7 @@ --- order: 1 trl: high -category: Development +category: Good Practices title: Software version control abstract: Local version control and collaborative code development, for example using Git and GitHub author: eScience Center, TU Delft