 Hey, hey, hey, it's about time for our another office hours session today Move my stuff around my screen. I'm hoping that you can hear me and you can see me as well Be really great if someone would take a minute and in the chat Just jump in and at the bottom and the chat or wherever it is and you're wherever you're watching this Just let me know that you can both see me and you can hear me This month, we got our this is our our may installment or my may installment of my office hours slash AMA my ask me anything couple of little things I want to share with you at the beginning just like usual so I will Run through those really quick and then I got a couple questions that some people have submitted ahead of time And then if you've got any other questions Please feel free and submit them. So let me go ahead and submit you can submit those using the chat And let me just double check one thing cool. Yes, just wanted to make sure that I have my office hour. I had the Discord up. All right, so let me switch over to my slides and Let's let me explain kind of what I like to do in these in these office hours for those of you who are new In these office hours, I like to cover a couple different things I like to talk a little bit about what's new. It's all related to Microsoft 365 development topics. So this week I've got Some stuff related to the SharePoint framework a bit of news that snuck in I think just yesterday it snuck in but I've it's been kind of Semi-public for about about two weeks now, but I'll touch on that in just a minute I've got some stuff related to Microsoft Teams And then we'll tackle your questions the way that I the way that I like to hold these office hours and way I like to do questions is If you submit your questions ahead of time, which you can do using You can use the YouTube chat where I'm live streaming this You can submit your questions there and as I get to the part in a minute. I'll go through and I'll Answer any questions that have come up But if you're a student of mine and you subscribe to or you've enrolled in either my teams Accelerator program my Microsoft Teams accelerator program Or you signed up to my office hours. Sorry. You've enrolled in my master in the SharePoint framework course Where you've got access to a channel Inside of my community which I implement using discord There is a channel Called office hours. There's a link or there's a separate post just for this office hours Where you can submit questions my students always get their questions answered first before anybody else Once I've gone through all the student questions Then I will more than happy jump in and look at the questions that have been posted Here in the YouTube chat. I will tell you if you're a student and you post it to the YouTube chat live Based on screen names and that you've set up with YouTube. I May or I may not Recognize your name and so you need to give me a little bit of a heads up If you're a that's why I suggest you go to discord and post your question there So I know that if you're in that channel, you are a student of my class Okay, so let's go and get this kicked off. Let's look first at the at the SharePoint framework So here at the SharePoint framework the current version of the SharePoint framework that we're on is the Version 1.19 that came out on the last day or the second last day in April There's very little that's in this They wanted to get this pushed out really before The conference I think it was two weeks ago in Orlando the Microsoft 365 community conference And then they also wanted to get pushed out prior to build which is next week in Seattle There's only really two things that are in two or three things that are in this One of them is a new feature and then other ones just some housekeeping stuff The first on this here is they they say they've decoupled the build time some of the build time packages From the actual SharePoint framework release and so in this case here That's just two packages the ESLint plugin for SharePoint framework and the SP module interfaces package Now a lot of us had these questions. Well, why did you do this? What what is the what was the reasoning behind breaking out some of these packages from the main SharePoint framework reference and to be honest They said that they were going to go document this but that was like three months ago that they said they were going to do that and Maybe two months ago regardless. It's been a while and they haven't followed through on that commitment So we really don't know why they did this. We don't know what they're doing in the future They said they want to have a little more flexibility and not Having to release a new version of the SharePoint framework where they want to do other updates But specifically these two packages like why what was the what was the reasoning for this? And so we're just kind of I'm sharing it with you, but I can't really give you any Explanation as to why they did this which is a little frustrating Another thing that I wanted to highlight with this though is that they did update Webpack in the latest version of the SharePoint framework from version 4 to version 5 It's kind of an infrastructure like thing there's not too much that's all that important Here to focus on that we're going to take advantage of with this It's just nice. They're modernizing they're under the cover stuff What I would like to see is if we actually get some real modernization stuff like using the latest version of Fluent UI React or Using the latest version of React We are still on a version of react that I think is two years old react 17.0.1 the Depending on when you watch this if you're watching it live. I still might be I still might be outdated but The Version of react that is currently published is version react 18 is the is the current major version But today I think at the exact same time that I'm recording this or that I'm live streaming this these office hours There's an online react conference going on on YouTube That you can go watch where they're gonna release the next version of react react 19 So by the time I think that this office hours is over SharePoint framework will still and SharePoint online will still be will not be two major versions behind the published version of react So If you don't like that as much as I don't like that then make Microsoft aware of it push it push it push it and and hammer away on those I Just saw a question by Anthony in the discord I'm gonna be I'm gonna I want to tackle that one now because of what Because it's a little timely on this update Anthony was saying that the version of the SharePoint framework when it got released version one dot 19 Was supposed to also be Including the latest version of fluent UI react v9 I Can't confirm that from what I've seen the answers. No, but That I have not seen them do that update This was a lot of stuff was not included in one dot 19 Because they were rushing to get this this last thing that I'm gonna cover out the door When it comes to fluent UI react There are some things that Microsoft is doing. Let me just take one peak here at one thing. Yeah, that's correct Yeah, so I don't have I do not think that that was included in the up in the update That was not included in this update is the one in one dot 19 Good question, Anthony the The last thing that they that they did here. Sorry. Let me go back to the fluent UI react update The other what we have seen is when you look at the at SharePoint online If you when you go to a page and SharePoint online if you open up the browser's dev tools and look at all the JavaScript libraries that are being loaded on the page you will see a bunch of like shims that it looks like they're deploying to kind of Get ready to do this transition from fluent UI react v8 to v9 There's still shims they haven't made the change yet. So we're still waiting on that one to get fully rolled out The another thing though that one the one new feature that they did add That they're very proud of they're very proud of this one is a new adaptive card extension Template so we have the option now to be able to have a data visualization card I got an example of of two different implementations of it here on the slide basically what this allows you to do is to provide a series of data or Multiple series of data and they will be charted in this little chart component that you see listed here There's a little more information about this in release notes I wrote a tutorial or was it contributed to a tutorial that is in the docs that shows how to Add one of these multiple series But I'm not entirely sure like There's there's not a whole lot to it. You basically just added added some data and if you have multiple Series you can define the color of the line that you want used here I See in the chat. I see Curt you said what does that mean? So it's a little hard to know what you mean by that that what do you mean when you say that? Can you like elaborate on that because it's on that? the What you see in the YouTube live stream is about 20 to 30 seconds Behind when I say it so when you say that I've already moved on to something else potentially and I'm not really sure what you're referring to so Yeah And I see Joe you said it's really annoying that the SharePoint framework development is locked up to webpack only I would like to see it on bite. I don't disagree with you I don't disagree with you. It's things like Things like Like the version of like the different tooling that we use like things like we're dated when we're using webpack We're dated if we're using gulp a lot of projects don't use either one of these tools anymore They're just older tools. I mean some people still like webpack and that's not a bad thing But I don't disagree with you. I would prefer to use bite as well Unfortunately, I don't ever expect that to change with the SharePoint framework until they really invest on Doing a complete reset of the tooling for the SharePoint framework and give us more flexibility Unfortunately, I don't expect them to do that Anytime soon if ever it just seems like they're just not interested in and Investing in the technical debt that they have with the tooling so a little bit of a downside Curt so yeah, you said the version of react being behind so what it means is that the what I meant by that before was that The SharePoint framework is currently set and SharePoint online is currently set to use react version 17 That version of react was released over two years ago The next major version was 18 that came out. I think a year ago and then 19 is coming out today When the react team is coming out with these new updates like with anything, there's either performance improvements or there's new capabilities new features that we can take advantage of and We are just not able to use that stuff in our SharePoint framework components that we create for SharePoint online and the SharePoint framework because when we do this stuff We are stuck to using the version that's that's that SharePoint makes available to us We can't we can't just all of a sudden go use a brand new one Just because we want to be able to use a brand new one. So it kind of sucks in this in that sense A good example of this though is like when you look at react 19 There's a lot of stuff in react 19 That is a lot of like performance optimization stuff less code that we have to write things that they've realized that they Can do even better in our more performant. So it kind of sucks because we're stuck We're stuck in older with that with those with the older version. We can't take advantage of the latest stuff That's one of the downsides to using the SharePoint framework if you're like when you're using something like a Microsoft Teams And you're building an app for Microsoft Teams. You have full control over everything. So like the question about react I can use the latest version the second. It's out. I can use it React our teams doesn't care what the what version of what UI version what UI controls or what UI version You're going to use we've been using like fluent UI react v9 Which is the latest version in teams apps. We've been doing that been able to do that for a while now Can't do that in SharePoint online Like back to Joe's point there is it real it's really annoying what we were locked to webpack and we can't use bite I don't disagree with that and you if you want to use bite you can use bite in your teams apps Then the fact that you can package up your teams apps and deploy them at like as a tab And you can deploy it to SharePoint online as a web part or a single-page app Then you kind of get the best of both worlds You have none of the restrictions the SharePoint framework gives you but your app can now work inside SharePoint online Although we will come back to that in just a minute. We'll see if that's really gonna do anything or if that's gonna Change in the future. I don't know but I'm gonna bring some stuff up that I think we need to keep an eye on Kurt's follow-up question you're asking if this means that Microsoft is leaning away from the SharePoint framework I don't see that happening. So no, it doesn't mean that Microsoft is leaning away from the SharePoint framework It just means that They are not staying as current with all of the different libraries and packages that are available to us. So case in point SharePoint framework The generator now version 1.19 now uses webpack 5 webpack 5 has been out for a while In fact, if I can do a quick little check on this when was Here's a great example of this webpack 5 was released in October of 2020 So this is three and a half years. You could argue three almost four years But three and a half years after The current major version of React of webpack was released now the SharePoint framework supports it That is like ancient in some stuff. So it's frustrating Job, I see your follow-up there as a work around about using Vite and You said one thing about you can use alt AL test version of React or view So if you're saying you can use an alternative version of react in share on SharePoint online it's strongly caution you from doing that because React is not intended to have itself on the page twice nor and having multiple versions on the page We've had I've seen multiple customers with multiple issues in trying to do this So my recommendation is do not do this if you do it It's kind of up to you. You're on you're on your own and that's very very risky. So Just be careful about using different versions of react, okay, so now let's go on to my next slide here Please okay now big news around the SharePoint framework, this is the thing it kind of got slipped in in the last couple days this is the fact that the Microsoft has announced that They are going to retire isolated web parts. So what what are these isolated web parts? Let me get myself out of the way So what does this mean? So take a step back. What are isolated web parts? What do we use them in a SharePoint framework application or SharePoint framework web parts if you do anything with What do you call it anything with like this with a web component or a web part that needs custom permissions So like say mail dot read access to your mailbox Those permissions when you grant them you're not granting them to the SharePoint framework or to your web part You're granting them to the entire SharePoint online tenant. So any Component any client-side component can request using the SharePoint Using it. Well really just using a rest of request But using the SharePoint framework API you can request a access token for Microsoft Graph and Regardless of what component you're using you can even do it straight from like the developer tools in the browser And you will get an access token back for all the permissions that SharePoint online has been granted including mail dot write Now granted. Well, at least you should only be using delegated permissions in this case Don't use application permissions. And so the you're you at least know that the access token still is Only good to be used with the current user. So but I want I'm making you I want to make you Make sure you understand that that permission is not tied to a specific SharePoint framework component So the way that we address this was that Microsoft added a capability called isolated web parts What these did is that when you enabled this your web part was no longer run Let me take a step back and explain why this was done or how this was done In the in the previous example I gave you when a SharePoint framework web part when it requests an access token to be able to call Microsoft Graph or You know the secured end point the request is going back to a server-side API that that is hosted on SharePoint That is effectively saying go give me an access token for SharePoint online For the current user What that server-side API is doing is it's checking to see that that request came from the current tenant So it knows that by looking at the URL of the tenant It does not look it does not and it cannot look at which component did it because all it knows is the request came from a client from a browser So that could be your web part, but it could also be a different web part It could even be from the JavaScript console the browser's JavaScript console Because it's doing that based on the domain name So what Microsoft did is they created this concept of isolated web parts and what these do is that when the web part is Enabled has the isolated web part feature turned on the web part is no longer rendered in a div inside of the current tenant Instead it's rendered inside of an iframe and that iframe has a custom domain associated with it That domain is also tied to a new Azure AD app or Microsoft's intra application That is tied also to that domain. So now when your web part requests an access token for the for the current SharePoint online site it knows that this request is only for It knows this request is just for that one that one component Because it can tie it back to that domain name Well, what Microsoft has done is they've announced said they are going to get rid of isolated web parts Meaning we're going to lose this capability for web parts I'll give you my thoughts on it in just a minute, but let me just tell you exactly how it's going to work Effectively what they're telling you is right now. It's not retired, but in about a little less than a year Any new SharePoint online tenant that is created after April the 2nd 2025 They will not have the isolated web part capability turned on it will be it will not be enabled But if you already have a tenant today, you've already provisioned the tenant You can continue to use isolated web parts all the way up to April the 2nd 2026 so just under two years from now It seems like April the 2nd is the day that every service is going to get killed in SharePoint Not everyone I'm being a little extreme there for services now We are we know are gonna get shut or shut off as your access control services. That was announced last November. It was gonna get shut off SharePoint 2013 workflows The SharePoint add-in model So provider and hosted add-ins will all be shut off in April 2026 and now we're also seeing isolated web parts Get shut down Microsoft's guidance is for you to start migrating your solutions to something else Now let me explain the why and then let me give you my commentary on this But they all they've said in the article so I have an article This was the subject of my newsletter yesterday So if you want to read the article for my newsletter, you can go check it out at that URL right there It is not showing up on the website. It won't show up until next week It's because people who subscribe to the newsletter get my articles a week early But you can still get to it. It's just not showing up in the index or anything You have to type in the URL exactly or Sign up to my newsletter The the why they're doing this they are They said they haven't been they're not very they're not very explicit in the article that they've published They're effectively doing this because They are taking the stance My interpretation of having a couple conversations with them is they're taking the stance that iFrames are bad um and specifically they're bad in in this case they're bad in this scenario because a If you have if you have lots of iFrames on a page The performance kind of sucks on the page It can it can't get pretty poor because you've got multiple requests going in full stacks Of going through the entire share point like authentication stack to go Get the get the eventual endpoint that you want, but you've got to go through all the other like authentication pieces Um, you've got to go all the loading of the entire page of the rendering of the The share point framework of the runtime inside of where that web parts loading It's just it's a it's going to be a little bit slower Um, but it works now one of the other challenges that they say with this about iFrames is that there are In the last year or so There's been a push by a lot of the browser manufacturers to Are on a privacy standpoint primarily because of what apple did in the iphone and ios and actually all of their os is ipad os and mac os around limiting the Tracking which is usually done by third party cookies And so a lot of browsers are safari already blocks it and now we've got the other browsers like that are the chromium based browsers like google chrome and microsoft edge are also Not passing along but are not using those third party cookies And because of the way the share points on authentication works with like third party cookies You can run into issues with this and not just share points authentication But how azure ad also leverages it as well It can cause issues with this so they're saying there's lots of issues around using iFrames So they're moving away from it. Now. Here's my take on it Personally, I think this sucks. I think it's a bad idea I think that it's perfectly fine that if you just educate people and say like look You shouldn't put lots of Isolated web parts on a page because it could impact the performance of the page. I don't disagree with that Just like I don't disagree with the fact that on on company internet some marketing guys should be putting a 15 megabyte Tiff file on the home page of the internet For the company, but is there anything in SharePoint that stops you from doing that? No It's just it's just good practice. Good guidance. You shouldn't do that You shouldn't cuss you shouldn't use explicit language on the home page of your internet But is there anything blocking you from doing that? No, there's not same thing with this I think that there are scenarios where this does where this there where this makes a lot of sense to be able to use uh isolated web parts and for microsoft to just say that we're not gonna we're going to shut this service off um To me is I don't I think it kind of I think it's I think it's a bad decision um They did say in the article when they published it that there is a I can't remember exactly how they announced it, but essentially they said a yet to be announced improvements or feature That they will Be announcing later That will address this So you want me to actually let me get this straight They want us to go through and start migrating our solutions to something else But then they say hey, we're going to give you something. It's going to make this a little bit better but We're not going to tell you what it is because we're still working on it, but you should start migrating I'm sorry. I don't buy that and I think that's crappy guidance So what my guidance is for you is they do give us a power shell script Unfortunately, it's power shell But they do give us a power shell script that we can run in our tenant and get a list of all of the share point framework Pack sorry all the share point packages that have been deployed that contain a isolated web part in them And we it'll also give us a list of all of the pages where those isolated web parts are being used So we can get an inventory of what we have and figure out how big of a deal is this going to be Microsoft says not many people are actually using isolated web parts I think it's because they don't really understand what the security implications are because almost every customer that I talk to When they find out that hey, the permissioning doesn't work the way that Uh, we thought it did we didn't realize that when we were giving one of these scopes to Our app. It wasn't being given to the app. It was being given to the entire tenant once they realized that their eyes get real Why and it's like wow, we don't want to do that. I'm like, well, you have isolated web parts like cool. That'll solve the problem um So I think that they're they're like, well, we looked at our telemetry I'm like what your telemetry is misleading because the way that you did stuff doesn't really give you good data to Be able to make this decision. So I think it's flawed just from top to bottom um What my guidance would be is go ahead and get an inventory of what you got But don't do anything just know that you're probably going to need to do something But you've got about a year a little under a year like 11 months It looks like a little less than 11 a little less than what would that be 12? A little less than 23 months before you have to actually make a change I'd wait to see what they're going to end up releasing. Um I think I'd like to see what they're going to release because it may end up having a being a better option. Um, but We don't know what that is. They haven't shared that publicly yet The concern that this brings up for me though I bring I have a couple concerns with this not not only the ones I've already shared But here's a couple of the concerns I have so first of all A little bit a minute ago. I said that how you could you know how in in share with the share point framework I can build a web part and I can also have that web part be a tab in microsoft teams um So I can deploy it over as a tab in microsoft teams or as a personal app Which is really just a personal tab and not a channel tab um I can do the inverse and and uh as well I can create a tab in microsoft teams And I have an option to say this is available as a web part inside of share point online Or as a single page app or share point calls it a full page app But a single page app inside of share point online Well, when you take that teams tab and you deploy the share point online as um as a web part The way that that gets implemented is using an iframe So that iframe is going to be added to a page. It's going to point to the url of where that tab is actually is is hosted So If you don't like iframes and if the whole point of isolated web parts going away is to effectively get rid of iframes then We're going to lose the ability to have a teams tab get deployed to share point as a web part, right? And That's my question to them. I haven't seen an answer that really confirms that yet Um, but that sure sounds like what that I mean if you if we if we go to the logical conclusion on this Shouldn't the teams group now have to issue a deprecation notice or a retirement notice saying that this feature is no longer supportive a share point online Seems like it to me Is that going to just apply to web parts or is that also going to apply to single page apps We don't know so those are some questions. I have outstanding for the share point engineering team When they published this guidance Haven't got an answer yet answer back yet So I guess stay tuned as I said in the newsletter though I will update that article that I have linked there on the slide Once I once I get a confirmation of this which whatever ends up being if it's if they're going to kill it off or not For either one Um, okay, so that's everything I wanted to cover around share point framework. Let's talk a little bit about microsoft teams I don't see any question about share point framework. So let's just keep going Actually, I do have one question Let me jump ahead to our questions our student questions because Andrea had a question that was related to this And I want to go ahead and tackle it now because well, it's related to this So, um, Andrea says if isolated web parts are officially being retired Should we be concerned about all share point frameworks being retired in the future? And I wonder if this is a gentle way for microsoft to say please go the power up way instead So no, I don't I wouldn't go this far. I really wouldn't go this far and I really don't think there's a chance of this happening um I do not expect I uh web parts To be retired in the future. It is only about isolated web parts that are being addressed here Of course, we can't read into the future To see what they're going to do, but I do not think that that's the case There are way too many things that we can do with web parts that we cannot do with power apps So I do not think that this I'm not at all concerned about this about what about this about this happening This is just related to isolated web parts There's nothing to do with regular web parts because regular web parts are rendered in a div Whereas isolated web parts are rendered in an iframe. It's the iframe. That's the issue here. Um, that's and that's it Furthermore web parts are the way that you customize and extend viva connections as well And I can't see them in addition to adaptive card extensions But web parts is the way to do it. I can't see microsoft getting rid of this So I wouldn't be too concerned about that Uh, okay, let's jump back. So let me go back to where I was Teams let's talk a little bit here about some stuff related to uh, some microsoft teams updates um, so as it uh, some of the updates around microsoft teams is that We've started I've started to see a few things Leading up to the build conference. So microsoft build is in seattle next week um I forget the exact date, but it's a week after this. I think the first day is like next tuesday um I started to see a few updates actually this morning is when I saw them I wasn't awake when they actually made the updates, but I did see them in my in my uh, notifications Um, it looks like they are going to publish or announce a new version of the microsoft teams toolkit Uh, we were on version 5.6, but they just pushed version 5.8 Uh, that was that version just snapped in the github repository It is I've not seen it get published to the visual studio code, uh marketplace yet So it's not available to us, but I can see they made this change. This happened at about Uh, well as of recording it happened is about eight hours ago. Um, so 345 this morning Eastern time or 745 a.m GMT Or a little after midnight if they're if you were in redmond where they were doing this Um, another thing that I noticed they did is they also snapped all of the project templates So they are now version 4.2.1. What does that mean? I haven't had a chance to go through all these and see what the changes are that they're that they're putting in this Um, but they did do a bunch of updates, uh to the project templates Um, not entirely sure what but I will do some investigation and I will follow up on what things that they've they've updated here The tool gets a little bit harder to understand like what they made changes to because It's hard to know what features have been added. Um, because all the even the the changelog and the release notes All still points to the previous versions. So they haven't even gone gone to the point of even updating the changelogs yet Which I guess isn't that surprising because build is next week. So they're going to want to make some announcements. So Something is something's coming. Uh, don't know how big of a deal it is. Don't know if it's minor or if it's major But the teams toolkit for visual studio code that extension did get updated and it will be version 5.8 At least as of this morning So I have to keep our eye out for that Next week Another thing is the teams toolkit. Uh, cli. This is a read the last two points I have here. These are rehashes from Our last office hours I still see a bunch of my students getting tripped up by this So teams toolkit we used to call this the teams fx cli It is now the teams toolkit cli. So we have the teams toolkit for visual studio teams toolkit for visual studio code And teams toolkit cli the teams toolkit for visual studio code uses the cli To do a lot of deployment and provisioning Of resources and assets um To get the latest version of this You're gonna have to um, you're gonna need to install a brand new package So the old package of teams fx cli That one is still stuck at version two dot something Um, they've renamed it and they've created a new package for it. So what I would do Is uninstall the teams fx cli that you had installed if you were a teams developer And then and then install as you see there in the second bullet point that I have here Let me get my little laser pointer out. Where's my laser pointer laser pointer? right Here so I would install this package you see right here that I'm using the laser pointer on okay That's what I'd recommend that you do Um, another thing too is that you want to be prepared for the new teams uh domain So microsoft announced this last year the rollout is going to happen starting in june so next month where the url of They call it user facing microsoft 365 sites Is going to all be renamed under cloud dot microsoft under that domain So today we use teams dot microsoft dot com This is going to switch to being teams dot cloud dot microsoft so all cloud assets all all uh microsoft like 365 assets are going to be cloud dot microsoft something that cloud dot microsoft I would presume that also means we're going to see maybe share point do that as well We're probably going to eventually see um outlook do that. Um I have it I assume we're going to see all of that stuff So right now teams is the first one that we're really calling out for The thing you want to be careful with this one is that if you're using a content security policy Uh for your teams tabs that you're creating and in the web app that implements your teams tabs If you're using a csp that says only load this tab or only load this page if it's in an iframe And the parent page is coming from teams dot microsoft dot com You want to make sure that you add in this new domain? Uh to make sure your tabs will continue to work. All right, and I've got a little more information about it at the link I have there at the bottom of the slide all right now I've got time for Student questions or for your questions now. I only have two questions here. So I've got plenty of time Uh to go through some questions If anybody has questions and want to post them into the youtube into the into the chat on youtube If you're a student, I'd prefer if you did it inside of the discord group But um those will get the priority if I see any of them show up You just want to go to the office hours channel that you have access to in our discord community And you'll find an entry for the may 2024 office hours Otherwise i'm going to go through everything that we see up here in discord, which I don't have any Outstanding in discord. So i'm going to go through One or two that have been submitted via email from people Before the call So in one of them uh over had over submitted two questions So he said in some of his sharepoint framework projects The debugger never hits the breakpoints. I got to mark them in the browser's code tab. What can I do to fix it? So This is uh, I guess to to expand on over over question as I would presume You're saying the debugger in visual studio code never hits the breakpoints Um instead you've got to use the browser to do this um I don't really know what I can tell you to fix this other than The best thing I could say that you could do is um I guess what I was going to say is that fixing this is In my experience is hit or miss You might be successful. You might not um What I would do is I would before you do the build I would do a clean so use gulp space clean gets rid of everything that you have built in the past In that project and then do uh the then fire it up the debugger up to be able to fire the debugger up Using the the tools they give you to attach your breakpoints However, with that being said, I find it very hit or miss In fact, I don't use any of the debugging stuff that we have in visual studio code because it's just unreliable Um, I find that the debugging stuff like the the experience you're running into I get this all the time and a lot of times it just doesn't make sense why that is um I actually another another thing that you may be that you may have an issue with is that when you launch the debugger Uh, this is a common thing. I see people run into and this is one Actually one of the reasons why I don't use visual studio code for this if you're using Whichever browser you're using so edge or chromium to do or chrome to do your testing um Before you start the debugging session you have to kill all instances of that browser so if you've got Chrome up and running and you've got two or three windows and multiple tabs in each one You have to kill the entire process. So like on windows. You have to like quit the app on mac os You don't just close them. You have to literally kill the app That process can't be running because what's happening is Is that when you start the debugger what it does is it launches it launches the browser Using the command line and it tells it to open up a specific debugging port Visual studio code is connecting to that debugging port on the browser to be able to to get all the instrumentation That chrome is exporting so that you it knows when the code is hitting that specific line that you're that you're gonna That you're trying to hit If a browser is already open when you launch a debugging session it launches a new browser for you But if there's already a chrome instance or an edge instance running and the debugging port is it was not turned on You can't You can't turn it on you can't turn it on for a new instance It has to be the very first instance of the browser has to have the debugging port turned on so The the the reason I don't like using it is because I I mean who who in their right mind these days has all their browsers has a No browsers up on their on their desktop, especially if you're doing development You've probably got like some documentation open or you've got Some reference thing open or whatever you've always got something open So this is effectively saying remove whenever you want to test your stuff close all your browsers and then try it again That's absurd In my mind that's absurd. So I just I don't like the way that that process works You could say I only do my testing an edge while I use chrome as my main browser or vice versa But that gets a little confusing for some people as well Honestly, that's what I end up doing like I let when I'm doing that with like teams apps I let teams launch edge because chrome is my preferred browser I think edge sucks, but that's just I'm not a fan of edge, but that's just a personal preference The so I would you could use one browser for all your dev stuff and then another one for all your main stuff It doesn't really matter incognito doesn't help either You have to you really you have to have all instances of that browser completely killed and shut off not running on your machine To be the first one to spin up. I find all of that to just be a pain So I don't use the debugger in In those tools instead. I go into the sources tab and the browser's dev tools And I set my breakpoints that way and I look at it in the browser. I don't I don't do it inside of bs code This is not a visual studio code problem This is just a This is just how browsers work and how they open and how you can't have a browser You can't open a port on an existing browser You have to launch the browser with the port open For that instrumentation to be able to connect and work I forgot about that until I started explaining that question. So I gave you a couple options of how you could potentially fix it, but there's no guarantee that stuff's gonna work And most of the time I see it doesn't it's not even reliable The other question that overhead is what's the best way to overcome the 5 000 list view threshold You can't get through an office hour session without someone bringing up The 5 000 item limit Um over says I had to start the filter with something that will never amount to 5 000 But it's not always feasible. So I break into chunks by the create date, but that's a lot of traffic Your two solutions right there are the only if you're going to use a list That's going to have more than 5 000 items in it. Those are your only two options All right, you have the data set that comes back Must be less than 5 000 You do that with views you do that with filters you can do that with paging But you are limited you cannot do it. You there's no other way around it You say you're breaking into chunks by by the create date, but that's a lot of traffic I wouldn't be concerned with that. It's not a lot of traffic when the amount of data that comes across When you look at the entire payload of a share point page Compared to the data that you get from getting 5 000 items in a json array It's it's not that big of a deal um So i'm not too concerned about that um The real thing is i'm just gonna it's a broken record here But the real thing is is that if you need to work with if you have like if you have over 5 000 items Uh, and you need to be able to rationalize over those 5 000 items I I know a lot of people don't like this answer i won't say it anyway You need to look at why you're why you have that much data in there And it is a list really the right solution for this And it's no you probably most of the time that's the answer is no You need you need to create a database and do this in a database but Well, that's it. I mean that's just full stop can't that that's your story Um, so you can't there's no other way around that So sorry, but Is what it is um I don't see any other questions here. We've still got another 15 16 minutes to go. So does anybody have Uh, a question that they want to post in the chat in the live stream chat that you want to discuss here um While you're doing that I will throw out a couple things that I want to make sure that you that everyone is aware of um So a few things here Is okay, here we go. So let's go So this was the article I talked about earlier that I published that was part of my newsletter um That you can get to uh, this talks it was in my newsletter yesterday So if you're not subscribed to my newsletter if you go to newsletter dot newsletter dot voitanos.io You will find here's the article and if you are not subscribed if you click on this it will Give you an option to subscribe Or to log in if you already are a subscriber and then you'll be able to get to the newsletter Where I offer my thoughts And you also get a bunch of news related to it as well. So I like to have I've tried to level up my newsletter to where Not only is it's like some insights and like in this case here. It's the isolated web parts And the retirement notice But I also have a section where we cover go deep dive on some Some of the latest news. So actually let me show you I can do this That's that let me grab that code that it's going to send me Where is the code? There it is 993 291 So I have just a bunch of stuff here about the this is what happened with the newsletter Or sorry with the isolated web parts and then I've got a section about some uh news About voitanos A couple things just this a little bit of a highlight while i'm waiting for other people to post some questions Daniel, I saw yours. So I'll come back to those uh first one in just a moment um Anybody a fan of the microsoft cloud show? Well, i'm not starting it again, but I did uh jeremy fake From microsoft used to have a podcast called the microsoft 365 developer podcast And jeremy and i've been talking for a while and he is restarting it It went dormant for about a year, but he's restarting it I think he's doing it on a bi-weekly cadence And i'm going to join him as a guest host once a month to cover microsoft 365 development from the non microsoft perspective so Calling jeremy out on some stuff Asking him some tough questions, but then you know not trying to do gotcha moments or anything So if you're interested in that check out the microsoft 365 developer podcast we published our first episode yesterday Um, this is about the office hours today So if you're watching this you don't need that link because you're watching it or you're already watching the recording um couple of things too um couple weeks ago, um I launched a uh email course around teams application development It's a free course My promise to you is in just 10 minutes a day over the course of nine days You will get an idea on what's possible and what's involved What you need and what you would use to create custom apps for microsoft teams Um, this is great for those of you who are sharepoint framework developers Maybe your power app developers and you just your teams app dev curious Um, that's what this is my goal in this is not so much You're going to be able to build an app by the time you finish it My goal is that by the end of this you'll be able to say I'm interested to learn more or and this might be a solution for our next project or I don't care. I'm not interested. So not trying to sell you anything like this It's just a an option for you to be able to get a little bit more aware of what's there Um, I think microsoft does a poor job of explaining what's possible with this and it's just overwhelming on how they try and explain this So instead I break it down 10 minutes a day. I mean you could do that Uh on your lunch break. So Sign up for that That's easy to find if you just go to my website at the very top under courses if you pick these Pick courses and then pick this second tile about microsoft teams And if you scroll down here's the email course It explains everything that you'll learn and then if you go to the very bottom of the page You just plug in your name and your email address Starts flowing right at you The other thing that I wanted to call out here, um, is I'm I also run a Multi-week accelerator program for microsoft teams app dev If you really if you want to spend eight weeks with me, uh, about four hours a week It's split between two different, uh, live calls one on monday and one on wednesday And you want to learn everything that you can do around microsoft teams app dev Um, it includes asynchronous coaching throughout the entire program homework. Um, Instructor led labs, uh, to where you can actually build out the same projects Uh, let me know hit me up. Uh, you can send me an email andrew at voytanos.io I'd love to talk to you about it the next one starts, uh, about Actually two weeks from today and runs through the middle of july I still got a few seats available And if you mentioned that you saw this on the live stream Then for that next cohort, I'll, uh, give you, um, I'll honor the early bird discount, uh, as well Which is I think 20 off. Um, so if you're interested, let me know There's also that page so you can learn more about that on the same page where if you went to where the teams All my teams, uh courses are right here scroll to the very bottom And you'll find the app dev accelerator And there's a little video of me kind of explaining it and then a little bit farther down You see some quotes from some of my, uh, former students And then if you want to see quotes from all of my students Scroll to the very bottom here and you'll see a ton of testimonials from all of my former students All right, um Yeah, I'd love to talk to you about that, uh, last thing is If you in the past I've I understand that Not everybody kind of How I say this The prices for things in the united states can be very expensive to other to people in other parts of the world Because of exchange rates, etc um, there is in the past I've tried to address this by Giving a 40 discount to vary to like three or four countries um For people who live in three or four countries And it hasn't it uh, it it's it's worked but it hasn't worked as well as I would like for to to reach more people Because everyone always has another question like what about this and what about what if I live here? So I learned about this honestly in the last couple months And I've got it set up now. Um, there's a concept called purchasing power parity And what this is is that it looks at a a, uh, uh, kind of like a a An equalizer number that will equalize the cost of something Uh, based on your country versus the united states on a GDP Model so basically if someone buys one of my courses in the united states And it's say like my fundamentals bundle of my master's and share point framework course. That's $495 How much is that let's just say that's like a portion a couple hours of work for like that's maybe For most share point framework developers, you're going to make around 100 $150 an hour. I would say So even on the low end of that that's like five hours of consulting, right? But for someone who lives in india or who lives in pakistan or in south america or south africa That's a lot more expensive because it may take a lot more time to accumulate that kind of revenue To be able to afford that class so I took a model from a list of all these countries from this one service 151 countries and if you go to our site And you can see the list of countries here if you go the very top and go to about Go to frequently asked questions and under discounts. You'll see this section on what is purchasing power parity And if you select this you will see a list of 151 countries And you can get if you live in one of those countries you can get a discount From 30 to 60 off any of my self-paced courses If you if that applies to you then Reach out all you have to do is go is contact us So you go to the contact us page you enter your name your email address Say purchasing power parity Tell us where you live and i'm going to ask you Just for some sort of proof if that's where you live The problem with these things is always that someone's going to abuse them They're going to create a vpn and try and like and and try and get it in some other way To make it easy I'm just going to say send me an email Or contact us send us some sort of proof of residency I'll address it That way you can hide anything that is Personally identifiable information so don't I don't care like your home address or your id number or anything like that But like most people to take a picture of their passport with their picture and their name on it And I can see that it's you know from Brazil. I'm like cool. That's good enough I just need to see that you live there And not that you're actually living in the united states and you're trying to Find an easy way to get a really cheap discount So that's all it is just trying to make it as fair as possible and make it make sure I can reach as many people as I can Okay, so those are the things I wanted to cover. Oh and the other thing with the newsletter as well I have newsworthy stories. So like stuff around announcements So there's the isolated web part announcement and then there's some stuff here around Microsoft teams And then some fun stuff some or some click-worthy things that maybe aren't announcements are so much But things that might be interesting to developers All right, so let me go back over here to our Um, let me go back over here to our chat and I can see Daniel's got a question So let's take a look at it. So Daniel says today, you realize we can't sort SharePoint list items retrieved via the Microsoft graph API. I hope I'm wrong Currently porting an app from the SharePoint REST API to graph API and it hit a problem with missing sort functionality in the graph API So I see Anthony's responding to you says you can do sorting with graph API But the field really should be indexed to guarantee it. So This would be news to me if you can't sort that I'd be surprised at that Um, I will tell you that the only reason I like when it comes to working with the graph API Uh to get to SharePoint data Uh My stance on this is that there's no reason to use graph because it requires an additional permission Unless Your app is already needing other graph permissions if you only are using the SharePoint REST API to get data Moving to graph. There's no benefit. In fact, I think it's it's an overhead because you've got to now You now you have to get a custom permission or a special permission granted by your tenant administrator um but If you want to use the graph um That's like if that was news to you that was that's news to me as well I'd be surprised that you couldn't that you couldn't sort on that But as anthony's saying you definitely you can do sorting you just have to make sure that the field is indexed To make sure that you can do the sorting Another option that you could do with sorting is you can always do a search use the search API To get data use the filter against use the filtering capabilities and search to make sure you're filtering down to a specific list And then you can sort the results you get back from that Generally, I think that's going to be faster too to get to the data And properties would be also going to be indexed as well in that case Cool, uh, we've got like what two minutes left here. Does anybody else have any other any other questions? Anthony man, you've been answering a ton of questions In the discord community as well. I got a big shout out to anthony anthony is absolutely awesome And I appreciate I feel like I'm always like following up after you you're like You must have a little more free time right now to be able to like having seen the discord messages pop up I'm always like go back and check it. I look at my phone. I see a bunch of notifications I missed and then when I go over to discord, I'm like, I really don't have to answer this just other than say like, yeah I agree with anthony so Uh, anthony in the chat definitely knows what he's talking about All right That kind of wraps up our office hours today Oh There we go That wraps up our office hours of the day. We got about another 30 seconds left But I'm going to be respectful of your time one big point here. I do want to mention before we go. Oh, let's see if I can get this in The next office hours usually these office hours are always on uh, Wednesdays Next month though, it's going to be on Thursday on a Thursday June the 20th The reason for this Well, that team's accelerated. I told you about classes are on Wednesday So I'm going to be teaching that day and I can't do it. So I'm just pushing it back one day One day later same time, but it'll be on Thursday Also, for those of you who want to be notified of when these are when I do these office hours There is a way you when you subscribe to my newsletter and you manage your subscription Which is a link in the in the footer of every email that I send you once you're on my newsletter You can opt in or opt out to receive a notification when the next office hours is coming up I include a mention of it in the bottom of every single Every single email that I send but in terms of when the next office hours is But I also will send an email out about a week in advance With details about where you can go where the next office hours is coming up and that you can sign up And get notified on youtube to be able to do that. So That's the big update Office hours is just pushed one day back from when it normally is for june I don't know if I have to do this for july now that I think about it, but I'll worry about that when we get to june All right, everybody. Thanks a lot. I'm going about a minute over. So I'm going to wrap it up right now Hope everyone has a fantastic rest of their day and Happy Microsoft 365 Developering I won't do that again. That doesn't sound good at all Bye everybody