Closed Ceten closed 5 years ago
did you clear local browser cache and cookies?
Yes I did
Anyone have any idea how I could fix this?
In 9.2.2 I recently experienced an empty Persona bar (present but not populated) after someone uploaded an edited web.config file in binary mode. The end of the file had a bunch of NULs in it and other miscellaneous stuff from the body of the file. I removed everything past the proper end of the file and uploaded. My Persona bar then appeared and functioned properly. Worth checking. Wish your case is this simple.
did you unblock the downnloaded upgrade package (in file properties) prior to unzipping the files contained and copying it over the existing files?
Hmm, is the file admin/personaBar/scripts/util.js present ? This is where the util.resx is initialized...
Do you get errors in the network tab of the browser developer tools (maybe some files not loading or 404 or 500 errors)?
Did you try different browsers?
Are there other javascript errors before the one for this issue, sometimes one failing script breaks others...
Also, does it happen in the same environment when you install a new 8.0.4 and then upgrade it ? If so, maybe revert then create a page with no modules and the default skin, then upgrade and try if it also happens on that page.
This issue was a support issue, and not a confirmed issue. Closing for now
For anyone else, make sure you check your newtonsoft.dll versions. Third party modules can mess this up by overwriting the dll to a newer version.
For me this turned out to be a JSON serializer setting I had added in my custom web API code. In my RouteMapper.RegisterRoutes I had the following line:
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
As that's what I prefer for my endpoints. Commenting that line out fixed my problem as it was causing an issue with this DNN API call:
/API/personaBar/localization/gettable?culture=en-US
The code calling that endpoint expects Pascal case in the response. But my line of code above was converting all API calls to return camel case.
I'd check the API call above and make sure the property names are coming back as Pascal case.
Summary
I'm in the process of updating a DNN install from 7.4 to 9.2. I followed the upgrade path and first updated from 7.4.2 to 8.4.2. After checking everything still functioned I updated to 9.1.1 which seemed to go fine too until the website loaded and I noticed the Persona bar was not loading.
I checked the browser console and noted the following error:
The code which throws the error is the following:
So
util.resx.PersonaBar
is undefined.I searched for hours for a solution but couldn't find anything that worked. The Website folder is not in the root of the drive, all permissions are set correctly and I checked the bindingredirect for Newtonsoft.Json. I also tried to update to 9.2.2 but this resulted in an Empty Persona bar with a similar error.
Affected version
Do you have any ideas what could be causing this?