Category: News
File Exchange can’t use the publish functionality?
For the past two months at any time I haven’t been able to use FEX’s ‘publish’ feature. After clicking that button, a popup appears saying:
‘The application is currently unavailable.
We’ve been notified of the issue and are looking into it.’
Has anyone else had the same problem as me?
I’m currently in Mainland China; with or without VPN, switching regions, it always shows this error. The browser I’m using is the latest version of Microsoft Edge.”For the past two months at any time I haven’t been able to use FEX’s ‘publish’ feature. After clicking that button, a popup appears saying:
‘The application is currently unavailable.
We’ve been notified of the issue and are looking into it.’
Has anyone else had the same problem as me?
I’m currently in Mainland China; with or without VPN, switching regions, it always shows this error. The browser I’m using is the latest version of Microsoft Edge.” For the past two months at any time I haven’t been able to use FEX’s ‘publish’ feature. After clicking that button, a popup appears saying:
‘The application is currently unavailable.
We’ve been notified of the issue and are looking into it.’
Has anyone else had the same problem as me?
I’m currently in Mainland China; with or without VPN, switching regions, it always shows this error. The browser I’m using is the latest version of Microsoft Edge.” publish, fex, web MATLAB Answers — New Questions
2 area bus system
I’m unable to find Kundur bus system file.I’m unable to find Kundur bus system file. I’m unable to find Kundur bus system file. kundur-two-area-bus-system MATLAB Answers — New Questions
Dependency analyzer refuses to work
I have tried to run the Dependency Analyzer from the Apps tab countless times and it has only worked once. I didn’t do anything differently from the previous and next attempt, it just randomly worked. I have tried selecting individual files and whole folders. It shows it’s analyzing each item, then throws an error and says it’s "Updating the graph" forever and all you can do is close the window.
I’ve tried reinstalling and updating Matlab, running as administrator, trying different file types, etc. all to no avail.I have tried to run the Dependency Analyzer from the Apps tab countless times and it has only worked once. I didn’t do anything differently from the previous and next attempt, it just randomly worked. I have tried selecting individual files and whole folders. It shows it’s analyzing each item, then throws an error and says it’s "Updating the graph" forever and all you can do is close the window.
I’ve tried reinstalling and updating Matlab, running as administrator, trying different file types, etc. all to no avail. I have tried to run the Dependency Analyzer from the Apps tab countless times and it has only worked once. I didn’t do anything differently from the previous and next attempt, it just randomly worked. I have tried selecting individual files and whole folders. It shows it’s analyzing each item, then throws an error and says it’s "Updating the graph" forever and all you can do is close the window.
I’ve tried reinstalling and updating Matlab, running as administrator, trying different file types, etc. all to no avail. error MATLAB Answers — New Questions
Viva Engage Communities Gain Support for Sensitivity Labels
Viva Engage to Respect Settings in Container Management Labels
In a move that should have happened a long time ago, message center notification MC1250283 (12 March 2026) announces that Viva Engage communities will support Purview sensitivity labels. This change is not for protection (encryption). Rather, it means that Viva Engage communities will detect when the underlying Microsoft 365 groups are assigned container management sensitivity labels. If a container management sensitivity label is present for a group, Viva Engage will inherit settings from the label and apply them to the community.
The update will roll out in late March 2026 and should be available worldwide by early April 2026.
Adopting Container Management
A container is a Microsoft 365 group. Sensitivity labels are often created to apply protection to files and emails, including preventing Microsoft 365 Copilot from processing sensitive content; they can also be configured with settings to control how containers operate such as privacy, external sharing, block download, and guest access (Figure 1).

Container management sensitivity labels first became available in 2021 and are supported by Teams, Outlook group, SharePoint Online sites, Planner plans, and Loop workspaces. Viva Engage is late to the party, probably because much of the time since was occupied moving old Yammer networks to native mode. Native mode is the mechanism that allowed Viva Engage to adopt Microsoft 365 groups, including dynamic groups.
Given the increasingly close relationship between Viva Engage and Teams, the need for Viva Engage to support container management became more pressing, so here we are.
Moving to Container Management
By default, nothing happens. Existing Viva Engage communities can continue to use classification labels (Figure 2), which are simple text “stickers” to help users understand the scope of a community. When container management labels are available, the community administrator can choose to use a label rather than a classification. At that point, the community inherits the privacy setting from the label. Other label settings are inherited by the community’s SharePoint Online site.

You don’t have to wait for the update to show up in your tenant before assigning sensitivity labels to the Microsoft 365 groups used for Viva Engage communities. Labels can be assigned through the Microsoft 365 admin center, SharePoint Online admin center, or with PowerShell using the Set-UnifiedGroup or Update-MgGroup cmdlets. For example:
Set-unifiedgroup -Identity 'Microsoft 365 Questions' -SensitivityLabelId 'c29e68f9-bc4f-413b-a741-6db8e38ad1c6'
Assigning a sensitivity label to a Microsoft 365 group applies settings to the SharePoint site or Planner plan associated with the target Viva Engage communities immediately. The label assignment won’t affect Viva Engage until the change to support sensitivity labels rolls out to a tenant.
Ongoing Management of Container Management Labels
Once container management labels are in use, they’ll need some management. For example, although tenant administrators can assign container management labels to communities, they cannot prevent community owners changing the assigned labels. This is also true for SharePoint Online and Teams.
If you want to be sure that container management labels “stick,” some form of monitoring is required. One approach is to use a custom attribute for groups to track the assigned label and check the assignment periodically to make sure that the correct label is still in place. The periodic check is easily done using a scheduled Azure Automation runbook, and here’s an article describing PowerShell code to check and revert container management labels if necessary.
If all you want to do is to report Microsoft 365 groups and their assigned container management labels (including highlighting of groups without labels), you can use the PowerShell script described in this article (Figure 3).

Microsoft continues to upgrade Viva Engage to eradicate the signs of the past. Another example is in MC1251200 (13 March 2026) with the replacement of yammer.com by engage,microsoft.com as the source for system-generated communications. This change should be complete by mid-April 2026. It just takes time to update software…
Support the work of the Office 365 for IT Pros team by subscribing to the Office 365 for IT Pros eBook. Your support pays for the time we need to track, analyze, and document the changing world of Microsoft 365 and Office 365. Only humans contribute to our work!
How to approach iterative data reading?
I’m working with a dataset that has 3 different arrays I’m interested in plotting: time, accel, and gcamp. They are all of equal size.
I’m using the accel variable as a threshold detector, where I define an arbitrary threshold under which any data I ignore. Anything above that threshold I use the index of that data point to grab the equivalent data points from time and gcamp.
How can I store this data in one structure so that I can iterate through it and generate statistics/plots about only the thresholded data points?
Something like:
time = [rand(1, 5000)];
accel = [rand(1,5000)];
gcamp = [rand(1,5000)];
sd = std(accel);
threshold = sd;
dumb = [];
for i = 1:length(accel);
if accel(i) > threshold;
dumber = [time(i), gcamp(i)];
dumb = [dumb, dumber];
end
endI’m working with a dataset that has 3 different arrays I’m interested in plotting: time, accel, and gcamp. They are all of equal size.
I’m using the accel variable as a threshold detector, where I define an arbitrary threshold under which any data I ignore. Anything above that threshold I use the index of that data point to grab the equivalent data points from time and gcamp.
How can I store this data in one structure so that I can iterate through it and generate statistics/plots about only the thresholded data points?
Something like:
time = [rand(1, 5000)];
accel = [rand(1,5000)];
gcamp = [rand(1,5000)];
sd = std(accel);
threshold = sd;
dumb = [];
for i = 1:length(accel);
if accel(i) > threshold;
dumber = [time(i), gcamp(i)];
dumb = [dumb, dumber];
end
end I’m working with a dataset that has 3 different arrays I’m interested in plotting: time, accel, and gcamp. They are all of equal size.
I’m using the accel variable as a threshold detector, where I define an arbitrary threshold under which any data I ignore. Anything above that threshold I use the index of that data point to grab the equivalent data points from time and gcamp.
How can I store this data in one structure so that I can iterate through it and generate statistics/plots about only the thresholded data points?
Something like:
time = [rand(1, 5000)];
accel = [rand(1,5000)];
gcamp = [rand(1,5000)];
sd = std(accel);
threshold = sd;
dumb = [];
for i = 1:length(accel);
if accel(i) > threshold;
dumber = [time(i), gcamp(i)];
dumb = [dumb, dumber];
end
end for loop, storing data MATLAB Answers — New Questions
Data Processing in a Cell
Hello,
I have imported data into two tables T1 and T2 34243X4 and 1070X8. To Compare the two tables I have padded T2 with string ’empty’ in all columns to match rows of T1. I am comparing T2(:,2) with T1(:,1) and which ever matches I then automatically the that particular row element in 4th Col of T2 will match row element of 1st Col in T1 (This acts as Sanity Check).
All the info in both the table is in string format including numbers
when I tried to use ismember is not able to match.
Did String Compare is not working or not comaring correctly.
Please could someone guide me. I have attached my code/script and also screenshots of my data.
Thank you for your time
PN = importdata("Part Number Summary 20260220.xlsx");
opts = detectImportOptions("Sai_MFGParts_03202026_v2.xlsx", Sheet="Export Worksheet");
% Adjust options if needed, for example set data range:
opts.DataRange = "A2";
T1 = readtable("Sai_MFGParts_03202026_v2.xlsx",opts);
T2 = PN.Summary;
C = T2; % rename for clarity
headers = C(1,1:8);
data = C(2:end,1:8);
varNames = matlab.lang.makeValidName(headers);
T2 = cell2table(data, ‘VariableNames’, varNames);
Part_Number_Data_T2 = T2.PartNumber;
Product_Description_T2 = T2.ProductDescription;
Supplier_T2 = T2.Supplier;
Categoty_T2 = T2.Category;
idx = length(T1.BWC_PART);
Part_Number_Data_T2 = resize(Part_Number_Data_T2,idx); % resize to match T1(34243×4)
Product_Description_T2 = resize(Product_Description_T2,idx);
Supplier_T2 = resize(Supplier_T2,idx);
Categoty_T2 = resize(Categoty_T2,idx);
idx_2 = cellfun(‘isempty’,Part_Number_Data_T2);
idx_3 = cellfun(‘isempty’,Product_Description_T2);
idx_4 = cellfun(‘isempty’,Supplier_T2);
idx_5 = cellfun(‘isempty’,Categoty_T2);
%Replace empty entries in Product_Description_T2, Supplier_T2, and
%Categoty_T2 with string ’empty’.
Part_Number_Data_T2(idx_2) = {’empty’};
Product_Description_T2(idx_3) = {’empty’};
Supplier_T2(idx_4) = {’empty’};
Categoty_T2(idx_5) = {’empty’};
%Ensure T2 columns are column vectors
Part_Number_Data_T2 = Part_Number_Data_T2(:);
Product_Description_T2 = Product_Description_T2(:);
Supplier_T2 = Supplier_T2(:);
Categoty_T2 = Categoty_T2(:);
Ind = cell(size(T1.BWC_PART));
for k = 1:length(Ind)
Ind{k} = T1(strcmp(T1.BWC_PART,Part_Number_Data_T2{k}),:);
endHello,
I have imported data into two tables T1 and T2 34243X4 and 1070X8. To Compare the two tables I have padded T2 with string ’empty’ in all columns to match rows of T1. I am comparing T2(:,2) with T1(:,1) and which ever matches I then automatically the that particular row element in 4th Col of T2 will match row element of 1st Col in T1 (This acts as Sanity Check).
All the info in both the table is in string format including numbers
when I tried to use ismember is not able to match.
Did String Compare is not working or not comaring correctly.
Please could someone guide me. I have attached my code/script and also screenshots of my data.
Thank you for your time
PN = importdata("Part Number Summary 20260220.xlsx");
opts = detectImportOptions("Sai_MFGParts_03202026_v2.xlsx", Sheet="Export Worksheet");
% Adjust options if needed, for example set data range:
opts.DataRange = "A2";
T1 = readtable("Sai_MFGParts_03202026_v2.xlsx",opts);
T2 = PN.Summary;
C = T2; % rename for clarity
headers = C(1,1:8);
data = C(2:end,1:8);
varNames = matlab.lang.makeValidName(headers);
T2 = cell2table(data, ‘VariableNames’, varNames);
Part_Number_Data_T2 = T2.PartNumber;
Product_Description_T2 = T2.ProductDescription;
Supplier_T2 = T2.Supplier;
Categoty_T2 = T2.Category;
idx = length(T1.BWC_PART);
Part_Number_Data_T2 = resize(Part_Number_Data_T2,idx); % resize to match T1(34243×4)
Product_Description_T2 = resize(Product_Description_T2,idx);
Supplier_T2 = resize(Supplier_T2,idx);
Categoty_T2 = resize(Categoty_T2,idx);
idx_2 = cellfun(‘isempty’,Part_Number_Data_T2);
idx_3 = cellfun(‘isempty’,Product_Description_T2);
idx_4 = cellfun(‘isempty’,Supplier_T2);
idx_5 = cellfun(‘isempty’,Categoty_T2);
%Replace empty entries in Product_Description_T2, Supplier_T2, and
%Categoty_T2 with string ’empty’.
Part_Number_Data_T2(idx_2) = {’empty’};
Product_Description_T2(idx_3) = {’empty’};
Supplier_T2(idx_4) = {’empty’};
Categoty_T2(idx_5) = {’empty’};
%Ensure T2 columns are column vectors
Part_Number_Data_T2 = Part_Number_Data_T2(:);
Product_Description_T2 = Product_Description_T2(:);
Supplier_T2 = Supplier_T2(:);
Categoty_T2 = Categoty_T2(:);
Ind = cell(size(T1.BWC_PART));
for k = 1:length(Ind)
Ind{k} = T1(strcmp(T1.BWC_PART,Part_Number_Data_T2{k}),:);
end Hello,
I have imported data into two tables T1 and T2 34243X4 and 1070X8. To Compare the two tables I have padded T2 with string ’empty’ in all columns to match rows of T1. I am comparing T2(:,2) with T1(:,1) and which ever matches I then automatically the that particular row element in 4th Col of T2 will match row element of 1st Col in T1 (This acts as Sanity Check).
All the info in both the table is in string format including numbers
when I tried to use ismember is not able to match.
Did String Compare is not working or not comaring correctly.
Please could someone guide me. I have attached my code/script and also screenshots of my data.
Thank you for your time
PN = importdata("Part Number Summary 20260220.xlsx");
opts = detectImportOptions("Sai_MFGParts_03202026_v2.xlsx", Sheet="Export Worksheet");
% Adjust options if needed, for example set data range:
opts.DataRange = "A2";
T1 = readtable("Sai_MFGParts_03202026_v2.xlsx",opts);
T2 = PN.Summary;
C = T2; % rename for clarity
headers = C(1,1:8);
data = C(2:end,1:8);
varNames = matlab.lang.makeValidName(headers);
T2 = cell2table(data, ‘VariableNames’, varNames);
Part_Number_Data_T2 = T2.PartNumber;
Product_Description_T2 = T2.ProductDescription;
Supplier_T2 = T2.Supplier;
Categoty_T2 = T2.Category;
idx = length(T1.BWC_PART);
Part_Number_Data_T2 = resize(Part_Number_Data_T2,idx); % resize to match T1(34243×4)
Product_Description_T2 = resize(Product_Description_T2,idx);
Supplier_T2 = resize(Supplier_T2,idx);
Categoty_T2 = resize(Categoty_T2,idx);
idx_2 = cellfun(‘isempty’,Part_Number_Data_T2);
idx_3 = cellfun(‘isempty’,Product_Description_T2);
idx_4 = cellfun(‘isempty’,Supplier_T2);
idx_5 = cellfun(‘isempty’,Categoty_T2);
%Replace empty entries in Product_Description_T2, Supplier_T2, and
%Categoty_T2 with string ’empty’.
Part_Number_Data_T2(idx_2) = {’empty’};
Product_Description_T2(idx_3) = {’empty’};
Supplier_T2(idx_4) = {’empty’};
Categoty_T2(idx_5) = {’empty’};
%Ensure T2 columns are column vectors
Part_Number_Data_T2 = Part_Number_Data_T2(:);
Product_Description_T2 = Product_Description_T2(:);
Supplier_T2 = Supplier_T2(:);
Categoty_T2 = Categoty_T2(:);
Ind = cell(size(T1.BWC_PART));
for k = 1:length(Ind)
Ind{k} = T1(strcmp(T1.BWC_PART,Part_Number_Data_T2{k}),:);
end matlab, data processing MATLAB Answers — New Questions
How do I integrate MATLAB and Simulink Online Courses?
I would like to integrate the self-paced courses for MATLAB and Simulink with a Learning Management System (LMS), how can I do so?I would like to integrate the self-paced courses for MATLAB and Simulink with a Learning Management System (LMS), how can I do so? I would like to integrate the self-paced courses for MATLAB and Simulink with a Learning Management System (LMS), how can I do so? MATLAB Answers — New Questions
LSTM network time series prediction error occurs at the initial time step
I have trained a LSTM network for time series regression. After training, I want to test its performance based on the test dataset. The testing result of one single sample (extracted from minibatch results) is shown as follows:
The prediction result has a transient response process. I think this issue is caused by the zero states (CellStates and HiddenStates) of LSTM netweok. How to resolve this zero states problem when predicting time sreries ?I have trained a LSTM network for time series regression. After training, I want to test its performance based on the test dataset. The testing result of one single sample (extracted from minibatch results) is shown as follows:
The prediction result has a transient response process. I think this issue is caused by the zero states (CellStates and HiddenStates) of LSTM netweok. How to resolve this zero states problem when predicting time sreries ? I have trained a LSTM network for time series regression. After training, I want to test its performance based on the test dataset. The testing result of one single sample (extracted from minibatch results) is shown as follows:
The prediction result has a transient response process. I think this issue is caused by the zero states (CellStates and HiddenStates) of LSTM netweok. How to resolve this zero states problem when predicting time sreries ? lstm, deep learning, time series MATLAB Answers — New Questions
Restricting App Creation of SharePoint Online Sites
The Need for Restricted Site Creation
In January 2026, I reported about the beta version of the create Site Graph API and how the API can be used by apps to create SharePoint Online sites. The API still cannot create sites connected to Microsoft 365 groups, which is a pity, but other Graph APIs exist to fill the gap.
Since the introduction of Teams in 2017, we’ve seen an explosion in the number of SharePoint sites. The profusion of sites doesn’t make it any easier to manage the storage of important corporate information, but unless they take steps to restrict group creation, tenants must learn to manage large quantities of sites.
SharePoint Online Restricted Site Creation by Apps
Which brings me to a new capability to restrict the creation of SharePoint Online sites by apps, part of the SharePoint advanced management suite (and also available to tenants with Microsoft 365 Copilot licenses). The restricted site creation policy is currently in preview and is slated to reach general availability “soon.”
The new policy allows administrators to configure SharePoint Online to allow or block app creation of different categories of sites:
- All (any type of site, including OneDrive for Business).
- All (excluding OneDrive for Business).
- Team (group-connected and classic SharePoint team sites).
- Communication.
You can’t have different creation policies for different types of sites. The restricted site creation policy works across all site types.
SharePoint Online allows first-party Microsoft apps to create sites even when restrictions are in place. That is, if the software knows about first-party apps, which it sometimes doesn’t (as we’ll see).
Creating a Restricted Site Creation Policy for Apps
To create a restricted site creation policy for apps, run the Set-SPORestrictedSiteCreationForApps cmdlet to enable the restriction and choose the mode (allow or deny):
Set-SPORestrictedSiteCreationForApps –Enabled $True -Mode Allow
The app list to restrict or allow is passed as a comma separated string containing the app identifiers. Oddly, the RestrictedSiteCreationApps parameter doesn’t accept an array of strings. If you do something like use PowerShell to find apps that call the Site Create API to include the apps in the allow list and use an array to hold the app identifiers, you must convert the array to a string before calling the Set-SPORestrictedSiteCreationForApps cmdlet. Update the allow or deny list is an overwrite, so be sure to include all the apps that you want to allow/restrict in the value passed.
# Convert the array of app identifiers to a string to use with Set-SPORestrictedSiteCreationForApps [string]$Apps = $ListOfAllowedApps -join "," $Apps 14d82eec-204b-4c2f-b7e8-296a70dab67e,3f1f1167-3205-4c00-980e-700d7d6b9100 Set-SPORestrictedSiteCreationForApps –SiteType "All" -RestrictedSiteCreationApps $Apps Confirm There are apps already configured for SiteType All which will be overwritten by this command. Are you sure you want to proceed? [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y
Use the Get-SPORestrictedSiteCreationForApps cmdlet to see the policy settings:
Get-SPORestrictedSiteCreationForApps
RunspaceId : 7fe071d9-c4d8-4c89-921f-62783a072587
AppConfigurations : {[Communication, ], [SharePoint, ], [OneDrive, ], [Team, ]…}
Enabled : True
Mode : Allow
Context : Microsoft.Online.SharePoint.PowerShell.CmdLetContext
Tag :
Path : Microsoft.SharePoint.Client.ObjectPathMethod
ObjectVersion :
ServerObjectIsNull : False
TypedObject : Microsoft.Online.SharePoint.TenantAdministration.SPORestrictedSiteCreationConfigurationForApps
The details of the the app list are revealed by examining the AppConfigurations property:
(Get-SPORestrictedSiteCreationForApps).AppConfigurations Name Value ---- ----- Communication SharePoint OneDrive Team All 14d82eec-204b-4c2f-b7e8-296a70dab67e,3f1f1167-3205-4c00-980e-700d7d6b9100
It’s good to make sure that the list of application identifiers given to SharePoint Online are accurate. To validate the set of identifiers in the allow or deny list, you could use code like this (the code only handles apps that can create all types of sites):
$Mode = (Get-SPORestrictedSiteCreationForApps).Mode
[array]$AppIdList = ((Get-SPORestrictedSiteCreationForApps).AppConfigurations | Select-Object -ExpandProperty All).Split(",")
ForEach ($App in $AppIdList) {
Try {
$AppDetails = Get-MgServicePrincipal -Filter "AppId eq '$App'" -ErrorAction Stop
Write-Output ("The {0} app is in the {1} list for SharePoint site creation" -f $AppDetails.DisplayName,$Mode)
} Catch {
Write-Output ("Can't find service principal for appid {0}" -f $App)
}
}
Testing Restricted Site Creation for Apps
To test how the restricted site creation policy for apps works, I first tried to use the Graph create site API with delegated permissions in an interactive Microsoft Graph PowerShell SDK session signed in with a SharePoint administrator account. Originally, the allowed app list didn’t include the identifier for the Microsoft Graph Command Line Tools enterprise app, which is how interactive Microsoft Graph PowerShell SDK sessions are authenticated, so attempts to create a site resulted in this kind of error:
Invoke-MgGraphRequest: POST https://graph.microsoft.com/beta/sites/
HTTP/2.0 500 Internal Server Error
Cache-Control: no-store, no-cache
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000
request-id: b7a1a6e3-4f21-4360-837d-3f13a3e590f4
client-request-id: 78ec8d28-553b-4cb3-b23d-0952f78042b5
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"North Europe","Slice":"E","Ring":"4","ScaleUnit":"010","RoleInstance":"DB1PEPF00045AF9"}} splogid: 7a8702a2-f07e-a000-54ac-6d283dc640b6
Date: Sun, 22 Mar 2026 16:04:55 GMT
Content-Type: application/json
{"error":{"code":"generalException","message":"General exception while processing","innerError":{"date":"2026-03-22T16:04:56","request-id":"b7a1a6e3-4f21-4360-837d-3f13a3e590f4","client-request-id":"78ec8d28-553b-4cb3-b23d-0952f78042b5"}}}
A 500 “internal server error” is a rather blunt way of signaling a problem, but’s that what you get. Adding the identifier (14d82eec-204b-4c2f-b7e8-296a70dab67e) to the allowed apps list solved the problem. Obviously, the Microsoft Graph Command Line Tools app is not one of the first-party apps that the restrict site creation feature knows about.
It must be hard to keep track of every first-party app used within Microsoft 365 that might perform an action. Although Microsoft will probably fix the issue with the Microsoft Graph Command Line Tools app, the situation might happen in the future. If it does, find the application identifier for the app’s service principal and add the identifier to the allow list.
The same error occurs when a third-party app that isn’t on the approved list attempts to create a site. To test this scenario, I created a registered app for the tenant and assigned it the Site.Create.All permission. I then used an X.509 certificate loaded into the app to sign into an app-only interactive session before trying (and failing) to create a site.
I think it’s most likely that the feature will use an allow list to define the set of apps permitted to create sites. The feature also supports a deny list for apps not allowed to create sites.
Hard to Know How the Policy Will Be Used
It’s hard to know how the restricted site creation policy will be used by Microsoft 365 tenants. Most sites created by third-party apps are likely because of creating Microsoft 365 groups or teams, so I don’t know of any great demand for such a policy. However, Microsoft isn’t in the habit of writing software without a reason, so they are likely aware of some customer demand that I’ve never heard of. In any case, we now have the capability, and it will be interesting to see how it is used.
Learn about managing SharePoint Online and the rest of the Microsoft 365 ecosystem by subscribing to the Office 365 for IT Pros eBook. Use our experience to understand what’s important and how best to protect your tenant.
Requirements toolbox : How to add custom attribute from new column import from Excel file.
Hi everybody,
I am using the Requirement toolbox (R2023b update 4), importing requirements from excel (.xlsx file).
I followed the Mathworks example to make a first import with custom import options (as custom attributes), then i used to update from the requirements GUI after modifying requirements in the excel file (Click on Import file, and click "Update" on Requirement Interchange tab).
My problem is I need to add a column inside my Excel file, and a new custom attribute corresponding inside the .slreq file.
I cannot find how to change the import options as the requirement file already exists without importing a hole new requirement set so I will loose every links and update changes traceability.
Could you help me to find a way to change those options si when I Update the requirement set, the new custom attribute is added from the new column without breaking all my links ?
Thank you so much in advance!
Hope this find you well.Hi everybody,
I am using the Requirement toolbox (R2023b update 4), importing requirements from excel (.xlsx file).
I followed the Mathworks example to make a first import with custom import options (as custom attributes), then i used to update from the requirements GUI after modifying requirements in the excel file (Click on Import file, and click "Update" on Requirement Interchange tab).
My problem is I need to add a column inside my Excel file, and a new custom attribute corresponding inside the .slreq file.
I cannot find how to change the import options as the requirement file already exists without importing a hole new requirement set so I will loose every links and update changes traceability.
Could you help me to find a way to change those options si when I Update the requirement set, the new custom attribute is added from the new column without breaking all my links ?
Thank you so much in advance!
Hope this find you well. Hi everybody,
I am using the Requirement toolbox (R2023b update 4), importing requirements from excel (.xlsx file).
I followed the Mathworks example to make a first import with custom import options (as custom attributes), then i used to update from the requirements GUI after modifying requirements in the excel file (Click on Import file, and click "Update" on Requirement Interchange tab).
My problem is I need to add a column inside my Excel file, and a new custom attribute corresponding inside the .slreq file.
I cannot find how to change the import options as the requirement file already exists without importing a hole new requirement set so I will loose every links and update changes traceability.
Could you help me to find a way to change those options si when I Update the requirement set, the new custom attribute is added from the new column without breaking all my links ?
Thank you so much in advance!
Hope this find you well. requirements, requirements toolbox, import options, matlab MATLAB Answers — New Questions
Why does MATLAB sporadically crash on my 13th or 14th generation Intel processor?
Why does MATLAB crash sporadically on my 13th or 14th generation Intel CPU but not on other machines? The crash log frequently is different each time, and the same code works fine on other computers.Why does MATLAB crash sporadically on my 13th or 14th generation Intel CPU but not on other machines? The crash log frequently is different each time, and the same code works fine on other computers. Why does MATLAB crash sporadically on my 13th or 14th generation Intel CPU but not on other machines? The crash log frequently is different each time, and the same code works fine on other computers. crash, intel, raptorlake MATLAB Answers — New Questions
How do I enable license borrowing for a network license?
How do I enable license borrowing for my network license?How do I enable license borrowing for my network license? How do I enable license borrowing for my network license? MATLAB Answers — New Questions
Why are my MATLAB preferences not included during compilation in R2022a and later?
I have code that relies on a proxy setting included in my MATLAB preferences. In R2021b and earlier releases, this would automatically be included in packaging when compiling this code with MATLAB Compiler or MATLAB Compiler SDK. However, in R2022a and later, this no longer seems to be the case.
Why are my MATLAB preferences no longer being included when compiling code for deployment?I have code that relies on a proxy setting included in my MATLAB preferences. In R2021b and earlier releases, this would automatically be included in packaging when compiling this code with MATLAB Compiler or MATLAB Compiler SDK. However, in R2022a and later, this no longer seems to be the case.
Why are my MATLAB preferences no longer being included when compiling code for deployment? I have code that relies on a proxy setting included in my MATLAB preferences. In R2021b and earlier releases, this would automatically be included in packaging when compiling this code with MATLAB Compiler or MATLAB Compiler SDK. However, in R2022a and later, this no longer seems to be the case.
Why are my MATLAB preferences no longer being included when compiling code for deployment? proxy MATLAB Answers — New Questions
Office 365 for IT Pros Update for April 2026
Office 365 for IT Pros Covers a Lot of Exchange History

On March 23, Microsoft celebrated the 30th anniversary of Exchange Server. Paul Robichaux more than adequately captured his attachment to Exchange and what the product meant to his career in a LinkedIn post. After writing eleven (print) books charting the development of Exchange Server from V4.0 to Exchange 2013, I share many of Paul’s sentiments. Exchange certainly affected my career in a very positive way, and I’ve enjoyed the technical challenges met along the way. The Office 365 for IT Pros eBook started in 2014 (first edition in May 2015) as the Office 365 for Exchange Professionals eBook with the intention of helping people move from the on-premises server into the cloud.
I previously mentioned the Exchange 30th anniversary along with the more-hyped 25th anniversary of SharePoint in this post. SharePoint gets much more marketing attention from Microsoft than Exchange does today, but the simple fact is that both workloads are essential to Microsoft 365 tenants. I suspect there aren’t many tenants that don’t send email or store documents.
Office 365 for IT Pros Update #130
We moved focus from Exchange Online a long time ago to encompass the entire Microsoft 365 ecosystem. The book still includes two major chapters covering the operation of Exchange Online and the transport system alongside the chapters on Entra ID, SharePoint Online, Teams, and the Purview solutions, all revised monthly to keep pace with change.
Speaking of updates, monthly update #130 for Office 365 for IT Pros (2026 edition) is now available for download by current subscribers from Gumroad.com using their account or the link in their receipt. Update #130 contains the usual mixture of information about new features and additional insight about existing features. More details about the updates for individual chapters can be found in our change log.
Apart from the updated EPUB and PDF files for the “big book,” the Automating Microsoft 365 with PowerShell eBook is now at version 22.2 and updated PDF and EPUB files for this eBook are also available for download.
A Gathering of MVPs
March 23 was the first day of the annual Microsoft MVP Summit at the Redmond campus and it provided an opportunity for those who have worked with Exchange over the years to come together to celebrate. Figure 1 is a picture of some of those fine individuals, some of whom are wearing a special commemorative t-shirt designed by long-time Exchange MVP Jeff Guillet.

Earlier on March 23, Microsoft 365 MVPs and Microsoft personnel gathered at the Hilton Garden Inn in Redmond to toast the 30th anniversary. Vanessa Feliberti Bautista, Microsoft Corporate Vice President responsible for Exchange messaging within Microsoft 365 led the toast, and I was delighted to share some memories of Exchange over the years with her (Figure 2). Vanessa is one of the relatively unknown figures behind the successful delivery of a robust Exchange Online email service for hundreds of millions of people in Microsoft 365 and the Outlook.com consumer email service.

It was also great to chat with newly-anointed Microsoft EVP Perry Clarke at the event. Perry’s promotion is rich reward for the many technical contributions he has made over the years, Looking back on memories of what Perry talked about at the Microsoft Exchange conferences in 2012 and 2014, you can understand the impact of the work being done at the time on what we have today. Perry also wrote the foreword for the original Office 365 for IT Professionals eBook in 2015. Old connections are often the best connections.
Heading to Exchange Server at 40
According to Microsoft’s product lifecycle policy, Exchange Server SE has an “earliest possible end of service date” of December 31, 2035. It looks very much like an Exchange 40th anniversary will be celebrated. Whether I’ll be still commenting on Exchange and join the festivities is another matter. We’ll just have to wait and see. In the meantime, on to the May 2026 update.
Open to Work: How to Get Ahead in the Age of AI
Today is the day. Open to Work: How to Get Ahead in the Age of AI is officially available!
At a time when technology dominates the headlines, the conversation I see most often on LinkedIn is deeply human: what does AI mean for my job and my career?
And that makes sense. Careers once felt more predictable. Titles defined what you did. Progress looked like a ladder. That model has been evolving for years, but AI is accelerating the shift.
The most important truth about this moment is that the outcome isn’t written yet. The new world of work is being assembled right now, task by task, policy by policy, business by business. It will reflect the choices of the people who show up to build it.
That’s why Aneesh Raman and I wrote this book.
Open to Work is a practical guide informed by what we see across the global labor market and insight into the tools millions of people use every day. It’s for every person asking what comes next for their job, their career, their company or their community.
With help from experts and everyday LinkedIn members, it shows you how to engage with AI before you have to, how to adapt by focusing on what you can control and how to become irreplaceable by leaning into what makes you uniquely you.
And those ideas don’t just apply to individuals, they guide how we as Microsoft and LinkedIn are building for this moment. At the intersection of how work gets done and how careers get built, our shared goal is to connect people to opportunity and turn the tools they use every day into a canvas for human and AI collaboration at scale. Done right, that’s how AI expands opportunity and helps people build confidence and momentum in their careers.
We’ve always believed technology should serve people. AI should help humans. Not the other way around. That doesn’t happen by accident. It happens when we all decide to make it true.
If you want to go deeper on Open to Work, listen to my conversation with Microsoft President and Vice Chair Brad Smith on his Tools and Weapons podcast.
Open to Work is available now at linkedin.com/opentowork.
Ryan Roslansky is the CEO of LinkedIn and Executive Vice President of Microsoft Office, where he leads engineering for products like Word, Excel, PowerPoint and Copilot. Through these roles, Ryan is shaping where work goes next to unleash greater economic opportunity for the global workforce.
The post Open to Work: How to Get Ahead in the Age of AI appeared first on The Official Microsoft Blog.
Today is the day. Open to Work: How to Get Ahead in the Age of AI is officially available! At a time when technology dominates the headlines, the conversation I see most often on LinkedIn is deeply human: what does AI mean for my job and my career? And that makes sense. Careers once felt…
The post Open to Work: How to Get Ahead in the Age of AI appeared first on The Official Microsoft Blog.Read More
unrecognized date format from “dir” command for french users with july month
Hi Guys,
I have 2024b version and encountered a bug that was not here on previous version.
dir command generates a date (last modification on the file) for any file like ’26-sept.-2018 16:52:18′
then when using datenum or datevec on this output, it returns a correct date transformation.
However when the date includes month of july like this:
’17-juil.-2023 10:29:58′ (french abbreviation for july month)
datenum could not recognized this entry as a valid date.
Error message is:
Error using datenum (line 200)
Failed to convert input to date numbers.
Caused by:
Unable to perform assignment because the left and right sides have a different number of elements.
it works well for every french abbreviation of all months except for july.Hi Guys,
I have 2024b version and encountered a bug that was not here on previous version.
dir command generates a date (last modification on the file) for any file like ’26-sept.-2018 16:52:18′
then when using datenum or datevec on this output, it returns a correct date transformation.
However when the date includes month of july like this:
’17-juil.-2023 10:29:58′ (french abbreviation for july month)
datenum could not recognized this entry as a valid date.
Error message is:
Error using datenum (line 200)
Failed to convert input to date numbers.
Caused by:
Unable to perform assignment because the left and right sides have a different number of elements.
it works well for every french abbreviation of all months except for july. Hi Guys,
I have 2024b version and encountered a bug that was not here on previous version.
dir command generates a date (last modification on the file) for any file like ’26-sept.-2018 16:52:18′
then when using datenum or datevec on this output, it returns a correct date transformation.
However when the date includes month of july like this:
’17-juil.-2023 10:29:58′ (french abbreviation for july month)
datenum could not recognized this entry as a valid date.
Error message is:
Error using datenum (line 200)
Failed to convert input to date numbers.
Caused by:
Unable to perform assignment because the left and right sides have a different number of elements.
it works well for every french abbreviation of all months except for july. date format MATLAB Answers — New Questions
listdlg in MATLAB R2025b returns selected indices in click order instead of ascending order
In MATLAB R2025b, listdlg appears to return the selected indices in the order the user clicked them, rather than in ascending numeric order.
In older versions such as R2022b and R2024a, the returned indices were ordered ascendingly, which made the behavior predictable and easy to work with in downstream code.
This change caused nasty bugs in existing code on my side, because I use the returned indices to index into related lists that assume a consistent ascending order. With the new behavior, the item order can differ depending on click sequence, which breaks code that previously worked correctly.
Minimal example:
[idx, tf] = listdlg( …
‘ListString’, {‘A’,’B’,’C’,’D’,’E’}, …
‘SelectionMode’, ‘multiple’);
disp(idx)
In R2025b, if I click items in the order 2, 1, 3, the result is: [2 1 3] -> Which leads to calling [‘B’, ‘A’, ‘C’] in downstream code
Whereas in older releases it was always: [1 2 3]
Questions:
Is this behavior change intentional in R2025b? I cannot find any documentation on that.
Is there a way to restore the old ascending-order behavior globally, for example via a preference or in startup.m?
Or is the only safe solution now to wrap every listdlg call with sort(idx) manually?
I can work around this with sort, but it would be very helpful if there were a default compatibility option, especially for larger existing codebases.In MATLAB R2025b, listdlg appears to return the selected indices in the order the user clicked them, rather than in ascending numeric order.
In older versions such as R2022b and R2024a, the returned indices were ordered ascendingly, which made the behavior predictable and easy to work with in downstream code.
This change caused nasty bugs in existing code on my side, because I use the returned indices to index into related lists that assume a consistent ascending order. With the new behavior, the item order can differ depending on click sequence, which breaks code that previously worked correctly.
Minimal example:
[idx, tf] = listdlg( …
‘ListString’, {‘A’,’B’,’C’,’D’,’E’}, …
‘SelectionMode’, ‘multiple’);
disp(idx)
In R2025b, if I click items in the order 2, 1, 3, the result is: [2 1 3] -> Which leads to calling [‘B’, ‘A’, ‘C’] in downstream code
Whereas in older releases it was always: [1 2 3]
Questions:
Is this behavior change intentional in R2025b? I cannot find any documentation on that.
Is there a way to restore the old ascending-order behavior globally, for example via a preference or in startup.m?
Or is the only safe solution now to wrap every listdlg call with sort(idx) manually?
I can work around this with sort, but it would be very helpful if there were a default compatibility option, especially for larger existing codebases. In MATLAB R2025b, listdlg appears to return the selected indices in the order the user clicked them, rather than in ascending numeric order.
In older versions such as R2022b and R2024a, the returned indices were ordered ascendingly, which made the behavior predictable and easy to work with in downstream code.
This change caused nasty bugs in existing code on my side, because I use the returned indices to index into related lists that assume a consistent ascending order. With the new behavior, the item order can differ depending on click sequence, which breaks code that previously worked correctly.
Minimal example:
[idx, tf] = listdlg( …
‘ListString’, {‘A’,’B’,’C’,’D’,’E’}, …
‘SelectionMode’, ‘multiple’);
disp(idx)
In R2025b, if I click items in the order 2, 1, 3, the result is: [2 1 3] -> Which leads to calling [‘B’, ‘A’, ‘C’] in downstream code
Whereas in older releases it was always: [1 2 3]
Questions:
Is this behavior change intentional in R2025b? I cannot find any documentation on that.
Is there a way to restore the old ascending-order behavior globally, for example via a preference or in startup.m?
Or is the only safe solution now to wrap every listdlg call with sort(idx) manually?
I can work around this with sort, but it would be very helpful if there were a default compatibility option, especially for larger existing codebases. listdlg, order, click, user MATLAB Answers — New Questions
Can I use the Simulink Solver profiler programmatically?
I want to view Solver Profiler output for a variety of Simulink simulations, and currently I am running them one by one in the Solver Profiler window to achieve this. I would like to batch run them overnight and view profiler results afterwards, is this possible?I want to view Solver Profiler output for a variety of Simulink simulations, and currently I am running them one by one in the Solver Profiler window to achieve this. I would like to batch run them overnight and view profiler results afterwards, is this possible? I want to view Solver Profiler output for a variety of Simulink simulations, and currently I am running them one by one in the Solver Profiler window to achieve this. I would like to batch run them overnight and view profiler results afterwards, is this possible? simulink profiler, command line MATLAB Answers — New Questions
Allocating parameters to ramfuncs section
I need to execute parts of my code on the C2000 from RAM. I was able to generate code from my subsystem into a non‑reusable, standalone function and copy that function to RAM. I also need to copy some of the parameters used by this function into RAM so they can execute more quickly.
Paragraph 7 of the following document attempts to describe the process, but it does not provide enough detail to follow:
Load Data/Code to Flash and Run from RAM on TI C2000 – MATLAB & Simulink
Could you provide guidance and a step‑by‑step explanation of how to perform this operation?I need to execute parts of my code on the C2000 from RAM. I was able to generate code from my subsystem into a non‑reusable, standalone function and copy that function to RAM. I also need to copy some of the parameters used by this function into RAM so they can execute more quickly.
Paragraph 7 of the following document attempts to describe the process, but it does not provide enough detail to follow:
Load Data/Code to Flash and Run from RAM on TI C2000 – MATLAB & Simulink
Could you provide guidance and a step‑by‑step explanation of how to perform this operation? I need to execute parts of my code on the C2000 from RAM. I was able to generate code from my subsystem into a non‑reusable, standalone function and copy that function to RAM. I also need to copy some of the parameters used by this function into RAM so they can execute more quickly.
Paragraph 7 of the following document attempts to describe the process, but it does not provide enough detail to follow:
Load Data/Code to Flash and Run from RAM on TI C2000 – MATLAB & Simulink
Could you provide guidance and a step‑by‑step explanation of how to perform this operation? c2000, simulink MATLAB Answers — New Questions
Is it possible to switch MATLAB versions after launching via the MATLAB .NET Engine API?
I want to launch MATLAB via the .NET Engine API from a C# application to run my Simulink models. My Simulink models are created using a variety of MATLAB versions (e.g., R2023b and R2025b). Can my C# application launch an instance of R2023b using the MATLAB .NET Engine API, perform some processing, close R2023b, and then launch an R2025b instance?I want to launch MATLAB via the .NET Engine API from a C# application to run my Simulink models. My Simulink models are created using a variety of MATLAB versions (e.g., R2023b and R2025b). Can my C# application launch an instance of R2023b using the MATLAB .NET Engine API, perform some processing, close R2023b, and then launch an R2025b instance? I want to launch MATLAB via the .NET Engine API from a C# application to run my Simulink models. My Simulink models are created using a variety of MATLAB versions (e.g., R2023b and R2025b). Can my C# application launch an instance of R2023b using the MATLAB .NET Engine API, perform some processing, close R2023b, and then launch an R2025b instance? .net, c#, engine, api, multiple, multi MATLAB Answers — New Questions









