Posts

Secure Store Service to store credentials - work with anonymous

Hi All, Just want to share something. Following my colleague's  post  , there is one more way on where to store settings, which is probably the preferred way. We have been using config list in SharePoint that only Site Collection Admin can access. The problem is that they are stored as clear text and SharePoint doesn't provide Password field type OOTB. Since the password requirement has changed, only infrastructure team can add/modify the password and they don't want us to know what the password is. As we want to avoid web.config modification, Secure Store Service application is the rescue! and it turns out to be pretty straightforward as well. Having created your Secure Store Service application and added the credentials in, I only had to create a helper class to retrieve my settings. I didn't end up using the code in that post as I want to simply grab all my key-value pair: Then you can just call that function and you will get your dictionary :) Hope th...

SharePoint repair WFE IIS Site Missing Virtual Directories

Hello, When you have multiserver environment, your web application provisioning can go wrong due to many reasons (app pool timeout etc.) and as a result you can get one WFE works while the other does not. In my case, some of OOTB virtual directories like _login and _windows were missing on one of my WFE. I don't want to recreate my web application from scratch - and luckily SharePoint provides Provision() and ProvisionGlobally() method. We ran Provision() on the failed WFE and it fixed all our IIS sites (default and internet zone) in one go. To do this just open powershell on the WFE: You can remove the IIS site completely in WFE IIS manager and Provision() will recreate the IIS site for you. Hope this helps, Andreas

Creating Web Template and WebProvisioned Receiver Walkthrough

Hi, As part of my migration project from MOSS 2007 to SP2013, I realised there was a site template I had to create. Reading up on web template and site definition, I decided to go with creating web template as this is much easier. Turns out that to get things glued up together (site columns, content types, lists, etc.) is not as straightforward as it seems as we need the right code. I have listed the final code here so if you are to go and create a new web template things will be easier (I hope) :) It's good to read this article as well re. Web Template Creating Site Columns and Content Types Creating these programmatically will allow you to have more control and will be able to upgrade these in the future. So in the 'Branding' feature, I create these with the help from this article  and extend the helper methods to cater for the publishing html fields: The Utility helper class: Creating Web Property Bag Next we will create property bag for our new site (...

SharePoint 2013 Search Results webpart Change Query (QueryBuilder) button not working

Hi everyone, I got this problem on my sites where 'Change Query' button on the Search Results webpart refreshes the page instead of showing the modal window. Looking at the console window it seems that it can't read property 'QueryBuilder'. Turns out after some investigation, it is because I had an html tag with name="Search" and it didn't like it. I changed the name tag to something else and it starts working again. HTH, Andreas

SharePoint 2013 Running workflow programmatically StartWorkflow error FAILED hr detected (hr = 0x8102008a)

Hello, Just want to share something in regards to starting workflow using the Workflow Manager in code. I have built a SPD reusable workflow for a content type. I then add this workflow to my list in my site. As I want to be able to trigger this workflow anonymously , I have to run the workflow using WorkflowManager instead of the standard auto start from UI (Otherwise the workflow will be created but will not run) Originally I used the ItemAdded event receiver, then use this piece of code: StartWorkflow function: But my workflows only get triggered for some records (intermittently). When I run the debugging, I can see that a weird error is thrown: An exception of type 'Microsoft.SharePoint.SPException' occurred in Microsoft.SharePoint.dll but was not handled in user code FAILED hr detected (hr = 0x8102008a) in the log : COMException: 0x8102008a Looking around for solution I couldn't find the answer. After some trials and errors, I noticed that...

SharePoint ADFS Cert expiring / rollover

Hi, If your ADFS cert is expiring, the SharePoint site will throw this error: The SAML Assertion is either not signed or the signature’s KeyIdentifier cannot be resolved to a SecurityToken. Ensure that the appropriate issuer tokens are present on the token resolver To resolve this, just go into your ADFS server, export the new Token Signing certificate, then run this in CA server: $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("D:\SSL Certificate\ADFSCert.cer") New-SPTrustedRootAuthority -Name “Token Signing Certificate” -Certificate $cert $sts = Get-SPTrustedIdentityTokenIssuer $sts | Set-SPTrustedIdentityTokenIssuer -ImportTrustCertificate $cert And voila! it will start working again. HTH, Andreas

SharePoint Designer 2013 Workflow not updating and cache issues

Image
Hi there, Just want to share something re. the issues I encountered when using SPD to create SP 2010 workflows and then uploading them to other environment. I found that after I made some changes to my workflows and then uploaded them to uat environment, my changes were not picked up. First after reading some SPD cache issue here , I thought this might have been my issue (not getting the latest assembly when Saving As Template from SPD DEV) So I cleared the cache files as instructed and tried to upload them again to UAT and activated the solution + feature. Then I noted these points :  1. When you deactivate + remove solution from Solution gallery, it doesn’t remove it from SharePoint. SPD still lists the workflows! 2. Only when you activate the site feature then the SPD will recognize it and Modified Date is updated. I then checked my updated workflow and it still had the old logic! So I deleted my workflows through SPD (in UAT) and re-uploaded and...