Archive

Archive for the ‘SharePoint 2013’ Category

SharePoint 2013 User Profile Service Application Publishing

December 15, 2015 Leave a comment

While working on a recent project one of the tasks we had to perform was to publish a Service Application across 2 SharePoint 2013 farms.

The steps involved are clearly set out on this TechNet Article

https://technet.microsoft.com/en-gb/library/ff621100.aspx

The SA we were publishing was the User Profile.

The first step is to Exchange the Trust Certificates between the Publishing and Consuming farms, this is very straight forward with clear instructions. https://technet.microsoft.com/en-gb/library/ee704552.aspx

The next step is to publish the service application from the publishing farm, again a straightforward task.

https://technet.microsoft.com/EN-US/library/ee704545.aspx#ProcCA

The Service Applications that can be published are

  • Business Data Connectivity

  • Machine Translation

  • Managed Metadata

  • User Profile

  • Search

  • Secure Store

The next step is to set permissions on the published Service Application on the publishing farm

https://technet.microsoft.com/EN-US/library/ff700211.aspx

using the ID of the consuming farm.

Finally connect to the published Service Application from the consuming farm

https://technet.microsoft.com/EN-US/library/ee704558.aspx

We followed all the above steps to publish and consume the User Profile Service Application all this seemed to work fine until we came to use a site on the consuming farm.

On a site on the consuming farm we were getting the “Sorry, this site hasn’t been shared with you” message from site contents, site, settings and the site sharing screens from an account in the site owners group, trying to get to user settings was throwing a correlation error.

Checking the ULS log on the consuming farm, we were showing errors trying to connect to the SQL instance for the publishing farm.

As both the publishing and consuming farms were built with a SQL alias the fix was to create the alias for the publishing farm on the servers for the consuming farm, this allowed the consuming farm to be able to connect to the SQL instance for the publishing farm.

Advertisements
Categories: SharePoint 2013 Tags:

#sp2013 Site Collection Audit Reports for Business Users

July 26, 2015 Leave a comment

While working on recent 2013 project we had a requirement to allow business users to view site collection audit reports but not be site collection administrators.

Looking into this we could see that there was no way simple way to do this via permissions, but it was actually a very simple request to fulfil.

Firstly we setup site collection auditing for the opening of items (this was the only requirement) and set daily log trimming to a location that the end users can get to.

 

image

The next step was to configure the audit log trimming job from being monthly to daily to force the log generation.

 

image

Now we have a library with daily audit reports that business users can access.

image

 

 

Categories: SharePoint 2013 Tags:

SharePoint 2013 Blank Usage Reports

April 15, 2015 Leave a comment

While working on a SharePoint 2013 Portal project we noticed that the Usage Reports were blank on one Farm, exactly as described in this article.

Following the steps in the article we tested 2 farms. one farm had the receivers defined and was showing information in the usage reports, the other farm has no receivers defined and had blank usage reports.

We noticed that the farm with working Usage Reports was running SharePoint Server with Enterprise Client Access License, the farm with the non working Usage Reports was running SharePoint Server with Standard Client Access License.

Checking on Technet we found that Usage Analysis is an Enterprise only license feature

https://technet.microsoft.com/en-us/library/jj819267.aspx#bkmk_FeaturesOnPremise

 

image

image

So seems to be a by design feature, adding the receivers to the Standard farm would probably make it work, but may break the license agreement.

Happy SharePointing

Categories: SharePoint 2013 Tags:

Excel Calculation Services and RBS

October 5, 2014 Leave a comment

On a recent project I came across a strange problem with Excel Calculation Services.

On a SharePoint 2013 farm with multiple web applications, Excel services was working perfectly on a couple of the web applications but not on others. The trusted locations and process identity settings were set and checked but were not at fault, digging through the ULS logs was showing this.

10/01/2014 15:37:57.58  w3wp.exe (0x7130)        0x4220  Excel Services Application            Excel Calculation Services                ech0      Medium               ExcelService.PostProcessRequest: web method: OpenWorkbook, got exception Id=GenericFileOpenError; Microsoft.Office.Excel.Server.CalculationServer.FileOpenException: The workbook cannot be opened. —> Microsoft.Office.Excel.Server.Host.HostFileException —> Microsoft.SharePoint.SPException: Cannot complete this action.  Please try again. —> System.Runtime.InteropServices.COMException: Cannot complete this action.  Please try again.

    at Microsoft.SharePoint.Library.SPRequestInternalClass.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, Object punkSPFileMgr, Boolean bHonorCustomIrm, IrmProtectionParams fileIrmSettings, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage, String& pEtagNew, String& pContentTagNew, SPFileInfo& pFileProps)

    at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, Object punkSPFileMgr, Boolean bHonorCustomIrm, IrmProtectionParams fileIrmSettings, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage, String& pEtagNew, String& pContentTagNew, SPFileInfo& pFileProps)     — End of inner exception stack trace —

    at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)

    at Microsoft.SharePoint.Library.SPRequest.GetFileAsStream(String bstrUrl, String bstrWebRelativeUrl, Boolean bHonorLevel, Byte iLevel, OpenBinaryFlags grfob, String bstrEtagNotMatch, Object punkSPFileMgr, Boolean bHonorCustomIrm, IrmProtectionParams fileIrmSettings, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage, String& pEtagNew, String& pContentTagNew, SPFileInfo& pFileProps)

    at Microsoft.SharePoint.SPFile.GetFileStream(SPWeb web, String fileUrl, Boolean honorLevel, SPFileLevel level, OpenBinaryFlags openOptions, String etagNotMatch, SPFileStreamManager spMgr, SPFileRightsManagementSettings rightsManagementSettings, Boolean throwOnVirusFound, SPVirusCheckStatus& virusCheckStatus, String& virusCheckMessage, String& etagNew, String& contentTagNew, SPFileInfo& fileprops)

    at Microsoft.SharePoint.SPFile.GetFileStream(OpenBinaryFlags openOptions, String etagNotMatch, String& etagNew, String& contentTagNew)

    at Microsoft.SharePoint.SPFile.OpenBinaryStream(SPOpenBinaryOptions openOptions, String etagNotMatch, String& etagNew)

    at Microsoft.SharePoint.SPFile.OpenBinaryStream(SPOpenBinaryOptions openOptions)

    at Microsoft.Office.Excel.Server.MossHost.MossHostFileLoader.FetchStreamInternal()     — End of inner exception stack trace —

    at Microsoft.Office.Excel.Server.MossHost.MossHostFileLoader.FetchStreamInternal()

    at Microsoft.Office.Excel.Server.MossHost.MossHostFileLoader.FetchStream(IIdentity currentIdentity)

    at Microsoft.Office.Excel.Server.CalculationServer.SharePointFileLoader.FetchStream()     — End of inner exception stack trace —

    at Microsoft.Office.Excel.Server.CalculationServer.SharePointFileLoader.FetchStream()

    at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbookManager.CacheStream(CachedFile cachedFile, FileLoader loader)

    at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.Microsoft.Office.Excel.Server.CalculationServer.ICachedFileProvider.SaveFile(CachedFile cachedFile)

    at Microsoft.Office.Excel.Server.CalculationServer.CachedFile.SaveFile(ICachedFileProvider fileProvider)

    at Microsoft.Office.Excel.Server.CalculationServer.LocalDiskCache.ReserveCachedFileAndMarkUsed(FileId fileId, ICachedFileProvider fileProvider, Boolean replaceExistingFile)

    at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.ReserveCachedFileAndMarkUsed(FileLoader fileLoader, SessionId previousSessionId)

    at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.<FileStreamJob>b__e(IssueLoadThreadArg arg)

    at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.ExecuteWorkbookJob(WorkbookJobDelegate workbookJob, Object param)     24e5bd9c-6708-8070-314e-c1443430d9e0 

 

Looking at the Excel Services file cache for a working request we were seeing this.

image

 

but for a non working request we were seeing this.

image

 

the only commonality seemed to be that the non-working web applications were using RBS for BLOB storage.

Digging through the ULS logs some I finally found the following error.

 

System.Data.SqlClient.SqlException (0x80131904): The EXECUTE permission was denied on the object ‘rbs_fn_get_blob_reference’

A quick google turned up some blogs about database permissions for service accounts, following this blog http://blog.sharepointsite.co.uk/2014/01/sp-2013-ssrs-failing-after-rbs-enabled.html

I added the db_rbs_admin database role to the Excel Services service account for each RBS enabled database and Excel services sprang into life.

Categories: SharePoint 2013

SharePoint 2013, Nintex 2013 Workflow

April 14, 2014 Leave a comment

Recently I have been working with the various Nintex products to create a few demos and prototypes.

Recently while working with a new VM recently I noticed that some of the actions were not performing correctly and the message templates were blank from site to farm level.

None of the normal things seemed to help (IIS Reset, Reboot, Deactivate / Reactivate, Reinstall), until I came across this post on the Nintex forum.

It turned out my VM had the currently withdrawn SharePoint 20103 SP1 applied. As soon I installed the fix normal Nintex service was resumed.

Categories: SharePoint 2013

Opening emails in SharePoint

February 22, 2014 Leave a comment

As part of a recent project we used SharePoint to store emails, both via incoming emails and one of the 3rd party drag and drop tools.

test-emil

Most users were happy with the solution once we had updated the MIME types to allow emails to be opened rather then downloaded, but some still mentioned they would rather that email opened directly from SharePoint rather than seeing the yellow download bar that Internet Explorer puts up.

download

A bit of digging around on the internet came up with the solution from this Microsoft KB article

http://support.microsoft.com/kb/2678934

To enable emails to be opened directly from SharePoint the trick is to disable the Internet Explorer download bar for email file types, to do this add the following registry key to your local machine.

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}

then run the assoc command below to get your .msg file extension type (mine is for Office 2013)

assoc

Now add that file type as a zero length binary value to the key created above.

registry

Emails will open directly from SharePoint.

Project Server Start Date Reporting Quirk

July 11, 2013 1 comment

I came across a little possible pitfall while generating some reporting for a client, which I thought I should share with the community.

 

In Microsoft Project, the Start Date in Project Information defaults to the Start Date of the first task in the plan.

image

Obviously this can be changed in the Project Information so that the Start Date of the Project does not necessarily reflect the Start of the first task in the plan, or the Project Summary task.

image

So which date does appears in the reporting database? Well, here are the results:

From the MSP_EpmProject_UserView view in the reporting database

image

As you can see, the date from the MSP_EpmProject_UserView displays whatever is set in the Project Information. This might cause some unexpected information in reports, so we need to expand our query to include the date from the Project Summary task:

image

So, when writing the specifications for your reports, make sure you’re clear which date the client wants – it’s not unheard of having a plan created a few months in advance of the work being realistically scheduled which might cause this confusion!

Obviously the clear process-driven workaround is to have your Project Managers ensure that the Start Date in Project Information is updated when scheduling the project!

%d bloggers like this: