Google Apps Commercial

July 29, 2011

Google Apps are main compitetor of office 365.
See its commercial…..Enjoy
There’s been a lot of back-and-forth between Microsoft and Google in the Office 365 vs. Google Apps cloud app-suite debate. The two have taken pot shots at their competitor’s feature set, uptime record, pricing models and more. They’ve also both taken to publicizing their respective customer wins/steals from one another.

Advertisements

Gmail man (Office 365 Advertisement)

July 29, 2011

A office 365 ad targetting Gmail…… Interesting….
On July 20 during the MGX opening sessions, the Softies showed off their “Gmail Man” spoof, meant to spur the troops selling Office 365 against Google Apps, and specifically, Gmail. In the video, Gmail man riffles through mail to find keywords for serving up ads. The message: Google cares more about advertising revenues than privacy.


Sprint Retrospective Meeting – To Improve Processes In Scrum

July 28, 2011

I was Planning to conduct “Sprint Retrospective” for my team – as a good Scrum practice.
So here is what i found on net about it.

What is Sprint Retrospective?
Each Sprint in Scrum has to a meeting – Sprint Retrospective at the end. It is very essential that the Scrum Master never allows the team to skip these meetings. These meetings uplift Inspect and Adapt principles of Scrum and help the product to be better and better after each Sprint.
Team along with Scrum Master asks 2 questions;
>> What went well in last sprint?
>> What could be improved in next sprints?

References:
http://www.agilegamedevelopment.com/2008/06/when-we-talk-about-agile-we-use-phrase.html
http://sites.google.com/site/agiledevelopmentsite/process/sprint-retrospective
http://www.scrumforteamsystem.co.uk/ProcessGuidance/scrum/process/sprint-retrospective

What are Rules?
• Ensure that everyone can speak freely.
• Sprint retrospective meeting is not the place for advocating ones personal agenda.
• Do not play the blame game.
• Do not allow vague statements.
• Transform identified improvements to concrete action points.

References:
http://www.petrikainulainen.net/software-development/processes/unleashing-the-full-potential-of-sprint-retrospective-meetings/


Software Architecture – Office 365 – Single sigin-in/synchronization – Directory Federation Services 2.0 server failed due to invalid credentials

July 17, 2011

Software world is changing and growing for new dimensions. Cloud is one the direction which is supposed to be growing a lot in next few years.
Last few months in my office, I have been working on automation of office 365 administrative tasks via power shell commands in C#, a really new learning curve and I enjoyed it.
I made some good social networking with Office 365 experts / MVPs on net. I hit my head with Office 365 support forums for many things. …:)
A small module for office 365 automation is complete and one of the challenging task was a POC to configure Single sigin-in/synchronization for office 365. While working on it, I really realize that it is challenging task.
Problem domain:
Office 365 Enterprise programming via power shell commands via c#
Problem:
While following steps for single sign-in at:
http://onlinehelp.microsoft.com/en-us/office365-enterprises/ff652560.aspxwhen I followed “3. Set up a trust by adding or converting a domain for single sign-on” and ran “MsolAdfscontext” command, I got following error.

Set-MsolADFSContext : The connection to * Active
 Directory Federation Services 2.0 server failed due to invalid credentials.
At line:1 char:20
+ Set-MsolAdfscontext <<<<  -Computer  **
    + CategoryInfo          : InvalidOperation: (:) [Set-MsolADFSContext], Fed
   erationException
    + FullyQualifiedErrorId : ConnectionToGenevaServerFailed,Microsoft.Online.
   Identity.Federation.Powershell.ContextCredentialsCommand

The screen looked like as below:

After some googling I came to know that problem lies in “Installation and Configuration for Windows Remote Management”. According to MSDN:

If Windows Remote Management (WinRM) is not installed and configured, WinRM scripts do not run and the Winrm command-line tool cannot perform data operations. The Windows Remote Shell command-line tool, Winrs, event forwarding, and Windows PowerShell 2.0 remoting also depend on WinRM configuration.

So solution is to run command as “Winrm quickconfig” , so the output will be as:

For details visit:
http://msdn.microsoft.com/en-us/library/aa384372(v=vs.85).aspx
Happy coding for office 365.


Software architecture-powershell command of sharepoint -named “set-sppassphrase”

July 16, 2011

After long time, when i tried to run sharepoint product configuration wizard, i came to know that i have forget the passPhrase……ohhhh ….i know i am bad in memmory management…..:(

Searched on net to find that there is a powershell command of sharepoint to reset the passphrase. Got help of powershell command named “set-sppassphrase”, below is what followed it and after that i was ready to move with new passphrase.

PS C:\Users\administrator> get-help set-sppassphrase -full

NAME
    Set-SPPassPhrase
SYNOPSIS
    Sets the pass phrase to a new value.

SYNTAX
    Set-SPPassPhrase -ConfirmPassPhrase <SecureString> -PassPhrase <SecureStrin
    g> [-AssignmentCollection <SPAssignmentCollection>] [-Confirm [<SwitchParam
    eter>]] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]

    Set-SPPassPhrase -PassPhrase <SecureString> [-AssignmentCollection <SPAssig
    nmentCollection>] [-Confirm [<SwitchParameter>]] [-LocalServerOnly <SwitchP
    arameter>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]

DESCRIPTION
    The Set-SPPassPhrase cmdlet sets the Passphrase to a new Passphrase value.
    If the LocalServerOnly parameter is not used, the farm encryption key is re
    -encrypted with the new value and attempts to propagate this value to all o
    ther servers in the farm. If the LocalServerOnly parameter is used, this is
     updated on the local machine only, and the farm encryption key is not chan
    ged. The Passphrase value must be the same on all servers in the farm if th
    e farm is to function correctly. So if the Passphrase fails to propagate to
     all servers, the LocalServerOnly parameter can be used to set the remainin
    g servers to the new Passphrase value manually.

    For permissions and the most current information about Windows PowerShell f
    or SharePoint Products, see the online documentation (http://go.microsoft.c
    om/fwlink/?LinkId=163185).

PARAMETERS
    -ConfirmPassphrase <SecureString>

        Required?                    true
        Position?                    Named
        Default value
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -Passphrase <SecureString>
        Specifies the new Passphrase value.


        Required?                    true
        Position?                    Named
        Default value
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -AssignmentCollection <SPAssignmentCollection>
        Manages objects for the purpose of proper disposal. Use of objects, suc
        h as SPWeb or SPSite, can use large amounts of memory and use of these
        objects in Windows PowerShell scripts requires proper memory management
        . Using the SPAssignment object, you can assign objects to a variable a
        nd dispose of the objects after they are needed to free up memory. When
         SPWeb, SPSite, or SPSiteAdministration objects are used, the objects a
        re automatically disposed of if an assignment collection or the Global
        parameter is not used.

        When the Global parameter is used, all objects are contained in the glo
        bal store. If objects are not immediately used, or disposed of by using
         the Stop-SPAssignment command, an out-of-memory scenario can occur.


        Required?                    false
        Position?                    Named
        Default value
        Accept pipeline input?       True
        Accept wildcard characters?  false

    -Confirm [<SwitchParameter>]
        Prompts you for confirmation before executing the command. For more inf
        ormation, type the following command: get-help about_commonparameters


        Required?                    false
        Position?                    Named
        Default value
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -LocalServerOnly <SwitchParameter>
        Scopes the Passphrase change to the local server only. If this paramete
        r is not used, the Passphrase change is performed farm-wide.


        Required?                    false
        Position?                    Named
        Default value
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -WhatIf [<SwitchParameter>]
        Displays a message that describes the effect of the command instead of
        executing the command. For more information, type the following command
        : get-help about_commonparameters


        Required?                    false
        Position?                    Named
        Default value
        Accept pipeline input?       False
        Accept wildcard characters?  false

    <CommonParameters>
        This cmdlet supports the common parameters: Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer and OutVariable. For more information, type,
        "get-help about_commonparameters".

INPUTS

OUTPUTS

    ------------------EXAMPLE-----------------------

    C:\PS>$passphrase = ConvertTo-SecureString -asPlainText -Force

    C:\PS>Set-SPPassPhrase -PassPhrase $passphrase -Confirm


    This example queries for a string to use as a passphrase, and sets the farm
     passphrase to a new value.

Here is actual command that reset the passphrase for sharepoint farm

PS C:\Users\administrator> $passphrase=convertto-securestring -asplaintext -forc
e

cmdlet ConvertTo-SecureString at command pipeline position 1
Supply values for the following parameters:
String: webdir33333R
PS C:\Users\administrator> set-sppassphrase -passphrase $passphrase -confirm

cmdlet Set-SPPassPhrase at command pipeline position 1
Supply values for the following parameters:
ConfirmPassPhrase: **********

Confirm
Are you sure you want to perform this action?
Performing operation "Set-SPPassPhrase" on Target "SPPassPhrase".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):y

Software Architecture-Sharepoint 2010 – Exception- Error occurred in deployment step ‘Retract Solution’: Attempted to perform an unauthorized operation.

July 16, 2011

I switched user of development VM that i was using shareppoint development, after that
when i tried to deploy solution i got following error

"Error	1	Error occurred in deployment step 'Retract Solution': Attempted to perform an unauthorized operation.		0	0	LinqQueryApp"

As it looks like problem with security so i explored about it on Google and found that the new user don’t have proper rights.
According to MSDN, retraction is defined as below:

Retracting a solution is the process of removing assemblies, files, resources, safe control entries, Features, and other solution components from computers to which they have been deployed.
The following are two critical points to remember about retraction of a farm solution:
•	    A solution cannot be removed from the solution store until after it is retracted.
•	    When a solution is retracted, all files for that solution are retracted, even if another solution points to the same file. This issue can be avoided by ensuring that each solution points to a unique set of files.
•	    It is possible to retract a solution from some web applications while leaving it deployed for others.

Reference: http://msdn.microsoft.com/en-us/library/aa543958%28v=office.14%29.aspx

Solution to problem is as:
Open Sharepoint Central administration tool, under “Application management” click on “Manage web application” , then click on web application , then in top ribbon control select “User policy” , click “Add new user”, follow the wizard to add user to which i recently switched. That does the trick and now deploy the solution again, error will disappear.

Keep sharepoint exploring….:)


Software architecture – CAML vs LINQ 2 Sharepoint comparison

July 16, 2011

CAML vs LINQ 2 Sharepoint comparison

1. CAML perform better in some cases as compared to LINQ 2 sharepoint. In case of LINQ 2 sharepoint whole list is fetched into memory and then filters are applied , so LINQ 2 sharepoint has performance over head as compared to CAML for large collections.

2. LINQ 2 sharepoint has full intellisense support in visual studio as compared to CAML, so becomes more programmer wise productive.

3. LINQ 2 Sharepoint is more productive because most .Net programmer already now LINQ syntax whereas CAML can be difficult to become productive because of difficult syntax.

For more details see:
http://msdn.microsoft.com/en-us/library/ms426449.aspx