SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been tasked with modifying the SharePoint 2010 default Discussion Board to include two additional custom fields that have been definied in the User Profile list.

In an ideal world I would like to be able to just have to create a Custom DataSource that combines the result of the default Discussion Board and joins the User Profile list using the Author[ID] field (I added the [ID] in brackets because the XML output for the default Discussion Board doesn't actually output an attribute called AuthorID, rather it is called ows_Author and contains a value in the format of "28;#Joe Smith").

The two additional fields I'd like to obtain from the User Profile list are Role and Agency. I am aware that I could just as easily use the existing Job Title and Department fields instead of adding my own custom ones (and there's still a chance that I might do just that) but I'd still be interested in knowing how to, at the very least, perform the tasks below.

Is there a way to (i.e. how would one...):

  1. Change the default data source for the Discussion Board so that it uses a custom data source?
  2. Easily create a custom or Linked Data Source containing both default and custom properties from the User Profile list and default Discussion Board Data Source?
  3. Easily update the XSLT used by the default Discussion Board so that the values for the two additional fields joined in from the User Profile list appear below the Author (i.e. Created By) value in the DisplayView of the Discussion Board?

I have already researched solutions involving custom fields, custom types, custom type definitions, custom field types, multicolumn field types and much, much more. Trying to implement any of these features seems pretty daunting and the sheer number of approaches for simply configuring and deploying each solution is overwhelming at best and that's even before writing the actual code to enforce the business logic using C#/VB.NET or CAML and defining the layout and display using XSLT.

Assistance in resolving this matter would be greatly appreciated.

Thanks in advance!!!

share|improve this question

A simpler (and much less invasive) approach would be to either:

  1. Mark the properties as Replicable to have them added to the User Information List. Then us the User ID to retrieve the property asychronously with JQuery. (Or possibly REST.)
  2. Pass the User Name to the UserProfileService.asmx and perform the property lookup with JQuery.

Either way it's easier that creating a new list definition and having to deal with the headaches. It depends on how you plan to implement the solution and how portable it needs to be.

Just my $0.02.


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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