Tag Archives: SharePoint 2010

New Version of SSRS add-in released for SharePoint 2010

Today a new download showed up on my RSS feeds and I wanted to take a minute to compare this new MSI file against the trusty old MSI I’ve used for so long now.   As you know, the SharePoint 2010 Prerequisites installer requires “rsSharePoint.msi” to be loaded before you can install SharePoint 2010.   Below is the OLD link for SSRS which most people use today for cool stuff like a PowerShell script to download all Prerequisites for offline install. as well as the NEW link.   The release of Service Pack 2 for SQL 2008 R2 seems to be triggering lots of new downloads so it might be worthwhile to make sure you’re SharePoint front end binaries match the backend SQL server version.   If patching SQL to SP2, then it’s probably a good idea to update the web front end components and look for the “4000” version number.

 

NEW –
SP2
http://www.microsoft.com/en-us/download/details.aspx?id=62210.50.4000.07/27/201236.9 MB
OLD –
SP1
http://www.microsoft.com/en-us/download/details.aspx?id=2813210.50.2500.0011/3/201136.9 MB

 

It might be a good idea to download the most recent add-in for any new server installs.  There appear to be updates to most all files, but “sqlserverspatial.dll” grew more than most possibly hinting at better geographic data support.

 

image

 

Old Package – File Version Detail

image

 

New Package – File Version Detail

image

 

\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Admin\ReportServer\reportserverproperties.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Admin\ReportServer\reportserversitesettings.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverrsaction.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverrsintegrationresults.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverrsviewerpage.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserversitelevelsettings.aspx
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1025sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1026sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1027sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1028sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1029sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1030sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1031sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1032sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1033sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1035sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1036sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1037sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1038sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1040sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1041sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1042sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1043sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1044sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1045sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1046sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1048sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1049sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1050sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1051sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1053sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1054sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1055sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1058sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1060sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1061sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1062sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1063sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles1087sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles2052sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles2070sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles2074sqlrvdefault.css
\Program Files\Common File\Mmicrosoft Shared Web\Server Extensions\14\Template\Layouts\reportserverstyles3082sqlrvdefault.css
\Program files\Microsoft SQL Server\100\keyfile1033rssharepoint_keyfile.dll
\Windows\GAC\microsoft.reportingservices.sharepoint.ui.serverpages.dll
\Windows\GAC\microsoft.reportingservices.sharepoint.ui.webparts.dll
\Windows\GAC\microsoft.sqlserver.types.dll
\Windows\GAC\rssharepointsoapproxy.dll
\Windows\GAC\_32microsoft.sqlserver.types.dll
\Windows\System32\sqlserverspatial.dll
\Windows\SysWOW64\sqlserverspatial.dll

EmptyList.ps1 – delete all SharePoint list items with PowerShell

Recently I needed to empty an InfoPath Form Library by deleting all of the items and skipping Recycle Bin.  Datasheet view is great for small lists (a few hundred rows) but it doesn’t perform as well on large lists.  Also, skipping the Recycle Bin is a unique requirement best handled with server side code.  See the below PowerShell script for how to easily “empty” any SharePoint list or library.  This works with both SharePoint 2010 and SharePoint 2007 (MOSS 2007).  NOTE – Use this script carefully, it is really good at deleting.  Smile

# SharePoint On-Premise
Add-PSSnapIn Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue | Out-Null
$web = Get-SPWeb "http://sitename/"
$list = $web.Lists["Shared Documents"]
$caml=""
#optional filter
$query=new-object Microsoft.SharePoint.SPQuery
$query.ViewAttributes = "Scope='Recursive'"
$query.Query=$caml
$items=$list.GetItems($query)
Write-Host $items.Count
$items | % { $list.GetItemById($_.Id).Delete() }
$web.Dispose()
$site.Dispose()

# SharePoint Online (SPO)
$webUrl = "https://tenant.sharepoint.com/sites/team"
$listTitle = "Shared Documents"
Connect-PnPOnline –Url $webUrl -UseWebLogin
$l = Get-PnPList $listTitle
$items = Get-PnPListItem -List $listTitle -PageSize 500
$batch = New-PnPBatch
foreach ($item in $items) {
$item.ID
Remove-PnPListItem -List $l -Identity $item.Id -Batch $batch
}
Invoke-PnPBatch -Batch $batch

Add-SPSolution: Failed to extract the cab file in the solution (FIXED)

Today I saw this error message and was able to fix by renaming the original source files in Visual Studio 2010 to remove special characters.   After checking on Google it appears that symbols such as ~!@#$%^&* may cause issues.   Lesson learned: keep file names simple so SharePoint is happy.  Smile

Add-SPSolution: Failed to extract the cab file in the solution.

8-3-2011 8-44-21 AM

References

FIXED – An attempt has been made to use a data extension ‘ADS’ … with Access Services 2010

The below error might appear if you are using Access Services 2010 for the first time.  The local Access 2010 publishing wizard will create RDL and RSDS files for reports you have.   However, the SSRS server side configuration may require a minor update to enable ADS  (Access Data Server).  See http://technet.microsoft.com/en-us/library/ee662542.aspx for full details.

The instructions are pretty clear except for where to find the “rssrvpolicy.config” file.  Mine was under C:Program FilesMicrosoft SQL ServerMSRS10_50.MSSQLSERVERReporting ServicesReportServer.   Hope that helps.  If you’d like to learn Access Service 2010 on your system be sure to check out the Northwind 2010 Web Database at http://office.microsoft.com/en-us/templates/results.aspx?qu=northwind&ex=1     Smile

 

Successful Report

image

image

 

 

Error Detail

image

image

  • An error has occurred during report processing. (rsProcessingAborted)
    An attempt has been made to use a data extension ‘ADS’ that is either not registered for this report server or is not supported in this edition of Reporting Services. (rsDataExtensionNotFound)
  • An error has occurred during report processing. (rsProcessingAborted)
    The Group expression for the grouping ‘Group1’ contains an error: Request for the permission of type ‘Microsoft.Office.Access.Server.Security.AccessServicesPermission, Microsoft.Office.Access.Server.Security, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ failed. (rsRuntimeErrorInExpression)

Central Administration – hide the Health Analyzer bar (CSS)

Many SharePoint farms display the below warning.  Unfortunately it tends to get people’s blood pressure up.  While it’s good to know about your farm, some of the underlying conditions may persist or even by expected.  A bright red color on the homepage creates a sense of panic which generally isn’t helpful.   For my CA homepage I made a simple CSS addition via Content Editor Web Part to override the background color.

I still see the messages, but they come across less like a blaring three alarm fire and more like a gentle reminder.  Smile

 

The SharePoint Health Analyzer has detected some critical issues that require your attention. View these issues. 

Before

image

After

image

CSS Code

Below is the internal code for a Content Editor Web Part to apply more calm color styling. 

 

Download .DWP Web Part

Then you can easily import to your environment.

  

FIXED – Rule “User account requirement for Farm administrator” failed

When installing PowerPivot on SharePoint 2010 you might see the below error.   Behind the scenes several permissions are being verified, not just Farm Admin.   In my case I also needed to grant SQL SYSADMIN permission to the user account performing the install.  This error message is confusing because it can occur even if you are listed on Central Administration as a Farm Admin.  So before you run “setup.exe” on the SQL CD, be sure to double check your permissions.

 

PowerPivot install account needs:

  • Local Administrator 
  • Farm Administrator 
  • SQL sysadmin fixed role 

Rule "User account requirement for Farm administrator " failed.  The user is not a farm administrator.

image

 

image

image

 

image

Programmatically enabling Records Management

Recently I had someone ask about how In-Place Records Management could be enabled in SharePoint 2010 for a given document with C# object model code.  The method ConfigureListForAutoDeclaration() was key to making everything work.  This would allow for easily enabling on many sites all at once.  Below I’ve included C# code and screenshots from the test site where it was enabled.  Please feel free to leave any questions below with a comment.

  • Open site
  • Enable “In-Place Records Management” site collection feature  (da2e115b-07e4-49d9-bb2c-35e93bb9fca9)
  • Open document library
  • Open “Record declaration settings”
  • Enable “Automatic Declaration” with [Microsoft.Office.Policy.dll]
  • Upload test files
  • Confirmed:  see padlock icon and unable to delete document library

 

C# – Visual Studio 2010 Console Application

Add assembly reference to [C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIMicrosoft.Office.Policy.dll]

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft;
using Microsoft.SharePoint;
namespace SharePointConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string siteURL = "http://sp2010";
            using (SPSite site = new SPSite(siteURL))
            {
                SPWeb w = site.OpenWeb();
                SPList dl;
                bool needToCreate = false;
                try
                {
                    dl = w.Lists["Records"];
                    Console.WriteLine("found");
                }
                catch (System.ArgumentException)
                {
                    needToCreate = true;
                }
                if (needToCreate)
                {
                    //missing so create it
                    Console.WriteLine("Records DL missing on " + w.Url);
                    Guid g = w.Lists.Add("Records", "** Coporate Records Management **", SPListTemplateType.DocumentLibrary);
                    w.Update();
                    dl = w.Lists[g];
                    //enable auto-Record for uploads
                    Microsoft.Office.RecordsManagement.RecordsRepository.Records.ConfigureListForAutoDeclaration(dl, true);
                    //add CEWP to default view
                    dl = w.Lists[g];
                    //show on QuickLaunch
                    if (!dl.OnQuickLaunch)
                    {
                        dl.OnQuickLaunch = true;
                        dl.Update();
                    }
                    //disable folders
                    if (dl.EnableFolderCreation)
                    {
                        dl.EnableFolderCreation = false;
                        dl.Update();
                    }
                    //enable Content Types
                    if (!dl.ContentTypesEnabled)
                    {
                        dl.ContentTypesEnabled = true;
                        dl.Update();
                    }
                    //disable Required Check Out
                    if (dl.ForceCheckout)
                    {
                        dl.ForceCheckout = false;
                        dl.Update();
                    }
                    //add Content Type to default view
                    Console.WriteLine("CT");
                    SPField ctField = dl.Fields["Content Type"];
                    SPView defaultView = dl.Views[dl.DefaultView.ID];
                    defaultView.ViewFields.Add(ctField);
                    defaultView.Update();
                    dl.Update();
                }
            }
        }
    }
}

Screenshots

image

DisplayName

Id

Scope

RecordResource

5bccb9a4-b903-4fd1-8620-b795fa33c9ba

Site

RecordsManagement

6d127338-5e7d-4391-8f62-a11e43b1d404

Farm

InPlaceRecords

da2e115b-07e4-49d9-bb2c-35e93bb9fca9

Site

RecordsCenter

e0a45587-1069-46bd-bf05-8c8db8620b08

Web

image

image

image

image

image

Central Admin – one page with every icon

Solution:   One ASPX page which shows all Central Admins functions.

Background:  I was frustrated with clicking through the 8 different ASPX pages CA offers … or my lack of memory on where to find things.  For example, if you want “Timer Jobs” you need to first know to look under “Monitoring”.   That’s fine and it does make for an overall clean display.   However, I wanted to try something more streamlined for my DEV virtual machine.

  • Explore 14TEMPLATESiteTemplatesCENTRALADMIN
  • Copy “generalapplicationsettings.aspx” to “generalapplicationsettings.BAK”
  • Edit “generalapplicationsettings.aspx”  and insert the below content.
  • Open Central Admin with IE and click “General Application Settings”
  • You should now see a single page with every function.   From here “Ctrl+F” works great to quickly jump to functions.  No more clicking around guessing.  Just scroll the mouse wheel and you’re there.  Smile

TXT16 generalapplicationsettings.aspx

 

image

Best of SharePoint 2010 VSIX

The more I learn about Visual Studio 2010 the more I like it. For SharePoint developers, it is great to finally have a mature toolset. To make that experience even better the community has created several VSIX extensions as a “quick start” to more easily jump into various project types. Below I outline links to the VSIX extensions I am aware of and run locally. If you have any questions or suggestions please leave a comment.  Cheers!   Smile

 

image

 

CKS:DEV – Community Kit for SharePoint: Development Tools

http://cksdev.codeplex.com/

SharePoint Foundation 2010 version and SharePoint Server 2010 version

WSPBuilder conversion tool (WCT) beta

Improved Quick Deploy

Keyboard shortcuts

Updated Full Trust Proxy SPI

Restart processes menus

Attach to processes menus

Solution level Package all

Improved import Content Types

Branding SPI

Improved Fluent visual web part SPI

Basic service application SPI

WCF service SPI

SharePoint PowerShell cmdlet SPI

SharePoint PowerShell pipe binding SPI

Improved copy assembly name menu

SharePoint 2010 Extensibility Projects

http://archive.msdn.microsoft.com/vsixforsp/

  • Silverlight and SharePoint project template
  • SharePoint Ribbon project template
  • OBA Deployment project template

Visual Studio 2010 SharePoint Power Tools

http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9

  • Sandboxed-compatible Visual Web Part
  • Sandboxed Compilation

Silverlight SharePoint Web Parts

http://visualstudiogallery.msdn.microsoft.com/e8360a85-58ca-42d1-8de0-e48a1ab071c7

  • Silverlight Web Part
  • Silverlight Custom Web Part

SharePoint 2010 Timer Job

http://visualstudiogallery.msdn.microsoft.com/ab2b2d63-de37-4f63-b4b0-442f80b59b00

SharePoint 2010 Console Application

http://blah.winsmarts.com/2011-2-SharePoint_2010_Console_App,_Project_Template.aspx

LINQ to SharePoint DSL Extension for Visual Studio 2010

linq2spdsl

AutoSPInstaller + PowerShell Remoting

Today while working on the Amazon EC2 cloud I wondered if maybe it was possible to run @brianlala’s AutoSPInstaller script entirely from a remote PowerShell session.   Why?   RDP is fading out.  PowerShell and command line automation will be required skills in the future for IT Pros to manage on a large scale.   I’d like to know how to do everything with PowerShell.   I admit RDP-ing over first is generally available and easy.   But what if you need to run 10 installs?  20?   At some point RDP stops scaling up.

New to PowerShell Remoting?  It’s just opening the console to a remote machine.  This allows you to manage it without any RDP graphical interface and also manage multiple servers at once by sending commands and receiving output in parallel.    Read Microsoft’s description and how to get started here.

So here goes nothing …

  • Launch EC2 server  (W08R2)
  • Download ISOs  (SQL08R2 + SP2010)
  • DCPROMO  (new domain)
  • Create users
  • Install SQL
  • Install SharePoint
    • Extract ISO to folder
    • Extract updates
    • Download AutoSPInstaller
    • Populate XML config

Sounds easy enough, right?  Smile    Below are the screenshots.  Leave a comment or hit me on twitter (@spjeff) with any questions.

UPDATE: I could not see console output at first.  I tried reboot and run PS1 directly instead of BAT.   That helped with visible console output.

UPDATE:  I hit a snag on WIF prerequisite failing.  Not clear why since transcript wasn’t available.

So I bailed and just installed the normal way with an interactive RDP session.  There are limitation with PowerShell remoting (i.e. transcript) that we really need here.  Also, troubleshooting is made too cumbersome.   For now the safest way is the simplest:   interactive RDP to install, then use PowerShell remoting long term for management tasks.  Hot

 

 

image

image

image

image

image

image

image

image

image

 

image

image

 

image

 

image

 

image

 

image

Return to Top ▲Return to Top ▲