Suggestion
Two elements that I think should really be available on a multi-part challenge page are the n videos and their corresponding timestamps. To accomplish that, I suggest the following solution:
- We could add an optional array field
nextParts to the index.json file of multi-part coding challenges, which would allow us to indicate the videoId and timestamps of the next parts of the challenge.
- The root
videoId, date and timestamps fields of index.json would refer to the first part/video of the coding challenge.
- All the other fields (
title, description, videoNumber, ..., codeExamples, groupLinks) and the passenger showcases would still be related to the "global" challenge, not to a specific part.
Configuration example
content/videos/challenges/54-islamic-tiling-patterns/index.json
{
"title": "Islamic Star Patterns",
"description": "In this bonus super-sized coding challenge, I work through visualizing Islamic Star Patterns in p5.js.",
"videoNumber": "54", // not "54.1"
"videoId": "sJ6pMLp_IaI", // videoId of 1st part
"date": "2017-02-14", // date of 1st part
"languages": [...],
"topics": [...],
"canContribute": true,
"relatedChallenges": [],
"timestamps": [ /* timestamps of 1st part */ ],
// New field
"nextParts": [
{
"videoId": "lobJ9gzbLo8", // videoId of 2nd part
"timestamps": [ /* timestamps of 2nd part */ ]
},
{
"videoId": "qg8LDsd57gF", // videoId of 3rd part
"timestamps": [ /* timestamps of 3rd part */ ]
}
],
"codeExamples": [...],
"groupLinks": [
{
"title": "References",
"links": [...]
}
]
}
Note: this is a fictitious example, in reality challenge 54 has only 2 parts, not 3.
Design example

- Clicking on a part number would switch the player to the corresponding video and display the associated timestamps.
- This "parts pagination" would not appear for single part coding challenges.
Temporary solution
Whether or not we decide to implement this strategy, I think it would still be beneficial to normalize and document the (temporary) way that contributors should port multi-part challenges to the new website. This could be included in the "Maintaining the website" guide.
Such intermediate solution could be to :
- create a single folder per challenge (not per part) ;
- fill in the
videoId and timestamps for the first video ;
- link to the next parts as YT videos in a
groupLinks titled Next Parts of this Challenge ;
- combine code examples, passenger showcases and link references from all parts of the challenge.
Then we would just have to add a nextParts field if my solution were to be implemented.
Suggestion
Two elements that I think should really be available on a multi-part challenge page are the n videos and their corresponding timestamps. To accomplish that, I suggest the following solution:
nextPartsto theindex.jsonfile of multi-part coding challenges, which would allow us to indicate thevideoIdandtimestampsof the next parts of the challenge.videoId,dateandtimestampsfields ofindex.jsonwould refer to the first part/video of the coding challenge.title,description,videoNumber, ...,codeExamples,groupLinks) and the passenger showcases would still be related to the "global" challenge, not to a specific part.Configuration example
content/videos/challenges/54-islamic-tiling-patterns/index.json{ "title": "Islamic Star Patterns", "description": "In this bonus super-sized coding challenge, I work through visualizing Islamic Star Patterns in p5.js.", "videoNumber": "54", // not "54.1" "videoId": "sJ6pMLp_IaI", // videoId of 1st part "date": "2017-02-14", // date of 1st part "languages": [...], "topics": [...], "canContribute": true, "relatedChallenges": [], "timestamps": [ /* timestamps of 1st part */ ], // New field "nextParts": [ { "videoId": "lobJ9gzbLo8", // videoId of 2nd part "timestamps": [ /* timestamps of 2nd part */ ] }, { "videoId": "qg8LDsd57gF", // videoId of 3rd part "timestamps": [ /* timestamps of 3rd part */ ] } ], "codeExamples": [...], "groupLinks": [ { "title": "References", "links": [...] } ] }Note: this is a fictitious example, in reality challenge 54 has only 2 parts, not 3.
Design example
Temporary solution
Whether or not we decide to implement this strategy, I think it would still be beneficial to normalize and document the (temporary) way that contributors should port multi-part challenges to the new website. This could be included in the "Maintaining the website" guide.
Such intermediate solution could be to :
videoIdandtimestampsfor the first video ;groupLinkstitledNext Parts of this Challenge;Then we would just have to add a
nextPartsfield if my solution were to be implemented.