All right. Hello, everyone. Welcome to today's online workshop. Today's online workshop is interesting because the online workshop is about how to facilitate or co-host online workshops for the WordPress trading team. The goal of this session is, first of all, to introduce to you how you can co-host an online workshop. But I'm also wanting to create a walkthrough recording, which we can then put in the training team handbook. So in future, when new contributors come along, they also have a resource that can reference and get a feel of what this is all about. So, yeah, I will take questions throughout the sessions. If you have anything you want to ask, feel free to unmute yourself and ask. Or you can use the Zoom chat and Laura will be my co-host and help me pick up on those questions if I miss any. Yeah, any questions before we get started? Nope. All right. So the main resource we're going to be using today is the training team handbook. So I'm going to drop that link in the Zoom chat here. And Laura, if anybody joins afterwards, if you could just re-share the link with them. So the training team handbook, this is where we document how to do all the processes. So if you're interested in contributing to the training team, I recommend you bookmark this. We have a lot of content. On the left here, you'll see we have a table of contents. There is a lot. So I don't really recommend reading through all the handbook at once, but rather when you need something, go look for that and read that resource then. For those watching the recording, if you are brand new to the training team, I also want to point out the Getting Started link at the top here. This will take you to the training team's onboarding program. So if you're brand new to the team, start from here. This is a 30 to 60-minute onboarding program. And it will tell you how the training team communicates, gets you set up with a few different accounts you need to contribute to the training team. And then at the end here, we have find your interest and make your first contribution. So the training team is made up of five areas of contribution. We have content creators. We have content translators. We have editors. We have subject matter experts. And we have administrators. So these five areas work together to create content for the learn.wordpress.org website. Today, we'll be talking about online workshop facilitators or hosts and their co-hosts, which would fall under the content creator area of expertise. So if you're interested in hosting online workshops, I recommend you go through the content creator onboarding first. And then that will give you a better foundation as you watch this video. All right. So online workshops, what are online workshops? When you go to learn.wordpress.org, we have four content types here. And the site is going through a redesign right now. You can't easily see the four content types on the homepage. I'm just gonna click into a random page here. But the menu bar now shows the four content types. We have tutorials. We have online workshops. We have courses and we have lesson plans. Tutorials are five to 10 minute short videos that teach a topic how to do this or how to start contributing or how to add a menu to your site within that block. So these are short videos. Online workshops, interactive online sessions like this one where they're usually about an hour long often hosted over Zoom and people can ask questions. We can share information and it's intended to be an interactive learning experience. We then have courses which are online courses which are self-guided. A lot of them have evaluation questions at the end so you can test your knowledge see if you've really understood the content. And finally, we have lesson plans which lesson plans are aimed at teachers of WordPress. So the first three are aimed at the learners. So you can attend an online workshop and learn you can start a course and learn. Lesson plans for teachers to take and then teach lessons on WordPress. So those are the four content types and today we'll be looking at online workshops. So online workshops are live sessions where you can learn alongside other WordPress enthusiasts. They are a safe zone where you can come as you are develop new ideas, explore issues, ask questions, network of a shared interest, exchange theories, collaborate on work and thrive in uncertainty. So what we're aiming to provide here is a safe space where people can come and learn about WordPress. We want people to feel safe to ask questions. The host or the facilitator doesn't need to know all the answers. Their goal is to provide that safe space for contributors to share information with each other to ask questions with each other. And the co-host's role is to assist the host in creating that safe space. So like in this online workshop right now, I am the host and I'm also presenting the content. But the host doesn't necessarily have to present the content as well. The host can run the session and have a separate speaker come and present the content. But the host's main responsibility is to provide that space so people can come, learn about WordPress, ask their questions, feel safe and collaborate together on learning. Let me pause it. Are there any questions, self, about the overview of what online workshops are and what the main role of the host is? All good? All right. So let me also share the link I'm currently on. So this is the online workshops page on the learn.wordpress.org website. And so you'll see at the top here two buttons. The first one is apply to facilitate and the second one is view recorded online workshops. So we'll talk about the first one in just a moment. The second link here will take you to the recordings of online workshops. And these are hosted on WordPress.tv with the category learn WordPress online workshops. So if you skim through here, you'll be able to find recordings of previous online workshops. It's not required to record workshops, but the training team strongly advise that you do because online workshops, it's hard to cater to all the time zones and people have busy schedules. And so we want to keep a catalog here of resources people can come back to later and still learn the content. Something else I wanted to point out is, for example, this online workshop is in Japanese. So online workshops don't have to be in English. You can host online workshops in your own locale. So far I think we've had Japanese, Greek, and Bengali online workshops. And we are looking for contributors who are willing to host more online workshops in their own languages. So if you're interested in that, do reach out to the training team and we'll help you get started as well. All right, so coming back to the Learn WordPress website, online workshops, this page also has a calendar of online workshops scheduled for the month. To be honest, seems a bit like month this month. We usually have an online workshop pretty much every two or three days. So we might get some new events scheduled for the later two weeks. But what we're aiming for is, ultimately, 24 hours a day, every day of the week, people will come to learn and there's an online workshop happening. That's the goal we're working towards. We're not quite there yet, but hopefully in a year or two, the training team will have enough online workshop hosts hosting content so that there's always something going on here. Then at the bottom, we have an apply to facilitate or co-host form. So within the documentation, we're calling online workshop hosts facilitators. That is because they don't necessarily have to speak in the workshop. They are facilitating that space, creating that space where people can learn together. So if you see the word facilitate or facilitator, that is the same as an online workshop host. The hosts or facilitators and co-hosts of online workshops are vetted by the training team. So once again, an online workshop is a safe space where people can come and share ideas, learn about WordPress. And in order to provide that safe space, the training team will vet facilitators and co-hosts beforehand to make sure those hosts and co-hosts can indeed provide that safe space. The online workshops aren't hosted by just anyone. There is a vetting process that happens beforehand to make sure this space is a safe space. That being said, anyone is welcome to apply. So if you are interested in co-hosting or co-hosting, do apply. There are a few required fields here. And something we're looking at are your social network accounts. And this is one way we just have a look at your activity online and your communication in the past in public to see have you been fostering safe spaces in the communities you're already part of. If you don't have any social accounts, that's okay. But if there is something you can show us that tells us you have created safe spaces in the past, that will help us as we vet your application. There's a form here to apply. And yeah, that's the public-facing online workshop page. We'll be going into the handbook next, but before we do, are there any questions or things people want to clarify before we move on? Well, good. All right. Laura, has anything caught you off guard so far? Is this, as a co-host, is this everything you expected it to be? Yeah, so far. So far. Good. That's good. All right. So coming back to the training team handbook, if you scroll down to the left, you'll see we have an entire section on online workshops. So I'm gonna click into that and I will share this link in the Zoom chat again to help people access the page directly. And then hosting an online workshop is broken down into a few different steps. So first of all, there's applying to facilitate. Then we have planning online workshop. So that's more the content, planning the content of an online workshop. We have a page on scheduling an online workshop, steps to schedule a Zoom meeting. And then we have a page on actually hosting the workshop on the day. We also have a page for co-hosting an online workshop. And then some resources, tools for hosting, what to do after an online workshop. And finally for training team administrators, how to review facilitator applications. So at the top here, we have applying to facilitate and that will take you to the form I showed on learn.wordpress.org. Gives you a bit of an idea of what we're looking at. If you're really interested, you can also look at this page here, reviewing facilitator applications. And that will tell you the exact process we're going to be going through to vet your application. The training team doesn't want to make things secret. Like we want to make sure people know, people know what we're doing. And so you can have a look at exactly what we'll be doing to vet the application on this page here. I won't go into the details, but if you are interested, feel free to take a look there. Now, coming to planning an online workshop. I did mention a lot of online workshops are hosted over Zoom. But this actually isn't a requirement. It's a popular method of online workshops, but it's not the only way to do it. Another way you can do an online workshop is a purely text-based online workshop. And I think the training team tried this out two years ago when we were starting online workshops. And what it is is you still create a time where people get together. And then in the training channel, you can say this online workshop is starting now and you can have the whole session there in the training channel purely text-based. So if you are a contributor who might find difficulty using a Zoom or other video conferencing tool, there are other methods you can host online workshops through. So I just wanted to point that out. Zoom is a popular method, but it's not the only way to do it. I think about the only requirement we have regarding methods is that it is online. As long as it happens online, you're pretty much free to use any tool you want to host the online workshop. Now, planning an online workshop. So you want to host an online workshop. What topic should you discuss or host the online workshop on? In the training team, for whatever content we create, the content topic is first suggested and it goes through a vetting process by the training team subject matter experts. So the subject matter experts vet a topic to see is it indeed related to WordPress? Is it relevant to WordPress today? Like a workshop on WordPress 2.0 probably isn't relevant today. Rather, you do the workshop on the most recent version of WordPress. And then is it a priority? Like, is that a topic that the community would find value in today? So topics are suggested. They are vetted by subject matter experts and then they're turned into content. So if you are starting out with a brand new idea, you can go to the training team's GitHub repository and make a suggestion for your topic. And I think this actually happens in the facilitator application form. So let me go down here. Let's see. Oh, no. Okay. The form just says category, you're interested in facilitating. So if you're interested in posting an online workshop on a brand new issue, you would create a topic to first be vetted. And I will go and update this handbook page a bit later because this is the link we want you to go to. So the training team has multiple different topic, sorry, GitHub issue templates you can use. If you're starting a brand new topic, the topic you would use is the topic idea template. So you would submit that GitHub issue. Subject matter experts would vet that topic for you. And once it's clear, you can host an online workshop. But if you want to skip that process, you can actually choose a topic that has already been vetted. So the training team actually has a backlog of topics that have been vetted. We want to create content, and we just haven't had the people to do it. So if you want, you can choose one of those topics and create an online workshop on them instead. So that is the first link at the top here. GitHub content development project board. And on the file left here, you'll see we have a ready to create column. These are all topics that have already been vetted. We know the community needs and we're just waiting for content to be created. So at the moment, we have 95 topics you can choose from. You can choose any of these and create your online workshop based off that. The only thing to remember is topics need to be vetted once just to make sure they're relevant to the community. And if you have any questions about any of this, you are free to ping for help in the Slack training channel. And people will be happy to help you there. So Laura, I see you've raised your hand. Do you have a question? Yes. So out of those 95 topics, I see that there's different types of content, lesson plans and such. Does it have to say online workshop or can you take a lesson plan idea and turn it into a workshop without turning it into a lesson plan? Good question. The answer is you can take any topic there that isn't a less workshop and turn it into an online workshop. And when you do, when you do coming back over here to our issue templates, we also have an online workshop template down here. So what you would do is you would create a new online workshop template and say, I'm going to work on this topic, which was already vetted in this issue over here. So that helps you skip the vetting process. So for example, let's see, let's have a look at this one. So this one is introduction to CSS. It's a lesson plan content type. So it's not an online workshop, but we know the topic introduction to CSS is being vetted. So what you can do is come back over here, create a new online workshop template and set your topic as basic CSS, introduction to CSS. The reason why it's confusing at the moment is because we are going through a Github organization project, which is going to streamline this for us. So that's why you have to jump back and forth a little bit, but that should be cleared up in another two months or so, I think, fingers crossed. But basically what you're coming to this board here is to find a vetted topic. So not necessarily find an issue to work on, but find a vetted topic. And again, if you're not finding anything you're interested in, you can create a new topic idea issue to have your topic vetted and then turn that into an online workshop after that. So it's always good to do a search to see if there was a, if your topic was already has a workshop too. That's a good idea. You can do that too, right? Yeah, let me do that. So another thing to mention is you can repeat online workshops. So you can take a topic that has already been done and redo the online workshop. For example, I do that with my online workshop. I host every online workshop twice at two different time zones. So I capture two different audiences. But you can also take an online workshop somebody else did, for example, six months ago, and maybe update the information a bit and redo the presentation. So in this, so this is the content development project board where you will see all the topics that are ready to create, that have drafts in progress, and at the right here that the publisher closed. And let's, for example, say, you're interested in teaching about domains. So you can search for domain. And you'll notice over in the right here, there have been online workshops that have been conducted on domain. You'll also see we have, for example, a tutorial that was created about domains, online workshops. So you can tell, okay, this is a better topic. You can also go into these issues. For example, if you go into this tutorial issue, at the very bottom, you'll see a link to this published tutorial. So that, that sort of helps you with your preparation work. Like you can take this video, you can study with this content, and then turn that into an online workshop. Or coming back over here, online workshop introducing domains, sometimes online workshops, they share their slides in their GitHub issue. So I did an online workshop in July about introducing domains. I've shared my slides here, which means anybody else that is free to take those slides, copy them, modify them, update them, and host another online workshop on that topic. So again, we want to share our resources. Things change. Things in the internet will change very rapidly. So an online workshop that happened six months ago could be outdated already, and somebody else is free to come along and do that topic again. Do I cover everything you wanted to bring up, Laura? Yep. Great. All right, so there are a few more details here about how to plan an online workshop. But the most important one is the topic. To choose a topic that's relevant, and the team's subject matter experts are there to help you realise or recognise whether that topic is relevant or not. At the bottom, we have some points about preparing, some ways to engage your learners. For example, you can run an online poll. You can have group activities where you break out into different rooms for five, 10 minutes doing activity and come back together. You can have games. You can pair people and have them share with each other. I know some online workshops have used like a shared Google document and everybody sort of edits at the same time and they create something together. Some online workshops, we've had people like build an entire site from scratch there while people are watching. Or like me, what I'm doing right now, I'm just walking through the handbook, explaining things as we go along, answering questions. That works totally fine as well. Any other questions about planning an online workshop? No. Actually, I did just think of something. Show them. In terms of the content that we would theoretically create, like the topic has been vetted, does the actual content of the session also get vetted prior to being held? Yes. I will show that in the next section. When you create an online workshop, GitHub issue, I'll get to that, yes. All content will get reviewed. I guess something else that came to my mind while we were talking about that. I showed an example of an online workshop on domains. Domains aren't directly related to WordPress, but if you're going to host a WordPress website on the internet, you will need a domain. Although it's not WordPress technology, it's still relevant to WordPress website hosting. That's how broad our topics can be. It can be about actually using WordPress, developing WordPress. It can be about the internet that surrounds WordPress. It can also be about the WordPress community, about meet-up groups, different events that happen in the world connected to WordPress. I said topics have to be vetted, but really we have a really broad net. As long as it's remotely connected to WordPress in some way, the topic shouldn't be a problem. All right. Now we're getting to some of the technical aspects of actually preparing for an online workshop, scheduling an online workshop. Coming back to the playing in online workshop, it says to create a new GitHub issue, online workshop GitHub issue, and add it to our project board. I'm going to walk through that process right now to show you what that means. Refreshing a bit. We're in the handbook. We're on the online workshops playing an online workshop. At the top here, it says you can plan an online workshop by using the online workshop issue templates in GitHub. We come to the GitHub issue templates in GitHub. You'll see there's an online workshop template. We click that. Then this is where it starts to get a bit technical, but this is what the host will go through. It will go through to actually plan an online workshop. At the top, we add the workshop title. Let's say I want to host an online workshop about how to host online workshops. Then event details. You want to give some details here about what your online workshop is actually about. The title I'll just copy from there. The description. This workshop will walk through the training team handbook explaining the process behind preparing for and hosting an online workshop. That gives people a bit of an idea of what this workshop is going to be about. Then target audience. Who is the audience of this online workshop? We want you to think from a few different perspectives here. First of all, is it for, for example, WordPress users? Is it for WordPress developers? Is it for WordPress designers? Is it for WordPress agencies? In this case, my workshop would be for WordPress community members or WordPress educators, I guess. Also, is it a beginner level workshop? Intermediate level workshop? Workshop experienced users? I would say all levels. Interested in hosting an online workshop on WordPress. That just gives other people who come by this GitHub a bit more idea of who this online workshop is for. Date. You get to choose the date. You can host this whenever you want. The recommendation is to host it at least two or three weeks out because once you put the event up on meetup.com, you want to give people time to see the event and register the event to make sure they schedule the cleared. I usually go through on about the 10th or 15th of each month and schedule my online workshops for the following month then. My workshops are generally up about a month beforehand. For example, let's say this one is going to be on October 15th. Then meetup.com event link. If you signed up for this online workshop, you would have come through a page on meetup.com. This page here has a thumbnail of the online workshop, has some details about the event. On the right here, you'll see the time showed in that person's local time zone and the link to the Zoom. Once you create this event, we'll walk through creating that in just a moment. Once you create the event, you would add the link to the meetup.com event in the GitHub issue here so the two are connected. Then for online workshops, we strongly advise you have a co-host. It's not a requirement and sometimes it's just impossible for someone to co-host for you at that time zone. But as a general rule, we recommend you have a co-host. 95% of online workshops go very smoothly without a single problem. But every so often, you have people who are just enthusiastic about the content and they can easily derail the conversation or sort of dominate the conversation whereas we want to make it a safe space for them to be doing their ideas. And so in situations like that, sometimes it's helpful to have a co-host who can engage with that person one-on-one while the facilitator still keeps the main conversation going forward. Another thing a co-host can do is ask questions to sort of, if it's like a quiet online workshop, they can ask questions and sort of get people excited about the topic. And also on a very rare occasions, we have people who Zoom call. Do something inappropriate and we need to kick them out. And so just having a co-host there gives you moral support and also they have the access to kick people out if need be. So yes, if you can, set a co-host. And the reason why we want you to list your co-host here is because contributions to the training team are generally tracked in GitHub. So the training team, we assign contributor badges to people based on their activity logged in GitHub. And so you will want to list the GitHub username of your co-host here in the GitHub issue. So we have a record of their contribution to the team and down the line we can assign them or we can award them with the training team contributor badge. So find a co-host at the GitHub username here. For example, in this in today's session Laura offered to co-host for me, so I would add to GitHub username here. And then if you have other information, you can list that here. This online workshop is a Japanese version of the English session hosted here and then link to English session or something like that. Like if you have additional notes, you can leave that here. I will just add the word test. I'm actually going to submit this GitHub issue. I'll just add that bit of information at the top so people know this is used in the online workshop. And then so you would submit your GitHub issue with a basic outline of your content details there. Then this will now have a checklist at the bottom of steps you'll want to walk through to host this online workshop. So the first one is create an event on learn WordPress online workshops, the meetup group. So that's where we come back to the handbook. And the handbook will walk you through step by step how you can do these. Now to create an event on the learn WordPress meetup group, you will require the event organizer role. And this role is given to you when you were vetted as a facilitator. So at the very beginning, you have to apply to facilitate. Once you've been approved, you are given access so that you can log into meetup.com and create these events. So again, that's why there's a vetting process there because we don't want to give access to just anyone. We want to make sure they are people who will benefit the community here. So then this gives you a detailed outline of how you would actually make the event on meetup.com. And the second, so once that's added, you can tick that off. The second thing you would do is annual add your online workshop to the online workshop calendar. Now we had a look at this earlier on in this session, the online workshop calendar is this calendar here on learn.wordpress.org. So you have to add your event in two locations. You have to add it to meetup.com and you have to add it to this calendar. Again, if you come back to the handbook, it gives you step-by-step instructions of how you can do this. And again, this requires the editor access, which will be given to you when your application to become a facilitator has been approved. So I won't go through all the details there, but just want you to know the steps are listed in the handbook and you can follow those to add your event to these two locations. All right. Let me pause there for a moment. Any questions so far? Okay. Now the third list, the third item is a signer co-host to the event. So at the beginning I listed Laura as my co-host. Generally, issues start off with a needs co-host label. And I'm just going to quickly change my browser because what you're seeing right now is an administrator's view with the general view will be a bit different. So let me open that same issue as a non-administrator. All right. So if you're facilitating an online workshop, this is probably what you will see. And you'll see on the right here, we have a few labels. We have a training team triage. We have the content type of online workshop and we have needs co-host. The way the training team gets our board is set up. A general contributor cannot edit these. These are just added automatically. And then a training team administrator will come along and modify these labels for you. So the awaiting triage label notifies the training team administration team that this issue needs to be triaged. This issue has to be checked, confirmed, and the client needs to be triaged. So this is what you would see. What administrator would do is, oops, there we go. They would come along. They would look at the content you've listed here and they would modify the labels for you. So first of all, I'll be triaging this. I don't need to add that label. I'll see this, a co-host has been assigned. I can remove the needs co-host. I'll also look at the description and add a topic label. So this online workshop is going to be about contribution and to the WordPress project and also it's related to the training team specifically. So I'll add a few topic labels. I'll then look at the audience. So audience, this one will be for, let's see, contributors and speakers. And we also add labels related to experience level. So in this case, this one is for all levels, interesting hosting online workshop. So I'll add any. And that should update. And then an administrator will take this off for you because this one already has a co-host assigned. So something that might not be in the handbook, but I think maybe we should add is, for example, maybe you don't want to host an online workshop, but you would like to co-host. And I think Laura might agree here, co-hosting an online workshop is one of the easier ways to start contributing to the training team. So if you want to co-host an online workshop, if you want to start co-hosting, you can actually filter all the GitHub issues with this needs co-host label. And so at the moment, you can see the training team has six online workshops that still need a co-host. And I am going to add this link to the co-host handbook page later, because I think that might help people who are interested in becoming co-host. All right. So that was the easiest way that I found to contribute. And that was one of the things that was kind of added because most of the time new contributors were like note takers. And I was uncomfortable with putting documents into the whole WordPress site yet. And so I opted to say, hey, can I do it? You know, the co-hosting way, I felt more comfortable with that since I had previous knowledge with Zoom and hosting on there. So that was my way to get my contributor badge. Yeah, thank you for sharing. When you joined, did we have this co-host an online workshop page? Or was that created after you joined? That's why I was looking at the date. I believe after I was the one that kind of got you, got the team to instigate that. All right. So thank you, Laura. You've left a lasting impression on the training team by creating this co-host page for us. It's funny where my face pops up in little screenshots of different things too. So I'm excited about that. I'm in Sarah's tutorial and tutorials. Okay. Cool. So yes, I will update the documentation, but that's one way co-hosts can find sessions that are still waiting for co-hosts. Again, online workshops are hosted 24 hours a day from different parts of the world. So you'll have to sort of click into each online workshop to see if it's something in your time zone or something you can actually contribute to. But periodically checking that label in GitHub will help you find those easy areas of contribution. All right. Having the time zone link readily available is really important too. So then I have, because Ben and Destiny are in Japan and then somebody else is in New Zealand. So I kind of have where people who are a workshop host are hosted for easy access. Yes. All right. Jordan, I see you were going to ask that. Was there anything else you wanted to ask before we move on? That's perfect. Thank you. I was thinking, if I wanted to co-host, can I see what needs it? And that was exactly the answer. Yay. All right. Now, part of this creating an event on meetup.com is preparing a Zoom link. So if you're going to host your events as an online video conference, then you need to have the Zoom link prepared when you publish the event on meetup.com. Zoom has a cool feature where you can host free meetings up to 40 minutes, but most online workshops end up being longer than that. So we have a handbook page here, steps to schedule a Zoom meeting. The training team owns a paid Zoom account that online workshop hosts are available to use. If you have your own Zoom account that lasts an hour, you're free to use that. But if you don't have that, we still want to make using Zoom accessible to anyone who wants to contribute. So there's no need for you to go out and purchase a Zoom account or another software in order to host the Zoom meeting. This page here steps to scheduling a Zoom meeting. We'll let you know. You can come and request a Zoom link from the training team and we are happy to provide that for you. All right. So something else I wanted to point out in the GitHub issue is on the right here. When you create a GitHub issue, it is automatically assigned to a project. And in this case, this is added to the content development project and it has a status ready to create. Now, the general contributor can't edit the status. Again, that has to be modified by an administrator. But what the administrator can do is we can move this through the processes of creating a online workshop. So we can note whether it's a draft in progress, a review in progress, or a published or closed. So Jordan, before you were asking like, the topic is better, but is the content ever better? The ideal process for an online workshop is when it's triaged, it will first be added to drafts in progress. Then when the facilitator has created the slides or the content they're going to present, they would add a link to the GitHub issue here saying these slides are ready. Could I have a review, please? And then the administrator will move that to the review in progress status. And the training team announced things waiting for a review in its weekly meetings. Every Tuesday we have a weekly meeting and we go through our GitHub project board and we pull out everything that is waiting for a review and list that. So then the editors in the training team can pick up on that and review things for us. So that happens every Tuesday. So preparing your slides the night before might not be enough time there. So again, that's why we like to prepare things like three or four weeks out.  If you can give us a week or two, then we can get a few people to review your slides or content for you before that is presented. The review stage is not mandatory at the moment. And maybe the training team needs to reconsider that. I'm not sure. So far we've only had a very limited number of facilitators. But maybe from here on as we start to get new contributors, we can look into making this review process a bit more comprehensive so that it covers more people. Something to consider, I guess. But yeah, so there is a review in progress stage.  You host your online workshop. So coming back to the handbook, we have come down to hosting an online workshop. And this page is pretty extensive. But basically these are all tips from previous online workshop hosts who have listed things that have worked well for them. So if this is your first time hosting an online workshop, I recommend you skim through this. It gives a few different notes on what works and what doesn't work. A note on screen sharing. What does this say? Something I wanted to mention, which might not be in the handbook, I might need to add that later, is I generally don't share my entire screen. Because some people have a hard time looking at small text. To be honest, the text you see at the moment could still be a bit small for people. I've had people comment in my online workshops asking me to make the text even larger. So sharing your full screen sometimes isn't the best way to share your screen. So at the moment, what you see is just one portion of my screen, one browser window. And that's usually a better way of sharing your screen. Just a tip there from me. You can also have like icebreakers at the beginning of your session. I always start with a question from one to five, how would you rate your knowledge or experience regarding whatever topic we're going to be talking about today? I also like to ask people where they're joining in from. It's interesting because you can have people from Europe and Asia and Americas all joining in at the same time. It's really fascinating to see the experience and the cultures everybody brings into these sessions. So yeah, once you've hosted your online workshop, coming back to the GitHub issue here, you can tick that off. And then we have some after an online workshop steps we asked hosts to go through. So I did want to briefly go through these steps. So clicking on this link will open a handbook page, which is this handbook page over here, after an online workshop. So there are three steps to follow after you've finished facilitating an online workshop. The first one is record attendance. So we have a spreadsheet here. It's a manual process at the moment, but the training team records every online workshop that was hosted. So you can see we have a data at the left. We have a meetup URL. The meetup URL is the link over here from meetup.com. What language was this hosted in? What was the topic? Then we have RSVP and total attendees. So when you open the meetup.com event, you will see the number of attendees who signed up for the event.  But we only got five people who showed up, which is totally fine. I usually get somewhere between a quarter and a third of the people who signed up actually attend my session.  That happens for everyone. So under RSVP, you would write the number of people who signed up in meetup.com, 19. And then under total attendees, you would write the actual number of people who came to the session. Me as a host, I often forget to mentally record how many people came. So that's something I often ask my co-host to keep an eye on. After the session is done, let me know how many people came today. And then the last thing we list on the Google spreadsheet is a WordPress.tv link, which comes in to the second thing you do after an online workshop. And that is upload the recording of the workshop to WordPress.tv. So again, we have different steps here that tell you how to do that. So you would upload the video to WordPress.tv and similar to how online workshop facilitators are vetted, uploads to WordPress.tv are also vetted before they become public. So this handle page here will list the steps. Basically what you would do is you would upload the video to WordPress.tv and then you would ping a faculty member in the training team letting them know you've uploaded the video so that they can go in, check the content, and approve the video so that it becomes public on WordPress.tv. So once you've completed that process, you can come back to the spreadsheet and add the link to your video, to your recording in the spreadsheet. You'll see some of these last sessions here don't have a video link and that is probably because the video is still going through that upload and approval process. All right. So just to refresh after sessions done, you would record the attendance spreadsheet, you would upload your video to WordPress.tv and then finally we have an optional feedback form you can submit. So how was your experience hosting an online workshop? You can send us your feedback and Laura sends us feedback that we needed a handle page about co-hosts that got created in a similar fashion. If you send us feedback about how your experience was, we are eager to apply that to our processes to make the online workshop hosting experience even better for everyone. Phew, and that was a lot of content. There is one final section I want to point out and that is the resources section in the training team handle. So the resources aren't specific to word online workshops, but they are relevant. So we have a few resources here. First one is the training teams accessibility checklist. If you are creating slides for an online workshop, we want you to be mindful of accessibility needs some community members may have and create accessible slides or other resources. So we have recently created an accessibility checklist to help you understand what does it mean to be accessibility minded. I won't go into all the details here, but I did want to point out we do have this document and we encourage you to reference as you prepare for your online workshop. If you are facilitating this session and you have a different speaker coming to present, please do share this resource with them so that they can prepare accessible slides as well. Another thing we want to point out is the brand usage guidelines. So the WordPress project, we don't promote specific brands. The WordPress project is open for any person from any brand to come and join and contribute to. So in your online workshops, if you ever mention a brand, we ask that you mention at least two or three alternatives as well so it doesn't come across that you're endorsing just one brand. For example, if you're talking about adding a contact form to your site, rather than say use this plugin to add a contact form, we want you to introduce three or four plugins that help you add contact forms, list all of them. And then in this workshop, we're going to be working with this one, but you are free to use any of these others as well. So make sure you're not endorsing one specific brand. The third one here is about promotional guidelines. And just as we don't endorse one specific brand, we don't use the online workshop platform for people to promote themselves. So I'm hosting this online workshop, but this is in the stage for me to tell people how wonderful I am and what I do and get people to follow me on socials and buy my products. So we have some guidelines here about what you can and can't say in your presentations to promote yourself. We want to make sure you are credited for the contribution you make. All these online workshops are hosted by volunteers. They don't get any compensation for it. So somewhere in your presentation, you are welcome to mention your social accounts so that people can follow you and look more into you. But we ask that you don't add it to every single slide. You just have one slide that has whatever social information you want to share, but then we want you to move on and focus on the content of WordPress. You're presenting that day and not promote yourself. So I won't go into the details here, but I do want to point out we do have a few resources. We'd like you to reference as you prepare for and host an online workshop. And that is the conclusion of all the content I had prepared. Are there any final questions or comments people wanted to bring up before we conclude? Laura, yes, you bring up a good point. A co-host does not need to know the subject matter. So the role of a co-host, again, is to help the host prepare a safe space for people to come and learn, which might include engaging with enthusiastic contributors and sometimes kicking people out if they don't follow a code of conduct. Their job isn't to teach the content. So for example, somebody might be hosting an online workshop about APIs, WordPress APIs. And you have absolutely no idea about WordPress APIs. You don't even know what an API is. You are still free to come and co-host for that person because your job is to make sure the space is safe. So, yeah, thank you for bringing that up. Please come and co-host any workshop. And in fact, if you come to a workshop you don't know a lot about, you can learn at the same time as co-hosting for that host. So, yeah, you get double benefits.   We don't want you promoting yourself on your backdrop and on your wall and all that as well. You see, I promote the WordPress logo here. You're allowed to do that, but not yourself. Great. Any other questions or comments? Thank you very much, Patrick. If there was any final thoughts or comments you wanted to drop, feel free to leave them in the Zoom chat. But thank you everybody for joining. And hopefully you have a better understanding now of what it means to host or co-host an online workshop for the training team on learn.word.wordpress.org. Thank you very much for your time. And I look forward to seeing you all again in another online workshop in future. Bye, everyone.


All right, without further ado, I would like to introduce Vivek Ramachandran Nishant Sharma, and I can't say that. I'm sorry Ashish Ashish, all right they will be talking about Decepticon Wi-Fi deception in under $5 and Afterwards you can ask lots of questions about what else you can do for under $5. Excellent. Have a great time. Thank you Thank you Rick tip your servers So Thanks again, Rick. It's always a pleasure to speak at the wireless village I've been doing Wi-Fi stuff for I think the past 10 years from that con 15 So it's amazing that this is my 10th year and I'm also speaking in a couple of villages As Rick mentioned, my name is Vivek and today. I'm going to be talking about Decepticon of course taken from transformers Wi-Fi deception under $5 a Little bit about myself Started as an electronics and communications engineer. I implemented a lot of the cat 65 802.1x import security back in the day broke web cloaking Created the cafe latte attack was one of the winners of the Microsoft security shootout contest I speak and trains at conferences. We do black hat every year the Wi-Fi training I also run security tube net and pen tester Academy Written a bunch of books and Let's come to Decepticon Okay, so what is Decepticon now as a Wi-Fi hacker? I have created a lot of honeypots right all of us have What I really wanted to do is see if we can create honeypots which can trap attackers Probably both trying to attack your home network as well as enterprise So the whole idea is now why not create honeypots which trap attackers and That is where the idea for Decepticon came Now when you look at honeypots deployed, you know in an enterprise Even doing extremely simple things has actually netted me a lot of attackers to give you an example If the office network is called pen tester Academy and that's WPA to enterprise And if you have an open AP or probably WPA PSK with an easy passphrase you'll actually see a lot of people trying to break in As far as WPA passphrase is concerned pick one of those from rock you dot txt Right. Everyone uses Kali. Everyone is going to use the same dictionary I think you know the attacker might get a gratifying feeling that he cracked the network Logs in does a lot of mischievous stuff, but of course we are watching So I tried out many of those But interestingly what I wanted to do is see if we could build these Wi-Fi honeypots in under dollar five So which means you can pretty much leave them deployed anywhere at your parking lot At probably you know kind of hanging from one of your windows and see what happens right just for fun so I Did a lot of research on the different devices available and I finally picked up the ESP 8266 Any of you guys worked with it? Okay, just one So this is actually a very interesting chip It is used for the internet of things. It's it's a full SOC The wireless card on it actually has BGN capability, which is fantastic The SDK is open it can actually do of course open WPA WPA 2 and the latest firmware even allows you to do WPA enterprise Which is almost unbelievable for a chip that size It's a full blown 32-bit risk You can use the 80 megahertz option or the 160 megahertz option Either of which is pretty reasonable for the task in hand So I looked at this chip and then Decided to use this to deploy Decepticons all over the place So here is a deployment scenario So let's say you have a corporate Wi-Fi network or your home network You can deploy a bunch of these Decepticons attached long-range antennas I even tried using a couple of signal boosters and Then misconfigure them Right use a different passphrase make them open networks Because when you do an aerodump scan you're probably thinking Corporate Wi-Fi someone forgot to configure that AP properly, right? So If someone is attacking that's probably going to be the first target Still even enterprise deception solutions Which is out there in the market doesn't use too much of Wi-Fi from what I've seen I've never seen a complete Wi-Fi deception solution So how would this work? We create the honeypot network and Then we actually connect to a backhaul network. So here is what I want to do The chip is actually on the development board But the chip really is half the size of the development board you can see right now Now what I wanted was I could just power this over USB anywhere And it actually creates a fake honeypot network and at the same time Connects back to one of the corporate AP's so that when an attacker connects to the honeypot We can go back and tell the admin, right? Now unbelievably this little chip can do both an access point and client mode at the same time So it can maintain dual stacks So we do not require two different Wi-Fi cards or two different chips Of course, the only limitation is your honeypot would be on the same Channel as your corporate AP if you wanted to connect back That's not necessarily a bad thing because the attacker is expecting the corporate AP's to probably be in one of those channels, right? so We create the honeypot network and I'll show you you know What is the IDE and I'll give out all the sample code today? We create the honeypot network and then this actually connects back to your home Wi-Fi or to your corporate Wi-Fi After that any time an attacker connects to the honeypot we automatically send out these little messages Over to our remote server which it can access over the backhaul network How many of you have heard of MQTT? Okay, think of it as Twitter for IoT devices, right really short messages You can pack a lot of things in there So this uses MQTT to go ahead and communicate with a remote MQTT server I'm just using a free server on the internet cloud MQTT You could if you want configure your own there's one called mosquito Okay, so Once we've connected the device actually waits for an attacker to connect to it the moment he connects It starts engine all of those little messages Back to the command and control Now another option which we have is if you actually wanted to deploy this on a hotspot environment Let's say have Starbucks AP on it or T-Mobile Then I'm also giving out a program where you can create your own splash screens all on this device So this has an embedded web server in it There is an interesting little way by which you can put web pages along with it by encoding And I'll run you through it a little later But with that you can put your own splash screens right or mimic existing ones So the other option as I mentioned we have a splash screen the victim tries to log in and every activity is Logged and sent back to the MQTT server I'm also working on an enhancement where this can even store all of that locally. So you could deploy this Come back after a day Bring it back connected to your computer and it can start dumping all of the user names or whatever was collected When people connected to your splash screen? Okay So this is the overall as a view of what we want to achieve, right? So now the question is how do you program this device?  Okay, good news the ESP 8266 SDK integrates flawlessly with the Arduino ID and There is actually a lot of wrapper routine so that you can use the Wi-Fi module and a couple of others There are certain SDK specific APIs, which you may have to call which don't exist in our, you know And well, I have all the code and everything documented So Decepticon the first Example which I'm going to show you is how to break Decepticon up and look at these smaller building blocks Now keep in mind the idea is not to run through a whole programming exercise We have limited time. So I'm going to show you code run a couple of live demos Run couple of them on video just so that we can cover everything After the class, I have a couple of ESP 8266 So if you want to try it out live or do something just let me know okay, so Let's start from the basics I wanted to give you an idea of how simple it is to actually program these devices This isn't as difficult as probably, you know taking open WRT customizing it This is really simple. A lot of the sample code is already out there okay, so let's actually start with the obligatory hello world So I have connected this to my USB the ESP 8266 has a serial port and The development board has a serial to USB converter So you can just directly talk to the chip, you know over your USB port So I have set up the chip here If you look under board it says node MCU The frequency is 80 megahertz most importantly You just need to make sure that you have selected Your USB to UART port, okay now extremely simple When the device comes up We can run what is called setup code now if you've done Arduino, you already know this This is this is for the rest of the gang who probably hasn't used Arduino before So setup only runs once and all we do in setup is I set the serial port speed Along with probably just printing a couple of hello worlds After setup runs We actually go through what is called An event loop and that loop keeps running and you can pretty much put in whatever you want inside of it, right? Simple example, so I'm going to go ahead Upload the code run it So we are compiling the sketch all of this code and Decepticon is completely free and open source So I'm going to be adding a lot of things to it You will love this little device. I've fallen in love with it for the last six to eight months And they've come out with ESP 32, which is the next version. I'm already working on that as well So should be fun to see. Okay, so now that the code is uploaded We can look at the serial port of the device by Just opening the serial monitor on Arduino Now I'm going to reset the device real quick. It has two switches on it as soon as I reset you'll actually see The device once again, just print the hello world right quick introduction as I said two important things the setup function Where you run stuff one time and then the loop function where you want your event loop? So now let's take on something a little bit more Interesting so how many of you use arrow dump in G everyone, okay So what I did was I took the base Arduino code looked at a couple of APIs with the SDK offered and I tried to create a simple arrow dump in G So I'm going to upload this code I've tried my best to document the code as elaborately as possible as I said, I don't want to make this a coding exercise But if you do have any questions, you can always reach out to me later So let's wait for this to run Okay, you just see that so this is under dollar five Right Interestingly because this is actually talking over, you know USB to you are you can actually connect this to your Android phone and Use any serial monitor application on Android and you could pretty much be able to see all of this Seems to be an unknown one which might mean I had to look into my parsing code a little bit more But this is how easily you can create a Network monitor Using this little guy, okay all the code again completely open source okay, so The good news is the ESP 8 to 6x because it was meant for IoT They actually have a lightweight TCP and Wi-Fi stack in it So all we have to do is leverage that stack to create a Wi-Fi access point Creating an AP is as simple as what you may have done in you know, a couple of the Arduino based platforms. So let me Show that code and run it So just to show you how trivial it is to actually create an AP. That's all you have to do Wi-Fi or soft AP give the SSID if you'd like to create an encrypted access point Give the passphrase followed by the channel and if you want this to be a hidden AP That is a flag. You can just set that to true. The default is false Okay, so I'm going to quickly go ahead and run this Aren't you guys already falling in love with this little chip? five dollars Actually, if you order from Ali express you can even get it for three dollars Okay, let's wait for it to upload a version of it does so there is a version called the VMOS D mini Which is just so he has a good question. Does this support external antennas? So the ESP 8 to 6 6 I am demoing this doesn't but there is a VMOS D mini based on the same chip and They actually have an SMA connector and you can use that with a 3dbi antenna. I can actually give you a link after the talk They have a little resistor you have to kind of desolder and kind of solder it back So you can switch the circuit from internal antenna to external, but that's about it. So Let's see. What was an AP called ESP 8 to 6 6 AP? So let's switch Wi-Fi on and there it is to see that So you should be able to see the ESP 8 to 6 6 AP in here That's how easy it is to actually create an access point using the ESP 8 to 6 6 Right you can create an open AP no encryption You can create a web AP WPA PSK and WPA to PSK for enterprise. You have to kind of Do a little bit of kind of work arounds because they don't support that natively, but if you are interested you can You can talk to me after the talk Okay, so what I'm really trying to do here is Connect the different blocks we would require to create decepticon, right? So decepticon is a honeypot AP which means of course we'd have to know how to go ahead and create a Wi-Fi access point We just saw how to It has to connect back to its backhaul network, which means the scanning facility and the connect back facility and Then finally it has to run a web server and make sure that there is DNS redirection So that as soon as someone connects DNS can redirect Okay, now the connect back We are at Defcon, right? So my ESP 8 to 6 6 might not be able to connect to the Defcon live network right now For for things. I mean of course understandable. So what I'm going to do is just the connection part I'm just gonna show you a quick video because I don't want someone to hack the device while I'm doing a demo That would not be pretty So here is the connection part again really simple Let me give you an example and show you how the code looks like first Okay, so we mentioned the SSID and the passphrase You know what I can give it a shot. Let's try to see if we can connect to the Defcon open Wi-Fi I'll take the risk Okay, let's see if we can connect to the open wireless at Defcon Without getting a BYOD on my screen or or something worse Right. Yeah question. Yes Yeah, so that's a good question. Her question is does the chip have GPIO? Yes It actually has one more serial port and you can even do software serial with it People have even done USB software serial with it from what I recall it probably has eight GPIO ports So you can connect and originally this was meant to be for IoT So they really wanted it to be able to connect to external devices and be controlled By probably, you know your fridge or maybe a kettle which is IoT on it. How many of you have that? Okay, so it might have a bit of issue here connecting the the kind of only thing is if you're an environment with a lot of deots I don't even know what's happening in the background But I'm gonna try to reset it and see what happens. This is a little error message. I print till the time I'm trying to check stuff Okay Trying to connect to the DevCon network was not a good idea clearly Let's actually go ahead and look at the client functionality I'm also going to put up all of these videos online the videos run you through every step They have voice which means you'll never forget how I sound You can look at them later Okay Okay, so Once we actually run the code it's supposed to connect to the backhaul network and After that we can actually have full internet connectivity This uses LWIP, which is a lightweight IP stack. It's actually used in a lot of embedded devices So let's go back. Okay Now let's actually look at Decepticon itself. I'm just going to run you through a little bit on the code organization Okay, so the way Decepticon works is First it has to create a honeypot AP, right? So that honeypot access point is actually being created over here in a deception AP It creates a honeypot AP the SSID is free internet of course I Live in a downtown area. So it's actually quite fun to hang this from my window and See how many people try to connect to free internet? So So that's basically the deception AP Now once the honeypot comes up We want the backhaul network to also work right so that we can send all these messages back to the command and control server That's actually done in in it back-end reporting again. We've already seen the sample code snippets Now after this We are going to go ahead and start the DNS server. How many of you have had trouble Doing DNS redirection attacks You know, you probably used a couple of tools where you have to ensure that all your DNS replies Get redirected to only your IP address, right? And it's pretty painful sometimes to get right now with ESP 8 to 6 6 It couldn't be simpler They have a DNS server and in DNS start The second argument if you actually mention a wild card it Automatically goes ahead and responds to every DNS request with the ESP 8 to 6 6 is IP Which is fantastic? Right, this is the most difficult part. I've always found kind of getting right when you create MITM setups or You know any form of deception or honeypot setups, but hey, I mean they supported in the stack itself. I Don't even know why they market it as an IoT device. They'd probably have a lot more success marketing here in the vendors area So This is how you start the DNS. I Have a couple of error checks over here so that you know, we can make sure we are reconnecting etc This is a dummy account. You can see all the passwords. You can try it if you like. It's all yours But this is the back-end MQTT server And what we actually do is As soon as we bring up the access point we tell the remote server. Hey, the AP is up when someone connects to your AP we say hey XYZ client with this MAC address connected to you When the client opens a browser We go ahead and send a message login page sent right And you'll see a mapping of all of that with the GUI in just a bit the web page So with the ESP 8 to 6 6 you have a file system, but it is pretty limited However, what you can do is embed the web page itself into the code so that it pretty much is Kind of fetched at runtime directly from memory. You don't have to do any of the disk access I did that. I wasn't too happy with the performance It has a very very small disk. I think a couple of kb if I recall So I have the entire hotspot page the whole HTML and everything in here Embedded inside the code as a variable finally we have the web server So all the web server does is as soon as a client connects the DNS redirection happens It throws the splash page Regardless of whatever URL is being requested right just like any captive portal Okay, so let's actually Run this Now as I mentioned through the Defcon network might be difficult to connect I'm going to run it show you how it kind of looks like in the serial monitor You can try the code later, but I have a full video of how it works in general, right? I have tested it I've even deployed it in a lot of fun places with people's permission Is he recording? Okay So yeah jokes apart of course just for just for research purposes so it's actually Wait for it to compile. So right now the access point is up and If you use your phone, you should be able to see a free internet Feel free to connect to it. I have a friendly malware. It'll just occasionally say hi to me So as I said, you can pretty much try this Okay, so we have one connected client. Who is that brave heart? Who connected someone did connect? Okay. He did So feel free to connect if you notice Because we don't have an outgoing internet connection at this time the MQTT message says We aren't able to connect but that's okay. You can try that later so Feel free to connect to it. I'm just going to show you how this looks like When you deploy it in a much more senior network than here So let's actually go in Okay So This is the remote server. I'm using There is a free service called cloud MQTT. You can sign up for a free account which is really what I did and This is the MQTT server the ESP 80 to 66 talks to when it actually has to send messages You can set up your own as I said there is mosquito couple of others But I generally prefer free options, but I don't have to set up too many things. Okay, so Now it's actually fast forward a bit, okay, so the device started up What is happening here is free internet is now up and running it is broadcasting It then started the HTTP server and after that it connected to the backhaul network, right? Which as I said to the DEF CON network is difficult to connect and It just tells you what IP address and all of that it has configured itself with so this is now serving a honeypot Simultaneously being connected to a backhaul network so it can talk to the MQTT server Now if I go back and look at the MQTT server GUI You will see momentarily us getting messages. So this is the free The deception SSID free internet is up as you can see that's an IDS alert Honeypot update the SSID is up and the current client list zero now all this means is no clients connected This is a phone any device which might connect to free internet So once we connect because we do the DNS redirection Automatically all mobile devices tell you to sign in We get the MAC address and the IP and then you get the splash page for legal reasons given This is recorded. We have a custom page called hacker arsenal, but you can create any splash page in there Too many bad things happening nowadays to people presenting so And then you can actually put in the username or the victim would go ahead and put in the username and password All of that is immediately going to be sent over the internet to the MQTT server There you go. So at the very same time what I'm working is you can actually send the device back messages as well So you could probably tell it to do something interesting I was even thinking about having it do a port scan Once the client connects to see what services are available Okay So all the code is going to be available as I said, I've tried connecting the Defcon network Maybe by tonight. I'll have everything up on hacker arsenal.com And you can download it. Okay, so that's all I have. Thank you any questions. Thank you questions so yeah So I've actually managed to power this literally for weeks with one of those little You know USB charger batteries like the amtech ones or It works fantastically. Well, that's a good question Additionally the ESP 8 to 6 6 actually supports a low-power mode where it can switch itself off And pretty much operate in very low power and then automatically switch itself on periodically So doing that someone even claimed to run it for a year I mean, I don't know how how much truth is there in it, but So you can do a lot of stuff with this. They also have a new chip called ESP 32 Which allows you to do both Wi-Fi and Bluetooth low energy and your regular Bluetooth My recommendation is look at all the new IOT platforms coming out This is actually a treasure trove for wireless hackers Because I mean, you know, they've done the kind of time investment and research to miniaturize them anyway And all of them need to have full-blown stacks so that we can use it And I mean I go crazy just buying stuff from Ali express and just most stuff seems to work I mean unlike the time when you have to hunt for wireless cards or platforms endlessly for weeks Some of the new platforms are great all the IOT platforms, especially the ones with wireless and Bluetooth Okay, thank you very much