Loading...

Wednesday, July 18, 2012

OOB Table Of Contents WebPart To Show All Subsites


1)Edit the LevelStyle.xsl  file in In Top Level site\All Site Contents\Style libray to Show only sites and not the other libraries .


Edit the webpart properties as per the requirements

2)To Show All sites
Top Level site or the Site for which you need to display all subsites--Site actions -->Site settings -->Look and Feel-->Navigation -->Increase value

















3)Add the TOC webpart (Edit Page-->Insert Webpart-->Select Content Rollup )
 4)Set the number of levels to one.(Edit Webpart-->Set Properties as below)
 This WebPart can be used as OOB Navigation WebPart through out the site.
This is one more useful blog most ,If more customization is required
Note -->TOC Webpart can dispaly navigation only in single site collection

Saturday, June 2, 2012

Project Site Provisioning In Project Server 2010


Project Server  synchronizes the permission and reset it back to  default permission , I need to change following settings in server settings for this reason.To break the permissions and assign custom site permissions  to groups Programmatically  follow as

PWA siteà Server  Settingsà Operational Policiesà Project Site Provisioning Setting àUncheck Project Permissions check box


Friday, May 11, 2012

Enterprise Project Management:Project Site Approval Workflow in Project Server 2010 -- Part - I

This workflow creates the project site for Basic project plan EPT when workflow task is approved.(This is the correction done over the Branching workflow provided with Project Server 2010 SDK).
Workflow task is created using PSWApprovalTask Content type in Project Server Workflow Task List.

1)Configure Visual Studio for Project Server activities.

New Project SharePointWorkflow -Create site workflow

And enter the url of PWA site

2)Map workflow stages activities to actual Workflow stages in PWA SharePoint Site

3)Enable  PSWEnableApprovalTask Content Type in Project Server Workflow Task List

4)Add the Web reference of Project.asmx and WssInterop.asmx to the Solution

5)Build and Deploy and Associate it Enterprise Project Type

For detailed description of  above steps please visit CodePlex and download the source and document











Friday, February 17, 2012

SharePoint Dialog Framework:Modal Popups With Dynamic Html

1)Make sure that ' this character dont appear in string in dynamic string as following.
tootipText=tootipText+" <a style=color:"+fontColor+" href=javascript:portal_openModalDialog("+EventUrl+"); >"+iEventCount +"."+this.toString()+"</a>";
$(tdEvent).attr("onclick", "CalendarEventsPopup('"+tootipText+"');");
2)Popup
function CalendarEventsPopup(result)
{

result = result.replace(/[(]/g,"('");
result = result.replace(/[)]/g,"')");

var div= "<div id=htmlDiv>
" + result + "</div>
";
$('body').append(div);
SP.UI.ModalDialog.showModalDialog({
html: document.getElementById('htmlDiv'),
title: "Events",
allowMaximize: false,
showClose: true,
autoSize: true,
dialogReturnValueCallback: Function.createDelegate(
null, portal_modalDialogClosedCallback)

});

function portal_modalDialogClosedCallback(result, value)
{
SP.UI.ModalDialog.RefreshPage(result);
}

For details about the calendar customization ,I have uploaded source code @CodePlex

Saturday, February 11, 2012

SharePoint 2010 Social Features: Retrieve Noteboard data with SocialDataService.asmx

Noteboard is social data webpart for posting comments for any user activity.Read more..
To get Comments count on particular url
1)Add the jquery reference to masterpage
2)Invoke CountCommentsOnUrl webmethod of Social Data Webservice

<script type="text/javascript">
$(document).ready(function () {
var strURL = "http://server/Pages/PageWithNoteBoard.aspx?ID=3";
var CountMethod = '/_vti_bin/SocialDataService.asmx?op=CountCommentsOnUrl';

// var soapEnv = "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body><CountCommentsOnUrl xmlns='http://microsoft.com/webservices/SharePointPortalServer/SocialDataService'><url>+ strURL +</url></CountCommentsOnUrl></soap:Body></soap:Envelope>";

var soapEnv = "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
<CountCommentsOnUrl xmlns='http://microsoft.com/webservices/SharePointPortalServer/SocialDataService'>
<url>" + strURL + "</url>
</CountCommentsOnUrl>
</soap:Body>
</soap:Envelope>";


$.ajax({

url: CountMethod,
type: "POST",
async: true,
dataType: "xml",
data: soapEnv,
complete: proccessTagsAndNotes,
contentType: "text/xml; charset="utf-8""

});

function proccessTagsAndNotes(data, textStatus) {
alert(data.responseText);

var count = 0;
//alert(status);
//alert(xData.xml);
// count = $('CountCommentsOnUrlResponse', data).find('CountCommentsOnUrlResult').text();
count = $(data.responseText).find('CountCommentsOnUrlResult').text();


alert(' count' + count);


}

This code was working fine in my case but the link that helped me is here

Friday, February 3, 2012

Assign Custom Permission Levels in User Information List

1)To Add permissions in User Information List browse
server/_catalogs/users/detail.aspx
2)right click on any user name link -->copy shortcut-->to get User Information List id
/_Layouts/listform.aspx?PageType=x&ListId={Guid}&ID=y
3)form the URL
_layouts/listedit.aspx?List=guid obtained as above
4)In Permission Settings add the Group having Custom Permission
5)Create the custom permission level as shown in following Image
6)you may need to add the custom permission levels for discussion board or to let the ad authenticated user modify there user info,in user information list
1)by default AD authenticated user don't have permissions to edit all the lists
so break the permissions for this list and create custom permissions for ad-authenticated user and add to User Information List
2)same is the case for discussion boards