-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create bulk_add_nodes internal endpoint for initiating bulk creation of nodes #3041
Comments
@rtibbles I would like to work on this issue. I'm new to the Kolibri ecosystem. Can I get some pointers to files where should I look into to implement this? |
The linked file: https://github.com/learningequality/studio/blob/hotfixes/contentcuration/contentcuration/views/internal.py#L522 here is the best place to start. In addition, to see how we have efficiently managed bulk node creation in another part of the code base, follow the implementation of the |
We both got busy with solving and collobaroting on more important issues. So, this didn't get addressed. Unassigning both of us until we visit this again. |
Let me try to bite it. |
Hi there! I'm interested in this issue. Is anyone currently working on this issue or is it available for open-source contribution? Thank you! |
Hi @akash5100, thanks for your interest. Unfortunately since I wrote this issue, I am not sure that this is the right path forward, so I may close or rewrite this issue. |
Thank you for your quick reply, @rtibbles! I appreciate your help. |
Desired behavior
A new API endpoint that will take a bulk set of nodes with either channel information, or a parent_id and initiate an asynchronous task to create a new tree or insert them into an existing ricecooker tree. It should return the task_id of the generated task in order to allow ricecooker to poll for updates to the task from the task endpoint.
The main data for the POST request should be a JSON array of objects, each of which represents a ContentNode.
This data should be in the same format as that currently used by
studio/contentcuration/contentcuration/views/internal.py
Line 271 in 9d84374
children
key that will contain other ContentNodes.Stretch goal:
Generate file upload URLs 'as you go' for any file information generated, which can then be fed back to ricecooker during task polling. Ricecooker can than start doing direct file uploads to GCS while the tree is being generated.
Required for learningequality/ricecooker#321
Some suggested stages for tackling this issue:
api_add_nodes_to_tree
API view that runs the node adding in an asynchronous task and returns the task_id instead - possible that with the existing payload it is feasible to pass the payload solely as task arguments.The text was updated successfully, but these errors were encountered: