Open mitra42 opened 5 years ago
Lets assume we have the string "universallibrary" as the item name in Archive.org, Its not clear to me where we can hold this - is this part of channel_info, or should it be separate constants on the MyChef class
Hi, I'm Kevin, one of the developers who works on chef development. This looks like a cool project!
Your understanding of how construct_channel
should be implemented is correct.
ChannelNode
/ channel_info
contains information about the channel as a whole, which is basically a collection of content. For example, Khan Academy is a channel in Kolibri, and inside that channel are all the pieces of content from KA that we support. So any of the actual content items you'd want in the channel would be added as children of the ChannelNode
. It's common that a channel is at the site level, i.e. a site typically would get a single channel per language, though this is not a hard rule.
Each piece of content you want to put into the channel gets added as a ContentNode
, typically organized into a series of TopicNodes
. The type of ContentNode
to create depends on the content format, e.g. videos, PDFs, HTML. More information about the various type of nodes and their purpose is here: https://ricecooker.readthedocs.io/en/latest/nodes.html
As an example, here's a fairly small chef that creates a GoalKicker channel containing CC-licensed programming books from goalkicker.com: https://github.com/learningequality/sushi-chef-goalkicker-tech-books. It basically creates a TopicNode
for each book containing metadata about the book, adds that TopicNode
as a child of the ChannelNode
, and splits the book PDF into chapters. It then adds each chapter as a DocumentNode
Hi Kevin, I think @indirectlylit and I decided that he's going to stub it out with fixed data returned, and I'll then edit to do the call back to the Archive (rather than me learning your API, or Devon learning IA's)
@indirectlylit - I'm just checking that you aren't waiting on me before stubbing out the API before we forget what we talked about :-)
Yup, ball is in my court, sorry for the delay. Will ping when ready (and get advice from @kollivier who knows this stuff much better than me)
Hi - it seems like we've lost all the momentum on this, would love to get this integration process started ...
Yes, so sorry for dropping the ball here. I just got back from traveling in India and am still playing catch-up.
I know you'd mentioned hoping to present something next week but that seems perhaps unrealistic at this point. I will try to post a concrete update ASAP. Feel free to reach out by email too if you'd like to schedule a quick chat.
Understood ... obviously wasn't planning on doing anything next week ! I'll be in SF for 3 weeks (arriving on Saturday) maybe we can jump on a call then.
That would be great. This is still important, and I should have been more realistic about my time availability before making the commitment.
Talk soon, Devon
I'm trying to get my head around where to start ...
It seems like construct_channel gets called and returns a ChannelNode,
I'm assuming that this will involve 1: A call to the archive to get metadata 2: Munging that metadata into whatever ChannelNode wants to return
That seems easy, but I'm not seeing from the template what goes into a ChannelNode &/or how to build it.