learningequality / sushi-chef-internet-archive-universal-library

'Internet Archive - Universal Library' chef
MIT License
0 stars 0 forks source link

Where to start #1

Open mitra42 opened 5 years ago

mitra42 commented 5 years ago

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.

mitra42 commented 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

indirectlylit commented 5 years ago

notes from today's chat: https://github.com/learningequality/sushi-chef-internet-archive-universal-library/wiki/meeting-notes--2019_08_07

kollivier commented 5 years ago

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

mitra42 commented 5 years ago

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)

mitra42 commented 5 years ago

@indirectlylit - I'm just checking that you aren't waiting on me before stubbing out the API before we forget what we talked about :-)

indirectlylit commented 5 years ago

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)

mitra42 commented 4 years ago

Hi - it seems like we've lost all the momentum on this, would love to get this integration process started ...

indirectlylit commented 4 years ago

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.

mitra42 commented 4 years ago

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.

indirectlylit commented 4 years ago

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