Posts

Search Result Webpart,Filter result If QueryString is present in URL

Image
There was a requirement to filter the search result based on QueryString present in url, and if no QueryString present then should populate all the results. Issue was simple to resolve if every time there is QueryString present, then below Query will do the job. Below filtering the result by checking managed metadata property equals the query string value. Above query was filtering the result based on QueryString given in URL. However it fails if there is no QueryString present in url.  "No result found" message appear. Ideally should populate all the results. And filter should be optional in query for this scenario. So I need to modify the query and to add some condition like, if QueryString present then check managed metadata property equals the query string value, else no. To achieve this, there is syntax  {searchboxquery} {? <some KQL expression> } , If MyParameter querystring is not present in URL,  then just first part of KQL query wi...

Search Query by ContentType name issue

I ran into very weird issue in SharePoint Search while querying the items using ContentType name. Query: ContentType={content type NAME} This was giving me the result of content type, however some extra data/results where coming along in the result. There was no clue what is failing there. Spent few hours and got very useful tip from Search Guru,  MIKAEL SVENSON   that not to use ContentType but to replace that with  SPContentType. Modified Query: SPContentType={content type NAME} Learning: We should use SPContentType instead of ContentType. As Contenttype also includes the mime type and not just the name and may cause issues. SPContentType only stores the name. I hope this small piece of information will save your time!

SharePoint Online - Get workflow status in List Item using PowerShell

Requirement was for SharePoint online tenant to get the workflow status in list item. I choose to write quick PowerShell script using CSOM to achieve this. [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") Function Get-SPOCredentials([string]$UserName,[string]$Password) { if([string]::IsNullOrEmpty($Password)) { $SecurePassword = Read-Host -Prompt "Enter password" -AsSecureString } else { $SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force } return New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword) } Function GetWorkflowStatus([Microsoft.SharePoint.Client.List]$list,[int]$listItemId, [string]$workflowName) { $context = $list.Context $listItem = $list.GetItemById($listItemId) $context.Load($lis...

Get SharePoint Document Library Size using PowerShell

There was requirement to get the document library size. Using PowerShell I able to resolve this requirement. This post is about getting actual Document Library size using PowerShell. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Add-PSSnapin Microsoft.SharePoint.PowerShell $siteURL = "YourSitename" $site = new-object Microsoft.SharePoint.SPSite( $siteURL ) foreach ( $web in $site .AllWebs) { foreach ( $list in $web .Lists) { if ( $list .BaseType -eq "DocumentLibrary" ) { $listSize = 0 foreach ( $item in $list .items) { $listSize += ( $item .file).length } "Web Name: " + $web .Title+ ", Library Name: " + $list .Title+ ", Size: " + [Math] :: Round(( $listSize /1KB),2)+ "KB" } } } I hope this small script will save your time.

Query User Information List gives :Error 404 List Not found- SharePoint 2013

Being a SharePoint developer we all know that  The User Information List stores information about a user by having some metadata set up for the user. Some examples are Picture, Email, DisplayName, LoginName etc. )  This list is only visible to and accessible by administrators. However today we faced very weird issue that not able to access this hidden list. we can browse it under  " /_catalogs/users" but we were not able to query it Problem :   We were not able to query the User Information List in SharePoint 2013 On-Premise. Tried following stuffs : 1. http://your-site-name/_vti_bin/ListData.svc/UserInformationList 2.  http://your-site-name/ /_api/web/lists/GetByTitle(‘ User Information List ') 3. In PowerShell -   $SITE = GET-SPSITE "HTTPS://your-site-name" $WEB = $SITE.ROOTWEB $LIST = $WEB.LISTS["USER INFORMATION LIST"] All the above was giving the 404 error, List was not exist under the $web.Lists - which was very w...

Office 365 People Search:Hide default result

Out of the box, People search result webpart shows the list of people as a result. However, I had a requirement to remove the default people search coming in result webpart when page loads. with the default query : - {searchboxquery}contentclass=spspeople -accountname:rapidcircle.in Spent few hours to find the solution finally got this useful tip from my Search guru   MIKAEL SVENSON To remove the default result need to bind the query with {?<query>} the {?{searchboxquery}} will remove everything in the query if the {searchboxquery} variable is empty Hope this small piece of information will save your time.

Permission denied for "Add and Customize Pages" in Sharepoint Online

Image
Problem: I have created root site in SharePoint Online, weird problem I started facing is being a site administrator I was not able to customize the page/ upload the any page or master page. As in image below, for some reason I am set as Deny to "Add and Customize Pages". The problem is related to 'Scripting Capabilities' being turned off by default for the root site collection in Office 365. I found some article on community: https://support.office.com/en-us/article/Turn-scripting-capabilities-on-or-off-1f2c515f-5d7e-448a-9fd7-835da935584f?ui=en-US&=amp&rs=en-US&ad=US It mentions that turning on scripting through the Sharepoint Admin Settings and wait around 24 hours. However, this did not work for me. still the issue was there. Following lines of script did a trick. Solution: Connect-SPOService -Url https://<yoursitename>-admin.sharepoint.com -credential <admincredentials> Set-SPOsite https://<your root site ur...

Display Template HTML file missing in SharePoint online

Today was trying to work on the display template in SharePoint Online. As documented every where, that can go to Site Galleries->Master Page->Display Templates :     <your site url>/_catalogs/masterpage/Forms/AllItems.aspx and display templates folder, to get the existing templates. However, I was just seeing all the .js files not the HTML where I supposed to work. Finally found the cause is Publishing Feature. Solution: We must turn on SharePoint Server Publishing Infrastructure feature in the Site Collection Features. for the HTML pages to show up, from there we can edit the HTML files and create new display templates. This is not documented any where. Hope small tip will save your time!

Nintex 2013 Workflow Action: "Commit pending changes"

Image
Commit pending changes is not well known action of Nintex, However very useful when you have scenario like I faced.  I had a requirement like first to update the list item, and immediately need to take the count of updated items. I spent quite amount of time to achieve this, First tried by doing simple workflow 1. Update list item 2. Query list (query the same list which updated) Here after running this, started getting uncertain results. Sometime it works and fails. Started applying workarounds to that Tried to apply “Pause for” action in between, like below image. Result was again uncertain, it pause was getting struck, was not resuming the workflow even after specified time. I goggled and found many issues are reported for the same issue, https://community.nintex.com/thread/2979 Third workaround was to add some loop which can add some pause before query, somehow even after safe loop, result was uncertain. Finally found the impressive feature of Ni...

Nintex 2013: Show display name in email notification for person field

Image
In Nintex 2013, requirement was to show the user's "Display name" in email. looks a very simple issue by looking at the definition. However, to achieve this in workflow have to choose proper way to implement. Two options are available to get this. 1. Using "Call web service" action 2. Using " Query user profile" To move ahead with first step, we need to use Regular expression, web service and query xml  as described here in  https://community.nintex.com/thread/1353  lots of configuration require to make this work. as well to store credentials of admin to call the web service, need to make the constant in Nintex management. So In my implementation, I choose second option, fairly simple to use. Steps to use "Query user profile" action to get display name: 1. Add "Query user Profile" from actions tab  2. Double click to configure it, and select the person field , here selecting "Created By" field of t...

SharePoint 2013 List CRUD operation using Angular and REST API

Image
This article explains how to perform the CRUD operation on a SharePoint List using Angular JavaScript and the REST API. Create an empty SharePoint 2013 solution, In that add the module of Pages, JS & CSS. In pages module add new item, Test.aspx. In JS module, add new Javascript file with name Controller.js , CommonServices.js &  SharePointListModule.js Other Javascripts needs to add: 1.  angular.min.js 2. anugular.min.js.map Project structure will look something like below: In SharePointListModule.js will create a App of angular, Paste the below code. //App creation var app = angular.module("SharePointAngApp", []) For doing a CRUD operation with SharePoint List, will create an Angular Service to make a SharePoint REST API calls, app.service('testService', ['$http', '$q', function ($http, $q) {//common services}]); This testService having dependency of $http & $q Information related to $http & $q   ...

“Response no longer required” error in nintex workflow

Image
Error:  “Response no longer required” With Nintex , requirement was to create a workflow which passes through multiple approval process. Workflow having Felxi tasks with customized task forms. After publishing everything works well in development environment. Time was to deploy the workflow at test environment, deployed workflow with manual import/export published it no error reported, its published successfully. When first approval task starts, it started giving email notification something like below: "Response no longer required" A task regarding this item no longer requires your response: ItemName Click here to view the workflow status First was not sure, from where this notification coming up from workflow steps, as I haven't set any message like this in workflow,  No error reported in workflow tasks, or in workflow history. Invested almost a whole day to find the exact cause. Finally found in flexi task configuration window under ...

Nintex Forms: Cannot open designer "An error occurred during an ajax call."

Recently I have installed the Nintex Workflow Forms and configured it. I have activated the web application feature and site collection features and all, however when I try to customize a list forms using Nintex designer I started getting error message that says  "An error occurred during an ajax call." When I did IISReset, it seemed to have fixed it. hope this small piece of information will save your time!

Nintex Workflow 2013, unable to publish workflow : soap:serverserver not able to process request object reference not set

Image
Being a newbie with Nintex, I have installed and configured Nintex Workflow and Nintex Workflow Forms. easy to follow all the steps described on Nintex support page. After doing all the necessary configuration, tried to create very simple one step workflow to test. There I faced weird issue, I was able to save the workflow, however while publishing it was giving below error. Error was very generic, wasted couple of hours to find the exact cause as in workflow logic there was nothing. simple one step workflow it was. So pointer was going to configuration only, something in configuration is not proper which throwing this error. Solution : 1. Go to Central Admin 2. Click on Nintex Worklfow Management 3. Database setup -> Add Content Database ( I already configured it, still created new) 4. Configuration Database click Edit 5. Update the connection string with newly created database. 6. IISRESET And we are good to go. Hope this will save you...

How to query SP2013 Managed metadata term store with JSOM

This post will show how to read the Taxonomy Term Store with JSOM. Taxonomy Term store can be accessed in a SharePoint App, with permission scope of Taxonomy. To be able to use the JSOM API for Taxonomy you need to reference SP.Taxonomy.js found in _layouts/15/ the best way to reference this would be in the document ready. $(document).ready(function () { var scripRef = _spPageContextInfo.webServerRelativeUrl + "/_layouts/15/"; $.getScript(scripRef+ "SP.Runtime.js", function () { $.getScript(scripRef+ "SP.js", function () { $.getScript(scripRef+ "SP.Taxonomy.js", function () { context = SP.ClientContext.get_current(); //Call your code here. getTermStores(); });});});}) Read from Taxonomy function getTermStores() { session = SP.Taxonomy.TaxonomySession.getTaxonomySession(context); termStores = session.get_termStores(); context.load(session); context.load(termStores); context.execute...

SharePoint Designer 2013 Workflow changes

Image
Already, there are so many articles published about the new features and changes in SharePoint Designer 2013 that it’s a little late to write about this. But I think this would be useful. There are many new functionalities and enhancements added into SharePoint designer 2013. Added features allow designers to do more with workflows without requiring a developer to write custom code. If you select SharePoint 2013 option while creating workflow, you will get the following list of new features 1. Stages With 2013, concept of stage is introduced. It acts as containers in workflow, which allows one to structure the workflow from one stage to the other. Stages can be added to a workflow by clicking on Stage icon. Key points for Stages: All actions in the workflow must be contained in a stage A stage can hold one or more workflow actions, and will also have only one  Transition to stage  area.  The  Transition to st...

Workflow gets canceled automatically with (500) Internal Server Error.

Workflow is getting cancel with the HTTP 500 error.  Problem: RequestorId: 9dea9a29-bb82-214a-0000-000000000000. Details: RequestorId: 9dea9a29-bb82-214a-0000-000000000000. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ApplicationException: HTTP 500 {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPClientServiceRequestDuration":["30"],"SPRequestGuid":["9dea9a29-bb82-214a-92f0-943af4411ac2"],"request-id":["9dea9a29-bb82-214a-92f0-943af4411ac2"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4420"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],"Cache-Control":["max-age=0, private"],"Date":["Fri, 31 Jan 2014 20:19:03 GMT"...