Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierREgarding 365 - Medium

The POWER of Microsoft Lists and Power BI — Daniel Glenn

The POWER of Microsoft Lists and Power BI — Daniel Glenn

My second visit with Adam at Guy in a Cube highlights the benefits of using data from a Microsoft List in Power BI. Many organizations have data in their SharePoint and Microsoft Lists. I show how you can visualize that data using Power BI — in more than one way! Microsoft Lists and Power BI: collaboration power!

In this video we talked about how you can use the Power BI integration feature in lists to visualize them. Power BI will use AI to create a report that you can then save right back to the list. Then others that access the list can use the report!

Adam pointed out that the list in my demonstration was using some fancy formatting, so I of course gave a shoutout to my friend and fellow Microsoft MVP Chris Kent.

I then showed a recently announced feature which allows you to bring a Microsoft List in as a dataset in Power BI from the list itself. Amazing!

Check out the video below and let me know your thoughts.

Originally published at https://danielglenn.com on March 9, 2023.


The POWER of Microsoft Lists and Power BI — Daniel Glenn was originally published in REgarding 365 on Medium, where people are continuing the conversation by highlighting and responding to this story.

Creating a SharePoint page using Microsoft Graph API and Power Automate

Thanks to the workflow that notifies me of updates to the Microsoft Graph API, I saw a new addition to the list: the sitePage resource type.

This is exciting for me, as I currently have some workflows that distribute SharePoint pages to various sites both within our own tenant, as well as client tenants. Currently these are triggered by a page being published in a central location, with specific information used as trigger conditions.

What’s annoying about this scenario is that I need to create connectors in Power Automate to the client tenant using an account in their environment. It also means I need a workflow per client (to keep it clean).

Now with the addition of the sitePage resource type in Microsoft Graph, I can make this work programmatically across any number of clients — all from a single workflow.

WARNING: This is a beta feature at present, so don’t use it for production systems unless you’re find to accept the risks.

Requirements

The requirements of this are fairly simple. We need:

  • An app registration in Azure AD that has the “Sites.ReadWrite.All” application permission added
  • A repository where the details are stored, including:
  • Client name
  • Tenant ID
  • App/Client ID
  • Secret
  • SharePoint site ID

Now, we could use a different way to authenticate, and we could also use an action to perform a search in the tenant to find the relevant site by name or URL, but if we’ve got that — then it’s not exactly difficult to get the SharePoint site ID and store it in our repository.

For the purposes of this, I’m going to store it in a SharePoint list:

Workflow

At a high-level, my workflow is quite simple:

In my specific scenario, all the workflow is doing is publishing a page with an embedded video, as part of a program of regular content I create for clients. So all I need to provide is a page title and the URL suffix from the embed code.

The next step of the workflow takes my page title, and turns it into a file name:

The code used here is:

concat(replace(triggerBody()['text'],' ','-'),'.aspx')

From here, we’re now ready to retrieve all the sites we want to apply this to:

Within our Apply to Each, we have three steps:

  1. Create the page
  2. Parse the JSON of the page creation
  3. Publish the page, using the ID from step 2

(If you’re comfortable with extracting the page ID value directly from the results of step 1, then you don’t need the Parse JSON action.)

In the page creation action, I’m creating a very simple page that only has a single embed web part on it, and I’m passing variables from both the trigger as well as the Get Items action.

The Parse JSON is relatively straightforward:

And for the final step we hit publish on the page:

And that’s it! We have a simple page published in each tenant listed, with the same content.

If you want something more glamorous, refer to the sitePage resource type page to get a breakdown of the structure of the body of the content.

Appendix

Here’s the full details of the body of the page creation and Parse JSON actions.

Create page

{
"name": "@{outputs('Compose_-_replace_spaces_with_hyphens_and_add_file_extension')}",
"title": "@{triggerBody()['text']}",
"pageLayout": "article",
"promotionKind": "newsPost",
"showComments": false,
"showRecommendedPages": false,
"titleArea": {
"enableGradientEffect": true,
"imageWebUrl": "/_layouts/15/images/sleektemplateimagetile.jpg",
"layout": "plain",
"showAuthor": false,
"showPublishedDate": true,
"showTextBlockAboveTitle": false,
"textAboveTitle": "",
"textAlignment": "left",
"imageSourceType": 2,
"title": "@{triggerBody()['text']}"
},
"canvasLayout": {
"horizontalSections": [
{
"layout": "oneColumn",
"id": "1",
"emphasis": "none",
"columns": [
{
"id": "1",
"webparts": [
{
"id": "669d4d75-eca0-4e8b-95d7-2e765dd4859a",
"webPartType": "490d7c76-1824-45b2-9de3-676421c997fa",
"data": {
"audiences": [],
"dataVersion": "1.2",
"description": "Embed content from other sites such as Sway, YouTube, Vimeo, and more",
"title": "Embed",
"properties": {
"embedCode": "<iframe src=\"https://player.vimeo.com/video/@{triggerBody()['text_2']}\" width=\"640\" height=\"360\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen=\"\"></iframe>",
"cachedEmbedCode": "<iframe src=\"https://player.vimeo.com/video/@{triggerBody()['text_2']}\" width=\"640\" height=\"360\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture\" allowfullscreen=\"\"></iframe>",
"shouldScaleWidth": true,
"thumbnailUrl": "",
"cachedEmbedCodeThumbnail": ""
},
"serverProcessedContent": {
"imageSources": [
{
"key": "imageSource",
"value": "/_LAYOUTS/IMAGES/VISUALTEMPLATEIMAGE1.JPG"
}
]
}
}
}
]
}
]
}
]
}
}

Parse JSON

{
"type": "object",
"properties": {
"@@odata.context": {
"type": "string"
},
"@@odata.etag": {
"type": "string"
},
"eTag": {
"type": "string"
},
"id": {
"type": "string"
},
"lastModifiedDateTime": {
"type": "string"
},
"name": {
"type": "string"
},
"webUrl": {
"type": "string"
},
"title": {
"type": "string"
},
"pageLayout": {
"type": "string"
},
"thumbnailWebUrl": {
"type": "string"
},
"promotionKind": {
"type": "string"
},
"showComments": {
"type": "boolean"
},
"showRecommendedPages": {
"type": "boolean"
},
"createdBy": {
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"displayName": {
"type": "string"
}
}
}
}
},
"lastModifiedBy": {
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"displayName": {
"type": "string"
}
}
}
}
},
"parentReference": {
"type": "object",
"properties": {
"siteId": {
"type": "string"
}
}
},
"contentType": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"publishingState": {
"type": "object",
"properties": {
"level": {
"type": "string"
},
"versionId": {
"type": "string"
}
}
},
"reactions": {
"type": "object",
"properties": {}
},
"titleArea": {
"type": "object",
"properties": {
"enableGradientEffect": {
"type": "boolean"
},
"imageWebUrl": {
"type": "string"
},
"layout": {
"type": "string"
},
"showAuthor": {
"type": "boolean"
},
"showPublishedDate": {
"type": "boolean"
},
"showTextBlockAboveTitle": {
"type": "boolean"
},
"textAboveTitle": {
"type": "string"
},
"textAlignment": {
"type": "string"
},
"title": {
"type": "string"
},
"authors@odata.type": {
"type": "string"
},
"authors": {
"type": "array"
},
"authorByline@odata.type": {
"type": "string"
},
"authorByline": {
"type": "array"
},
"imageSourceType": {
"type": "integer"
},
"serverProcessedContent": {
"type": "object",
"properties": {
"imageSources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
}
}
}
}
}
}
}
}

Originally published at Loryan Strant, Microsoft 365 MVP.


Creating a SharePoint page using Microsoft Graph API and Power Automate was originally published in REgarding 365 on Medium, where people are continuing the conversation by highlighting and responding to this story.

OneDrive/SharePoint Share Control — Simplifying Link Settings

OneDrive/SharePoint Share Control — Simplifying Link Settings

Creating sharing links is going to be clear and simple thanks to some changes in the Share Control window for OneDrive and SharePoint. Descriptions are simpler. See who is using a sharing link at a glance. This should simplify choosing the right type of link for sharing.

OneDrive/SharePoint Share Control - Simplifying Link Settings - #263

This week on the 365 Message Center Show

In this week’s show:

— OneDrive/SharePoint Share Control — Simplifying Link Settings — MC467240
 — More Layout Options and Yammer Card Content for the Feed Web Part for Viva Connections — MC467626
 — Editor Using Context IQ: Inline Search Within Documents in Word for the Web — MC467908
 — Authenticator number matching to be enabled for all Microsoft Authenticator users — MC468492

Join Daniel Glenn and Darrell as a Service Webster as they cover the latest messages in the Microsoft 365 Message Center.

Check out Daniel and Darrell’s own YouTube channels at:
Daniel — https://www.youtube.com/DanielGlenn
Darrell — https://www.youtube.com/modernworkmentor

Select a podcast app below to open our podcast on your favorite device!

Alternatively manually add our podcast via your favorite app:
https://www.messagecentershow.com/feed.xml

View ALL app options on our website: http://MessageCenter.show

Listen to the podcast on Apple Podcasts
Listen to the podcast on Google Play
Listen to the podcast on Spotify
Listen to the podcast on iHeartRadio
Listen to the podcast on Overcast

See all the other 365 Message Center Show posts: #365MCS Recap Posts

Originally published at Daniel Glenn.


OneDrive/SharePoint Share Control — Simplifying Link Settings was originally published in REgarding 365 on Medium, where people are continuing the conversation by highlighting and responding to this story.

Public Preview of Power BI and Microsoft Graph Integration

See recommended Power BI content. Receive signals such as “Megan edited your Power BI report”. Isaac created a new report in your team workspace. Power BI with more power to reach you where you are working, across Microsoft 365.

Public Preview of Power BI and Microsoft Graph Integration - #262

This week on the 365 Message Center Show

In this week’s show:

— ContextIQ: Inline Search During Message Composing — MC462919
 — SharePoint Tenant URL Rename — General Availability — MC462923
 — Office for the web rebrand on Service health and Message center — MC465552
 — Microsoft Teams: Users ability to delete chats — MC466199
 — Announcing Public Preview of Power BI and Microsoft Graph Integration — MC466200
 — Relevance recommendation for Message center posts — MC466202

Join Daniel Glenn and Darrell as a Service Webster as they cover the latest messages in the Microsoft 365 Message Center.

Check out Daniel and Darrell’s own YouTube channels at:
Daniel — https://www.youtube.com/DanielGlenn
Darrell — https://www.youtube.com/modernworkmentor

Select a podcast app below to open our podcast on your favorite device!

Alternatively manually add our podcast via your favorite app:
https://www.messagecentershow.com/feed.xml

View ALL app options on our website: http://MessageCenter.show

Listen to the podcast on Apple Podcasts
Listen to the podcast on Google Play
Listen to the podcast on Spotify
Listen to the podcast on iHeartRadio
Listen to the podcast on Overcast

See all the other 365 Message Center Show posts: #365MCS Recap Posts

Originally published at Daniel Glenn.


Public Preview of Power BI and Microsoft Graph Integration was originally published in REgarding 365 on Medium, where people are continuing the conversation by highlighting and responding to this story.

Microsoft Teams Paging on Video Gallery

The Teams meeting video gallery shows active speakers. Now you will be able to page the gallery to see more people with their camera on. Check to see if Serena is still in the meeting. Check if your camera-on audience is still engaged.
What else does this week have in store in the Message Center?

Microsoft Teams Paging on Video Gallery - #261

This week on the 365 Message Center Show

In this week’s show:

— Microsoft Teams Paging on Video Gallery — MC455894
 — Advanced Virtual Appointments in Teams Premium — MC454804
 — Delete or rename files in a channel and in your OneDrive folder in Teams — MC455193
 — Planner’s task assignment e-mail notification design update — MC455515
 — SharePoint admin center: Streamlining management of site information across Microsoft Teams and Microsoft 365 Groups — MC455520

Join Daniel Glenn and Darrell as a Service Webster as they cover the latest messages in the Microsoft 365 Message Center.

Check out Daniel and Darrell’s own YouTube channels at:
Daniel — https://www.youtube.com/DanielGlenn
Darrell — https://www.youtube.com/modernworkmentor

Select a podcast app below to open our podcast on your favorite device!

Alternatively manually add our podcast via your favorite app:
https://www.messagecentershow.com/feed.xml

View ALL app options on our website: http://MessageCenter.show

Listen to the podcast on Apple Podcasts
Listen to the podcast on Google Play
Listen to the podcast on Spotify
Listen to the podcast on iHeartRadio
Listen to the podcast on Overcast

See all the other 365 Message Center Show posts: #365MCS Recap Posts

Originally published at Daniel Glenn.


Microsoft Teams Paging on Video Gallery was originally published in REgarding 365 on Medium, where people are continuing the conversation by highlighting and responding to this story.

❌
❌