Skip to content

Commit a0df1ee

Browse files
committed
Update Blog “open-sourcing-workshops-on-demand-part-5-create-a-workshop”
1 parent cf0b06c commit a0df1ee

File tree

1 file changed

+13
-30
lines changed

1 file changed

+13
-30
lines changed

content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: "Open sourcing Workshops-on-Demand - Part 5: Create new workshops"
2+
title: "Open sourcing Workshops-on-Demand - Part 6: Create new workshops"
33
date: 2023-07-24T10:43:53.548Z
44
author: Frederic Passeron
55
authorimage: /img/frederic-passeron-hpedev-192.jpg
66
disable: false
77
---
8-
In this new article that is part of our series dedicated on [open sourcing of our Workshops-on-Demand project](https://developer.hpe.com/blog/willing-to-build-up-your-own-workshops-on-demand-infrastructure/), I will focus on the steps necessary to build up a new workshop. I already covered most of the infrastructure part that supports the workshops. In my previous posts, I already covered setting up the infrastructure to support the workshops. Now let's focus a little more on the content creation.
8+
In this new article that is part of our series dedicated on [open sourcing of our Workshops-on-Demand project](https://developer.hpe.com/blog/willing-to-build-up-your-own-workshops-on-demand-infrastructure/), I will focus on the steps necessary to build up a new workshop. I already covered most of the infrastructure parts that support the workshops. In my previous posts, I covered setting up the infrastructure to support the workshops. Now let's focus a little more on the content creation.
99

1010
# Overview
1111

@@ -23,15 +23,12 @@ In this post, I won't focus on the subject selection process. I'll leave that to
2323

2424
![](/img/wod-blogserie3-archi3.png "WOD Overview.")
2525

26-
27-
2826
What is a workshop? What do you need to develop ?
2927

3028
Let's imagine that you plan to create a new workshop on a topic on which you have knowledge to transfer. Let's call him **Matt**. He was kind enough to agree with working with me on creating a new workshop. After our first meeting, where I explained the creation process, and the expectations, we were able to quickly start working together. We defined what is needed:
3129

3230
* A set of notebooks that will be used by the student:
33-
34-
* Containing instructions cells in markdown and run code cells leveraging the relevant kernel. If you are not familiar with Jupyter notebooks, a simple [101 workshop](https://developer.hpe.com/hackshack/workshop/25) is available in our Workshops-on-Demand 's catalog.
31+
* Containing instructions cells in markdown and run code cells leveraging the relevant kernel. If you are not familiar with Jupyter notebooks, a simple [101 workshop](https://developer.hpe.com/hackshack/workshop/25) is available in our Workshops-on-Demand 's catalog.
3532

3633
A workshop should contain at least :
3734

@@ -43,7 +40,6 @@ A workshop should contain at least :
4340
* A pictures folder (if any screenshot is required in lab instructions)
4441
* A README.md (0-ReadMeFirst.ipynb in md format)
4542

46-
4743
To make the workshop compliant to our platform, Matt just needs to provide a final file that contains a set of metadata that will be used for the workshop's integration into the infrastructure. this file is called **wod.yml**.
4844

4945
Matt could leverage a simple **wod.yml** file containing them and that can be later parsed in order to feed the database with the relevant info. Quite handy, no?
@@ -80,7 +76,6 @@ replayLink: 'https://hpe-developer-portal.s3.amazonaws.com/Workshops-on-Demand-C
8076

8177
the following file will be used to update the **workshops table** in the database. Let's have a look at what a new entry could look like:
8278

83-
8479
![](/img/wod-db-go-1.png "Workshop's fields in the Database.")
8580
![](/img/wod-db-go-2.png "Workshop's fields in the Database #2.")
8681

@@ -109,26 +104,15 @@ The following fields are required by the infrastructure. And I will work as the
109104
* **BadgeImg:** As part of the lifecycle of the workshop, several emails are sent to the student. In the final email, a badge is included. It allows the student to share its accomplishment on social media like linkedin for instance
110105
* **beta:** Not implemented yet :-)
111106
* **AlternateLocation:** future development. The purpose is to allow automation of the relocation of a workshop in case of primary location's failure
112-
107+
* **ReplayLink:** YouTube link of the recorded video to be used as a replay
108+
* **Replayid:** This ID is used to link the correct video with the associated workshop. This is the replayId present in the workshops table (automatically created at the import of the wod.yml file process)
109+
* **MonoAppliance:** Some workshops require a single dedicated appliance
110+
* **MultiAppliance:** Some workshops require multiple sdedicated appliances
113111

114112
*Note:* Both WorkshopImg and BadgeImg are delivered by the frontend web server.
115113

116114
If you feel you need more details about the registration process, please take a look at the **Register Phase** paragraph in [the following introductionary blog](https://developer.hpe.com/blog/willing-to-build-up-your-own-workshops-on-demand-infrastructure/).
117115

118-
In the **Replay table**:
119-
120-
![](/img/wod-db-go-3.png)
121-
122-
* **ID:** This ID is used to link the correct video with the associated workshop. This is the replayId present in the workshops table (automatically created at the import of the wod.yml file process)
123-
* **Avatar:** This is the link to the presenter 's picture that will be displayed on the workshop's tile on the registration portal
124-
* **Description:** Same description as the one available in the workshop's table entry
125-
* **Presenter:** Name of the presenter
126-
* **Role:** Role of the presenter (the workshop developer in fact: Solution Architect, Fullstack Developer, etc...)
127-
* **VideoLink:** YouTube link of the recorded video to be used as a replay
128-
* **WorkshopId:** ID of the workshop linked to the video
129-
* **Active:** Tag to set to enable visibility of the replay in registration portal
130-
131-
132116
As I continue this series, I will explore two scenarios. In the first one, I will create a simple workshop that does not require any infrastructure but the JupyterHub itself. Then, in a second phase, I will go through a more complex workshop creation process that will cover most of the possible cases I can think of.
133117

134118
# Simple workshop example:
@@ -152,7 +136,6 @@ As an admin of the Workshops-on-Demand infrastructure, I had to perform sever
152136
5. ##### Give the developer the wod-notebook repo url for him to fork the repo and work locally on his machine (when the workshop does not require an appliance but just a Jupyter kernel for instance)
153137
6. ##### When ready, a pull request can be made. The admin can then review and accept it. The admin can then perform the necessary steps required to prepare the infrastructure to host the workshop
154138

155-
156139
As the developer of the Workshops-on-Demand content, Matt had to perform several tasks:
157140

158141
### On the backend server:
@@ -210,13 +193,13 @@ Whenever all the scripts are functional and that the necessary actions have been
210193

211194
Testing the workshop:
212195

213-
* one can leverage the wod-test-action.sh script to test a workshop lifecycle action from deployment (CREATE) to CLEANUP, RESET, or PURGE.
196+
* one can leverage the wod-test-action.sh script to test a workshop lifecycle action from deployment (CREATE) to CLEANUP, RESET, or PURGE.
214197

215-
```
216-
dev@dev3:~$ wod-test-action.sh
217-
Syntax: wod-test-action.sh <CREATE|CLEANUP|RESET|PURGE|PDF|WORD> WKSHOP [MIN[,MAX]
218-
ACTION is mandatory
219-
```
198+
```
199+
dev@dev3:~$ wod-test-action.sh
200+
Syntax: wod-test-action.sh <CREATE|CLEANUP|RESET|PURGE|PDF|WORD> WKSHOP [MIN[,MAX]
201+
ACTION is mandatory
202+
```
220203

221204
`Note: The available trace under ~/.mail/from will detail the different steps of the action and allow you to troubelshoot any issue.`
222205

0 commit comments

Comments
 (0)