Our intranet site has 5,000 users. It is running on SharePoint 2013 on-premise, and has a top navigation menu item named "Applications." When user hovers over "Applications", a list of applications will be displayed on a drop down overlay in the form of tiles. The user can then drag-and-drop the tiles to rearrange the order of the application tiles if desired. When the user does that, the new tiles order needs to be saved as a serialized string via JSON for future use. We have a security policy not to use cookies.

What would be the most efficient way for storing custom user settings like this in SharePoint 2013? Save to a list? Save to an external database table via BCS? Custom property in User Profile?

Thanks for your help.

  • And how many applications are there? I hope they are less, since the users can order them.. Commented Jun 20, 2014 at 21:18
  • UserProfile is the best choice for me. As it can be used on any site/web/web app.
    – dotsa
    Commented Jun 20, 2014 at 21:53

2 Answers 2


You can create a custom user property which can be easily used in your JSOM code. link

You can also save to a list or any other database , you would require extra development effort for that. You need to first query list or Database to get the property.

So in your case custom property would be the best option. link

  • 2
    There is a reason why Stack Overflow has a policy to use links as an reference and copy the entire relevant Content in your answer. Commented Oct 26, 2016 at 13:43
  • 1
    Also length limitation of information for user profile property is 3600 characters. It should be taken into consideration. Source: sharepoint.stackexchange.com/questions/145069/… Commented Oct 8, 2019 at 8:14
  • This is the correct way to do it. @Aanchal, you should edit your answer with an working link and an excerpt. Commented Oct 8, 2019 at 8:15
  • @SlavenSemper, good input. Only valid for a single-values-string. You can use a multi-value-string to overcome that limit. Commented Oct 8, 2019 at 8:23

Approach 1: You need to write custom JSOM script to create a UserPreference values as an object and store in a list. The script requires to be loaded with masterpage, so that the user Preference values are feteched before the page is rendered.

Approach 2: You have Rootweb.AllProperties.Add method. You can store user preferences using this method. You can read values from these properties whenever you needed.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.