Cuando se desarrollan aplicaciones que implique lógica de negocios en SharePointse suele utilizar alguna herramienta para la creación y edición de flujos de trabajo (Workflows) ya sea SharePoint Designer, Nintex, K2 o alguna otra del mercado.
El problema que menciono en esta publicación se debe a que cuando los flujos se hacen extensos e implican un gran número de actividades y no es posible o no se desea segmentarlos en subflujos el flujo no es posible publicarlo y se nos presenta una ventana con un anuncio similar al siguiente "Error inesperado al publicar le workflow".
Pues este caso me sucedió utilizando Nintex Workflow 2010 y debido a que en el visor de eventos no aparecía algún registro que me sirviera de ayuda pues recurrí al log de SharePoint y replicar el error con el fin de encontrarlo de manera sencilla, pues el resultado fue el siguiente:
SharePoint Foundation Workflow Infrastructure Workflow dll failed to compile because it exceeded UserDefinedWorkflowMaximumComplexity of 7000
Pues la expliación del por qué del error la encuentran en el siguiente enlace de MSDN,
Pero en resumidas cuentas lo que sucede es que hay un límite de nodos (actividades) que pueden ser agregados en un flujo de trabajo de SharePoint y para modificar dicho umbral lo que se requiere es ejecutar el siguiente script de PowerShell para cada WebApplication que pertenezca a la granja de SharePoint.
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$new_limit = 8000;
$webapp = [Microsoft.SharePoint.Administration.SPWebApplication]::Lookup("http://WebAppURL")
$webapp.UserDefinedWorkflowMaximumComplexity = $new_limit $webapp.Update()
Asegúrense de colocar entre comillas la URL del Root Site de la Web Application.
Hasta una próxima publicación y espero les sea de ayuda.