 Good afternoon everyone, I am Suresh from the team of IIT Bombay X which is mentored by Apanna Ma'am. So what IIT Bombay X is, it is a leading platform in India but yet it is not that much of in use. So the basic reasons behind this is students are not able to find it comfortable to use it and teachers also find it a hectic process to enroll their courses online. All the projects here is aim is to maintain and simplify all the work process. Starting from the first project that is open edX server task automator using xBlock. In this we will provide a xBlock which allows the admin to perform all the frequently performed tasks over the life cycle of an open edX server. Moving to the next project which will be after the admins work teacher will be uploaded upload his course online. So for that our next group will be talking about a grid based component which can be easily integrated with the open edX server. After this our third project is proctoring as a layer in the xBlock framework which will check the cheating instances of the student during the examination period. After all of these things the student should be graded and this is all about our fourth project will do that is it will auto grade the students assignment then the fifth project is it will provide API for all the actors involved in this project like registration of users course dashboard and organization dashboard to for open edX platform. So starting with our first project which is presented by Amol. Yeah so coming on to my project my project is open edX server task automator using xBlock. It's an individual project I have done talking about myself I am Amol from VIT University Velo. So the objective of my project is to create an xBlock before telling about objective I think I should tell about xBlock people who are not familiar with it. So in the open edX platform on which IIT Bombay x is built xBlock is basically a single component which can be integrated and we can change it or use it in whatever way we want. It's like individual component and you can do whatever you want in it. It will perform all the tasks that system administrator frequently performs in the life cycle of open edX server. In course of doing this project I found like most of the tasks it is there in the front end GUI but few of them currently it's done by system administrator only through back end using the Linux commands. So my project is an attempt to make them automatic giving them a very good interactive front end. So what are the tasks that I am going to cover in my project? My project will firstly include a feature called importing a course. Now what is importing a course? Faculty will create a course currently open edX platform it includes a feature only to import and export from a tar file. It doesn't include feature to import and export from GitHub. So my project includes a feature of importing a course from GitHub. I just need to give the git URL and it will import the course in the back end and it will install it as a new course. Second, activating and deactivating user about this feature. Before this I would like to tell about my meet with the end user of my system. So unlike other projects my projects end user is only going to be one person who is admin. No one else is going to use this project. So I had a meet with the admin Mr. Abhilash here at CC. So I showed him my project and he gave me a few inputs. So one of the input related to activating and deactivating a user was that normally in production server it is not the admin who will activate. Like when a user registers he will be getting email link which need to click on that one time verification email link and the user will get activated. But still it's a pretty handy feature to have because at times when user is not activated system admin needs to activate him and also when in the test server there is no email verification link. So when a lot of users are working like my entire team was working we had to create new users. So at that point of time this feature can really be handy to activate and deactivate a user from front end. Then generating certificate. This feature is still not there in front end. It is only done by admin in the back end using set of unique commands. So generating a certificate can be done in two ways. It can either be done for a particular user enrolled in a single course or it can be done for all the users at once who are in a course. Then just like importing a course I have a feature called exporting a course to GitHub also. And then running the asset collections command. This is nothing but compiling all the individual files that server has. And it is sort of like refreshing the server. It takes a lot of time. So this also can be done using this X block. And finally deleting a course. This feature is not there as of now in the front end. To delete a course it can only be done by admin by executing set of Unix commands in the back end through terminal. So that feature also I have done it. So basically my project is in and around automating the works flexibly. No you are not automating it. No I am not automating but I am normally admin. He has to type like 3-4 commands in terminal to accomplish it. At the click of a button. So now I would like to show you the demonstration of how it works. For my project the most important thing is that because it is system administrator task it should only be performed by admin. If some normal person like a student or a staff performs it, it's a great threat. So how am I giving that security to my project is. Those who are familiar with the Open edX platform must be knowing that you have three types of users in Open edX. One is student, second is staff and the third is admin. So student is nothing but he can just enroll into a course. Can attend all the assessments given by faculty, learn things and give assessments they will be getting the certificate. Staff is someone who creates the course and keeps on adding assessments and like that. And admin is the person who controls all this like adding course, deleting course etc. So my thing can only be accessed by admin. This is the student view. So I will try accessing my xplock from a student view and let's see if it works or not. It shouldn't work. This is a studio view from which staff and admins typically work. This is a student view. This is one of my student accounts. So yeah, I have deployed my xplock in this admin xplock course. How does the student has access to this block in the first place? Sir, inside a course only we deploy xplocks. Yeah, but that is done by teacher. That is done by teacher. Why allow the teacher to deploy it? No, normally teacher will not publish it. Just in case teacher by mistake publishes it. Allow the teacher to do anything with your xplock. Because no, this is a course right. It will be there on the list of courses. In the studio. The teacher is allowed to publish your xplock. Xplock is installed on the server. If by chance teacher gets to know about my xplock, he can use it. While installing it should say no, you don't have any access to the course. It's not a course. It's a xplock. It's a component. Whatever your component should say, whenever somebody is doing something, I cannot be done. Well, that was not feasible because of the platform. So what I have done is, if a teacher... I didn't agree that. No, if teacher installs it also, he cannot use it. That's my concept here. No, but why is the teacher allowed to install it in the first place? Because I cannot stop teacher to install it. Why you cannot stop teacher to install it? I have installed that xplock on the server itself. Once it is installed on the server, teacher can use it in his course. There is no way to stop him from using it. Up to now xplock hasn't come into picture. I have installed xplock inside a course. But why is the teacher allowed to install this particular xplock inside the course? So the thing is that teacher is not installing an xplock. xplock is installed on a server. Correct. And then if anyone can use that xplock if it is installed on server. There is nothing like only admin can use. If it is installed on server, it is open to all. Anyone can use it. It may be teacher. I am not saying you stop the teacher from trying to use that xplock in his course. But the xplock code gets executed. Yes. Why don't you throw him out? I have done that. To show that only I will show it. Then after clicking, I don't even want it there. Okay sir. Maybe I will try doing it. As of now I don't think it is possible. See that. Show me how it works. Okay. This is the studio view. And now I am trying to log in from an admin account. So this is the course I have deployed my xplock in. And this is basically my xplock. I don't understand. Yes sir. I am deployed in a course. Yeah xplock is a component which should be deployed in a course only. Okay. Well that was not there in my requirements. My requirement was to make an xplock. In Dr. Phantas' course Abhilash will put his xplock to use. No he will not. He will create a course for himself. Perfect. So that course is not visible to anybody. Only for one person. Basically you are saying that this xplock will not be available to anybody. That's all I want. Yeah it won't be available to anyone else. For showing that only I skipped the first two parts. Okay. But how a student can see that xplock. Oh. Yeah. Just in case. So I started with the worst case itself. Normally he won't. Okay. But if he by chance tries to hack in the system he will get that screen. So your strengths are security and hacking. Yes. Because it is, I started with that sir because it is an admin portal. It should not be accessed by anyone else other than admin. It can cause a great threat. You see my last option is delete a course. If some normal person deletes a course then. Have you checked other security of open edX? IIT bomb bags? Other security. No. Major results. No. Everything is safe. No I haven't tried much. No but what project was assigned to me I had to ensure that. Okay so you got this. He can click on anything and then he says choose option. Yeah. Okay. What kind of testing have you done? I haven't done any. Any testing? I went and met him and he tried it himself. System admin. He told me that he will bring it into production after me making a few modifications. That I will talk in course of showing the features. He is there for another one week. Yeah. Okay. And I will go and tell Abhilash not to listen to him. Okay. Till he produces test data. How anybody will use a system? I have tried in my producer. You may try everything. Yes. Okay. I will tell Abhilash what he has tried. He has to document and show everything that has been tried. I have documented it sir. So I asked you what sort of testing you have done. You said I have not done any testing. You documented what? Like how I have made it and how things are going on inside. I don't care. Nobody cares. What is the testing you have done? Like I normally tried to fail the system in all possible ways. I made test cases for it and then that was how I tested. Show me, show me, show me. That's all I am interested in. Show me the test cases. I have to get my laptop. Okay, so get. Next fellow. I will complete this and then I will show it. What is this? Complete? What do you want to do? I want to show like when I import a course, when I activate a user. No, I don't want to see. Why should I see? Seriously. Okay. You know the question of time. Why should I see? You want me to show the test cases that how? Exactly. That's all that is required. Nothing else is required. Okay. That's all. Okay. Admin will see. Does the list come up to 10 courses? No, that's all. The second fellow will continue.