Create a link that initiates a Nintex Workflow associated to a Document Set

Nintex Switzerland
It’s been a long time since my last post !
I’ve moved to Geneva for a new job, but I’m still on SharePoint and other Microsoft stuff 🙂

Nintex is used a lot in Switzerland. I had an issue about creating a client-side script that initiates a workflow. I did not manage to do it with “StartWorkflow” from workflow.asmx. As usual with document sets, a specific treatment is needed.

So, this is the link that you can use :
/_layouts/15/NintexForms/InitiateWorkflow.aspx?List={xxx}&ID={yyy}&ItemGuid={zzz}&WorkflowName=MyNintexWorkflow

Where xxx is the list Guid, yyy is the document set ID (as displayed in docsethomepage.aspx?ID=yyy), and yyy is the UniqueId of the document set.

SharePoint : How to filter an external data XsltListViewWebPart in SharePoint Designer ?

sharepoint 2013
sharepoint 2013
Context : You use Business Data Connectivity to retrieve external data in SharePoint, and you wish to display a filtered view of this data in a page.
In SharePoint Designer, you insert a Data View of that external data.

Then, there are 2 ways to filter it :

  • By using the “Filter” button in the office ribbon :
SharePoint Designer Filter
SharePoint Designer Filter

This actually generates a CAML query :

SharePoint_BDC_Filter_External_Data_2

  • By passing a parameter to the finder method of the BDC Model. You can do this manually or by using the “Search” button :

SharePoint_BDC_Filter_External_Data_1b

It generates this code in the View element :

SharePoint_BDC_Filter_External_Data_3

You should use the second solution. Why ? We could consider the CAML query as a “front-end” filter. It means that ALL the records are sent by the BDC, and then the CAML query filter it.
If you retrive thousands of records, it can affect performances.

If you pass a parameter directly to the BDC (finder method), the request sent to the external source will be filtered, and SharePoint will have to deal with less data.

Maybe you will have to create a new finder method in your BDC, but it worth the time spent on it !

SharePoint 2013 : How to repair a broken Search component at low cost

sharepoint 2013
sharepoint 2013
Once upon a time, after a whole server farm reboot, one of my search component was broken. Content crawling was taking forever, and the ULS were not very explicit. In the central administration, I could see this :

SharePoint Components
SharePoint Components

My application server was unable to run the “Content Processing Component”, even if I restart the whole search service (net stop / start OSearch15).

I noticed 2 things that drove me to the solution :
– First, a noderunner.exe process was missing. This confirmed the red cross in the central administration. There was 2 processes instead of 3 (the crawler doesn’t spawn a noderunner.exe process) :

SharePoint Search Processes
SharePoint Search Processes

– On the second hand, there was strictly no logs in the “\15.0\Data\Office Server\Applications\Search\Nodes\\ContentProcessingComponent” directory !

It was like the search topology was ignoring this component. So I decided to re-install the search topology, just by cloning it, and activating it :


$searchApp = Get-SPEnterpriseSearchServiceApplication

$initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchApp -Active

$cloneTopology = New-SPEnterpriseSearchTopology -SearchApplication $searchApp -Clone -SearchTopology $initialTopology

Set-SPEnterpriseSearchTopology -Identity $cloneTopology -SearchApplication $searchApp

And it works, without any service interruption !

SharePoint Components
SharePoint Components

Azure : Faire cohabiter du PHP et du .NET sur un mĂŞme site, c’est possible !

azure_logo Dans Azure, le cloud de Microsoft, il est possible de faire héberger un site web qui contient des pages .NET et PHP.
Avec le recul, ça peut paraĂ®tre Ă©vident. Mais j’ai Ă©tĂ© surpris au premier abord.

Dans l’onglet “Configuration” du site, il suffit de vĂ©rifier si les 2 frameworks sont activĂ©s :

azure_1

(DĂ©solĂ©, c’est une capture de l’ancien portail Azure, mais je ne peux pas encadrer le nouveau portail avec son UX horrible)

Du cĂ´tĂ© de Visual Studio, ça se prĂ©sente ainsi, pas besoin d’installer une extension du genre PHP Tools, il suffit d’ajouter ses fichiers PHP Ă  la solution :

azure_2

Je me suis aperçu de tout cela en implémentant un back-end web-services en C# sur ma vieille appli PHP des années 90. Et ça marche nickel !

NB : Je ne serai pas Ă©tonnĂ© qu’on puisse Ă©galement ajouter du JAVA et du Python, afin d’obtenir une application web Ĺ“cumĂ©nique oĂą les langages cohabiteraient en paix.