Can I change settings in the resx files without building and deploying a new wsp


#1

I have the solution installed, but stakeholders asked that when users click the cancel button before changing their password, or the continue button after successfully changing their password on /_Layouts/15/FBA/ChangePassword.aspx that the user be logged out so they have to re-login to the site with their newly changed password.

So i went to the FBAPackChangePasswordWebPart.resx located here: C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\Resources and added the url suffix: /_layouts/closeConnection.aspx?loginasanotheruser=true into the CancelDestinationPageUrl_DefaultValue entry and the ContinueDestinationPageUrl_DefaultValue entry.

I then pulled up the site in an incognito window from Chrome, signed in, navigated to the change password page, clicked the Cancel button, but was not logged out. Now if I manually add this url suffix to the url in the open incognito window, I am logged out, so I know the url is correct.

I thought the point of the resx file was that I could make changes to the entries on the fly without having to rebuild the solution, and I guess I could be wrong about this assumption.

So do these entries have to be made in development and built and deployed, or am I making this change in the wrong place?

Thanks.


#2

The .resx files are more intended as a simple way of translating strings in the app to different languages. I’d still make any changes in the project and deploy the changes to ensure that SharePoint has everything where it needs it to be. Also, for property values like this, the .resx value isn’t necessarily the live value, it’s the default value for when the webpart is first created. In this case, on an application page, I would still expect what you’re doing to work since I’m pretty sure SharePoint doesn’t save properties for the web part - but if you were doing this on a standard sharepoint page the webpart would still retain it’s value set in the web part properties and changing the resx would have no effect.

In the case of this ChangePassword.aspx application page, I think the proper place to set this is the properties on the webpart tag itself. See line 20 here, where we set the title text:

You might want to use the network tab in your browser’s dev tool to validate if the proper url redirection is happening.


#3

Thank you. Really appreciate your help.