Clear SharePoint Designer Cache

Hi Floks,

Today I am going to explain how to clear cache of SharePoint Designer. By clearing SharePoint Designer Cache following things of SharePoint Designer will be wiped out.

  1. Site history which you open in SharePoint Designer in the past
  2. Credentials which you stored in SharePoint site
  3. Site folders which will be created while opening site in SharePoint Designer

Steps to clear SharePoint Designer Cache

  • Open Run

run

  • Open below listed path & Remove everything from the folder
    • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
    • %APPDATA%\Microsoft\Web Server Extensions\Cache\

 

Now open SharePoint Designer, you can see all the history of we application which you opened in SharePoint Designer will be erased.

 

 

SharePoint URL shortcuts / URL of Pages which can be used for SharePoint Administrator

Below is the list of pages & their paths which can be accessed from URL :

Below listed URL’s works for SharePoint 2010 for SharePoint 2013 please add /15/after /_layouts.

  1. Add web parts to any page: /append ?PageView=Shared&ToolPaneView=2
  2. Create New Site Content: /_layouts/create.aspx
  3. Create New Site: /_layouts/NewsbWeb.aspx
  4. List Template Gallery: /_catalogs/lt/Forms/AllItems.aspx
  5. Master Page Gallery: /_catalogs/masterpage/Forms/AllItems.aspx
  6. Manage your Alerts: /_layouts/SubEdit.aspx
  7. Create New Alert: /_layouts/SubChoos.aspx
  8. Manage Site Collection Administrators: /_layouts/mngsiteadmin.aspx
  9. Manage Sites and Workspaces: /_layouts/mngsubwebs.aspx
  10. Manage People: /_layouts/people.aspx
  11. Manage User Permissions: /_layouts/user.aspx
  12. Modify Navigation: /_layouts/AreaNavigationSettings.aspx
  13. Modify Site Navigation: /_layouts/SiteNavigationSettings.aspx
  14. Recycle Bin: /_layouts/AdminRecycleBin.aspx
  15. Site Directory: _layouts/SiteDirectorySettings.aspx
  16. Save Site as Template: /_layouts/savetmpl.aspx
  17. Site Settings page: /_layouts/settings.aspx
  18. Create New Web Part Page: /_layouts/spcf.aspx
  19. Site Template Gallery: /_catalogs/wt/Forms/Common.aspx
  20. Site Column Gallery: /_layouts/mngfield.aspx
  21. Site Content Types: /_layouts/mngctype.aspx
  22. Site Content and Structure Manager: /_layouts/sitemanager.aspx
  23. Site Usage Summary: /_layouts/SpUsageWeb.aspx
  24. User Alerts: /_layouts/sitesubs.aspx
  25. View All Site Content: /_layouts/viewlsts.aspx
  26. Web Part Gallery: /_catalogs/wp/Forms/AllItems.aspx
  27. Web part maintenance mode: /append ?contents=1 to the URL of the page
  28. Open the page in Edit Mode – In Address bar, Type: “javascript:MSOLayout_ToggleLayoutMode();” or  “javascript:MSOTlPn_ShowToolPane(’2′);” in the Address bar
  29. Add Web Parts Pane: ?ToolPaneView=2
  30. Display all content types of sites: /_layouts/mcontent.aspx
  31. Sign as different User: /_layouts/closeConnection.aspx?loginasanotheruser=true

Invalid characters in SharePoint naming conventions

This article lists the characters that you cannot use in the following names in Microsoft SharePoint:

  • Site names
  • Folder name
  • Server names
  • File names

Site names, subsite names, or site group names

  • You cannot use the following characters anywhere in a site name, in a subsite name, or in a site or Active Directory group name:-
    • Tilde (~)
    • Number sign (#)
    • Percent (%)
    • Ampersand (&)
    • Asterisk (*)
    • Braces ({ })
    • Backslash (\)
    • Colon (:)
    • Angle brackets ([ ])
    • Question mark (?)
    • Slash (/)
    • Plus sign (+)
    • Pipe (|)
    • Quotation mark (“)
  • You cannot start a site name, a subsite name, or a site group name with an underscore (_) character or with the period (.) character.
  • When you create a site name, a subsite name, or a site group name, you cannot use strings that were already used to name managed paths.
  • You cannot use the period character consecutively in the middle of a site name, a subsite name, or a site group name.
  • You cannot use the period character at the end of a site name, a subsite name, or a site group name.

Folder names

  • You cannot use the following characters anywhere in a folder name or a server name:
    • Tilde
    • Number sign
    • Percent
    • Ampersand
    • Asterisk
    • Braces
    • Backslash
    • Colon
    • Angle brackets
    • Question mark
    • Slash
    • Pipe
    • Quotation mark
  • You cannot use the period character consecutively in the middle of a folder name.
  • You cannot use the period character at the end of a folder name.
  • You cannot start a folder name with a period character.

File names

  • You cannot use the following characters anywhere in a file name:
    • Tilde
    • Number sign
    • Percent
    • Ampersand
    • Asterisk
    • Braces
    • Backslash
    • Colon
    • Angle brackets
    • Question mark
    • Slash
    • Pipe
    • Quotation mark
  • You cannot use the period character consecutively in the middle of a file name.
  • You cannot use the period character at the end of a file name.
  • You cannot start a file name by using the period character.
  • In addition, file names and folder names may not end with any of the following strings:
    • .files
    • _files
    • -Dateien
    • _fichiers
    • _bestanden
    • _file
    • _archivos
    • -filer
    • _tiedostot
    • _pliki
    • _soubory
    • _elemei
    • _ficheiros
    • _arquivos
    • _dosyalar
    • _datoteke
    • _fitxers
    • _failid
    • _fails
    • _bylos
    • _fajlovi
    • _fitxategiak

How to change Default Home Page : SharePoint

I frequently get questions on changing the home page or using another page as the home page:

  • Can I have three (or four or five or…) columns in the default home page?
  • Do I have to use the new wiki home page in my Team Site?
  • I want to test a new home page design, but I don’t want to lose the existing home page… (just in case you know…)
  • How can I use a page from my wiki library as my home page?

Below are four ways to set another page as your home page: (all four work for both 2007 and 2010)

  • From Site Settings (If the publishing features are enabled)
  • From SharePoint Designer
  • From code / API
  • From PowerShell

The first two can be used by Site Owners, the second two can only be used for developers and administrators

Important Notes for all methods:
Make sure all of your users have at least read access to the new home page, and if in a library that you have it checked in and published.

1.   If the Publishing features are enabled for a site then: (From Site Settings)

Click on Site Action  =>  Site Setting  =>  Welcome Page

Image

2.   From SharePoint Designer:

Right-click the new page and click “Set as Home Page”.  (For SharePoint 2007 this only appears to work from SharePoint                    Designer if the file is in the root of the site. I.e. the same place as default.aspx.)

Image

3. From Code / API

Please follow the following link for code.

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfolder.welcomepage.aspx

4. Via PowerShell

$site = Get-SPSite http://yourserver/sites/yoursite
$web = $site.RootWeb (or $web = $site.OpenWeb("yoursubsite") 
$folder = $web.RootFolder 
$folder.WelcomePage = "SitePages/home.aspx" 
(or $folder.WelcomePage = "default.aspx") 
(or $folder.WelcomePage = "Shared%20Documents/mycustomwebpartpage.aspx") 
$folder.update() 
$web.Dispose() 
$site.Dispose()

If you need any type of help please let me know on following email id : jaydoshi.com@gmail.com. Thank You.

Session state has been disabled for ASP.NET. The Report Viewer control requires that session state be enabled in local mode

Solution for following error:Image

I had to install SharePoint Foundation 2010 for a new project. They needed a native Web Part, and the name of this was Report Viewer control

But a received a strange correlation-ID error and I could not open anymore my site. so I opened ULSVIEWER and got a stranger error: Session state has been disabled for ASP.NET. The Report Viewer control requires that session state be enabled in local mode

So I made some researches on internet and found always the same PowerShell Command:

Enable-SPSessionStateService ( “The only way to install ASP.Net Session State is through PowerShell using *-SPSessionStateService. [Enable | Disable | Get | Set]-SPSessionStateService” )

Reference:

Reference-1  Reference-2   Reference-3

The problem is that when I followed the directions for enabling session state using powershell, I could not find the cmdlet. I spent a ridiculous amount of time trying to figure this out since I had the correct powershell snapin, but I could not find that cmdlet.

 

To resolve this issue you need to change at 2 places.

     1. Do Following changes in your sharepoint web.config file

  • You need to edit the web.config file of the SharePoint application. Open your web.config and add the httpModules.

  • In the <system.web> section, find the <httpModules> element and edit it like the following:

  • <httpModules> <add name = “Session” type=”System.Web.SessionState.SessionStateModule” /></httpModules>

  • You also need to find the element tag <pages> (also under the <system.web> element) and look for the attribute called enableSessionState and set it to true if it is currently false. Save and close the web.config file.

 

     2. Now another thing is you need to add modules in IIS7

  • You should then open the IIS 7 manager, and select your web application.

  • Open the modules applet under the IIS section.

  • Click “Add Managed Module” in the right hand panel.Enter a name for the module, I chose “SessionState”, you can pick what you like, but I suggest something related to session state and then in the lower box, select the entry for:

  • System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Made an IISreset, and test again. you can now add your WebPart Report Viewer control to your site.

How to decrease Content DB Size

If your content DB size is more than its actual size then you have to remove items from your Recycle Bin.

Once you remove your item from Site Action -> Recycle Bin it will transffered to Admin Recycle bin. You have to remove it from there also.

http://yoursite/_layouts/AdminRecycleBin.aspx?View=2

Once you removed your data from here now see the size of your content db. Its reduced now.

Thanks.

How to Display SharePoint Controls in different mode in SharePoint OOB list pages

I am facing the problem in which I need to display the SharePoint List Field in “Display” mode in List Edit Page. (This Problem works with SharePoint Default generated Page)

Step-1 : First of all please download the JavaScript file from here.

Step-2 : Add this JavaScript file in your project StyleLibrary.

Step-3 : Now Open your List Default Edit Page.

Step-4 : Find PlaceHolderMain tag. and after this tag insert you desired code as below:

<script type=text/javascript>
function MyCustomExecuteFunction()
{
     //to hide the field Title=Field Display Name
     SPUtility.GetSPField('Title').Hide();
     //enable to control in display mode
     SPUtility.GetSPField()
   
}
_spBodyOnLoadFunctionNames.push("MyCustomExecuteFunction");
</script>

Other examples images are inserted below:

Image

Image

Image

Image

If you have any doubt in this article feel free to mail me or comment here.

Custom Code for send Mail in SharePoint using C# .net code

Create new project in Visural Studio create new Project by following the below step:

File -> New -> Project -> Visual C# -> Windows in Installed Template -> Select Console Application. Give your desire name to the application.

Add Following Reference in your code:

Microsoft.SharePoint

Add Following Name Space in you code:

using Microsoft.SharePoint;
using System.Net.Mail;

Replace Program.cs code with below code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using Microsoft.SharePoint.Administration;
namespace SendEmail
{
    class Program
    {
        static void Main(string[] args)
        {
            SPWebApplication webApp = SPWebApplication.Lookup(new Uri("https://serverName/"));
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("abc@xyz.com");
            mail.To.Add("pqr@xyz.com");
            mail.Subject = "Subject Test";
            mail.Body = "Body Test";
            // SmtpClient class sends the email by using the specified SMTP server
            SmtpClient smtp = new SmtpClient(webApp.OutboundMailServiceInstance.Server.Address);
            smtp.UseDefaultCredentials = true;
            smtp.Send(mail);
        }
    }
}

This will send mail from abc@xyz.com to pqr@xyz.com user. Subject of the mail is “Subject Test” and Body of the mail is “Body Test”

How to check current user in particular group in JavaScript using SPServices

Add two JavaScript file in your Style Library.

1. Javascript 1.7.1.js (Download from here)

2. jquery.SPServices-0.7.1a.min.js (Download from here)

<script type="text/javascript" src="/Style%20Library/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="/Style%20Library/js/jquery.SPServices-0.7.1a.min.js"></script>
<script language="javascript" type="text/javascript">

$(document).ready(function () {        
        $().SPServices({
            operation: "GetGroupCollectionFromUser",
            userLoginName: $().SPServices.SPGetCurrentUser(),
            async: false,
            completefunc: function (xData, Status) {
                if ($(xData.responseXML).find("Group[Name='SPGroup1']").length == 1) {
                    location.href = location.href.replace('/EditFormMKT.aspx', '/EditFormUW.aspx');
                }
                else if ($(xData.responseXML).find("Group[Name='SPGroup2']").length == 1) {
                    location.href = location.href.replace('/EditFormMKT.aspx', '/EditFormLegal.aspx');
                }
                else if ($(xData.responseXML).find("Group[Name='SPGroup3']").length == 1) {
                    location.href = location.href.replace('/EditFormMKT.aspx', '/EditFormDesigner.aspx');
                }
                else if ($(xData.responseXML).find("Group[Name='SPGroup4']").length == 1) {
                    location.href = location.href.replace('/EditFormMKT.aspx', '/EditFormRequester.aspx');
                }
            }
        });
    });
</script>

Group1, Group2 and Group3 etc are SharePoint Groups. Replace your group name with this group name and what ever you want to do write your code below of it.

Here I am replacing the URL and redirect the user based on his role. You can also call particular JavaScript function based on user’s group.

Hope this is helpful to you.

Using PowerShell to deploy SharePoint Solutions and Features

The STSADM command line application worked well with previous versions of SharePoint. But the world is progressing and PowerShell will be the new administrative tool for SharePoint. In previous articles, I already showed some amazing powerful scripts that otherwise would require more lines of code. PowerShell offers some great advantages in large farms, as they can be run remotely on target machines, can be signed and therefore be controlled. Building up a repository of scripts or cmdlets to execute common tasks would be worthwhile in the long run.

First off an important thing to note here that this will only work with SharePoint 2010. There are no PowerShell snapins available for 2007, although you could create your own off course. And when run from a SharePoint 2010 Management Shell, the snapins are loaded automatically. But what if you just use the ‘normal’ console? Well, then you would have to register the snapin yourself. Fortunately, MS has already created the PowerShell script that is needed, located at:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Config\PowerShell\Registration\SharePoint.ps1

You could include this script in your scripts to be run first, or just include the command that registers the snapin:

Add-PSSnapin Microsoft.SharePoint.PowerShell

This article covers one of the most basic tasks one would do when administrating SharePoint: Deploy SharePoint solutions (WSP) and enable/disable features.

Working with Solutions

In the ‘old’ days (let us not forget that the stsadm is still there and we have a lot of SharePoint 2007 installations across the globe), the following stsadm command could be used to add a SharePoint solution to SharePoint:

stsadm –o addsolution –filename “D:\Deploy\MySharePointSolution.wsp“

We used the following command to deploy the solution once installed to a specific web application:

stsadm –o deploysolution –name MySharePointSolution.wsp –url http://myspwebappp –allowgacdeployment –immediate

If we would upgrade an existing solution, we would use the following:

stsadm –o upgradesolution –name MySharePointSolution.wsp –filename “D:\Deploy\MySharePointSolution.wsp” -immediate

And finally, we used the following commands to retract and delete a specific solution from the web application:

stsadm –o retractsolution –name MySharePointSolution.wsp –url http://myspwebapp –immediate
stsadm –o deletesolution –name MySharePointSolution.wsp

Now, let us see how we could do above operations with PowerShell. For this, we use the following PowerShell commands:

Add-SPSolution “D:\Deploy\MySharePointSolution.wsp“
Install-SPSolution –Identity MySharePointSolution.wsp –WebApplication http://myspwebapp –GACDeployment

If you would like to add the solution as sandboxed, you would use the Install-SPUserSolution command instead. To upgrade a solution, we specify which solution is to be updated and with which new solution file:

Update-SPSolution –Identity MySharePointSolution.wsp –LiteralPath “D:\Deploy\MySharePointSolution.wsp” –GacDeployment

To retract and remove a solution, we use the following commands:

Uninstall-SPSolution –Identity MySharePointSolution.wsp –WebApplication http://myspwebapp
Remove-SPSolution–Identity MySharePointSolution.wsp

Working with features

Similarly, commands exist for working with features. The stsadm equivalents:

stsadm –o activatefeature –name MyFeatureName –url http://myspwebapp
 stsadm –o deactivatefeature –name MyFeatureName –url http://myspwebapp

Needless to say, there are easy equivalents in PowerShell:

Enable-SPFeature –Identity MyFeatureNameOrGuid –url http://myspwebapp
 Disable-SPFeature –Identity MyFeatureNameOrGuid –url http://myspwebapp

As you can see, PowerShell will completely replace stsadm as the administrative command line tool for SharePoint. Better to start using it as the next version of SharePoint will not have a stsadm command line tool I suspect. To conclude, let us take a look at a script that enables a certain feature across all site collections and sites in a farm. As an example, I have taken the SharePoint Server Enterprise Site Features feature with ID 0806d127-06e6-447a-980e-2e90b03101b8.

Add-PSSnapin Microsoft.SharePoint.PowerShell
 $WebApplications = Get-SPWebApplication

 foreach ($webapp in $WebApplications) {
   $Id = $webapp.Id
   Write-Host “Processing web application $Id …”
   $sites = $webapp.Sites
   foreach ($site in $sites) {
     Write-Host Processing site $site.Id
     $webs = $site.AllWebs
     foreach ($web in $webs) {
       Write-Host Processing web $web.Title
       if ($web.Features["0806d127-06e6-447a-980e-2e90b03101b8"] -eq $null) {
         Enable-SPFeature -Identity 0806d127-06e6-447a-980e-2e90b03101b8 -url $web.Url -Confirm:$false
       } else {
         Disable-SPFeature -Identity 0806d127-06e6-447a-980e-2e90b03101b8 -url $web.Url -Confirm:$false
       }
     }
   }
 }

Please note though that above script will work for small site collections. But for larger object hierarchies, you will need to include proper memory management (SPAssignment) to ensure proper release of memory.