Google Releases Security Updates for Chrome

This article is contributed. See the original author and article here.

Google has released Chrome version 91.0.4472.101 for Windows, Mac, and Linux. This version addresses vulnerabilities that an attacker could exploit to take control of an affected system. One of these vulnerabilities—CVE-2021-30551—has been detected in exploits in the wild.

CISA encourages users and administrators to review the Chrome Release Note and apply the necessary updates.

What kind of apps can you build on Microsoft 365?

What kind of apps can you build on Microsoft 365?

This article is contributed. See the original author and article here.

teams-hero


 


Microsoft 365 is a rich platform for building applications. Here are the types of apps you can build on Microsoft 365.


 


Why should you build applications on Microsoft 365


Microsoft 365, previously known as Office 365, is Microsoft’s productivity cloud, that organizations use for communication and collaboration. 250 million users work with Microsoft 365 creating files, sending emails, meeting, reading information stored in Microsoft 365, and more.


Microsoft 365 is also a highly extensible development platform. All the information about its users as well as the content they create is stored in Microsoft 365 and, bearing the necessary permissions, available for you to interact with in your applications.


 


What kind of apps can you build on Microsoft 365?


Thinking about building apps on Microsoft 365, you can distinguish between two types of apps: standalone apps and apps that extend Microsoft 365.


 


Types of apps that you can build on Microsoft 365 grouped into extensions and custom apps


 


Custom apps: build your experience


First of all, you can build custom apps. These can be mobile apps, web apps, desktop apps, device-native apps, workflow automation, or scheduled processes. You can build these apps using any programming language and run them on any platform you want. You choose how you distribute and operate them. In short: you own the technology stack and the full user experience.


Users start their journey in your app. Because your app is connected to Microsoft 365, you can show relevant information from Microsoft 365 along your app’s functionality. And because you can present the data in your app seamlessly, users might not even realize that they’re looking at data coming from Microsoft 365.


 


To get the most out of integrating your custom app with Microsoft 365, you need to allow users to sign in to your app with their Microsoft 365 account. That way, you will be able to retrieve the relevant information on their behalf from Microsoft 365.


 


Extend Microsoft 365 experiences


Microsoft 365 offers many extension points to bring your app where your users are. By exposing your app inside Microsoft 365, you make your app a part of people’s work. Because your app is available right where they are, they can focus on their work and interact with your app without having to switch the context.


 


Extend conversations


Microsoft Teams host conversations on Microsoft 365. You can bring your app as a part of a conversation in several ways.


 


First of all, you can build conversational bots. Bots help people complete tasks through conversations. They’re a great way to expose relevant features of your app and guide users through the scenario like a personal assistant.


Custom bot integrated in Microsoft Teams


 


Another way to expose your app in a Teams conversation is through messaging extensions. Messaging extensions help people complete tasks in a visually-compelling way. They’re similar to bots but are more visually oriented and ideal for showing rich data


Custom messaging extension integrated in Microsoft Teams


 


Finally, you can send notifications from your app to conversations via webhooks. By using adaptive cards, you can show the data in a rich and actionable way.


 


Extend portals


Many organizations that use Microsoft 365 use portals to facilitate communication and manage knowledge. Using rich pages, they publish content and build interactive dashboards. These pages consist of reusable building blocks – web parts, that end-users put together.


Custom SharePoint portal on Microsoft 365


 


You can extend portals on Microsoft 365 in two ways. First, you can build widgets, called web parts. Users, who create pages, can put your web parts on pages to enrich the content. Your web parts can show data from Microsoft 365 as well as any other API.


 


Another way to extend portals is by building extensions. SharePoint Framework extensions allow you to execute a piece of code on every page or change how list fields are rendered. Just like with web parts, you can load data from Microsoft 365 or any other API in your extensions.


 


Extend documents


When creating documents on Microsoft 365, users can enrich them with interactive elements, like maps or charts. These elements can be connected to APIs and make documents interactive and present data that is always up-to-date.


 


Conceptual image showing a content add-in for Microsoft Office


 


You can also build task pane extensions for Microsoft Office applications that help users work with their documents. A task pane could help people lookup their customer information when writing contracts or order information when creating invoices.


 


Conceptual image showing a task pane add-in for Microsoft Office


 


Connect your application to Microsoft 365


There are several types of applications that you can build on Microsoft 365. No matter if you want to develop a custom application or extend Microsoft 365, you can connect your app to Microsoft 365. To get information and insights stored in Microsoft 365, you would connect to Microsoft Graph – the web API for Microsoft 365. To help you communicate with Microsoft Graph, Microsoft offers SDKs for the most popular platforms.


 


Over to you


Building apps for Microsoft 365 offers a great opportunity to reach millions of users and help them work more effectively. If you want to have a quick look at what kind of data you can retrieve from Microsoft 365, I’d suggest you look at the interactive Graph Explorer. If you’re considering building a web app, I would also recommend that you take a look at Microsoft Graph Toolkit – a set of web components that make it very easy to show data from Microsoft 365 in your app. When you’re ready to start building your app, sign up for the Microsoft 365 developer program to get a dev environment.


 


Looking forward to hearing what you’re going to build. And don’t hesitate to reach out if you have any questions!

Log Analytics workspace overview status property is live.

Log Analytics workspace overview status property is live.

This article is contributed. See the original author and article here.

We are releasing two new and important additions to the Log Analytics workspace overview page, that surface underlying operational issues with your workspace. Such operation issues could be, for example, reaching a workspace limit, or encountering data ingestion issues, configuration or agent operation issues.


For that, we added two new signifiers (Fig 1)


“Workspace state” field: this field will indicate how many issues in state of “Warning”, “Error” and “Critical” need your attention.


 


To investigate the issue, you can click the “Investigate” button or the linkable message under “Workspace state”, this will route you to the “Workspace insights” blade, and “Health” tab under it.


You can read more here.


Under the “Health” tab, you will see listed the “Operation errors and warnings” (Fig 2), we have some of the possible errorswarnings listed in this article, including what can be done to mitigate the issue. 


Also in the article, we provide suggestions on how to setup alerts on-top of this table, setting such alerts is the best way to get notifications and assist you in monitoring your workspace.


To review what issues can surface, you can check this article.


 


(Fig 1)


shemers_0-1622564691171.png


 


(Fig 2)


 


shemers_1-1622564696181.png


 


 

Use PnP Powershell to add a document library webpart to a page (and only show a specific folder)

Use PnP Powershell to add a document library webpart to a page (and only show a specific folder)

This article is contributed. See the original author and article here.

As a non-developer (please read this as a disclaimer) I still try to make my life as easy as possible (yes, I am that lazy). PnP Powershell is a big component of that goal. A customer had the requirement to create a page for each of their 86 folders in a document library so they could add more information on those topics. That meant creating 86 pages, each with a document library webpart on it that showed a specific folder. No chance I was going to do that manually!


Creating the page wasn’t really difficult. Showing the document library and just the items in the folder was the hard part that I couldn’t find any examples of. The idea of this blog post is to help future people like me to just copy/paste the code.


 


 


The goal


We started with a document library containing 86 folders, each having a few documents. The goal was to create 86 pages, with each page showing a block of text on the left and the document library webpart showing only the files from that folder.


How to do this in the user interface


Using the user interface, following steps were required:



  • Create a new page (with the same name as the folder)

  • Add a section to the page with 2 columns

  • Add a text webpart to the left column

  • Add a document library webpart to the right column

  • As a subrequirement, only show the files from the necessary folder. This can be set up from the web part properties




 

MS-list.png


Document library UI properties



That would definitely be a lot of work to do manually, so I decided that PnP PowerShell needed to come to the rescue.


The code


Lets dig in to the code. I imagine that you have already dabbled with PnP Powershell and I will not explain how to install and configure it to run.



Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/thesite/ -UseWebLogin



First we need to connect to the site. Replace the url with the correct url of your site. I am using -UseWebLogin in this example because I am using 2factor authentication.


Create the page


First thing to do is to create the page, using the Add-PnPClientSidePage command. I am using the $name variable here to give it a name.



Add-PnPClientSidePage -Name $name
  -LayoutType Article
  -HeaderLayoutType NoImage
  -CommentsEnabled:$false



 


Disabling the comments section on a modern SharePoint Page
I couldn’t figure out how to disable the comments section on the modern client page. I tried setting it to false, or 0, but that didn’t work.


The correct way to do is to use:


-CommentsEnabled:$false


Adding sections to the page


To add a new section to the page, I am using the Add-PnPClientSidePageSection command. I can just add a TwoColumn section on the page.



Add-PnPClientSidePageSection -Page $name -SectionTemplate TwoColumn -Order 1



Adding a text editor webpart


Adding a text editor is super easy, just use the Add-PnPClientSideText command. Don’t forget to add some text or it will fail.



Add-PnPClientSideText -Page $name -Section 1 -Column 1 -Text " "



The hard part: adding an existing document library as a webpart to the page


This was the easy bit, in my opinion. Adding a document library to a page is surprisingly hard in PnP Powershell (unless I am missing something big.. in that case please call me out on this!)


What you need to do, is to use the Add-PnPClientSideWebPart command. With this command you can add all kinds of webparts to the page. Document library isn’t one of them.


You need to add a List webparttype, and in the WebpartProperties you need to mention that it is a document library AND what the ID is.



Add-PnPClientSideWebPart -Page $name
  -DefaultWebPartType List -Section 1 -Column 2
  -WebPartProperties @{isDocumentLibrary="true";
                       selectedListId="1fa1fb45-e53b-4ea1-9325-ddca7afe986e";}



Where can I find the SharePoint document library Id ?


I didn’t have a clue how to get this Id via code, so I resorted to the UI: If you go to the library settings, the document library Id is shown in the url:




 

documentlibrary-id.png


 


SharePoint document library ID in the url of the library settings page



Just cut out the %7B in the front, and the %7D on the back.
In this example, the document library Id is 4683b239-caf6-40a3-96c4-a02dedfa3418.


Bonus: Only show a specific folder from the document library


I couldn’t figure out how to show only documents from a specific folder. Doing this in the UI is supereasy. But there wasn’t any example code out there. So here it is:


In the WebPartProperties, add selectedFolderPath=”/yourfoldername”;



Add-PnPClientSideWebPart -Page $name
  -DefaultWebPartType List -Section 1 -Column 2
  -WebPartProperties @{isDocumentLibrary="true";
                       selectedListId="1fa1fb45-e53b-4ea1-9325-ddca7afe986e";
                       selectedFolderPath="/$name";}



Bonus 2: hide the command bar on the SharePoint Document Library Webpart


In the UI, there is a way to simply hide the command bar. Because we are showing this information in a nice looking page, there is no need for all that extra fluff of “new”, “upload” and so on.


In the same way as showing just files from a specific folder, you can use the hideCommandBar=”false”; in the WebPartProperties:



Add-PnPClientSideWebPart -Page $name
  -DefaultWebPartType List -Section 1 -Column 2
  -WebPartProperties @{isDocumentLibrary="true";
                       selectedListId="1fa1fb45-e53b-4ea1-9325-ddca7afe986e";
                       selectedFolderPath="/$name";
                       hideCommandBar="false"}



Publishing the page


All the parts we need are now on the page. The only thing now is to publish the page so it is visible to all visitors. For that, we need to grab the page again and publish it.



$page = Get-PnPClientSidePage -Identity $name
$page.Publish()



Looping the code for all folders


The last part of the code was to make this repeatable, for all 86 folders. There is probably a really nice way to , in code, get all folders from the doclib and loop through them, but as stated a gazillion times.. I am not a developer.:smile: 


 


So I exported the document library to Excel and copied the foldernames. I added some quotes and a comma (in an Excel formula using =CHAR(34) &  A2 & CHAR(34) &”,”) and added an array to store these.


The full code is:



Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/Yoursite/ -UseWebLogin
$ray = "folder1",
"folder2",
"folder3"
foreach ($name in $ray) {

#create page
Add-PnPClientSidePage -Name $name -LayoutType Article -HeaderLayoutType NoImage -CommentsEnabled:$false

#add sections
Add-PnPClientSidePageSection -Page $name -SectionTemplate TwoColumn -Order 1

#add text webpart
Add-PnPClientSideText -Page $name -Section 1 -Column 1 -Text " "

#add doclib
Add-PnPClientSideWebPart -Page $name -DefaultWebPartType List -Section 1 -Column 2 -WebPartProperties @{isDocumentLibrary="true";selectedListId="1fa1fb45-e53b-4ea1-9325-ddca7afe986e";selectedFolderPath="/$name";hideCommandBar="false"}
$page = Get-PnPClientSidePage -Identity $name
$page.Publish()
}


[Customer Story] Imperial College London using Azure Virtual Desktop and Azure Lab Services

This article is contributed. See the original author and article here.

Here is an example of mixed usage for Azure Virtual Desktop and Azure Lab Services.


 


https://customers.microsoft.com/en-us/story/1373865514221253184-imperial-college-london-higher-education-azure-virtual-desktop


 


A few relevant quotes from the article:


 


Students and instructors began using the solution right away, following online instructions to get started. “Azure Virtual Desktop is pretty self-explanatory to use,” says Neil Hanham. “After running it, you’re in Windows, so there really wasn’t any training needed. With Lab Services, I onboarded the instructors, who onboarded their students.


 


“One Earth Sciences professor uses Lab Services to deliver specific Linux environments remotely. Because Lab Services delivers computing power to students’ devices, it doesn’t matter if they have specialized computers with extra graphics processing units (GPUs) or other enhancements. And instead of making appointments to help each student, instructors make their own reusable templates for each environment, saving significant configuration time with this self-service capability.”