Saturday, July 18, 2015
Write CSOM/JSOM/REST call in ASPX page
Nice Blog : http://allthatjs.com/2012/04/03/using-sharepoint-csom-in-html5-apps/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <!DOCTYPE html> <%@ Page language="C#" %> <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <html> <head> <title></title> <!-- the following 5 js files are required to use CSOM --> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> <script type="text/javascript"src="/_layouts/1033/init.js"></script> <script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script> <script type="text/javascript" src="/_layouts/15/sp.core.js"></script> <script type="text/javascript" src="/_layouts/15/SP.Runtime.js"></script> <script type="text/javascript" src="/_layouts/15/SP.js"></script> <!-- include your app code --> <script type="text/javascript"> var context = SP.ClientContext.get_current(); var user = context.get_web().get_currentUser(); // This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model $(document).ready(function () { getUserName(); }); // This function prepares, loads, and then executes a SharePoint query to get the current users information function getUserName() { context.load(user); context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail); } // This function is executed if the above call is successful // It replaces the contents of the 'message' element with the user name function onGetUserNameSuccess() { $('#message').text('Hello ' + user.get_title()); } // This function is executed if the above call fails function onGetUserNameFail(sender, args) { alert('Failed to get user name. Error:' + args.get_message()); } </script> --> </head> <body> <SharePoint:FormDigest ID="FormDigest1" runat="server"></SharePoint:FormDigest> <div> <p id="message"> <!-- The following content will be replaced with the user name when you run the app - see App.js --> initializing... </p> </div> </body> </html> |
Wednesday, July 15, 2015
change the site to open the files as permissive
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Add-PSSnapin Microsoft.SharePoint.Powershell $site = Get-SPSite("http://san001/sites/Harry") $web = $site.OpenWeb() $list = $web.GetList("http://san001/sites/Test/Shared Documents") $list.browserfilehandling $list.browserfilehandling = "Permissive" $list.update() $list.browserfilehandling One example is to loop through one web. Add-PSSnapin Microsoft.SharePoint.Powershell $site = Get-SPSite("http://san001/sites/Test") $web = $site.OpenWeb() foreach ($list in $web.Lists) { if($list.browserfilehandling -eq "Strict") { $list.browserfilehandling = "Permissive"; $list.update(); $site.url, $list.title, $list.browserfilehandling } } |
Tuesday, June 23, 2015
Wednesday, May 6, 2015
Batch file to run PowerShell
1 2 3 4 | @echo starting Powershell.exe -executionpolicy remotesigned -File AllResume_Details.ps1 @echo completed pause |
Script will download the document from the document library folder to the root folder of the machine where script has been executed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | ############################################################### #Script Function : Script will download the resume from the Resume folder to the root folder where script has been executed. # Otput of the execute is the Resume folder and a log file , # log file contains detail of script execution. The log file name prefix with "Output_RMSS_BulkDownload_Log" # Log file also gives the list of GUID which is not available in the resume folder. # Date :05/Feb/2015 # Created by : Sanjiv kumar ################################################################ $snapinName = "Microsoft.SharePoint.PowerShell" if ((Get-PSSnapin | Where-Object {$_.Name -eq $snapinName }) -eq $NULL) { write-host "SharePoint SnapIn not loaded. Loading..." Add-PSSnapin $snapinName -ErrorAction SilentlyContinue } #Change the URL for different environment. $webUrl = "http://usdttdevbq005:1000/sites/Test/" $listUrl = "http://usdttdevbq005:1000/sites/Test/Resumes/" $destination=".\" $Datetime= Get-Date -Format dd_MM_yyyy_HH.mm.ss #Log file name $LogFileName=([string]::Concat("Output_RMSS_BulkDownload_Log" , $Datetime ,".txt")) $ListOfGuidNotFound="" ############################################################################## New-Item .\$LogFileName -ItemType file "variable initialization completed.." Add-Content .\$LogFileName -Value "---> variable initialization completed.." $web = Get-SPWeb -Identity $webUrl $list = $web.GetList($listUrl) "Document Library access.." Add-Content .\$LogFileName -Value "---> Document Library access.." $userGUIDCollection=import-Csv .\Input_CA_GUID.csv | where {$_.key -eq $keyword} |select UserGUID "Read the CSV.." Add-Content .\$LogFileName -Value "---> Read the CSV.." #Function start function ProcessFolder { param($folderUrl) $folder = $web.GetFolder($folderUrl) If($folder.Files.Count -ne 0) { foreach ($file in $folder.Files) { Try { # Start Try #Ensure destination directory $destinationfolder = $destination + "/" + $folder.Url if (!(Test-Path -path $destinationfolder)) { $dest = New-Item $destinationfolder -type directory "Create folder to disk." +$dest Add-Content .\$LogFileName -Value ([string]::Concat("---> Create folder to disk. : ",$dest)) } #Download file $binary = $file.OpenBinary() $stream = New-Object System.IO.FileStream($destinationfolder + "/" + $file.Name), Create $writer = New-Object System.IO.BinaryWriter($stream) "Start File writting to disk ." +$file.Name Add-Content .\$LogFileName -Value ([string]::Concat("---> Start File writting to disk : ",$file.Name)) $writer.write($binary) $writer.Close() "End File writting to disk ." +$file.Name Add-Content .\$LogFileName -Value ([string]::Concat("---> End File writting to disk : ",$file.Name)) } # End Try catch { $ErrorMessage = $_.Exception.Message Add-Content .\$LogFileName -Value ([string]::Concat("************************************")) Add-Content .\$LogFileName -Value ([string]::Concat("**********Error with writing files to folder*******************")) Add-Content .\$LogFileName -Value ([string]::Concat("System Message: ",$ErrorMessage)) Add-Content .\$LogFileName -Value ([string]::Concat("************************************")) continue } } #End of For } } #Function end #Main start #Download files in folders foreach($VaruserGUID in $userGUIDCollection) { "working for CSV GUID : " + $VaruserGUID.UserGUID.Trim().ToString() Add-Content .\$LogFileName -Value ([string]::Concat("`r`n---> working for CSV GUID : ",$VaruserGUID.UserGUID.Trim().ToString())) $varTemp = 0 foreach ($folder in $list.Folders) {# Start of For If($VaruserGUID.UserGUID.Trim().ToString() -eq $folder.DisplayName.Trim().ToString()) { "GUID Matches : " + $VaruserGUID.UserGUID.Trim().ToString() Add-Content .\$LogFileName -Value ([string]::Concat("---> GUID Matches with Resume folder name : ",$folder.DisplayName.Trim().ToString())) ############################################### ProcessFolder($folder.Url) $varTemp = 1 } }#End of For If($varTemp -eq 0) # Checking that the GUID is found in Resume folder, Yes or No { $ListOfGuidNotFound = $ListOfGuidNotFound.Trim().ToString() +"`r`n"+ $VaruserGUID.UserGUID.Trim().ToString() } } Add-Content .\$LogFileName -Value ([string]::Concat("`r`n*******START*** GUID Not Matches with Resume folder for GUID Start***********`r`n"+ $ListOfGuidNotFound +"*******END*** GUID Not Matches with Resume folder for GUID END***********`r`n")) |
Fetch all non missing DOCID from the document library
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | ############################################################################################################################################ # Script: Fetch all non missing DOCID from the resume repository ############################################################################################################################################ If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ) { Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell } $host.Runspace.ThreadOptions = "ReuseThread" #Definition of the function that allows to do the CAML query function DoCAMLQuery { param ($sSiteCollection,$sListName) try { $spSite=Get-SPSite -Identity $sSiteCollection $spwWeb=$spSite.OpenWeb() $splList = $spwWeb.Lists.TryGetList($sListName) if ($splList) { $spqQuery = New-Object Microsoft.SharePoint.SPQuery $spqQuery.ViewAttributes = "Scope = 'Recursive'" $spqQuery.Query = "" #$spQuery.ViewAttributes = "Scope = 'Recursive'" #$spqQuery.ViewFields = "" #$spqQuery.ViewFieldsOnly = $true $splListItems = $splList.GetItems($spqQuery) $iNumber=1 foreach ($splListItem in $splListItems) { Add-Content .\$LogFileName -Value ([string]::Concat( ($splListItem["ows_ID"] -as [string]) +"|"+ $splListItem["PDI GUID"] +"|"+ $splListItem["Document Title"] +"|"+ $splListItem["Created"]+"|"+ $splListItem["_dlc_DocIdUrl"])) } } $spwWeb.Dispose() } catch [System.Exception] { $ErrorVar= $_.Exception.ToString() Add-Content .\$LogFileName_Error -Value ([string]::Concat("************************************")) Add-Content .\$LogFileName_Error -Value ([string]::Concat("System Message: "+ $ErrorVar)) Add-Content .\$LogFileName_Error -Value ([string]::Concat("************************************")) continue } } #Start-SPAssignment –Global #Calling the function $sSiteCollection="http://sp2010:23934/" $sListName="Resumes" $Datetime= Get-Date -Format dd_MM_yyyy_HH.mm.ss #Log file for Missing DocID $LogFileName=([string]::Concat("Output_DocID_Missing_Log " , $Datetime ,".csv")) New-Item .\$LogFileName -ItemType file #Log file for Error $LogFileName_Error=([string]::Concat("Error_DocID_Missing_Log " , $Datetime ,".txt")) New-Item .\$LogFileName_Error -ItemType file Add-Content .\$LogFileName -Value $webUrl Add-Content .\$LogFileName -Value ([string]::Concat("ID"+"|"+"GUID_Name" +"|"+ "File_Name" +"|"+ "Created_Date"+"|"+ "DOCID")) write-host "Started..." DoCamlQuery -sSiteCollection $sSiteCollection -sListName $sListName write-host "Finished.." #Stop-SPAssignment –Global Remove-PSSnapin Microsoft.SharePoint.PowerShell |
Subscribe to:
Posts (Atom)
HTML
Script: