Friday, February 24, 2012

Add to Quick Launch

private static void AddToQuickLaunch(SPWeb web, string viewUrl, string viewTitle)
{
if ((string.IsNullOrEmpty(viewTitle))
(string.IsNullOrEmpty(viewUrl)))
{
return;
}
SPNavigationNodeCollection nodes;
SPNavigationNode node;
nodes = web.Navigation.QuickLaunch;
node = new SPNavigationNode(viewTitle, viewUrl);
nodes.AddAsFirst(node);
}

Monday, November 7, 2011

Create MySite On Server

bool CreateMySiteOnServer(string serverUrl)
{
bool returnValue = false;
Logger.LogVerbose("CreateMySiteOnServer for URL:" + serverUrl);

try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite lowPrivilegeSite = new SPSite(serverUrl);
SPSite site = new SPSite(serverUrl, lowPrivilegeSite.UserToken);
lowPrivilegeSite.Dispose();
using (site)
{
Logger.LogVerbose("Using Site:" + site.Url);

bool allowUnsafeUpdates = site.AllowUnsafeUpdates;
bool contextAllowUnsafeUpdates = SPContext.Current.Web.AllowUnsafeUpdates;
UserProfile profile;
try
{
site.AllowUnsafeUpdates = true;
SPContext.Current.Web.AllowUnsafeUpdates = true;
SPServiceContext serviceContext = SPServiceContext.GetContext(site);
UserProfileManager profileManager = new UserProfileManager(serviceContext);
if (false == profileManager.UserExists(GetCurrentUser()))
{
Logger.LogVerbose("Creating User Profile.");
profile = profileManager.CreateUserProfile(GetCurrentUser());
}
else
{
Logger.LogVerbose("Getting User Profile.");
profile = profileManager.GetUserProfile(GetCurrentUser());
}
// Create Personal Site
Logger.LogVerbose("Creating Personal Site.");
profile.CreatePersonalSite();
// If success, we set return value - failure to CreatePersonalSite will throw an exception
returnValue = true;
}
catch (Exception ex)
{
Logger.LogException("CreateMySite.CreatePersonalSite (inner try)", ex);
}

site.AllowUnsafeUpdates = allowUnsafeUpdates;
SPContext.Current.Web.AllowUnsafeUpdates = contextAllowUnsafeUpdates;
}
}
);
}

catch (Exception ex)
{
Logger.LogException("CreateMySite.CreatePersonalSite (outer try) ", ex);
}

return returnValue;
}

Thursday, November 3, 2011

Get Taxonomy Term by ID

static bool GetTermById(Guid idToMatch, TaxonomySession spTaxonomySession, ref Term result)
{

foreach (TermStore ts in spTaxonomySession.TermStores)
{
if (0 == ts.Id.CompareTo(idToMatch))
{
Console.WriteLine(" - matched TermStore: '" + ts.Name + "'");
return false;
}

foreach (Group group in ts.Groups)
{
if (0 == group.Id.CompareTo(idToMatch))
{
Console.WriteLine(" - matched Group: '" + group.Name + "'");
return false;
}
foreach (TermSet set in group.TermSets)
{
if (0 == set.Id.CompareTo(idToMatch))
{
Console.WriteLine(" - matched TermSet: '" + set.Name + "'");
return false;
}
foreach (Term term in set.Terms)
{
if (0 == idToMatch.CompareTo(term.Id))
{
result = term;
return true;
}
}
}
}
}
Console.WriteLine("FAILED - NOT FOUND");
return false;
}

Thursday, May 26, 2011

Wednesday, March 2, 2011

Types of URL

http://msdn.microsoft.com/en-us/library/ms431831.aspx

Absolute URL that specifies a full path and that begins by specifying a protocol. For example, http://Server/[sites/]Web_Site/Lists/List_Title/AllItems.aspx.

Server-relative URL that is based on the server address and that begins with a forward slash, specifying a complete path from top-level Web site to file name. For example, /[sites/]Web_Site/Lists/List_Title/AllItems.aspx.

Web site-relative URL that is based on the address of a Web site object (SPWeb), that does not begin with a forward slash, and that specifies a complete path from the Web site's address to the file name. For example, Lists/List_Title/AllItems.aspx.

URL relative to a file or folder that is based on the folder containing the file that does not contain any forward slashes and that specifies the name of the file. For example, AllItems.aspx.