Saturday, May 20, 2017

Beer Bottle Band

See what happens when you give IT boys beer

Thursday, May 4, 2017

SharePoint 2010/2013: Workflow Invoking on an Email Enabled List

You have an emailed enabled list in SharePoint. You also have a workflow created against the list that is configured to run on both the creation and update of list items. When someone sends an email to the list, you want the workflow to run. You either want to include or exclude the original email.

Default Behavior and Settings
When enabling Incoming Email on a list, the default setting is to include the original email.

If you have a workflow associated with this list with this setting as Yes, that workflow will invoke when a user emails into the list. My particular workflow needed to send all attachments from the email to a particular Exchange mailbox.

My Result
My workflow worked fine. When an email was sent to the list with attachments, my workflow was able to send those attachments to the Exchange mailbox. Included was the original email as an .eml file.

Not Including the Original Email
However, in my scenario, I needed to keep the email anonymous. Therefore, I did not want to include the original email as that would display the original sender. So I switched the Incoming Email setting to No.

Workflow Behavior Without Original Email
Once I did not include the original email, the workflow associated no longer invoked when a user sent an email to the list. Bummer.

As my director always says, "There's gotta be a setting for that". This is not always the case but in this case I got lucky.

There is a setting that will invoke workflows when a user emails into this list without saving the original email. It is crazy that this setting (and you'll see the name soon) actually exists.

There is a SharePoint Administration setting within the content service that allows declarative workflows (SharePoint Designer) to invoke on email enabled lists. The setting is named DeclarativeWorkflowStartOnEmailEnabled.

No way! Really? This is what I needed. Back in the day this setting was set using stsadm. Nowadays, a few PowerShell statements and you are set (pun intended).

$spWebService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$spWebService.DeclarativeWorkflowAutoStartOnEmailEnabled= $true

Yeah baby!

As a result in my scenario, the workflow is now invoked when a user emails into the list without saving the original email. The sending of attachments to the Exchange mailbox no longer includes the original email (.eml) file.

Special thanks to my wonderful co-worker Liz Lowry for remembering there was an email setting to not include the original email.

Friday, February 19, 2016

SharePoint 2013 Search: Search Crawl Errors after SQL Server 2012 SP3 Applied

After we applied SQL Server 2012 SP3, we noticed that the search crawls (which are mainly against Line of Business Data) where producing errors. The error was:

The content processing pipeline failed to process the item. ( Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index; ; 

After trying many things such as resetting index, recreating the content source, etc., I finally resolved the issue.

I needed to go into the Business Data Connectivity Services service application and Upgrade the External Content Type profile pages:

After I performed the upgrade, the crawls successfully completed with no errors.

Tuesday, November 10, 2015

SharePoint: White Screen of Death Troubleshooting

Anytime you get a white screen of death from SharePoint (as shown below), you are in luck!

Server Error in '/' Application.

The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

All you need to do is View the Source of the web page to find out the actual error or problem.

[FileNotFoundException]: File Not Found.
   at Microsoft.SharePoint.ApplicationRuntime.SPVirtualFile.CalculateFileDependencies(HttpContext context, SPRequestModuleData basicRequestData, ICollection& directDependencies, ICollection& childDependencies)

Usually the problems I have seen are a missing assembly or master page.