 The communication between people directly and 5% will be the online portion, which I'm going to demonstrate here. And it's a small part of the learning. I changed the name to experiential learning with the database module. This module is one of 10,000 plugins that you can find, maybe thousands on the plugin database, but another 10,000 that are out there that have not been put on the plugin database yet, including this one, because it's just being developed. I am a teacher developer. The beauty of Moodle is that teachers can develop plugins. This is also a learner-developed plugin. PolnaWatt, the programmer, also went through an internship, and he is now programming this for us. And he's not here today. I wish he was here today. The problems that we face is that students study management in my university with abstract lectures. They need real-world experience. University students do not know what career they want. They need real-world experience to see what a career could be. Students learn academic English, and global English is needed, and they need real-world experience with practical English. Finally, university administrators are suspicious of internships and other experiential learners. What is the learning? Is this just a part-time job? They need evidence of learning. So we created this internship journal, and we have internships where students use English in a job setting, and they also learn hospitality, operations management, financial management, human resource management, and accounting management by doing surveys and reports with their supervisors. Finally, they give a report of a company case study and also a presentation. All of these things need to be collected. Where do you collect them in Moodle? How do you assess them through an internship journal? Here's an example. In Hokkaido, Japan, where I come from, the finest powder snow in the world is at Niseko. This has become an international icon for places where people want to come. Our students need to learn English to do that and to do hospitality. We have internships with certificates that do this performance-based assessment. Earlier, I talked about an ecology. My research is ecological research, learning ecology research. I analyze the learning outcomes by actions, timings, grouping, spaces, text, and tools. This is the framework of an ethnography. I recommend teachers who are researching Moodle don't use quantitative or even learning analytics to a small extent. Use qualitative tools such as task ethnographies and other methodologies such as action research to do your studies. In a blended learning design, you have face-to-face learning and online learning. And how do you track it? You have unstructured texts and journals and reflection and also structured. So what do you do? We wanted to make our own software to do this, but instead we chose the database module and reprogrammed some fields to do this. We looked at the journal module, we looked at the forum module, the data form module, the database module, and we really wanted to do a custom module, but we rejected that because this may have application to others and a standard module may be better. So this is what it looks like. Here is a course page and as you can see here, these are the daily journals of the 12 students in the class who are going abroad in Hokkaido to this English environment. And here they click on their name and their supervisor clicks on their name and they can see the journal. This is the journal form. It's just an empty text box and they have to design their activity schedule. So this activity timetable is a specially programmed field and it builds a little table of their activities paid and unpaid and the type of activity they did. The reason why is because the university administrators don't want to count the hours spent shoveling snow or count the hours spent doing housekeeping. They need to track English hospitality learning. So this was the new data field activity timetable that was programmed and also a supervisor stamp data field which was programmed. We added this so that two separate academic and company supervisors could stamp it. And then this is the flow of the daily journals and now we're developing notifications so that daily notifications to students and supervisors can keep their energy going in doing this. Thank you very much. Okay, we do have time for questions. What was the biggest challenge in using this with students and getting students to use this? The biggest challenge is socialization. It's getting into a habit before bed to type in your reflections. Also they have to separate, they have to look at their schedule and separate what are the different activities and we're still training them to do that. So we can now structure what kind of things they were doing in this four month internship. And they're having trouble doing that. But that's a pedagogical thing so I need to keep contact with them. The snow is falling this week for the first time. So as we stand they are now sending in their first journals. We would urge you all to develop modules. This is the beauty of Moodle and I would urge you to study your modules and you're learning through qualitative ethnographic and action research studies as you develop great learning experiences. Thank you very much. So moving on with the next presentation I think it's a very useful presentation for all of us by Rick Gers from the University of Iowa. This is not a follow along presentation because we would never be able to do this in seven minutes. But if you go to my website and scroll down, website and scroll down. I have a resources webpage that provides a little bit more information. Today live I will show you how to install Moodle on a PC. The Macintosh version is on my website. At Mountain Boot I did this in two and a half hours. Today we're going to do it in seven minutes. Thank you. I'd like to show you how to install a sandbox Moodle on your Windows PC. I would like to provide a brief overview, show you how to do the installation and then show you some things that you can do with your sandbox Moodle. Sandbox Moodles are typically not for production, but rather for education and experimentation. You can do many things with your sandbox Moodle, but some things still involve having a real Moodle server on the internet. There are many ways to install Moodle. Moodle.org provides some installers. However, I find these one step installers lacking a few important features. I will show you a manual installation using AMP servers found in these Moodle.org installers. I believe that this will be more educational. Let's manually install ZAMP on a Windows 10 PC and then manually install Moodle. Open your browser, go to ApacheFriends.org, download .html and download the latest version of ZAMP for Windows. When the download is complete, go to your downloads folder and double click on the ZAMP installer. This is a fairly normal PC application installation. It ends asking if you want to start the ZAMP control panel. The ZAMP control panel must always be running from Moodle or work, so I will let the installer start the ZAMP control panel. Then click on Start Servers to start Apache in my SQL. Both servers will turn green. You can pin the ZAMP control panel to your taskbar if you wish. Return to your browser and type logo host, and the ZAMP screen will open in your browser. ZAMP is installed and running. How about Moodle? Remember that Moodle has three major components. A Moodle folder, a database, and a Moodle application. In ZAMP, the web folder is called hcdocs. We can find hcdocs using Explorer right here. It is recommended to create the Moodle data folder one level up from your web folder. To keep organized for future installations of more Moodles, I like to create a folder called data and then create the Moodle data within this data folder. There we go. The Moodle data folder must have read and write permissions. On our PC, we should be fine. If desired, we can verify this by right-clicking Moodle data, hit properties, and see that read and write is allowed. To create the Moodle database, we will use phpmyam in from the ZAMP open screen in our browser. Click databases, and in this text box, I will name my database Moodle. To the right, set the correlation to utf8mb4unicodeci, and then click create. We now have our Moodle database. Let's install the Moodle app. Download and save the latest version of Moodle in zipwormat from Moodle.org. Here it is in my downloads folder. Double-click the file to show the Moodle app. Now, I open another Explorer window, navigate to the htdocs folder, and drag and drop this Moodle app into it. Windows may take a little time to move and unzip this Moodle folder. Give it some time. Now we have all three necessary components, a Moodle data folder, a database, and the Moodle application in htdocs. We finish the installation of Moodle from our browser. Go to localhost slash Moodle. This is the URL for our XAMP Moodle, which you can bookmark if you wish. The Moodle installation begins. Pick your language, and next. On this webpage, the only thing we need to do is enter the correct path to our Moodle data folder. Remember that we put Moodle data in a subfolder called data. XAMP supports both MySQL and MariaDB. I pick MariaDB because I use MariaDB on my production Moodle. This webpage needs database information. We named our database Moodle. Every database has a user and password. For XAMP, the default user is root, and the default password is blank. Click Next. Read Moodle's conditions, and click Continue. Moodle checks the environment and displays this webpage. We have one red check that we must fix by editing php.ini. Click on the XAMP control app, then the Apache Config button, and then php.ini, which opens php.ini in Notepad. Find INTL and remove the semicolon at the lines beginning. While we are editing php.ini, let's also scroll down and fix XMLRPC and SOAP by also removing their semicolons. Exit Notepad's saving changes. Stop and restart Apache. Go back to your Moodle install webpage and refresh it. Those bad checks are now gone. Cool. Click Continue. Moodle continues its installation, creating all the necessary database tables. Give this some time. When this step is finished, scroll to the bottom and click this Continue button. We are now into some final Moodle setup pages. On this one, we established the Moodle administrator, which is you, and not me, so enter your own information here. On this webpage, we set up Moodle's front page. Again, enter your own information, not mine. Our XAMP Moodle doesn't use email, but you must still have the correct domain for outgoing mail, so I add the dot com to the end of this. When you click Save Changes, we are done. This is how a brand new Moodle looks. We are ready to use this Moodle. Let's review what we have done. We have created the current working version of Moodle in our sandbox. It is on our local computer. We do not have anything in Moodle yet. The steps to using our sandbox Moodle are begin the XAMP control panel, start the Apache and MySQL servers, go to localhost slash Moodle in our browser. I encourage you to keep notes about everything you have done. I will end with some examples of experimentation. Moodle has many settings. I will show you how to turn off guest access, which is something I like to do. Go to administration, plugins, authentication, manage authentication, and change guest login button from show to hide. Save this? That's it. A common task is to make adjustments to settings in PHP.ini. I have already shown you how to edit PHP.ini, and we turned on intl, xml, rpc, and soap. Here are some of my other common adjustments. I suggest that you always stop and restart the Apache server after making PHP.ini changes. Let's add some custom CSS. I like to change the color of the top bar so that I can easily distinguish my sandbox from my production Moodles. Go to administration, appearance, boost, advanced settings, and enter this code into the raw SCSS text box. Often when you make these kinds of changes, you need to go to administration, development, purge caches, and purge all caches. Now you see the top bar color change. Moodle offers many plugins. Your sandbox is a great place to experiment with these. Here is a list of plugins that I use. Let's install collapse topics. I go to Moodle.org plugins, search for the latest version of collapse topics, and download it. Go to administration, plugins, install plugins, and drag and drop the downloaded file into this text box. That's it. Being able to run Moodle on your local computer, learn, and experiment is a tremendous feature of Moodle that does not exist in most other LMSs. I enjoyed showing you how to do this. If you have any questions or need my help, you can find me in the Moodle.org forums. For the sake of time, I will be here for the next two days. If you have any questions, just catch me. What would I do with my Moodle sandbox? Well, how about installing Moodle 3.8? That just came out the other day. Yesterday, I saw a presentation on gamification, and Mary Cooch gave us a little download of her course. Why not load that into your sandbox? Thank you very much. So, we continue with Moodle for the workplace with Emilio. So, join with us. Okay, first of all, thank you. Thank you for coming to this presentation. I just wanted to tell you that we have two workshops this afternoon. Since we are starting late, the first workshop will be delayed, so don't worry. If you want to attend to the workshop, you will have the opportunity. You can just go right after this presentation to the workshops. So, today we're going to talk about Moodle Workplace, which is the new... It's not so new. It's been around for one year, but it's brand new. So, a new product for the corporate, for the enterprise sector. So, I'm Emilio Othano, I'm the product manager of Moodle Workplace, and this is the awesome workplace team. I'm very proud of being part of this team, and I just wanted to say thanks to them there around the room. So, if you can please stand up. They're amazing. So, we are eight, but only six developers, one product designer and one product manager. So, what we have done is pretty impressive, believe me. About Moodle Workplace, this is our solution for empowering your team with an effective learning solution for training and development. So, basically what that means is that we have created a set of features that aim for the corporate sector, for the enterprise, and they work with long-awaited features that have been requested from partners for a long time. So, why did we create Moodle Workplace? Well, it's well-known that, or maybe it's not so well-known, but about 60% of our revenue is coming from the workplace market, and that's huge. And it's coming through our motor partners who contribute with the 10% and around 10% of all their business. And most of the customers are coming from the workplace sector, these kind of companies. So, our partners, before our workplace event exists, they needed to create their own solutions, they needed to create their own flavors of workplace with other implementations of our features, things like multi-tenancy, program management, report builders, and so on. And it's so expensive to maintain all those features that in the end they needed something to compete, to be competitive in the workplace sector. And that's why they were asking us about the solution for a long time. So, I know this is a sensitive question, so let me address it, and if you have any questions, we have a booth, I will be around. But is Moodle Workplace open source? Well, Moodle Workplace is based on Moodle. Moodle is GPL licensed, so in that sense it can be considered open source. But we are reminding the distribution of the workplace plugins with our partners, so we can keep this exclusive to Moodle Partners. And why are we doing this? Well, we are doing this because this is mainly for two reasons. And let me explain to you how can Workplace have improved Moodle MS. First thing is revenue. 60% of our revenues are coming from Moodle Partners, are coming from the workplace sector. So by creating a product that is only for them, so they can be more competitive, it will bring more revenues to Moodle, it will bring more partners into the network. And that means that we will be able to have more developers, but designers, researchers to work in the Moodle MS product because in the end, this is the soul of Moodle, you know, the Moodle MS. So we're helping, we want to help to improve Moodle MS. But there's another way we can improve it, and it's by releasing some of our features in Moodle Core. And this is actually happening, and you can expect around one feature each year. I don't know because it's not easy to refactor some of the features to be served in Moodle Core, but we really have that in mind. We want to improve the product, so expect that some features like programs will be released soon in Moodle MS. Certification, we already have contributed with some things like the custom fields, some corpaches that we really needed for our features, so expect that this contribution will be ongoing. Okay, so what is Moodle Workplace? This is Moodle Workplace. We have nine big features, but the biggest and most important feature is Moodle MS. So we're based in Moodle MS. We have everything that Moodle MS can do. You can do it also in Workplace because it's based on Moodle MS. It's synchronized with Moodle MS, and in fact, it's just Moodle MS with a set of plugins on top of it that are addressing these specific features. So what do we have? I will explain very briefly all of them later, but we have multi-tenancy, organization structure, we have an amazing report builder, dynamic routes to automate workflows, programs, certifications, appointments, appointment booking, and certificates. These are the key features right now. Some of them are just coming the next week. Okay, so let's talk very briefly about all of them. We will be able to try Workplace in our workshops. So if you really want to have a different knowledge of these features, please go to our workshops, come to our booth, or talk to Rafael who is doing some user testing. So multi-tenancy. Thanks to multi-tenancy, we can create different tenants in the same installation. So we can have different, so it's like having a full LMS experience in the same tenant, but all of them in the same installation with completely isolation in terms of users and with their own look and feel. So you can create, you can have a model site with one tenant for each division of your company or one tenant for each faculty, your university. All the workplace features are tenant-wise, so you can have your own programs, certifications, dynamic routes, whatever, and even some of them can be served among tenants. You can have a course that is served among several tenants and you can actually use that course in different programs from different tenants. It's exactly what we're doing with MEC right now. So organization instructor. This is all about defining departments, positions, and jobs. So it's like modeling your organization instructor, all your departments and all your appreciation, and assigning jobs to the people so you can define the reporting line. And you can say, okay, this person is the manager for this department, and since he or she's the manager, we'll be able to report on all those users, we'll be able to create programs and allocate programs to people, not creating maybe, but allocating people to those programs from the department. So this is key. And you can easily model any organization using organization instructor. We have this amazing report builder. It's not all about the report builder itself, you know, because you have a very nice drag and drop interface. You can just drop columns with instant preview. You can create groupings, aggregation, filters, conditions, whatever is amazing. You can try it in your workshop. But there's only one amazing thing about the report builder that it's integrated into all the features. So all our listings are built using report builder. And the admins will be able to customize pretty soon any listing. So if you have the program listing for your users, you will be able to just add or remove columns and even change the conditions or whatever. So it's extremely powerful that it's deeply integrated in all WordPress features. And it's also settling, so you can just, I don't know, send reports to your managers every week to report on the program certification completion for their teams automatically, even for external users. Okay, this feature is key for automation. It's so powerful that even some of our partners, the factories I will mention after, they managed to upgrade an existing site based on competencies because they use competencies like automated enrollment to define learning pathways. They upgraded the site to more WordPress and just using organizational structure and dynamic rules in less than a day, and they get the same results. So this is extremely powerful. You can automate anything using dynamic rules, but you will be able to sit in there because I only have five minutes. So we have programs that are learning pathways, basically sets of courses and define the bonuses among them. You will see it very briefly through them, through all the certifications which are recurring programs that you can even define different certification pathways. So that is great for compliance. We have the new certificates with a new shiny design which is based on the custom certificates model. And we have this new appointments working plugin which is coming in this release. And of course, we have an app and we have a branded app with specific features only for managers, and it's great and we are working in our first branded app, so it's great. So what is coming in this release? Well, I just told you so I just let me skip that one. You can... Let me skip all these features because you can see all of them in my presentation in the workshops. So what is coming for the next releases? So we have different topics. So for the next release on 3.9, it will be about tenancy learning. So we are going to define more scenarios in multi-tenancy. So you will be able to create dynamic rules to dynamically allocate people in tenants. We will be able to share programs among tenants and even to define some limitations on the users for each tenant. And we have different topics that we are considering because we are defining this product with partners. So we prioritize all the topics taking into account their opinion and their feedback. So we are working... We're thinking on focusing on reporting dashboards. And for the next release, we'll see if we have time that we want to really release programs and certificate into model elements. We'll try to do it for 3.9, but we'll see because it's not an easy task. So how can you get workplace? It's pretty easy. Just ask another partner because this product is only for partners. So you can have this product only if you talk to a partner. Right? So we have real projects right now. It's this over this one-year-old, but we have started very slowly because we prefer to do some pilots within the PEG with this subset of plugins that have been helping us to define the requirements. But we have three big projects right now. We have several projects for three partners like White Services. They're doing a very big project for a big organization with 25k users or more. In fact, there are four great projects with lots of plugins and integrations. And they have also a couple of good projects, and we have lots of prospections from our partners. So it's doing really well. Okay, so if you want to try workplace, we have two workshops. The next one is starting right after this presentation. So you can just go there and try it by yourself and give us your opinion. And we, of course, have a stand. So we really want your feedback. Using this QR, you can tell us what would you like to see in workplace. And, well, just give us your feedback. So please use it and give us your feedback. So how much time? Okay, if you have any questions, I will be in the booth, right? So please come to your booth and ask me whatever you want because I will be very happy to answer all your questions. So thank you so much. So thank you so much for your patience. There are so little, little, little, pretty little uses. So this time we'll talk about accessibility. So let's see his model is accessible. Hello, good morning, everybody. I'm Pao Plana from Tresa Poon. We are the model panel here in Barcelona. And we work with Tutomweb for a lot of years now in things about accessibility. And he will do a demonstration about how blind people interact with the model. Okay. Let's start. Okay, thank you very much for being here. First of all, let me introduce a little bit our company. We are Tutomweb, a small company focused on digital accessibility. And we work correcting or developing websites for everyone. Making websites work for any person with any capability, especially work improving websites for a person with disabilities. But as we will see, not only. I'll keep speaking even if I don't have the presentation. So I'd like to introduce you very briefly what's accessibility. Accessibility means making things for everyone. Meaning that, for example, blind people, deaf people, persons with more problems, moving the arms, users not browsing using the mouse, even people with cognitive problems, making websites for everyone, for all this kind of browsing methods. And this also applies to Moodle. As Moodle is a platform meant to be for everyone, it's important to make contents for everyone. And as you will see, making contents for everyone, it's quite easy for you to do it. So in the world, there's roughly 650 million people with a disability, which is huge. It means there's a lot of people in need of accessibility. Not everyone, not every person with a disability needs accessibility. But a lot of people having a disability benefits from having an accessible content. And schools, universities, government, public administration must make things accessible. In Europe, in America, in our laws, making mandatory accessibility for public administration. So as I said, who benefits from accessibility, all kinds of disabilities, and how do we make things accessible? There's the World Wide Web, that maybe you will know about it. They developed the rules of Internet how to develop correct websites. And inside the World Wide Web, we have the Web Accessibility Initiative who develop rules and recommendations specifically for accessibility. And the important one they have developed which applies to Moodle and to any website is the Web Content Accessibility Guidelines, which now are in the 2.1 version, which are the rules which must be applied to reach an accessible website. They are quite easy to understand. You can browse them, you can Google them, WCAG2.1, and you will get the rules, and they are quite easy to understand. You just have to read them, read through them, and apply their contents to your websites, to your Moodle courses. So let's see in a practical example how a blind person browse a Moodle course, and you will see which are the barriers a blind person would find in a course, and then we will see how to correct them. Let me introduce Chell, Madi Chell, who is a blind user, an accessibility expert, and she will browse through a course with some barriers, accessibility barriers. We will see how this course was done and how this course should have been done. Good morning. It's not enough. Okay, I'm Chell, and I'm blind, and I'm a screen reader user. Imagine that I am a student, and David is a teacher, okay, and I need to do a course that you did, and I have to discover all the contents, not only the text, also images or all that you can decide that is in this course. So I use a screen reader, and you can listen to this screen reader. Okay. We are in a small example, okay, because we don't have enough time to speak about accessibility and all the barriers that we can find. But for a screen reader user, for example, the images can be a problem if you don't put an alt text, an alternative text in these images. For example, if you put a graphic, a map or something in your course, okay? For example, Global Mood 19 Visit, Summary of General, Global Mood, Summary of General, Move out for a second. Sorry, because we are sharing the document. Now yes, right? Okay. Okay. Let's see the first one. As you can see, the screen reader reads very fast. Blind users are used to using screen readers, and a non-blind user would never understand this at this speed. It's incredible how far they go. Okay. We have an image. If you don't put this alternative text, the screen reader is going to read the name of the file, not a real description. Okay. Yes. You have to decide if the image is informative, if it's necessary to explain this image, or not, or maybe it's only for decoration. So, in the next one, it says World. World Graphical. Because they say that it's an image. Okay? The images, you can put an alternative text in the... Yes, in the... If you are a teacher, for example, you can put text, an alternative text, and it's very easy. Yeah, it's really easy. Okay. Thanks. Now I'll show you how to add an alternative text to an image, which is really, really easy. Here we have the image without the alternative text. Once you are putting an image into a course, like this, like normal, you have a field where you cannot add the alternative text. It's very, very important to fill this line with the explanation of the image. A typical problem is giving a book here, explaining the image. It's not necessary. You just have to put some words explaining very shortly the meaning of the image. Here, for example, wall is enough. Wall or map, for example, that would be enough. So let's move to the next example. For example, if there is a text, because always there is a text in the course, maybe this text explains also the image. So you have to decide if it's necessary or not to write this text. Let's change it. Okay. Another thing that you must do is put titles, but you always put titles in the contents. Isn't it? To divide sections, things like this. But it's important to mark these titles like headings. Because if you don't do this, it's impossible for a screen reader user to jump from one section to the other. So if you don't put these titles like headings, I have to read all the text. For example, when you see a book, you can choose the titles. If you see a website, you can choose where you want to go. So for example, I can see the titles like this with my screen reader. And I can choose where I want to go. The thing in this example is that there are jumps in the structure. So we have to decide if it's chapter one or different sections inside this topic. For example, we have to use always the levels. One, two, three, but not jumping levels because it's very difficult to imagine the structure. So here we have a jump from two to four. Okay, I'll move to the very, very fast. Here you can see the structure. Those are the styles, the heading styles. In Moodle, you have three styles. The large, the medium and the small. So the main title of your page should be large. Then inside the main page, you will have some content, some sections. Each of these sections should have the medium. And then inside of each section, you will have a smaller section. Those should have the small title. So always keep this structure. Large, medium, small. Never jump from large to small. That's the only thing you have to do. This way the blind people or other users in need of headings will know we'll get the correct structure. Okay, we have a table. It's important to mark the rows and the columns because if not, it's impossible to relation for a screen reader user. It's impossible to know, in this case for example, which days we have work or not. Okay, so here I'm going to go through the course editing. Let me close the screen reader. Okay, so when you are using tables, usually you may just add the content without keeping in mind that you must provide a structure for the table. So how to add a structure to the table? It's very easy when you just have to select if the titles, the main titles of the table are in the columns, in the rows, or in both columns and rows. And then Moodle will add the titles automatically. So here for example you don't have any kind of title for the table. So if I go to the advanced and select the table. So if it's a calendar, you have to choose the first row like the days. It's difficult to relation, no? Yeah, if you don't have the titles, you don't know what's the structure of the table. So for example here you can choose both and you get the titles for both the rows. They are in both the rows and the columns. And the last example we had is just the color. Just check that the colors between the text and the background have enough contrast. There are plenty of tools in the internet, just Google it, color contrast, and you'll get plenty of tools to check it. For example black and white, it's perfect. Black and yellow, it's perfect. Okay, so we have to leave it here because we are short in time. For any doubt or anything you need, any questions, we'll be out there and we will be happy to help you. Thank you very much. I don't want to go off to my presentation. Ladies and gentlemen, while you're waiting for this to be set up, if you've heard about MoodleNet before, could you just quick raise your hands there? Not just in Martin's presentation this morning, like if you've heard about it before then. Awesome, so about a quarter of you. Thank you. Awesome. Oh, hang on, hang on, hang on. How many days? Oh, first time. Excellent, so my job is to go through this as quickly as possible because I'm starting between you, the next session, and then lunch. So I'm going to try to explain something which is quite complicated to you in a very short period of time. So this is quite a bold statement, isn't it? MoodleNet being the world's first federated social network for educators. But it is, this is the first thing which is for you lot, for the Moodle community and the wider community. And it's going to be a federated social network. And I want to explain what that means. So I've got some things to go through. There's lots of slides. These slides are available at bit.ly slash 347 capital B, capital V, small g, and capital M. I'll put that on the screen again at the end. So I want to talk about three things today. I want to talk about what MoodleNet is, how it helps you in your everyday life and how federation works. So it will get reasonably technical. But if it gets too technical, I'm going to drag Mail on stage who's sitting comfortably there on the front row. He's looking at me suspiciously. Okay, so what is MoodleNet? What are we trying to do here? Some of you might be aware that we previously had something called Moodle.net, which was completely different. So please expunge that from your mind. That is a completely different service and a completely different code base. What we're trying to do at Moodle, as Martin explained this morning, is believe that what we're doing with all of our products and services is trying to do that. So Son is sitting there. He's in charge of LMS. He brought him at him. I've got Moodle with workplace and Moodle Cloud. Got Moodle Education and then MoodleNet, a full part of what we're trying to achieve with Moodle products and services. So here's the current situation. Every single Moodle LMS site is a great space for teaching and learning. But there's all these amazing ideas and resources kind of locked up in Moodle LMS sites. So what if we could join them all together to share all of these fantastic ideas and resources with one another? And that's what MoodleNet is. It's a space for people to share on a global basis teaching and learning resources, ideas, all that kind of stuff. So I'm not going to read this to you, but our aim with MoodleNet, this is kind of our vision statement, this is our aim. The aim is for it to be a place where people can share open content, people can engage in professional development and fundamentally it is open. It is open for anyone to be able to join, anyone to be able to serve their own instance as well. And I'll spend a bit more about that in a moment. So we've done a bunch of research around this. It's been two years since I was hired by Moodle and in that time I've kind of led a small part-time team. And we started with a big period of research. And when we went out to the middle community I've spoken to a lot of you who are in this room. What we found was that educators are using a lot of different platforms. And they're not using a lot of different platforms because they think that, you know, this is fantastic and I want to be on 10 different services. It's born out of frustration. I'm a teacher, used to be a history teacher, used to work in higher education as well. All of my family are teachers so when these people told us that they were spending all of their time between all of these services we thought it was time to do something different. And there's all of these fantastic resources and ideas out in the world. If you search Google or your favorite search engine you're not going to be disappointed with the number of resources that you find on the internet. The problem is, not that we need a better search engine than Google, the problem is these three things here. Learning is a social activity. Secondly, search engines rely on you knowing what it is that you're looking for in advance. So educators sometimes don't know what they're looking for. Me as a history teacher sometimes I'd find out something that someone else was using and think oh that's amazing, that's exactly what I need. One person in our search said that when they join a social network with other educators it's like waiting for treasure to arrive. And the third thing is that resources are just in a context. You can't just take someone else's Moodle course and use it in your institution and expect good things to happen. You have to have it in your context, that's to be contextualized. So we're trying to answer all of these questions through MoodleNet. So last year, it was Mayel's first day at Moodle, we did a design sprint. Martin flew over to the UK and we did a design sprint and we decided that MoodleNet was going to sustainably empower communities of educators to share and learn from each other. That's what we're trying to do with MoodleNet. So this would have been the point where I would have very proudly done a live demo of MoodleNet. Now unfortunately the amount of features that we've tried to cram in this morning has broken our deployment of MoodleNet. So I can't show you on stage at the Global Moodle. I can't show you a live demo of MoodleNet right now, but I can show you it tomorrow in the workshop. So if there was ever a teaser of the workshop session, there you go. So this is one of my favourite quotations. I did philosophy as my first degree and Marcus Aurelius is one of my favourite philosophers along with Epictetus and Seneca. And I thought that was particularly appropriate today. Nothing happens to anybody which he is not fitted by nature to bear. So here's me standing on stage not giving you a live demo. Instead I'm going to give you a series of screenshots to explain what MoodleNet is and this will be ready by tomorrow. MoodleNet is something that you can deploy yourself just like MoodleLMS. You can install this at your institutional organisation. This is an instance of MoodleNet. This particular one is written by MoodleHQ at team.moodle.net. So the idea is that users can join communities and follow collections. So what does that look like? Well, here we are in the kind of the main discover place on MoodleNet. And as you can see there are different communities down the side. Imagine me clicking on those. All of these different communities and collections. And it works like a social network. So if you've used Instagram and Twitter and every kind of social network you'll be used to having a feed and being able to favourite stuff and that kind of thing. The difference here is that there are communities. So when users join communities what they end up having is a list of all the different communities that they're in. Australian MoodleLMS where they can join in higher education etc. So instead of them just randomly talking to individuals they're talking to people who are like them like other history teachers people who are into Moodle in their institution. All that kind of stuff. Different communities. Those communities are discussing pedagogy so these people are having conversations, threaded conversations you can favourite them, you can put hashtags in all that kind of stuff you'd expect from normal social networking. But crucially the community, the people who are in those discussion areas are curating collections of resources and this is the thing which is new this is the thing that took kind of the research and the experimenting and the testing earlier this year. Communities curating collections of resources. So here we are. Here's a community. The community is called Instructional Design and HE. This collection Instructional Design Models they have resources inside them so there are a couple of ways you can put resources into a collection in MoodleNet you can link to them so you can link to all of those amazing resources that exist on the web already. Or you can upload your own and if you upload your own you can choose one of three open licenses to do so. CC0 where you're effectively donating it to the public domain. CCBuy where you're saying that you want attribution or CCBuySA where you're saying you want attribution and you want that other person to share using the same kind of license. So MoodleNet if you had to go away from here and explain to other people it's about communities and it's about those communities coming together to curate collections of resources and have professional discussions. You can also and TreziPunt are currently working on this. TreziPunt are working on a plugin so that you can be in your Moodle LMS course and you can search MoodleNet and pull in a resource into your course. So that's going to be available very soon in the plugin directory. For 3.9 you'll be able to be in your Moodle LMS course and send a resource into MoodleNet into MoodleNet collections. So this is about tight integration between Moodle products and services. I want to talk a little bit. I was talking there about kind of joining communities and followed collections no matter what instance you are on. So let's say I'm at this university here and then there's another college here. Well I can be in this college and have an account on my MoodleNet site here at this college but I can be part of a community on any other instance so I can join this community that happens to be at this university. The communities have to exist somewhere on some instance but you can join them no matter where you are in the world. It's not a centralized service. I'm going to skip this for the sake of time but you can go back to these slides later on. This is our value proposition for educators for learning technologists for systems administrators and for trainers and teaching assistants. Instead I think it's really important that I explain how federation works because this is the game changer really. So MoodleNet is a federated social network. I'm not calling it a decentralized social network and I can bore you to death about that later on over coffee. It's a federated social network. Now the federated social network that you use all the time if you want to call it social network is email. If I email you I don't have to know whether that email is going to work okay. Like have you got AOL or have you got CompuServe like back in the day. I can just expect it to work because it's based on open standards. But if I try and send you a message from Twitter to Facebook that's not going to work because these are siloed proprietary products. What we can do using this protocol here, the previous presentation talked about the W3C, the standards body for the web. There's a new protocol called the activity pub. An activity pub which was started in kind of January 2018. This new protocol means that different social networks are interoperable with each other. What that means for the less technical people amongst you. It means that if I'm on this social network I can send a message to someone on a different social network. So there are lots of different federated social networks like mastodon and pluroma and pixel fed and all different kinds of ones and different social networks because of this. If you want to find out more about activity pub, activity pub.rocks. I love those new TLDs. Now you might be thinking this is all well and good though but why not just build like a centralized service? Well it's because MoodleNet, sorry Moodle like Martin said this morning is all about empowering you lot to do stuff. If you have to depend on Moodle HQ to do all the innovation that's not going to work as well as if you do all of the innovation and feedback what's working for you in your particular context. So in a federated social network the way that it works is you have a username which isn't just like on Twitter. So on Twitter Martin is at Moodle but on federated social networks like MoodleNet he has to put the domain in as well because he exists here at this organization. So it's a way of having like an identity which is tied to your instance. The other thing and I know I'm going quickly here what I need to talk about is the MoodleNet mothership which started as a code name and has ended up as the real name for what we're calling the search index of publicly available MoodleNet data. All of these grey dots here are your installations of MoodleNet. The black ones are not connected as you can see to the MoodleNet. So I'll explain this as clearly as I can. These grey dots are connected via an optional API, getting an API key to connect to the MoodleNet mothership. You might think well why would I do that? Well in a kind of federated system it takes a while for all of the nodes to discover one another but if you've got something which is collecting all of that publicly available data you've now got super fast search available for all of your users so they can type in whatever resource they want, whatever community they want to join, whatever collection they're interested in following that, you'll find that instantaneously via a search index which is powered by Algolia. So we've already got that working, it's really really snappy and fast and it means that when you click through, yes you'll go to a different community on a different instance but you won't even realise you're doing that unless you look closely because it's all seamless. We're not trying to make this just for techies. The other thing that you might be interested in is that this is AGPL licensed. Moodle itself is GPL licensed and what we're using the AGPL license is to close a loophole. So with a GPL licensed software if you run that as a service in the cloud somewhere and you make some changes you don't have to share the source code back under the GPL license as a loophole but with AGPL you do. So that's really important for MoodleNet because we're running it as a service everyone will be running MoodleNet as a service. We think that federated social networks are really important because it's closer to the user just like MoodleLMS is. You can make your own changes you can keep things private, it's more efficient you can get participation from people who don't like centralized social networks that kind of thing and if you're interested in the tech stack this is very different from the PHP which runs MoodleLMS this is using extremely new technologies, ActivityPub as the protocol. Elixir which is an extremely scalable back-end GraphQL is a query language between the front-end and the back-end and React, I think a lot of you will be using React already but the reason we've built it as a front-end and a back-end in separate with the GraphQL as a query language is that it means you don't really need to touch Elixir if you're going Elixir developers you can just customizing it using the React front-end So our priorities between now and the end of January are the following making sure resource uploads work properly get notifications in there make sure you can follow other users make sure moderation is sorted out our timeline for the next few months is to obviously demo this get the workshop sorted out and start the Federation testing program if you want to be part of that there's about 30 organizations already in there have a look at the MoodleNet blog or just catch me afterwards and then further out and then I'll go through but we've got a roadmap we've got a bunch of things we want to implement and you can see on there we've got federated identity with DIT which for those of you who are more technical that's kind of a big deal for Moodle in terms of the Moodle ecosystem Martin hinted at this this morning being able to take your Moodle identity with you around the kind of Moodle ecosystem we're also interested in potentially crowdfunding resources into existence not buying and selling resources like teachers pay teachers but crowdfunding stuff that doesn't exist into existence so I've run out of time but I would like to look at the camera because I know that my team is watching and I'd like to thank Mayo here on the front row I'd like to thank James and Yvonne and Karen and I'd like to thank Alessandro who's been a fantastic consultant over the last few weeks and I'd also really like to thank Martin for his guidance and help I've talked about Alessandro Carlo, like what a job you have done in terms of the legal agreements and stuff we've had to get in place for this, thank you Ariadne Pickock who's done the security testing for us externally the Moodle User Association who have been a great champion in support of this project so far and Tassos Tassos over there from Yumina Yumina has given us development time and help and this project would not be so far along if it wasn't for Yumina's help so thank you as a new Moodle partner there are a lot of other people to thank I'm not going to go through all of these your name may or may not be on here but all of the people who have tested all of the people we've spoken to all of the research we've done, thank you very much this is going to be a big deal for Moodle in 2020 especially when we get the demo working so come along to the workshop tomorrow you'll be able to if everything goes to plan get a MoodleNet account you'll be able to have a look around you'll be able to go back to the institution it's going to be something for you if you want the slides they're there at the top and if you want to kind of just have the canonical URL for MoodleNet it's Moodle.com forward slash MoodleNet so apologies for that partial introduction to MoodleNet but I hope that you're going to be paying attention to this project over the next year and I'm really proud of what the team's achieved so far so thank you for listening and that's me done so this is the last talk in the morning so please after go to the launch reminder keep your belongs with you don't leave anything in the room he's a great, great patient with all of us I believe I'm the last one before lunch so I know you're all really hungry I tend to talk really fast because I always want to ramble and go on and on and on like I am right now my name is Adam Welley I'm from Carnegie Mellon University my colleague Kimo Boomenglag seems to have lost his voice but he's down in the second row right there for questions we'll be around the rest of the day today and tomorrow if anybody wants to talk with us offline about anything I discuss here so the first thing to get out of the way is this wonderful legal slide so I work for the Software Engineering Institute of Carnegie Mellon University and we are a federally funded research and development center so what that means is Uncle Sam the United States Department of Defense pays part of my salary so anything I say or do here today does not express the beliefs, opinions, policies or anything official of the United States Government alright, enough said now that I've gone through that legal slide I will say it personally I love Moodle and I try to get Moodle integrated into all the training that we run unfortunately in the courses I teach at Carnegie Mellon we use Canvas but in the courses we get to develop for our DOD sponsors we push Moodle at every chance we get because it saves the taxpayers money and it really helps us drive innovation in the cybersecurity work space. Can I see a quick show of hands? Does anybody in the audience work with cybersecurity or teach cybersecurity training? One, alright let's start how many teachers do we have out here right now? How many developers? How many people who might be better labeled a hacker instead of a developer? Alright so I am not officially a developer part teacher, part guy that hacks things together so instead of talking about developing plugins at the end here it's more how I hack plugins together in order to extend Moodle and to buy in on Moodle's usage for the rest of our team and our customers so that pretty much sums up who I am and what I do. A little bit of teaching a little bit of development. Cyber training is really what we provide our customers with and that stems from small individual training where students conduct on demand labs where they perhaps need just one or two virtual machines in order to learn a topic such as pentesting actually hacking into systems and figuring out how exploits work and then how to patch those exploits or those vulnerabilities to prevent those exploits from occurring. And then on a larger scale a lot of times we have teams of individuals that need to work together to accomplish tasks in cybersecurity so thinking about attack-defend scenarios and these could scale up to the largest events that the DoD offers which is tens of thousands of virtual machines. And a big thing we need to pay attention to in all of this training is the assessment. And Moodle provides us a great tool to perform the assessment and we'll talk about some of the ways that Moodle does that for us. But first, the range aspect. There's a pretty big disconnect between a lot of assessment technologies and the ranges. The actual deployment of virtual machines. And so we actually have three different tools that have been developed in-house that allow us to deploy labs manage virtual machines, and build modules. The oldest one was called Step Forward and it had a proprietary LMS built into it, which was like a really weak quiz engine. And so I said, why don't we use Moodle? Moodle has tons of different question types that we can leverage to make the training much more interesting. Topomojo is a free open source, it's up on GitHub Lab Builder and some of our courses that we teach actually take templates of virtual machines and they configure them to install security software and they can easily share and reuse those labs with each other. And then finally, Crucible is the more full-fledged replacement to that Step Forward range environment slash LMS. And it's very modular, very flexible. It allows us to have several of our different focus teams develop their own integrations with it. So that could be finding things like Moodle that they want to integrate into a training lab. Realism is very important in a lot of this training. Depending on the scale of the exercise we may need more technologies to build more realism such as a simulated internet. So we have one tool out there known as Graybox which runs on a containerized technology that allows us to simulate the backbone of 60 routers around the world. Topgen allows us to simulate the top 1,000 websites on the internet. GOS is a user simulator as well as Stormbox. And finally we have VTunnel which allows us out of band communication. So with VTunnel one thing we can do with that that is really cool is we can proxy our VTunnel traffic from the virtual machines up to a management network for things like grade reporting. So in a lot of the labs we run we want to know what the users are up to. So we run some tools on the virtual machines that will tell us okay user executed this command line and then we use the VTunnel tool to proxy that information out of the virtual machine and send it up to a learning record store. And similarly we can send commands to the virtual machines to create actions that control the user simulator. Another thing we've used this VTunnel tool for is to allow students to access external resources such as Moodle from inside their student VM so that they could copy and paste question text or example commands that they see in some of the Moodle content inside a command line inside that virtual machine. So assessment. Right, we use Moodle for a lot of our quizzing and hosting a lot of activities and content types. We use Learning Locker as an LRS where we're sending all of our XAPI. I see a quick show of hands. Who is using XAPI? The Experience API. Very few. Please take a look at the Experience API. It's for experiential learning. Moodle has a plugin that we call Logstore XAPI where Moodle events can be turned into these XAPI statements which tell us a certain user performed a certain action on a certain object. So it could be Adam Viewed Course Cybersecurity 101. Adam Passed Quiz Cybersecurity 101 review. Combining that with logging from the virtual machines themselves such as Adam Rand Command Man PS. Adam Rand Command PS-CF. I can then take a look at that data offline and see well the user performed this command X times before they performed it correctly. And we can kind of gauge student performance by looking at those XAPI records. Now we feed those records into a suite of tools known as Elk which is Elastic Search Cabana Log Stash which is very popular for visualization of data in a lot of different fields but especially in the cybersecurity field. So we're able to provide visualizations of the student's performance using those utilities. Now as far as getting buy-in to use Moodle for this training, our the box Moodle has so many content types that are already a huge win for us. The great quizzing features, the feedback modules where students can actually tell us how well we are doing it as well as hosting files and videos. The competency frameworks that Moodle supports. Is anybody using competency frameworks? Okay, one again. Alright, two. Competency frameworks are great because we have a training team that is working to categorize a lot of our different training content into cyber work roles that have been defined by the National Institutes of Standards and Technology in the US. So we're able to get some really cool charts and graphs using these competencies to show performance in particular work roles. So they have a really fancy Moodle course that this team has developed that they're calling the Cyber Evaluator Tool. Sounds really cool, right? It's just a Moodle course that leverages competencies to tell the government overseers how well their employees are doing in their categories. Now, there are a whole lot of additional things that I wanted to do to make Moodle more usable to our organization. So this might be better titled Adam's Favorite Moodle Hacks. First, we wanted to be able to move content over from our old proprietary LMS into Moodle. So I had to develop a course restore functionality in order to import this into Moodle quizzes and get that material easily transitioned over. Next, we wanted to change the appearance so that it matched our organizational branding. So what we ended up doing there is writing a custom theme and doing a massive redesign of the theme colors which somebody in the Dev Jam yesterday mentioned would be a terrible idea and you know what, it is. So a lot of challenges there with making sure that the different colors rendered correctly. We also have an additional system that serves as a portal where content from different systems such as Moodle, such as our Topomojo and crucible range technologies can be accessed from. And external providers too can register with this system. It's called Foundry. And we wanted to have Moodle content automatically populate on that site for content discovery. And finally access to the virtual machines themselves. Let Moodle be the portal into the exercise player. And we'll have some really cool screenshots of that here. And finally, the assessment piece. So the first thing we ended up doing was creating that content plugin. I was in Silicon Valley last week. I drove past the Google building. Side of the Google building they had I Heart APIs. Because APIs and OAuth 2 enable us to do so much from within Moodle. So using the Moodle OAuth 2 system client we're able to access our other APIs and keep our content in sync. So it makes that content discovery of all the items that we're hosting on Moodle very easy to see on that external system. The plugin. Change the colors massively. One interesting thing here is the H5P activity icon. It's always just H5P, right? And it doesn't show us what activity is actually in there. So we've used our theme to actually change that icon to show us what activity is in there. Here's the theme. Very different. A lot of activities who want to keep their text in line with the standard light theme. Not very accessible, right? But we look at the DOD and we haven't really had any complaints yet. We use H5P demo videos, our lab exercises, quizzes and virtual programming labs. We leverage a local metadata plugin. Which isn't on that top plugins list earlier, but I'd encourage you to take a look at it because it allows us to tell our theme to do something else that was kind of mentioned yesterday in the dev jam. Which was show us a Moodle activity without the Moodle course structure wrapping it up. So it allows us to toggle the page layout embedded option. So instead of clicking full screen on the activity, basically we're telling it to change the page layout to embedded for that particular item. And so this is what it looks like. This is our crucible lab player. So on the left we have a whole bunch of different content links. So in this example, we have this application on the left there which shows you the icon of the Moodle quiz because it's pointing us to that Moodle activity that has that page layout embedded option toggled. So we're able to display just that Moodle content with all that confusing overhead of the Moodle course structure that people referenced yesterday. And so that was a big win for us to be able to use Moodle inside some of the other technologies that we already have customers using. And then the final piece I want to talk about is the actual crucible plugin for Moodle. And before we had an HTML page option and we had a little HTML button and we were copying and pasting links in there and it was a real pain to update. So what we have instead is using that OAuth2 system client we hit the API for the crucible lab player and give the course developer a drop down where they can basically select the lab activity. It pulls the lab name and train objectives whatever other description we want from the crucible lab player. When we launch the lab we have JavaScript running in the browser that checks the status of the lab deployment. And then it embeds our virtual machines inside the Moodle activity and we can also see history of the user's lab attempts on the bottom here. And so now inside Moodle we have a virtual machine console and as they're typing commands in there remember XAPI statements are being V-tunneled up to that Learning Locker LRS. So the user went into this activity, Moodle said Adam Welley accessed activity wireless training lab and then we see XAPI statements saying Adam Welley ran command PS-EF. And two quick little slides here and then I am finished. We can all go eat lunch. Now you can side by side Moodle quizzes with the virtual machines inside your browser tabs and on the left is the virtual programming lab activity which is really cool because it allows us to grade students programming and scripting assignments really easily and obviously with the VM they can test things out as they write the script. Further things to do is further use V-tunnel and crucible in order to provide automatic grading of lab tasks. So in the Moodle activity above the VM we can say task 3 execute the netstat command and we can have our utilities check to see if the student ran that command and then check that task off and advance it automatically. So that and maybe a group mode on the quiz is where we want to go from here. And GitHub, here's a landing page for GitHub where you can find all of our diverse tools. Thank you. So we are running off time so if you have some questions you can continue to talk with the lunch. So see you at the afternoon on 1.50. So run for your life, run for your food. There you go. Two minutes over.