Tag

, , ,

Oggi un cliente mi ha chiamato soddisfatto che la migrazione della Intranet da SharePoint 2010 a SharePoint 2013 fosse andata alla perfezione, segnalandomi che c’era solo un piccolo inconveniente: alla creazione di un elemento all’interno di una lista, il workflow creato con SharePoint Designer una volta eseguito mandava due mail anziché una.

Lo stesso comportamento si aveva su tutte le liste migrate laddove il workflow fosse scatenato
alla creazione o alla modifica dell’elemento, anche nel caso di un workflow creato ex novo, ovvero non migrato.

Googolando, mi sono imbattuta in questo post relativo alla migrazione SharePoint 2007 – SharePoint 2010: SharePoint Designer Workflow fired twice in a migrated list, e indovinate un po’? La problematica era esattamente la stessa: la lista richiamava l’event receiver di entrambe le versioni di SharePoint.
Anche in questo caso, l’esecuzione dello script PowerShell del post sopra indicato (aggiornato da Claudio alla versione 14) ha risolto il problema:

$spWeb = Get-SPWeb -Identity http://mySP2010site/mySP2010SubSite/

$spList = $spWeb.Lists[“MyList”]

$eventsCount = $spList.EventReceivers.Count

$assembly = “Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”

for ($i = 0; $i -lt $eventsCount; $i+=1)

{

write-host $spList.EventReceivers[$i].Assembly

if ($spList.EventReceivers[$i].Assembly -eq $assembly)

{

write-host “About to delete the reference”

$spList.EventReceivers[$i].Delete()

}

}

$spList.Update()

Non so se essere contenta (il problema si è risolto facilmente), o essere triste (gli anni passano, ma i problemi restano sempre gli stessi).
In ogni caso, spero che questa info possa essere utile anche ad altri!

Haooy SharePointing J

P.S. alla riga 2 ricordate di sostituire “MyList” con il titolo della vostra lista (il titolo, non l’internal name)