You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
9
9
10
10
# Overview
11
11
@@ -23,15 +23,12 @@ In this post, I won't focus on the subject selection process. I'll leave that to
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:
31
29
32
30
* 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.
35
32
36
33
A workshop should contain at least :
37
34
@@ -43,7 +40,6 @@ A workshop should contain at least :
43
40
* A pictures folder (if any screenshot is required in lab instructions)
44
41
* A README.md (0-ReadMeFirst.ipynb in md format)
45
42
46
-
47
43
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**.
48
44
49
45
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?
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:
82
78
83
-
84
79

85
80

86
81
@@ -109,26 +104,15 @@ The following fields are required by the infrastructure. And I will work as the
109
104
***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
110
105
***beta:** Not implemented yet :-)
111
106
***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
113
111
114
112
*Note:* Both WorkshopImg and BadgeImg are delivered by the frontend web server.
115
113
116
114
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/).
117
115
118
-
In the **Replay table**:
119
-
120
-

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
-
132
116
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.
133
117
134
118
# Simple workshop example:
@@ -152,7 +136,6 @@ As an admin of the Workshops-on-Demand infrastructure, I had to perform sever
152
136
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)
153
137
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
154
138
155
-
156
139
As the developer of the Workshops-on-Demand content, Matt had to perform several tasks:
157
140
158
141
### On the backend server:
@@ -210,13 +193,13 @@ Whenever all the scripts are functional and that the necessary actions have been
210
193
211
194
Testing the workshop:
212
195
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.
0 commit comments