 Let's move on to the second project in line, the Media Asset Management System, managed by Mr. Rahul Deshmukh and mentored by Mrs. Selvarani. The Media Asset Management System is a central repository for all digital assets. The team is here, so let's start with the presentation. A very well good morning to each and every one present here. The dignitaries are mentors and my dear friends. Today, the Media Asset Management System group is going to tell you about our project, what we have done in this summer internship. Firstly, I would like to thank each and every one of the club team for giving us an opportunity to work in this internship. And then our mentors, Ms. Selvarani and the project head Deshmukh sir. Then I'd like to introduce to you the team members, which we have, Ms. Abhiruchi Gupta and Mr. Priyam Atha. So we'll be briefing you through our project, what we have done. These are the list of contents which will be flowing. Firstly, giving you the project overview, what we have done. Then why we have gone from Media Asset Management System, then technologies we have used to implement this. The list of main modules which we have in this, the version control system, the advanced functionality search we have implemented, the challenges what we have faced and the further enhancement for the later one and what we have learned through this project. And then the references and implementation. So the project overview is something like you have an organization and you want to store all the digital asset regarding that organization in a central way. So there's not much thing available for such purpose. So what we came up with an idea, like to store all the organization data centrally. So it's a professional software, software repository which stores all the data centrally. Then it will have a dynamic organization structure which is not given by many. We can maintain our departments, we can maintain sub-department in that. We have the limited, like we have implemented role-based access control through which we can limit the users for using certain functionality. If the user doesn't have permission, they are not allowed to do certain things. Then one place for all your assets, you don't have to query different places to for your asset. You can come at one place, you can query everything, whatever you have stored. Then why we have went for media as a management system? Firstly, if you want to carry something, we have to go for many places to search one thing. So what we have done, we have taken everything at a single place. Then what we have, we need to deliver digital asset to our users. We have our production unit to reuse the assets. Whatever we have, we can reuse it. Then we need to track rights and permission. If the Google doesn't provide permission to allow users to have certain rights over the files. So what we have done, we have given file permission to our files. So the user who doesn't have that right would not get the chance to see that file. Then we want to publish to the web. We need to centralize storage system, which is the main motto. Then our digital collection are hard to manage. Whatever we have in our system is very difficult to manage. So we came up with this idea. Then this is what we have called media asset management system. These are the main modules which we have in our system. We have the access control, we have the alerts. We have searching and indexing functionalities. We have version control. We have log system. And we have the creation and review and approval system. Where user will be first adding the asset and it will be reviewed by a middle man. If the data has been authorized then only it will be published to the web. Then we are allowing multiple file types uploads. So these are the technologies what we have used. We have gone for web 2.0 because we want a system where our system can manage most of the things. So we have gone for web 2.0. We have Apache, PHP and MySQL for database and database connectivity. And the main thing which we have is our main BI framework. And why we have gone for this BI framework in PHP will be briefing in the next slide. And these three things include what we have called media asset management. So why BI? Firstly, we went through each and every PHP framework what we have. And this is the comparison chart what we came through. Firstly, cake PHP has most of the things but it doesn't provide event-driven programming and what we needed. Then Falcon PHP is very nice but the problem being is the response time. Is the response time is too large. Then similarly, coordinate is end and symphony. So what why I provide is provide everything. You can see yes, yes, yes, yes. And then the last thing you can see is the response time which is very small. It's comparing to any other framework. The response time is very small is the fastest. So we've gone for this one. Then below is the chart which is given. Why I framework with APC and without APC. APC is basically alternative PHP caching. And so for these things we have implemented our application actually implemented in with APC. So now I would like to hand over the mic to my team Ms. Abhiruchi Gupta to explain the admin module from here. Good morning everyone. What we have done project is some modules. The first module is the admin module. That is benefit an organization registers into the organization. He has to add its users and departments to that organization and give them some roles and permissions so that they can access the assets according to those roles and permissions. First sub module of the admin module is the manage OU. That is the manage organization unit. What the organization will be doing is like whenever it will log in, it will have the functionality of adding sub departments and updating them, moving and deleting them. We have gone through a nested tree structure in that. That is they can add departments to any nested structure in the manage OU module. Like this is a screenshot. Whenever the organization admin clicks on create department, rename department, the following functionality will be done. If you click on create department, whenever you will be creating the organization sub departments, this form will pop up where you have to fill the functionalities and the department will be created. Next, what we have done for assets is like whenever an organization will be adding assets to the organization, they will not be uploaded directly to our system. First, the organization have to assign a user as a reviewer, who will review all the documents and the assets. And if he approves those documents and assets, then only they will be uploaded to the system. So first the organization will create the users, and then he can assign multiple users as reviewers. Like whenever the reviewer will be logging in, he will be getting the list of the documents which are yet to be reviewed, which are added by the users of that organization, and they need to be reviewed. If he clicks on any of that asset, then he will be getting an option to authorize or reject that asset. And he can only view those assets, like he can just click on view, and that asset will be displayed there. He can review that. If he finds it okay, then he can authorize or he can reject and give comments. The third module is the parameter module. What he will be doing in the parameter module is adding category and tags to that organization. What is adding tags and categories like? It will help in searching functionality. Whenever an asset needs to be searched, then we can look up in the tags table, and if the organization has those tags, then we can display that in the search. We have stored it in our system, there's a folder, and whenever an asset is uploaded, it is maintained in the database also, it's all the log, and it is also stored in that folder structure. Yeah, that is it is followed by the organization ID. That would be further explained in the asset module. Adding roles to the users. Like I have said, there is a role reviewer who can review the documents. There are many other roles which the organization can add and assign permissions to them. Like these are the modules, and if he wants to assign a user some permissions to them. Like in the asset module, he wants like any user can just add an asset and he cannot delete the asset or review the asset. Then he can assign permissions according to that. He will just have to select the adder role, if he wants to add a role, he can add that role, and if he wants to edit permissions for that role, this page will appear with all the modules of that, which we have, and the permissions under those modules. And he just have to edit that, and those permissions will be stored in the database, and whenever the user of that role logins, he will be accessing only these permissions. The next is adding users to the organization, like I have already explained, he can create, view, and delete the users. Now what an admin can do, he can edit all the users also, and if he has given a user to permission, edit all users, then he can also edit all the users, and he can edit his own data also, like organization wants to edit something. The next module is the asset module, that would be further explained by Vishnu Priya Matha. Thank you. Here comes the fourth part of our project, the asset module, where the logged in user will be adding the assets. Coming to the asset module, the basic feature is, it supports multiple file formats, and the folder structure that is being done, as firstly the asset, an organization ID folder will be created inside that the category ID, and the asset will be stored with the name of asset ID, inside the category ID folder, and that is the basic structure of the asset. And adding asset, the basic flow is like this, the asset is uploaded, it goes to the reviewer for review, he can either authorize or reject it, and accordingly the alerts will be given. This is the basic form for adding an asset, where we can give the file permissions, and so basically creation of an asset is completely role based, and file, according to the file permissions given over here. This is the view of the way that an asset is stored. Check out module, basically when someone uploads an asset, and he wants to version it, or he wants to change it, he can check it, he can check out the asset, and again he can check in the asset, where the previous version will be stored in the versioning, according to the versioning, and the current version will be replaced. This is the view of the check in module. Version control, each asset has version, all the versions are kept in the asset folder, multiple checkouts are allowed, yes? Yeah, we'll be sending a version, but... It is like, only the current version can be checked out, and he'll have to check in again, until and after. Correct, so if multiple checkouts are allowed, what about multiple check-ins? Multiple checkouts means different asset or same file. Three people check out the same asset, okay? But one time you can check out the same asset. Three different people check out the asset. Once the asset is checked out, it is not available for view, other people. It is like, the owner is actually checking out the asset, because he wants to change it, so... No, wait a minute. Owner can give permission to other people to also check out, correct? So, multiple people have authority to check out, okay? But multiple checkouts at any single point of time is not allowed, okay? So, if I have the authority to change, and he has the authority to change, I want to change it. I try to check out. What message do I get? Like the files are checked out, and then you will have to check in that file. No, no, I am not allowed to check out, right? Because he has already checked it out. So, it is actually the asset won't be available at all? The option is not available. Because the asset is checked out? Because someone is going to edit it and upload it? No, but that is not never sufficient. What do I do? I have to call every... All the 10 people to find out who has checked it out? I am the boss, correct? I have created the asset. I have also said that one, two, three, four, five, six people also can edit the asset, okay? Now, I certainly want... My boss told me, no, no, this is wrong. Why don't you do that? I want to do it. And asset is checked out already. So, what do you do? I need to have information. Who has checked it out? That is basic for a... You are creating a SVN, a version control system. A version control system has to inform all the users who has actually checked it out, okay? That is one. The second thing I wanted to know is, you said it is not available. What about a checkout for view? Sir. I just want to view. I don't want to check in. So, we are actually maintaining file permission. So, if the user doesn't have the permission for that... I saw only checkout and check-in, okay? Normally, there is a checkout for view. I did not see that command at all. Two places. Only view, can I view? Yes, you can view the file properties of all the assets that are there. I don't want to view file properties. Let's say it's a design document here. Software design document, okay? I have to give it to all my programmers to view, okay? How do they view? You have the view facility available now. Why didn't you show the screenshot? It's not there in your presentation. No, no. There may be somewhere. Show the present screenshot, where in the view button is available. No, this is on the local host. See, the view is available at the bottom. This is on local host, actual software, not presentation. The first is view. Second is checkout. Next is the history. Then there is the management and all the things. What other functionality we are having in our system is like you can search the document. Okay. Are there any group permissions? Group permissions. Like you are saying the department. So we have implemented the department permission. Point? Yeah, like if you want to give certain permission to each user of the department, you can give it from there. I can say department, give all same permission to all departments, to every all member of the department. Yes, sir. To special. And if you want to give some special permission to some special users, then we have given that functionality also. Correct. That is, that I assume. As a creator of the document, I can give, I don't have to select 100 people and say that they are allowed. I can say department. I can remove permissions also. Yes, sir. Which are granted. Yes, sir. By individual and for department. For department, sir, we have given, if you're giving for department, then you can remove from department itself. No. I have given permission to three people in finance to look. At my document. Okay. I want to remove permission from the three people. Why I have to do it individually? I will say finance. Sir, as we have shown with the view button, there was a manage button, which is available for the owner. Correct. All I am asking is, the manage button, does it allow me to remove permission from a department? Yes. Which I have not given. Yes. I have given individual permissions. But I want to remove from the department. So, you have to search this department. Which person has been given permission and removed? We'll take the session and we'll modify. Not this. You see, ease of use. Okay. Yes, sir. For my particular thing, at a particular stage of any document, okay. Finance needs to view it. I need their comments on whether my budget is correct or not. After the comment is there, I have taken their comment and this, I want to remove it. No, I am not going to find out who I have given or somebody has gone and whatever. I should be able to say finance. Enough. Finance's input is done. Okay. We'll take the session and we'll modify. The next functionality is the searching functionality. Searching is based on the tags which the organization adds in the admin module and also on the basis of the contents of the documents. So, whenever an organization searches for a word, the doc is listed with the content which is find in the document. If it clicks on that doc, then an online viewer of the document comes and you can online view that file. Now we'll, yeah. Okay. Do I know what documents I have available list somewhere? Yeah. In the home button only, you have all the list of assets. I have all the documents I know. Yeah. Now we'll continue with the demo. This is the basic view of our system. First, the organization will be coming and registering their organization. This is a form for registration of the organization. So, after registration, we'll be sending them an email with the default username and password and they will be entering the default name and password here and then we'll log into the system. So, on the front page, they'll be seeing this, the list of assets which have been present in the asset. So, now he will be going to the admin module and managing the organization because you have to create the organization structure. So, we'll be going manage. We have managed structure where we can maintain the JST-like structure which you have seen before and then you can add the reviewer for the system. Like, if from that department if someone enters an asset, then the reviewer will be seeing that asset. Then we'll have parameters like you can add categories for which you can add different assets. Then we have different, this is a form for adding different categories. Now, we have tags for maintaining of service functionality, we have implemented tags so that we can tag our certain things with the certain documents. Then we have a role permission. We can add roles, we can review roles. Then for that particular role, we can edit the permissions. Here is the list of all the permission for you, which you want to give to the users. Then we have creating the users. This is a create user form where you will be creating the user and the list of roles, this is a list of roles which are allowed to give to the user. So, the add asset module from where you can add the asset. Here is the add asset module. The list of tags is present here. Then we have the owner. If the user doesn't have time, so you can give the owner right to someone else who can add the asset in respect to him. Then here's the department permission. If you want to give to IIT Bombay Computer Science Department, Electrical Department, you can give the permission directly from here to the entire department. And these are the extra thing. If you want to give to a certain user, you can type in the name and then it will be coming up. According to the rights, if you have the right for certain files, he can view, these are the option regarding based on the file permission the user has. He can view the file online. So, we are providing online viewer for this. We have different online viewer. We have online viewer for different file permission. We have ODT files, ODP files, PDF, and videos and audios. Now, we have different based on, as I said, based on different file permission, we have different option available. So, what we're seeing now. So, this user doesn't have permission for download and all those things. So, he can only view the file, but he won't be able to download it. Now, the advanced search functionality which we have, you just type in the name and whatever files and documents which has these words, which will be listed. And link to that file, to view it online. And these are different things in which the search has been implemented. We can search for documents, images, videos, and audios. All the files which have these words will be given. Now, the check-in modules, like if someone has for versioning purpose, if someone has downloaded some file, check out some file and you want to upload it. So, this is our check-in files. He has to check in this file back to the system. All right, these are the files for the reviewer. Like these files have not been authorized yet. So, he will be seeing the file and then reviewing it. And then he can click on authorize and reject and give the comments why he has authorized it and why he rejected it. Now, the challenges face, like, since we have a big thing, so we are, there are multiple challenges we have faced, like, the YUI has a large code base. So, searching for a function of implementation is very tough. Then coding errors in some of the extension, old extensions. Then we have role-based access control for our framework, but the YUI has its own default, so we have to overwrite this. These are our further enhancements we have. We want to encrypt the file with AES-256, what we are uploading, the facility for conversion for all file formats to others, the online editor for PDF and all those things, then private messaging functionality, dashboard for all the users and setting page for the users. Then what we have learned is PHP, since we are dealing with PHP, MySQL, HTML file, so we have learned these things. YUI framework, the database management, the dealing with dynamic role-based access control system and handling the media as a management system. These are the references what we have made, since YUI is providing their own everything, they are providing in one place, so we have gone for only YUI framework.com. Thank you.