 A very good afternoon to all of you, we are from the project OER Repository using d-space from the FRJ group, now Shreya will begin with the presentation. Motivation, first we need to know the importance of OER, OER is important because it provide affordable material to students and faculty, that can be used for learning, teaching and many other purposes. Second thing is that collaborative community generate article, that content can be provided to us via d-space, which act as repository for us. So what is OER, OER is free and openly licensed educational material that can be easily accessible to us. Before understanding the mapping of collaborative community and d-space, first we need to understand the structure of collaborative community. Collaborative community consist of communities, group and resources, a system can have 0 to n communities, each community can have 0 to n groups and communities and group can have 0 to n resources. So first we, so for the OER we use the d-space as a software, so this is the following features of the d-space which motivate us to the use d-space as a OER software. So first thing is that it is open source and second thing is that we can able to customize the metadata according to our need. And the third is that it is due to the better look and easy customizing, we can, we are motivated to use d-space as a OER repository software. This is a structure of the d-space, I am going to explain it because in the next few slides we have used this structure for the mapping of the d-space and the collaborative committees. So in the d-space there is communities, sub-communities, collection and items. So there can be, the system can have 0 to n number of communities and there, so communities can have 0 to n number of sub-communities and it can be up to the nth level means sub-communities have sub-communities, again sub-communities. So in the second is collection, collection belong to a community or sub-communities and the all the items or the resources, articles are inside the collections only. So in the d-space we are using version 6.2 to archive all the content published by the collaborative communities. So we are fetching the content from the collaborative communities and storing it in the d-space and the second we identify all the metadata according to the need of the resources published by the collaborative communities and second and last we use the APIs to communicate with the d-space, we identify all the APIs and activate the APIs of the d-space and we tested all the APIs and the different format what are the required for the posting APIs. Third, last we will experiment with the d-space that of containerize it and we set up two containers, first for the d-space development environment and all its dependencies and the second is for the database. The whole system is running using the Docker compose and the d-space development environment consists of the Tomcat server d-space and its dependencies. So the mapping between the collaborative community and d-space is explained by one of my Well now we know the main three components of our project that is collaborative community d-space and the next app which we have created in order to map collaborative communities to d-space. Well as you can see in the diagram for the creation of community in collaborative communities we need to create community and collection in d-space. Similarly with resources, suppose a resource is created in the collaborative community a corresponding item needs to be created in d-space. Same goes with groups and resources which are present in a particular community in collaborative communities. Moving on how did we achieve this mapping? So we decided to create our own separate Django app which would facilitate this mapping. As you can see on the left hand side we have the collaborative community. In the middle we have the d-space x Django app and on the right side we have d-space. So our d-space x Django app uses restful APIs in order to get the information from collaborative communities. Information is received in terms of JSON format and this information can be of creation of communities subgroups or articles in collaborative communities. So when our app works it uses get request in order to fetch the articles that are published that are in the published state in the collaborative communities. Once this article is fetched the article that is fetched is in the JSON format to an xhtml to pdf converter. Now what this basically does is significant by its name it converts the article into pdf format. Why did we choose pdf format was because there would be consistency in the articles which we would be storing and supplying to d-space. So these first articles are then passed to a pdf converter. When the conversion to pdf process is complete the articles which are in pdf format are then posted to d-space using post request and these articles are posted into d-space. Now d-space has two functionalities. One is the archiving functionality and the next is the search functionality. So details about the app which we created will be told by Surya Jan. So for effective communication between the collaborative communities portal and the d-space we created a new app the d-space x-apps as it mentioned mentioned in the architecture our app simply takes the articles in JSON format and posts them into d-space. So it does so by making use of the REST APIs which are already provided in the collaborative communities by calling these APIs we simply get all the communities, community articles, groups and groups articles in the JSON format and we get those articles that were published or communities that were created a day before. So for example if I am running this app on 6th June 2018 it will fetch all those content that was created on 5th June 2018. So going into the details the d-space x-app was created in Django and it mainly does three things. The first is fetching content from CC collaborative communities that is done through get request. Secondly is converting it into a PDF format. So all the JSON data that we get is converted according to however we want. The placements on the PDF can be done according to our needs and we use the XHTML to PDF library for this which is a very handful one when working with Python. And the last one is sending the PDF file onto d-space. So for sending the PDF file we also have to send the cookies with it because this space needs authentication every time. So post request sends the PDF along with the cookies every time. Now this is an example on the right hand side this is the PDF article that we saved on our machines locally this article fetches this JSON content from the collaborative communities and as you can see there are article id, there is a title and all these are mapped into the PDF file. So technologies use the Django request which are useful for handling HTTP request which is the core of what we are doing if we are transferring data using HTTP request and the last one is XHTML to PDF that's for conversion. Now Richard will explain unit testing and also for the links for d-space X GitHub is there we have added it here. Well once we had made our intermediate system that is d-space X we now wanted to test our system. So we performed unit testing which was successful for each and every method we run the unit testing for. Some of the methods which we tested were home test case, create community test case basically tested whether the community which is created in collaborative community is being successfully created in d-space and a sub community as well should be created. Create group test case does the similar functionality but just the community is replaced by a group. Community resources test case where community resources test case community resources means that the articles which are generated in collaborative community and the group resources test case does the similar functionality. The next we performed selenium testing for the next group that is the content tools team and the selenium testing for our web app was done by recommendation team. Well the future scope of this project we have basically two things that we could have done or we can do in the future. The first thing is that the system is not yet 100% solid if many requests are sent to it because efficiency depends upon how we gather the data. So one thing which can be implemented is that all the data and all the resources that are being fetched from the collaborative community can be intermediately stored in a rabbit mq or a q-like structure so that it will be reliable and efficient so that that information is not lost in between. The next thing is that the intermediate app needs to run for a particular period of time. So automation is needed for that. So what we have previously thought was that the system which we had intermediately created will run once in every 24 hours. So as mentioned by Surjan if the system runs on 6th of July it will fetch all the data and all the resources that were created in the collaborative community on 5th of July and similarly. Well these are the references. Thank you. So what if the collaborative community decided to delete an article? Any options for deleting an article? Published articles. Yeah, the articles are published. So when the representation system presented that if an article is published and somebody reported that. Then it might be taken down. What will happen in that case? We have not integrated the API but there is an API in the D-space for the deleting of the content. No, I am not saying. So basically what you are doing in D-space you are basically collecting all the resources, all the articles which are being published by the collaborative communities and you are managing them because D-space is all about managing the content. Correct. So what will happen then? So if that is not being handled but we need to take care of that. Yes, yes. Yes. So you have not handled it. We have not handled it. So is it possible? Yeah. So now you have worked on D-space. Correct. You have worked on the APIs, libraries and everything. Is it possible to automatically delete that? Yeah, if CC sends us a request that if it sends us a flag or anything then we can just add a case for deleting it. Okay. It's simple. Okay. Okay, thank you. So all the cases just can handle different requests so we can add different things later. Okay, thank you.