Last active
December 28, 2015 09:09
-
-
Save ishajain/7476790 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function Connect-QueryStringFilterWP-To-BCSListWP($pageUrl,$fileName,$providerWP,$consumerArrayValue,$providerArrayValue,$consumerConnectionId) | |
| { | |
| $webPartGallery = $web.Lists["Web Part Gallery"] | |
| $webpartmanager=$web.GetLimitedWebPartManager($pageUrl, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared) | |
| Write-Host "Searching Consumer webpart $fileName in web part gallery" -ForegroundColor Yellow | |
| if($webPartGallery -eq $null) | |
| { | |
| Write-Host("Unable to retrieve Webpartgallery"); | |
| } | |
| $webPartConsumer = $webpartmanager.WebParts | Where {$_.Title -eq $fileName} | |
| Write-Host "Searching Consumer webpart $providerWP in web part gallery" -ForegroundColor Yellow | |
| $webPartProvider = $webpartmanager.WebParts | Where {$_.Title -eq $providerWP} | |
| $conWP = $webpartmanager.GetConsumerConnectionPoints($webPartConsumer) | |
| $provWP = $webpartmanager.GetProviderConnectionPoints($webPartProvider) | |
| $conWP=$conWP[$consumerConnectionId] | |
| $provWP=$provWP["ITransformableFilterValues"] | |
| $trans = New-Object Microsoft.SharePoint.WebPartPages.TransformableFilterValuesToParametersTransformer | |
| $consumerArray=@($consumerArrayValue) | |
| $providerArray=@($providerArrayValue) | |
| $trans.ProviderFieldNames=$providerArray | |
| $trans.ConsumerFieldNames=$consumerArray | |
| $newCon = $webpartmanager.SPConnectWebParts($webPartProvider,$provWP,$webPartConsumer,$conWP,$trans) | |
| $webpartmanager.SPWebPartConnections.Add($newCon); | |
| $webpartmanager.Dispose() | |
| Write-Host "Webparts are connected successfully" -ForegroundColor Green | |
| } | |
| function Connect-QueryStringFilterWP-To-BCSListItemWP($pageUrl,$fileName,$providerWP,$consumerConnectionId) | |
| { | |
| $webPartGallery = $web.Lists["Web Part Gallery"] | |
| $webpartmanager=$web.GetLimitedWebPartManager($pageUrl, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared) | |
| Write-Host "Searching Consumer webpart $fileName in web part gallery" -ForegroundColor Yellow | |
| if($webPartGallery -eq $null) | |
| { | |
| Write-Host("Unable to retrieve Webpartgallery"); | |
| } | |
| $webPartConsumer = $webpartmanager.WebParts | Where {$_.Title -eq $fileName} | |
| Write-Host "Searching Consumer webpart $providerWP in web part gallery" -ForegroundColor Yellow | |
| $webPartProvider = $webpartmanager.WebParts | Where {$_.Title -eq $providerWP} | |
| $conWP = $webpartmanager.GetConsumerConnectionPoints($webPartConsumer) | |
| $provWP = $webpartmanager.GetProviderConnectionPoints($webPartProvider) | |
| $conWP=$conWP[$consumerConnectionId] | |
| $provWP=$provWP["ITransformableFilterValues"] | |
| $trans = New-Object Microsoft.SharePoint.Portal.WebControls.TransformableFilterValuesToEntityInstanceTransformer | |
| $newCon = $webpartmanager.SPConnectWebParts($webPartProvider,$provWP,$webPartConsumer,$conWP,$trans) | |
| $webpartmanager.SPWebPartConnections.Add($newCon); | |
| $webpartmanager.Dispose() | |
| Write-Host "Webparts are connected successfully" -ForegroundColor Green | |
| } | |
| function Connect-BCSWebParts($pageUrl,$fileName,$providerWP){ | |
| $webPartGallery = $web.Lists["Web Part Gallery"] | |
| $webpartmanager=$web.GetLimitedWebPartManager($pageUrl, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared) | |
| Write-Host "Searching Consumer webpart $fileName in web part gallery" -ForegroundColor Yellow | |
| if($webPartGallery -eq $null) | |
| { | |
| Write-Host("Unable to retrieve Webpartgallery"); | |
| } | |
| $webPartConsumer = $webpartmanager.WebParts | Where {$_.Title -eq $fileName} | |
| Write-Host "Searching Consumer webpart $providerWP in web part gallery" -ForegroundColor Yellow | |
| $webPartProvider = $webpartmanager.WebParts | Where {$_.Title -eq $providerWP} | |
| $conWP = $webpartmanager.GetConsumerConnectionPoints($webPartConsumer)[0] | |
| $provWP = $webpartmanager.GetProviderConnectionPoints($webPartProvider)[0] | |
| $newCon = $webpartmanager.SPConnectWebParts($webPartProvider,$provWP,$webPartConsumer,$conWP) | |
| $webpartmanager.SPWebPartConnections.Add($newCon); | |
| $webpartmanager.Dispose() | |
| Write-Host "Webparts are connected successfully" -ForegroundColor Green | |
| } | |
| function setupPageConnections ($pageName) { | |
| Write-Host "Connecting webparts for page: $pageName" -ForegroundColor Yellow | |
| $page=$web.lists[$LibName].Items | ? {$_.Name -eq $PageName} | |
| $page.File.CheckOut(); | |
| setupWebPartsConnections $pageName | |
| $page.File.CheckIn("Webparts are connected"); | |
| $page.File.Approve("Webparts are connected"); | |
| } | |
| function setupWebPartsConnections ($pageName) { | |
| Connect-BCSWebParts "$SiteURL/$LibName/$PageName" "{Custom Webpart Title}" "Business Data Item Builder" #{Custom Webpart Title} with title of custom web part | |
| Connect-QueryStringFilterWP-To-BCSListWP "$SiteURL/$LibName/$PageName" "My Custom WebPart" "{Query String Filter WebPart tilte}" "{Custom Webpart filter Name}" "QueryString" "BDWP Query Values" | |
| Connect-QueryStringFilterWP-To-BCSListItemWP "$SiteURL/$LibName/$PageName" "{Custom Webpart Title}" "{Query String Filter WebPart tilte}" "BDWP Item" | |
| } | |
| $Url = $(Read-Host -Prompt "Enter site url:") | |
| $web = Get-SPWeb $Url | |
| $web.AllowUnsafeUpdates=$true | |
| $LibName = "Pages"; | |
| $SiteURL =$Url | |
| setupPageConnections "Test.aspx" | |
| $web.Update(); | |
| $web.AllowUnsafeUpdates=$false | |
| $web.Dispose() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment