<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linkdis</title>
	<atom:link href="https://linkdis.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://linkdis.com/</link>
	<description>Expert SharePoint - Partenaire Mozzaik Intranet</description>
	<lastBuildDate>Wed, 20 May 2026 12:16:47 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://linkdis.com/wp-content/uploads/2025/05/cropped-linkdis-icon-32x32.png</url>
	<title>Linkdis</title>
	<link>https://linkdis.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>l3</title>
		<link>https://linkdis.com/l3/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Wed, 20 May 2026 12:16:45 +0000</pubDate>
				<category><![CDATA[Non classé]]></category>
		<guid isPermaLink="false">https://linkdis.com/?p=1121</guid>

					<description><![CDATA[<p>Incident Management Procedure — Microsoft 365 Collaboration Tools1. PurposeThis procedure defines the process for managing incidents related to Microsoft 365 collaboration tools (Word, Excel, PowerPoint, Outlook, Teams, OneDrive, SharePoint, Access). It describes the escalation chain between support teams, the responsibilities at each level, and the criteria governing the transfer of tickets between teams.2. ScopeThis procedure ... <a title="l3" class="read-more" href="https://linkdis.com/l3/" aria-label="En savoir plus sur l3">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/l3/">l3</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="gb-text">Incident Management Procedure — Microsoft 365 Collaboration Tools<br>1. Purpose<br>This procedure defines the process for managing incidents related to Microsoft 365 collaboration tools (Word, Excel, PowerPoint, Outlook, Teams, OneDrive, SharePoint, Access). It describes the escalation chain between support teams, the responsibilities at each level, and the criteria governing the transfer of tickets between teams.<br>2. Scope<br>This procedure applies to all incidents reported through the <strong>ServiceNow</strong> ticketing system concerning the Microsoft 365 suite. It covers incidents impacting one or more users within the organisation.<br>The following are <strong>excluded</strong> from the scope of this procedure:<br>service requests (handled through the service catalogue);<br>incidents related to user-specific custom developments (personal macros, local scripts);<br>infrastructure incidents falling under the responsibility of network or endpoint teams.<br>3. Terms and definitions<br>Term<br>Definition<br>Incident<br>Unplanned interruption or degradation of the quality of a service<br>L1 / L2 / L3<br>Support escalation tiers, from initial contact to specialised expertise<br>ServiceNow<br>Ticket management tool used as the single reference system for incidents<br>Root cause<br>Underlying origin of an incident, identified through analysis<br>4. Roles and responsibilities<br>Tier<br>Team<br>Responsibility<br>L1<br>IT Local<br>Initial point of contact, qualification, resolution of first-level incidents<br>L2<br>IT Local<br>Advanced technical investigation, resolution of incidents requiring local expertise<br>L3 — Analysis<br>GLO-DWP-L3-Collaboration<br>Root cause analysis of incidents affecting native Microsoft 365 tools with multi-user impact<br>L3 — Resolution<br>GLO-CW-L3-Endpoint Solutions<br>Implementation of corrective actions through dedicated remediation tools<br>5. Process description<br>5.1 Declaration<br>Every incident must be recorded in ServiceNow by the end user or by the support team that becomes aware of it. The ticket constitutes the sole reference for traceability throughout the incident lifecycle.<br>5.2 Initial handling (L1 / L2)<br>The IT Local teams perform initial handling. They qualify the incident, attempt resolution and, where applicable, escalate the ticket to the next tier.<br>5.3 Criteria for escalation to L3<br>Escalation to GLO-DWP-L3-Collaboration is subject to the following cumulative criteria:<br>the incident concerns a <strong>native</strong> Microsoft 365 tool;<br>the incident affects <strong>multiple users</strong> or exhibits a systemic character;<br>the incident could not be resolved at L1 and L2;<br>the presumed cause relates to a Microsoft update, a configuration change, or a malfunction of an internal tool.<br>5.4 Root cause analysis (L3 — Analysis)<br>GLO-DWP-L3-Collaboration performs the analysis, identifies the root cause, and documents the findings within the ticket.<br>5.5 Transfer to resolution (L3 — Resolution)<br>Following analysis, the ticket is reassigned to GLO-CW-L3-Endpoint Solutions, which holds the technical tooling required to implement the corrective action.<br>5.6 Return to Local IT<br>Where analysis establishes that the incident relates to a user-specific custom development (personal macro, non-standard local configuration), the ticket is returned to Local IT for handling, in accordance with the scope defined in Section 2.<br>5.7 Closure<br>The incident is closed once the resolution has been validated by the end user and the solution has been documented within the ticket.<br>6. Performance indicators <em>(to be defined)</em><br>To be completed based on the organisation&rsquo;s quality objectives. Recommended indicators: time to acknowledgement, time to resolution per tier, reassignment rate, recurring incident rate.</p>



<figure class="wp-block-image size-large"><img width="1024" height="863"  alt="" class="wp-image-1122 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2026/05/Capture-decran-2026-05-20-140354-1024x863.png" srcset="https://linkdis.com/wp-content/uploads/2026/05/Capture-decran-2026-05-20-140354-1024x863.png 1024w, https://linkdis.com/wp-content/uploads/2026/05/Capture-decran-2026-05-20-140354-300x253.png 300w, https://linkdis.com/wp-content/uploads/2026/05/Capture-decran-2026-05-20-140354-768x647.png 768w, https://linkdis.com/wp-content/uploads/2026/05/Capture-decran-2026-05-20-140354.png 1070w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>L’article <a href="https://linkdis.com/l3/">l3</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Power App migration list</title>
		<link>https://linkdis.com/power-app-migration-list/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Thu, 07 May 2026 11:53:32 +0000</pubDate>
				<category><![CDATA[Non classé]]></category>
		<guid isPermaLink="false">https://linkdis.com/?p=1118</guid>

					<description><![CDATA[<p>Power Platform ALM SharePoint List Mapping — DEV to PROD Deployment Guide Using Environment Variables &#38; Power Platform Solutions 1. Context &#38; Problem Statement When deploying a Power App backed by SharePoint lists from a DEV environment to PROD, two major issues arise systematically. 1.1 The Mapping Problem Every time the Power App is deployed ... <a title="Power App migration list" class="read-more" href="https://linkdis.com/power-app-migration-list/" aria-label="En savoir plus sur Power App migration list">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/power-app-migration-list/">Power App migration list</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Power Platform ALM</strong></p>



<p class="wp-block-paragraph">SharePoint List Mapping — DEV to PROD Deployment Guide</p>



<p class="wp-block-paragraph"><em>Using Environment Variables &amp; Power Platform Solutions</em></p>



<h1 class="wp-block-heading">1. Context &amp; Problem Statement</h1>



<p class="wp-block-paragraph">When deploying a Power App backed by SharePoint lists from a DEV environment to PROD, two major issues arise systematically.</p>



<h2 class="wp-block-heading">1.1 The Mapping Problem</h2>



<p class="wp-block-paragraph">Every time the Power App is deployed from DEV to PROD, all connector references inside the app and associated Power Automate flows remain pointed at the DEV SharePoint site and DEV lists. With 100+ SharePoint lists per deployment, manually remapping each connection is not feasible — it introduces human error, costs significant time, and is not reproducible.</p>



<h2 class="wp-block-heading">1.2 The Data Preservation Problem</h2>



<p class="wp-block-paragraph">The PROD environment contains live data in its SharePoint lists that must never be overwritten. A full ShareGate migration would overwrite existing data. Only the schema changes (new columns, new lists) from DEV need to be propagated to PROD — not the data.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Key Principle</strong> The solution is not to migrate lists — it is to make the Power App aware of its target environment at deployment time, using Environment Variables as a mapping layer between the app and its data sources.</td></tr></tbody></table></figure>



<h1 class="wp-block-heading">2. Why ShareGate Does Not Solve This Problem</h1>



<p class="wp-block-paragraph">ShareGate is an excellent tool for one-shot site migrations. However it is not designed for repeated DEV-to-PROD deployments with the following constraints:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Issue</strong></td><td><strong>ShareGate Behavior</strong></td><td><strong>Impact</strong></td></tr></thead><tbody><tr><td>List IDs (GUIDs)</td><td>New GUID generated on every migration</td><td>App connections break</td></tr><tr><td>Existing PROD data</td><td>Overwritten or duplicated</td><td>Data loss risk</td></tr><tr><td>Repeated deployments</td><td>Not designed for delta deployments</td><td>Cannot be automated</td></tr><tr><td>App connector mapping</td><td>Not handled by ShareGate</td><td>Manual remapping required</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>Important: </strong>SharePoint list IDs (GUIDs) are unique per site collection and cannot be forced to a specific value. Microsoft does not provide a mechanism to preserve list GUIDs during migration. This is by design.</p>



<h1 class="wp-block-heading">3. Recommended Solution: Power Platform Solutions + Environment Variables</h1>



<h2 class="wp-block-heading">3.1 Architecture Overview</h2>



<p class="wp-block-paragraph">The recommended approach is the Microsoft-standard ALM (Application Lifecycle Management) pattern for Power Platform. It uses two key components:</p>



<ul class="wp-block-list">
<li>Power Platform Solutions — packages the app, flows, and configuration as a deployable unit</li>



<li>Environment Variables (Data Source type) — stores the SharePoint site URL and list references separately from the app logic</li>
</ul>



<p class="wp-block-paragraph">The app never references SharePoint lists directly. It references Environment Variables which point to the correct lists for each environment.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>DEV Environment</strong></td><td><strong>PROD Environment</strong></td></tr></thead><tbody><tr><td>env_SP_SiteURL = https://tenant.sharepoint.com/sites/DEV</td><td>env_SP_SiteURL = https://tenant.sharepoint.com/sites/PROD</td></tr><tr><td>env_SP_List_Customers = Customers_DEV</td><td>env_SP_List_Customers = Customers</td></tr><tr><td>env_SP_List_Orders = Orders_DEV</td><td>env_SP_List_Orders = Orders</td></tr><tr><td>&#8230; (100 lists)</td><td>&#8230; (same 100 lists, PROD names)</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Microsoft Reference</strong> Data source environment variables store parameters that are required by one or more actions in the connector. For example, a SharePoint Online connection does not store any information about sites, lists, or document libraries. Therefore calling the connector requires both a valid connection and additional parameters. — Microsoft Learn</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">3.2 How Environment Variables Work with SharePoint</h2>



<p class="wp-block-paragraph">When you connect a Canvas App to a SharePoint list, Power Platform automatically creates two environment variables:</p>



<ul class="wp-block-list">
<li>One for the SharePoint Site URL</li>



<li>One for the List ID / table name</li>
</ul>



<p class="wp-block-paragraph">These variables are stored in the Solution and can be given different values in each target environment at import time — without modifying the app itself.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Key Behavior</strong> When you save the data source, your app is connected to SharePoint via two related environment variables: one to hold the site URL and one to hold the list ID. At import time in a new environment, you simply provide new values for these variables. No need to modify or republish the app.</td></tr></tbody></table></figure>



<h1 class="wp-block-heading">4. Step-by-Step Implementation</h1>



<h2 class="wp-block-heading">Step 1 — Package the Power App in a Solution</h2>



<ol class="wp-block-list">
<li>Go to Power Apps (make.powerapps.com)</li>



<li>Navigate to Solutions → New Solution</li>



<li>Name the solution (e.g., MyApp_Solution) and set a publisher prefix</li>



<li>Add the existing Power App to the solution: Add existing → App → Canvas app</li>



<li>Add all associated Power Automate flows</li>



<li>Verify that SharePoint connections appear as Connection References in the solution</li>
</ol>



<h2 class="wp-block-heading">Step 2 — Verify Environment Variables Are Created</h2>



<p class="wp-block-paragraph">When a Canvas App connects to SharePoint inside a solution, environment variables are created automatically. Verify:</p>



<ul class="wp-block-list">
<li>In the solution, click on Environment Variables</li>



<li>You should see one variable per SharePoint site (Site URL type) and one per list</li>



<li>If variables are missing: open the app, remove and re-add each SharePoint data source — variables are created on save</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Best Practice</strong> Let the app create the environment variables automatically by connecting to data sources inside the solution. Do not create them manually — the auto-created variables are correctly typed (Data Source) and linked to the connector.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Step 3 — Remove Current Values Before Export</h2>



<p class="wp-block-paragraph">Environment variable values must NOT be exported with the solution. They should be set fresh in each target environment.</p>



<ol class="wp-block-list">
<li>In the solution, select each SharePoint environment variable</li>



<li>Click the ellipsis (…) → Remove from this solution (for the Current Value only)</li>



<li>The Default Value and variable definition remain — only the current value is removed</li>
</ol>



<h2 class="wp-block-heading">Step 4 — Export the Solution</h2>



<ol class="wp-block-list">
<li>Solution → Export → select Managed (for PROD) or Unmanaged (for DEV/TEST)</li>



<li>Download the .zip file</li>
</ol>



<h2 class="wp-block-heading">Step 5 — Import into PROD with New Environment Variable Values</h2>



<ol class="wp-block-list">
<li>In the PROD Power Apps environment: Solutions → Import solution</li>



<li>Upload the .zip file</li>



<li>At the Environment Variables step: provide PROD values for each variable<ol><li>Site URL: https://tenant.sharepoint.com/sites/PROD</li></ol>
<ol class="wp-block-list">
<li>List names: exact PROD list names</li>
</ol>
</li>



<li>At the Connection References step: select or create PROD connections</li>



<li>Complete the import — the app is now connected to PROD lists</li>
</ol>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Result</strong> Once environment variable values are set in PROD, subsequent deployments (upgrades) will not ask for values again unless new variables are introduced. You only configure once per new list or site.</td></tr></tbody></table></figure>



<h1 class="wp-block-heading">5. Propagating Schema Changes (New Columns / New Lists) to PROD</h1>



<p class="wp-block-paragraph">For schema changes (adding columns, new lists) without overwriting PROD data, use PnP PowerShell templates. This exports only the structure from DEV and applies it to PROD — data is preserved.</p>



<h2 class="wp-block-heading">5.1 Export Schema from DEV</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td># Export list schema from DEV (structure only, no data) Get-PnPSiteTemplate -Out template.xml \ &nbsp; -ListsToExtract &lsquo;List1&prime;,&rsquo;List2&prime;,&rsquo;List3&rsquo; \ &nbsp; -Handlers Lists &nbsp; # Apply schema to PROD (data is preserved) Connect-PnPOnline -Url &lsquo;https://tenant.sharepoint.com/sites/PROD&rsquo; -Interactive Invoke-PnPSiteTemplate -Path template.xml</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">The -Handlers Lists flag extracts only list schemas (columns, views, content types) — no list items are exported or overwritten.</p>



<h1 class="wp-block-heading">6. Complete Deployment Workflow DEV → PROD</h1>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>#</strong></td><td><strong>Action</strong></td><td><strong>Tool</strong></td><td><strong>Who</strong></td></tr></thead><tbody><tr><td>1</td><td>Export list schema changes from DEV</td><td>PnP PowerShell</td><td>Developer</td></tr><tr><td>2</td><td>Apply schema to PROD (structure only, data preserved)</td><td>PnP PowerShell</td><td>Developer</td></tr><tr><td>3</td><td>Export Power Platform Solution (Managed)</td><td>Power Apps Portal</td><td>Developer</td></tr><tr><td>4</td><td>Import Solution into PROD environment</td><td>Power Apps Portal</td><td>Admin</td></tr><tr><td>5</td><td>Set Environment Variable values for PROD at import</td><td>Power Apps Portal</td><td>Admin</td></tr><tr><td>6</td><td>Set Connection References to PROD connections</td><td>Power Apps Portal</td><td>Admin</td></tr><tr><td>7</td><td>Verify app functionality in PROD</td><td>Browser / Teams</td><td>Tester</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>From the second deployment onwards: </strong>steps 5 and 6 are skipped if no new lists or sites have been added. The environment variable values already set in PROD are reused automatically.</p>



<h1 class="wp-block-heading">7. Recommended Naming Convention for Environment Variables</h1>



<p class="wp-block-paragraph">With 100+ lists, a consistent naming convention is critical for maintainability.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Variable Type</strong></td><td><strong>Naming Pattern</strong></td><td><strong>Example</strong></td></tr></thead><tbody><tr><td>SharePoint Site URL</td><td>env_SP_SiteURL_[AppName]</td><td>env_SP_SiteURL_MyApp</td></tr><tr><td>SharePoint List</td><td>env_SP_List_[ListName]</td><td>env_SP_List_Customers</td></tr><tr><td>SharePoint Library</td><td>env_SP_Lib_[LibraryName]</td><td>env_SP_Lib_Documents</td></tr></tbody></table></figure>



<h1 class="wp-block-heading">8. Microsoft Official References</h1>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Topic</strong></td><td><strong>Microsoft Learn URL</strong></td></tr></thead><tbody><tr><td>Environment Variables — Overview</td><td><a href="https://learn.microsoft.com/en-us/power-apps/maker/data-platform/environmentvariables">learn.microsoft.com — Use environment variables in Power Platform solutions</a></td></tr><tr><td>Environment Variables — FAQ</td><td><a href="https://learn.microsoft.com/en-us/power-apps/maker/data-platform/environment-variables-faq">learn.microsoft.com — Environment variables FAQ</a></td></tr><tr><td>ALM — Pre-populate Connection References</td><td><a href="https://learn.microsoft.com/en-us/power-platform/alm/conn-ref-env-variables-build-tools">learn.microsoft.com — Pre-populate connection references and environment variables</a></td></tr><tr><td>Data Source Environment Variables — Blog</td><td><a href="https://www.microsoft.com/en-us/power-platform/blog/power-apps/announcing-data-source-environment-variables/">Microsoft Power Platform Blog — Announcing data source environment variables</a></td></tr><tr><td>ALM Deployment Configuration Guide</td><td><a href="https://learn.microsoft.com/en-us/power-platform/guidance/alm-accelerator/setup-data-deployment-configuration">learn.microsoft.com — Deployment configuration guide</a></td></tr></tbody></table></figure>



<h1 class="wp-block-heading">9. Summary</h1>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>The Right Approach in 3 Points</strong> 1. Package the Power App in a Power Platform Solution with Connection References and Environment Variables. 2. Use PnP PowerShell to propagate schema changes (new lists/columns) to PROD — data is never overwritten. 3. At each deployment, only provide new values for new environment variables. Existing PROD variables are reused automatically.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">This approach eliminates manual remapping, is repeatable and automatable, preserves PROD data at all times, and follows the Microsoft recommended ALM standard for Power Platform solutions backed by SharePoint.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>L’article <a href="https://linkdis.com/power-app-migration-list/">Power App migration list</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>newsletter</title>
		<link>https://linkdis.com/newsletter/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 05:52:43 +0000</pubDate>
				<category><![CDATA[Non classé]]></category>
		<guid isPermaLink="false">https://linkdis.com/?p=1115</guid>

					<description><![CDATA[<p>📡 M365 Weekly DigestApril 2026 — What&#8217;s changing in your Microsoft 365 tools Hi team 👋Here&#8217;s your roundup of the most important Microsoft 365 changes coming your way. We&#8217;ve highlighted what matters most to&#160;you&#160;— from interface changes you&#8217;ll see on screen to critical deadlines that need action. 🚨 ACTION REQUIRED — Legacy Teams Phones (MC1254555)Some ... <a title="newsletter" class="read-more" href="https://linkdis.com/newsletter/" aria-label="En savoir plus sur newsletter">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/newsletter/">newsletter</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div>
<p class="gb-text"></p>
</div>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> M365 Weekly DigestApril 2026 — What&rsquo;s changing in your Microsoft 365 tools</td></tr><tr><td>Hi team <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44b.png" alt="👋" class="wp-smiley" style="height: 1em; max-height: 1em;" />Here&rsquo;s your roundup of the most important Microsoft 365 changes coming your way. We&rsquo;ve highlighted what matters most to&nbsp;<strong>you</strong>&nbsp;— from interface changes you&rsquo;ll see on screen to critical deadlines that need action.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ACTION REQUIRED — Legacy Teams Phones (MC1254555)Some Teams desk phones will&nbsp;<strong>stop working on June 1, 2026</strong>. Affected models (Poly Trio, certain Yealink &amp; Crestron) can&rsquo;t be fixed with a software update — they need to be&nbsp;<strong>physically replaced</strong>. If you use a desk phone for Teams calls, check with IT to confirm your device is supported.</td></tr><tr><td></td></tr><tr><td>SHAREPOINT</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> A Brand New SharePoint Is ComingMC1240699 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impactSharePoint is getting its biggest visual overhaul in years! The familiar sidebar is being replaced by a sleek new&nbsp;<strong>App Bar</strong>&nbsp;with three spaces:&nbsp;<strong>Discover</strong>&nbsp;(find your sites &amp; content),&nbsp;<strong>Publish</strong>&nbsp;(create pages &amp; news), and&nbsp;<strong>Build</strong>&nbsp;(manage sites, lists &amp; AI agents). The home page is also redesigned to surface what matters most. AI features require a Copilot license. Your admin can turn on the preview now.</td></tr><tr><td></td></tr><tr><td>TEAMS · MEETINGS</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fa9f.png" alt="🪟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Smarter Minimized Meeting WindowMC1266027 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April–May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactMultitasking during meetings just got better! When you minimize a Teams meeting, the new mini-window lets you&nbsp;<strong>raise your hand and send reactions</strong>&nbsp;without switching back. Choose between an&nbsp;<strong>expanded view</strong>&nbsp;(4 participant videos) or a&nbsp;<strong>compact view</strong>. No action needed — it just works.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resize Your Meeting ViewMC1239934 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactWhen someone shares their screen, a new&nbsp;<strong>draggable divider</strong>&nbsp;lets you adjust how much space goes to the presentation vs. participant videos. You can even&nbsp;<strong>swap their positions</strong>. Great on wide monitors! Works with spotlight, pinned videos, and Speaker View.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Native macOS Screen SharingMC1187801 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> By May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impact (Mac users)Mac users rejoice! Teams now uses&nbsp;<strong>Apple&rsquo;s native screen sharing</strong>&nbsp;instead of its own system. The result: a smoother, more familiar sharing experience. Enable it in Settings → General → « Use macOS content sharing. » No restart needed.&nbsp;<em>Heads up: remote control (give/take control) isn&rsquo;t available yet in this mode.</em></td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f465.png" alt="👥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Co-organizers Can Now Do EverythingMC688109 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> March 2026 (GA) · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactIf you help organize Webinars or Town Halls, good news: co-organizers now have&nbsp;<strong>full parity with the organizer</strong>. You can edit event details (title, date, description), publish, and even cancel — no more waiting for the primary organizer to make changes.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f92b.png" alt="🤫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backroom Chat for Event OrganizersMC1188222 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactRunning a webinar or town hall? Organizers and presenters now get a&nbsp;<strong>private chat thread</strong>&nbsp;to coordinate behind the scenes — attendees won&rsquo;t see it. Think of it as your backstage channel. Works across all structured meeting types.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Custom Branded ReactionsMC1217644 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Available now · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Teams Premium onlyWith Teams Premium, your organization can swap standard meeting reactions with&nbsp;<strong>custom branded images</strong>&nbsp;— your logo, seasonal icons, or team mascots. A fun way to bring company culture into meetings. Ask your admin if this is enabled for you.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Live Transcription on Room DisplaysMC1249432 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In progress · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impactTeams Rooms on&nbsp;<strong>Android</strong>&nbsp;now support live transcription directly on the room screen. Everyone in the meeting room can follow along with real-time captions — great for accessibility and catching what you missed. Already available on Windows rooms, now on Android too.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Better Quality When Joining Zoom/WebexMC1268925 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In progress · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactJoining a Zoom or Webex meeting from Teams? The&nbsp;<strong>Direct Guest Join</strong>&nbsp;experience is getting better audio, sharper video, and more stable connections. Less « can you hear me? » moments when meeting with external partners on other platforms.</td></tr><tr><td></td></tr><tr><td>TEAMS · CHAT &amp; NAVIGATION</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f507.png" alt="🔇" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Your Muted Chats Get Their Own SpaceMC1269864 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impactTeams is cleaning up your chat list!&nbsp;<strong>Muted conversations</strong>&nbsp;will automatically move to a dedicated section at the bottom (on by default). You can also opt-in to a&nbsp;<strong>Meeting chats</strong>&nbsp;section to keep meeting-related chats separate. Both can be toggled in Settings → Chats. Your Favorites and custom sections stay untouched.</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Better Code Blocks for DevelopersMC1240703 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impactSharing code in Teams? It just got nicer. Code blocks now show&nbsp;<strong>line numbers by default</strong>, remember your syntax language, support keyboard navigation, and can even be converted into&nbsp;<strong>Loop components</strong>&nbsp;for real-time collaborative editing. A welcome upgrade for dev teams.</td></tr><tr><td></td></tr><tr><td>QUICK NOTES</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong>MC1235118</strong>&nbsp;— Less clutter in channel Meet Now threads. Fewer system messages when ad-hoc meetings start/end.<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong>MC1194079</strong>&nbsp;— Ongoing meeting UX polish: toolbar improvements, cleaner presentation controls, smoother interface.</td></tr><tr><td class="has-text-align-center" data-align="center"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong>M365 Weekly Digest</strong>&nbsp;— Powered by M365 News Intelligence<br>Questions? Reach out to your IT team ·&nbsp;<em>Linkdis OÜ</em></td></tr></tbody></table></figure>



<!-- Container -->
<table width="100%" cellpadding="0" cellspacing="0" style="max-width:680px;margin:0 auto;background-color:#ffffff;">

<!-- HEADER -->
<tr>
<td style="background: linear-gradient(135deg, #0078d4 0%, #005a9e 100%); padding:32px 30px; text-align:center;">
  <div style="font-size:28px;font-weight:700;color:#ffffff;letter-spacing:-0.5px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> M365 Weekly Digest</div>
  <div style="font-size:14px;color:#b4d6f0;margin-top:6px;">April 2026 — What&rsquo;s changing in your Microsoft 365 tools</div>
</td>
</tr>

<!-- INTRO -->
<tr>
<td style="padding:24px 30px 16px;">
  <div style="font-size:14px;color:#444;line-height:1.6;">
    Hi team <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f44b.png" alt="👋" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br><br>
    Here&rsquo;s your roundup of the most important Microsoft 365 changes coming your way. We&rsquo;ve highlighted what matters most to <strong>you</strong> — from interface changes you&rsquo;ll see on screen to critical deadlines that need action.
  </div>
</td>
</tr>

<!-- ALERT BOX -->
<tr>
<td style="padding:8px 30px 20px;">
  <table width="100%" cellpadding="0" cellspacing="0">
  <tr>
  <td style="background-color:#fde7e9;border-left:4px solid #d13438;border-radius:4px;padding:14px 18px;">
    <div style="font-size:13px;font-weight:700;color:#d13438;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ACTION REQUIRED — Legacy Teams Phones (MC1254555)</div>
    <div style="font-size:13px;color:#6b2023;margin-top:4px;line-height:1.5;">
      Some Teams desk phones will <strong>stop working on June 1, 2026</strong>. Affected models (Poly Trio, certain Yealink &#038; Crestron) can&rsquo;t be fixed with a software update — they need to be <strong>physically replaced</strong>. If you use a desk phone for Teams calls, check with IT to confirm your device is supported.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- DIVIDER -->
<tr><td style="padding:0 30px;"><div style="border-top:1px solid #e8e8e8;"></div></td></tr>

<!-- SECTION: SHAREPOINT -->
<tr>
<td style="padding:20px 30px 8px;">
  <table cellpadding="0" cellspacing="0"><tr>
    <td style="background-color:#038387;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;letter-spacing:0.5px;">SHAREPOINT</td>
  </tr></table>
</td>
</tr>

<!-- SP Item 1 -->
<tr>
<td style="padding:10px 30px 20px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8fafb;border-radius:8px;border:1px solid #e8eff3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> A Brand New SharePoint Is Coming</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1240699 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      SharePoint is getting its biggest visual overhaul in years! The familiar sidebar is being replaced by a sleek new <strong>App Bar</strong> with three spaces: <strong>Discover</strong> (find your sites &#038; content), <strong>Publish</strong> (create pages &#038; news), and <strong>Build</strong> (manage sites, lists &#038; AI agents). The home page is also redesigned to surface what matters most. AI features require a Copilot license. Your admin can turn on the preview now.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- DIVIDER -->
<tr><td style="padding:0 30px;"><div style="border-top:1px solid #e8e8e8;"></div></td></tr>

<!-- SECTION: TEAMS MEETINGS -->
<tr>
<td style="padding:20px 30px 8px;">
  <table cellpadding="0" cellspacing="0"><tr>
    <td style="background-color:#6264a7;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;letter-spacing:0.5px;">TEAMS · MEETINGS</td>
  </tr></table>
</td>
</tr>

<!-- Teams Item 1 -->
<tr>
<td style="padding:10px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fa9f.png" alt="🪟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Smarter Minimized Meeting Window</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1266027 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April–May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Multitasking during meetings just got better! When you minimize a Teams meeting, the new mini-window lets you <strong>raise your hand and send reactions</strong> without switching back. Choose between an <strong>expanded view</strong> (4 participant videos) or a <strong>compact view</strong>. No action needed — it just works.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 2 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resize Your Meeting View</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1239934 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      When someone shares their screen, a new <strong>draggable divider</strong> lets you adjust how much space goes to the presentation vs. participant videos. You can even <strong>swap their positions</strong>. Great on wide monitors! Works with spotlight, pinned videos, and Speaker View.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 3 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Native macOS Screen Sharing</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1187801 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> By May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impact (Mac users)</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Mac users rejoice! Teams now uses <strong>Apple&rsquo;s native screen sharing</strong> instead of its own system. The result: a smoother, more familiar sharing experience. Enable it in Settings → General → « Use macOS content sharing. » No restart needed. <em>Heads up: remote control (give/take control) isn&rsquo;t available yet in this mode.</em>
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 4 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f465.png" alt="👥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Co-organizers Can Now Do Everything</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC688109 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> March 2026 (GA) · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      If you help organize Webinars or Town Halls, good news: co-organizers now have <strong>full parity with the organizer</strong>. You can edit event details (title, date, description), publish, and even cancel — no more waiting for the primary organizer to make changes.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 5 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f92b.png" alt="🤫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backroom Chat for Event Organizers</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1188222 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> April 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Running a webinar or town hall? Organizers and presenters now get a <strong>private chat thread</strong> to coordinate behind the scenes — attendees won&rsquo;t see it. Think of it as your backstage channel. Works across all structured meeting types.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 6 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Custom Branded Reactions</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1217644 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Available now · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Teams Premium only</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      With Teams Premium, your organization can swap standard meeting reactions with <strong>custom branded images</strong> — your logo, seasonal icons, or team mascots. A fun way to bring company culture into meetings. Ask your admin if this is enabled for you.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 7 -->
<tr>
<td style="padding:4px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Live Transcription on Room Displays</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1249432 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In progress · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Teams Rooms on <strong>Android</strong> now support live transcription directly on the room screen. Everyone in the meeting room can follow along with real-time captions — great for accessibility and catching what you missed. Already available on Windows rooms, now on Android too.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Teams Item 8 -->
<tr>
<td style="padding:4px 30px 20px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#f8f8fc;border-radius:8px;border:1px solid #e8e8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Better Quality When Joining Zoom/Webex</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1268925 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In progress · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Joining a Zoom or Webex meeting from Teams? The <strong>Direct Guest Join</strong> experience is getting better audio, sharper video, and more stable connections. Less « can you hear me? » moments when meeting with external partners on other platforms.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- DIVIDER -->
<tr><td style="padding:0 30px;"><div style="border-top:1px solid #e8e8e8;"></div></td></tr>

<!-- SECTION: TEAMS CHAT -->
<tr>
<td style="padding:20px 30px 8px;">
  <table cellpadding="0" cellspacing="0"><tr>
    <td style="background-color:#8764b8;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;letter-spacing:0.5px;">TEAMS · CHAT &#038; NAVIGATION</td>
  </tr></table>
</td>
</tr>

<!-- Chat Item 1 -->
<tr>
<td style="padding:10px 30px 12px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#faf8fc;border-radius:8px;border:1px solid #ede8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f507.png" alt="🔇" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Your Muted Chats Get Their Own Space</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1269864 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e1.png" alt="🟡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Teams is cleaning up your chat list! <strong>Muted conversations</strong> will automatically move to a dedicated section at the bottom (on by default). You can also opt-in to a <strong>Meeting chats</strong> section to keep meeting-related chats separate. Both can be toggled in Settings → Chats. Your Favorites and custom sections stay untouched.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- Chat Item 2 -->
<tr>
<td style="padding:4px 30px 20px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#faf8fc;border-radius:8px;border:1px solid #ede8f3;">
  <tr>
  <td style="padding:18px 20px;">
    <div style="font-size:15px;font-weight:700;color:#1a1a1a;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Better Code Blocks for Developers</div>
    <div style="font-size:11px;color:#888;margin-top:2px;">MC1240703 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> May 2026 · <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Low impact</div>
    <div style="font-size:13px;color:#444;margin-top:10px;line-height:1.6;">
      Sharing code in Teams? It just got nicer. Code blocks now show <strong>line numbers by default</strong>, remember your syntax language, support keyboard navigation, and can even be converted into <strong>Loop components</strong> for real-time collaborative editing. A welcome upgrade for dev teams.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- DIVIDER -->
<tr><td style="padding:0 30px;"><div style="border-top:1px solid #e8e8e8;"></div></td></tr>

<!-- SECTION: QUICK NOTES -->
<tr>
<td style="padding:20px 30px 8px;">
  <table cellpadding="0" cellspacing="0"><tr>
    <td style="background-color:#797775;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;letter-spacing:0.5px;">QUICK NOTES</td>
  </tr></table>
</td>
</tr>

<tr>
<td style="padding:10px 30px 20px;">
  <table width="100%" cellpadding="0" cellspacing="0" style="background-color:#fafafa;border-radius:8px;border:1px solid #ebebeb;">
  <tr>
  <td style="padding:16px 20px;">
    <div style="font-size:13px;color:#444;line-height:1.8;">
      <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>MC1235118</strong> — Less clutter in channel Meet Now threads. Fewer system messages when ad-hoc meetings start/end.<br>
      <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>MC1194079</strong> — Ongoing meeting UX polish: toolbar improvements, cleaner presentation controls, smoother interface.
    </div>
  </td>
  </tr>
  </table>
</td>
</tr>

<!-- FOOTER -->
<tr>
<td style="background-color:#f0f0f0;padding:20px 30px;text-align:center;border-top:1px solid #e0e0e0;">
  <div style="font-size:11px;color:#888;line-height:1.5;">
    <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>M365 Weekly Digest</strong> — Powered by M365 News Intelligence<br>
    Questions? Reach out to your IT team · <em>Linkdis OÜ</em>
  </div>
</td>
</tr>

</table>
<p>L’article <a href="https://linkdis.com/newsletter/">newsletter</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Add signature Subscribe for newsletter</title>
		<link>https://linkdis.com/add-signature-subscribe-for-newsletter/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 11:47:57 +0000</pubDate>
				<category><![CDATA[Non classé]]></category>
		<guid isPermaLink="false">https://linkdis.com/?p=1110</guid>

					<description><![CDATA[<p>Variante A — Pill discrète (recommandée) Alain Van H. M365 &#38; SharePoint Consultant — Linkdis OÜ 📩 Newsletter interne S&#8217;abonner → Actualités M365, SharePoint &#38; outils internes · Mensuelle Variante B — Lien texte minimaliste Alain Van H. M365 &#38; SharePoint Consultant — Linkdis OÜ 📬 Abonnez-vous à notre newsletter interne mensuelle · Actualités M365 ... <a title="Add signature Subscribe for newsletter" class="read-more" href="https://linkdis.com/add-signature-subscribe-for-newsletter/" aria-label="En savoir plus sur Add signature Subscribe for newsletter">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/add-signature-subscribe-for-newsletter/">Add signature Subscribe for newsletter</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
.wrap { padding: 0.5rem 0; display: flex; flex-direction: column; gap: 24px; }
.variant-label { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.email-frame { background: var(--color-background-primary); border: 0.5px solid var(--color-border-secondary); border-radius: var(--border-radius-lg); padding: 20px 24px; }
.sig-body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #333; }
.sig-name { font-size: 15px; font-weight: bold; color: #1a1a1a; margin-bottom: 2px; }
.sig-title { font-size: 12px; color: #666; margin-bottom: 12px; }
.sig-divider { border: none; border-top: 1px solid #e0e0e0; margin: 12px 0; }
.sig-newsletter { display: inline-block; }
.sig-pill { display: inline-block; background: #0078d4; color: #ffffff; font-size: 11px; font-weight: bold; padding: 4px 10px; border-radius: 12px; text-decoration: none; letter-spacing: 0.3px; }
.sig-pill-outline { display: inline-block; background: transparent; color: #0078d4; font-size: 11px; font-weight: bold; padding: 3px 9px; border-radius: 12px; border: 1.5px solid #0078d4; text-decoration: none; }
.sig-text-link { font-size: 12px; color: #0078d4; text-decoration: none; }
.sig-meta { font-size: 11px; color: #999; margin-top: 3px; }
.sig-banner { display: block; background: linear-gradient(90deg, #0078d4 0%, #0050a0 100%); border-radius: 6px; padding: 10px 16px; margin-top: 12px; }
.sig-banner-text { color: #fff; font-size: 12px; font-weight: bold; display: block; }
.sig-banner-sub { color: #cce4f7; font-size: 11px; display: block; margin-top: 2px; }
.sig-banner-cta { display: inline-block; background: #fff; color: #0078d4; font-size: 11px; font-weight: bold; padding: 4px 12px; border-radius: 10px; margin-top: 8px; text-decoration: none; }
</style>

<div class="wrap">

  <div>
    <div class="variant-label">Variante A — Pill discrète (recommandée)</div>
    <div class="email-frame">
      <div class="sig-body">
        <div class="sig-name">Alain Van H.</div>
        <div class="sig-title">M365 &amp; SharePoint Consultant — Linkdis OÜ</div>
        <hr class="sig-divider">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td style="padding-right:10px;vertical-align:middle;">
              <span style="font-size:12px;color:#666;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e9.png" alt="📩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Newsletter interne</span>
            </td>
            <td style="vertical-align:middle;">
              <span class="sig-pill">S&rsquo;abonner →</span>
            </td>
          </tr>
          <tr>
            <td colspan="2">
              <span class="sig-meta">Actualités M365, SharePoint &amp; outils internes · Mensuelle</span>
            </td>
          </tr>
        </table>
      </div>
    </div>
  </div>

  <div>
    <div class="variant-label">Variante B — Lien texte minimaliste</div>
    <div class="email-frame">
      <div class="sig-body">
        <div class="sig-name">Alain Van H.</div>
        <div class="sig-title">M365 &amp; SharePoint Consultant — Linkdis OÜ</div>
        <hr class="sig-divider">
        <span style="font-size:12px;color:#555;">
          <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ec.png" alt="📬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a class="sig-text-link" href="#">Abonnez-vous à notre newsletter interne mensuelle</a>
          <span style="color:#bbb;"> · Actualités M365 &amp; SharePoint</span>
        </span>
      </div>
    </div>
  </div>

  <div>
    <div class="variant-label">Variante C — Bannière visuelle (pour les emails importants)</div>
    <div class="email-frame">
      <div class="sig-body">
        <div class="sig-name">Alain Van H.</div>
        <div class="sig-title">M365 &amp; SharePoint Consultant — Linkdis OÜ</div>
        <hr class="sig-divider">
        <table cellpadding="0" cellspacing="0" border="0" style="background:#0078d4;border-radius:6px;width:100%;max-width:460px;">
          <tr>
            <td style="padding:10px 16px;">
              <span style="color:#fff;font-size:12px;font-weight:bold;display:block;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e8.png" alt="📨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Newsletter interne — Actualités M365</span>
              <span style="color:#cce4f7;font-size:11px;display:block;margin-top:2px;">Conseils SharePoint, Power Platform &amp; outils · 1×/mois</span>
              <a href="#" style="display:inline-block;background:#fff;color:#0078d4;font-size:11px;font-weight:bold;padding:4px 12px;border-radius:10px;margin-top:8px;text-decoration:none;">S&rsquo;abonner gratuitement →</a>
            </td>
          </tr>
        </table>
      </div>
    </div>
  </div>

</div>



<link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&#038;family=Instrument+Serif:ital@0;1&#038;family=DM+Sans:wght@300;400;500&#038;display=swap" rel="stylesheet">
<style>
  :root {
    --blue: #0F52BA;
    --blue-light: #E8F0FD;
    --blue-mid: #3B74E0;
    --teal: #0D7377;
    --teal-light: #E6F4F4;
    --amber: #B45309;
    --amber-light: #FEF3C7;
    --green: #166534;
    --green-light: #DCFCE7;
    --gray-900: #111827;
    --gray-700: #374151;
    --gray-500: #6B7280;
    --gray-300: #D1D5DB;
    --gray-100: #F3F4F6;
    --gray-50:  #F9FAFB;
    --red: #991B1B;
    --red-light: #FEE2E2;
    --mono: 'DM Mono', monospace;
    --serif: 'Instrument Serif', serif;
    --sans: 'DM Sans', sans-serif;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    font-family: var(--sans);
    font-size: 15px;
    color: var(--gray-700);
    background: #fff;
    line-height: 1.7;
  }

  /* ─── HEADER ─────────────────────────────────── */
  .page-header {
    background: var(--gray-900);
    color: #fff;
    padding: 56px 48px 48px;
    border-bottom: 3px solid var(--blue-mid);
  }
  .page-header .eyebrow {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: .12em;
    color: #9CA3AF;
    text-transform: uppercase;
    margin-bottom: 14px;
  }
  .page-header h1 {
    font-family: var(--serif);
    font-size: 38px;
    font-weight: 400;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 12px;
  }
  .page-header h1 em { color: #93C5FD; font-style: italic; }
  .page-header p {
    font-size: 15px;
    color: #9CA3AF;
    max-width: 600px;
  }
  .meta-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  .meta-pill {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    color: #D1D5DB;
    font-family: var(--mono);
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
  }

  /* ─── TOC ─────────────────────────────────────── */
  .toc {
    background: var(--gray-50);
    border-bottom: 1px solid var(--gray-300);
    padding: 20px 48px;
  }
  .toc-inner { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
  .toc-label { font-family: var(--mono); font-size: 11px; color: var(--gray-500); text-transform: uppercase; letter-spacing: .08em; margin-right: 4px; }
  .toc a {
    font-size: 13px;
    color: var(--blue);
    text-decoration: none;
    font-weight: 500;
  }
  .toc a:hover { text-decoration: underline; }

  /* ─── LAYOUT ──────────────────────────────────── */
  .container { max-width: 900px; margin: 0 auto; padding: 0 48px; }

  section { padding: 52px 0 20px; border-bottom: 1px solid var(--gray-100); }
  section:last-of-type { border-bottom: none; }

  .section-header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 28px; }
  .section-num {
    font-family: var(--mono);
    font-size: 11px;
    color: #fff;
    background: var(--gray-900);
    width: 26px; height: 26px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 4px;
  }
  .section-num.blue  { background: var(--blue); }
  .section-num.teal  { background: var(--teal); }
  .section-num.amber { background: var(--amber); }
  .section-num.green { background: var(--green); }

  h2 {
    font-family: var(--serif);
    font-size: 26px;
    font-weight: 400;
    color: var(--gray-900);
    line-height: 1.3;
  }
  h2 .sub { display: block; font-family: var(--sans); font-size: 13px; font-weight: 400; color: var(--gray-500); margin-top: 2px; font-style: normal; }

  h3 {
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 500;
    color: var(--gray-900);
    margin: 24px 0 8px;
  }

  p { margin-bottom: 14px; }
  p:last-child { margin-bottom: 0; }

  /* ─── STEP CARDS ──────────────────────────────── */
  .steps { display: flex; flex-direction: column; gap: 0; }
  .step { display: flex; gap: 16px; }
  .step-track { display: flex; flex-direction: column; align-items: center; width: 32px; flex-shrink: 0; }
  .step-dot {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--blue-light);
    color: var(--blue);
    font-family: var(--mono);
    font-size: 12px; font-weight: 500;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    border: 1.5px solid #BFDBFE;
  }
  .step-dot.teal  { background: var(--teal-light); color: var(--teal); border-color: #99D6D8; }
  .step-dot.amber { background: var(--amber-light); color: var(--amber); border-color: #FCD34D; }
  .step-dot.green { background: var(--green-light); color: var(--green); border-color: #86EFAC; }

  .step-line { flex: 1; width: 1px; background: var(--gray-300); margin: 4px 0; min-height: 16px; }
  .step-body { flex: 1; padding-bottom: 24px; padding-top: 4px; }
  .step-title { font-size: 14px; font-weight: 500; color: var(--gray-900); margin-bottom: 6px; }
  .step-desc { font-size: 13.5px; color: var(--gray-700); line-height: 1.65; }

  /* ─── CODE BLOCKS ─────────────────────────────── */
  .code-block {
    background: #0F172A;
    border-radius: 8px;
    overflow: hidden;
    margin: 14px 0;
    border: 1px solid #1E293B;
  }
  .code-block .cb-header {
    background: #1E293B;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .code-block .cb-lang {
    font-family: var(--mono);
    font-size: 11px;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .code-block .cb-copy {
    font-family: var(--mono);
    font-size: 11px;
    color: #64748B;
    background: none;
    border: 1px solid #334155;
    padding: 3px 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: all .15s;
  }
  .code-block .cb-copy:hover { color: #94A3B8; border-color: #475569; }
  .code-block .cb-copy.copied { color: #4ADE80; border-color: #4ADE80; }
  .code-block pre {
    padding: 16px 18px;
    overflow-x: auto;
    margin: 0;
  }
  .code-block code {
    font-family: var(--mono);
    font-size: 12.5px;
    line-height: 1.7;
    color: #CBD5E1;
    white-space: pre;
  }
  .code-block code .kw  { color: #7DD3FC; }
  .code-block code .str { color: #86EFAC; }
  .code-block code .cmt { color: #475569; font-style: italic; }
  .code-block code .var { color: #F9A8D4; }
  .code-block code .tag { color: #FCA5A5; }
  .code-block code .atr { color: #FCD34D; }
  .code-block code .val { color: #86EFAC; }

  /* ─── CALLOUTS ────────────────────────────────── */
  .callout {
    border-radius: 8px;
    padding: 14px 16px;
    margin: 14px 0;
    font-size: 13px;
    line-height: 1.6;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .callout-icon { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
  .callout.info    { background: var(--blue-light);  color: #1E40AF; border-left: 3px solid var(--blue-mid); border-radius: 0 8px 8px 0; }
  .callout.warn    { background: var(--amber-light); color: #92400E; border-left: 3px solid var(--amber); border-radius: 0 8px 8px 0; }
  .callout.success { background: var(--green-light); color: var(--green); border-left: 3px solid #22C55E; border-radius: 0 8px 8px 0; }
  .callout.danger  { background: var(--red-light);   color: var(--red); border-left: 3px solid #EF4444; border-radius: 0 8px 8px 0; }

  /* ─── TABLES ──────────────────────────────────── */
  .data-table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 13px; }
  .data-table th {
    text-align: left;
    font-weight: 500;
    color: var(--gray-900);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 8px 12px;
    background: var(--gray-50);
    border-bottom: 2px solid var(--gray-300);
  }
  .data-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--gray-100);
    vertical-align: top;
    line-height: 1.5;
    color: var(--gray-700);
  }
  .data-table tr:last-child td { border-bottom: none; }
  .data-table tr:hover td { background: var(--gray-50); }

  /* ─── BADGES ──────────────────────────────────── */
  .badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 12px;
    white-space: nowrap;
  }
  .badge.blue   { background: var(--blue-light);  color: var(--blue); }
  .badge.green  { background: var(--green-light); color: var(--green); }
  .badge.amber  { background: var(--amber-light); color: var(--amber); }
  .badge.gray   { background: var(--gray-100);    color: var(--gray-500); }
  .badge.red    { background: var(--red-light);   color: var(--red); }

  /* ─── SIGNATURE PREVIEW ───────────────────────── */
  .sig-preview {
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    overflow: hidden;
    margin: 14px 0;
  }
  .sig-preview-label {
    background: var(--gray-50);
    border-bottom: 1px solid var(--gray-300);
    padding: 7px 14px;
    font-family: var(--mono);
    font-size: 11px;
    color: var(--gray-500);
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .sig-preview-body { padding: 20px 22px; }

  /* ─── TWO COL ─────────────────────────────────── */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 14px 0; }
  .option-card {
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    padding: 14px 16px;
  }
  .option-card.recommended { border-color: #93C5FD; background: var(--blue-light); }
  .option-card h4 { font-size: 13px; font-weight: 500; color: var(--gray-900); margin-bottom: 5px; }
  .option-card p  { font-size: 12.5px; color: var(--gray-500); margin: 0; line-height: 1.55; }

  /* ─── FOOTER ──────────────────────────────────── */
  .page-footer {
    background: var(--gray-900);
    color: #6B7280;
    padding: 28px 48px;
    font-size: 12px;
    font-family: var(--mono);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
  }

  @media (max-width: 680px) {
    .page-header, .toc, .container, .page-footer { padding-left: 20px; padding-right: 20px; }
    .page-header h1 { font-size: 26px; }
    .two-col { grid-template-columns: 1fr; }
  }
</style>
</head>
<body>

<!-- ═══════════════════════════════════════════════
     HEADER
════════════════════════════════════════════════ -->
<header class="page-header">
  <div class="eyebrow">Microsoft 365 · Internal Communication</div>
  <h1>Setting Up an Internal <em>Newsletter</em><br>Without Extra Licences</h1>
  <p>A complete operational guide — subscription management, HTML template, Power Automate flow, archives, promotion via email signature, and statistics.</p>
  <div class="meta-pills">
    <span class="meta-pill">M365 Business Standard+</span>
    <span class="meta-pill">SharePoint Online</span>
    <span class="meta-pill">Power Automate</span>
    <span class="meta-pill">Exchange Online</span>
    <span class="meta-pill">Outlook Newsletter</span>
    <span class="meta-pill">No add-on licence required</span>
  </div>
</header>

<!-- ═══════════════════════════════════════════════
     TABLE OF CONTENTS
════════════════════════════════════════════════ -->
<nav class="toc">
  <div class="toc-inner">
    <span class="toc-label">Jump to</span>
    <a href="#s1">1. Architecture overview</a>
    <a href="#s2">2. Subscription management</a>
    <a href="#s3">3. HTML email template</a>
    <a href="#s4">4. Power Automate flow</a>
    <a href="#s5">5. Outlook Newsletter</a>
    <a href="#s6">6. Archives (SharePoint)</a>
    <a href="#s7">7. Email signature promotion</a>
    <a href="#s8">8. Statistics</a>
  </div>
</nav>

<!-- ═══════════════════════════════════════════════
     MAIN CONTENT
════════════════════════════════════════════════ -->
<main class="container">

<!-- ───────────────────────────────────────────────
     SECTION 1 — ARCHITECTURE
──────────────────────────────────────────────── -->
<section id="s1">
  <div class="section-header">
    <div class="section-num blue">1</div>
    <h2>Architecture overview
      <span class="sub">All tools included in M365 standard licences — zero additional cost</span>
    </h2>
  </div>

  <p>This solution combines five native M365 tools to cover the full newsletter lifecycle: subscription, content creation, delivery, archiving, and promotion.</p>

  <table class="data-table">
    <thead>
      <tr><th>Layer</th><th>Tool</th><th>Role</th><th>Licence</th></tr>
    </thead>
    <tbody>
      <tr><td>Subscription form</td><td>Microsoft Forms</td><td>Self-service opt-in / opt-out</td><td><span class="badge green">All plans</span></td></tr>
      <tr><td>Subscriber database</td><td>SharePoint List</td><td>Stores emails, names, status</td><td><span class="badge green">All plans</span></td></tr>
      <tr><td>Automation</td><td>Power Automate</td><td>Subscribe/unsubscribe flows + send loop</td><td><span class="badge amber">Business Standard+</span></td></tr>
      <tr><td>Delivery</td><td>Outlook (Send Email V2)</td><td>HTML email via service mailbox</td><td><span class="badge amber">Business Standard+</span></td></tr>
      <tr><td>Content / Editor</td><td>Outlook Newsletter or SharePoint News</td><td>Visual editor for content creation</td><td><span class="badge green">All plans</span></td></tr>
      <tr><td>Archives</td><td>SharePoint Pages</td><td>Permanent per-edition archive page</td><td><span class="badge green">All plans</span></td></tr>
      <tr><td>Promotion</td><td>Exchange Transport Rule</td><td>Newsletter promo block in email signatures</td><td><span class="badge green">All plans</span></td></tr>
    </tbody>
  </table>

  <div class="callout success">
    <span class="callout-icon">✓</span>
    <div><strong>No Viva Suite or Employee Communications &amp; Communities licence required.</strong> Viva Engage Newsletters (the paid feature for newsletter creation) is intentionally excluded. Everything described here uses tools already available in your tenant.</div>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 2 — SUBSCRIPTION MANAGEMENT
──────────────────────────────────────────────── -->
<section id="s2">
  <div class="section-header">
    <div class="section-num teal">2</div>
    <h2>Subscription management
      <span class="sub">Microsoft Forms + SharePoint List + Power Automate</span>
    </h2>
  </div>

  <h3>2.1 — SharePoint List structure (« Subscribers »)</h3>
  <p>Create a SharePoint list named <strong>Subscribers</strong> on your Communication site with the following columns:</p>

  <table class="data-table">
    <thead><tr><th>Column name</th><th>Type</th><th>Notes</th></tr></thead>
    <tbody>
      <tr><td>Title</td><td>Single line of text</td><td>Full name (default column, rename to « Name »)</td></tr>
      <tr><td>Email</td><td>Single line of text</td><td>Primary key — used to match on unsubscribe</td></tr>
      <tr><td>Status</td><td>Choice</td><td>Values: <strong>Active</strong> / <strong>Inactive</strong> — default: Active</td></tr>
      <tr><td>SubscribedOn</td><td>Date and time</td><td>Set by flow at subscription time</td></tr>
      <tr><td>UnsubscribedOn</td><td>Date and time</td><td>Set by flow at unsubscription — do not delete rows</td></tr>
    </tbody>
  </table>

  <div class="callout info">
    <span class="callout-icon">i</span>
    <div>Do not delete rows on unsubscribe — set Status to <strong>Inactive</strong> instead. This preserves audit history and allows re-subscription without duplicate entries.</div>
  </div>

  <h3>2.2 — Subscription flow (Power Automate)</h3>
  <div class="steps">
    <div class="step">
      <div class="step-track"><div class="step-dot">1</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Trigger — When a new Forms response is submitted</div>
        <div class="step-desc">Select your « Subscribe to newsletter » MS Forms form. This fires every time someone submits the form.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">2</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Get response details</div>
        <div class="step-desc">Retrieve the submitted email and name from the form response.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">3</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Get items — Check if email already exists in Subscribers list</div>
        <div class="step-desc">Filter query: <code>Email eq '@{outputs('Get_response_details')?['body/responderEmail']}'</code></div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">4</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Condition — Does the item exist?</div>
        <div class="step-desc">
          <strong>If yes:</strong> Update item — set Status to <strong>Active</strong>, clear UnsubscribedOn.<br>
          <strong>If no:</strong> Create item — Email, Name, Status = Active, SubscribedOn = utcNow().
        </div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">5</div></div>
      <div class="step-body">
        <div class="step-title">Send confirmation email</div>
        <div class="step-desc">Send a welcome email to the subscriber confirming their subscription and providing the unsubscribe link.</div>
      </div>
    </div>
  </div>

  <h3>2.3 — Unsubscribe flow</h3>
  <p>The unsubscribe link in every newsletter email should point to a dedicated MS Forms form (or a SharePoint page with an embedded form) asking for the user&rsquo;s email. A separate Power Automate flow handles it:</p>

  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">Power Automate — Unsubscribe logic</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="cmt">// Trigger: When new Forms response submitted (Unsubscribe form)</span>
<span class="cmt">// Action 1: Get items from Subscribers list</span>
Filter Query: <span class="str">Email eq '@{triggerOutputs()?['body/responderEmail']}'</span>

<span class="cmt">// Action 2: Apply to each result</span>
  Update item:
    Status        → <span class="str">"Inactive"</span>
    UnsubscribedOn → <span class="kw">utcNow()</span>

<span class="cmt">// Action 3: Send goodbye email</span>
  To:      responder email
  Subject: <span class="str">"You have been unsubscribed"</span>
  Body:    confirmation + re-subscribe link</code></pre>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 3 — HTML EMAIL TEMPLATE
──────────────────────────────────────────────── -->
<section id="s3">
  <div class="section-header">
    <div class="section-num amber">3</div>
    <h2>HTML email template
      <span class="sub">Outlook-compatible table-based layout with dynamic variables</span>
    </h2>
  </div>

  <p>Store this template in a SharePoint List column named <code>TemplateHtml</code> (multiline text, 100,000 chars). Power Automate retrieves it at send time and replaces the <code>{{VARIABLES}}</code> using the <code>replace()</code> expression.</p>

  <div class="callout warn">
    <span class="callout-icon">!</span>
    <div><strong>Outlook HTML rules:</strong> Use <code>&lt;table&gt;</code> for layout (no div/flexbox), inline CSS only (no <code>&lt;style&gt;</code> in <code>&lt;head&gt;</code>), no border-radius on images, and host images on a publicly accessible URL or SharePoint with guest access settings checked.</div>
  </div>

  <h3>Dynamic variables reference</h3>
  <table class="data-table">
    <thead><tr><th>Variable</th><th>Replaced by</th><th>When</th></tr></thead>
    <tbody>
      <tr><td><code>{{COMPANY_NAME}}</code></td><td>Your organisation name</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{NEWSLETTER_TITLE}}</code></td><td>Edition title (from trigger input)</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{SUBTITLE}}</code></td><td>Edition subtitle</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{EDITION_NUMBER}}</code></td><td>e.g. « #12 »</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{MONTH_EDITION}}</code></td><td>e.g. « April 2026 »</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{INTRO_TEXT}}</code></td><td>Editorial intro paragraph</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{ARTICLE_1_TITLE}}</code>, <code>{{ARTICLE_1_SUMMARY}}</code>, <code>{{ARTICLE_1_LINK}}</code></td><td>Lead article content</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{ARTICLE_2_*}}</code>, <code>{{ARTICLE_3_*}}</code></td><td>Secondary articles</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{SP_PAGE_LINK}}</code></td><td>Link to the SharePoint archive page for this edition</td><td>At flow initialisation</td></tr>
      <tr><td><code>{{RECIPIENT_FIRSTNAME}}</code></td><td>Subscriber&rsquo;s first name</td><td>Inside the loop (per recipient)</td></tr>
      <tr><td><code>{{UNSUBSCRIBE_LINK}}</code></td><td>Unsubscribe form URL + encoded email param</td><td>Inside the loop (per recipient)</td></tr>
    </tbody>
  </table>

  <h3>Power Automate — replace() chain for global variables</h3>
  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">Power Automate Expression</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="cmt">// Compose action — "htmlBase" variable</span>
<span class="kw">replace</span>(
  <span class="kw">replace</span>(
    <span class="kw">replace</span>(
      <span class="kw">replace</span>(
        outputs(<span class="str">'Get_template_item'</span>)?[<span class="str">'fields'</span>]?[<span class="str">'TemplateHtml'</span>],
        <span class="str">'{{NEWSLETTER_TITLE}}'</span>, triggerBody()?[<span class="str">'text_TITLE'</span>]
      ),
      <span class="str">'{{SUBTITLE}}'</span>, triggerBody()?[<span class="str">'text_SUBTITLE'</span>]
    ),
    <span class="str">'{{INTRO_TEXT}}'</span>, triggerBody()?[<span class="str">'text_INTRO'</span>]
  ),
  <span class="str">'{{SP_PAGE_LINK}}'</span>, triggerBody()?[<span class="str">'text_SP_LINK'</span>]
)
<span class="cmt">// Chain as many replace() as you have variables</span></code></pre>
  </div>

  <h3>Per-recipient personalisation (inside the Apply to each loop)</h3>
  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">Power Automate Expression — inside loop</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="kw">replace</span>(
  <span class="kw">replace</span>(
    variables(<span class="str">'htmlBase'</span>),
    <span class="str">'{{RECIPIENT_FIRSTNAME}}'</span>,
    items(<span class="str">'Apply_to_each'</span>)?[<span class="str">'FirstName'</span>]
  ),
  <span class="str">'{{UNSUBSCRIBE_LINK}}'</span>,
  <span class="kw">concat</span>(
    <span class="str">'https://company.sharepoint.com/sites/Communication/SitePages/unsubscribe.aspx?email='</span>,
    <span class="kw">encodeUriComponent</span>(items(<span class="str">'Apply_to_each'</span>)?[<span class="str">'Email'</span>])
  )
)</code></pre>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 4 — POWER AUTOMATE SEND FLOW
──────────────────────────────────────────────── -->
<section id="s4">
  <div class="section-header">
    <div class="section-num blue">4</div>
    <h2>Power Automate — Send flow
      <span class="sub">Manual trigger → get template → loop subscribers → send → log</span>
    </h2>
  </div>

  <div class="steps">
    <div class="step">
      <div class="step-track"><div class="step-dot">1</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Trigger — Manually trigger a flow</div>
        <div class="step-desc">Input fields: Title, Subtitle, Intro, Edition number, Month, SP page link, 3× article (title / summary / link), 2× event (day / month / title / detail).<br><br>
        <strong>Alternative:</strong> trigger on « When an item is created » in a SharePoint « Editions » list — the editor fills in the list and the flow starts automatically.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">2</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Get item — SharePoint « EmailTemplates » list (ID: 1)</div>
        <div class="step-desc">Retrieves the HTML stored in the <code>TemplateHtml</code> column. This is the single source of truth for the email design — edit once, applies to all future editions.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">3</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Initialize variable « htmlBase » — Compose with replace() chain</div>
        <div class="step-desc">Substitutes all global <code>{{VARIABLES}}</code> into the template HTML. See the expression in Section 3.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot">4</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Get items — SharePoint « Subscribers » list</div>
        <div class="step-desc">OData filter: <code>Status eq 'Active'</code> — Top count: 5000. Only active subscribers receive the email.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot amber">5</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Apply to each — loop on active subscribers</div>
        <div class="step-desc">Set <strong>Degree of Parallelism to 1</strong> in the loop settings to avoid Exchange Online throttling (limit: ~30 emails/min on standard accounts). For larger volumes, use Graph API Send Mail with concurrency 5.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot amber">6</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Inside loop — Compose personalised HTML</div>
        <div class="step-desc">Replace <code>{{RECIPIENT_FIRSTNAME}}</code> and <code>{{UNSUBSCRIBE_LINK}}</code> with per-recipient values. See expression in Section 3.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot amber">7</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Inside loop — Send an email (V2)</div>
        <div class="step-desc">
          To: <code>items('Apply_to_each')?['Email']</code><br>
          Subject: <code>concat('[Newsletter] ', triggerBody()?['text_TITLE'])</code><br>
          Body: <code>outputs('Compose_personalised_html')</code><br>
          Is HTML: <strong>Yes</strong><br>
          From: <code>newsletter@company.com</code> (dedicated shared mailbox)
        </div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot amber">8</div><div class="step-line"></div></div>
      <div class="step-body">
        <div class="step-title">Inside loop — Create item in « SendLogs » list</div>
        <div class="step-desc">Columns: Email, Edition title, DateSent (utcNow()), Status = « Sent ». Enables basic send statistics and error detection.</div>
      </div>
    </div>
    <div class="step">
      <div class="step-track"><div class="step-dot green">9</div></div>
      <div class="step-body">
        <div class="step-title">End — Notify the editor</div>
        <div class="step-desc">Send a Teams message or email to the flow trigger user: « Newsletter sent to X subscribers — Edition: {{TITLE}} »</div>
      </div>
    </div>
  </div>

  <div class="callout warn">
    <span class="callout-icon">!</span>
    <div><strong>500 recipients limit on Send Email (V2):</strong> the native PA connector limits the To/CC/BCC field to 500 addresses. Since this flow sends one email per recipient in a loop, this limit does not apply — but Exchange Online may throttle rapid sequential sends. Keep parallelism at 1 for audiences under 500. For larger lists, switch to the <strong>Office 365 Outlook — Send email from a shared mailbox</strong> action or Graph API.</div>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 5 — OUTLOOK NEWSLETTER
──────────────────────────────────────────────── -->
<section id="s5">
  <div class="section-header">
    <div class="section-num teal">5</div>
    <h2>Outlook Newsletter (native editor)
      <span class="sub">outlook.office.com/newsletters — no technical setup required for the editor</span>
    </h2>
  </div>

  <div class="callout success">
    <span class="callout-icon">✓</span>
    <div><strong>Generally Available since August 2025.</strong> Enabled by default (ReadWrite) for all tenants. Access directly at <strong>outlook.office.com/newsletters</strong> or via the Newsletters icon in the new Outlook left navigation.</div>
  </div>

  <h3>5.1 — Admin activation (Exchange Online PowerShell)</h3>
  <p>Verify current status and configure access levels per team:</p>

  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">PowerShell — Exchange Online</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="cmt"># Connect to Exchange Online</span>
<span class="kw">Connect-ExchangeOnline</span>

<span class="cmt"># Check current state across all policies</span>
<span class="kw">Get-OwaMailboxPolicy</span> | <span class="kw">Select</span> Name, OutlookNewslettersAccessLevel

<span class="cmt"># Enable for the whole tenant (ReadWrite = create + read)</span>
<span class="kw">Set-OwaMailboxPolicy</span> <span class="var">-Identity</span> <span class="str">"OwaMailboxPolicy-Default"</span> <span class="str">`</span>
  <span class="var">-OutlookNewslettersAccessLevel</span> ReadWrite <span class="str">`</span>
  <span class="var">-OutlookNewslettersReactions</span>   DefaultOn <span class="str">`</span>
  <span class="var">-OutlookNewslettersShowMore</span>     DefaultOn

<span class="cmt"># --- RESTRICT to a pilot group only ---</span>
<span class="cmt"># Set default to ReadOnly (everyone can read, not create)</span>
<span class="kw">Set-OwaMailboxPolicy</span> <span class="var">-Identity</span> <span class="str">"OwaMailboxPolicy-Default"</span> <span class="str">`</span>
  <span class="var">-OutlookNewslettersAccessLevel</span> ReadOnly

<span class="cmt"># Create a dedicated policy for the Communication team</span>
<span class="kw">New-OwaMailboxPolicy</span> <span class="var">-Name</span> <span class="str">"OwaPolicy-NewsletterAuthors"</span>
<span class="kw">Set-OwaMailboxPolicy</span> <span class="var">-Identity</span> <span class="str">"OwaPolicy-NewsletterAuthors"</span> <span class="str">`</span>
  <span class="var">-OutlookNewslettersAccessLevel</span> ReadWrite

<span class="cmt"># Assign policy to specific users</span>
<span class="kw">Set-CASMailbox</span> <span class="var">-Identity</span> <span class="str">"alice@company.com"</span> <span class="str">`</span>
  <span class="var">-OwaMailboxPolicy</span> <span class="str">"OwaPolicy-NewsletterAuthors"</span>

<span class="cmt"># Or assign to all members of a group (no direct group assignment in EAC)</span>
<span class="kw">Get-DistributionGroupMember</span> <span class="var">-Identity</span> <span class="str">"NL-Newsletter-Authors"</span> | <span class="kw">ForEach-Object</span> {
  <span class="kw">Set-CASMailbox</span> <span class="var">-Identity</span> <span class="str">$_</span>.PrimarySmtpAddress <span class="str">`</span>
    <span class="var">-OwaMailboxPolicy</span> <span class="str">"OwaPolicy-NewsletterAuthors"</span>
}</code></pre>
  </div>

  <h3>5.2 — Visibility options when creating a newsletter series</h3>
  <table class="data-table">
    <thead><tr><th>Visibility</th><th>Who can subscribe</th><th>Best for</th></tr></thead>
    <tbody>
      <tr><td><span class="badge green">My organisation</span></td><td>Anyone in the tenant — discoverable via Outlook search</td><td>All-staff newsletter</td></tr>
      <tr><td><span class="badge amber">Unlisted</span></td><td>Only users with the direct link</td><td>Department-level, testing</td></tr>
      <tr><td><span class="badge gray">Private</span></td><td>Manually invited users only — no subscriptions</td><td>Executive committee, HR</td></tr>
    </tbody>
  </table>

  <h3>5.3 — Analytics available per edition</h3>
  <table class="data-table">
    <thead><tr><th>Metric</th><th>Available</th></tr></thead>
    <tbody>
      <tr><td>Subscriber count</td><td><span class="badge green">Yes</span></td></tr>
      <tr><td>Email open rate</td><td><span class="badge green">Yes</span></td></tr>
      <tr><td>Reactions (likes etc.)</td><td><span class="badge green">Yes</span></td></tr>
      <tr><td>Comments</td><td><span class="badge green">Yes</span></td></tr>
      <tr><td>Click tracking on links</td><td><span class="badge red">No</span></td></tr>
      <tr><td>Per-subscriber stats</td><td><span class="badge red">No</span></td></tr>
      <tr><td>Subscriber export (CSV)</td><td><span class="badge green">Yes — from Admin menu</span></td></tr>
    </tbody>
  </table>

  <h3>5.4 — Known limitations</h3>
  <table class="data-table">
    <thead><tr><th>Limitation</th><th>Workaround</th></tr></thead>
    <tbody>
      <tr><td>No scheduled sending</td><td>Publish manually at the desired time</td></tr>
      <tr><td>Linear layout only (no multi-column)</td><td>Use Power Automate + HTML template for rich 2-column layout</td></tr>
      <tr><td>No AAD group targeting</td><td>Create one newsletter series per audience segment</td></tr>
      <tr><td>No link click tracking</td><td>Add UTM parameters to SP links + use SP Analytics</td></tr>
      <tr><td>New Outlook / OWA only</td><td>Direct link: outlook.office.com/newsletters</td></tr>
      <tr><td>Images must be uploaded in editor</td><td>Cannot link to external image URLs directly</td></tr>
    </tbody>
  </table>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 6 — ARCHIVES
──────────────────────────────────────────────── -->
<section id="s6">
  <div class="section-header">
    <div class="section-num green">6</div>
    <h2>Archives — SharePoint Pages
      <span class="sub">One page per edition, indexed via a News WebPart</span>
    </h2>
  </div>

  <p>Each newsletter edition should have a permanent SharePoint page. This page serves as the web version of the email and as the archive entry. It also allows you to track page views natively.</p>

  <h3>6.1 — Structure</h3>
  <table class="data-table">
    <thead><tr><th>Element</th><th>Details</th></tr></thead>
    <tbody>
      <tr><td>Site</td><td>Communication site (e.g. <code>/sites/Communication</code>)</td></tr>
      <tr><td>Library</td><td>Site Pages — default SharePoint pages library</td></tr>
      <tr><td>Naming convention</td><td><code>newsletter-2026-04.aspx</code> (year-month)</td></tr>
      <tr><td>Page type</td><td>News post (not standard page — enables News WebPart aggregation)</td></tr>
      <tr><td>Metadata</td><td>Add a « Edition » column (Number) and « Month » column to filter/sort</td></tr>
    </tbody>
  </table>

  <h3>6.2 — Archive index page</h3>
  <p>Create a <strong>Newsletter Archives</strong> communication page with a <strong>News WebPart</strong> configured to:</p>
  <ul style="padding-left:20px;margin:10px 0 14px;font-size:13.5px;line-height:2;">
    <li>Source: <strong>This site</strong></li>
    <li>Filter: News category = « Newsletter » (use a custom page property)</li>
    <li>Layout: <strong>Cards</strong> or <strong>List</strong></li>
    <li>Sort by: <strong>Date published — Descending</strong></li>
    <li>Show: Title, thumbnail, date, author</li>
  </ul>

  <div class="callout info">
    <span class="callout-icon">i</span>
    <div>Include the <code>{{SP_PAGE_LINK}}</code> variable in every newsletter email pointing to the current edition&rsquo;s SP page. This gives readers a « View in browser » fallback and directs them to the searchable archive.</div>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 7 — EMAIL SIGNATURE PROMOTION
──────────────────────────────────────────────── -->
<section id="s7">
  <div class="section-header">
    <div class="section-num amber">7</div>
    <h2>Promoting via email signature
      <span class="sub">Exchange Transport Rule — centralised, zero effort for users</span>
    </h2>
  </div>

  <p>A Transport Rule (Exchange mail flow rule) automatically appends a newsletter promotion block to outgoing emails from targeted users — no individual action required.</p>

  <h3>7.1 — Choose your target group</h3>
  <div class="two-col">
    <div class="option-card recommended">
      <h4>M365 Group <span class="badge blue">Recommended</span></h4>
      <p>Existing AAD group (e.g. « NL-Newsletter-Senders »). Managed from M365 admin portal. Supports dynamic membership rules.</p>
    </div>
    <div class="option-card">
      <h4>Distribution List</h4>
      <p>Classic Exchange DL. Works well but no dynamic membership based on AAD attributes.</p>
    </div>
    <div class="option-card">
      <h4>AAD Attribute (Dept.)</h4>
      <p>Target by Department or JobTitle value. Requires PowerShell condition — not available in the EAC UI.</p>
    </div>
    <div class="option-card">
      <h4>Individual mailboxes</h4>
      <p>List specific addresses. Simple but hard to maintain for more than 10 users.</p>
    </div>
  </div>

  <h3>7.2 — Signature HTML blocks (3 variants)</h3>
  <p>Replace <code>YOUR_SUBSCRIPTION_LINK</code> with your MS Forms or Outlook Newsletter URL.</p>

  <p><strong>Variant A — Pill button (recommended)</strong></p>
  <div class="sig-preview">
    <div class="sig-preview-label">Email preview</div>
    <div class="sig-preview-body">
      <p style="font-family:Arial,sans-serif;font-size:14px;margin-bottom:10px;color:#333;">John Smith · M365 Consultant</p>
      <hr style="border:none;border-top:1px solid #e0e0e0;margin:10px 0;">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td style="padding-right:10px;font-family:Arial,sans-serif;font-size:12px;color:#666;vertical-align:middle;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e9.png" alt="📩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Internal newsletter</td>
          <td style="vertical-align:middle;"><span style="display:inline-block;background:#0078d4;color:#fff;font-size:11px;font-weight:bold;padding:4px 10px;border-radius:12px;">Subscribe →</span></td>
        </tr>
        <tr><td colspan="2" style="font-family:Arial,sans-serif;font-size:11px;color:#999;padding-top:3px;">M365 &amp; SharePoint updates · Monthly</td></tr>
      </table>
    </div>
  </div>

  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">HTML — Variant A (Pill)</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="tag">&lt;hr</span> <span class="atr">style</span>=<span class="val">"border:none;border-top:1px solid #e0e0e0;margin:12px 0;"</span><span class="tag">&gt;</span>
<span class="tag">&lt;table</span> <span class="atr">cellpadding</span>=<span class="val">"0"</span> <span class="atr">cellspacing</span>=<span class="val">"0"</span> <span class="atr">border</span>=<span class="val">"0"</span><span class="tag">&gt;</span>
  <span class="tag">&lt;tr&gt;</span>
    <span class="tag">&lt;td</span> <span class="atr">style</span>=<span class="val">"padding-right:10px;font-family:Arial,sans-serif;
            font-size:12px;color:#666;vertical-align:middle;"</span><span class="tag">&gt;</span>
      &#x1f4e9; Internal newsletter
    <span class="tag">&lt;/td&gt;</span>
    <span class="tag">&lt;td</span> <span class="atr">style</span>=<span class="val">"vertical-align:middle;"</span><span class="tag">&gt;</span>
      <span class="tag">&lt;a</span> <span class="atr">href</span>=<span class="val">"YOUR_SUBSCRIPTION_LINK"</span>
         <span class="atr">style</span>=<span class="val">"display:inline-block;background:#0078d4;color:#ffffff;
                font-size:11px;font-weight:bold;padding:4px 10px;
                border-radius:12px;text-decoration:none;"</span><span class="tag">&gt;</span>
        Subscribe →
      <span class="tag">&lt;/a&gt;</span>
    <span class="tag">&lt;/td&gt;</span>
  <span class="tag">&lt;/tr&gt;</span>
  <span class="tag">&lt;tr&gt;</span>
    <span class="tag">&lt;td</span> <span class="atr">colspan</span>=<span class="val">"2"</span>
        <span class="atr">style</span>=<span class="val">"font-family:Arial,sans-serif;font-size:11px;
               color:#999;padding-top:3px;"</span><span class="tag">&gt;</span>
      M365 &amp;amp; SharePoint updates &amp;amp;middot; Monthly
    <span class="tag">&lt;/td&gt;</span>
  <span class="tag">&lt;/tr&gt;</span>
<span class="tag">&lt;/table&gt;</span></code></pre>
  </div>

  <p><strong>Variant B — Plain text link</strong></p>
  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">HTML — Variant B (Text link)</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="tag">&lt;hr</span> <span class="atr">style</span>=<span class="val">"border:none;border-top:1px solid #e0e0e0;margin:12px 0;"</span><span class="tag">&gt;</span>
<span class="tag">&lt;p</span> <span class="atr">style</span>=<span class="val">"font-family:Arial,sans-serif;font-size:12px;color:#555;margin:0;"</span><span class="tag">&gt;</span>
  &#x1f4ec; <span class="tag">&lt;a</span> <span class="atr">href</span>=<span class="val">"YOUR_SUBSCRIPTION_LINK"</span>
        <span class="atr">style</span>=<span class="val">"color:#0078d4;text-decoration:none;font-weight:bold;"</span><span class="tag">&gt;</span>
    Subscribe to our monthly internal newsletter
  <span class="tag">&lt;/a&gt;</span>
  <span class="tag">&lt;span</span> <span class="atr">style</span>=<span class="val">"color:#bbb;"</span><span class="tag">&gt;</span> · M365 &amp;amp; SharePoint<span class="tag">&lt;/span&gt;</span>
<span class="tag">&lt;/p&gt;</span></code></pre>
  </div>

  <h3>7.3 — Creating the Transport Rule</h3>
  <p><strong>Option A — Exchange Admin Center (UI)</strong></p>
  <p>Go to <strong>admin.exchange.microsoft.com</strong> → Mail flow → Rules → + Add a rule → <strong>Apply disclaimers</strong>. Configure:</p>
  <table class="data-table">
    <thead><tr><th>Setting</th><th>Value</th></tr></thead>
    <tbody>
      <tr><td>Apply this rule if…</td><td><strong>The sender is a member of</strong> → select your M365 group (e.g. « NL-Newsletter-Senders »)</td></tr>
      <tr><td>Do the following</td><td><strong>Append a disclaimer</strong> → paste the HTML from Variant A → Fallback: <strong>Wrap</strong></td></tr>
      <tr><td>Except if…</td><td><strong>The sender is</strong> → newsletter@company.com (avoids double block on newsletter emails themselves)</td></tr>
      <tr><td>Rule name</td><td>SIG – Newsletter promo – [GROUP_NAME]</td></tr>
      <tr><td>Mode</td><td><strong>Enforce</strong> (not Test)</td></tr>
    </tbody>
  </table>

  <p><strong>Option B — PowerShell (recommended for repeatability)</strong></p>
  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">PowerShell — Exchange Online</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="kw">Connect-ExchangeOnline</span>

<span class="cmt"># HTML block to append (store in variable)</span>
<span class="var">$signatureHtml</span> = <span class="str">@"
&lt;hr style='border:none;border-top:1px solid #e0e0e0;margin:12px 0;'&gt;
&lt;table cellpadding='0' cellspacing='0' border='0'&gt;
  &lt;tr&gt;
    &lt;td style='padding-right:10px;font-family:Arial,sans-serif;
               font-size:12px;color:#666;vertical-align:middle;'&gt;
      &#x1f4e9; Internal newsletter
    &lt;/td&gt;
    &lt;td style='vertical-align:middle;'&gt;
      &lt;a href='YOUR_SUBSCRIPTION_LINK'
         style='display:inline-block;background:#0078d4;color:#ffffff;
                font-size:11px;font-weight:bold;padding:4px 10px;
                border-radius:12px;text-decoration:none;'&gt;
        Subscribe →
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td colspan='2'
        style='font-family:Arial,sans-serif;font-size:11px;
               color:#999;padding-top:3px;'&gt;
      M365 &amp; SharePoint updates · Monthly
    &lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
"@</span>

<span class="cmt"># Create the transport rule scoped to a group</span>
<span class="kw">New-TransportRule</span> <span class="str">`</span>
  <span class="var">-Name</span>                          <span class="str">"SIG – Newsletter promo – Communication"</span> <span class="str">`</span>
  <span class="var">-FromMemberOf</span>                  <span class="str">"NL-Newsletter-Senders"</span> <span class="str">`</span>
  <span class="var">-ApplyHtmlDisclaimerLocation</span>   Append <span class="str">`</span>
  <span class="var">-ApplyHtmlDisclaimerText</span>       <span class="var">$signatureHtml</span> <span class="str">`</span>
  <span class="var">-ApplyHtmlDisclaimerFallbackAction</span> Wrap <span class="str">`</span>
  <span class="var">-ExceptIfFrom</span>                  <span class="str">"newsletter@company.com"</span> <span class="str">`</span>
  <span class="var">-Enabled</span>                       <span class="var">$true</span>

<span class="cmt"># Update the HTML later (e.g. new subscription link) without recreating the rule</span>
<span class="kw">Set-TransportRule</span> <span class="str">`</span>
  <span class="var">-Identity</span>                    <span class="str">"SIG – Newsletter promo – Communication"</span> <span class="str">`</span>
  <span class="var">-ApplyHtmlDisclaimerText</span>     <span class="var">$signatureHtml_updated</span></code></pre>
  </div>

  <h3>7.4 — Managing the target group</h3>
  <p>The group <code>NL-Newsletter-Senders</code> is the only thing to maintain. Adding a user to the group automatically applies the signature block to their outbound emails — no rule changes needed.</p>

  <p>For dynamic membership based on an AAD attribute (requires Entra ID P1, included in M365 E3):</p>
  <div class="code-block">
    <div class="cb-header">
      <span class="cb-lang">Entra ID — Dynamic group membership rule</span>
      <button class="cb-copy" onclick="copyCode(this)">Copy</button>
    </div>
    <pre><code><span class="cmt">// Auto-include all users in the "Communication" department</span>
(user.department <span class="kw">-eq</span> <span class="str">"Communication"</span>) <span class="kw">or</span>
(user.jobTitle <span class="kw">-contains</span> <span class="str">"Director"</span>)</code></pre>
  </div>

  <div class="callout warn">
    <span class="callout-icon">!</span>
    <div><strong>Transport Rules apply server-side.</strong> The signature block will not appear in the sender&rsquo;s Sent Items — only in the received email. Always test by sending from a group member account to an external or different internal mailbox.</div>
  </div>
</section>

<!-- ───────────────────────────────────────────────
     SECTION 8 — STATISTICS
──────────────────────────────────────────────── -->
<section id="s8">
  <div class="section-header">
    <div class="section-num green">8</div>
    <h2>Statistics
      <span class="sub">Native M365 analytics — no third-party tool required</span>
    </h2>
  </div>

  <table class="data-table">
    <thead><tr><th>Metric</th><th>Source</th><th>How to access</th></tr></thead>
    <tbody>
      <tr><td>Active subscriber count</td><td>SharePoint « Subscribers » list</td><td>List view filtered on Status = Active — count displayed in list header</td></tr>
      <tr><td>Unsubscription count / rate</td><td>SharePoint « Subscribers » list</td><td>List view filtered on Status = Inactive with UnsubscribedOn date range</td></tr>
      <tr><td>Successful sends per edition</td><td>SharePoint « SendLogs » list</td><td>Filter by Edition title — count rows with Status = Sent</td></tr>
      <tr><td>SP page views per edition</td><td>SharePoint Page Analytics</td><td>Open the edition page → Page details (top right) → Analytics tab</td></tr>
      <tr><td>Email open rate</td><td>Outlook Newsletter (if using native editor)</td><td>Edition → Analytics tab in Outlook Newsletters UI</td></tr>
      <tr><td>Reactions &amp; comments</td><td>Outlook Newsletter</td><td>Edition → Analytics tab</td></tr>
      <tr><td>Link click tracking</td><td>Not natively available</td><td>Add UTM parameters to SP links: <code>?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=apr2026</code> — track via SP Analytics</td></tr>
    </tbody>
  </table>

  <h3>8.1 — Simple KPI dashboard (SharePoint list view)</h3>
  <p>Create a calculated view on the « SendLogs » list grouped by Edition with these aggregations:</p>
  <ul style="padding-left:20px;margin:10px 0;font-size:13.5px;line-height:2;">
    <li><strong>Total sends</strong> — Count of ID column</li>
    <li><strong>Success rate</strong> — Calculated column: <code>=IF(Status="Sent","OK","KO")</code></li>
    <li><strong>Date range</strong> — Filter by DateSent between edition start/end</li>
  </ul>

  <div class="callout info">
    <span class="callout-icon">i</span>
    <div><strong>Open rate tracking without Viva:</strong> embed a 1×1 transparent PNG image in the email HTML with a unique URL per edition (hosted on SharePoint, accessible without login). SharePoint file access logs will show unique opens — not perfect but zero cost. Alternatively, use a Power BI report connected to the SendLogs and SP Analytics data sources for a combined dashboard.</div>
  </div>
</section>

</main>



<link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&#038;family=DM+Sans:wght@300;400;500&#038;display=swap" rel="stylesheet">
<style>
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 14px;
    color: #374151;
    background: #fff;
    padding: 40px 32px;
    max-width: 960px;
    margin: 0 auto;
  }

  /* ── HEADER ── */
  .block-header {
    margin-bottom: 28px;
  }
  .block-eyebrow {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9CA3AF;
    margin-bottom: 8px;
  }
  .block-title {
    font-size: 22px;
    font-weight: 500;
    color: #111827;
    line-height: 1.3;
    margin-bottom: 6px;
  }
  .block-subtitle {
    font-size: 13px;
    color: #6B7280;
  }

  /* ── SCENARIO CARDS HEADER ── */
  .scenario-heads {
    display: grid;
    grid-template-columns: 190px 1fr 1fr;
    gap: 0;
    margin-bottom: 0;
  }
  .sh-empty { background: #fff; }
  .sh-card {
    padding: 16px 20px;
    border-radius: 10px 10px 0 0;
    border: 1.5px solid transparent;
    border-bottom: none;
  }
  .sh-card.ol {
    background: #F0FDF4;
    border-color: #16A34A;
    margin-right: 6px;
  }
  .sh-card.pa {
    background: #EEF2FF;
    border-color: #6366F1;
  }
  .sh-tag {
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .sh-card.ol .sh-tag { color: #16A34A; }
  .sh-card.pa .sh-tag { color: #6366F1; }
  .sh-name {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    line-height: 1.3;
    margin-bottom: 3px;
  }
  .sh-url {
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    color: #6B7280;
  }

  /* ── TABLE ── */
  .cmp-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #E5E7EB;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
  }
  .cmp-table tr:last-child td { border-bottom: none; }

  .cmp-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #F3F4F6;
    vertical-align: top;
    font-size: 13px;
    line-height: 1.6;
  }

  /* label column */
  .cmp-table td:first-child {
    width: 190px;
    font-size: 12px;
    font-weight: 500;
    color: #6B7280;
    background: #F9FAFB;
    border-right: 1px solid #E5E7EB;
  }

  /* Outlook column */
  .cmp-table td:nth-child(2) {
    border-right: 1px solid #E5E7EB;
    border-left: 1.5px solid #16A34A;
    background: #FAFFFE;
  }

  /* PA column */
  .cmp-table td:nth-child(3) {
    border-left: 1.5px solid #6366F1;
    background: #FAFAFF;
  }

  /* zebra */
  .cmp-table tr:nth-child(even) td:first-child { background: #F3F4F6; }
  .cmp-table tr:nth-child(even) td:nth-child(2) { background: #F7FFFE; }
  .cmp-table tr:nth-child(even) td:nth-child(3) { background: #F7F7FF; }

  /* ── BADGES ── */
  .badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
    margin: 1px 2px 3px 0;
    font-family: 'DM Mono', monospace;
    letter-spacing: .02em;
  }
  .bg { background: #DCFCE7; color: #166534; }   /* green */
  .bt { background: #CCFBF1; color: #0F766E; }   /* teal */
  .bb { background: #DBEAFE; color: #1D4ED8; }   /* blue */
  .ba { background: #FEF3C7; color: #92400E; }   /* amber */
  .br { background: #FEE2E2; color: #991B1B; }   /* red */
  .bp { background: #EDE9FE; color: #5B21B6; }   /* purple */
  .bk { background: #F3F4F6; color: #374151; }   /* gray */

  /* ── DETAIL TEXT ── */
  .detail {
    display: block;
    font-size: 12px;
    color: #6B7280;
    margin-top: 3px;
    line-height: 1.55;
  }

  /* ── SUMMARY FOOTER ── */
  .summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 20px;
  }
  .sum-card {
    border-radius: 10px;
    padding: 18px 20px;
  }
  .sum-card.ol { background: #F0FDF4; border: 1.5px solid #16A34A; }
  .sum-card.pa { background: #EEF2FF; border: 1.5px solid #6366F1; }
  .sum-card h3 {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 10px;
  }
  .sum-card.ol h3 { color: #166534; }
  .sum-card.pa h3 { color: #4338CA; }
  .sum-card ul {
    padding-left: 16px;
    font-size: 12.5px;
    color: #374151;
    line-height: 1.9;
  }
  .sum-card ul li::marker { color: #9CA3AF; }

  .verdict {
    margin-top: 20px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 16px 20px;
    font-size: 13px;
    color: #374151;
    line-height: 1.65;
  }
  .verdict strong { color: #111827; }
</style>
</head>
<body>

<!-- HEADER -->
<div class="block-header">
  <div class="block-eyebrow">Microsoft 365 · Internal Newsletter</div>
  <div class="block-title">Two approaches — which one fits your needs?</div>
  <div class="block-subtitle">Outlook Newsletter native vs. Power Automate + HTML custom flow — full feature comparison</div>
</div>

<!-- SCENARIO COLUMN HEADERS -->
<div class="scenario-heads">
  <div class="sh-empty"></div>
  <div class="sh-card ol">
    <div class="sh-tag">Scenario A</div>
    <div class="sh-name">Outlook Newsletter</div>
    <div class="sh-url">outlook.office.com/newsletters</div>
  </div>
  <div class="sh-card pa">
    <div class="sh-tag">Scenario B</div>
    <div class="sh-name">Power Automate + HTML</div>
    <div class="sh-url">Custom flow · SharePoint List</div>
  </div>
</div>

<!-- COMPARISON TABLE -->
<table class="cmp-table">

  <tr>
    <td>Subscriber opt-in</td>
    <td>
      <span class="badge bg">Native — zero setup</span>
      <span class="detail">Subscribers click « Subscribe » in Outlook or via the newsletter link. Microsoft manages the subscriber list automatically.</span>
    </td>
    <td>
      <span class="badge bp">Custom — build required</span>
      <span class="detail">MS Forms → Power Automate flow → SharePoint « Subscribers » list. ~2h setup.</span>
    </td>
  </tr>

  <tr>
    <td>Unsubscribe</td>
    <td>
      <span class="badge bg">Native — auto-generated link</span>
      <span class="detail">Microsoft includes an unsubscribe link in every sent email. Handled entirely by the platform.</span>
    </td>
    <td>
      <span class="badge bp">Custom — build required</span>
      <span class="detail">Encoded URL in email footer → PA flow sets Status = Inactive in SP List.</span>
    </td>
  </tr>

  <tr>
    <td>Subscriber list</td>
    <td>
      <span class="badge bt">Managed by Microsoft</span>
      <span class="detail">Visible in the Subscribers tab of your newsletter. CSV export available. No SharePoint list to create or maintain.</span>
    </td>
    <td>
      <span class="badge bp">SharePoint List</span>
      <span class="detail">Columns: Email, Name, Status (Active/Inactive), SubscribedOn, UnsubscribedOn. Full control, full maintenance.</span>
    </td>
  </tr>

  <tr>
    <td>Content editor</td>
    <td>
      <span class="badge bt">Visual block editor</span>
      <span class="detail">Text, image, button, poll, author card blocks. No technical knowledge required. Any M365 user can write and publish.</span>
    </td>
    <td>
      <span class="badge bp">HTML in SP List</span>
      <span class="detail">Full HTML template with {{VARIABLES}} replaced by Power Automate expressions. Requires HTML maintenance.</span>
    </td>
  </tr>

  <tr>
    <td>Layout &amp; design</td>
    <td>
      <span class="badge ba">Linear only</span>
      <span class="detail">No multi-column layout, no custom CSS. Microsoft controls the visual structure. Branding is limited to logo + theme colour.</span>
    </td>
    <td>
      <span class="badge bg">Fully custom</span>
      <span class="detail">Complete HTML/CSS inline control. 2-column layout, coloured sections, agenda blocks, custom header — pixel-perfect design.</span>
    </td>
  </tr>

  <tr>
    <td>Sending</td>
    <td>
      <span class="badge bg">1-click Publish</span>
      <span class="detail">Microsoft sends to all subscribers automatically on publish. Sender = your own mailbox.</span>
    </td>
    <td>
      <span class="badge bp">PA Apply to each loop</span>
      <span class="detail">Loop on active SP List items → Send Email (V2) per recipient → log to SendLogs list. Sent from a shared mailbox (newsletter@company.com).</span>
    </td>
  </tr>

  <tr>
    <td>Scheduled sending</td>
    <td>
      <span class="badge br">Not available</span>
      <span class="detail">Immediate publish only. Workaround: open Outlook at the desired time and publish manually.</span>
    </td>
    <td>
      <span class="badge bg">Yes — Scheduled flow</span>
      <span class="detail">Recurrence trigger or manual flow run at any chosen time and frequency.</span>
    </td>
  </tr>

  <tr>
    <td>Audience targeting</td>
    <td>
      <span class="badge ba">Per series only</span>
      <span class="detail">Each newsletter series has its own subscriber base. No AAD group or department filter. Create multiple series to segment audiences.</span>
    </td>
    <td>
      <span class="badge bg">OData filter on SP List</span>
      <span class="detail">Filter by Department, AAD group, custom column, or any attribute stored in the list. Full segmentation control.</span>
    </td>
  </tr>

  <tr>
    <td>Personalisation</td>
    <td>
      <span class="badge br">None</span>
      <span class="detail">Same email content for every subscriber. No « Hello {{FirstName}} » or conditional sections.</span>
    </td>
    <td>
      <span class="badge bg">Per-recipient</span>
      <span class="detail">replace() inside the loop — first name, encoded unsubscribe link, conditional content blocks based on subscriber attributes.</span>
    </td>
  </tr>

  <tr>
    <td>Archives</td>
    <td>
      <span class="badge bt">Native in Outlook</span>
      <span class="detail">Every published edition has a permanent URL accessible from Outlook/OWA. No SharePoint page required. Searchable from Outlook.</span>
    </td>
    <td>
      <span class="badge bp">SharePoint Pages</span>
      <span class="detail">One SP News page per edition + an index page using a filtered News WebPart. Requires manual page creation per edition.</span>
    </td>
  </tr>

  <tr>
    <td>Open rate tracking</td>
    <td>
      <span class="badge bg">Native — per edition</span>
      <span class="detail">Analytics tab in the Outlook Newsletter UI shows open rate, reactions, and comment counts.</span>
    </td>
    <td>
      <span class="badge ba">Workaround needed</span>
      <span class="detail">Embed a 1×1 transparent PNG with a unique SP-hosted URL per edition. SP access logs act as a basic open counter.</span>
    </td>
  </tr>

  <tr>
    <td>Click tracking</td>
    <td>
      <span class="badge br">Not available</span>
      <span class="detail">No link click data in Outlook Newsletter analytics. Workaround: add UTM parameters to SP links and read via SP Analytics.</span>
    </td>
    <td>
      <span class="badge br">Not available natively</span>
      <span class="detail">Same UTM workaround applies. No native click tracking without a third-party tool.</span>
    </td>
  </tr>

  <tr>
    <td>Reactions &amp; comments</td>
    <td>
      <span class="badge bg">Native</span>
      <span class="detail">Readers can react (like, etc.) and comment directly on each edition inside Outlook. Visible in Analytics.</span>
    </td>
    <td>
      <span class="badge br">Not available</span>
      <span class="detail">Standard Outlook email — no native reaction or comment features on the email itself.</span>
    </td>
  </tr>

  <tr>
    <td>Email signature promo</td>
    <td>
      <span class="badge bg">Same setup</span>
      <span class="detail">Exchange Transport Rule with <code>-FromMemberOf</code> targeting a group. HTML pill block linking to the newsletter series subscription URL.</span>
    </td>
    <td>
      <span class="badge bg">Same setup</span>
      <span class="detail">Identical Transport Rule configuration. HTML pill block linking to the MS Forms subscription form.</span>
    </td>
  </tr>

  <tr>
    <td>Setup time</td>
    <td>
      <span class="badge bg">~15 minutes</span>
      <span class="detail">Enable via 1 PowerShell command + create the series in Outlook. That&rsquo;s it.</span>
    </td>
    <td>
      <span class="badge ba">~4–6 hours</span>
      <span class="detail">SP Lists (Subscribers, EmailTemplates, SendLogs), 2 PA flows (subscribe + send), HTML template, archive pages.</span>
    </td>
  </tr>

  <tr>
    <td>Technical skill</td>
    <td>
      <span class="badge bg">None required</span>
      <span class="detail">Any M365 user can create, write, and publish. One-time admin PowerShell command to enable the feature.</span>
    </td>
    <td>
      <span class="badge ba">M365 intermediate</span>
      <span class="detail">Requires knowledge of Power Automate, SharePoint Lists, HTML email, and Exchange Online.</span>
    </td>
  </tr>

  <tr>
    <td>Minimum licence</td>
    <td>
      <span class="badge bg">Business Basic+ / E1+</span>
      <span class="detail">Included in all M365 plans with Exchange Online. No add-on required.</span>
    </td>
    <td>
      <span class="badge ba">Business Standard+ / E3+</span>
      <span class="detail">Power Automate flows require Business Standard or above. SP Lists and Outlook are available on all plans.</span>
    </td>
  </tr>

</table>

<!-- SUMMARY CARDS -->
<div class="summary">
  <div class="sum-card ol">
    <h3>Choose Outlook Newsletter if…</h3>
    <ul>
      <li>You want to launch in under 30 minutes</li>
      <li>The editor will be used by non-technical staff</li>
      <li>You don&rsquo;t need personalisation per recipient</li>
      <li>Subscription management handled automatically is a priority</li>
      <li>Open rate + reactions analytics are sufficient</li>
      <li>You&rsquo;re on Business Basic or E1</li>
    </ul>
  </div>
  <div class="sum-card pa">
    <h3>Choose Power Automate + HTML if…</h3>
    <ul>
      <li>You need pixel-perfect branding / multi-column layout</li>
      <li>You want personalisation (« Hello John »)</li>
      <li>You need scheduled or conditional sending</li>
      <li>You need audience segmentation by department / AAD group</li>
      <li>You want full control over the subscriber data</li>
      <li>You&rsquo;re comfortable maintaining HTML and PA flows</li>
    </ul>
  </div>
</div>

<!-- VERDICT -->
<div class="verdict">
  <strong>Recommendation for most internal use cases:</strong> start with <strong>Outlook Newsletter native</strong> — zero build time, subscription and unsubscribe managed by Microsoft, open rate analytics included. If you hit a wall on layout, personalisation, or targeting, migrate the delivery layer to a Power Automate flow while keeping the Outlook Newsletter editor for content creation (write in Outlook → copy content → send via PA). The two approaches are not mutually exclusive.
</div>

<p>L’article <a href="https://linkdis.com/add-signature-subscribe-for-newsletter/">Add signature Subscribe for newsletter</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>La hiérarchie Sharepoint</title>
		<link>https://linkdis.com/hierarchie-sharepoint/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Sat, 08 Mar 2025 16:28:00 +0000</pubDate>
				<category><![CDATA[Sécurité SharePoint]]></category>
		<guid isPermaLink="false">https://crypto.wordifysites.com/?p=246</guid>

					<description><![CDATA[<p>SharePoint est une plateforme complexe qui organise et structure l’information à différents niveaux. Pour mieux comprendre son architecture, voici une description des principaux composants qui la constituent : Rôles des utilisateurs SharePoint SharePoint a une définition claire des types d’utilisateurs qui utilisent l’intranet. Chacun dispose d’un ensemble d’autorisations pour lui permettre d’effectuer ou non des ... <a title="La hiérarchie Sharepoint" class="read-more" href="https://linkdis.com/hierarchie-sharepoint/" aria-label="En savoir plus sur La hiérarchie Sharepoint">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/hierarchie-sharepoint/">La hiérarchie Sharepoint</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">SharePoint est une plateforme complexe qui organise et structure l’information à différents niveaux. Pour mieux comprendre son architecture, voici une description des principaux composants qui la constituent :</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.33%">
<figure class="wp-block-image size-full"><img width="463" height="540"  alt="Comprendre l'architecture de Sharepoint" class="wp-image-1000 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2021/06/hierarchie-Sharepoint.png" srcset="https://linkdis.com/wp-content/uploads/2021/06/hierarchie-Sharepoint.png 463w, https://linkdis.com/wp-content/uploads/2021/06/hierarchie-Sharepoint-257x300.png 257w" sizes="(max-width: 463px) 100vw, 463px" /></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.66%">
<p class="gb-text"></p>



<ol class="wp-block-list">
<li style="font-size:16px"><strong>Tenant (Locataire) :</strong>&nbsp;C’est le niveau le plus élevé dans la hiérarchie SharePoint. Il représente l’ensemble de l’organisation et contient toutes les ressources SharePoint.</li>



<li style="font-size:16px"><strong>Site Collection (Collection de sites)</strong>&nbsp;: Un groupe de sites web partageant des fonctionnalités communes. Chaque collection de sites a un site racine principal.</li>



<li style="font-size:16px"><strong>Site (Site web)</strong>&nbsp;: Un site web individuel au sein d’une collection de sites. Il peut y avoir plusieurs niveaux de sous-sites.</li>



<li style="font-size:16px"><strong>Liste et Bibliothèques :</strong>&nbsp;Ce sont des conteneurs pour stocker et organiser les données dans un site.
<ul class="wp-block-list">
<li style="font-size:16px">Listes : pour stocker des données structurées (comme des tableaux)</li>



<li style="font-size:16px">Bibliothèques : pour stocker des documents et des fichiers.</li>
</ul>
</li>



<li style="font-size:16px"><strong>Dossiers&nbsp;</strong>: Utilisés pour organiser davantage les éléments dans les listes et les bibliothèques.</li>



<li style="font-size:16px"><strong>Éléments et Documents</strong>&nbsp;: Ce sont les unités individuelles de contenu stockées dans les listes et les bibliothèques.</li>



<li style="font-size:16px"><strong>Colonnes (ou Champs) :</strong>&nbsp;Définissent les attributs des éléments dans les listes et les bibliothèques.</li>



<li style="font-size:16px"><strong>Vues :</strong>&nbsp;Façons personnalisées d’afficher le contenu des listes et des bibliothèques.</li>



<li style="font-size:16px"><strong>Pages&nbsp;</strong>: Contiennent le contenu web visible par les utilisateurs, souvent composées de WebParts.</li>



<li style="font-size:16px"><strong>WebParts :</strong>&nbsp;Composants modulaires utilisés pour afficher du contenu sur les pages.</li>
</ol>
</div>
</div>



<h4 class="gb-text"><strong>Rôles des utilisateurs SharePoint</strong></h4>



<p class="wp-block-paragraph">SharePoint a une définition claire des types d’utilisateurs qui utilisent l’intranet. Chacun dispose d’un ensemble d’autorisations pour lui permettre d’effectuer ou non des tâches spécifiques.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>Rôle</strong></td><td><strong>Responsabilités</strong></td><td><strong>Droits</strong></td></tr></thead><tbody><tr><td><strong>Administrateur SharePoint</strong></td><td>– Gestion globale de l’environnement<br>– Configuration des paramètres<br>– Gestion des collections de sites<br>– Supervision sécurité/performances</td><td>– Contrôle total sur l’ensemble de l’environnement SharePoint</td></tr><tr><td>Administrateur de collection de sites</td><td>– Gestion d’une collection de sites spécifique<br>– Délégation des autorisations</td><td>– Toutes les actions d’un propriétaire, mais pour toute la collection<br>– Gestion des paramètres de sécurité</td></tr><tr><td><strong>Propriétaire de site</strong></td><td>– Gestion globale du site<br>– Configuration et personnalisation<br>– Gestion des autorisations<br>– Création/suppression de sous-sites<br>– Gestion des fonctionnalités</td><td>– Contrôle total sur le site et ses contenus<br>– Accorder des autorisations<br>– Modifier structure et design<br>– Ajouter, modifier, supprimer tout contenu</td></tr><tr><td>Éditeur</td><td>– Gestion avancée du contenu</td><td>– contenu<br>– Plus de droits qu’un membre, moins qu’un propriétaire</td></tr><tr><td><strong>Membres du site</strong></td><td>– Contribution au contenu<br>– Collaboration sur documents et listes</td><td>– Ajouter, modifier, supprimer éléments dans listes/bibliothèques<br>– Créer et modifier des pages<br>– Participer aux discussions<br>– Pas de modification de paramètres</td></tr><tr><td>Contributeur</td><td>– Ajout et modification de contenu limités</td><td>– Ajouter et modifier du contenu<br>– Pas de suppression du contenu d’autrui</td></tr><tr><td><strong>Visiteur du site</strong></td><td>– Consultation du contenu</td><td>– Voir pages, documents, éléments de liste<br>– Télécharger documents (si autorisé)<br>– Pas d’ajout/modification/suppression</td></tr><tr><td>Lecteur</td><td>Consultation étendue</td><td>– Voir tout le contenu<br>– Aucune modification possible</td></tr><tr><td>Utilisateur invité</td><td>– Accès externe limité</td><td>– Lecture seule très restreinte</td></tr></tbody></table></figure>



<h4 class="gb-text"><strong><strong>Hiérarchie des permissions dans SharePoint</strong></strong></h4>



<p class="wp-block-paragraph">Dans SharePoint, la gestion des accès repose sur une hiérarchie de permissions permettant de contrôler efficacement qui peut voir ou modifier le contenu. Cette structure hiérarchique garantit une administration précise et sécurisée des ressources à différents niveaux.</p>



<figure class="wp-block-image size-full"><img width="1283" height="501"  alt="" class="wp-image-1006 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2021/06/Hierachie-permissions-SharePoint.png" srcset="https://linkdis.com/wp-content/uploads/2021/06/Hierachie-permissions-SharePoint.png 1283w, https://linkdis.com/wp-content/uploads/2021/06/Hierachie-permissions-SharePoint-300x117.png 300w, https://linkdis.com/wp-content/uploads/2021/06/Hierachie-permissions-SharePoint-1024x400.png 1024w, https://linkdis.com/wp-content/uploads/2021/06/Hierachie-permissions-SharePoint-768x300.png 768w" sizes="(max-width: 1283px) 100vw, 1283px" /></figure>



<p class="has-text-align-center wp-block-paragraph">Un administrateur de site peut voir les permissions dans l’espace ADMIN SharePoint en sélectionnant un site spécifique sous l’onglet «&nbsp;Appartenance&nbsp;»</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img width="687" height="614"  alt="Les membres du site Sharepoint " class="wp-image-1010 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2021/06/Membre-site-sharepoint.png" srcset="https://linkdis.com/wp-content/uploads/2021/06/Membre-site-sharepoint.png 687w, https://linkdis.com/wp-content/uploads/2021/06/Membre-site-sharepoint-300x268.png 300w" sizes="(max-width: 687px) 100vw, 687px" /></figure>
</div>


<p class="wp-block-paragraph"><strong>Permissions de site :<br></strong>– Groupes de permission par défaut (Propriétaires, Membres, Visiteurs)<br>– Permissions uniques attribuées à des utilisateurs ou groupes spécifiques<br>&nbsp;<br><strong>Niveaux d’autorisation :<br></strong>– Liste des niveaux d’autorisation prédéfinis (Contrôle total, Conception, Modification, etc.)<br>– Option pour créer des niveaux d’autorisation personnalisés</p>



<p class="wp-block-paragraph"></p>
<p>L’article <a href="https://linkdis.com/hierarchie-sharepoint/">La hiérarchie Sharepoint</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mieux utiliser les listes et bibliothèques</title>
		<link>https://linkdis.com/mieux-utiliser-vos-listes-et-bibliotheques/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Sat, 08 Mar 2025 16:28:00 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<guid isPermaLink="false">https://crypto.wordifysites.com/?p=244</guid>

					<description><![CDATA[<p>SharePoint est une plateforme puissante pour la gestion de contenus et la collaboration en entreprise. Voici les principaux points à retenir pour exploiter au mieux ces outils et optimiser l’usage des listes et des bibliothèques : 1. La différence entre listes et bibliothèques Dans SharePoint, une liste sert à stocker des données structurées : tableaux, ... <a title="Mieux utiliser les listes et bibliothèques" class="read-more" href="https://linkdis.com/mieux-utiliser-vos-listes-et-bibliotheques/" aria-label="En savoir plus sur Mieux utiliser les listes et bibliothèques">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/mieux-utiliser-vos-listes-et-bibliotheques/">Mieux utiliser les listes et bibliothèques</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">SharePoint est une plateforme puissante pour la gestion de contenus et la collaboration en entreprise. Voici les principaux points à retenir pour exploiter au mieux ces outils et  optimiser l’usage des listes et des bibliothèques :</p>



<h2 class="gb-text">1. La différence entre listes et bibliothèques</h2>



<p class="wp-block-paragraph">Dans SharePoint, une <strong>liste</strong> sert à stocker des données structurées : tableaux, informations, tâches ou contacts. Une <strong>bibliothèque</strong>, quant à elle, est conçue pour stocker des documents, fichiers ou images. La distinction est importante car chaque type offre des fonctionnalités spécifiques adaptées à son contenu.</p>



<p class="wp-block-paragraph">Voici sous forme de tableau comparatif :</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th><strong>Critère</strong></th><th><strong>Liste</strong></th><th><strong>Bibliothèque</strong></th></tr></thead><tbody><tr><td><strong>Fonction principale</strong></td><td>Stocker des données structurées (tableaux, contacts, tâches)</td><td>Stocker des documents, fichiers ou images</td></tr><tr><td><strong>Type de contenu</strong></td><td>Infos structurées, données (ex: contacts, tâches)</td><td>Fichiers, documents, images</td></tr><tr><td><strong>Fonctionnalités spécifiques</strong></td><td>Tri, filtrage, création de colonnes, automatisations</td><td>Prévisualisation de fichiers, gestion de versions, métadonnées</td></tr></tbody></table></figure>



<h2 class="gb-text">2. Créer et personnaliser ces outils</h2>



<p class="gb-text">La création de listes ou bibliothèques se fait facilement via l’interface SharePoint. Il est ensuite possible de les personnaliser en ajoutant des colonnes (ou champs) pour définir leurs attributs : texte, date, choix, nombre, etc. Par exemple, pour une liste de projets, on peut ajouter une colonne « État » avec des options comme « En cours », « Terminé », ou « En attente » pour suivre leur progression.</p>



<h2 class="gb-text">3. Organiser avec des vues personnalisées</h2>



<p class="gb-text">L’un des avantages majeurs de SharePoint est la possibilité de créer des vues personnalisées. Par exemple, vous pouvez filtrer ou trier vos listes pour n’afficher que les éléments en cours ou pour regrouper les documents par catégorie. Cela facilite la recherche et la gestion quotidienne.</p>



<h2 class="gb-text">4. Utiliser des colonnes pour enrichir l’information</h2>



<p class="gb-text">Les colonnes permettent d’ajouter des attributs précis à chaque élément ou fichier. La vidéo explique comment créer des colonnes spécifiques et comment utiliser des colonnes calculées, qui automatisent certains calculs à partir d’autres champs, rendant la gestion des données plus efficace.</p>



<h2 class="gb-text">5. Automatiser avec Power Automate</h2>



<p class="gb-text">L’intégration avec Power Automate (anciennement Flow) permet d’automatiser certaines actions. Par exemple, lorsqu’un élément est modifié ou créé dans une liste, une notification peut être envoyée automatiquement, ou un document peut être déplacé dans une bibliothèque spécifique. Cela réduit considérablement la charge de travail manuel.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img width="762" height="353"  alt="" class="wp-image-1035 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2021/06/power-automate.jpg" srcset="https://linkdis.com/wp-content/uploads/2021/06/power-automate.jpg 762w, https://linkdis.com/wp-content/uploads/2021/06/power-automate-300x139.jpg 300w" sizes="(max-width: 762px) 100vw, 762px" /></figure>
</div>


<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>L’article <a href="https://linkdis.com/mieux-utiliser-vos-listes-et-bibliotheques/">Mieux utiliser les listes et bibliothèques</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Les types de groupes dans SharePoint</title>
		<link>https://linkdis.com/les-types-de-groupes-dans-sharepoint/</link>
		
		<dc:creator><![CDATA[vanheckealaingmailcom]]></dc:creator>
		<pubDate>Wed, 08 Nov 2023 15:25:17 +0000</pubDate>
				<category><![CDATA[Non classé]]></category>
		<guid isPermaLink="false">https://linkdis.com/?p=1</guid>

					<description><![CDATA[<p>Il existe différents types de groupes dans SharePoint pour permettre une gestion flexible des permissions et assurer un contrôle précis d&#8217;accès en fonction des rôles et des besoins de chaque utilisateur. Microsoft 365 comprend des propriétaires et des membres qui peuvent utilisés plusieurs applications telles que SharePoint, Teams ou Exchange, mais ils ne disposent pas ... <a title="Les types de groupes dans SharePoint" class="read-more" href="https://linkdis.com/les-types-de-groupes-dans-sharepoint/" aria-label="En savoir plus sur Les types de groupes dans SharePoint">Lire plus</a></p>
<p>L’article <a href="https://linkdis.com/les-types-de-groupes-dans-sharepoint/">Les types de groupes dans SharePoint</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Il existe différents types de groupes dans SharePoint pour permettre une gestion flexible des permissions et assurer un contrôle précis d&rsquo;accès en fonction des rôles et des besoins de chaque utilisateur.</p>



<figure class="wp-block-image size-full"><img width="791" height="697"  alt="Les types de groupes dans SharePoint" class="wp-image-1018 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2023/11/differents-types-groupes-SharePoint.png" srcset="https://linkdis.com/wp-content/uploads/2023/11/differents-types-groupes-SharePoint.png 791w, https://linkdis.com/wp-content/uploads/2023/11/differents-types-groupes-SharePoint-300x264.png 300w, https://linkdis.com/wp-content/uploads/2023/11/differents-types-groupes-SharePoint-768x677.png 768w" sizes="(max-width: 791px) 100vw, 791px" /></figure>



<p class="gb-text"></p>



<p class="gb-text">Microsoft 365 comprend des propriétaires et des membres qui peuvent utilisés plusieurs applications telles que SharePoint, Teams ou Exchange, mais ils ne disposent pas de permissions spécifiques pour le site d&rsquo;équipe. En revanche, les groupes SharePoint, également composés de propriétaires, membres et visiteurs, sont exclusivement utilisés dans SharePoint et possèdent des permissions pour le site d&rsquo;équipe. En résumé :</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Type de Groupe</td><td>Adhésions</td><td>Utilisation</td><td>Permissions</td></tr></thead><tbody><tr><td><strong>Groupe Microsoft 365</strong><strong></strong></td><td>Propriétaire, Membre</td><td>Utilisé dans SharePoint, Teams, Exchange, etc.</td><td>N&rsquo;a pas de permissions pour le site d&rsquo;équipe</td></tr><tr><td><strong>Groupe SharePoint</strong></td><td>Propriétaire, Membre, Visiteur</td><td>Utilisé uniquement dans SharePoint</td><td>A des permissions pour le site d&rsquo;équipe</td></tr></tbody></table></figure>



<h4 class="gb-text">Permissions dans Microsoft 365</h4>



<p class="gb-text">Différences entre les <strong>groupes de distribution</strong>, les <strong>groupes Azure AD</strong>, ainsi que leur utilisation pour les accès à Teams, SharePoint et les e-mails.</p>



<h4 class="gb-text">Gestion des accès dans Microsoft 365 : Fonctionnement général</h4>



<p class="gb-text">La gestion des accès dans Microsoft 365 repose sur <strong>Azure Active Directory (Azure AD) ou ENTRA (nouveau nom)</strong>, qui agit comme le moteur central d’identité et d’autorisation. Les utilisateurs, groupes et applications sont synchronisés ou créés dans Azure AD, et les permissions sont attribuées via des groupes ou des rôles pour accéder aux services comme Teams, SharePoint ou Exchange (e-mails).</p>



<figure class="wp-block-image size-large"><img width="1024" height="233"  alt="Fonctionnement général du système Azure Active Directory (Azure AD) " class="wp-image-1023 lws-optimize-lazyload"/ data-src="https://linkdis.com/wp-content/uploads/2023/11/AZUR-AD-fonctionnement-general-1024x233.png" srcset="https://linkdis.com/wp-content/uploads/2023/11/AZUR-AD-fonctionnement-general-1024x233.png 1024w, https://linkdis.com/wp-content/uploads/2023/11/AZUR-AD-fonctionnement-general-300x68.png 300w, https://linkdis.com/wp-content/uploads/2023/11/AZUR-AD-fonctionnement-general-768x175.png 768w, https://linkdis.com/wp-content/uploads/2023/11/AZUR-AD-fonctionnement-general.png 1535w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="gb-text">Tableau comparatif des groupes Azure AD et des groupes de distribution dans M365 :</p>



<p class="gb-text"></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Caractéristiques</strong></td><td><strong>Groupes Azure AD<br>(Sécurité et Microsoft 365)</strong></td><td><strong>Groupes de distribution</strong></td></tr><tr><td rowspan="3">Utilisation principale</td><td>&#8211; Gestion des accès</td><td rowspan="3">&#8211; Envoi d&rsquo;e-mails à plusieurs destinataires</td></tr><tr><td>&#8211; Contrôle de sécurité</td></tr><tr><td>&#8211; Attribution de licences</td></tr><tr><td>Accès SharePoint</td><td>Oui</td><td>Non</td></tr><tr><td>Accès Teams</td><td>Oui</td><td>Non</td></tr><tr><td>Envoi d&rsquo;e-mails</td><td>Oui (Groupes Microsoft 365)</td><td>Oui</td></tr><tr><td>Gestion des licences</td><td>Oui</td><td>Non</td></tr><tr><td>Contrôle d&rsquo;accès aux applications</td><td>Oui</td><td>Non</td></tr><tr><td>Synchronisation avec Azure AD</td><td>Oui</td><td>Non (géré dans Exchange Online)</td></tr><tr><td>Propriétaires et membres</td><td>Oui</td><td>Non (seulement membres)</td></tr><tr><td rowspan="2">Interface de gestion</td><td>&#8211; Portail Azure AD</td><td rowspan="2">Exchange Online</td></tr><tr><td>&#8211; Centre d&rsquo;administration M365</td></tr><tr><td>Automatisation et scripts</td><td>Oui</td><td>Limité</td></tr><tr><td>Intégration avec autres services M365</td><td>Étendue</td><td>Limitée</td></tr><tr><td>Recommandé pour SharePoint/Teams</td><td>Oui</td><td>Non</td></tr><tr><td>Recommandé pour e-mails</td><td>Oui (Groupes Microsoft 365)</td><td>Oui</td></tr><tr><td>Gestion centralisée</td><td>Oui</td><td>Non</td></tr><tr><td>Types</td><td>&#8211; Sécurité</td><td>Distribution uniquement</td></tr></tbody></table></figure>
<p>L’article <a href="https://linkdis.com/les-types-de-groupes-dans-sharepoint/">Les types de groupes dans SharePoint</a> est apparu en premier sur <a href="https://linkdis.com">Linkdis</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
