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...):
- Change the default data source for the Discussion Board so that it uses a custom data source?
- 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?
- 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!!!
PS: I was told to repost my original question here.