anchor.diff:  
         log.WriteLine(LogLevel.Verbose, "Synching plugins")
   
  -      // Sync Plugins
  -      let targetAsms, targetTypes, targetSteps, targetImgs = getPlugins p solution.Id log
  -
  -      [|(imgLogicName,(dgSol.keepPluginImages, targetImgs))
  -        (stepLogicName,(dgSol.keepPluginSteps, targetSteps))
  -        (typeLogicName,(dgSol.keepPluginTypes, targetTypes))
  -        (asmLogicName,(dgSol.keepAssemblies, targetAsms))|]
  -      |> Array.iter(fun (ln, (source, target)) -> 
  +      // Sync Plugins and Webresources
  +      let targetAsms, targetTypes, targetSteps, targetImgs = getPluginsIds p solution.Id
  +      let targetWorkflows = getWebresources p solution.Id |> getEntityIds
  +      let targetWebRes = getWebresources p solution.Id |> getEntityIds
  +      let targetBusinessRules = getBusinessRules p solution.Id |> getEntityIds
  +
  +      [|(imgLogicName,(dgSol.keepPluginImages, targetImgs), None)
  +        (stepLogicName,(dgSol.keepPluginSteps, targetSteps), None)
  +        (typeLogicName,(dgSol.keepPluginTypes, targetTypes), None)
  +        (asmLogicName,(dgSol.keepAssemblies, targetAsms), None)
  +        (webResLogicalName,(dgSol.keepWebresources, targetWebRes), None)
  +        (workflowLogicalName,(dgSol.keepWebresources, targetWorkflows), None)
  +        (workflowLogicalName,(dgSol.keepWebresources, targetBusinessRules), Some(deactivateBusinessRules))|]
  +      |> Array.iter(fun (ln, (source, target), func) ->   
  +        
           let s = source |> Seq.map snd |> Set.ofSeq
           let t = target |> Seq.map snd |> Set.ofSeq
           let diff = t - s
  +
  +        match func with
  +        | None -> ()
  +        | Some(f) -> f p ln target diff log
           
           log.WriteLine(LogLevel.Verbose, sprintf "Found %d '%s' entities to be deleted " diff.Count ln)
           match diff.Count with
  
positive.code:           |> Seq.toArray
            |> CrmDataInternal.CRUD.performAsBulkWithOutput p log
          )
  
        log.WriteLine(LogLevel.Info, @"DGSolution imported succesfully")
        
  
negative.code:       let dgSol = SerializationHelper.deserializeXML<DelegateSolution> xmlContent
  
        // Read the status and statecode of the entities and update them in crm
        log.WriteLine(LogLevel.Verbose, @"Finding states of entities to be updated")
  
        // Find the source entities that have different code values than target
  