We moved to iersoy.com!

Standard

Greetings dear reader.

By 2018 I’ve decided to revamp my personal webpage and moved all my contents there.

I will be closing this wordpress site by February 1th.

 

Hope to be connecting from http://iersoy.com

 

Advertisements

Solution of Problem “403 (Forbidden) with SP.RequestExecutor.js”

Standard

Well, Every day I learn something.

Today,when I was deploying some apps to Office 365,I’ve come across a situation interesting and wanted to dig in.

I was developing an app that uses a list to retrieve specific items and it was working perfect in my On-Premise environment.

When I deployed the same app to Office 365 Developer Site,I have received this error in my Chrome’s Developer Tools threw error something similar to “403 (Forbidden)” linking “SP.RequestExecutor.js” file.

Well that ruined me for a sec,I didnt expect it at all.

Then after some research I’ve found that: “Tenant” needs to be added as “Read” permission in “ApplicationManifest.xml” configuration.

Capture16

And the other problem for me was using Chrome Browser.When you deploy app to Office 365,you should always use “Internet Explorer” as default browser because by default it lets you to select “Trust-Don’t Trust” option which is needed to run the app which Chrome doesn’t.

Thats all.If you have come across the same situation,this is the trick.

Export-SPWeb script to get backup all lists and libraries

Standard

Wrote this Powershell script according to my company’s needs,but you can fork and use it if you like

Export-SPWeb Script to get backup of all lists/libraries in a site collection.

But I’ll also share it here:

Add-PSSnapin Microsoft.Sharepoint.Powershell

$site = Get-SPSite
$path = "C:\Backup2015\ListBackups"
$serverurlpath =""
$listurlpath=""
$listurlwithoutformat=""
$dosyapath =""
$itemURLNEW=""

foreach($web in $site.AllWebs){
    $serverurlpath=$web.Url
    $serverlistsurlpath=$web.ServerRelativeUrl -replace "/","\"
    $serverurlport = ([System.Uri]$serverurlpath).Port
    $serverurlhost = ([System.Uri]$serverurlpath).Host.Split('.-') -join "_"   

    if($serverurlport -eq "80")
    {
     if(!(Test-Path -Path ($path + "\" + $serverurlport)))
     {
      New-Item -Path ($path + "\" + $serverurlport) -Type Directory
     }    

     if(!(Test-Path -Path (($path + "\" + $serverurlport + "\" + $serverurlhost))))
     {
       New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost) -Type Directory
     }

     foreach($list in $web.lists)
     {      

        If (!(Test-Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath))) {
              New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath) -Type Directory
        }            

        $itemURLNEW= "$($list.RootFolder.ServerRelativeUrl)"
        if($serverlistsurlpath -eq "\")
        {
          $dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)$($list -replace "/","\").cmp"
        }

        else
        {
          $dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)\$($list-replace "/","\").cmp"
        }   

        if(!(Test-Path ($dosyapath)) -and $list.Hidden -eq $false)
        {
           export-spweb $web.URL -ItemUrl $itemURLNEW -IncludeUserSecurity -IncludeVersions All -path "$dosyapath" -nologfile
        }
     }
    }   

    if($serverurlport -eq "1111")
    {
     if(!(Test-Path -Path ($path + "\" + $serverurlport)))
     {
      New-Item -Path ($path + "\" + $serverurlport) -Type Directory
     }    

     if(!(Test-Path -Path (($path + "\" + $serverurlport + "\" + $serverurlhost))))
     {
       New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost) -Type Directory
     }

     foreach($list in $web.lists)
     {   

        If (!(Test-Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath))) {
              New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath) -Type Directory
        }            

        $itemURLNEW= "$($list.RootFolder.ServerRelativeUrl)" 

        if($serverlistsurlpath -eq "\")
        {
           $dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)$($list -replace "/","\").cmp"
        }

        else
        {
           $dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)\$($list -replace "/","\").cmp"
        }       

        if(!(Test-Path ($dosyapath)) -and $list.Hidden -eq $false)
        {
           export-spweb $web.URL -ItemUrl $itemURLNEW -IncludeUserSecurity -IncludeVersions All -path "$dosyapath" -nologfile
        }
     }
    }
}

Solution of “Application Server Role, Web Server (IIS) Role: configuration error”

Standard

For some reason SharePoint 2013’s prerequisite msi cant find which server manager to use and fails installation of Prerequisite files.

So you need to go Windows/System32, find servermanager.exe ,duplicate it and then rename it to servermanagercmd.exe

After this,re-run prerequisite installer,it will work.

Capture4

If it doesn’t,you haven’t enabled downloading setup files remotely in mmc(group policy editor) settings.

To do this;
1-You need to add “GP Editor” Snapin in MMC.
2-Go to Computer Configuration->Administrative Templates-> System
2-Update “Specify settings for optional…” policy as Enabled
3-Update “Contact Windows Update…” as selected
4-Click Apply