Sunday, November 04, 2012

How to re associate list workflows with lists after a migration in SharePoint 2010

Recently I had been exercised on migrating a sub site into a root web in a different site collection.One of the major issue, out of many, was none of the list work flows were working.

After further investigations, figured out that the issue was due to old list Id’s that were associated with the workflows from the source site which I exported.

Follow the steps below to re associate new list Id’s with the workflow using MS SharePoint Designer.

Step 1: Open the site in SPD

Step 2: Locate the workflow you want to re associate with new list Id's (See image below)

blogpost-workflow-1

Step3: Change the 4 list Id’s numbered in below image with the new Id’s

blogpost-workflow-2

  • DocLibID
    • The list Id for the workflow definitions lists (This is a hidden list and you can use SharePoint manager to get the list id)-Refer the image below

blogpost-workflow-3

  • ListID
    • The list Id that needs to associate with the workflow
  • TaskListID
    • "Workflow Tasks" list Id
  • HistoryListId
    • "Workflow History" list Id

Saturday, March 17, 2012

Colombo SharePoint Camp 2012


This is surely going to be a quite a different experience for some of the SharePoint geeks in the community.Simply because, we are planning to have one kind of a hands on experience with SharePoint.

More info at http://www.colombosharepointcamp.com/

Saturday, November 05, 2011

In pursuit with the world’s largest jigsaw puzzle

DSC06474
One of my ambitions is to do the worlds largest jigsaw puzzle (called LIFE) which is 24000 pieces in future.In doing so I have started the miniature version of LIFE which is 3000 pieces.Currently I have completed quarter of it which is around 700-800 pieces.Planning to complete this end of the year if time permits to do so.
Here is the full image of LIFE after you complete it.

Here is my last puzzle.

Friday, October 21, 2011

Configuring Forms Based Authentication (FBA) in SharePoint 2010

One of my favorite configuration tasks from SharePoint 2007 is to configure multiple authentication providers. So I wanted to do the same thing in SharePoint 2010 too. Here I will be using the MSSQL database as the membership store for the users.
Steps
  1. Create MSSQL membership store
  2. Create the new web application
  3. Configure support for FBA
    1. In Central Administration
    2. In new web application
    3. In STS web service (new in SharePoint 2010)
  4. Adding user policies to the web application
  5. Login to the site
Step 1: Create MSSQL membership store
This is where all the user details going to be store.
  • Create the database
    • Run the ASP.NET SQL Server Setup Wizard located at C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe and follows the instructions.
clip_image002 clip_image004 clip_image006
clip_image008clip_image010 clip_image012
    • Once completed create a separate database user and assign that user and add the “db_owner” role.
  • Add users into the membership store
    • Launch the Visual Studio and create a web site project
    • Add a connection string pointing to the above created database
    • Launch the “ASP.NET Configuration” wizard in “Website” menu item.
    • Click on the “Security” link and select the “internet” option and add users in to the store.
clip_image014
Step 2: Create the new web application
  • Go to Central Administration > Manage web applications and click on the “New” in the ribbon
  • Set the settings in the dialog box as in the below images (Check the red boxes)
clip_image002[4]
clip_image004[4]
  • Once the web application created, create the site collection as well.
Step 3: Configure FBA support
  • Edit the web.config for the central administration in the virtual directories folder
    • Add the following entry just above the </system.web> node
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
    • Add the below connectionString details just above the </configuration> node and put the corresponding values for the database,user id and password
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
  • Edit the web.config for the corresponding site in the virtual directories folder
    • Add the following entry just above the </system.web> node.
      • Note : If the membership entry is already available , add only the missing entries (Highlighted in Yellow) from the bellow entry.
<membership defaultProvider="i">
<providers>
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="c">
<providers>
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
    • Add the below connectionString details just above the </configuration> node and put the corresponding values for the database,user id and password
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
  • Edit the web.config located at C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken
    • Add the following entry just above the </configuration> node

<system.web>
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager defaultProvider="AspNetSqlRoleProvider" enabled="true" cacheRolesInCookie="false">
<providers>
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
</system.web>
<connectionStrings>
<add connectionString="Data Source=eccolw7ira;Initial Catalog=<database>;User ID=<user id>;Password=<password>" name="AspNetSqlProvider" />
</connectionStrings>
Step 4: Adding user policies into the web application
  • Go to Central administration > Manage web applications and select the web application and click on the “User Ploicy” button in ribbon.
  • Click on the “Add users” link and select the “Default” as the zone and click on “Next”.
  • Type the user name in the “Users” text box and click on the People Picker icon.
  • If everything configured correctly you should see the user name get underlined in the “users” box. OR
  • Click on the “Browse” button under the users text box and type the user name in the search text box and click on the search button.
  • And you should see the user name in the search result.
clip_image002[6]
Step 5: Login to the site
  • Open the site in browser and select the “Forms Authentication” from the drop down
clip_image004[6]
  • Provide the user credentials and you should be redirected to the home page
image

Wednesday, May 18, 2011

Setting assembly version automatically when building in a Bamboo server

Scenario :
How to instruct your msbuild script to set the correct “AssemblyVersion” of your libraries using “AssemblyInfo.cs”  when building in a Bamboo server.In Puzzlepart it is vital to have the current build number and the current revision number in the assembly version of products.
Solution :
Assembly version syntax : <major version>.<minor version>.<build number>.<revision>
More info can be found here about the syntax. 
Step 1 : First you need to make sure the corresponding Build-Specific Variable are passed into the build script.
How ?
In Bamboo build configuration under the “Builder” tab you have “Options” where you can pass msbuild command line switches.
example : /p:BuildKey=${bamboo.buildKey} /p:BuildPlanName=${bamboo.buildPlanName} /p:BuildNumber=${bamboo.buildNumber} /p:Revision=${bamboo.custom.svn.revision.number}
image
Step 2 : Accessing those variables from the msbuild script
<PropertyGroup>
    <MajorVersion Condition="'$(MajorVersion)' == ''">1</MajorVersion>
    <MinorVersion Condition="'$(MinorVersion)' == ''">0</MinorVersion>
    <BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber>
    <Revision Condition="'$(Revision)' == ''">0</Revision>
    <BuildPlanName Condition="'$(BuildPlanName)' == ''">LocalBuild</BuildPlanName>
    <BuildKey Condition="'$(BuildKey)' == ''">NOKEY</BuildKey>


  </PropertyGroup>
Step 3 : Create the Assembly version using those properties
<PropertyGroup>
       <ComputedAssemblyName>$(MajorVersion).$(MinorVersion).$(BuildNumber).$(Revision)</ComputedAssemblyName>
</PropertyGroup>
Step 4 : Use the assembly version in “AssemblyInfo” task
<AssemblyInfo CodeLanguage="CS"
      OutputFile="$(ApplicationName)\Properties\AssemblyInfo.cs"
      AssemblyTitle="ApplicationName"
      AssemblyDescription="Description"
      AssemblyCompany=""
      AssemblyProduct="$(ApplicationName)"
      AssemblyCopyright="Copyright © "
      ComVisible="false"
      CLSCompliant="false"
      Guid="248D49F7-BC5D-4413-8E4A-98B4654B1594"
      AssemblyVersion="$(ComputedAssemblyName)" />

Monday, February 14, 2011

Arctic SharePoint Challenge 2011

The team Puzzlepart is sponsoring one of the most intriguing event you would ever going to experience during this winter.
Are you ready to take on the challenge ?
Visit http://arcticsharepointchallenge.com/ for more info and feel free to follow @SPChallenge (Dexter the Lynx challenge mascot) on twitter.

Sunday, November 14, 2010

2010 Formula 1 world champion decider at Yas Marina circuit in Abu Dhabi


What a cracking finale it will turn out to be in just a little less than 5 hours from the time I am writing this post, after the yesterday’s qualifying session at Yas Marina circuit.Theoretically all the top 4 driver’s  has a chance to become the champion but I will put this as any one of them can lose it easily.

The table bellow will show you how tight the championship race can be as the current standings.

Pos Driver Nationality Team Points
1
Fernando Alonso Spanish Ferrari 246
2 Mark Webber Australian RBR-Renault 238
3 Sebastian Vettel German RBR-Renault 231
4 Lewis Hamilton British McLaren-Mercedes 222

Sebastian Vettel scripted it perfectly at yesterday’s qualifying session by securing the pole position while his team mate Mark Webber had a worst qualifying which he managed only the 5th place in the grid.Lewis Hamilton and current championship leader Fernando Alonso secured the 2nd and 3rd place respectively.
Unless something dramatic happen the stage has been set perfectly for the Fernando Alonso to take his 3rd championship title.
There will be lot of pressure on him and he can be a hero or a zero in a matter of milliseconds.And there are so many permutations on who going to be the champion by judging the current standings.Believe me, I don’t even thinking about those combinations right now.
I can’t wait to see the start of the race and first turn of the circuit where drivers at front rows will be itching to go pass each other and take the advantage.
Since I am a Ferrari fan, my money is on two times championed Fernando Alonso but you never know, I will keep my fingers crossed.

Saturday, November 06, 2010

First ever series win in Australia

What a performance by the the Sri Lankan cricket team down under making history to win the first ever series beating Aussies(Current number 1 ranked team in the world by ICC and see the full rankings) in their own backyard.It was a real professional effort by the team and they fully deserve that win with the brand of cricket they are playing at the moment.This performance will augurs well for them in 2011 cricket world cup which is going to be held in sub continent.
This performance reminds me that,we were doing well in down under in 1995/96 tour to Australia and went onto win the world cup in 1996 which also held in sub continent.I don’t know this is a coincident or not but believe me, history repeats itself.
All kick started with the Twenty 20 win at Perth where rest of the world thought will be an impossible task for Lankans to cope with purely because of the bouncier conditions.Against the all critics they won that game convincingly.In my opinion that really did make them believing, they have a real good opportunity to beat Australians in their own backyard.
Then came back to Melbourne for the 1st ODI and pull off a miracle to comeback from 8 wickets down for just 107 runs and chased down 240 to win the game by one wicket which is one of the greatest come back of ODI’s history by Lankans.In doing so Angelo Mathews and Lasith Malinga beat the 27 years old world record for the 9th wicket partnership held by Kapil Dev and Syed Kirmani.
And then in the 2nd ODI at Sydney they script another convincing win, hence the first ever series win in down under.This was too an all round performance by the Sri Lankans and Aussies were really down and out.
Now I am looking forward to the tomorrows game at Brisbane which is a dead rubber as far as the series is concern but Lankans have a real good chance to make it a clean sweep which is not an easy task by any means against the Aussies in Australia.I am wondering how many teams have done that before.
Wishing you all the best to you Sri Lankans to achieve that feat too.
GO Lankans GO.

Wednesday, September 29, 2010

Integrating ReSharper into Visual Studio 2010

Scenario : I am running VS2008 and VS2010 in parallel in my development environment.And I had already installed ReSharper 5 before installing the VS 2010.Then I wanted to integrate the R# into VS2010.
Tried to find out how to do it by googling but to no avail.Only found out issues related to  integration issues with VS2010.
Then suddenly came to my mind that will the re installing R# help.As I re run the installer it prompted with the nice little option of changing the integration with the Visual Studio as in the bellow image.
resharper-1
When you click on the “Change” button you will get this
resharper-2
Now it’s a matter of ticking the check box for VS2010 integration and clicking the “Install” button.
Here we go, R# is at your finger tips in VS2010 now.

Sunday, September 05, 2010

SharePoint 2010 : First custom connector implementation for BCS

Today, I managed to read on BCS a bit and wanted to try out some custom connector implementation for the external systems.
Found out this code snippet from MSDN for a connector to the file system.
Managed to complete this exercise and created an external list with the External Content Type and I did see the files from the file system in the list.See bellow images.
Folder contents in file system :
source-files
External list in SP context :
list-ect
I am really impressed by this and it has already inspired me to go deep into this and hoping to create some more custom connectors for other external systems as well.
Found out lot of issues/problems while I am doing this and I just list down possible erroneous  scenarios.
  1. Business Data Connectivity Services issues
  2. Assembly deployment to the GAC
  3. Assembly information
  4. Configure Business Data Connectivity access rights
Keep those things in mind if you also get into trouble.  

Error accessing Business Data Connectivity Services in Windows 7

While I was doing some research on BCS , wanted to import a BDC model from Central Administration > Manage service applications > Business Data Connectivity Services.

As I hit the link,  following error message prompted.

 

bdc-service-error

As usual did a search on the Google and found out the following entries.

http://sensoft2000-sharepoint.blogspot.com/2010/08/error-access-services-is-unable-to.html

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=23806

Downloaded the above fix and installed.

problem solved. :)

bcs-service

More references on the issue :

http://blogs.technet.com/b/dahnesh/archive/2010/06/16/error-while-accessing-business-data-connectivity-services-on-windows-7.aspx

http://support.microsoft.com/kb/976462

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=976462&kbln=en-us

 

Thursday, August 26, 2010

How to send Ctrl-Alt-Del key combination in remote desk top

How many times I have to search web, to find out the correct key combination to send ctrl+alt+del into remote desk top.Here it is.This will be a self note to me on this regard.From here onwards I won’t be searching the web but in my blog only, if and only if I forgot it :)

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

CTRL + ALT + END

Monday, July 12, 2010

Sharepoint foundation 2010 on windows 7 x64

Today,I installed Sharepoint Foundation 2010 on my laptop successfully according to this article.Downloaded the Sharepoint Foundation 2010 from here and started following the installation steps mentioned in this article.

The second step under “To set up a developer workstation” failed successfully because of this command “c:\SharePointFiles\SharePoint /extract:c:\SharePointFiles”
Here it referred to a file called “SharePoint” but the name of the downloaded application was “SharePointFoundation.exe”. So in order to pass this step I had to change the name from “SharePoint” to “SharePointFoundation” in the above command.

After that I continued with the installation steps and managed to launch the setup.exe after completing the installation of prerequisites mentioned.
In the 3rd step under the  “Step 3: Install SharePoint 2010” I select the “Server Farm” option and in the next step I selected the standalone option.I had no clue what so ever why I selected that option, but it happened for some reason and it worked.

Then I had to wait for a quite a longer time to complete the installation and prompted to run the sharepoint configuration wizard.
And finally after the configuration wizard completed, it prompted the newly created sharepoint team site.(See image at top)

Now sharepoint foundation 2010 at my finger tips so that I can start playing with it.

Sunday, July 11, 2010

My classical box guitar

Yesterday, I finished repairing my guitar which was given to me by one of my colleague, Anura.Thank you very much for giving me that and hope you won’t ask it again from me when you see the new look one.

Images before refurbishing :
View Album
I have already started lessons.Hardest part as a beginner is the tuning.Need to learn the trade sooner than later.

Tuesday, July 06, 2010

Web services extensions option in IIS7

http://blogs.msdn.com/b/rakkimk/archive/2007/08/17/iis7-where-is-the-web-services-extensions-option-which-was-there-in-iis6.aspx

Monday, May 10, 2010

Antique world map jigsaw puzzle

Completed puzzle is framed by myself and now hanging on the wall.

Wednesday, April 28, 2010

Pool table in action

It has been a long time that I managed to play a game.Today I tried to play a game for a much needed relax.Take my word, it is indeed take some doing to play a perfect game.You need lot of patience as well as skill.Today , I realized that you need to practice continuously in order to keep your shape in the game and handling the cue is not going to be an easy task if you lose the rhythm.Practice make perfect is the order of the day.This is applicable in any where whether you are doing office work or any other work.And finally it will give you more pleasure specially when you are playing on a table which is built on my own.

Saturday, April 10, 2010

Friday, April 09, 2010

An article by CIO of Xtra personnel (http://xtra.no)

Found this article ,here ,in Norwegian language.On behalf of my colleagues and others who follow my blog, check the Google Translation of it bellow.Enjoy reading.

---- Translated text removed from here -----
Since the Google translation of this article was a total mess, Christian himself has translated it and placed it under the original post.Thank you very much for the translation Christian.