Archive for February, 2013

New Release

February 18, 2013 Leave a comment

Yes, on eighteenth October of two thousand nine, my wife and me blessed with a baby girl. We had named her Diya. Last two weeks was very though as they both had few complication after birth, and by god grace it all went well now. So not to mention now I have an added responsibility.Definitely it is a different feeling to be a dad. Here is how she looks.


Diya I know some day you will read this Post and I wanted to let you know that as always I  love you so much.

Categories: Uncategorized

Join Two Array – Zipping

February 18, 2013 Leave a comment

Last week I had a requirement where I need to Join two array,there was no relation that I could use to  join LINQ.

Int32[] iArrayOne = {12,34,45,89};

String[] sArrayTwo= { “Value1”,”value2”,”value3”,”Value4”}

Later which I posted a question in SO,in fact it was not possible directly in LINQ.Eric has written a Post that solves my requirement. Yes the operation is termed as Zipping. Until .NET 4.0 we need to use the below snippet to achieve it and starting 4.0 we will have that function as part of the .NET.

public static IEnumerable<TResult> Zip<TFirst, TSecond, TResult>
(this IEnumerable<TFirst> first,
IEnumerable<TSecond> second,
Func<TFirst, TSecond, TResult> resultSelector)
if (first == null) throw new ArgumentNullException("first");
if (second == null) throw new ArgumentNullException("second");
if (resultSelector == null) throw new ArgumentNullException("resultSelector");
return ZipIterator(first, second, resultSelector);

private static IEnumerable<TResult> ZipIterator<TFirst, TSecond, TResult>
(IEnumerable<TFirst> first,
IEnumerable<TSecond> second,
Func<TFirst, TSecond, TResult> resultSelector)
using (IEnumerator<TFirst> e1 = first.GetEnumerator())
using (IEnumerator<TSecond> e2 = second.GetEnumerator())
while (e1.MoveNext() && e2.MoveNext())
yield return resultSelector(e1.Current, e2.Current);
Zipping operation is defined as   var qry = from row in iArrayOne.Zip(sArrayTwo, (temp1, temp2) => 
new { ArrayObject1 = temp1, ArrayObject2 = temp2 })
Tags : ,
Categories: .NET 4.0, C# 4.0

SharePoint Getting Started

February 18, 2013 Leave a comment

Few weeks back I saw a question in the Stackoverflow. The question was How to start learning SharePoint. Well at first it seem simple, I couldn’t get an answer straight away. I did a Google but no luck all links I landed up was about some SharePoint books. The user who posted the question specifically mentioned that he doesn’t want go through books to get the hold of it. Well I am of the same kind I hate going through 500+ pages books. Finally I answer the question on how I learnt SharePoint. Below is my answer for the question.

First step is to get created with a SharePoint site, from your System admin.

If you are the one who need to kick start the SharePoint. Then follow the steps and for each of the steps you can find ample number of links using Google

  1. Install SharePoint and Configure it.
  2. Create a Site Collection
  3. Go to the Site and in the Right Corner you will find a Menu called Site Settings
  4. Select that and play around with each and every options out there.
  5. Most of the options can be understood by the Name
  6. If you struck up some where come to SO or Start over again.
  7. Make sure that you always ask the question why this behaves this way & why this implemented this way.
  8. Try creating pages Same Site Settings Menu has option to create page.
  9. There is some thing called Web Part which is actually a Pluggable component UI/ functionally which can be customized as per the user needs.
  10. Try using those web parts (Lost of Out of the Box)
  11. Later move in to Web Part development,create your own, deploy it
  12. Start using the Microsoft.SharePoint.dll to access the SharePoint site using you custom code.

To give you a brief description.

Microsoft Office SharePoint Server 2007 is an integrated suite of server capabilities that can help improve organizational effectiveness by providing comprehensive content management and enterprise search, accelerating shared business processes, and facilitating information-sharing across boundaries for better business insight. Additionally, this collaboration and content management server provides IT professionals and developers with the platform and tools they need for server administration, application extensibility, and interoperability.

  1. I call it as Application development platform
  2. For anything you wanted to do there will be a option directly / indirectly in SharePoint
  3. Basically it is a Web Application built on top of ASP.NET 2.0
  4. Main entry point to it is an Web Application (Central Administration Site) you get this once you install SharePoint.
  5. This is where you can Create Web Application (Nothing but a Site in the IIS & Content DB)
  6. Yes you read it right Database,SharePoint stores all its content in Database
  7. Web Application is directly not usable (Its like empty DB and Empty IIS site) you need to have some content to be display to the user.
  8. Then Site collection comes, it give content to the User.You need to at least create Site collection under Web Application (Through Central Admin).
  9. While Creating Site Collection you will be provided with a Site Template (Template is nothing but a Blue print sort of thing that will dictate what your site will look like and what it have) there are template For Project Management,Bug Tracking (has options to track Bug, kind of basic infrastructure that will be needed in any Bug Tracking system).
  10. Next level is Sub site, under site collection you can have Site( here too you have an option to select the template), and under that Site you can have another Sub Site so on.
  11. And there is another important thing in SharePoint called List, its a similar to Table in SQL server but not exactly same (because list content are internally stored in SQL Tables), and List contains Fields (Similar to Column in Table). You can use them to store your custom data. While creating the list also you will have Templates (Say for example to Represent a Announcement you have a template, this will have all the fields that are needed to represent announcement)
  12. And you have a Option to Create your own List Structure as well.
  13. There is a special kind of List in SharePoint called Document Library which can store documents.
  14. One final thing Security, managing Security is out of the Box. You can control who has access to you Site and what they can Access (Only Announcement , only Published documents) and what they can do with the item (Edit/Read-only/Delete) etc.
  15. You can create fine grained permission as you wish.


Categories: SharePoint


February 15, 2013 Leave a comment

It all started three+ years back a point of time when I was nurtured enough to find the information I wanted through Internet search, be it technical or general some way or the other I land up in a blog. Specifically that time SharePoint 2007 was in beta and there was very limited information over internet on the subject, As I saw most of the blog from the SharePoint Product team I was in a perception that blogs are meant to them, Later which I came to know about Blogspot which allows you to have your personal blog, I started one, but as there were so much to learn in SharePoint and have to spent all of my time in R & D to get the things working for my First ever Web CMS site based on SharePoint 2007, which was almost ready when the SharePoint RTM came out. I didn’t find time to update my blog. Another thing I hate about blog is the Editor I didn’t like the editor provided by the Blogspot as it is so small and was not able to type the content with ease. I didn’t know about the tools (Word 2007 / Live writer ) that will help you to do that with ease. Later I got inspired with WordPress for the rich set of tool it provide and the full screen functionality, which is when I started this.I was kind of used to update the blog at least twice a month.

As I started more blogging, I saw some pain points.Wordpress is pretty good at what they do and one limitation I was so concerned with the WordPress/Blogspot is that I don’t have more control on the template and the layout.I wanted to have more control on the website layout. I wanted to have more space for my content and it should be presentable to the user who is reading it. Soon I decided to have a blog for my own. I wanted it to be flexible enough I ran through couple of options, upgrade my WordPress account, but it wont allow me to change the layout even If I upgrade, also WordPress is running on PHP, I wanted my blog to running in something from Microsoft stack, ASP.NET. I was impressed by the theme used by Reza but then it was based on PHP WordPress. I finally know what my blog should look like but I didn’t know how to search for that template. Later I came across Tim site and it was running on ASP.NET. I mailed him and got the information that he uses Subtext Project as the blog engine. I then found that the theme used by Reza was inove from WordPress. Last weekend I spent whole time to get the theme applied in the Subtext. Next item was to chose a good provider and buy a host name. Lot of options, I was looking at everydns for getting a host name for free and net4 to host my site, but everydns didn’t work for some reason and net4 site is itself slow, It didn’t look good. Finally I got all under ZnetIndia, customer support is so cool and got complete thing wired with in 1 Hour. I had to setup the subtext with IIS 7 as you need to configure the App Pool to run in  the Integrated Classic more else you will end up in httpModule issue.

And after all this here is what it looks like. Thanks for reading it through so far and I would like to have a comment if you have one on my blog. I will be happy to share this site theme, if you want  just leave me a comment. Also I have planned to concentrate only on SharePoint SharePoint SharePoint and bit of .NET & ASP.NET.

Categories: Uncategorized