 Good afternoon, good afternoon. My name is Dr. Urmila Paul. I'm from Department of Computer Science, Shivaji University, Kolhapur, which is the leading university in Rural and Maharashtra. Today, the topic of my discussion is installation of Moodle on Ubuntu 16.4, some brief information about my university and development of Moodle report plug-in, template of that. We have included Moodle icon for easy use of Moodle to every faculty member of university. Shivaji University established in 1962. Its jurisdiction over three districts, Kolhapur-Sangli-Satara. 283 affiliated colleges are there, university 40 departments are there, recognized research institutes, 13 institutes are there, over 4 lakhs students are there and distance education also 50,000, more than 50,000 students are there. Use of ICT in university, we have already implemented online secured remote paper delivery system is an exam. Online entrance examinations for EMBIL, PSD, MSC, B-Computer Science Semester examinations are in practice, they are all online examinations. Online declaration of results, delivery of statement of marks and application for evaluation, convocation is also practiced. All the examination account section is optimized in university, results are declared in proper time. Moodle helps us in bringing the gap between various academic activities like, various academic activities look at the slide. This is our Moodle server which is administrator by network administrator of university and various streams. We have implemented this Moodle, more than 650 courses are created in Moodle in science engineering and technology, social sciences, commerce and management, arts and fine arts, law, education, distance education, various schemes we have used that spread of Moodle over campus more than 650 courses are there. Now, technical, this is the next session which is very much technical. I assume that everybody have, every participant have the knowledge of Linux of putting system. First we have to Moodle installation on Ubuntu 16.4 means Moodle, Ubuntu server is there, Ubuntu machine is available, it is already installed 16.4, then we go for Moodle installation. First we have to update the machine, after installation of any operating system, latest packages are not available, therefore we update the, we can update the machine, then it will take all the latest packages on the machine, therefore we can install various softwares which are required for the further process. Then install Apache server which is required to execute our Moodle site, Wave server. My school database is required because all the Moodle data is stored on the database, PHP is the language. Next install additional softwares, then after installation of that software, we restart Wave server to take appropriate changes. Git is a version control system which your keep track of all the versions of Moodle. Then using Git, we have to clone the Moodle software, using Git and after installation of Moodle software, you can, it will report store into Wave root. Here Moodle 16.04, Wave root is slash pplw slash wiw slash slash slash via slash slash Store vml slash Moodle. It is the details folder after installation of Moodle. Wave root, you cannot update the latest copy of Moodle. Therefore you can copy that Moodle folder from Slipped to Wave opt slash opt to wave root and give the permissions for the access then set up mysql server. Mysql server which is stored, mysql configuration file is stored into slash ETC, slash ETC folder of Linux operating system which stored all system files. Therefore we have to search for mysql deconf file and update that file and add three lines default storage engine is equal to inodb and inodb file per table is equal to one, inodb file format is equal to barcuda. These three lines we have to insert at the end of that file then restart mysql server then it will take the changes it will changes to take effect then start mysql a non-root user is required to install this sudo service mysql restart. This is the command to restart the mysql server which takes appropriate changes after installation. Then this is the time to set up open the mysql command line interface how to open that using dollar prompt mysql minus u root minus p means mysql is the user root is the user and it is ready to take the password from user minus p then enter mysql password then create whenever a model is installed then model data is generated and a database is a database is essential to store the database is essential to store the information therefore model user is required create database model first you have to create the database and then create model user. These are the mysql commands which are used to create database model default character set this is the command to create database then create user model user at local host identified by you have to give the model user name and model password here user name is model user and model pass is the password you can generate any you can create any number of users using this command in mysql then you have to give the permissions for the newly created user grant select insert all the data manipulation permissions are there if you don't give the permission you cannot create any transactions from for using that user therefore grant select insert update delete create temporary tables all these permissions you can give to model user at local host identified by model pass then complete set up first you have to give the permissions for web root that is 777 means read write execute access for user group and owner and you after installation of that you have to revert the permission of model folder then you have to change the permissions after that edit edit config dot php file for model if you want to how to after completion of installation it will take sttp colon ip address of server your server have some ip address dynamic or static take that server address slash model if you don't require model then you can change the config dot php file this is the server created by me in ubuntu 16.4 after that i want to tell you about how to develop report plugin using model this present presentation will give you an idea about developing a plugin in model the plugin development will be explained with a sample plugin which is a display last user or a list of user who access the course in some specific time date range and time every participant i assuming that every participant have model and php knowledge of model and php and plugin various list of model plugins are available when you want to develop any plugin then first you select the type of plugin which type of plugin you want to develop here i want to develop report plugin therefore i select report then model report plugin documentation available and coding styles are also provided by model it is mandatory to follow the coding styles because it is an important part of any project development in model various code checker useful tools are available code checker and model php dot checker these are the available tools next when you want to develop any plugin these are the following steps which are very much required adding database tables defining capabilities declaring the language settings version control defining the settings and plugin base code actual logic is required then folder structure for report plugin i want to create a report plugin then i want to go for wave root wave root for the ubuntu 16.4 is where triple w slash html slash moodle slash report it is already existing folder in moodle after successful completion of installation of moodle then you create your folder that is your plugin name under report directory suppose here my plugin name is urplxs i want to make dir urplxs under report plugin report folder report urplxs look at this thing report urplxs under wave root wave root means wave root folder as per the operating system it is different then using xml editor you can create your database tables how to go for that in moodle site administration development xml db editor is there using that you can create your tables which are required for plugin here database tables are not required we can see the process first when you generate your folder that is right table right table access is required for db folder and files it when you go for xml db editor after placing that all the database locations of plugins are available on the moodle web page then search for your plugin what is the plugin name urplxs urplxs slash db it is available on moodle screen then search for that here when you search for that it is available after creating folder then create link is enabled after placing create link load link is enabled after placing load it will enable edit is enabled edit xml and doc all the links are enabled after placing edit link it will create xml file it will automatically generated after placing after placing create here database tables are not required but one default id one field table is generated automatically then after that edit xml file is generated if you want to change that you change here at the end of screen new table new field some clilings are there using that you can create your database tables after that it will all the information or the database details are stored in xml file when you want to use that database tables then it loads from xml file after all these things the plugin is ready it is when you open your moodle ip address with moodle then it will show notifications it is ready to install after installing it show success this is the common format for install dot php file which is generated after xml or db editor and after that we want to generate access dot php file how many folders are required here first when you go for web root then first folder is db under db install dot xml it is generated automatically and another file is there access dot php contain the page access control parameters which contain capabilities dollar capabilities it is the area of report slash urpl axis colon view it is the capability and our naming convention is report is the plugin type urpl axis is the plugin name colon capability view is the capability then another parameter risk bitmask risk bitmask is used for personal various risks are available with the capability risk personal xr various etc then another parameter capability type read or write for viewing for viewing you can give read axis and for page read and writing cap type is equal to write then context level which context you want to use that plugin then context level is equal to context course archetypes means archetypes which role want to use this page or this plugin then use manager manager capability allow means only manager can use that plugin then next in the settings dot php and version dot php files are also required and language strings files are also required here we have to setting the values for language strings which are used in our programs settings it is required to open our plugin page give the path using admin role and it had add function which have parameter type of plugin and another function is there new admin external page which can have capability and another parameter plugin name and path of the plugin and setting is equal to null means no settings for page then version dot php contain plugin version and plugin required version current version required version and component we are name of the plugin plugin type plugin name all these files are generated then we want to create our user interface using index dot php using form api page api we can generate index dot php and index form dot php index dot php first folder structure is that i have already tell db language db contains two files xs dot php install dot php then language file is there language in language you create one folder that is english default language english language is for model then language en folder is there in en folder you have to generate string file which is used in your program then four files are required version dot php settings dot php and index dot php and index form dot php index form is required to design our screen as per the as per our requirement this is the screen after plugin execution display report course you have to choose the course it will display all the courses are generated in model select one course from that then after selection of date from two and after pressing display button it will display list of user who access the course last time for that you generate index form dot php which how many add elements required here three fields are there course from and to date range therefore here first you have to include config dot php file which require for page design then give the name of index form dot php file index form dot php file contains our add elements and here check the basic permissions and set up page objects dollar page object is there dollar page api is there to set the page settings then get the courses how to display that courses when you select choose it will display all the courses are generated on model you write one query dollar sql is equal to select id full name from course course is the default table which is already existing in model using my sql you can see all the tables of model then one of the course course table is there here we have not generated our tables but already existing table is there course from that we retrieve the data and from that retrieving dollar db means you have to use global database from the model dollar db object is there then load up the form using dollar m form dollar m form means model form you can extend model form in index form dot php after extension of that you can include that form into index dot php and then our dollar output is the object which is used to display output on the page here after index index form dot php we can add our add elements as per the screen choose from two three fields are required then we can design add elements options dollar m form add element select course get string course dollar options align with center it is a design for our screen like that you have to include your fields and then load up the get the data process the data and display the report m form display it will display the output to here we have already existing the database is there model database from that we can access all these data and then display the report after that it will display report a pressing button advanced user name and date range last access report and then it is a I have started learning a plugin development whatever I learned I discussed today I am not the expert for development of plugin but these are the things we I learned some previous days and this is my journey from started from Melbourne Australia then Delhi and today at Bombay thank you if you have any questions please ask any questions thank you