Leveraging SharePoint as a development platform for the modern intranet

Leveraging SharePoint as a development platform for the modern intranet

Show Video

Dude. So, let's actually get started on, the session we're hitting the hour or a quarter to five it. Is actually, pretty late on the day two of the build and a script to say that many people still on the room so, in this session we kind of talked about the SharePoint framework and shape on development, topics my name is Wes ru Vernon I'm a senior program I'm. A Senior Program Manager from, Microsoft, I work in a team responsible. Of the SharePoint framework, and the, development, platform, so all of the rest and sees on an API is and customization, stories I'm coming from RT I'm. Personally, also responsible, of the open source and community, Burke on SharePoint so, on the key top and the stories and videos and guidance and everything else that's what I do quite a lot for, living as well you, might have actually heard about the PNP and SharePoint BMP those are the things but I run and actually. Started like, 5 years ago already so. Today. What. We're going to talk about is. Around, the SharePoint, development, topic so in built office. Is always kind of well office, not is not never, ever the number one thing in built because build is more around the darknet and Microsoft and Windows development, but, office and SharePoint has the development story as well so we can occur true what is the latest and greatest on the. SharePoint, development story and, can start with an introduction, for. A purpose, last, year me, and my manager. At the time we. Actually jumped, directly into the shipment framework and then we got a lot of feedback saying, well I didn't. Quite understand, what is a SharePoint framework and what is this new modern SharePoint so we want to make sure that everybody is on the same table and then we move into the what, is actually latest and greatest what's, the cool stuff and there's a few announcements coming. Up on the session as well so, there is new stuff coming, in here as well this. Morning we actually showed in our monthly community call we showed SharePoint, and teams enterprise, development model already you, might have actually heard some rumors about that one and or if you drop buying the SharePoint poof earlier, today and what it actually saying that one there's still new cool stuff coming up today so let's.

Actually Get done going on these things before, we actually go to the development, thing let's talk about the momentum, and let's talk about the. Size of SharePoint, obviously, in office 365 we, have one now, 135. Million, monthly. Active users which is a huge. Number the. Shipment is actually, massive, massive part of that usage, so we have three hundred thousand organizations using. Monthly. SharePoint. Or one try and you. Might have actually wonder why do we tie, in always SharePoint and onedrive technically. Inside of the Microsoft, it is nowadays the same team so ODS be one tribe and SharePoint, we're as part of the same organization. But there's three hundred thousand organizations using, SharePoint and one troy eighty, five percent use SharePoint, of, fortune 500, companies are using SharePoint. And onedrive and there's, more than 1 million, SharePoint, developers out, there it's, fair to say that some of many of those developers are, actually still in on-premises, and some, are partly, in the cloud because SharePoint, has its roots in on-premises. We started back in 2001. Chevron. Has existed, until. 2007-2008. Only, in on-premises, then. It moved to the cloud and, it has its own let's. Say clerks do these historical. Reasons but. There's plenty of people who've been within. Our journey from, let's, say starting from 2007. Or SharePoint up, until, these days and, it's interesting to see the new excitement, around, the SharePoint, when, we have started releasing the, modern experiences, and the new development, models where, people are actually interested, and excited to learn now. In. From, a shape one perspective and there will be a sharepoint, conference coming up in two weeks where we will have plenty of additional. Announcements. And, capabilities, in this session i just want to let, you know beforehand.

We're Going to concentrate really, on the development, topics so sharepoint framework, and well how to customize, sharepoint some kind of assuming. That you are a developer. Not an end user of sharepoint which i think it's fair because it's built session, so that should be pretty, much schema now, with. If when we talk about the sharepoint especially. For us in the sharepoint of engineering, the. Areas. Where we are investing. Right now is the modern sharepoint obviously. There is the historical, sharepoint, which we, actually haven't, modified. That much like. 2013. Was a classic, sharepoint, employ, fashion 2016. Didn't actually have that much new from, a UI perspective in SharePoint Online you seen more and more of about. Visas, which are getting completely modernized. And. With modernization women, named native, responsiveness. We need fluent, you eyes meaning. Customizations. Which, you can actually implement, in a controlled, way as well so moving, away from this model, where SharePoint. Has random, JavaScript here and there embedded. Here and there nobody's controlling, that that's, one of the transition, what we want to do with SharePoint framework and the modern SharePoint experiences, but at the same time, concentrate. On the, beauty concentrate. On making the SharePoint SD pages. And portal platform. In the Microsoft now. Those are native out of the box capability so there's. A native authoring, capabilities, so you can easily create powerful. And beautiful looking, pages, there's the blue civic editors in the modern experiences, as well there's, plenty of other cool. Stuff in. These UIs, there's. Plenty. Of web parts there. Is actually, quite a lot of web parts already in the modern experiences, but we do know and acknowledge that, we need to still give you more because. We're missing some critical, pieces which we use to have in the classic SharePoint, and more, and more of those announcements around for example modern, web parts and morbid parts will be available in SPC, within two weeks in Las Vegas so, I'm not going to concentrate what, are the new web parts which are coming but, to keep on to understand is that there's a new, ways of adding and, extending, SharePoint, and you, can absolutely have, your customizations. And web parts available. Within. The native SharePoint, web, part pickers as well in. The SharePoint also, we are gradually, introducing, the modern admin center and and the, reason why I'm working through few, slides around this modern, SharePoint experiences, is that, quite often in developers, especially. In SharePoint are now asking, that well back. In 2010. You introduced, us a sandbox solution model back, in 2013, you said well sample solution now I don't know please. Use SharePoint add-ins and now you're saying SharePoint, framework so, every, single three to four years you come back and say. And you have a new model which developers. Should be learning we, ship on framework is actually completely different the, reason why it's different is that we in engineering, we use SharePoint framework, to build all of the modern experiences, as well so. We, bet our future, on, SharePoint framework, and you as, a developer have. Exactly, the same capabilities. And. Extensibility, points, and access, to our API as we have as a first party developers and that's. A really came changer, in the history of the SharePoint so if you're wondering that should. I actually learn, the new ways of using SharePoint, the answer is absolutely because. This is not going to go away as long as we have SharePoint, in office, 365 and, that's going to be a long long time, based on the usage and adoption, of what we're seeing right now now.

Just. To quickly show this one in practice before we go to the actual, technical, demo let me flip to my demo. Environment here, and this. Is just to show you that. It's no longer looking like a classic, SharePoint, before, we go to the development. News and announcements and, all of those cool stuff as well so, this is a modern SharePoint. Site so I'm going to refresh just to make sure that everything is fine on the page it. Is fluent, there's, plenty of web parts there's functionality, is available within this page there's. Plenty, of out-of-the-box, webparts available on the page for. Example native, support, for streaming native, support for obviously. For all of the file types and plenty. Of other web parts which are available integration. With Yammer Twitter. YouTube. You. Name it so there's plenty of plenty of webparts available, now, if we have, a look on the modern you eyes, everything. Is obviously, and natively, also, responsive, so I can actually take the screen and for example and change the wife and it's, adapting, them directly, on the white of the device, and flipping. The the screen or the content. In, an understandable, format, if this would be a would, be a mobile. Device. If. We start creating. A content in the modern SharePoint let's create a new news let's. Give it a or, let's actually modify, the page, or image slightly you, can see that the. Point and the modern SharePoint is much more fluent, and what I mean with the fluent not necessarily, the right term because I'm actually from engineering, not from marketing but, it's it doesn't do Post packs it, doesn't do modifications all, the time I can modify the page I can add modifications. On the page I can select what kind of layouts, or functionalities, are in the page without. Refreshing. Debates, so it's modern it's a fluent experience, as, an example so I can do file it viewer here, I can, easily pick to vacation, policies, as an example as a file let's.

Add Something. In here, what, could it be let's add a Twitter web part that, could be a good example and. In. The Twitter's web parts we can configure, also, the settings of the web parts whatever, we want to have and modify, what's, actually happening, save, that and publish, that and we have a new page available within SharePoint, using, the modern experiences. And if, you compare this experience. To a let's, say a classic, SharePoint experience, it's. Quite different, because we didn't do any post back we didn't do reloads, of the page we didn't do confirm. Apply, with, just it's a modern, experience, when you're creating content and writing content, and, what's cool about this one is that everything, what you see here for, example the Twitter web part and the experience, is here is for. You as a developer available. So you can't you have the similar kind of app property, parents you have the similar kind of eight controls, inappropriate, pens there's even open source controls, which you can take advantage, to. Enhance. These probably depends and experience is what your web part is having so, there's no let's. Say a different story, how Microsoft. Builds SharePoint, comparing. What you can build you can actually build everything, what you see here as a customization, if you want and, that's a really cool story, as well now. Let's go back on the slides because obviously this isn't, about the, just, the UI this is more around the customizations. And the extensibility. Of the, sharepoint online, so. Backing slides and let's. Move into a. Few. Slides from a marketing perspective and, then more on the new capabilities, so one. Of the things what we also seen is, that there or, what, we wanna mention. Obviously, is that there are plenty of partners, building with SharePoint so these aren't just good examples, of apartness which we've been using since last ignite, as the reference, partners so, voila intranet, and powell 365, are both providing. A modern, experiences. Based, solutions. On, a SharePoint so. If you are a classic, let's, say an ISP provider, or, a classic, SharePoint, house there. Is actually, future for you as well so we. Wanna, partner, with you and the ISPs to be able to be successful on, extending, the SharePoint none of this is gonna go away and these. Aren't just good example, of a partners we've jumped early, on the Train and they've. Moved their products, already under on the modern experiences, but there is absolutely. Opportunities, for the partners as well there's just a two fellows. Who've been pretty close to our story. Now. Quickly. One, high-level, slide still, if you're not super familiar with, SharePoint. Obviously. Shape one has a lot, of UI elements it has a lot of out-of-the-box capabilities. It actually has really, great site experiences. Available for. Page creation and site management it. Has processes. And workflow meaning flow and power apps and all of those things natively available, to support, your. Deployment. And the end user customizations. There's, integrated, tooling on that there's business application, like power apps available within. The SharePoint experiences, now in. The platform, site we. Are heading, more and more to the direction, where the user interface, even is natively, built using the SharePoint framework, so SharePoint, framework, is around, the user interface, and that's really the experience what the end users are having then. The shape and framework is using, either a Microsoft graph or REST, API is hitting, the SharePoint data and doing whatever is, needed on the SharePoint site, potentially. You could use the power apps as the user experience, as well but that's more let's, say information. Worker whatever, that term is nowadays or. Whatever the, information work, is probably is that you, know what is an information, worker right people, are not a good get now. Shape, on framework REST, API is on, a SharePoint it's the native way Microsoft. Is crowing all the time we, do have within the checkpoint we do have a slightly different authentication. Model and, there are reasons, why the, Microsoft, graph cannot. Be accessed maybe, as easily as from a custom, application but, I'll explain that one when we get to the Microsoft craft section but. There is a really, powerful REST, API so the, SharePoint, REST API is, actually. I think it's still bigger, than the Microsoft graph API from just. Pure properties. And the method perspective, so it's a massive only. Other hand we want you to use more and more Microsoft, crafts because that's a standardized, API surface. Not only for SharePoint but also for other applications as, well now. Let's get actually on the cool stuff and the new stuff so.

Let's Actually go through some, of the areas, where, we are introducing. Now new capabilities, and announcing, new capabilities. Now. This. Isn't technically new the share pod framework and Microsoft crafts the. Preview, of this one was, announced, or get, got available, on the mid-february, so, we do have a way of calling, any craft, API securely, from SharePoint framework solutions, the. Key point of this one however is that SharePoint, is a slightly, different fellow, than your single, page application, which would be running in asure in. Your single based application, it's only you and your application, in SharePoint. It's your app webparts. And there might be other webparts, on the page as well and do. These the things we need to actually increase, the trust, and the authorization, of, this webpart and that means that we need to actually have a centralized, control, for, 210 an administrator. To Acree what, are the API, is for Microsoft crafts which, are getting exposed for SharePoint framework and that's. Essentially. The additional, layer what has been now built on top of SharePoint. Online so. When you are deploying. A SharePoint framework. Solution, you're able to request, additional scopes. To be exposed for SharePoint framework and then, administrator, will need to approve them and this, is just to make sure I'm going to repeat that the, reason for that centralized, control, is the fact that SharePoint, is much more agile you can have, the biosphere solutions, in a single page what, if in one is resolution, actually takes credit of the other is based solutions, JavaScript. Code so, we want to have this additional control, making, sure that these kind of violations. Do not happen the. Same API, and, the same thing supports, also calling third-party, web api. S-- which. Are hosted in assure as for example Asha functions, in a secure way so you probably, javascript, in the SharePoint framework you, can securely, call a third-party web api or an Asha function, which is inertia which, is then accessing, for example your lob, data. Technically. What happens, within the Microsoft graph and SharePoint frameworks use it is about. Somewhat, following so the, administrator, basically. Configures, or approves, the. Set of scopes which, are available for SharePoint framework customizations. So, administrator. Basically, makes the decision, then on the administrator, makes the decision, that within our tenant it is fine to access people's, email, or people's, calendar that's fine because we trust two applications, which are running within our channel then. When we have a client-side, web part it actually can. Get, the access, token without. Any additional, steps and HTTP, cost anything else as long as it's using the SharePoint framework api's, from. Asha Active Directory the, den call for example of Web API third party web API or a craft API the. Needed code for this one is actually, only a few lines of code after the tenant administrator, has approved, the, needed scope, so. Super, simple process, but again we have that administrative. Permission, layer which. Is making sure that there's only, needed scopes available, an, approved, scope available, within ten oh now.

Let's, Actually have a quick look on this one in practice, and how does that actually, look like if. From. A SharePoint, Online side, so. Let me share. My screen there, from this side. And. We. Have our demo, environment here, available let me actually flip, and sign out from this talent and. Let. Me actually jump to another tenant. Contended, in there, we go signed out and, let's. Move there another and on which we're going to use as our demo, environment. So. Signing into the tenant. There. We go and let's, have a look on the, story in practice, now, in. This particular channel, we have already deployed our relatively. Large solution. But, in the solution. When the developer, creates the, SharePoint framework solution, you, can, define, let. Me slightly, increase, this room you, can define, what. Are the scopes. Which you, need to have permissions. Within, your Shepherd Cramer solution, in, this particular case this particular. Solution, which I'll come back on slightly later has. Requirements. For, Microsoft craft, scopes, called sites read, all contacts. Read user, read all and mail read and calendar rates so. Basically the developer, knows what. Are the scopes which, the webparts, need to have access and. When. The solution is then getting deployed. Let's. Actually have a look on that one when. The solution is getting deployed we automatically. Extract, that information from. The SP pkg file basically, SharePoint framework solution, file and. We. Ask then, the administrator. To crank, those permissions, using. The API management functionality. In, SharePoint, admin you arts so. In the trip and admin UI is the modern SharePoint admin UI so I'm going to zoom in slightly in a second you. Can actually then see. What. Are, depending. Approvals, for. Certain permissions for, SharePoint framework to get access, or what. Are the approved, permissions, and scopes for, SharePoint framework, to have to. Be able to use in SharePoint, in practice, now. In this case we have a pending approval for grouped or tree to at all and then, what, are the approved permissions. Is used to read basic, there's, conduct reads user read all and calendar drift and Mail read and so so. Basically this means that if you have a SharePoint. Framework, wit, port which. Is now eating a Microsoft, graph endpoint. Within, those allowed scopes. The curve of the code is allowed to actually execute and it's able to access that information. Within. A code sight of the, accessing, that that's. API, we. Have encapsulated, this, using, the. Microsoft Kraft JavaScript, library, so, this is as easy as calling, following, and let me actually hide that, one and here's. An example where we actually are using, the. Microsoft, craft client, which is in SharePoint framework we're saying that we are hitting the meed messages. Version. 1.0, and at the beta 1 and we're, selecting, the body preview, received, data and few, additional, settings from, the messages so. You're basically using this native, SharePoint framework craft client and you, don't have to worry about access, tokens or anything like that all that plumbing is, taken care of for you so, we're making this as easy as possible in, typescript, so. As long as you use. This you don't have to do any HTTP, dance getting the request tokens and acquire tokens, and all of that you'll just get access on the messages, so.

In This case this was around personal email, so let's actually have a look on this, functionality. And experience, in practice so. This is part of a larger, exit. Of or how would I put a larger, solution. A reference solution which will be published in SBC, within two weeks so, I'm not gonna actually publish, or not, we're not gonna share this immediately. Today we. Still need to worry about a polish of certain things but. In that solution. If I add on page on, this portal where, the right permissions have been granted I'm gonna get rid of that header section let's call this for example me and let's. Array a, section. With the three columns and let's, add a webpart in here which, is called personal. These. All of these four webparts are available because I deployed, that solution, to, my tenon so. For example I can do something like personal, contacts, so, we dynamically. Go and hit the, Microsoft endpoint. And get, access on my, personal, contacts, in this case this is a demo environment so. There's only three persons in a contact but you can actually then configure. For exam for this webpart, how many, conducts. You, would like to see and those, are the conducts which you most frequently. Access. Because that is one of the endpoints in a Microsoft graph the. Second example could be something like you want to have an intranet, Welcome page which is around to you or me, that's your landing page of the of every, single morning so, we could also have here. Personal, tasks. Or. Personal. Email. Apparently. I personally, I don't quite understand, this but, personal, email. Is one, of those things but all of the customers, apparently, are always asking to have a custom wet work I really. Don't understand, why would you. Need to have personal, email lists lifted, on the internet. But apparently, that's what customers, are asking and quite a lot of people are nodding in the audience, and. Then you can also have for example my personal tasks, and these are these webparts are, part of a larger hero solution, like mention which. I'll talk slightly, later on. Today's talk but. Here's the three wet parts which, are then heating, the SharePoint crafts endpoint. From. SharePoint framework, with. A simple, JavaScript. Or typescript, implementation. And you, can then see your upcoming tasks, your, personal contacts, your five of your personal emails, obviously. If, needed, you, can always go to a view an additional, full list of things and then you will be redirected to a planner or an email or a conducts, or whatever but. Simple. Scenarios, and these webparts do not have that much of a code you will get access on all of this code later no, point for me to actually walk through the code right now because.

You Can't remember and this is the last session of the day so you can't remember the code anyway so okay. Hopefully. You'll remember that this is super exciting, and, you'll, get back on these examples, slightly. Later when you have your hands on them rather, than me trying to teach you how to get a crowd implement, them now. That's, the craft endpoint super, simple to get access centralized. Centralized. Control, from SharePoint that mean what are the skills which are available and when, that's available, the. API, calls, from typescript, are super simple you, can just hit the endpoint as long as the mission is there you could access on the information and voila and, somebody. Might be wondering hey so, what are the scopes what I can ask answer, is anything whatever. Are the scopes within the Microsoft craft you can actually get access on those information, in SharePoint framework super easily using, the spoke model but, we want to have that centralized, control, and admin, approval. For. The tenant, administrator. Now. Back. On slides there's, quite a lot to talk about so I'm sorry for my speech and hopefully you can feel a stay. With. Me on this presentation. So moving, on our new stuff Chevonne, framework 1.5 coming. Up soon, and I do a polished apologize many of these things will be available soon. But, in SharePoint framework 1.5, we. Actually, concentrate. More on how, would I put it. In. General improvements. And bug fixing and certain, other really. Fundamental. Things in SharePoint, so starting, from SharePoint 1.5. We, will separate, what. Is preview, code and call, an experimental. Code and what it's actually ready for production, so. All of the things what you will see pretty soon today which. Is the new stuff experimental. Stuff to baler stuff will, be actually, in a separate, set, of NPM. Packages and then. All of the stuff which is ready to be used in production will, be in a separate set of NPM packages so. You as a developer you, don't have to worry about okay, is this, functionality. Now ready to go to production. Usage, or not it, depends, on which of the NPM packages you're actually using within your code, so. It will be one point five is the official ga ready version and then. We'll have 1.5 plus. Add-ons. I can't. Remember what was the decision around the label in the NPM but the thinking is that it's 1.5, plus the add-ons the experimental, stuff and you, can use that or ready to test and investigate, what's coming what's available after. The 1.5, closer, to 1.6. We. Don't want to call the experimental. Branch as a beta, or, 1.6. Better because, it might be that's something what will be available for you to play around. Will not ship, on the following, version so. That's, why it's 1.5. Plus. Add-ons, and experimental. Stuff but. There will be more and more stuff in the future which we want to show you where, we are heading of thinking, so, you will be ready whenever the actual capabilities, will be available, also. As part of the 1.5, from Bujji will starts reporting, yarn and P NPM, packaging, managers so, you're able to then if you prefer, those and, not use P and P not. The MB NPM, you. Can actually choose to use those as your packaging managers for NPM packages and the, plenty of general improvements, and bug fixes which, were not can actually list in here. But. That. Doesn't, feel like there's. No excitement there's nothing really I can celebrate that one so let's have a look on something really, cool which is coming up to. Preview, or in, the experimental, branch quite, soon copal. Deployment, of sharepoint framework extensions, how many of you actually know what is a sharepoint framework extension. Plenty. Of the audience much already of the Orion so that's pretty cool so chiffon framework extensions, chiffon framework has two different components types one, of the component, types is a web part web, part is kind of a web widgets, where you can add those web parts on a page you can remove them from a page, extension. Is slightly different the extension, is something, which this remains, on a page it could be a placeholder it, could be a footer it could be a header of the page, so. It's not a web part which you can close or add or modify it's, something what the designer, has decided to be a placed on a bait which. Provides an end user experience. So it's a widget kind, of still but, it's not something, which you can close and. Starting. With 1.5. Experimental. Builds so pretty soon we. Will have a preview of the global deployments, of SharePoint framework extension, so you were able to push out these. UI, JavaScript. Elements, across your, tenant from a centralized, location and, you're. Able to configure those in practice, and at, this point everybody is like yeah I don't know what it means can, we somehow. Clarify, okay let's have a look first. An architectural, architecture, and then live demo of this one because.

This Is actually super cool stuff as well, what we mean with that one is that within your SharePoint framework solution, you, could have a customization. Which, is providing. A footer or a hitter to your SharePoint sites or to whole SharePoint tena you. Obviously, want to have that footer, or header in every single site or you might or might not want to have but pretty often you want now. Starting. With the global deployment when this one is available you're able to deploy. Entries. The tenant wide extension, list and I'll show up on this one in practice but basically as part of this two solution, packets which were shipping you're, able to say that this extension, which, is inside of my package I want, it to be available in all of my communication. Sites all of my collaboration. Sites or all, of my sites without. Any additional configurations. And what it means is that when the end users are accessing the SharePoint sites those. Extensions. Which. Are plans are configured, to be available will, be automatically, rendered. As part of the pages and you don't have to do any additional tricks or any, additional things. There's. A question coming up let me show this one in practice and let then we can go to the question. Quickly, so. We. Dynamically. Load all of the extensions, which are available from the centralized location, to. Be available on the sites but, let's have to have a look on this one in practice so I can actually show what. It means and how to make that happen so let's flip to the demo machine here. We go and let's. Go to our. Environment. And in. This case. We. Can use we. Kind of use an eID org environment, so I'm crossing my fingers and this one will, work without any problems but it has been working pretty reliably. Since. Yesterday, so, we'll, see good. So this is a document so super early this is not in any of our production. Ready tenants but I want to show the functionality, so you'll understand what's actually coming so. In these environments we. Have already deployed. A, certain, set of SPF. X customizations. Or solutions, so if I go to my app catalog. In. A minute now we. Can actually see, a, certain, set of. Patience which are available and. Let's. Actually make. Sure that I'm able to get there. Okay. It's whitespace cool hopefully this one will render. Don't. Rin Tin Tin Tin Tin whoo that's interesting. The. Thread through so. Let's actually test. So. With great timing for. Losing the demo at. This point. Okay. That works, what, about our, let. Me close that one and. We. Load the whole thing. Oh that's. Actually I expect, that if I if you do a typo, on the list because. It is ten five extensions. Come. On you can load. And. You can't these. Could, be related on the, fellow there it is so it's just required, some level of a refresh. Functionality. Okay so, as part of your SharePoint framework solution, you. Are able to configure this list, automatically. To be added, so this one is a list in the app catalog and now, I'm gonna do this manually so I'm not gonna actually show, you what's, inside of the SPP Kay the. Solution, file to make this automatically, as part of the deployment but. I'm going to basically mimic, that process by. Adding an entry on this list manually, so, in the tenon point extension, you're able to control, if, I click to add a new item. What.

Are The, SharePoint. Framework. Extensions. Which. Are automatically. Getting deployed to, your science, and you're. Able to also filter, that extension, to a certain, web template, or a certain. List template this, template filtering, basically, is for list. View command sets you want to have a button of a list to be visible for document libraries but not for custom lists that's, where the list type template. A filtering would be valid or you, want to have a field customizer, in certain set of lists but not on all of the lists so. In this case we want to have however application. Customized that we want to have a folder in, every single page of our shape internal antenna so. Let's call this footer and, then I'm gonna copy some magical things from. My. OneNote this. Is basically, the unique manifest, ID of my custom, footer because, I'm not making that automation, to happen manually, and for. My custom footer I'm, able to also have a properties. And these are basically the. Modifying. Or the, behavior. Of the extension, which is getting rendered on the page and. Then I need to say that this extension is going to be well it is an application customizer, so, the location, will be client-side, X application. Customizer, and we, can stay a sequence, 10 if, we would there would be additional, application. Customizer the sequence will define, the, order which they are being loaded on the, site, so. This entry, technically. In the future you, can still do this stuff manually but this could be generated, automatically, inside, of the SharePoint framework solution package that's. Not really that interesting. It's an entry in a SharePoint list what did it actually do right that's much more interesting so, let me go to a crude site and this. Is a croup site a normal group site and, if I load this group site now that we have the entry, in, my, in the tenon, wide deployment. List we. Can actually see a small itsy-bitsy, extension. Getting, a render, it. Is a quite small render, it, is more, extension.

But I'll zoom in and actually to show what's. Available so, if i zoom down, you. Can actually see that there's a contacts, league of policies and tools. We. Are rendered, inside, of my footer and these, are something which the, tenant administrator, or, let's. Say the applique the organization. Administrator, can control from, a taxonomy. Store. From, a term set so in this particular extension. Which, will be available for you as a sample as an open source as well people. Are able to control, these links, using term set which, is kind, of cool so that tenant administrator, or a person, can control what, are the links which are will be visible for all of the end users, quite. Typical requirement, within, an intranet, but, this also actually has is edit my links on this right side so. If I click to edit my links this is actually, set of my personal, links using, this extension which, is now available within, the site so. Let me actually add few links here and let's call this. Built. And. HTTP. I. Have, no idea what is our address mms. Built, com. Hopefully. That's right. One I have no idea let's, call this. My. Important. Site. Let's. Add. An entry on that one as well. Microsoft. Comm adding that one and let's actually add one more just. To show visually. The. Three different entries so let's call this. Search. And. And. HTTP. And. Being dot called there we go so, I'm adding three personal. Links which. I want to be now visible, for. Me and that, means that they're getting now saved, you can see that cream bar getting visible, there and suddenly. We, have an additional, list of links available in the footer. Sure. This. Is, implementation. Of that particular, custom, footer but, the whole point of the story is that now, anywhere. Within this tenant so if I now move, to. Come, any, other site. For. Example a communication. Site between that particular, channel because. We use the century or globally deployed ten. On option, the same extension, is available here so the. Same extension, is, getting rendered in, all of the in. All of the sites within this channel so you can actually see the standardized links and, all of that stuff and if, I actually click the hook if I click the my links here you, can absolutely see the links which I added on the other side as well being available on this side so. Just to demonstrate a, functionality, together. With the tenon wide deployment so this way you're able to then force your. Headers fooders, widgets, and everything to be available within. A tenon or you're. Able to say that within communication. Sites all of the communication, sites can create it on this tenant will have these functionalities, and all. Of the corporation, sites will have these following, functionalities, and without any additional tricks the. Stuff is getting visible, whoo. Cool. Very. Good. Moving. On on things we still, have plenty of time but we still have plenty of things to go through I'm cool demos as, well but. That's a global extensions, or tenant, wide deployment extension, so you have a centralized, control again to push customizations. Across, all of the sites that, was around extensions, we're looking into doing, similar. Kind of things for webparts as well because. It might be that you have a bit part which you don't want to have in every, single site but you want to have the web part in all of the communication, sites so we're looking into doing that one in a phase two of the after. Tenant wide and deployment options so we don't again any additional, things at it and the additional, things you will be able to target your, custom web parts to be available only on communication, science, together. With all of the other options which we have in SharePoint framework. Now. The, next thing which. We're announcing, is. A SharePoint framework dynamic, data and, this, is likely, interesting.

The Terminology, might, feel, slightly strange. But let me actually explain what, it is technically. And I was, asked not to say this in this way but I'm gonna actually overwrite, that opinion technically. This is exactly the same thing what we announced a year ago in built. Really. Well, will. Hear again build we announced, the web part the webpart connections. Except. This, is much more than web part of webpart connections because. With. The dynamic data the, web part or SharePoint framework, extension, can, actually, share information. Between the other components, on a page or you. Can able to access on the context, of the page so. If you're getting rendered in a certain page in a site pages library, you're able to have a dependency. On the Bates ID and, information. On that page or the metadata on that page or if. You are a, hitter. Or a hitter, extension. You're able to detect that I'm getting actually rendered, in a document, library for, a one item, and that item is getting selected you get that context, to our extension, and your extension, can start behaving differently. So. Kind, of web, part webpart connections, but not not. That little. Much, more than that so it will be much more powerful for you to take advantage in, SharePoint, framework, right. Now initially, this, is own code based code. Is supported, in codes page but, the UI layer, and connections, between the webparts as an example or association. Between the webparts are coming later so, our UI eventually. Will be showing. You if. The, web part is interested, on an external data and what are the external information which is available and, you're able to find into that data. Which. Will then change the behavior, of the web part, so. Basically it looks something like following, we have a one-way part on the other side which is saying hey by the way I'm highly, interested, of certain. Events or certain, actions some properties happening on a page if, something is happening I need to be I need to react on that one and whenever, there is an extension or client-side web part which is then raising an event the SharePoint framework will take care of by, passing the information to, the other side and those web parts which subscribe, to data ever and this.

Is Basically means that you can then have well. Kind. Of like the classic, web part webpart connections you. Move the selection, of a list you, do something, in a one web part it reacts, on another web part or an extension on a page so, you have a full flexibility, on on. Communicating. Between the components. So. Let's have a look on this one in, practice, as well. So. Yes. We're, on a right, location. So let me actually jump to the, in. Here, let me jump to another location. This, is actually just fine, and can actually create a new page on. The. Modern side let's, get rid of that one just for, the sake, of seeing. This one in practice, and. Actually. I'm in a wrong turn on so let me actually go back on this, tenant which is two right and on to show the demo so let, me create one page a modern. Page. Let's. Call this for. Example dynamic. Make. Diner. Mik never go dynamic. Data and let's. Actually create two. Columns. Let's. Actually change, that to be, completely. 50/50. So we can actually make that layout a slightly, nicer and. On the left side column. If. I can right I'm. Gonna add a data, source. Dynamic, data source so this is a bit part which is acting, like a data source are going to zoom in in a second when I'm configuring this and, let's. Actually add a, dynamic. Render. So, this is a web part which will render, the data which. Is getting exposed, by external. Events, and. Then I'm going to add a third web part here which. Is dynamic. Data. Scanner. Which is actually showing all of the dynamic data this is available within, the context of the page now. Let's actually have a look on how, does this work in practice so. I'm gonna modify the data renderer and this, one has two different properties so right now in, the slides we were saying that we don't have a UI. Where, we are able to tie in the web part or an extension between each other so right now you can do this but it requires some level of a code and that's, precisely, the code what has, been written in, the examples, here obviously, whenever we get, this truly released you will have a tutorials, and examples available. How to make things happen but, in this case I'm, gonna actually select. What. Kind of day that this webpart, is interested, so it could be interested, on something, from a page context. So let's actually save the page context, and then, we're able to see different. Elements. Which are available from, the page Conduct, so your, web part will react, on. The, site context, on a list context, on a list item context, and then start behaving differently based. On whether it's getting presenter or, actually, information about the user so, that's. Also an option or you. Might. Have multiple webpart, pages multiple. Web parts on a page. And in this case and we have a web part which is exposing, text, input, as a, dynamic, property, for, others to be potentially, interested, and that, was the other web part on a page so now if I tie in this web part to that, other web part and let's actually publish the page. Not. Going to send a link to anybody, on that one we're, able to see that. Connection getting, rendered OOP, getting. Rendered between, two different web parts so here's a one web part, where. We have a text field which. Is then actually the one which is getting exposed. For other data sources, or interested. Components. In a page and this, is the the, other guy who's, actually then rendering, the data which is available for. Him to, react on super. Simple really, rough demo but. The whole point is that if I now do something, on this web part like. Hello. Built. You're. Able to see that, that connection. Worked, basically. The, SharePoint framework through all of the chains is what happened on another web part do, that other web part which was registered to be interested, on that data so.

Whenever We get this one fully, available fully, ready and there, will be you is basically. Your, web part can say that I'm by the way exposing, list, item, and then, the other web part can be saying hey I will show details. Of a list item and then we're able to tie in them together or. Any other objects, from, that matter the. Other thing here is, the third. Weight part which I didn't quite explain, that well so, let me quite a slightly. Zoom here so. This right side web part is basically, showing what, kind of dynamic. Data is available on. The normal page right now we're looking into exposing, this one as well or exposing, more and more data on that for, example it is saying that the tenant ID is. That user, ID is that which we could use then to get access on crappy information, based on the user ID so, we could dynamically, change the behavior, of the web part or we're able to get information around the culture info, or the lists, which. Is getting rendered in this case we're getting rendering. A. Idea of this well that's the idea of the page which is now getting rendered within. This context, so a webpart could again, change. The behavior. Based on selected, item in a list as an example or if, it's an extension rendered. In header or footer it. Could read the selected item, in a list and then change the behavior, based on that so, you have a lot of a lot of flexibility, from. That side. Good. Let, me actually get that one back in there and let's, flip back on the slides for. Few strides and let's talk about additional. Stuff which is coming out as well now. One. Of the things which was mentioned this morning in. The keynote, it's a briefly, mentioned, but. There was a interesting. Statement, which, the the lady I can't handle the latest name unfortunately, said was for something like any customization. In SharePoint it's actually, a much sub teams customization. And that's. Why we're heading and now in the future so, what it means is that we. Announced, the, SharePoint, framework solutions, as Microsoft. Teens tabs technically. It's. Gonna be a SharePoint framework with parts, as a, solutions, and Microsoft, apps so. The whole point of this one is that you write one customization. Or application. As a, WIC part it, can be well you write a solution, and it can be exposed as a SharePoint framework quit part or as, a Microsoft, theme stuff and it will be exactly the same implementation. Which will can't be a surfaced in both science and this. Is a journey which we now start to get up from SharePoint together with SharePoint and Microsoft teams to, kind of a standardize, the ways we're doing customizations. In office 365 to. Scratch early move into the direction, where we wouldn't, have a countless, ways of customizing from. A UI perspective there's things let's, try to consolidate, let's try to figure out if, we, could have office, 365 level. At catalog, enterprise catalog and office, 365 level. Standardized. Ways of doing customizations. So, that not every, single solution, and every single service have its own exposure.

And Own ways of doing customization. And that, makes a lot of sense because, we implement, for. As an example SharePoint, framework of web part once. You're, able to expose, that then directly, and dynamically, in, March of themes as a, actual. Solution, not, just a bit part and not just the webpage in the team staff that this is not what we're actually telling here. Now. What's good about this one is is no doubt that SharePoint framework has a pretty mature. Tooling. For, example the dynamic, CDN. Hosting, so, as long as you do the asset packaging, you don't have to worry about where the SharePoint framework solution. Javascript. Files and images and, other assets up getting hosted will, host all of that for you automatically, you deploy true, app catalog your, stuff is getting hosted, you don't have to worry about CDN, setups and everything else which. Is the way for example in Microsoft teams you need to always first. Figure out where you're gonna host the javascript file and then you create the manifest file pointer, that hosting location, and then you deploy the solution by. Using the SharePoint framework solution, as a platform all. Of that is getting automatically. Taken care and that's, a really cool thing so technically. What it what this one means that. If you have in this case for example we have a legal matter with, pork and this, web part is in this case it is exposed, in, SharePoint site but. That web part could be just as well exposed. As a. Application. Or as, they tapped in max of themes and it. Is exactly, the same web part so. We're moving to the direction, where the max of teams will. April, max of teams will basically go, and call against. The app catalog in SharePoint site and say hey I've. Gotta lock in SharePoint do, you have any shape, and framework solutions, which we could actually expose, using, as a tabs, functionality. In max of teens and if, there is then, much of teams will show them dynamically, as an option right. As a tab in Microsoft team site so. Again, your customization. Developed, once but it can be surfaced, in both sites and that's really crazy. Now. That's. A really great thing for enterprise, development, we are also looking doing, this the other way around and this, the enterprise, development, model this model what you're seeing here I'm going to do a live game on this one so this is coming relatively, soon. It's coming soon the, next model is coming later so. We're all obviously looking, into doing this under direction, as well there's quite a cool is three applications in Microsoft. Team side so why wouldn't be actually surface those is three applications as an option to SharePoint site where. You. As a consumer, of our platform, you choose how do you want to use SharePoint. How they're going to use max of teams then, we'll expose those applications, import sucks this. Is slightly far more far away and. We'll start with the enterprise story but, at some point we'll get bias vs PSP application, hosted and not provided, from team sign also, visible, in the SharePoint site in here and that's, the super cool thing so we finally have or heading the direction, where we have a one way of doing, customizations. For two, different applications, let's. Have a like demo on this one because this is quite cool, stuff, so. Before. We go to the live demo forget about this one so I'll quickly, explaining, and that, in the SharePoint site obviously what. It means is that in the shipment framework, we have for, example two asset packaging, and all of that one and additional, permissions. We have the craf access, we have all of this additional goodies in SharePoint framework which, your solution, can take advantage. Well, for example host your stuff automatically, in office 365 CDN.

Or For free so, you don't have to worry about what's, the URL you don't have to worry about where it's getting hosted, it, is a web part built, using SharePoint, framework or how, would I boot it is taste illusion, and one. Way of hosting, that solution, is a SharePoint framework quick part other. Way of hosting the solution is a Microsoft app but. We'll take care of on a ship one side fully the hosting and then, you're able to still get that application exposed. In the Mike's of team sites and you'll get all of the benefits, from, the SharePoint site as well. Because. When. You think, about it I don't know how many of you have realized but every single Mike's of themes themes is, part of office 365 crew, and every single office 365. Group has a SharePoint site as well so, it's one-to-one connection. Anyway, between all of those things you. Create a team so you'll get a SharePoint site you could accrue and all of that stuff we're finally getting to the more consolidated. And model, so. Let's have a look on this one in practice, so, flipping back on my demo machine. And. Which. Tenants, will kind of use the other tenants so let me actually get in here I'm. In the right tenant and this is certainly. The right location. So. In. Here. Am. I actually in the right location, no I'm not so, let me actually go to the root. Of this tenant so, here we go. Don't. Intend to do to do to do. So. This, application. This, is a custom, solution which, is just surfacing. Functionalities. From. This. Particular list which is called legal matters the. List itself, and and the fact that it's surfacing, information which is in a list isn't. Actually, that's interesting. It. Could be just as well as something with the surfacing, data from cosmos, DP or surfacing. Data from either API, it doesn't really matter in this, case the solution itself, it, is actually surfacing, data from, this list in, a SharePoint so. Now the web part itself is, actually hosted and, let me actually find that. Because. I didn't have that one obviously open that would have been way too smart, let me actually get that, one from here and get. It open from, the right location. So. Here here, we have a, web, part which is hosted, on SharePoint, site so this is actual custom, web part and let me show you that is a custom web form so, I can actually boot the web base in an edit mode and it's. A big part with supports, following a configuration. So we're able to configure, that web part to filter, the, list of libraries. Or legal matters based on particular user so, in my case as an example I. Can say that well wherever I'm, being the owner filter. The, list of items to those which, are assigned for me or. Show. All of the items which are legal matters from, the legal matters backend, whatever the backend is in this case the back is being a SharePoint list again doesn't, really matter that it's a SharePoint list but, it's a custom web part now. In this case what's really cool I can. Actually go and, then. Start my let's, actually go to the portal and let's. Go to the team site so, we're able to see this one in practice. And. Themes. So. I'm gonna go to the team's behind. Of this particular tenant, and it's relatively. Small teams because this is say a demo tenant, but, in the development, if. I'm going to go to the development, we actually, have a. General. Channel and, let me actually get rid of this one because. And, so one can actually walk this through the installation as well so. In the general channel, or, in the themes, inside if, I go to the tab selection, I will. See all of the different customizations. Which are available in, that particular in Microsoft, themes installation. And that's, the ISV solutions, potentially. Their upcoming enterprise, solutions, which was announced on, Monday, as well so the enterprise catalog for themes but, you will also see, in this, case our legal, matters whipper.

To Be available in here the, currently, the views are not dynamically. Showing, yet everything. From our app catalog they, will at, certain point when this one is going to go live but, I'm going to select my legal matters application. And the. Legal matter application, had the one property, in property. Pane which, you could actually configure, in the same way when you're installing this application. You're, able to again configure. That, application. In the Microsoft themes tab and in. The same way and you will see all of the properties which are part of the web part in, SharePoint framework because it is the same application, so. Now I can say that it's filtered. On current user or, not being filtered on current user, let's, not filter on current user it doesn't really matter I can, click apply and click, Save and that's, going to actually then create. The, new tab and showing, that application. Which, is actually open framework report which is dynamically hosted, in SharePoint site. Isn't. That cool. Now. Just, to show that this is real. Stuff let, me actually do this. Where's my, route. List, there's the route list -. Let me put that one there so, here's, my rule list on the left side and where's. My teams there's my team's application, in here I can't, get rid of that one which is life of weird it's pretty small on the screen but, let's see the. Sworn, declaration. Owned, by Luca is, in a pending status of entry, right if. I go to sworn, declaration, in here we, can absolutely modify. This one so. Just to show you that it's the live connection. Between the things and. The raw data on the background if, we modify this one to. Be what. Do we want to do we want to do that. It's. Status. Being, closed. Saving. And, voila. The, status was being changed into closed on this side as well so it is a live connection between, the data which is in this case the backend being on a SharePoint site and in, this case we also used socket IO behind. Off the scenes to make all of this communication, happen, which, is something which will be available in, SharePoint framework, well.

None In SharePoint framework technically but a part of the SharePoint platform, relatively. Soon documented, for you to take advantage as, well but. That's critical, isn't. Implement. Once hosts, the same thing in two different environments so, you don't actually have to worry about how. How. Do then transform. The web part to be available, and exposed, using the teams it is actually, the exactly, the same customization. Now, if you're wondering how do we make this happen and. Can, we actually transform. Existing, web parts immediately. To be this one whenever, this one will be available for you to preview you, will obviously need to upgrade your existing web parts to the latest European framework packages, and version but. It doesn't require pretty. Much anything more than that the. The more native, web part you're able to then flip in, the package solution or in the manifest, that web part to be supported. As a tab in. A max of themes and then voila it will be exposed and much-loved themes as one of the options to be available so, we're trying to make this as easy as for you to. Take take, advantage, so. Super cool. Cool. Let me go back on the slides we, still have some, time to. Work or talk about other. Stuff which we are doing there's one more small announcements, which I want to quickly talk about we're, not going to demo that unfortunately. In here we need to wait for SharePoint, framework conference, which is coming in two weeks but. There, is a super cool blarts. Heroes, demo. Entrance, solution, coming up from. Our side which is an open source a SharePoint, portal referencing. For, modern SharePoint, experiences, so, what we actually are doing that starting from pretty, soon this, is so close and I actually showed, a lot of the wit parts already today from the solution but we don't have to let's say it, doesn't look yet, as, as. Wonderful. As it will be in two weeks but.

Within A few weeks we'll. Have an open source solution available, in github for, you to take advantage this, is not meant to compete with. Anybody this is meant to be a reference solution, showing. You how to build a proper. Modern, SharePoint, experience, with. More than ten web parts more, than five SharePoint framework extensions, tidy indicator with site designs, automatic. Provisioning, initially. Using PowerShell, by. Ignite, our. Target is actually have a custom, web site available. As a multi-tenant application, somewhere in assure hosting where, you can actually sign in using your tenant administrator, permissions, and say provision, me a demo, permission. And me a demo to this tenant and voila we'll, get to site collections, available it's. Six different site collections, hub sites and everything else associated between each other custom branding webparts. And bright places modern, pages and all of that the, whole point of this one is to make sure that. People understand. First. Of all what can be done with modern SharePoint we, will keep on evolving this, open, source hero, solution, as, we release more, and more capabilities, so by ignite, it is again, evolving, to a following stem to. Include, whatever. We will be announced. In ignite so, you can easily use this demo solution, then whenever. You need to go to somebody, else if you are and let's say a consultant, and I you have a pre-sales kick going on going tomorrow and you need to demonstrate what, is the modern shame point well signing. To the website or pull down the latest version from kit top execute, the PowerShell against your chin on your demo is good to go. Our vision, around this one is, by the self-service. Site in website will, eventually. Have and support. You, to upload, images and, also theme files so, you can actually even modify the outcome. Based on your business requirements again. Not. Meant to compete with our partners, rather to show what's a possible if you. Want to take this and build, your business and money and sell some of these things as part of your story absolutely, fine as well this is MIT, licensed, reference. Solution for you to take granted if you want to contribute back please do and that's. More than welcome. But you don't have to again up to you and do you want to help the other peoples in a community, to be successful, what. The key point what we want to do with this one really like mention is to tell people what. Can be done in the modern experiences. And this isn't really that difficult and also have a set of reliable, web parts which, you can actually use on your day to day life if needed which. Will be then involved, and together, with community, moving, forward so. Super, cool stuff I'm not going to demo that today like mentioned, I'm really conscious about the time and. This, will be available in, SPC. Which will happen on 20th of May. 21st. Of May is the Monday in, Las Vegas, will. You will definitely say blog post and announcements, when this one is, available. Now. Quickly. A few summary, slides so, roadmap. For calendar year 18, and. I can't see that far it's too small I'm need to get in here so I need, to can't. Remember everything so I don't lie to you all the recording or streaming, so, obviously, during this spring week dum ta for ALM api's as it packaging 10, our properties, site, collection app catalog those are all th general, are they generally available in SharePoint Online, native. Graph access for SharePoint framework. When preview, on mid-february, now. Some. Of the people might hope, and crossing their fingers that please please, please be ready for production within. Starting. From SPC I'm starting from May but unfortunately. We need to delay the GA of this one so, we're looking into having that one ready hopefully. Well it will be definitely ready by ignite but, we can't yet and release, a production, ready support, for, that one there's certain things which we need to still need to figure out the. Enterprise solution, from SharePoint to Microsoft themes so. Exposing, our width parts and Microsoft teams coming in summer and fall is, three solutions from Microsoft themes to SharePoint the upside upside-down so is be a solution for Microsoft themes exposed, in SharePoint targeted.

To Be released in ignite, as well we, can't promise but, we're targeted to release that's our roadmap, were looking, in the doing that global. Deployment for SharePoint framework plan. To go for preview. Pretty. Soon in May June hopefully. I, was just chatting with the engineer that we're pushing that one forward to, our MSI T or ready for testing, dynamic. Data for SharePoint framework components, that was the association, between the webparts coming, to preview also, relatively. Soon within few weeks rather. Weeks then months but, I wouldn&#

2018-05-11 03:52

Show Video

Other news