Top 5 Social Login Plugins for WordPress

Last week I spent a lot of time finding a good social login plugin for one of my wordpress site.

First I came across this super awesome plugin called Gigya, It had impressive screenshots (see below) and description.

I quickly went ahead and installed it on my wordpress site, only later to find out that this was an yet another PREMIUM PLUGIN. Yes it was not free !!!

gigya-socialize-for-wordpress screenshot 1

I continued my search for this social login plugin, that is when I came accross these three links at wordpress.stackexchange discussing this same very questions.

Link1 Link2 Link3

Here are few of these good plugins available…

1 . Social Login

oa-social-login screenshot 5

oa-social-login screenshot 1

2 . WordPress Social Login

3. Simple Facebook Connect

4. Login Radius

5. Janrain Engage

Fire at Kurla Delays Mumbai’s Central Line

Today, When I reached around 9:05 am at CST, to catch my usual fast 09:08 am Thane Fast, I was surprised to see the platforms to be empty.

After some enquiry I found out that yesterday night there had been a fire at Kurla Signal Cabin, beacause of which many overhead wires have been snapped and damaged.

All the train indicators for central line had been blacked out. After 15 minutes a special slow train to 09:30 am Karasa was announced.

It normally takes me around 40 minutes to reach Thane by a fast local, today it took me close to 2 hrs in a slow local.

Official Statement by Central Railway Spokeperson

The fire was brought under control a few hours later and there were no casualties.Consequently, suburban and long distance trains were hit severely since early morning. At least four incoming and outgoing outstation trains were cancelled, the official said.

It will take three to four days to fully restore the traffic, a CR spokesperson said adding that services on the Harbour line were also hampered.

“There was a fire in the signal cabin between Kurla and Vidyavihar stations at midnight and there was heavy damage
to signalling gears,” the spokesperson said. The fire was brought under control within half an hour by fire brigade personnel.

With indefinite delay in long-distance trains, holiday plans of thousands of people went haywire, leading to frayed temperatures at CST, Dadar, Kurla, Thane, and other important stations.

Train indicators on platforms also blanked out, leaving commuters in complete dark about the train schedules.

Over four million people use the Central Railway suburban network.

For the CR suburban  commuters, Railways have allowed them to use their season pass on the Mahim-Churchgate route on Western line as repairs in the signal cabin and other works could take at least two-three days before the situation returns to normal.

Meanwhile, Central Railway has permitted season ticket holders to travel unhindered on either the local or long-distance or harbour line routes as a temporary measure, while the state government and BEST have been requested to deploy additional buses to clear the commuter and tourist rush.

Unable to update the EntitySet because it has a DefiningQuery and no element exists in the element to support the current operation.

I was getting this strange error when I tried update/insert/delete on a new table which I had added to the project.

Unable to update the EntitySet because it has a DefiningQuery and no <Insert Function> element exists in the <ModificationFunctionMapping> element to support the current operation.

Solution ?

Make sure that your table has a primary key ! If not add the key and update the Entity Framework model.

Yes that is it !

How to start Outlook in safe mode

When something isn’t working right with Outlook, we often suggest to try and start Outlook in safe mode.

But how do we do that ?

The procedure is very very simple and straight forward,

1. Open the run utitly (shorcut : Windows Key + R)
2. Enter outlook.exe /safe and press enter

Here is a screenshot of the same, just type in the command and press ok and you are good to go….

How to use for loop in javascript

You can use the For Loop in javascript just like you use it in any other language.

Below is a for loop with an alert. The code is pretty self explanatory, in case of any doubts or suggestion please use the comment section below and I shall get back to you.

<script type="text/javascript">
function RunMyForLoop(count)
 for ( i = 0; i <= count; i++ )
alert( "current count is : " + i );

Demo : Click here to run the above method with a count of ‘5’


How to change date time format using Jquery DatePicker

The jQuery UI Datepicker is a highly configurable plugin that adds datepicker functionality to your pages.

To change the date format of the DatePicker, see below…

var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' });

For more options and a detailed read, here are a few links you should consider reading the below links.


Sorting / Paging two webgrid in MVC 3 Razor

When using two webgrids, you often must have come across a problem where sorting/paging on one webgrid will affect the sorting and paging on the other grid. Now lets assume you have already set canPage: true, canSort: true

Below is a simple example of how you should use multiple webgrids to avoid this problem.

string fieldNamePrefix = null  
//The value which prefixes the default querystring fields

string pageFieldName = null  
//A value that replaces the default querystring page field 

var grid1 = new WebGrid(ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1");

var grid2 = new WebGrid(ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2");


How to hide specific columns / values in webgrid MVC3 razor

In MVC 3 Razor, lot of people use webgrid for displaying their data from database in a tabular fashion. Now I came across a need to include a specific column of a webgrid only if one of my condition matches.

After looking around for sometime on the internet I did not find any neatly written article for this, so I have decided to take this task myself and here we are…

Here on check of a condition I am hiding my two columns Password and Email Address. By doing so, I can prevent my webgrid to show the column which I dont want to display for a particular condition.

var grid = new WebGrid(Model.User)

if(myConditionCanGoInHere) {

@grid.GetHtml(columns: grid.Columns(

grid.Column("EmailAddress") ))


@grid.GetHtml(columns: grid.Columns(

// Here I have not included Password and EmailAddress columns.


This is when you want to hide the full column, but what if you want to show the column and hide only specific values, then in that case what is to be done ? That too can be done, you can have a if else condition like the one showed below…

columns: grid.Columns(
grid.Column(header: "Edit", format: item => item.CanEdit ? Html.ActionLink("Edit","Edit","Person",new {id = item.PersonId},null) : Html.Raw("uneditable")),

grid.Column(columnName: "CanEdit", header: "Editable?"),
grid.Column(columnName: "DisplayName", header: "Display Name"),
grid.Column(columnName: "Email", header: "Email")

How to use onBegin method with Ajax.BeginForm

In Ajax.BeginForm, you can specify the following arguments

1. The name of the action method that will handle the request.

2. The name of the controller.

3. ajaxOptions : An object that provides options for the asynchronous request.

There are a many of overloads too, which you can read here

BeginForm Syntax

public static MvcForm BeginForm(  
    this AjaxHelper ajaxHelper,  
    string actionName,  
    string controllerName,  
    AjaxOptions ajaxOptions  

MVC 3 Razor Code

using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions {HttpMethod = "POST", UpdateTargetId = "myDivId" }))  
// all other input elements + submit buttons can go in here  

Now under AjaxOption there are various methods like

1. OnBegin

2. OnComplete

3. OnSuccess

4. OnFailure

their detailed explanation and when to use these options is described here

In this article I shall be using the OnBegin Method, this OnBegin method is called just before the call to the action is made. So using this we can have a JavaScript validation done and depending on the output of that validation we can control whether the call to the action is to be made or not.

Now in the below code, you can see that I have added an OnBegin option under AjaxOptions of my BeginForm. There I have used “return Validate()” JS method.

MVC 3 Razor Code

using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions { OnBegin = "return Validate()", HttpMethod = "POST", UpdateTargetId = "myDivId" }))  
    // all other input elements + submit buttons can go in here  


function Validate() {

        return false;  
    else {  
        return true;  

You can also pass arguments to this JS function as

OnBegin = "return Validate('" + @variableName + "')"