Forum Discussion
Change Promoted State value
- Feb 06, 2023The Promoted State column in the Site Pages library is read-only and it is designed to be set by the system. It is not recommended to manually change the value of the Promoted State column, as this could have unintended consequences.
There is no built-in way to change the Promoted State value without using Power Automate or PowerShell. You could use Power Automate to automate the change of the Promoted State value, or use PowerShell to update the value programmatically.
If you do not want to use Power Automate or PowerShell, you could consider creating a new page and copying the content from the News page to the new page. You can then delete the News page if needed.
Hi, Tamras1972 !
Just to counterpoint Adnan_Amin's words, which I'd kindly suggest are a little strong. I say this because you can change this value easily.
How Do You Change The Promoted State?
There are a few ways, I will cover the two most obvious ones.
On Any Given Page
The 'Promoted State' is literally available on every site page to change a Site Page to a News page and back again via the fly-outs in the top right.
You can also display this column in the Site Page library very easily, see Greg's handy explanation here.
Via The SharePoint API
Equally, it can be amended by calls to the API, my recommendation is to use the /ValidateUpdateListItem endpoint when sending.
Method | POST |
URI | SITE/lists/YOUR_PREFERENCE_ON_GETTING_LIST/items(ITEM_NUMBER)/ValidateUpdateListItem |
Body | See below table, the SharePoint site doesn't allow code in tables like the Power Platform one. Weird! |
{
"formValues": [
{
"FieldName": "PromotedState",
"FieldValue": "1"
}
],
"bNewDocumentUpdate": true
}
You may need to ensure that you have specific headers here, I'm not going in to ALL the detail. 🙂
Further Information
Here is a table of the Promoted States:
Promoted State | Page Type | Published Status |
0 | Site Page | Published/Unpublished |
1 | News Page/Link | Unpublished |
2 | News Page/Link | Published |
Hope that this helps anyone else that's ended up here. 🙂
- RobElliottJun 22, 2023Silver Contributor
influentialeliot you don't even need to use the api to change the promoted state from 2 to 0. Just format the Promoted State column with the following JSON:
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json", "elmType": "div", "style": { "flex-wrap": "wrap", "display": "flex", "flex-direction": "row" }, "children": [ { "elmType": "div", "txtContent": "=if(@currentField == 0 ,'0 : Page' , if(@currentField == 1, '1 : News (Unpublished)' , if(@currentField == 2 , '2 : News','') ) )", "style": { "box-sizing": "border-box", "padding": "4px 8px 5px 8px", "display": "flex", "border-radius": "16px", "height": "27px", "align-items": "center", "white-space": "nowrap", "overflow": "hidden", "margin": "4px 4px 4px 4px", "border": "1px solid" }, "attributes": { "class": "=if(@currentField == 0 ,'ms-fontColor-themePrimary ms-borderColor-themePrimary ms-bgColor-white' , if(@currentField == 1, 'ms-fontColor-themePrimary ms-borderColor-themePrimary ms-bgColor-themeLighter' , if(@currentField == 2 , 'ms-fontColor-white ms-borderColor-themePrimary ms-bgColor-themePrimary','') ) )" } }, { "elmType": "div", "style": { "font-size": "18px", "cursor": "pointer", "padding": "10px", "border-radius": "50%", "display": "=if(@currentField == 0 , 'none' ,'')" }, "attributes": { "iconName": "MoreVertical", "class": "ms-fontColor-themePrimary ms-bgColor-themeLighter--hover" }, "customCardProps": { "openOnEvent": "click", "directionalHint": "rightCenter", "isBeakVisible": true, "formatter": { "elmType": "div", "txtContent": "Demote (Change to 0:Page)", "style": { "padding": "10px 20px 10px 20px", "cursor": "pointer" }, "attributes": { "class": "ms-bgColor-themeLighter--hover" }, "customRowAction": { "action": "setValue", "actionInput": { "PromotedState": "0" } } } } } ] }
Rob
Los Gallardos
Intranet, SharePoint and Power Platform Manager (and classic 1967 Morris Traveller driver)- Tobias_WettemarkNov 02, 2023Copper Contributor
RobElliott This was one of the smartest things i've seen. I've always built a PA flow with a button in a formatted column. This is so much better. Thanks for sharing.
- dlorencDec 05, 2023Copper Contributor
- M365SpecialistDec 12, 2023Brass ContributorI would also like to alter the code so that you can change the promoted state in any direction, 0,1 or 2. Can you please share a code that can do this? 🙂
- influentialeliotNov 03, 2023Brass Contributor
Hi, Rob ... yes ... and that is lovely!
That said, the Power Automate way allows people to fit it into their automations so that someone doesn't *have* to press a button. I would not have posted it otherwise. 🙂
- CLHessJun 22, 2023Copper ContributorThank you, this fixed my issue and I've used it several time.
- ganeshsanapJun 23, 2023MVP
CLHess Tamras1972 Anyone looking for a easier solution to change SharePoint news page to site page, check my solution given on below thread:
Change SharePoint News Page to Site Page. Hope it helps!
Please consider giving a Like if my post helped you in any way.