KiGG 3.0 Released

by mosessaur| 13 October 2010| 0 Comments

Yesterday we released KiGG 3.0 and baselined the source code for version 3. No major changes in this release. We upgraded to ASP.Net MVC 2.0 on .Net 3.5 SP1 & VS2008.

This release is going to be the last release on .Net 3.5 SP1 and VS2008. We plan to upgrade to .Net 4.0 and migrate the solution to VS2010 and start use Entity Framework 4.0 and maybe abandon LINQ to SQL support.

Visit http://kigg.codeplex.com for more information.

Here set of requirements for your development workstation if you are planning to rebuild the source code or customizing it.

Development Workstation System Requirements

  • Visual Studio.Net 2008 any edition with SP1 (Express Editions should work)
  • .Net Framework 3.5 SP1
  • ASP.NET MVC 2.0 RTM
  • Included reference libraries (xUnit, Moq, DotNetOpenAuth, Enterprise Library etc...) -available with source code download-
  • Database (Only one option is required)
    • SQL Server 2005 or later any Edition with Full-Text Search Services (Full-Text search is required for search)
    • MySQL 5.x
  • IIS 6.0 or IIS 7.0 (didn't test it on Windows XP IIS 5.5)

Introducing Shrinkr The URL Shrinking Service built with ASP.NET MVC 2

by mosessaur| 20 April 2010| 2 Comments

Few months ago, on September 2009 my friend Rashid started to blog about this open source project “Shrinkr”. And I got a chance to assist him on this.

In the last few weeks we were working on preparing this first stable release. And now we got it and it’s live on http://rdir.in.

Yesterday Rashid announced the first release which you can download from here.

In this post I’m going to show few screenshots of the live Shrinkr. And highlights few technologies used on it.

More...

KiGG Design And Architecture – Part 3 The Core

by mosessaur| 29 December 2009| 4 Comments

Introduction

In part 2, we explored KiGG project structure. I gave a short brief and summary about each project in the solution. And briefly discussed the relation between them.

In this part we are going to start going much deeper. Staring with the Core, and this might take several parts by itself as the Core is huge and contains lots of stuff that worth to be discussed.

More...

KiGG Design And Architecture – Part 2 Project Structure

by mosessaur| 27 November 2009| 2 Comments

Introduction

In part 1 I talked about KiGG high level architecture. In this part I am going to talk about KiGG project structure and summarize the purpose of each project in the solution. I’ll not go into deep details of each project. I’ll save that for some other posts, just be patient with me and stay tuned.

More...

KiGG Design And Architecture – Part 1 The high level design

by mosessaur| 15 November 2009| 4 Comments

Introduction

In this multi part series I am going to explore KiGG design and architecture as well as projects structures.

At the beginning I would like to give a brief about KiGG History.

About KiGG

KiGG is similar to DotNetKicks, Digg and DZone. However it much closed to DotNetKicks and way smaller than DZone. KiGG was founded by Kazi Manzur Rashid and first introduced in his article on DotNetSlackers.com: Kigg - Building a Digg Clone with ASP.NET MVC, that was on Feb 2008. It was built with First ASP.NET MVC preview.

In early this year 2009 on January, Rashid was almost done with KiGG, however ASP.NET MVC 1.0 was not released yet. At this time Rashid announced DotNetShoutout.com as first live application based on KiGG. On March 2009 Rashid released version 2.2 of KiGG after the release of ASP.NET MVC 1.0.

I joined the team on April and start working with Entity Framework implementation for KiGG as well as supporting the project.

Thank you Rashid for giving me this opportunity.

More...

Multiple database support with Entity Framework

by mosessaur| 18 August 2009| 9 Comments

Introduction

One of the features introduced in Entity Framework is being database independent. Which mean each database provider can support Entity Framework by implementing its provider.

This feature allows you build applications independent from the underplaying database provider. In this post I’m going to show how to build an application that support multiple databases using same conceptual model made by Entity Framework.

Entity Framework providers

Entity Framework is database independent. Each database provider could have its own Entity Framework provider. Currently there are several database provider who support the current version of Entity Framework that is released with .Net 3.5 SP1.

A list of Entity Framework providers can be found .

Entity Framework multiple database support sample

In this post, I am going to demonstrate a sample application (based on northwind database) that is going to support both SQL Server database engine and MySQL database engine.

More...

Username Availability Validator AJAX Control, Release Demo

by mosessaur| 04 January 2009| 9 Comments

Back in September last year (2008), I posted a demo about Username Availability Validator Control. This control developed by the community on a contest initiated by Dave Ward on August 2008 as I remember. At that time the control was in beta.

On October 2008 the control was released to public on its first version. And finally I wrote a a very simple documentation on the project Wiki.

In this post I am going to update my previous demo as well as provide new feature on the control which is SuccessMessage property to be displayed if the Username is available. This update is not available so far on project at CodePlex. This is a private update which I provided on this post only. [View Demo]

More...

Apply Expand All and Collapse All to Collapsible Panels in ASP.NET AJAX and jQuery

by mosessaur| 22 December 2008| 15 Comments

I got many feedbacks in my previous posts "Building a grouping Grid with GridView and ASP.NET AJAX toolkit CollapsiblePanel" & "GridView Grouping Master/Detail Drill Down using AJAX and jQuery"  asking to for toggle all (Expand All or Collapse All) feature in CollapsiblePanelExtender as well as to in jQuery. Actually I didn't have much time to walkthrough this and provide a demo about it.

Today I got a chance to write few code snippet to run this feature. It was very simple for both jQuery also for ASP.NET AJAX.

More...

Tips & Tricks when working with jQuery and ASP.NET AJAX

by mosessaur| 17 November 2008| 3 Comments

I posted about how to build and extender control using ASP.NET AJAX with jQuery. During my work I fall into few issues that I resolved and wished to share them with you.

These issues are related to callback functions in jQuery. For example when calling slideUp(speed, callback) or slideDown(speed, callback). Same thing when calling each(callback) function except that the callback in each(callback) function takes 2 arguments while those in Effects functions take no arguments by default -refer to jQuery documentation for more details-.

What are the issue exactly?

In all callback function in jQuery, "this" keyword will reference the DOM Element. For example in slideUp or slideDown functions if you specified a callback like this:

//Collapsed is your callback function
$('#elementId').slideDown(Collapsed);

Your callback function Collapsed should look like this:
function Collapsed() {
  //"this" refers to dom element
}

Now if you used "this" keyword in the callback function context it will reference the DOM Element which you are sliding down or up or making any kind of effects on it.

More...

Building jQuery and ASP.Net AJAX Enabled Controls, The jQueryCollapsiblePanelExtender Part 2 Server Control

by mosessaur| 27 October 2008| 7 Comments

In the previous part I talked about how to build the client control. In this part I'll show how to put it all together to build an ASP.NET AJAX Enabled Server Control. You can view the demo that demonstrate control usage here.

The good thing about ASP.NET AJAX is that it supports fully programmable interface for both Server and Client control. And make a connection between both control. So you just need to put the control declaration on the ASPX page and ASP.NET will make it work for you. On the other hand, you have full access to the client APIs so that you can do some manual calls to the client APIs as well.

Building the Server Control:

This is an ASP.NET AJAX Extender control. Means it extends existing ASP.NET control to enable ASP.NET AJAX on it. In this case this extender extends ASP.NET Panel control, that is why it is called CollapsiblePanelExtender. Here is an article to show you in details How To build Extender Controls.

Basically jQueryCollapsiblePanelExtender I am building here inherits directly from ExtenderControl. This required to implement 2 methods GetScriptDescriptors and GetScriptReferences which I am going to explore later. But now, I want to take your attention that I am using jQuery, and I wanted the developer to have the option to specify the path of the jQuery library. If he/she did not specify the path, the default path is used, which is the the one hosted by google at http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js. To do that I made a property and Call jQueryScriptPath that gets and sets jQuery javascript library path.

More...