SP
2010 Discussion boards is enhanced from earlier versions, still it is just
another type of list template which enables saving posts and replies. The gap
between the SharePoint forum lists and real Discussion Boards services (like
those available on the internet) is quite big, and include some very basic and
critical missing features such as:
·
There is no discussion board index that enables
managing multiple discussion boards under groups/subjects.
·
Editing capabilities are very limited
·
No ability to control the visibility of specific
discussion boards
·
No out-of-the-box ability to manage abusive posts
·
Limited Look N feel - very far from Internet-style
forums
·
Rank, like/dislike
If
we have to extend all rich functions, we need to opt for “Third party tools”.
However, some of the features (with limited look N feel) can be managed by few customizations.
Below customization is to achieve “Mark as Answer” feature without much custom
coding.
Steps to
extend this Function:
1)
Create List (OOTB) of type
“Discussion boards”
2)
By default,
a.
It contains two content
types, “Message” & “Discussion”. Add new column of type “Yes/No” with name
“MarkedAnswer”
under “Message” content type.
b.
List contains three views (Flat,
Subject, and Threaded). Edit the “Flat” View and make newly added column
“MarkedAnswer” as visible. It would appear as below..
3)
Discussion boards use
“Thread.xsl” to display above layout.
4)
Take a backup of
“C:\Program Files\Common Files\Microsoft Shared\Web Server
Extensions\14\TEMPLATE\LAYOUTS\XSL” folder before updating any xsl file,
as it will impact globally to farm.
5)
Open “Thread.xsl” file and
find template “<xsl:template name="StatusBar">”
6)
Add below code between
<td> and <div> tag to highlight background
----Highlight status
bar---
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="$thisNode/@MarkedAnswer
= 'Yes'">background-color:
#00bb00</xsl:when>
</xsl:choose>
</xsl:attribute>
------OR---------Add add
answered image as below-----------------
<xsl:choose>
<xsl:when test="$thisNode/@Mark_x0020_as_x0020_answer
= 'Yes'">
<img src='/_layouts/images/kpinormal-0.gif' alt='' />
</xsl:when>
</xsl:choose>
|
No comments:
Post a Comment