learningequality / ka-lite

KA Lite: lightweight web server for serving core Khan Academy content (videos and exercises) without needing internet connectivity
https://learningequality.org/ka-lite/
Other
458 stars 305 forks source link

Import arbitrary mp4, mp3, and pdf content into a content hierarchy #2397

Closed dylanjbarth closed 10 years ago

dylanjbarth commented 10 years ago

As a first pass for the WCH Connect.Teaching project, the content import mechanism will be outside of the context of the app itself. Our partners at WCH and UNICEF will provide a repository of content, organized hierarchically by folders. E.g.

top level directory ---- sub-topic -------- mp4, mp3, pdf content ---- other sub-topic -------- sub-sub-topic ------------ mp4, mp3, or pdf content -------- other-sub-sub-topic ------------ mp4, mp3, or pdf content

and so forth.

A script will iterate over the levels of this content hierarchy and create a json file with the mapping of the content that the app will use to order the content.

Assigning @rtibbles for now, with lots of support from @dylanjbarth

Depends somewhat on https://github.com/learningequality/ka-lite/issues/2395

dylanjbarth commented 10 years ago

First major design decision: how will our content partners add meta data to the content types? In a separate spreadsheet? In a text file included in the content repository? I'm most in favor of creating a special view on the central server that allows them to view imported content and add metadata... at first blush it may seem like a lot of work, but I think it would save a lot of headache on both sides of the ball. Thoughts? @rtibbles @jamalex

aronasorman commented 10 years ago

Can lead this as well, once I finish on the PDF loading stuff.

mjptak commented 10 years ago

vimeo videos? "arbitrary" youtube videos? other sources? Its gonna be like herding cats but very very powerful and empowering to many voices in many tongues.

jamalex commented 10 years ago

@dylanjbarth it might be good to see what format they have their metadata in already, since manually re-entering through a web interface might be more painful than just converting. And without some metadata to start with (at least a title), it would be hard to navigate the content in the web interface to add metadata.

One other thing that's not automatically captured by the folder structure is the order of children within a topic. We might need to have folder/file names prefixed with 00, 01, etc.

@aronasorman I believe @rtibbles has offered to lead this, and has already started coding parts of it up.

rtibbles commented 10 years ago

It is true that I have offered to lead it. Not quite so true that I have started coding it up, but it is part and parcel with the updating of khanload that I have already been doing.

noemigerber commented 10 years ago

Hi all! My name is Noemi, and I'm based at War Child in Amsterdam, writing the teacher professional development (TPD) modules and putting together the content for the tablets. I'm excited to be in touch with you, and look forward to working with you on Connect.Teaching! I have a number of questions that I've been running into regularly during my work, for your team:

• How will the resources on the tablet be organised? Will the same organisational system as the current one be used? (e.g. Teaching materials, by grade and subject?) Or will this / can this be changed? • How will the files be sorted/listed (within each category)? Alphabetically? (For example, how are the files in the “all” categories listed?) • Will there be a search function? (This would be extremely useful!) • How do we add metadata to resources? • In Phase 1, a lot of documents were uploaded to the tablet as Word documents. I would lean towards uploading mostly PDFs (to minimise the chance of edits being made to the documents). Or is there a pertinent reason why documents should be uploaded as Word docs instead? •We are currently writing teacher professional development (TPD) modules that will also go on the tablet. These TPD modules will refer to a number of resources on the tablet. Would it be possible to add hyperlinks to these references in the modules, that will redirect people directly to the named resource on the tablet? Or is our best solution for this to add the file pathway for each resource in brackets after it is referenced?

Please let me know if any of the questions are unclear, or if I can be of assistance in any way. I'd also like to attach the beginnings of our Content Register (in Excel), but I'll send it to Jamie as an email attachment as I can't seem to attach documents here.

rtibbles commented 10 years ago

Hi Noemi,

I am answering your questions inline below - looking forward to getting something in place that works for both of us!

How will the resources on the tablet be organised? Will the same organisational system as the current one be used? (e.g. Teaching materials, by grade and subject?) Or will this / can this be changed?

As suggested by Dylan's description above, the organization of the content, and the hierarchy of content will be determined by the directory structure of the content folder that you provide us with. This will mean that, if necessary, you can have multiple levels of subdivision of content (Subject > Grade > Subtopic) or whatever is most helpful to you.

How will the files be sorted/listed (within each category)? Alphabetically? (For example, how are the files in the “all” categories listed?)

My suggestion here would be that the file names include a number as the first part of the file name (e.g. "1 - Teaching Basic Addition.pdf") which would determine the order. Folders would also have numbers in their names to determine their order.

Will there be a search function? (This would be extremely useful!)

Yes! KA Lite currently has a search function for its content, and we will make the same feature available for this project.

How do we add metadata to resources?

A great question, and one that we have been discussing internally as well. There are a couple of alternatives, depending on how rich you want the metadata to be.

The first, and least complex, would be to add any relevant metadata to the filename in a particular order. This would, naturally, limit the amount of metadata that you could include.

A second alternative is to have a separate .txt or .json file for each file or folder, and include any relevant metadata about it in these files. This would allow for maximum flexibility, least opportunity for data getting messed up on import, but would require creating a separate file for each folder and file to describe the metadata.

The final alternative is to have a master spreadsheet or json file that describes each of the resources (files and folders). While this would be easier to create, as only one file would need to be created, one mistake in any of the file descriptions could potentially cause data issues for every single file (as one poorly described resource could potentially throw off the import for every other resource as well).

I would prefer alternative 2, as it is the most robust, but also realize this may place the heaviest workload on you and your team.

In Phase 1, a lot of documents were uploaded to the tablet as Word documents. I would lean towards uploading mostly PDFs (to minimise the chance of edits being made to the documents). Or is there a pertinent reason why documents should be uploaded as Word docs instead?

I can't see any good reason to use Word documents.

We are currently writing teacher professional development (TPD) modules that will also go on the tablet. These TPD modules will refer to a number of resources on the tablet. Would it be possible to add hyperlinks to these references in the modules, that will redirect people directly to the named resource on the tablet? Or is our best solution for this to add the file pathway for each resource in brackets after it is referenced?

What format will these TPD modules be in, and how will they be accessed within the tablet? Are they intended to be internal or external to the software that we are creating? Is their arrangement of content orthogonal to the arrangement of content that you will be giving us for the topic hierarchy? If the modules themselves could be part of the topic hierarchy (with the modules themselves being metadata for a certain level of the topic hierarchy) this might be manageable.

noemigerber commented 10 years ago

Hi Richard,

Many thanks for your quick responses!

-Great news about the search function! :) -Also nice news about the flexibility of the content's organisation and hierarchy - I didn't expect so much flexibility, so I'll have to work out asap what would be most appropriate for this Phase of the project. -Thanks for explaining the metadata options. We also agree that Option 2 seems the best of the three. I must admit though that my technical understanding is limited, so I did want to ask: It's not possible to add the metadata to the 'properties' function in Word and PDF? (though I suppose doing this would be about the same amount of work as creating a separate .txt or .json file for each file or folder) -I don't have a team - it's just me! So I'll be the one preparing all the metadata. -By TPD module, I meant a unit or chapter. (It's mostly text, interspersed with activities - not a lot of images.) There will be 5 in total, and currently they are in Word form: they're individual/independent documents that simply refer to other resources that will be on the tablet. We weren't sure what the format options were for putting them on the tablet, so we initially thought of Word or PDF format. I'm not sure yet where in the content hierarchy they would go (I suppose a separate folder would make most sense). I could send you one of the completed modules, though I'm not sure how to add files here? Instead, I've added a shot of (part of) a page of Module 2. The bold, italicised, red-coloured text (in this case, "Shortlisted Micro-Innovations Uganda 2014" in the box) indicates the title of a resource on the tablet. This is an example of how resources are referred to in our modules/units/chapters. We plan to add file pathways in brackets, as teachers might print the modules and use them as booklets, and for teachers to know how to find the resources in case we can't hyperlink these titles. connectteaching_mod2_samplepage

rtibbles commented 10 years ago

Putting the data in a text file would make it easier to read - reading any kind of data programmatically from a pdf can be a pain, so if it is the same amount of effort for you to create a text file, that would be preferable. That also means that we have a standard format for adding metadata, regardless of the content - so the same format works for pdfs and mp3 files.

Looking at the format of the modules, we could embed them as pdfs at some point in the hierarchy (there could be a separate top-level 'modules' Topic), the only tricky thing would be embedding the paths into them for the individual resources. What we could do is add 'related content' links at the bottom of the display of the document so that users could click through from there.

If they have printed out the document, then the search function will actually be the best option here. Rather than demanding that the teachers type in a very long file path - they can simply type in the name of the resource into the search bar to find it more quickly.

dylanjbarth commented 10 years ago

@noemigerber great to connect and thanks for the information! I have a couple of quick comments, questions and suggestions:

mjptak commented 10 years ago

If you all go the route of keeping track of the order of an item in the directory by number I suggest beginning with 01, 02, etc in case the number of items exceeds 9 when the whole alphanumeric order goes awry. Unfortunately, any ordering like this makes later insertions of content into the order difficult. I'm excited to see how this all progresses with Naomi's currated content.

On Tue, Sep 23, 2014 at 6:29 PM, Dylan Barth notifications@github.com wrote:

@noemigerber https://github.com/noemigerber great to connect and thanks for the information! I have a couple of quick comments, questions and suggestions:

— Reply to this email directly or view it on GitHub https://github.com/learningequality/ka-lite/issues/2397#issuecomment-56605756 .

noemigerber commented 10 years ago

Hi all, Thanks for your quick responses and action!

rtibbles commented 10 years ago

Content metadata that we will need to display it in the topic hierarchy: Title Description

Ones that could be included: Language Author License Related content (filenames of other content that can be linked to from the content display page)

Additional metadata, such as an id, path, etc. will be generated automatically from the directory structure and file name.

If there is any other metadata, such as keywords or the like that you would like included, let us know.

Note: as well as having metadata about files, it will be helpful to have metadata about the folders themselves (as these will correspond to 'topics' in the content hierarchy - a title and description will definitely suffice for these).

Thanks for the delineation of the path - I was thinking of the URL path that would be in the browser, but I see now you mean the path that they will have to navigate. You can generate that from the names of the folders that the content is embedded in, and they can just follow the titles of those topics.

noemigerber commented 10 years ago

Thanks @rtibbles for the update! Apologies that I seem to use terms incorrectly/with a different meaning in mind! I'll try to clarify what I mean better in future. :)

In addition to title and description, we would like to include the following metadata:

I have a few more questions for clarification about the metadata:

rtibbles commented 10 years ago

Hi @noemigerber those all sound fine - we've deliberately tried to make our handling of the metadata a bit more flexible to be able to accommodate this kind of thing.

jamalex commented 10 years ago

The related content metadata therefore, would just be a list of filenames of the related content

Might be good to have these be the "ids" (do we have those? or I guess we're just using the hash? In which case filename, as long as they're unique, might be easiest here.)

jayarakesh commented 10 years ago

I dont know anything about python ,java or any other languages please help me in updating the topic tree.when i click on khanload.py it just pops up and vanishes.

rtibbles commented 10 years ago

@jamalex Yeah - we would substitute these in generating our topic tree, based on the generated ids we create.

@jayarakesh khanload is a django management command. Currently, we do not support it for end user use, and it is provided as is. We will be doing an update of the topic tree in version 0.13 which should be coming out at some point in November, please look out for the software update then!

noemigerber commented 10 years ago

Hi all, apologies for my long silence. Here’s an update and some questions related to the content.

I’ve worked out a content hierarchy (see the “tablet content hierarchy” Google doc). There is a slight chance that this may change a bit, if over the next 1-2 weeks I realise that there is a more logical way of organising something, but this should be a fairly final hierarchy. In any case, if I understand correctly, I will be delivering the content in appropriate folders and sub-folders to you, all in one go?

Next, I have a question related to the content’s metadata. I’m reviewing and preparing content for the tablets, and would like to prepare the metadata for each file as I go along. We discussed creating a separate .txt or .json file for each resource (and folder). Which would you prefer, and what suggestions do you have for me on how exactly I should do this? As we discussed, the metadata will definitely include: Title Description (is there a max. length/number of characters for this?) Language Organisation (as it is often unclear who the exact author is, I'd suggest using 'organisation' instead) Subject Primary level Key words

A few more questions about this:

Please don’t hesitate to contact me anytime if you need my input!

rtibbles commented 10 years ago

Thanks for the feedback here, @noemigerber.

If you were creating a metadata file for the file "Using Manipulatives to Teach Addition.mp3" you would name it "Using Manipulatives to Teach Addition.mp3.json" and it would have something like the following content:

{
"title": "Using Manipulatives to Teach Addition",
"description": "How to use physical objects to teach children the basic concept of addition",
"language": "en",
"author": "John Wittard",
"organization": "Manipulative Mathematics",
"subject": "Mathematics",
"primary_level": 1,
"keywords": ["mathematics","addition", "hands-on"],
"related-resources": ["Teaching Addition.pdf", "Addition Activities.pdf"]
}
dylanjbarth commented 10 years ago

One thing that might be helpful for you @noemigerber is using a free online tool like http://www.jsoneditoronline.org/. It allows you to type out the JSON on the left hand panel, it appears to correct any formatting errors for you and allows you to interact with it in the right hand panel.

aronasorman commented 10 years ago

re extending search to include all metadata:

Here are the relevant snippet in search_autocomplete.js:

function flattenNodes() {
    // now take that structured object, and reduce.
    var flattened_nodes = {};
    for (node_type in _nodes) {
        $.extend(flattened_nodes, _nodes[node_type]);
    }
    _nodes = flattened_nodes;
    for (title in _nodes) {
        if($.inArray(title, _titles) == -1){
            _titles.push(title);
        }
    }
}
var titles_filtered = $.ui.autocomplete.filter(_titles, request.term);

            // sort the titles again, since ordering was lost when we did autocomplete.filter
            var node_type_ordering = ["video", "exercise", "topic"]; // custom ordering, with the last in the array appearing first
            titles_filtered.sort(function(title1, title2) {
                var node1 = _nodes[title1];
                var node2 = _nodes[title2];
                // we use the ordering of types found in node_types
                var compvalue = node_type_ordering.indexOf(node2.type) - node_type_ordering.indexOf(node1.type);
                return compvalue;
            });

Right now we request the categorized topic tree (video, exercise, topic) so we should extend that endpoint to make it work with the new content loading scheme. For the search frontend as a first pass we can just add all relevant metadata to a node's entry in the _titles variable, and then extend node_type_ordering to take audio and pdf into account. So as long as the topic tree json has the same structure this should still work.

aronasorman commented 10 years ago

The PR adding this feature has been merged. So I'm closing this now. Doesn't mean the excellent discussion on this thread has to stop though.

noemigerber commented 10 years ago

Thanks all! @dylanjbarth the tool is very useful, thanks! Thanks also for the example and answers, @rtibbles. Here's my first attempt. ;) (though I can't figure out how include it with the grey background)

{ "title": "Planning and preparing your lessons", "description": "Why lesson planning is important, what a lesson objective is, and parts of a lesson", "language": "en", "date": "None", "organization": "TESSA", "subject": "Planning", "primary_level": "None", "keywords": ["planning","lesson plan"], "licence": "CC BY-SA 3.0", "related-resources": "WCHLessonPlanParts.pdf" }

I've taken out author, as we don't know the authors to most of the resources we have (or would it be preferable for me to keep it in and leaving it blank/filling it in as 'unknown'). I've included licence, in case the content will be used more widely in future, and date, for the same reason. Please let me know if you have any suggestions for improvements to the above (e.g. is licence format ok?) - this is all very new to me, and I'm learning as I go! (please also excuse any ignorant questions I pose for the same reason) A few questions related to the above:

Also, if I should be asking these questions etc. in another thread, do let me know!

noemigerber commented 10 years ago

One more question, regarding the file name of the JSON file: Should this be identical to the PDF (or other) file name? E.g.: PDF file name: PlanningAndPreparingYourLessons.pdf JSON file name: PlanningAndPreparingYourLessons.pdf.json Or can the 'pdf' in the JSON file name be left out? (i.e.: JSON file name: PlanningAndPreparingYourLessons.json).

rtibbles commented 10 years ago

@noemigerber this looks great!

Most of the fields are optional, so if you have nothing to go in them, you can just leave them out entirely. If title is missing it will get filled in from the filename.

License format looks great, and in future we should probably include some information in the software about different CC licenses.

And yes, this is still the best place! @aronasorman just 'closed' the issue because we have the first pass implementation ready.

noemigerber commented 10 years ago

Great, thanks for your feedback @rtibbles! Then I'm all set to create lots of JSON files. :)

noemigerber commented 10 years ago

Hi @rtibbles (and all!), I have a slightly different question: I've come across some videos on the Teaching Channel (e.g: Video on peer teaching), and it seems the material is free to be used (License CC BY-NC-ND 3.0). However, practically speaking, what would be the best way to get these video files? There doesn't seem to be an option to download them. Does this mean I'd have to write to the Teaching Channel to obtain the files, or do you have any suggestions for how to get the files more easily?

jamalex commented 10 years ago

They're using a flash player on that page, so downloading would be tricky (and not in the right format, i.e. MP4). Looks like the same video is available on YouTube (https://www.youtube.com/watch?v=k3GRXWfudeI), and there are tools for downloading videos from YouTube (e.g. http://www.clipconverter.cc/). But make sure that particular video is indeed CC-licensed, as it's marked on the YT video as Standard YouTube License (but that's probably an oversight, if they've indicated elsewhere that it's CC). Make sure they're listed as the authors in the metadata, too, to comply with the BY clause.

mjptak commented 10 years ago

mozilla has a great plugin for downloading from youtube or vimeo or ... On Oct 10, 2014 10:39 AM, "Jamie Alexandre" notifications@github.com wrote:

They're using a flash player on that page, so downloading would be tricky (and not in the right format, i.e. MP4). Looks like the same video is available on YouTube (https://www.youtube.com/watch?v=k3GRXWfudeI), and there are tools for downloading videos from YouTube (e.g. http://www.clipconverter.cc/). But make sure that particular video is indeed CC-licensed, as it's marked on the YT video as Standard YouTube License (but that's probably an oversight, if they've indicated elsewhere that it's CC). Make sure they're listed as the authors in the metadata, too, to comply with the BY clause.

— Reply to this email directly or view it on GitHub https://github.com/learningequality/ka-lite/issues/2397#issuecomment-58673306 .

noemigerber commented 10 years ago

Thanks @jamalex and @mjptak for the tips about the video! (I didn't realise the videos were also on YouTube!) I've had a look at more Teaching Channel videos on Youtube, but they seem to all be labelled with 'Standard YouTube License'. That's a bit confusing, since on the Teaching Channel it's quite clearly stated that this video's license is CC BY-NC-ND 3.0. I'll therefore go ahead and assume that it was an oversight on YouTube (unless you think that's too risky). Thanks also for the tip, I'll make sure to add the authors in the metadata! I have a question about the Clip Converter you sent, @jamalex: I'm not sure which video quality option to choose: YouTube Video High Definition (1080p), size: 26 MB YouTube Video High Definition (720p), size: 17 MB YouTube Video High Quality (480p), size: 7 MB YouTube Video Standard Quality (360p), size: 5 MB YouTube Video Mobile Version (3GP), size: 3 MB (this is using the example of the 1:27min long video on Peer Teaching that we discussed above). Would the Standard Quality suffice (to save some space), or would another quality be preferable?

noemigerber commented 10 years ago

Hi @rtibbles, I have a quick update on licenses! I've been able to work out what the licenses for War Child-produced documents are, and I've been adding info on licenses where I know them (mostly for CC licenses). However, there are quite a number of resources for which I do not have license information, so I won't be able to include this info in the metadata. This isn't ideal (thinking of the longer-term use of the app and possibly the content), but I'm afraid it's the most realistic solution for now. Regarding the 'related resources' metadata, I will try to add this where I can, but will likely not do so for every resource - I'll do it mostly in the instances where the link between a few resources is quite strong. I hope this is alright - or will this affect your plans negatively somehow?

noemigerber commented 10 years ago

I have a slightly different question about the content hierarchy / topic tree (which I'm not sure where I should best ask it): Will it be possible to have an 'all' option as well, at certain levels of the topic tree? For example, that teachers can choose 'all' primary levels, and choose a specific subject (e.g. science)? This is an option in the current version of the software. I suppose it is not absolutely imperative to have (as I am not sure how useful it is), but I thought I'd ask about the possibility, and if you have any experience with the usefulness of such 'all' options/folders.

rtibbles commented 10 years ago

Hi @noemigerber,

Feel free to add related content only where it is relevant - that will make it a more useful and salient feature for end users when it does appear.

I guess my main concern with the user experience of an 'all' folder would be that there would be too much content/too many options displayed to the end user at once. That said, the same content can be repeated in the topic tree if you do need to put it in multiple places.

I think as part of the navigation discussion going on, it is definitely worth thinking about how the sidebar navigation and search (and possibly other features) can contribute to this more discovery oriented mode.

jamalex commented 10 years ago

@rtibbles, what would be the best way for @noemigerber to put the same content in multiple places in the topic tree? Copying the files themselves into the other folders should work, I guess -- it makes the source folders bigger, but since we de-duplicate upon import, it won't increase the space requirements for the content when distributed.

rtibbles commented 10 years ago

Yes, just copying the files would be best. I will double check to make sure that the metadata parsing is robust in case the metadata is not copied as well.

jamalex commented 10 years ago

Re: Learning Channel, that's great: if they explicitly list CC license on their site, we should be fine, but would be good to shoot them a quick note asking them to update the licenses on YouTube (and to confirm). 720p is probably a good resolution.

noemigerber commented 10 years ago

Thanks @rtibbles, it's good to know that I can limit the use of the 'related content' to only the instances where it's very relevant. Thanks also for your thoughts about the 'all' folder. I was thinking along the same lines, but was wondering if perhaps there is some added value to it after all. But if we can't think of any within our sidebar navigation discussion, we can certainly leave it out. It's definitely good to know though that I could repeat content (and that this wouldn't increase size requirements) - though so far I haven't come across (m)any instances where this would be needed. If I do do it, I'l make sure I copy the metadata as well. Thanks @jamalex about the tip about the videos, I've sent them a message to double-check about the lincenses on YouTube. Unfortunately though, they have only very few of their videos on YouTube, so there are a few that I would have liked to include that I won't be able to. They also have a note on their 'contact us' page specifically mentioning that: "Tch is not currently able to provide downloads of individual videos. We apologize for the inconvenience," so unfortunately it's not even worth asking for video files. Oh well! Good to keep an eye on their site for the future! ;)

noemigerber commented 10 years ago

Hi @rtibbles, I have one more question about metadata: Would it be useful to include the length/duration of a video or audio file? And if length/duration would be included in the metadata, could this also be displayed when teachers are searching through the content on the tablet? I suppose this links to some questions/comments I'm about to share on discussion #2486 about the sidebar and content display.

rtibbles commented 10 years ago

The weird thing about the Teaching Channel is that their videos are openly licensed, but with a non-commercial clause, so they are worried about people using the videos and charging for them - which is why they turned off the (previously enabled) download feature.

The length/duration can be included in the metadata. I will also look into how easy it would be to read that information directly from the video and audio files (as they will have that data internally).

noemigerber commented 10 years ago

Aha, that makes sense! It's a shame though, that download button would have been perfect...

Thanks for looking into how easy it would be to read the info directly from the files, @rtibbles! That would mean I wouldn't have to include it in the metadata, correct? That would save me a little bit of work. ;)

rtibbles commented 10 years ago

Correct. I'll look into it and report back.

noemigerber commented 10 years ago

Hi all! I've updated the content hierarchy, and have uploaded the new (and final) version to Google Drive. (Note: the title of the doc is nearly the same, except for the date - which is hard to see as it's 17 instead of 07) What has changed is: Instead of grouping primary levels (i.e. P1-P5 and P6-P8), we have reverted to the 'original', which is having all primary levels separate (P1, P2, ...). In addition, the subfolder 'national languages' is now called 'mother tongue' to be in line with the terms used in the syllabus. Let me know if you have any questions about it!

rtibbles commented 10 years ago

@noemigerber Seems like reading the duration from the files themselves is definitely possible. Will implement today and let you know the results.

rtibbles commented 10 years ago

@noemigerber I now have the content import reading the duration from the files, so no need to add this in the metadata.

noemigerber commented 10 years ago

Thanks for checking that out, @rtibbles! I'm happy to hear that it's possible, and I don't need to add it!

noemigerber commented 10 years ago

Hi @rtibbles and @jamalex, I'm very glad we caught the issue with the 'related content' metadata on the call today! (didn't notice it earlier today while going through the demo). I'll have to go back and edit the JSON files I've created so far. Just to make sure that I get it right: It should be as follows, correct?

"related_content": "nameofrelatedcontent.pdf"

Also, once I've corrected the JSON files, can I simply replace the incorrect JSON files on Google Drive, or shall I specify which JSON files have been changed?

rtibbles commented 10 years ago

Yep, "related_content" is the correct key.

I think we can just recopy the whole structure over, so just let us know when it is updated and we can reimport.

noemigerber commented 10 years ago

Perfect, thanks, will do! I won't be able to do so today anymore, but will do it tomorrow!

noemigerber commented 10 years ago

Hi @jamalex, sorry I didn't know where else to put this info. I've had a look at the tablet we have, and a PDF can be opened with one of the following programmes: