adsense

Wednesday, December 19, 2012

Using Blend to Design HTML5 video series

View demonstrations on how to create a lightweight, dynamic version of the Memory Game in Blend using CSS3, HTML5, and JavaScript

http://channel9.msdn.com/Blogs/How-Do-I/How-Do-I-Part-1-Using-Blend-to-Design-HTML5-Windows-8-Apps-Creating-and-Defining-Style-Rules 

Cheers
Samitja

Sunday, December 16, 2012

javascript for validating numeric with two decimal points

As I have stated in one of my previous posts , here is the javascript for validating texbox which accepts only numbers and two decimal points. The number will be automatically formatted when it loose the focus. There are plenty of third party tools that provide numeric text boxes that can achieve the similar tasks. I hope this will give some consolation for those who can't afford buying them.

<script type="text/javascript" language="javascript">
    function format(n, sep, decimals) {
        if (n == '') {
            document.getElementById('ctl00_ContentPlaceHolder1_txtBuyAmt').value = "0.00";        
            return 0.00;
        }
        if (isNaN(replaceSubstring(n, ',', ''))) {
            document.getElementById('ctl00_ContentPlaceHolder1_txtBuyAmt').value = "0.00";
            return 0.00;
        }
       
        var buyAmt = replaceSubstring(document.getElementById('ctl00_ContentPlaceHolder1_txtBuyAmt').value, ',', '');
        n = parseFloat(buyAmt);
        sep = sep || "."; // Default to period as decimal separator
        decimals = decimals || 2; // Default to 2 decimals

        return n.toLocaleString().split(sep)[0]
        + sep
        + n.toFixed(decimals).split(sep)[1];
    }
    function replaceSubstring(inSource, inToReplace, inReplaceWith) {

        var outString = inSource;
        while (true) {
            var idx = outString.indexOf(inToReplace);
            if (idx == -1) {
                break;
            }
            outString = outString.substring(0, idx) + inReplaceWith +
      outString.substring(idx + inToReplace.length);
        }
        return outString;

    }
   

    function validateOnlyNumber(evt) {
        var theEvent = evt || window.event;
        var key = theEvent.keyCode || theEvent.which;
        key = String.fromCharCode(key);

        if (key == '.') {
            if (document.getElementById('ctl00_ContentPlaceHolder1_txtBuyAmt').value.indexOf(key) > 0) {
                theEvent.returnValue = false;
                if (theEvent.preventDefault) theEvent.preventDefault();

            }
        }

        if (document.getElementById('ctl00_ContentPlaceHolder1_txtBuyAmt').value == '' && key != '.') {
            theEvent.returnValue = false;
            if (theEvent.preventDefault) theEvent.preventDefault();
        }
        var regex = /[0-9]|\./;
        if (!regex.test(key)) {
            theEvent.returnValue = false;
            if (theEvent.preventDefault) theEvent.preventDefault();
        }
    }

    function checkNumbers() {

        var ValidChars = /[0-9]|\./;

        var pasteData = window.clipboardData.getData("Text");

        if (ValidChars.test(pasteData))

            return true;

        else {

            return false;

        }

    }
</script>

call the javascipts as follows
 <asp:TextBox ID="txtBuyAmt" runat="server" Width="200px"  onpaste="return checkNumbers()"   onblur="this.value=format(this.value);"  onkeypress='validateOnlyNumber(event)' >0.00</asp:TextBox>

Note: Here I have placed the text box inside a  contentplaceholder.


Cheers
Samitha

Wednesday, November 28, 2012

Enabling jQuery Intellisense in Visual Studio 2010

When working with jQuery Visual Studio 2010 does not provide the usual intellisense by default. Following article describes a step by step instructions on how to enable intellisense support.

http://blog.tangcs.com/2011/03/29/jquery-intellisense-visual-studio-2010/

Cheers
Samitha

Tuesday, November 27, 2012

ASP.NET GridView Data Filter Control

If you want provide user the option of adding search filters that would enhance their search experience. This can be achieved by using a custom web user control. Following post give you detailed steps with code to achieve it.

Cheers
Samitha

Sunday, November 25, 2012

IE 10 preview for Windows 7

You can experiment with IE 10 preview  for Windows 7 by downloading it from here. It is designed to provide the best experience of web on Windows.

Read More here

Cheers
Samitha

Saturday, November 24, 2012

SQL Server intellisense crashes when VS 2010 SP1 Installed

SQL server 2008 intellisense is not shown after you have installed Visual Studio 2010 SP1. To resolve this you'll have to install the latest service pack for SQL Server 2008.SQL Server SP 2 can be downloaded from here.

If you need an intellisenseis with more features I highly recommend using Redgate's SQL Toolbelt.  It provides features which includes SQL comparison, SQL source control, SQL Data Generater , SQL Backup and many more.

Cheers
Samitha

Thursday, November 22, 2012

Microsoft SharePoint Server 2013 and Office Professional Plus 2013

Start building a new class of apps with Office and SharePoint. Download Microsoft Office Professional Plus 2013. Code samples, development tools, and training are available now with your free evaluation.

Cheers
Samitha

Wednesday, November 21, 2012

Testing for Continuous Delivery with Visual Studio 2012


Testing was newer so easier than this book explains. this book guides you on generating repetable tests, automating tests and run them virtually.

Read more and download the book

http://msdn.microsoft.com/en-us/library/jj159345.aspx 

Cheers
Samitha

Wednesday, November 14, 2012

javascript for validating numeric text

Following javascript can be used to validate numerical values for a textbox. This validates  numbers without decimal points. If you want to validate decimals and thousand separators as well , you'll have to change the regex and call another javascript onblur event to validate the thousand separator and decimal point. I will post the javascript for this soon.

<script type="text/javascript">

 function validateOnlyNumber(evt) {
        var theEvent = evt || window.event;
        var key = theEvent.keyCode || theEvent.which;
        key = String.fromCharCode(key);
        var regex = /^\s*\d+\s*$/;
        if (!regex.test(key)) {
            theEvent.returnValue = false;
            if (theEvent.preventDefault) theEvent.preventDefault();
        }
    }

        function checkNumbers() {
            var ValidChars = /^\s*\d+\s*$/;
            var pasteData = window.clipboardData.getData("Text");


            if (ValidChars.test(pasteData))
                return true;
            else {
             
                return false;
            }
        }

        
 </script>


Call the functions as follows

<asp:TextBox ID="txtSearch" runat="server"   onpaste="return checkNumbers()"  onkeypress='validateOnlyNumber(event)'></asp:TextBox>

Cheers
Samitha

Tuesday, November 13, 2012

Dealing with DOM events

There are some events that will help us to achieve some tasks that are not directly visible through standard events. These are DHTML events and they are invisible in intellisense or properties window of the IDE simply because ASP.NET doesn't know them, and  they will be rendered to the client. There are number of DOM events as such and you can find more details in the MSDN site.

http://msdn.microsoft.com/en-us/library/ms533051.aspx

Cheers
Samitha

Saturday, November 10, 2012

warn user when caps lok is on

This can be a good addition to reduce frustration users might face when accidentally switching caps-lock on. Following article displays how to achieve it in asp.net.

http://aspnet.4guysfromrolla.com/articles/051408-1.aspx

Cheers
Samitha

Wednesday, October 31, 2012

IsNumeric function for c#

In VB.Net there is a useful function to check numeric data which is not available in C#. Here I m showing the IsNumeric function  for c# which can be used to achieve the same result.

bool IsNumeric(string strValue)
        {

            try
            {

                double doub = double.Parse(strValue);

                return true;
            }
            catch
            {

                return false;

            }
        }

Cheers
Samitha

Tuesday, October 30, 2012

Virtual Keyboard for asp.net

There are several occasions where  might be concerned to give maximum protection to user inputs (i,e. Password input). This can be achieved by integrating a simple virtual keyboard for your interface. Listed below are some of the free resources which you can try.

http://www.opensourcescripts.com/info/javascript-graphical---virtual-keyboard-interface.html

http://www.dotnetobject.com/Thread-Google-Virtual-Keyboard-API-with-javascript-asp-net

http://www.codeproject.com/Articles/13748/JavaScript-Virtual-Keyboard

Cheers,
Samitha

Friday, October 26, 2012

asp.net text box highlight text on click

Sometimes you might have come across in situations where you need to select all text in the textbox on click. There can be many other ways to do this but here I've used jQuery to achieve this.


<script type='text/javascript'
src='../Scripts/jquery-1.3.2.min.js'>
</script>
<script type="text/javascript">
$(function() {
$('input[id$=txtBoxName]').click(function() {
$(this).focus().select();
});
});

This script  work on all leading browsers.

Cheers
Samitha

Wednesday, October 24, 2012

Load javascript file via code behind

Sometimes the javacript file loaded in the header section seem to be unloaded during the page post backs. The trick is to register the file with ClientScriptManager  as follows.


protected void Page_Load(object sender, EventArgs e)
    {
        if(!this.Page.ClientScript.IsClientScriptIncludeRegistered("qry"))
            this.Page.ClientScript.RegisterClientScriptInclude("qry", ResolveClientUrl("~/js/YourScript.js"));
    }

Regards
Samitha

Tuesday, October 23, 2012

Working with button OnClick() and OnClientClick()

When we want to check some client side validation on a buttons' click  OnClientClick() comes to your assistance. But it seems that using OnClick() and OnClientClick() events at the same time bit tricky.

I have tried following ways, but none of them worked..!!

OnClientClick="return ValidateFunciton();" OnClientClick="if(ValidateFunciton()) return true;"
OnClientClick="ValidateFunciton();"
 
But following worked for me
 
<asp:Button ID="btnSearch" runat="server" Text="Search"  
OnClick="btbSearch_Click" 
OnClientClick="if (!ValidateFunciton()) { return false;};" />
Cheers
Samitha
 
 

Saturday, October 13, 2012

opensource rich text editor for asp.net

"CKEditor" is the best WYSYWIG editor that can be used for asp.net. For more details check here.

In addition AjaxToolkit also provides a HtmlEditorExtender which takes advantage of HTML5 and supports IE 6 and later and other leading browsers. Check more details here.

Edit
. Refer this article for an excellent example of using HtmlEditorExtender. You might face some configuration errors (i.e. Unrecognized element 'sanitizer'.    ) when setting up this control.

Change web.config as follows to overcome this error.
  <configSections>
 <sectionGroup name="system.web">
      <section name="sanitizer" requirePermission="false"
               type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit" />
    </sectionGroup>
  </configSections>

The first entry in <system.web> section shoud be chaged as follows
<trust level="Full" />
  <sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider">
      <providers>
        <add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add>
      </providers>
    </sanitizer>
You'll be need ed to add a reference to all three assemblies contained in the folder: SanitizerProviders.dll,and HtmlSanitizationLibrary.dll which can be found in the AjaxControlToolkit source.

Cheers,
Samitha

Tuesday, October 2, 2012

IIS 7.x asp.net 4.0 deployment

If  you have tried to deploy an asp.net 4.0 web application in IIS 7.x you would have come up with few configuration errors. Follow these steps to overcome these errors

 1)  To register .Net in IIS, open up an admin command prompt and navigate to the .NET 4 framework folder (C:\Windows\Microsoft.NET\Framework\v4.{version}). If you're on a 64 bit machine go to the Framework64 folder instead of the Framework folder. Then run aspnet_regiis -i in there  (you will need admin permission on windows 7 to do this)

 2)  Use the "ISAPI and CGI Restrictions" IIS feature to allow your CGI program to run.  You can either add the individual program or simply "Allow unspecified CGI modules".


Cheers
Samitha

Monday, October 1, 2012

TypeScript: JavaScript Application Scaling

  This is a open source scripting language that makes it easier to build large-scale applications that will target HTML5, device applications, cloud applications...etc .I guess this will be the future of Javascript. Read More at  Somasegar's blog

http://blogs.msdn.com/b/somasegar/archive/2012/10/01/typescript-javascript-development-at-application-scale.aspx

Cheers

Samitha

Wednesday, September 26, 2012

Microsoft JScript runtime error: ASP.NET Ajax client-side framework failed to load

You suddenly might end up getting above message when trying to run your ASP.NET project. There various solutions given in forums and only after changing the web config as follows worked for me!

  <httpHandlers> 
 
 <remove verb="*" path="*.asmx"/>
 <add verb="*" path="*.asmx"  
validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
 <add verb="*" path="*_AppService.axd"  
validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
 <add verb="GET,HEAD" path="ScriptResource.axd"  
validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
 
</httpHandlers>
 



reference 
http://forums.asp.net/t/1243449.aspx#2291128
 
cheers
Samitha 

Monday, September 24, 2012

Silverlight Spy

This is a free tool that lets you explore the Silverlight application just by entering the url to it. This tool will make developer's life much easier...!!!

Download

More details about this can be found here.

Cheers
Samitha

Thursday, September 20, 2012

browser back button issue after logout

Most of us would have experienced that after logging out from a typical web based asp.net application, user can use the back button to go back to previous page. There a few ways to overcome this issue. Following article gives you some tips on this

http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout

 

Regards

Samitha

Thursday, September 13, 2012

send mms from sql server (only within Sri Lanka)

Most of us know that we  can send MMS messages  using gmail. For the sake of completion I ll list down the basic steps to achieve it.


1)  Compose a new mail. In the to box type your mobile number (i.e. 009477xxxxxxx@mms.dialog.lk for Dialog, 009471xxxxxxx@mms.mobitel.lk for Mobitel). I haven't tried this with the other service providers. 

2) Type in you message and send it as you are sending a normal email.

I have taken this to a one more step further by using this concept to send mms messages from SQL Server dbmail. Follow these steps


1) Create a mail profile for your gmail account using Database Mail wizard. Specify your maill account setting as follows.



2) Call the created profile inside your stored procedure ass follows.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'sendmail',
    @recipients = '
009477xxxxxxx@mms.dialog.lk',
    @body = 'Congrats for sending first MMS..!!.',
    @subject = 'Test MMS' ;


It will take some time to deliver sms  to the recipient. Please note that the recipients phone must support MMS for reading this message.  You can use this method to send a simple SMS without being bothered about buying a SMS gateway. 



Note: If you receive the "gmail smtp error 5.7.0" message when sending mail, try changing SMTP from smtp.gmail.com to smtp.googlemail.com 

Cheers
Happy Coding
Samitha

Tuesday, September 11, 2012

asp.net Menu flickering

When you are using a asp.net menu when any postback occurs and the page gets rendered again the menu "flickers" for a moment. When this happens the whole menu items will be displayed for some time.

As following post suggests setting display:none in #menu ul li ul solved the menu flicker issue for me .

http://stackoverflow.com/questions/3240873/how-to-get-rid-of-ugly-aspmenu-flickering

Edit
If the above solution  doesn't work try setting the RenderingMode ="Table"  in the Menu .

Cheers
samitha

Sunday, September 9, 2012

Linq check null or empty string

You can use following ways to check if a field is null or empty in Linq

1)

var objField=
from item in tabelName
where item.field== null || item.field.Equals(string.Empty)
select item;

2)
var objField=
from item in tabelName
where string.IsNullOrEmpty(item.field)
select item;

cheers
samitha

Friday, August 31, 2012

asp.net crystal reports issues

If you are going to do reporting with crystal reports  you will face some problems in configuring it.  Follow these steps to minimize the fuss. It took me almost a day to figure these out ...!!

1) Create a Asp.Net Reports website.
2) Add other configuration settings to web.config file. (i.e connection strings, httpmodules...etc)
3) If you are getting the error "Sys.Application' is null or not an object",  Edit theC:\Windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETClientFiles\crystalreportviewers14\js\crviewer\crv.js  as follows
 insted of
if(typeof(Sys)!=='undefined') {

    Sys.Application.notifyScriptLoaded();
}
use
if(typeof(Sys) !== 'undefined' && typeof(Sys.Application) !== 'undefined') {
Sys.Application.notifyScriptLoaded();
}


Note: You can download Crystal Reports runtime for  Visual Studio 2010 from

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/22083

http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp

Edit:
 Crystal reports seems to have some incompatibilities with Microsoft Ajax framework. In fact if you put a crystal report viewer inside an update panel it will prompt you various JavaScript errors at run time. So you have find other ways to overcome this such as using third party tools. I am contended with Microsoft Reports which very well suited for my requirements...!!!

Edit
check following link for resolving CR issues after deployment in IIS
http://social.msdn.microsoft.com/Forums/en-CA/vscrystalreports/thread/ef56f72b-7ede-47d8-ba9e-9e63b9ac0203

You might also give a try by referring following links which might aid in resolving all those javascript  and image missing errors I have mentioned before. I did not try these and if anybody got luck with this pls let me know..!!

http://forums.asp.net/t/1693771.aspx/1
http://forums.asp.net/t/1226411.aspx/1
http://social.msdn.microsoft.com/Forums/en-CA/vscrystalreports/thread/ef56f72b-7ede-47d8-ba9e-9e63b9ac0203

Update
It seems to be a common error "Failed to export using the options you specified. Please check your options and try again." when exporting Crystal reports. This happens when the page is posted back and data source is unavailable to the CR viewer. As a workaround follow the instructions given by Mogulla in the following forum.

http://social.microsoft.com/Forums/en/Offtopic/thread/f9ae2910-463e-40f5-92ac-9c29c03c31c3

In addition try following method for printing crystal reports using JavaScript.

http://aspalliance.com/509_Automatically_Printing_Crystal_Reports_in_ASPNET.3

Note: You might have to install CR service packs (3 as most have recommended) before trying these. It seems there are issues with CR SP 4 for VS 2010. Following link provides the available SP s for CR 2010.


http://scn.sap.com/docs/DOC-7824


With a lot of struggle I was finally able to make use of print and export buttons in Crystal reports viewer. Unfortunately you will have to remove any of the update panels used in the page, which indiactes that page refresh will have to be tolerated.The following link will give you some tips on achieving this.
http://www.codeproject.com/Questions/239062/Problem-in-Crystal-Report-toolbar-ASP-Net

cheers

Happy coding.

Tuesday, August 28, 2012

ASP.NET: HttpModule for Query String Encryption

You  can protect URL parameters by using following HttpModule.

If you get the error "Invalid length for a Base-64 char array" when using Convert. FromBase64String(InputString)

Use following:

When Crypted, replace "+" to space.

string encryptString = Convert.ToBase64String(ms.ToArray());

encryptString = encryptString.Replace("+", " ");
http://madskristensen.net/post/HttpModule-for-query-string-encryption.aspx

In addition Scott Mitchel provides a way to implement expiring web pages on your website which can be useful in some situations\
http://aspnet.4guysfromrolla.com/articles/090705-1.aspx

cheers
samitha

implement spell checking with NHun­spell


NHun­spell is a .NET Frame­work Ver­sion of the Open Of­fice spell checker and hy­phen­ation li­brary. It is com­posed by three com­po­nents, the spell checker Hun­spell, the hy­phen­ator Hyphen and the the­saurus MyThes. It is free (LGPL, MPL li­censed), and can be used in closed source projects.

http://nhunspell.sourceforge.net/

cheers
samitha

Saturday, July 21, 2012

SQL Query Translation / Conversion Tool


I found this tool very useful, it lets you convert the query without a database connection, plus it provide many more features.

Check out
http://www.swissql.com/products/sql-translator/sql-converter.html

SQL Server also provides migration assistant (SSMA) which supports Oracle, MySql, MsAccess. and Sybase

download it from http://blogs.msdn.com/b/ssma/archive/2012/01/31/microsoft-sql-server-migration-assistant-ssma-5-2-is-now-available.aspx

For step by step instructions on migrating from Oracle to Sql Server checkout
http://blogs.msdn.com/b/ssma/archive/2010/08/27/migrating-oracle-s-sample-hr-schema.aspx

Cheers
Samitha

Thursday, July 19, 2012

Read pages with sinhala fonts

Most of the time we have to install the Sinhalese fonts in order to read it. This is tedious procedure for most of people. Adding following widget to your blog/web will work with/without sinhala font installed on the users' machines.

http://settdeco.bhasha.lk/si/index.html

regards
samitha

Friday, June 29, 2012

Asynchronous real-time web development with SignalR

SignalR is a library used in.NET to build real-time web applications. Following articles will give you a starting point to development with SignalR

1. http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx

2. http://www.msguy.com/2011/11/real-time-push-notifications-with.html

3. http://sanketakulkarni.blogspot.com/2012/04/developing-real-time-application-with.html

If there are any issues in running the sample refer 3rd link in the above list. In addition when you are deploying this in IIS following enttries should be added to web.config.

<configuration>
   <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
    </system.webServer>
</configuration>
Cheers
Samitha

Monday, May 28, 2012

Cumulative Updates available for SQL Server 2008 SP2 & SP3

Cumulative Update #10 for SQL Server 2008 Service Pack 2 and Cumulative Update #5 for SQL Server 2008 Service Pack 3

SQL Server 2008 Service Pack 2
http://support.microsoft.com/kb/2696625

SQL Server 2008 Service Pack 3
http://support.microsoft.com/kb/2696626

cheers
samitha

Wednesday, May 9, 2012

Inserting CLOB Data in Oracle

When you want to work with large amount of data CLOB data type will come for your assistance. The method used to store data seems to be wired, but it works.

http://www.codeproject.com/Articles/13675/Using-C-for-Inserting-CLOB-Data-in-Oracle

cheers
Samitha

Monday, March 19, 2012

prevent Ajax modal popup closing on postback

When you click control within a modal popup, the default behavior will close it. You can prevent this by using correct layout within a update panel as following post describes. 

http://forums.asp.net/t/1583414.aspx

cheers
samitha

Thursday, March 1, 2012

using nullable c sharp types

Nullable types are quite useful when you are assigning null values to certain data types. This is very useful when you passing null values for parameters when using stored procedures. Following link explains how to use nullable types

http://www.techrepublic.com/article/save-time-and-prevent-coding-headaches-with-nullable-types-in-c-sharp-20/6101707

cheers
samitha

Thursday, February 16, 2012

disable browser's BACK Button

This is a issue sometimes you might face when developing web apps.  I am also agree the fact that this is a bad practice. But if there is a need to restrict browser's back button here is a workaround for it...!!!

http://stackoverflow.com/questions/961188/disable-browsers-back-button

cheers
Samitha.

Sunday, January 22, 2012

Performance and Design Guidelines for Data Access Layers

Some useful thought before building your DAL... check it out

http://blogs.msdn.com/b/ricom/archive/2012/01/10/performance-and-design-guidelines-for-data-access-layers.aspx

cheers

samitha

3 indispensible Windows 7 management tools


Now that enterprises are settling into Windows 7, there are plenty of new additions and enhancements to explore and discover. This mini guide highlights the most useful management features for the Ultimate and Enterprise versions, such as:
  • AppLocker, a security tool for defining and managing user desktop executables
  • DirectAccess, a remote access tool for plugging directly into the corporate network
  • Windows XP Mode, a tool for creating a working virtual machine within Windows 7
  • And more

Friday, January 13, 2012

Building HTML5 Applications: Using HTML5 Canvas for Data Visualization

The new HTML5 canvas element gives you the power to create and manipulate images and animations on the fly. It's not just for complex projects like games. 

Read more
http://msdn.microsoft.com/en-us/magazine/hh708752.aspx

cheers
samitha 

Getting Started with Business Intelligence Semantic Model (BISM) in SQL Server 2012

The Business Intelligence Semantic Model is one of the most significant enhancements in SQL Server 2012. BISM allows aspects of the traditional multidimensional model to coexist with the relational model in a format called the tabular model and can be used with all client tools in the Microsoft BI stack.

Read More
http://www.sql-server-performance.com/2012/bism-sql-server-2012/

cheers
Samitha