Hi,
I am developing an xblock as a final degree project. I have read all the basic documentation and implemented a few examples, but Im stuck on various points when it comes to the xblock development.
What i want to achieve:
Basically i want to develop an xblock so that teachers can create new "quizzes" as fast as possible with interactive content. In an ideal situation the questions should be stored in a database so that other teachers from other courses can reuse them.
How:
Teachers should be able to, in the studio_view:
- Create a new tournament (quizz): Select a number of questions for an assesment and activate it so that students can join. The tournaments questions should be composed of: image + multiple choice questions, video + multiple choice questions, free text answers, etc.. (as many as i, or contributers can develop).
- View students results on previous quizzes with a series of statistics (time per question, n of right/wrong answers, etc)..
- Edit a tournaments questions.
- See other tournaments done before.
Students should be able to:
- Join an active tournament (quizz).
- See their results for a tournament they participated in.
Problems I am running into:
- I want to develop the code for teachers (tutors) in a tutor.py block. When i try to import it in my main xblock file, it gives me an error. What is the correct way to import local python files developed by me?
- I want to save the data (tournament questions) so that they are not all loaded upon xblock loading (if the xblock is used a lot this would mean a significant amount of data). Is there easy way of accessing/loading data without using fields to store them?
- When i want to use css/javascript files, i am finding it quite difficult to import them. Is there any easy way to include css and js files for a certain xblock without having to include them all in one single file or an external location? A relative url for example? (It is blocking me from using these right now).
I would greatly appreciate if you know of any tutorials for best practices/advanced xblock development other than searching amongs the existent xblocks and analysing their code (as each person develops in a different way). The basics are very well explained in the docs, but when you move forward from them, i find there are many restrictions that i am unable to solve.
Thanks a lot and sorry to bother you.
Miguel