 Hey, hey, hey guys, I'm back. I'm Beth Massey. I'm the Product Marketing Manager for the Donet platform and I'm with Myra. Yeah, so I'm Myra Wenzel and I'm a senior content developer on the Donet team. Cool. And I'm here to talk about technical docs. Okay. So, right. So documentation, super important, right? I think so. I'm biased. Well, I mean, let's face it, whether or not you're getting started or you're a seasoned engineer, you're going to need documentation to, like, write your systems. And you are basically in charge of what docs, what are you, are docs you're in charge of? The.net docs? Yeah, so everything.net, like, Donet Core, Donet Framework, and yeah, it might switch things around so I might, like, might get some new areas to work on. Cool. Cool. So great. So let me get your presentation loaded up here. Why don't you get started here? Okay. So my session will be talking about docs.microsoft.com and I will cover both in English and then I'll switch to Portuguese in the end, which is my native language. So I think I'll do, like, a few minutes in the end. And so for those who are watching from Brazil or from Portugal, I'll be talking about docs. I'll do the first part of the presentation in English and then I'll switch to Portuguese, okay? So here's our agenda for today. We have the journey to open source docs. So I'll talk a little, a quick history on how we got where we are. And then a tour of our site, docs.microsoft.com. I'll talk a little bit of how localization works and some of the controls we have for that and then how you can get involved with our talks and contribute to our open source projects. Cool. All right. So our journey, let's do a quick recap. So our past, we had MSDN and TechNet. We had those segregated audiences between, like, MSDN, it's for developers, TechNet, it's for IT pros. And then you had this, I put that black hole there. So it's like, you would send feedback and you would just go to this black hole. It's like, there was no interaction with the team. You never knew if people would read your comments or it's like, you didn't know what happened to that. So that was the past. And in 2014 is when the open source journey started happening really for real at Microsoft. So that's kind of the beginning. So we had, like, Sadia saying Microsoft loves Linux. And then we had the Donut Foundation created. Rosalind was open source for first-in-code plaques. And then I think the next year, they migrated to GitHub. And so we had a visual... That's what was the snowball effect, basically, that year, right? Because we had April build. We had the Rosalind open source, all right? That's when Anders pushed the button. And then Visual Studio Code. And then in 2006, we had Donut Core release. It's like our multi-platform development platform. So and all these cool things started to happen at Microsoft and history goes on. And at the same time, like our docs, like we had this closed source environment for Donut framework. But then the teams that were doing open source projects, like ASP.NET Core and Donut Core, the product teams started to create the documentation. So they're somewhere using restructure, text and Sphinx and others were using markdown and custom code. So there was no standard to any of this. It was all over the place. Yeah, it was all over the place. And people were pushing to different sides. It was like kind of a mess. We kind of have a lot of projects at that point, a lot of people, and so we needed a process. And it was like the writing teams, at least for Donut Core were not so much involved at that point. Like the PMs were kind of driving the documentation at that point. And so we had a new leadership in place and then we came with the docs vision. So these were kind of our principles that we wanted to go with. So go where the community is. And so people were using GitHub for open source. And so that's where we chose to be to open source our docs. We wanted to use standard formats and tooling. So GitHub used markdown as the default kind of extension. So we chose to adapt that for the conceptual content. And we used tooling that was available like the Mono EM doc to generate Mono API documentation. So it's like trying to reuse and use the standards available and not reinvent the wheel. So you really went out there and looked at what other people were doing for their open source documentation. Really took a good look at what the community was doing. And then you also adopted those practices and started to reinvent the wheel. What a novel idea. That's awesome. We also wanted to listen, respond, and act on feedback. So we wanted to have a way for the community to interact with us. And we like to manage the feedback that was coming in. So I'll go over more on the feedback later. We also wanted to have automation and validation. So when you submit a pull request for us, you'll see builds kicking in and some validations happening. And we're going to still work on that. Like we want to improve how our samples are validating. So we can't like when there's a new .NET Core version coming, we can test all of our samples against that new version. Automatically. Automatically. Yeah. That's cool. We still have more to do on that side. Wait, so are you telling me then basically what you're saying is that we write samples, put them in the repose, and then when we have a new version of a build of something like .NET Core or something, it would automatically rerun the tests on all of those samples across the whole thing? That's the idea. That's our goal. So we're going, we already have some validation for the current ones for a couple of folders, but we still don't have a test for all of our snippets. So that's. Wait, so that means samples will always be up to date? Yes. I, I, I, I, I, I, I. Oh my god, that's fantastic. That's really cool. So when are we going to get that? It's coming, so. OK, all right, all right. No promises for no promises. We have already some CIs running, but yeah, but we need to expand our tests. That's awesome. That's cool. And then for, and we also want it like friendly readable URLs. Who needs that? We don't need friendly readable URLs, right? Yeah, like the MSDN, you have like those weird characters that. Article IDs. Article IDs, yeah. Asset numbers. It's going to be an English name, but you can try to guess it and you can kind of navigate. That's, that's much, that's much better. Cool. All right. So Docs is launched. So in 2006, when, when we launched on a core, we also launched docs.microsoft.com. Our first pilot was EMS, which is the enterprise mobility suite. And then on that core was the next pilot. So, and then things started to, to progress. So we launched the Donnet API browser. That thing is cool, by the way. Yeah, and I'm going to show it later. Cool. And then the interactive tutorials that I think is like one of the best things we have there. And then in 2018, we changed the feedback from LiveFire, which is our previous mechanism to GitHub issue. So now everything becomes an issue for us. And then Donnet API reference last month was finally redirected from MSDN. So like that was a big deal. And just this week, we migrated all of the localized API reference for Docs. Sweet. OK. Cool. Everything's coming. Coming together. Everything is coming open. Yeah, there are a few, a few things left to do on migration. But yeah, we have a super onboard engineering team like doing awesome stuff as well. I was like, we have lots of things to do, but they keep working with us and getting things, improve things. Can I ask you a question? So that's about the old system. I mean, everybody's like, we all, I don't know, if all of you have ever tried to migrate a system forward, an old system. Like MSDN, how old are we talking here, these Docs? They've been like, we talking 20 years old? Yeah, 15 to 20 years. So I can only imagine the system was built 20 years ago and trying to get all of that content out and in the open. How long has it taken? It's still going. It's still going on. And you started in 2014. Yeah, 2015, 2015. Wow. And so can you give me an idea of how many pages are we talking about here? Oh, it's millions. Millions. Yeah, just the API reference is like 200,000 pages per version. And then localized versions. Yeah, so yeah, it's millions of pages and different formats. So it's like trying to. So the community knows we find issues and we try to. So before things were opened, how did you even keep up with updating these things then? I guess it was really hard, right? So it was kind of like you had to do this. I remember once, lots of years ago, that we were a lot from pushing API reference updates for six months. Oh, my god. So our Docs were getting pretty crappy. Yes. Yeah, OK. So we had to do this. So now it's like daily publishing, so it's quite a different world. That's amazing. OK, cool. All right. And then I mentioned some of the tooling. So people can use some of the open source tools that we use to generate Docs on their own projects as well, which is one question I got on Twitter for this session. So DocFX is a great tool that you can use. And we use it in our pipeline. And you can get it from that website. And so it generates a website based on your source content or DLLs, and so based on the triple slash comments. Comments, OK, cool. Yeah, and then your markdown, so you can have some conceptual and some API reference. So all you folks out there writing APIs, please document them. And look, you don't even have to write the documentation. You just have something write it for you. It's automated, so that's the goal. Write your comments, though, people. Yeah, so our case is a little bit different. So like ASPDON at core, for example, it's totally generated from source. Donate is kind of this different child just because we have like Donate core and Donate for example. We have all these different implementations that we have to make it combine and make it work. I see, like Donate framework and Donate core and mono and all the different frameworks and that sort of thing. Yeah, all the flavors, and so we have to combine them and create one source for them. I see. And then we know where there are differences in the APIs. So do the developers, when they're writing these APIs, do they write the, you're talking triple slash comments here. So they had, did you have to train them to actually write good comments? Yeah, so that's another thing that I want to publish. We have a contributor guy and with something I want to publish out there is like how to write good API. Yeah, because typically, I mean, I wrote code for a very long time and I wasn't very good at writing sentences. Yeah, I can see things that don't follow kind of our style. So it's like that. So you go through and kind of like, you make changes to the source code itself? Oh, awesome. So for ML, Donate, ASP, Donate core, they are all auto-generated based on source. Very cool. Awesome. OK, and then MDoc is our reflection tool for APIs. So that's another one. Developers and writing comments isn't an ideal combination. Yeah, so that's exactly what I was thinking. Yeah, but it's like, that's why we have this person here. If you can help, we should review it. All right, so I'll give a quick tour now of our site. So let me switch to the apps. All right, so I have here, let's see if it's coming up. I thought again. Let's see. So. Oh, duplicate. Hold on, let's see. Duplicate. There you go. Hey, you got it. All right, you got it. All right, so here's the home page for docs. So now we have one home for technical docs, right? So it's for everyone's, for developers, for IT professionals, and you choose what product you want to work on. So I will go to our home, Donate. Cool. And then you have everything in Donate. Here, Donate guide, Donate course. So Donate guide is where we put our cross-platform. So things that apply to all implementations, like exceptions, event handling, that kind of thing, goes there. So once you're here, then you're in an article. You'll have these controls up on top. So you have feedback. Then you have added shares. You can share on social media. You have dark mode, and people love it. Ooh, I didn't even know that was there. Let's go. I don't like dark mode, personally. Oh, yeah. And let me see if I can find an article that has more than one language, but maybe in Donate guide, we'll have something for events, maybe. Yeah, so this one, you can switch from C sharp to VB. So it's something that sometimes people are going on. You can pick your primary language. Cool. Pick your primary language. Another thing is that you can download a PDF. So that will download an open new tab. So like when I go on the airplane, I can read all about it. And it will download the entire TOC that you're on. So in this case, where you were just on events here, you will download all the topics that were in that table of contents for you. Fancy. I love it. OK, so feedback. So we said feedback was a big thing. Right. We have maybe four ways for you to give feedback. So you can give product feedback. So this will take you to the appropriate site, depending on the product that you're on. Then content feedback. So that's where if you want to give it, it will go and become a GitHub issue for us. Then there is the site feedback, which is it's not about the content itself, but maybe you don't like how the site layout is. I see. Or you want to give suggestions about how Docs are. Contact the webmaster. Yeah, like the docs.microsoft.com engineering team and things like that. So it's not the content itself. Not related to the words on the page. And then it's like, oh, I don't want to be contacted. I don't care if you respond to me or not. Then you can say, is this page helpful or not? And then you can give comments anonymously here. So you'll need a GitHub account to use this one. And then you can give feedback on this one anonymously. So that's an option. So I like the edit button up at the top there. That's cool. So what does that do? Are we going to show that to us later? Yeah, although when, like, how you can contribute. I'll go over and show a few things. Cool. Looks like we got a little comment there. Sweet, love the download option. I do too. That's very fancy. Cool. Awesome. OK, so I talk about the different types of feedback. And then I'm going presenter mode. I think I want to full screen it. There you go. You don't need to see two slides at a time there. How do I do that? I think you just go there. Just window. Yeah, just do a Windows P again. Right, project. Yeah, Windows P. OK, there you go. Again. We almost have it. Sorry, folks. This is harder than it looks, people. Well, and I'm new at presenting too. So I think we go, I don't know. Javier, what do you think? OK. Just basically go back to your desktop. Duplicate. Duplicate, is it? Yeah, it is duplicated, so let's try again. There we go. Yeah, I think I've lost somehow. All right, we also built some awesome interactive experiences. The obligatory, where's that button in PowerPoint again moment in any presentation? Yes, that is exactly what happened. So some of the things that we've added, so for Don and we have tried on it, powering some of our content. Now, that's the cool thing, right? You can actually write C-sharp code in the browser, right, as you go through this thing. So you can, without installing anything at all, somebody can go and actually write C-sharp and learn. That's a little shoo. That's cool. It's like it keeps trying to. Yeah, I think it's Windows P, right? Let's try again. Yeah, it keeps switching from the duplicate to extend. Hey, all right, there we go. So numbers, let's check that out. All right, so you come here, you have the Don at editor, and you can copy here, paste it, run on the browser. You can learn C-sharp like that. It's like, oh, I don't want 6, I want 10. That's cool. And then you will give it the result. And you can, we built some basic lessons and we want to expand on that. So this is a really good teaching tool, like even for kids actually, right? They don't have to install anything. They can have any browser whatsoever. It works, and that's awesome. And when you feel ready, we have some lessons about how you can do the same on Visual Studio Code as well. Cool. Yeah, and so the other thing we did is to do the same in some APIs. And we got Greenlight to edit to more APIs. So here, Daytime is one that we edit, this interactive experience. And so you can click and run and see how that API works and how the examples work. Cool. So you get that. Yeah, so it leads you through a path, right? You know, it's like step one, two, three, and then like a tutorial style. Quick starts are like that. And then this is the API reference. OK, that's the API. Got it, all right. In the API, you have the experience as well of trying to code. So we're going to start adding more of that to other popular APIs. Then you can try the code here. And it's like, what is this working? What does it do? I'm not understanding, so you can kind of play with it. Kind of play with it before you start bringing it into your PC. Cool. And then we have some of the, let's go back. All right, we have the full one. So Azure Cloud Shell also, you can experiment on Azure CLI Docs. So you can try commands. You don't have to install anything as well. And then RestDry as well. You can try some of the REST APIs as well, so it's like. That's awesome. So try before you buy. Try before I buy. Yeah. We also have some ways that you can be notified of updates. So one way would be, you can do a search. So let's do a search here in CLI. So everything CLI under.net. And then you can click here for the RSS feed. And then you will start following that feed. So that's one option. Oh, OK, it's trying to download. I'm not going to download. The other option that I found out about recently is flowmicrosoft.com. And they have a template for you to add. So let's see. So they have a template for Docs, where you can send me an email when documentation is updated. So you can create a flow to receive updates when there's changes to that. So like if you're looking at something, you can have an email. Yeah, it's like a watch. Yeah, that's kind of cool. So you can enter what URLs you're interested in. Like I really want to know when these CLI topics are updated or something they're interested in. You can put it here and it will start notifying you of when the content is updated. That's really cool. I didn't even know that existed. Yeah, I found out about recently. Sweet. I haven't played with flow. I guess I should. OK, so you learned something. Yeah, I totally learned something. Look at that. All right, the other thing we created is Docs Archive. So on MSDN and TechNet, we had one set of documentation per version. So it's like we had Donate Primo 1.1 and Donate Primo 2.0, et cetera. And that would compete. Sometimes you would search and land on an old version of the topic. And frankly, they're not used anymore. We have now a set that is kind of comprehensive of versions. We try to be kind of version agnostic. So if you're trying to find some of the old documentation, they're all being migrated to this docs.microsoft.com previous version. So let's switch to that. OK, so you can see that the list of products here is growing. And so we have Donate here. So oh, I see. If I wanted an older version of Donate framework. OK, I got you. My board likes to rely content here, things like that. Gotcha. So this is coming as well. So it's been a huge effort to migrate all of things also for all of MSDN. Yeah, it sounds like you have a huge amount of docs over the years. That makes sense. OK, the localized side of docs.microsoft.com. So I'll show it really quickly. But I'll go more in depth when I'm talking in Portuguese. So here is when you have a page in Portuguese or French, whatever language you're looking at. You can enable to see what was the original sentence that was translated. Or if you don't like the hover, the pop-up, you can disable. Oh, cool. So you're saying I could learn Portuguese too, at the same time I'm learning F-sharp. You can. How fantastic. You can also read in English. So sometimes when you're trying to find a topic, it will automatically bring it to whatever language your computer and browser is set up. So it's like, I don't want to read it. So you can read what was the source for that translation. The one thing to be conscious about is that this is the English version that was used to translate. But it takes a couple of weeks to get things translated, right? And it goes to the translator and then it comes back. So if you really want the latest, then you should switch to English. So on the bottom, you can switch the language here. Or I just type NUS because I'm used to it. And I know the localize code, locale code. So sometimes the English version could be a little bit ahead. So if you're like, does it pick up the language of your OS or your browser and automatically put you? OK, got you. So whatever you have set up. But at least you have a quick way to read what was the source if it's like you want to see it. And if you want to, like for example, here, you can see that F-sharp has a space here. So we'll edit that later. But you can see that the source was correctly. It doesn't have extra spaces in there. So you can see whether it's like a source issue or a translation issue. Cool. So can people make pull requests in their native languages then? So yeah. Oh, that's awesome. OK, cool. So they can either pull it, do pull requests against the English, like if they find something that is wrong, or they can do and help us improve the quality of the translation. That's fantastic. Awesome. So how to get involved, like the fun part. Yes. So every contribution matters. So you found the typo, it matters to us. It's important. We're improving the quality of our content. So this is like a snapshot from the last month of the Don and Docs repo, which is our conceptual docs. We've reached like 806 contributors so far. And last month, we had like 300 merge pull requests. Wow, busy. Yeah. Yeah, we get a lot of pull requests. So we had like 75 authors, considering that our team has like five writers for Donet Core specifically, and Framework, and C-Sharp, like the managed languages. That's huge, right? We get a lot of improvements from other people on the team as well, like so we have PMs contributing, and we have the community contributing. So that's amazing. Well, quick question, answer this question. What's the URL to try C-Sharp in the browser? I think it's try.net, isn't it? Yeah, you have try.net. So you have try.net, it's like you can have the web powers, our topics, so that's. OK, that's like just the unchromed version of it. So that is the editor, basically. Yes, the editor. And then I think we have an AKS link, but I'm not like reminding right now, but it's like C-Sharp.net, so you can go to Donet, and you will be on the home page, so Quick Starts. Quick Starts, OK, go to the home page of the docs, click on Quick Starts, guys, and there you go to have a guided Quick Starts, the Hello World numbers, and that's what she's showing before. Yes, so that's it. And I'll have it on this slide, so you can download the slide as well. And we love our community, so we've done a foundation, we have this partnership of people that are really engaged in our repos, open source projects. We send little swags, so people that are making a huge contribution. And so docs is also being recognized as the same as a product, so these are two of our contributors that got some of the swag and offer this from Brazil. I mean, actually, you know what? I just want to make a comment here. Like, I personally don't think I'm at the level. That's me. Hey, awesome, dude! Yeah, so I personally don't think I'm capable of submitting code pull requests, say, into the .NET Core framework. However, I'm pretty sure I could submit some pull requests to documentation as a developer that uses the core. So people need to understand like, it's like every contribution is important. Even if you don't think it's important, it is important. And making your first pull request can be very scary sometimes. And so starting with documentation or testing is a really great way to get started with contributing to open source. Exactly, yeah. So we encourage people that want to dive into this open source world that if they want to get the experience, docs is a great first step. And also contributions to docs for people that are interested in being MVPs or continuing to be MVPs, like our program for most valuable professionals, docs contributions are also counted as part of that. Yeah, guys, so our advocates are called MVPs here. They are our best customer advocates. And they help us in many, many different ways. And this is definitely one of them that's definitely recognized. So that's really cool. Super cool. We have a contributor guide, so if you want to get started and want to learn how it works, we have it published on docs as well, so we use everything in docs. And so let's get to do a pull request. Yeah, show me how this works. OK, so let me get one. I found one that had a typo here. So I found this one that had a double T here. So I just click Edit. And it takes you right to the source on GitHub. So the UI, for me, will look a little bit different because I'm admin. So I can show another one where I have that you can do the same and that will look like what it looks for you. So I found another topic. So you do the change. So you can just add it right here on the browser if it's a simple fix that you found. And I was like, remove double D, actually, right? And then I'll create a new branch. So that's the part that looks a little bit different. So you have to create a new branch and submit a pull request if you're outside? Yeah, for contributors, it's not even going to show that option. So I'll show how it looks like in a second. So I'll propose the file change. And then it will show me the UI to open the actual pull request on GitHub. If you're fixing an issue, and you can see the list of issues here on the second tab. So if you're fixing an issue, you can put the number here. And so it shows some of the ones that work fine. Yeah, so you hashtag the number, right? You hashtag the number so that when it we merge. It connects it. Yeah, it connects the two. And then when you merge it, it automatically close that. Right, cool. So I'll just create the pull request. So that's one. I've found, let's see if I have it here. Let me grab it from another type of here. And in a repo that I don't have the permissions so that it looks Oh, so it'll look like what we would see? Yeah. So this one, so you click the pencil as well for edit. So it's kind of consistent with what we have. And it also had a double the, OK. And then here's where I said the UI is a little bit different when you have right permissions versus not. So you move double and then, but then the rest, it's all the same. OK. So it creates support for you and a new branch. And then you can create the pull request. Cool. And then you wait for someone to moderate that and accept it. Yeah, so they will moderate and review hopefully soon. So you said you get a lot of pull requests. How long typically does it take to review the pull request and get it in? We try to review it fast, but there is a balance that we try to do between incoming issues, incoming pull requests, and the work that we've got to do. So we're still learning and trying to come up with what ways work fast. OK. So be patient. Yeah, be patient. But usually fast, like within a day. Wow. And usually like the business day, right? It's usually like for simple fixes and then like some more, maybe more involved or maybe like a new topic or something might take a few more days. Because you have to test it or whatever. Sometimes we drop the ball and we apologize. But yeah, hopefully we try to stay on top, especially of pull requests. And then for issues as well with triage, like we in triage individually also do triage meetings to go over some of the issues. Oh, OK. So we try to give you a response. But if you don't, like ping us and we'll try to answer. So that's kind of like the. That's the flow? The flow for like simple fixes. So I was like, you found a typo, found something wrong and you just want to show. I like to make it the change right away. Now, there are sometimes people want to contribute. And the fix is a little bit more complex. Like it involves maybe more files or maybe it's like a sample in our Donat samples repository. And so you might want to use Visual Studio Code. Right. OK. Like an editor. Yeah. Are we already editors? And we recommend it also because we're building extensions for Visual Studio Code. So we have the docs authoring pack for that. Oh, cool. Yeah. So you have some tools that can help with some of the specialized markdown syntaxes that we have for docs. You have a little like TOC things that you need to put in and the little markers or like notes. Yeah, the notes and stuff like that. Yeah, OK. So you can get it with the doc for the pack. Oh, cool. So I can show it here. I prepare one for the entity framework docs. And we're trying to push it to use it more HTTPS links instead of HTTP to have secure links. So I prepare like I have a regular expression here that will change some of the Microsoft links to HTTPS. So I ran the search before. I'll change all of them. Here's a good question. Is it better to submit an issue before attempting to tackle resolving it? Or do you hope some are just the instant pull requests for some simple changes like the double doc? For simple changes, just go ahead and submit a pull request. It's easier for us. OK. And it's like less work as well, I'll tell you. For if it's going to be more involved and. Then maybe an issue is, hey, here's a heads up. I want to totally change this article. Yeah, I want to change that. Do you think it's worth it? Because we also don't want to lose your time. We say, no, this is not what we would want to do or where we want to take this article. So talk to us about. All right, so Skull Crusher for Life, that was yours. That's an awesome handle name. So use your judgment. All right, so I'll say change links to HTTPS. And you can see here like what you just changed. OK, so that's the diff. OK, so I'll submit and push it. So can you use the docs authoring tools in VS Code with the docs generated by DocFX? So as a solution for myself internally? That's a good question. Good question. Yeah, I would have to check. You can use the authoring pack with any markdown. I don't know if DocFX recognized those notes in my email. So I'll double check and I'll see. Hit Myrup on Twitter later. Yeah, hit me up and I'll find it out. So OK, so then we have ESPNET entity. So here is my branch waiting for a pull request. So I'll just do that. You can put more details if you want. And then maybe Diego will review it later. So you can see what the change is. Cool. We try to do, if it's something that it's a bulk change, we try to kind of restrict the number of files because otherwise it takes us a long time as well to review. If you do like, I don't know, 1,000 files. Oh, I got you. Like you're changing the whole table of contents. Well, as you're using some kind of script or regular expression like that, it's easy to kind of know what you're doing. Then otherwise it makes it harder. All right, so that was like complex fixes. And then there are multiple ways to contribute. Like you can make fixes, updates. You can help us create content. And then you can provide feedback on the content as well as our issues. So it's like some of our community members, they go and comment on the issues that are created even before we had a time to look at them. So contribution is really also created an issue too, right? It doesn't necessarily mean a PR, right? So providing feedback is like create an issue and we'll take a look. Yeah, so it's very valuable. It's very valuable. And then PR review, some people will go and review our own work and make it better as well, so it's great. That's awesome. And then if you want to help, we have on the Donet Docs repos, we have up for grabs labels. So our things that we consider that the community could help us out. And then on our own repo, we created a project for community help. So we have like tasks divided in kind of... Oh, like a Kanban board here, right? Yeah, so we have like main links kind of work and then content updates kind of work and then new content. And then you can see what... This looks super organized. We're trying. No, like seriously. Yeah, and then people also like we organize our sprints as well, all in the public. So you can see like our current sprint here, like what's to do, what's in progress, what was done and who was like the person working on. So we even put like people's like from the community's faces. So that like... You recognize them. Oh, that's really cool. Yeah, so we can see who's doing what. Well, they're part of your team too, right? Yeah, of course. And so we can also reach out to our team on Twitter or email or whatever, like find us. And you can like, if you're interested in jumping on open source and you're not sure what to do, we have like very easy things that you can start with and then we can build and progress from there. Here's a good question. Can we help with migration and updating of docs that are not yet on, I'm assuming, the new system? Like F-Sharp? For the F-Sharp core, I think they're working on it. So I don't think like, let's do the migration and then I think they can help out cleaning up and stuff. So the migration is from like an internal system. So it's kind of hard for people to do that piece. But once it's out... Yeah, I think we have tools to help automate that. So it's like, much easier to just wait and then... But it's coming. I know it's coming because, yeah. All right, dude, so just be patient. It's coming and then you can help update that. So Philip would be the person that would know more about where that's at. I'll go bug Philip. Okay, so any questions before I switch to Portuguese? Yeah, guys, so Myra's gonna give kind of a brief recap in Portuguese. So if you speak English like me and you have some questions, let's go ahead and throw them up right now. And then if you speak Portuguese, you can ask her in Portuguese. And she will read the questions because I will not be any help whatsoever at that point. So... All right, it looks like everybody says thanks a lot. So why don't you go for it? Go. All right, okay. Então eu não vou fazer a apresentação toda. Então eu vou pular algumas partes e vou falar um pouco da parte de localização no Docs e mostrar um pouquinho. Então deixa eu voltar lá pra meu browser. E se eu falar misturado em inglês em português, me desculpe, mas eu já moro muito tempo aqui. Então às vezes é inevitável. Então vocês têm aqui a home page do Docs com os mesmos produtos que têm a versão em inglês. Ai, rapaz, em inglês, pera aí. E aí você pode navegar. E aí, o que eu estava falando antes, então os controles ficam aqui em cima, então você pode comentar e mandar comentários sobre o conteúdo e a tradução e pode entrar comentários sobre o produto. Então nesse caso seria em inglês, porque vai pro time aqui em Redmond. Também pode dar comentários do site ou então dar feedback anônimo. Então aqui se você colocar comentários sobre o conteúdo, vai pro GitHub. Aqui você pode ver a tradução, então se você se desabilitar, não tem mais os pop-ups e se isso meio chato, sem ficar lendo com o negócio aparecendo em cima, mas se você quiser ver como é que era a sentença original em inglês, você pode ficar vendo se você quiser ajudar a tradução e melhorar um pouco a qualidade. O conteúdo localizado tem dois tipos, a gente prioriza o conteúdo mais importante, ele é traduzido por pessoas e tem alguns conteúdos, alguns atingos que vão ser traduzidos por máquina. Então a qualidade de certos atingos da tradução vai ser pior, obviamente, quando é traduzido por máquina, conforme a comunidade for submetendo traduções, vai melhorando a qualidade da machine translation, da tradução por máquina. Eu separei aqui um artigo que a gente poderia editar, onde eu achei um problema na tradução, onde F-sharp tem a estar com espaço aqui, não deveria, não deveria ver que inglês está correto aqui, não tem esse espaço extra, então nós vamos criar um request para o conteúdo em português. Então aqui clica em editar, aqui no lapizinho, e aí eu vou procurar pelos espaços. Então aqui tem vários, então eu vou fazer alguns. E eu vou passar esse feedback por time de localização também para ver se eles conseguem arrumar esse problema de forma global, porque não sei por que está adicionando esses espaços. Vamos ter, quase lá. E quando você cria, você pode tanto falar inglês ou português, que a pessoa que vai estar revisando tem um time de localização que vai estar revisando, a pessoa fala tanto a língua mãe quanto a inglês, então tanto faz. So I'll remove extra spaces. Então aqui está o request, eu vou submeter e aí alguém, então é um repo, é um repositório para o conteúdo em português, e aí você pode ver aqui que eles revisam e classificam o tipo de problemas, se é linguística, se é um problema na fonte, então quando tiver problemas com um artigo que eles vão identificar se o problema é na tradução, os problemas também existem em inglês. Então se, por exemplo, o código geralmente é um problema que vai estar no conteúdo inglês, então vocês podem submeter o request direto para o docs e não para a tradução. Mas também se vocês não souberem, também não tem problema, porque o time analisa e eles criam um request para nós, não está na fonte inglês e não na tradução. E aí eu queria mostrar também aqui, eu falei um pouco da jornada que a gente teve de criar os docs e de lançar o docs da Microsoft da Confra, do MSDN e do TechNet, um pouco da visão que a gente tinha para o docs de ir onde a comunidade estava, então a gente adotou o GitHub para colocar os arquivos, o conteúdo. A gente adotou o Martown como um formato padrão, que já era estabelecido na indústria. A gente queria uma forma de poder receber os comentários e reagir a eles com aquela caixa preta que a gente tinha onde os comentários iam e você não sabia se ia ser interessado ou não. Todos os podcasts estão em automação e validação, então para quem nunca submeteu e tem medo de quebrar alguma coisa, tem medo de fazer alguma coisa errada, não se preocupem que tem automação, a gente vai validar, a gente vai revisar, a gente submeteu e a gente vai fornecer o feedback e a gente queria o RLs amigáveis, então o conteúdo, as RLs vão ser em inglês, mas você pode tentar meio que adivinhar, então por exemplo, se você está navegando no docs, nas APIs I just remind, I remember I forgot to show the API browser or something. Oh yeah, that one's cool, I'll show that one. Mas se você está navegando nas APIs e por exemplo, você quer ir para System String, você pode, meio que pode tentar adivinhar o nome da classe I'll switch to English just a little bit, because I forgot to talk about the API browser before, so that's another cool thing, so we launched in 2017 and you can choose what is your target so if you're looking at Donut Core 21, you can see what APIs are part of that set and you can search for so you want span of tea, for example so you can search for it and we'll take you, and right now because we just migrated the content from MatmezDn to docs and we did the redirection Google is still indexing the content so I think the API browser at this moment is kind of like your best place to search for things so you can search for string and it will show you like the classes and methods or you can go back to the API browser if you're not finding so it's like a string format so that's how it works so we just launched the APIs located, so if you go here, I'll change to Portuguese I'll go to Daytime so here I have all the content located too and here also has an interactive experience of running in the browser so you can run the code here in the Portuguese version so we launched docs in 2016 in 2017 we launched this API browser for you to search for APIs interactive using Try.net and Quick Starts so let me show here in C Sharp so here I have the quick start quick start so you can enter here follow the lessons and also the location so you can use here Hello World and Hello Brazil and then we adopted the comments changed from Live Fire which was our old platform for comments for GitHub Issues and this week we are we are we are redirecting the MSN APIs from Dot.net for the local versions so if it hasn't happened yet you can see the switch and you will start to receive only the URL in Docs there are some tools that you can use to generate the documentation so if you want to use to generate internal documentation in your production or if you want to generate external documentation you have DocFX and the M-Doc is the tool that we use that reflects on the assemblies or on the NuGet packages to generate the documentation of APIs for us so some parts that generate the Docs from Microsoft are free software and some are internal properties that we don't have how to distribute I already did the tour I already commented on the types of comments the interactive guides besides the Quick Start the quick start guides that C-Sharp has Azure Cloud Shell and REST APIs that you can test it's really cool, Azure Cloud Shell if you want to be notified you can use the RSS feed of the research so when you search for Docs you can search or you have this Flow tool and you can search for Docs template to send you an email it gets it checks daily the frequency that you determine if the document was updated it sends you an email when it happens so if there is an article that interests you a lot to know when it is updated you can create this Flow we created the Docs file so you can navigate to Docs.microsoft.com now I'm used to speaking English docs.microsoft.com .pt Br Br Br Previous Previous versions so it's hard to speak it's hard to say so we really appreciate the contribution of all of you here is a little bit of what happened in the last month in our repository in English where my team works and here are some members of the community who received some of our little memories for participating for having contributed a lot to our repository the Alphard from Brazil for example so you don't need to be only from the United States and if you want to know there is a website docs.microsoft.com .pt and so I already showed how to make quick editions for those who want to make more complex editions use the visual studio code with Docs Author Impact which is an extension and it has several ways to contribute so we wait there for your request and who wants to help in English content we use some labels in our repository and there is also a project for those who want to help we have some Brazilians who helped and you can contact our team if you want if you want to find but if you are navigating and find something strange just create a request and we appreciate it so that's it awesome any questions? I didn't see any Portuguese questions there was a question that scrolled by though that maybe we want to answer it in English there was a question and I had a question too about the same thing how do you keep track of links like if you want to link to another Doc in your pull request is there a special way to link it or you just do the full that's something that we don't use the full link we kind of use without the HTTP as Docs Microsoft because then it will also work for our offline books because then it's like for visual studio there are some products that we have is it a relative link then? it's kind of a site relative site relative link and then if it's something that exists inside the repo then we use a true relative link because then the build can validate is that in the documentation for submissions and contribution guide? if it's not issue, we should put it and then API links have a special format that we definitely have documentation on how to create those looks like we got some more questions here in English I really love how Microsoft gives ability to easily talk to the core MS team in live sessions that explain the tech do you see any that in any other enterprises? I don't know maybe this is a question to the audience it really makes my day to see my other one who helped me a lot to understand the tech here live on my laptop wish you an easy life as you always make mine, Myra that sounds like a love letter there that's fantastic you guys have been awesome it's cool to have the brazilian community here I actually saw a few people saying great job on both languages very inclusive I didn't know how I would do that so I kind of fucking fumble you went perfect in my eyes awesome so any more questions out there guys it's such a huge documentation how do you know what links were I think we just addressed that do you have any way to keep track of preserving incoming links a lot of forums including Microsoft discussions answer problems that provide links to MS docs that over time expire we have redirections in place so hopefully people are applying them so that you will never get a dead link so there's a redirection service in MSDN and even on the repo you can set up the redirection right there awesome alright guys Myra I just want to say thank you so much all your great work I think there was a fantastic fantastic session thanks a lot guys we'll be right back