Archive for the ‘Business’ Category

**** I take no credit for this **** Please thank this person : http://blog.scoreman.net/2010/11/solution-to-missing-server-side-dependencies-8d6034c4-a416-e535-281a-6b714894e1aa/

Solution to: Missing server side dependencies 8d6034c4-a416-e535-281a-6b714894e1aa

The new Health Analyzer in SharePoint 2010 is great and you should always try to clean up all errors in this list. One error I had after installing the RTM version of SharePoint Server was:
[MissingWebPart] WebPart class [8d6034c4-a416-e535-281a-6b714894e1aa] is referenced [X] times in the database [...AdminContent...].
There are many suggested solutions to this problem on the internet (Accessing search administrationQuerying the databasesetup SharePoint Foundation Help Search and crawl help files)
What worked for me was accessing these search pages in the help-site-collection in Central Administration. (just ignore the error about missing list).
After that just reanalyze the issue in the Health Analyzer and hopefully it will dissapear.

 

Use case: Needed to understand the current security layout of a SharePoint site that was migrated from 2007 to 2010. The customer didn’t know what permissions were set where. They needed a way to report on how each site was granting or restricting permissions.

*Notes:

  • I’m not disposing of any objects. Sure I understand this is bad, but the intention of this script is to be run one time in a test environment. So if you plan on running this in production, I would suggest adding the dispose objects.
  • Script is set to put the raw xml file at the C:\, you change this in the .ps1 file.
  • Runs against all web applications in farm minus central admin.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
$logfilepath = "C:\"
 
##Create Table - ScanTable
$ScanTable = New-Object system.Data.DataTable "ScanTable"
$col1 = New-Object system.Data.DataColumn ("URL", [string])
$col2 = New-Object system.Data.DataColumn ("Member", [string])
$col3 = New-Object system.Data.DataColumn ("BasePermissions", [string])
$col4 = New-Object system.Data.DataColumn ("PermFriendlyName", [string])
$col5 = New-Object system.Data.DataColumn ("User_Group", [string])
$ScanTable.columns.add($col1)
$ScanTable.columns.add($col2)
$ScanTable.columns.add($col3)
$ScanTable.columns.add($col4)
$ScanTable.columns.add($col5)
 
$PermLevels = @{}
 
function getsec
{
	Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
 
	$PortalName = Get-SPWebApplication | select DisplayName
	foreach ($p in $PortalName)
	{
		$webapp = Get-SPWebApplication | ? {$_.DisplayName -eq $p.Displayname}
		#$webapp = Get-SPWebApplication | ? {$_.DisplayName -eq "SharePoint"}
		foreach ($s in $webapp.Sites)
		{
			foreach ($web in $s.AllWebs)
			{
				foreach ($r in $web.roles)
				{
					$permpermmask = $r.PermissionMask
					$permname = $r.Name
					$PermLevels.Add("$permpermmask", "$permname")
					trap [Exception] {continue;}
				}
				$red = $web.HasUniqueRoleDefinitions
				foreach ($perm in $web.Permissions)
				{
					#$perm | select *
					#$perm.PermissionMask
					$permpermmaskcurrent = $perm.PermissionMask
					$level = $PermLevels.Get_Item("$permpermmaskcurrent")
					if ($perm.xml -like "*GroupName*")
					{
						$usergroup = "SharePoint Group"
					}
					if ($perm.xml -like "*UserLogin*")
					{
						$usergroup = "AD User"
					}
					$MemberIsADGroup = $perm.Member.IsDomainGroup
					if ($MemberIsADGroup -eq $true)
					{
						$usergroup = "AD Group"
					}
					$output = $ScanTable.Rows.Add($web.url, $perm.Member, $perm.BasePermissions, $level, $usergroup)
				}
			}
		}
	}
	$ScanTable.WriteXML("$logfilepath\SecurityReport.xml")
}
getsec

I believe I got the base of this script from the AutoSPInstaller Project on CodePlex. I enhanced it to enable object cache on all web apps. Just fill in your variables on lines 1 and 2. *Note many of my customers tend to create long user names for these two accounts. Make sure to get the Pre-Compatibility 2000 username, its will be shoter in length than the full username. The script will blow up if you use the longer one. Thanks.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$SuperUserAcc = "domain\SPSObjectCacheF"
$SuperReaderAcc = "domain\SPSObjectCacheR"
 
$PortalName = Get-SPWebApplication | select DisplayName
 
function Set-WebAppUserPolicy($webApp, $userName,$displayName, $perm) {
    [Microsoft.SharePoint.Administration.SPPolicyCollection]$policies = $webApp.Policies
    [Microsoft.SharePoint.Administration.SPPolicy]$policy = $policies.Add($userName, $displayName)
    [Microsoft.SharePoint.Administration.SPPolicyRole]$policyRole = $webApp.PolicyRoles | where {$_.Name -eq $perm}
    if ($policyRole -ne $null) {
        $policy.PolicyRoleBindings.Add($policyRole)
    }
    $webApp.Update()
}
 
function ConfigureObjectCache
{
	foreach ($p in $PortalName)
	{
		$site = $p.DisplayName
		Try
		{
   			Write-Host -ForegroundColor White "- Applying object cache..."
        		$webapp = Get-SPWebApplication | ? {$_.DisplayName -eq $p.Displayname}
 
        		If ($webapp -ne $Null)
        		{
				Write-Host -ForegroundColor White " - Applying object cache to $site ..."
           			$webapp.Properties["portalsuperuseraccount"] = $SuperUserAcc
	       			Set-WebAppUserPolicy $webApp $SuperUserAcc "Super User (Object Cache)"  "Full Control"
 
           			$webapp.Properties["portalsuperreaderaccount"] = $SuperReaderAcc
	       			Set-WebAppUserPolicy $webApp $SuperReaderAcc "Super Reader (Object Cache)" "Full Read"
           			$webapp.Update()        
    	   			write-Host -ForegroundColor White "- Done."
        		}
		}
		Catch
		{
			$_
			Write-Warning "- An error occurred applying object cache to portal."
		}
	}
}
 
ConfigureObjectCache

From SharePoint administrator to technical decision makers , this session is for you. This session will focuses on Out-Of-Box features and functions, pertinent terminology, capacity planning considerations, and a demonstration & walkthrough of connecting SQL Azure to your FAST for SharePoint 2010 implementation. For the SharePoint administrators the capacity planning and pertinent terminology sections will enable you to implement a successful FAST for SharePoint 2010 implementation. Project managers, Power users, and technical decision makers will benefit most from the Out-Of-Box sections and the SQL Azure demonstration, which will provide a high level view of the capabilities and features of FAST for SharePoint 2010.

Thanks to everyone who came to my presentation today, and asked questions!!

Presentation Download: RBA-FAST_PresentationSPFEST11.pdf

Important Links:

http://www.rbaconsulting.com

http://www.sharepointfest.com/Denver/

 

 

I had just installed SQL 2008 R2 Analysis Services, Then I rebooted to install SQL Reporting services, all of the sudden i received this error  “The ENU localization is not supported by this SQL Server media.”

Fix:

Copy  %InstallMedia%\resources\1033\setup.rll to C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\Resources\1033 * Overwrite the file located here. *

P.S. Know Idea on the Support from MS on this fix. So do this at your own risk.

Adding FAST Search to an existing SharePoint 2010 farm, you may notice that your existing site collections do not have “keywords, site promotion and demotion, user context” functions in the site collection administration section. Well there is a good reason for that…. The feature that activates these functions is not enabled. The feature ID is “5EAC763D-FBF5-4d6f-A76B-EDED7DD7B0A5″ . I had seen this behavior in my development environment but never tried to understand why. I would just create a new site collection and boom everything was back to normal. J A quick Google search found this blog. http://www.neilrichards.net/blog/?p=149  so thanks NEIL! 

Before

After

The only credit I can take is the PowerShell code below that enumerates through all the web applications and their site collections and activates the feature. Thanks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Start-SPAssignment -Global
$red = Get-SPWebApplication
foreach ($r in $red)
{
	$rtrim = $r.url
	$rurl = $rtrim.trim("/")
	$rurl
	$blue = Get-SPSite "$rurl(|)" -Limit All -regex
	Foreach ($b in $blue)
	{
		$b.url
		$siteWithNoFastFeatures = get-SPSite $b.url
		$siteWithNoFastFeatures.Features.Add("5EAC763D-FBF5-4d6f-A76B-EDED7DD7B0A5")
	}
}
Stop-SPAssignment -Global

As promised, attached to this post is the PowerPoint used at the Colorado SharePoint User Group meeting on April 21, 2010. For more info on the Colorado SharePoint User Group or for upcoming meetings please go to http://www.cospug.com .

Session abstract:

This session will focuses on Out-Of-Box features and functions, pertinent terminology, and a demonstration & walkthrough using SharePoint designer to connect to a SQL database. The walkthrough will cover managed and crawled  properties, the secure store, and custom refiners, allowing a SharePoint administrator the tools and knowhow to implement FAST of SharePoint 2010.

Items covered in PowerPoint:

Create Secure Store Application
• Set Permissions
• Enter Credentials
• Confirm SQL Permissions
• Create External Content Type in SharePoint Designer
• Create External Data Source
• Create External Content Operations
• Read Item
• Read List

Configure BCS
• Set Permissions
• Create Profile pages

Create Custom List in Site Collection
• View List

Add Content Source to FAST Content SSA
• Add Line of business content source
• Run Full Crawl
• Configure Managed Properties
• Link Crawled Properties to managed properties
• Create Additional Managed Properties
• Run Full Crawl
• Edit Refiner Web Part
• Edit and Add Custom Refiner XML

Search!

Please leave me a comment if you have any questions. Thanks

http://blog.isaacblum.com/wp-content/uploads/2011/04/FASTforSharePointCapabilities_COSPUG_RBA.pdf

The SharePoint Diagnostics Studio gathers and consolidates Event and Diagnostic (ULS) logs in addition to information from the Usage database and presents it through a graphical user interface supporting clarity and a single view into issues impacting a deployment.

The SharePoint Diagnostics Studio provides a wide variety of reports intended to address the most common issues impacting capacity, performance, availability, and usage that can be used independently or together to identify and isolate issues occurring in a SharePoint environment.

Environment  summary: Database attach SharePoint 2007 db – upgrade approach. Customer is currently running the “previous user interface” for a handful of months until upgrading to the v4 master page.

The other day we noticed when clicking the new button for a web part gallery that is still running the “previous user interface” (v3 master page) nothing seems to happen.


Running a fiddler trace shows the call.


When investigating further I can see the page is loading, but just not to the users browser.


I don’t know root cause, but I have found a work around. Not desirable for long term use, but most customers shouldn’t be navigating to this location much, plus most don’t stay on the “previous user interface” (v3 master page) for very long.
Add this /_layouts/NewDwp.aspx?IsDlg=1 to the end of the URL of the web part gallery you’re in. ex: original URL = http://v3test/_catalogs/wp/Forms/AllItems.aspx . New URL = http://v3test/_layouts/NewDwp.aspx?IsDlg=1

 

  • Archives

  • Tags

  • Subscribe
  • Pages

  • More

  • Disclaimer…

    This is my personal weblog. The opinions expressed herein are my own and are not representative of any 3rd party influence. The owner of this blog reserves the right to edit or delete any comments submitted to this blog without notice if they are deemed to be spam, offensive or otherwise inappropriate. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.


    Lastly, I do my best to document my sources if the article is not of my own creation. If I have missed or forgotten to source your work. I would love feedback via the comments section. Thank you.

DreamHost promos
SiteLock