Least Popular Standard Teams Component Goes in February 2023
I don’t know why this situation came about, but the Teams Wiki channel tab seems to stir strong emotions in many. Perhaps it’s a case of “I don’t know why Microsoft built this into Teams” or “OneNote is much better,” or even “I hate that the Wiki is a default channel tab along with Files and Posts.” Maybe it’s a combination of all three. In any case, the Wiki haters will be delighted with Message center notification MC399867 (July 12), which announces that Teams will no longer configure a wiki tab automatically during the creation of new standard channels after mid-August 2022. MC399867 mentions private channels but as far as I can see, new private channels don’t get a wiki upon creation and neither do shared channels.
Update: MC496248 (11 Jan 2023) announces that Microsoft will retire the Teams wiki in February 2023 and provide an app to migrate Wiki content to OneNote in “standard channels.” The migration app isn’t available yet. See this article for details of a PowerShell script to report Teams channels with wiki content.
Why Wiki and Not OneNote?
A lot of hot air and bluster is generated about the inadequacy of the Teams wiki and why Microsoft should have replaced it with OneNote everywhere. Although it’s fair to ask why tenants don’t have an option to switch off the wiki and replace it with OneNote (or not populate a channel tap for notetaking at all), it’s important to realize that the Teams wiki came about as a simple notetaking solution that was added at the start of the Teams journey when the development group was figuring out what Teams could deliver.
At that time, it seemed reasonable to include a tool that had no dependency other than SharePoint Online, and that’s what the Teams wiki is. The editor isn’t fantastic, it won’t support new advances such as Loop components which OneNote is supposed to do in the future, but it’s perfectly adequate for taking notes (Figure 1).
Figure 1: The Teams Wiki
Experience since demonstrates that many Microsoft 365 customers prefer OneNote and don’t see the need to have another notetaking tool. But that’s the benefit of hindsight kicking in, and the change now being made opens up the possibility that Microsoft will allow customers to auto-provision a OneNote channel tab instead.
Not Dead Yet
Microsoft’s change to channel provisioning doesn’t mean that the Teams wiki is dead. You can still add a wiki as a tab after creating a new channel and there’s no impact on existing wiki tabs. They remain in place until a team owner decides to remove the wiki channel tab (Figure 2).
Figure 2: Removing a Teams Wiki
Update: I assume that after the deprecation of the Wiki, Microsoft will allow some time to team owners to migrate Wiki content to OneNote before finally removing all Wiki tabs. Microsoft hasn’t clarified if this will happen or the timeline for final removal.
The elements that make up a Teams wiki are stored in the Teams Wiki Data document library inside the team’s SharePoint Online site. Separate folders in the document library store the Wiki files for each channel. The files are pointers to hidden list items where the real wiki data exists. When you remove the wiki tab from a channel, Teams removes the wiki files but leaves the folder intact. After all, you might want to add the wiki tab back in the future.
Connect-MgGraph
$TeamsChannelData = [System.Collections.Generic.List[Object]]::new()
[array]$Teams = Get-MgGroup -Filter "resourceProvisioningOptions/Any(x:x eq 'Team')" -All
ForEach ($Team in $Teams) {
Write-Host "Processing team" $Team.DisplayName
[array]$Channels = Get-MgTeamChannel -TeamId $Team.Id
ForEach ($Channel in $Channels) {
[array]$Tabs = Get-MgTeamChannelTab -ChannelId $Channel.Id -TeamId $Team.Id
$ChannelHasWiki = $False
If ($Tabs.DisplayName -Match "Wiki") { $ChannelHasWiki = $True }
$ReportLine = [PSCustomObject] @{
Team = $Team.DisplayName
Channel = $Channel.DisplayName
Type = $Channel.MembershipType
Id = $Channel.Id
Created = $Channel.CreatedDateTime
HasWiki = $ChannelHasWiki
SPOUrl = $Channel.AdditionalProperties['filesFolderWebUrl']
}
$TeamsChannelData.Add($ReportLine) }
}
$AvgChannels = [math]::round(($TeamsChannelData.Count/$Teams.Count),2)
Write-Host ("{0} Teams found with {1} channels, an average of {2} channels per team" -f $Teams.Count, $TeamsChannelData.Count, $AvgChannels)
$TeamsChannelData | Out-GridView
After processing the teams in my tenant, I discovered that 120 out of 182 channels had a Wiki tab. Cleaning those up is probably a manual task because the possibility exists that some useful data might be in those files. Isn’t that something to look forward to?
Insight like this doesn’t come easily. You’ve got to know the technology and understand how to look behind the scenes. Benefit from the knowledge and experience of the Office 365 for IT Pros team by subscribing to the best eBook covering Office 365 and the wider Microsoft 365 ecosystem.
The auto-deployment of the tab aside, I believe there is a valid use case for a simple, plain text based doc tool. I just wish it saved content as markdown and not MHTL
The most glaring weakness we’ve seen is the inability to search the Teams Wiki. Since the ability to search a wiki is just assumed for users, I’ve had to help more than one frustrated user after she put in the work to create a wiki that she intended to be a searchable resource for her team, only to find it had to be entirely removed and replaced with OneNote.
Exactly. Decision to remove the feature, especially in existing channels, is utterly idiotic. One cannot shake the feeling that Redmond folks don’t believe that people use their tools for anything important. But yes, it could be much better than the bare bones it is now.
Correct, but no matter the tab name the Document Library created within the SharePoint Site is called “Teams Wiki Data” So the script should search the MS Teams with a Document Library named “Teams Wiki Data” to be fully efficient.
Is there any knowledge about the SharePoint Wiki Pages Library if this will also be gone in the future? If not I think this can still be referenced in MS Teams or?
Wiki can create collapse section which that both onenote and Loop without this useful feature. It is very useful for my teams to do weekly/monthly updates.
And that ruins things for Channels for an Production Operations org that has channels setup for each engineering team with a dedicated notes (wiki) page for each channel to capture information and links for all information related to that engineering teams product…. I’ll now have to migrate all our processes from Teams to Slack since this totally destroys one of the best part of Teams part of the application I was working on getting sign off to make Teams our de-facto process client.
Loading...
I’m afraid you’ll have to take this point up with Microsoft. Complaining here isn’t going to do much. Seeing that you work for SAP, you might talk to some of the subject matter experts that I know who work at SAP (like Ingo). They might be able to help channel your concerns to the right place.
Loading...
Well This just screwed over an entire team who had dedicated information links and information dedicated to each channels subject that was a direct collaboration between the operations team and each channels specific engineering team. Also ruined other collaboration team wikis we used for on boarding new hires.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
The auto-deployment of the tab aside, I believe there is a valid use case for a simple, plain text based doc tool. I just wish it saved content as markdown and not MHTL
The most glaring weakness we’ve seen is the inability to search the Teams Wiki. Since the ability to search a wiki is just assumed for users, I’ve had to help more than one frustrated user after she put in the work to create a wiki that she intended to be a searchable resource for her team, only to find it had to be entirely removed and replaced with OneNote.
So true!
Exactly. Decision to remove the feature, especially in existing channels, is utterly idiotic. One cannot shake the feeling that Redmond folks don’t believe that people use their tools for anything important. But yes, it could be much better than the bare bones it is now.
Maybe not the best idea to use the display name to check if it is a wiki or not.
Users can rename it to whatever they like, so it should likely check some kind of type of the channel instead. Also new channels can be added.
You can amend the PowerShell script detailed in https://office365itpros.com/2023/01/24/teams-wiki-report/ to output whatever you like. I use the tab display name because that’s what users see.
Correct, but no matter the tab name the Document Library created within the SharePoint Site is called “Teams Wiki Data” So the script should search the MS Teams with a Document Library named “Teams Wiki Data” to be fully efficient.
Is there any knowledge about the SharePoint Wiki Pages Library if this will also be gone in the future? If not I think this can still be referenced in MS Teams or?
It’s only Teams that is getting rid of the Wiki. OneNote is probably a better choice for Teams. SharePoint likes its Wiki.
Wiki can create collapse section which that both onenote and Loop without this useful feature. It is very useful for my teams to do weekly/monthly updates.
What about Wiki content in a Private channel? Anything easy for users or is it PowerShell and therefore admin??
Nothing. The wiki conversion https://office365itpros.com/2023/04/28/teams-wiki-migration/ only works for regular channels. You’ll need to copy and paste the wiki content into OneNote or wherever else you decide to keep it.
And that ruins things for Channels for an Production Operations org that has channels setup for each engineering team with a dedicated notes (wiki) page for each channel to capture information and links for all information related to that engineering teams product…. I’ll now have to migrate all our processes from Teams to Slack since this totally destroys one of the best part of Teams part of the application I was working on getting sign off to make Teams our de-facto process client.
I’m afraid you’ll have to take this point up with Microsoft. Complaining here isn’t going to do much. Seeing that you work for SAP, you might talk to some of the subject matter experts that I know who work at SAP (like Ingo). They might be able to help channel your concerns to the right place.
Well This just screwed over an entire team who had dedicated information links and information dedicated to each channels subject that was a direct collaboration between the operations team and each channels specific engineering team. Also ruined other collaboration team wikis we used for on boarding new hires.