Feeds:
Posts
Comments

https://oauth.io/ offers a Client Side OAuth solution that can be used with JavaScript.

It can be used for the new Twitter API with no server code.

$webAppName = “Contoso Internet Site XYZ”
$webAppUrl = “http://www.contoso.com”
$webAppPort = 80
$webAppHostHeader = “sharepoint.contoso.com”
$membershipProviderName = “OAMMembershipProvider”
$roleProviderName = “OAMRoleProvider”
$appPoolName = “ContosoAppPool”
$contentDBName = “Contoso”
$appPoolUser =  “DE\sp_AppPool”

Write-Host “Deleting Web application $webApp if it exists…”
Remove-SPWebApplication -Identity $webAppUrl -Confirm:$false -Verbose -DeleteIISSite:$true -RemoveContentDatabases:$true -ErrorAction SilentlyContinue

$formsAuthProvider = New-SPAuthenticationProvider -ASPNETMembershipProvider $membershipProviderName -ASPNETRoleProviderName $roleProviderName
$windowsAuthProvider = New-SPAuthenticationProvider
$AuthProvidersArray = $formsAuthProvider, $windowsAuthProvider

New-SPWebApplication -Name $webAppName -Port $webAppPort -HostHeader $webAppHostHeader -URL $webAppUrl -ApplicationPool $appPoolName -ApplicationPoolAccount (Get-SPManagedAccount $appPoolUser) -AllowAnonymousAccess -AuthenticationProvider $AuthProvidersArray -AuthenticationMethod NTLM -Verbose -DatabaseName $contentDBName  -ErrorVariable $ev
if($ev -ne $null)
{
    Write-Host “Web Application $webApp created successfully”
}

$webApp = get-SPWebApplication $webAppUrl
$webApp.UseClaimsAuthentication = $true
$webApp.Update()
Write-Host “Updated Web application to use claims based authentication for $webApp..”

For some reason if you set the Properties Hashtable of the File added as (“Title”, “TitleValue”), sharePoint just ignores it.

 

The Trick is to set the Title using (“vti_title”, “TitleValue”)

when developing a custom SPD 2010 workflow activity using Visual Studio , sometimes you can get an error saying “"Cannot find property named PROPERTYNAME on activity type ACTIVITYNAME" when trying to assign a parameter to a workflow activity. This can especially occur if the parameter is newly added to the activity (I.e. your previous version of the activity did not have this parameter or  it had it with a different name.

a solution might be to close the SPD and clear the cache at:

Windows 7:
C:\Users\<username>\AppData\Local\Microsoft\WebsiteCache
Delete all the files and folders in this folder

C:\Users\<username>\AppData\Roaming\Microsoft\SharePoint Designer
Delete all the files and folders in this folder

 

Reference: http://social.technet.microsoft.com/Forums/el-GR/sharepoint2010customization/thread/df776261-17d3-4771-88bb-572cf7b1df5d

For some reason when creating a custom ribbon action with Visual studio it seems that no matter what you do, the ribbon button or action are never updated.

The Solution that worked for me is

1) retract the solution

2) delete the feature from the Visual studio project

3) Create a new feature in the visual studio project and add the custom ribbon action

4) deploy the new feature.

I had a custom web part that is running code that required elevated privileges and was running within SPSecurity.runWithElevatedPrivileges  as below

 

SPSecurity.RunWithElevatedPrivileges(delegate()

{

   SPSite siteColl = SPContext.Current.Site;

   ….

}

I kept throwing an access denied error.

after some investigation I found the solution at this useful blog.

http://blogs.msdn.com/b/sasohail/archive/2010/10/31/access-denied-within-spsecurity-runwithelevatedprivileges.aspx

 

the problem in short is, I was using a reference to the SPSite obtained from the SPContext. This reference to SPSite was created before the code entered the RunWithElevatedPrivileges block. Therefore, the reference to the SPSite was running under the current user privileges even though it was placed within the RunWithElevatedPrivileges block.

 

The solution is to obtain a new reference to the SPSite created within the RunWithElevatedPrivileges block as shown below.

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite siteColl = new SPSite(SPContext.Current.Site.ID))
    ….

}

Caching in SharePoint

A very nice presentation by Shai Petel about SharePoint caching: http://kwizcom.blogspot.com/2011/10/developers-guide-how-to-enhance-your.html

When building a custom role provider for SharePoint 2010, make sure of the following:

  • The Role Provider section must be added to the following web.configs
    • Central Admin
    • The Security Token Service
    • The Web application
  • The <RoleProvider tag in the web.config must have:
    • enabled=true
    • a default provider like (<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" )

Symptoms:

  • You keep getting the exception HRESULT: 0x800708C5 with the Active directory membership provider change password indicating that the password used does not conform to the domain password policy.
  • As an admin, you are able to update the user password using that same password.

 

Probable cause:

  • The active directory policy can be set to allow a “minimum password age”, i.e. users cannot change their own password before it is at least X days (default 1). The Administrator though does not have such restrictions when trying to update a user’s password.
  • This can be checked at Start->Administrative tools->Group policy Management->Navigate the tree to the domain-> default domain policy –>right click edit->computer configuration –>policies –>windows settings->security settings-> account policies->password policy->check the entry for “minimum password age”
  • If you want to reset it (mainly for development/testing purposes), just change it to zero. then go to command line gpupdate /force to apply the new policy