Monday, July 29, 2013

Outlook | Hotmail app for Android doesn't sync or work

Introduction

I primary email Id is hotmail and usually I use my android phone to check mail while travelling. Earlier Microsoft had a hotmail application to check mails and later their upgraded to outlook application. Once it is updated to outlook application it stopped working. 
The issue with the APN setting in the phone. When I changed it it worked perfectly. Please give a try if you are facing the same issue. 

Solution

Do the below change and it would work for you. 
  1. Go to "Access Point Names" (In Samsung S2 (Jelly Beans OS) Setting -> More Setting -> Mobile Networks -> Access Point Name)
  2. There give the below setting as APN setting
    • Name: WEB
    • APN: XXXXXX (Your APN Name)
    • Proxy: Not Set
    • User Name: Not Set
    • Password: Not Set
    • Server: Not Set
    • MMSC: Not Set
    • MMS Proxy: Not Set
    • MMS Port: Not Set
    • MCC: 413
    • MNC: 01
    • Authentication type: None
    • APN Type: default, supl
    • APN Protocol: IPv4
    • Enable/disable APN: APN enabled
    • Bearer: Unspecified
  3. Save and restart your phone.

Conclusion

Now your outlook application should work and sync the data with the online version.  

Wednesday, July 24, 2013

Install PowerShell ISE in Windows Server 2008 R2

Introduction

I was assigned to write some PowerShell Scripting for our SP2010 to SP2013 migration. But I couldn't find any tool to write the script by default. My Tech Lead showed me how to install  PowerShell ISE  in my machine. I'm presenting you that. 

Solution 

Here are the simple steps to install PowerShell ISE. This can be achieved my enabling the feature in Windows Server 2008 R2. 


  • Open Server Manager (Start -> Administrative Tools -> Server Manager)
  • Click on "Features" at the left
  • Click on "Add Features" on right hand side.
  • Then you will prompt to select some options. 
  • There check (select) "Windows PowerShell Integrated Scripting"

  • Click Next and you will find PwerShell ISE ready on All Programs. 

Conclusion

  • Happy Scripting :) 

Export and Import SharePoint Objects ( SPSite | SPWeb | SPList | SPListItem ) using C# code

Introduction

Currently I’m working on creating tool which needs to export SharePoint Objects such as SPSite, SPWeb,  SPList, SPListItem from one site to another.

Solution Background

There are SPExportObject, SPExportSettings,  SPExport, SPImportSettings, SPImport classes under Microsoft.SharePoint.Deployment namesspace. You have to simply assign the needed properties and call the appropirate methods.

Solution

I will describe how to export and import a SpWeb object so that you follow the same for other sharepoint objects as well.
Export SpWeb
public void exportSpWeb(SPWeb spWeb, string fileLocation)
{
  SPExportObject spExportObject = new SPExportObject();
  spExportObject.Id = spWeb.ID;
  spExportObject.IncludeDescendants = SPIncludeDescendants.All;
  spExportObject.Type = SPDeploymentObjectType.Web;
  //Here if it is a "SpSite - SPDeploymentObjectType.Site",
  //"SpList - SPDeploymentObjectType.List and the same for other objects"
  SPExportSettings settings = new SPExportSettings();
  settings.SiteUrl = spWeb.Url;
  settings.ExportMethod = SPExportMethodType.ExportAll;
  settings.FileLocation = fileLocation;
  //Location where your file should be stored Eg. C:
  settings.FileCompression = true;
  settings.IncludeSecurity = SPIncludeSecurity.All;
  settings.ExcludeDependencies = true;
  settings.BaseFileName = spExportObject.Id.ToString();
  //You can give any name
  settings.ExportObjects.Add(spExportObject);
  SPExport export = new SPExport(settings);
  export.Run();
}
After the execution of  method, you will find a .cmp file stored in fileLocation you gave (Eg. C:) named as you gave in the line settings.BaseFileName = spExportObject.Id.ToString();.
This is the you exported and which needs to be imported into another site.
This is the way you can import this file to another site.
public void importSites(string siteUrl, string fileLocation, string fileName)
{
  SPImportSettings settings = new SPImportSettings();
  settings.SiteUrl = siteUrl;
  //Destination site url.
  settings.FileLocation = fileLocation;
  //Where the file stored locally.
  settings.BaseFileName =  fileName + ".cmp";
  //Name fo the file you stored lacally.
  //.cmp is the extenstion of imported file.
  settings.FileCompression = true;

  SPImport export = new SPImport(settings);
  export.Run();
}
After the execution of this method your SharePoint Object will be available in destination site.

Conclusion 

SharePoint objects can be exported and imported using the above method.
PS: When concatenating a string with another string use String.Concat() function.

Get LastItemModifiedDate as Local Time

Introduction

Currently I’m working on creating tool to get the delta date  in a site collection; SharePoint 2010.

Problem Background

Initially I started trying to get the modified date of Last Item in a list using list.LastItemModifiedDate. Here the list is a SPList. But the actual date time of last modified item was different from the date I got programatically.
Here is the code I used to get the last item modified date.
foreach (SPWeb spWeb in sPWebFromWebCollection)
{
 SPListCollection listCollection = spWeb.Lists;
 foreach (SPList list in listCollection)
 {
  DateTime lastModifiedDate= list.LastItemModifiedDate;
  Console.WriteLine(lastModifiedDate.ToString());
 }
}
The out put was: 6/27/2013 8:34:25 AM
But 6/27/2013 2:04:25 PM is the date which appeared in the user interface of the last modified list.

Solution Background

It is because  list.LastItemModifiedDate returns UTC DateTime, not a local one; but in the UI the local time is appeared. So what we have to do it convert UTC Date Time to local time.

Solution

Do do this, call RegionalSettings.TimeZone.UTCToLocalTime(). So that you can get the local time; the same time which appears in the list user interface.
Here is the code.
foreach (SPWeb spWeb in sPWebFromWebCollection)
{
 SPListCollection listCollection = spWeb.Lists;
 foreach (SPList list in listCollection)
 {
  DateTime lastModifiedDate= list.LastItemModifiedDate;
  Console.WriteLine(lastModifiedDate.ToString());
  Console.WriteLine(spWeb.RegionalSettings.TimeZone.UTCToLocalTime(lastModifiedDate));
 }
}

Conclusion 

Don’t get confused because both list.LastItemModifiedDate and the date appears in list are different. Its the matter in time zone.

Install/Uninstall windows service using DOS command line

Problem Background

Once you created a windows service using Visual Studio, you will be able to deploy in development machine with Visual Studio Command prompt. But in production machine we will be not having Visual Studio command prompt, but will be having DOS command prompt. This is the way you can install using dos command prompt.

Solution

  1. Open the command prompt as administrator. (Start -> Accessories ->Command Line -> Right Click -> Run as administrator )
  2. Navigate to c:\Windows\Microsoft.NET\Framework\v4.0.30319 through command line (Type CD c:\Windows\Microsoft.NET\Framework\v4.0.30319)
  3. To Install Type installutil-i
    1. Eg. installutil -i “C:\Users\sjamaldeen\Desktop\Cust QA\VPlus.CustomerSurvey.GetResult.exe”
  4. To unistall  installutil/u
    1. Eg. installutil /u “C:\Users\sjamaldeen\Desktop\Cust QA\VPlus.CustomerSurvey.GetResult.exe”

Feature optional parameter cannot be used because it is not part of the 3.0 c#

Introduction

Currently I’m working on a module which I have  to make use of optional parameters in C#.

Problem Background

There was an error saying “Feature optional parameter cannot be used because it is not part of the 3.0 c#” when I tried to create a method with optional parameters.
01

Solution

Do these property change in project.
    1. Go to Project
    2. Right Click on the project
    3. Go to properties
    4. Go to Build Tab
02
    1.  Click on ‘Andvanced’
03
    1. Set language version to ‘default’
04
  1. Save the project

Conclusion 

Thats all. Hope this will help.