RSS

New hotfix for Visual Studio 2008 is available

Recently, an announcement is published on WebDevTools blog @ msdn that there is a new hotfix available for Visual Studio 2008 (and Visual Web Developer 2008 Express) that fixes some performance and editor issues that have arisen in Visual Studio 2008 and Visual Web Developer 2008 Express. Fixes are related to HTML Source view performance, Design view performance, HTML editing, JavaScript editing and Web Site build performance. The download is available on connect.microsoft.com and is related to KB article KB946581. It is approximately 2,5MB large and in order to download it one must login to connect using Live ID. Here is address on connect, and here is official announcement . Installation is easy, quick and straightforward and on my dev machine it doesn’t ask for install DVD.

 
Leave a comment

Posted by on February 19, 2008 in Uncategorized

 

Tags:

Best Practices in Javascript Library Design

Last night, I’d the chance to look at John Resig‘s talk on the Best Practices in Javascript Library Design.

                This talk explores all the techniques used to build a robust, reusable, cross-platform JavaScript Library. We’ll look at how to write a solid JavaScript API, show you how to use functional programming to create contained, concise, code, and delve deep into common cross browser issues that you’ll have to solve in order to have a successful library. John Resig is a JavaScript Evangelist, working for the Mozilla Corporation, and the author of the book ‘Pro Javascript Techniques.’ He’s also the creator and lead developer of the jQuery JavaScript library and the co-designer of the FUEL JavaScript library (included in Firefox 3).

  1. jQuery – that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.
  2. Fuel – Firefox User Extension Library – is a JavaScript Library designed to help developers build extensions using terminology and interfaces that are familiar to them. It will be usable in Firefox 1.5-3.0.

Download jQuery

 
Leave a comment

Posted by on September 27, 2007 in Javascript

 

.NET Framework 3.5 New Features

Thom has a table of .NET Framework 3.5 features, Daniel also has a good list of the new stuff in .NET Framework 3.51. System.Data.Linq.dll – The implementation for LINQ to SQL.
2. System.Xml.Linq.dll – The implementation for LINQ to XML.
3. System.AddIn.dll, System.AddIn.Contract.dll – New AddIn (plug-in) model.
4. System.Net.dll – Peer to Peer APIs.
5. System.DirectoryServices.AccountManagement.dll – Wrapper for Active Directory APIs.
6. System.Management.Instrumentation.dll – WMI 2.0 managed provider (combined with System.Management namespace in System.Core.dll).
7. System.WorkflowServices.dll and System.ServiceModel.Web.dll – WF and WCF enhancements (for more on WF + WCF in v3.5 follow links from here).
8. System.Web.Extensions.dll – The implementation for ASP.NET AJAX (for more web enhancements, follow links from here) plus also the implementation of Client Application Services.
9. System.Core.dll – In addition to the LINQ to Objects implementation, this assembly includes the following: HashSet, TimeZoneInfo, Pipes, ReaderWriteLockSlim, System.Security.*, System.Diagnostics.Eventing.* and System.Diagnostics.PerformanceData.

Workflow Enabled Services – Process and Messaging together Web 2.0 Friendly and AJAX Enabled WCF Services Visual Studio Developer Tools for WF, WCF and in Visual Studio “Orcas”
Using workflow to provide for durable and long-running services. New Tools, WF activities and new programming model classes have been added to simplify building workflow-enabled services using WF and WCF. This allows a .NET Framework developer to build business logic for a service using WF and expose messaging from that service using WCF. These improvements not only provide tools for this scenario but they reduce the amount of glue code that was previously required. Ajax is a web development technique for making asynchronous exchanges of small amounts of data between browser and web service calls from the browser client script to the web server. A programming model is provided for building Ajax style web applications using WCF services. An HTTP programming model is also provided allowing for REST style web services. Visual Studio”Orcas” has built in tools for web service authoring with WCF and for building workflow enabled software with WF. There are new project templates for WCF services, WF business logic, workflow enabled services, and AJAX services. The templates are conveniently set up to compile and run even before any custom code is added enabling .NET developers to get going quickly. There are also numerous other tools for developing with WF, WCF and WPF.
More WS-* Standards Support RSS and ATOM Syndication API Partial Trust Support for WCF Hosting
Implementation in WCF of the latest OASIS specifications Web Services Atomic Transaction (WS-AtomicTransaction) 1.1, WS-ReliableMessaging 1.1, WS-SecureCOnversation and Web Services Coordination (WS-Coordination) 1.1. Applications built using WCF will be able to easily expose syndicated data which can be consumed by an RSS or ATOM reader. Partial trust on the vlient is provided for ASMX parity focussing mainly on partially trusted WCF applications deployed through click-once. Support is provided for basic HTTP binding provided that the application runs in the Internet zone permissions and have granted the apropriate WebPermission. Secure communication is possible through transport security only. All other features are not available to partially trusted applications including hosting services, duplex communications, non-HTTP transports, WS-* protocols and any WF use.
Rules Data Improvements Built-in WPF tools for Visual Studio “Orcas” Additional WPF Features and Improved Performance
The rules engine in WF is improved to add support for C# 3.0 extension metods, and for operator overloading . Also the ”new” operator is added to compete the base set of expression types. The Visual Studio designer for WPF was previously released as a CTP. It is not integrated into the development environment and is significantly improved. WPF has smoother animations, faster startup and better overall performance. There are also new data types available for data binding with LINQ. Better integration support is now provided for with codename “WPF/E”.
Faster .NET Framework execution Base Class Library – New Class Additions Language Integrated Query (LINQ)
1. Faster garbage collection2. Smarter, faster NGen requiring smaller working set RAM3. 64 bit client improvements4. ThreadPool performance improvements5. Security check caching during NGen 6. BigInteger, HashSet and DateTime2 types7. NSA Suite ”B” and FIPs compliant cryptography8. Lightweight Reader/Writer Lock Classes9. Anonymous and Named Pipes IO Classes10.   Integration with Event Tracing for Windows11.   New Addin hosting model for extensibility Deep integration of LINQ data-awareness into the programming languages and framework.
 
1 Comment

Posted by on June 13, 2007 in .NET Framework

 

“Astoria” – Data Services For ASP.Net Ajax and Silver light

A new framework to make it easy for use to build data services to make it easy for developers to get data for a rich web client using ASP.Net Ajax and Silverlight, Microsoft Codename “Astoria”.By using URL’s we can simply get data from our data source, for example let assume we want to get an Order entity, we can simply write:http://webserver/data.svc/OrdersIf we want to get an specific Order we can write:

http://webserver/data.svc/Orders[Pizza]

There are several things we can do, like sorting, using “property path” to get child entities, we can use paging etc.Currently Astoria can represent data in plain XML, JSON and in a subset of RDF and XML.For example if we get the data as XML it could look like:

<DataService xml:base=”http://myserver/data.svc”&gt; 

       <Orders> 

                  <Order uri=”Orders[Pizza]”>  

                                <OrderID>1</OrderID>   

                                  <ShopName>Domino</ShopName>   

                                  <ContactName>Johnson</ContactName>   

                                   <ContactTitle>Sales Manager</ContactTitle>   

                                   <Address>#15, Kakkanji Street, Gandhi Nagar</Address>   

                                    <City>Chennai</City>   

                                    <Region>Tamil Nadu</Region>   

                                   <PostalCode>600072</PostalCode>   

                                   <Country>India</Country>   

                                     <Phone>91-044-220074321</Phone>   

                                    <Fax>91-044-220074321</Fax>   

                                    <OrderDetails href=”Order[Pizza]/OrderDetails” mce_href=”Order[Pizza]/OrderDetails” />  

                   </Order> 

        </Orders>

</DataService> 

 Astoria uses the ADO.NET Entity Framework. With the Entity Framework we could use EDM schemas and map our entities against a relational data source.

Update:

Here’s the description from the Astoria Project Site (where you can get the CTP today): http://astoria.mslivelabs.com/.

Description:

“The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the Internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON. “

Here’s a great video by Pablo Castora: http://channel9.msdn.com/ShowPost.aspx?PostID=306736#306736

 
1 Comment

Posted by on May 3, 2007 in Others

 

Web Developers Essential – The Web Client Software Factory

In the last week Fredrick wrote about the MVP pattern and controllers etc, he also wrote about his old page workflow framework. But if you want something similar and also want to use controllers/presenter then take a look at the Web Client Software Factory from the Patterns & Practices team. It will help us build really cool web apps. The Web Client Software Factory have a page flow Application Block that can be used  to create a page flow (similar to fredrick framework, but the Page Flow Application Block use  .Net .3.0’s Workflow foundation and don’t support Shared transitions between different page flows.). But most of you probably already have .Net 3.0 installed (you can download it here). 

 
Leave a comment

Posted by on May 2, 2007 in Patterns

 

Pass parameter to Infopath 2007 browser forms using Business Data Catalog

Last week, I got an excellent oppurtunity to work with Infopath 2007 and Business Data Catalog(BDC). As per requirement, need to pass employee personal information id to infopath forms. Infopath form should pre-populate data from DB based on PersonalInfoID from Querystring.  Whether i pass a parameter to a form file in InfoPath 2007 or the Web browser, first i need to update the form template’s Loading event. The LoadingEventArgs class of the Loading event provides the InputParameters property. This property gets an IDictionary object, which contains any input parameters that are specified in the URL that is used to start a form file. Next, use the TryGetValue method of the IDictionary object that was returned by the InputParameters property to retrieve a parameter value. Then, use the SetValue method on an XPathNavigator object to set the corresponding node value in the form file. The following example sets the Employee Name box to the value based on PersonalInfoID parameter that was passed in the URL that was used to start the form.  public void FormEvents_Loading(object sender, LoadingEventArgs e) {

string personalInfoId = string.Empty;

try    

e.InputParameters.TryGetValue(“PersonalInfoID”, out personalInfoId);  

} catch (Exception ex) {

personalInfoId = ex.Message.ToString();

} finally {

 …do some db calls…

MainDataSource.CreateNavigator().SelectSingleNode (“/my:myFields/my: Name”, NamespaceManager).SetValue(customerId);

}

Next, I must update the Business Data Catalog metadata file to include a custom action. So I’ve added as follows, which adds a custom action to the existing Employee entity (before the </Entity> end tag) that starts the status report form in the Web browser with a PersonalInfoID parameter.

<Actions>   

    <Action Name=”Status Report” Position=”1″ IsOpenedInNewWindow=”true” Url=      “<i>My MOSS Server</i>/_layouts/formserver.aspx?xsnlocation=       /formservertemplates/statusreport.xsn&      openin=browser&PersonalInfoID={0}”>       

  <ActionParameters>           

                  <ActionParameter Name=”personalInfoID” Index=”0″/>       

    </ActionParameters>   

  </Action>

</Actions>

Now, if I would like to add save location(which user can save the form after submited to DB) as follows 

http://mossserver/Employee Info/HR Response/Credit Response/Check In/_layouts/FormServer.aspx?XsnLocation=http://mossserver/FormServerTemplates/StatusCheck-In.xsn&SaveLocation=http://mossserver/Employee Info/HR Response/Credit Response/Check In /Personal CheckIn&Source=http://mossserver/Employee Info/HR Response/Credit Response/Check In /Pages/default.aspx&DefaultItemOpen=1   – Kindly note that, I’ve long URL which more than675 characters. If we would like to add this URL into our custom action, BDC services turncated longest URL because of MaxLength.Now, how we can resolve this problem? – I got an idea, why don’t to apply URLMapping functionality to this scenario. So finally I’ve added URL Mapping element to Web.Config as follows:       <urlMappings>        

                  <add url=”~/sample.aspx” mappedUrl=”~/_layouts/FormServer.aspx?XsnLocation= /FormServerTemplates/StatusCheck-In.xsn&SaveLocation= /Personal CheckIn&Source= /Pages/default.aspx&DefaultItemOpen=1&Perso nalInfoID={0} ” />     

    </urlMappings> 

Ahrr….Finally, we solved the problem by adding URL mapping. Hatzz off to ASP.NET team J

Also, here’re some pointer really help me to solve this issue.

http://msdn2.microsoft.com/en-us/library/bb406004.aspx 

http://wm.microsoft.com/ms/msdn/office/2007officevisualhowtos/infopathparameters.wmv – Excellent videocast regarding this context 

 
11 Comments

Posted by on April 30, 2007 in Business Data Catalog

 

XML Notepad 2007 for BDC XML Definition?

              One of the hurdles in BDC development is creating XML Metadata Definition file. Microsoft has not yet provided any tool to create XML Definition file – But lot of third party products (like MetaMan) available to create XML Definition file for BDC applications. But it can’t satisfy our BDC thrist! – If you folks would like to create it by yourself using any XML tools, then obvisouly you need to go for XML Notepad 2007. It is really wonderful tool to create/customize XML files. Which provides a simple intuitive User Interface for browsing and editing XML documents, one of the biggest new feature is IntelliSense, which is driven by XML Schema information provided via the SchemaCache. For example, if your element or attribute is defined by an XSD simpleType and this simpleType contains a list of enumeration facets, then you can select it from a drop-down.

Screenshot:

 

Excellent design from Microsoft Team(Chris) – See XML Notepad 2007 Design for information about how this application is built. The downloadable installer for version 2.3 is available.  

 
2 Comments

Posted by on April 20, 2007 in Tools

 

Essential ToolBox for .NET Developers

I got a chance to work on following awesome tools. So, I would like to share my experience and tips using these tools.

However, there are a number of third-party SQL query editors that offer the features developers today take for granted. One such product is ApexSQL Edit version 2005.03, by ApexSQL. ApexSQL Edit boasts a number of time-saving features, the most impressive one being the Object MemberLists, which provides functionality much like IntelliSense. Type a query, like “SELECT * FROM…”, and immediately a drop-down list appears listing the database’s tables. This feature also extends to columns, variables, parameters, procedures, and so forth. Once you start writing queries using MemberLists, having to go back to an editor without it feels like running underwater. This feature alone could save you countless keystrokes and typos and makes ApexSQL Edit an interesting tool for any developer’s toolbox.

Write, Test, or Execute Queries
Source Control : Microsoft has long offered developers Visual SourceSafe®, which was last upgraded with the Visual Studio 2005 release. Now, with Visual Studio Team System, Microsoft has released another source control tool, one designed specifically for supporting much larger developer teams.


The TortoiseSVN Interface

One such popular open-source offering is Subversion version 1.4.2. Like other such tools, Subversion provides a centralized repository for storing source code and maintains a history of changes. Subversion can be configured to support access to its repositories through HTTP and HTTPS, enabling remote developers to interface with the source code repository. And Subversion also supports both the “check-in, modify, check-out” and “modify and merge” workflows.Fortunately, an additional open-source project-TortoiseSVN-provides a more user-friendly, graphical interface, although there is no Visual Studio integration. However, TortoiseSVN is integrated with the Windows shell. Once you have established a working directory for a particular Subversion repository, you can lock, merge, update, diff, or view statistics for any file by right-clicking on it in Windows Explorer and choosing the appropriate option from the TortoiseSVN context menu. Don’t let TortoiseSVN’s lack of Visual Studio integration dissuade you from considering Subversion. In fact, soon after I started using Subversion, I found the Windows shell to be a more intuitive interface for working with the underlying source control system than the Visual Studio IDE.

Regular Expression Editor: For developers new to regular expressions, the mishmash of text and special characters can quickly lead to incomprehensible gobbledygook. When creating a regular expression pattern in code using Visual Studio®, there’s no tool support. Gone are color syntax highlighting and IntelliSense®, and there’s no easy way to debug or test a regular expression pattern within Visual Studio. For more information, please have a look at Roy Osherove’s (weblogs.ASP.NET/rosherove) toolbox(tools.osherove.com)

The Regulator

 
Leave a comment

Posted by on April 14, 2007 in Tools

 

Ajax Development with ASP.NET – Nikhil Demo at JAOO

Nikhil Kothari (is the architect of ASP.NET Ajax, part of the Web Platform and Tools team at Microsoft) demonstrates the out-of-box features in ASP.NET Ajax can be used to enrich Web apps with Ajax functionality and incorporate various Ajax patterns in a simple manner; he also demonstrates more powerful usage of the script framework, best practices and design patterns for incorporating and encapsulating script functionality.  Nikhil led the development of the page framework and several of the controls in the ASP.NET toolbox today. Here you got a go for his demo and presentation. http://www.infoq.com/presentations/ajax-with-asp-atlas-nikhil-kothari;jsessionid=494580136D216A7815F708221F1AF103

 
Leave a comment

Posted by on April 14, 2007 in AJAX

 

IBM supports .NET development with Rational Toolset

Wow!  – IBM is now offering something called the Rational Modeling Extension for .NET for pieces of its Rational software development portfolio.  Philosophically, this is the replacement for Rational Rose XDE, the well-regarded UML tool for .NET from IBM, that (I believe) IBM discontinued, as well as Rational Rose Developer for Visual Studio.  The Extension for .NET adds on to Rational Software Modeler or Rational Systems Developer.

IBM says:

The UML 2 modeling capabilities available for use with IBM Rational Modeling Extension for Microsoft .NET software include object diagram support (new in V7) and extended capabilities for modeling activities, composite structures, components, interactions (sequence and communication diagrams) and state machines-in addition provide use-case, class and deployment diagramming capabilities.

 
Leave a comment

Posted by on April 12, 2007 in Modelling