Tag Archives: Visual Studio 2008

CRM, Accessibility, and 508

I’ve spent many a time having accessibility and 508 compliance discussions with customers and partners over the years working at Microsoft and focusing on various web based technologies.  In fact, it’s hard to believe I recorded this video over seven years ago:

https://channel9.msdn.com/Blogs/keydet/Creating-an-Accessible-Web-Page

As it relates to Dynamics CRM 2011, whether your overall implementation is accessible is a combination of:

  1. Whether the HTML the CRM product produces is accessible
  2. Whether your web resources are accessible
  3. Whether any custom ASP.NET, etc. pages integrated into the CRM UI (say through iFrames) are accessible

For #1, the CRM product team produces a document called a Voluntary Product Accessibility Template (VPAT).  Ben does a good job explaining the relationship to 508 compliance and VPATs here so I won’t go into it.  As Ben mentions, all of Microsoft’s VPATs are available at:

http://www.microsoft.com/government/en-us/products/section508/Pages/default.aspx

The most recent VPAT for Dynamics CRM 2011 (as of writing this) is: Microsoft Dynamics CRM December 2012 Service Update VPAT.  For #2, the CRM 2011 SDK has a section called Create Accessible Web Resources to help you.  This section is chock full of resources and links to external resources on accessibility.  What surprised me is that it doesn’t talk about Visual Studio’s built in accessibility checker which is covered in Visual Studio’s Accessibility in Visual Studio and ASP.NET documentation.  For #3, you need to similarly understand how to make sure those pages are accessible.  Visual Studio’s ASP.NET Controls and Accessibility should prove helpful.  In fact, the 7+ year old video I recorded that I link to earlier shows both the accessibility checker and general ASP.NET accessibility techniques in action.  Hopefully this post is helpful to those of you who are going to be in the business of ensuring your CRM implementation is accessible.  Here are a few other resources you will want to review which are not linked from the other resources in this post as far as I can tell:

http://webaim.org/

http://www.section508.gov/

Now that the latest CRM Online update is complete and UR12 is out, Dynamics CRM 2011 is now cross browser capable.  Therefore, you can now use the popular WAVE Toolbar Firefox addon to check accessibility of your customizations.  Yea, I know, a Microsoft guy recommending Firefox.  I don’t know of a better free tool that allows you to check accessibility of web pages without uploading html or point the tools servers at your web site.  The latter kind of validator won’t work for CRM deployments because of authentication.  Plus, you should be testing all your customizations in Firefox and Chrome anyway.

@devkeydet

Using code analysis again…

This week marks my 5 year anniversary at Microsoft.  Five years ago, I stopped being a “real developer” and became an evangelist.  Ok, I started with a short stint as a SQL / BizTalk Technology Specialist (what other companies call “pre-sales engineer”), but I’ve pretty much been focused on developers the whole time.  I used FxCop back in my days of “real development.”  As an evangelist, I spend lots of time writing demo code and samples.  Today, I had a rude awakening that I’ve gotten a little sloppy.  I’ve used “it’s demo code” as an excuse so many times.  In many ways, I think it is a fair excuse.  However, I think I have leaned on that crutch a little too long. 

We are going through and cleaning up the OGDI codebase preparing it for CodePlex.  Part of our internal review is to use code analysis to help us identify refactoring opportunities.  Yea, Yea, Yea.  I know.  We should have been using it all along.

As part of preparing for our code review, I wanted to find out what else is available in the way of analysis tools that are free.  I also wanted to review the capabilities in Visual Studio 2008.  Here’s what I came across:

Writing Quality Code (various subsections on code analysis)

Code Analysis Team Blog

Code Analysis tools on MSDN Code Gallery

StyleCop Blog (Source Code Style and Consistency Tool)

StyleCop on MSDN Code Gallery

CAT.NET

I also watched this PDC session:

Improving Code Quality with Code Analysis

I’d definitely recommend checking out these resources and using the tools.  I hope to learn a lot from using these tools.  I also plan on forcing myself to use them as I build out demos, samples, and work on projects in the future.

Visual Studio 2008 extensions for SharePoint v1.3

digg_url = “http://blogs.msdn.com/devkeydet/archive/2009/01/12/visual-studio-2008-extensions-for-sharepoint-v1-3.aspx”;digg_title = “Visual Studio 2008 extensions for SharePoint v1.3”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

I’m not much of a SharePoint dev.  I’ve taken a SharePoint development class, but that’s it.  I keep telling myself that I am going to dig in to SharePoint more. 

I know that many of the folks that attend the Developer Dinners are doing a fair amount of SharePoint development.  I just came across the announcement for a the CTP of the latest extensions to Visual Studio 2008 for SharePoint.  Based on my limited SharePoint dev experience, the new features in the extensions look like they will useful.  Details at http://blogs.msdn.com/sharepoint/archive/2009/01/12/announcing-community-technology-preview-of-visual-studio-2008-extensions-for-sharepoint-v1-3.aspx.

DevDinnerOnDemand: Overview of the .NET Framework 3.5 SP1

digg_url = “http://blogs.msdn.com/devkeydet/archive/2008/11/10/devdinnerondemand-overview-of-the-net-framework-3-5-sp1.aspx”;digg_title = “DevDinnerOnDemand: Overview of the .NET Framework 3.5 SP1”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

With the .NET Framework 3.5 (the version native to Visual Studio 2008) coming up on its first anniversary, Microsoft is poised to release the first update to the framework in the form of Service Pack (SP1).  This Service Pack is unlike your standard Service Pack, in that it will introduce new features/capabilities to the .NET Framework.  Some of these features where originally planned to be in the initial release of the framework and others are features/capabilities added to enhance or further secure the core .NET Framework.  The August Developer Dinner is going to focus on some of the new features as well as a few of the new enhancements, to give you an introduction of the improved capabilities of the Microsoft Developer Platform.

What you will learn:

This evenings presentation will be a running stream of demonstration focusing on new features and functionality coming in the new Service Pack for several of the key areas of .NET Development today, including Web Development (ASP.NET), Database Development (ADO.NET), Web Services/SOA (Windows Communication Foundation) and User Experience (Windows Presentation Foundation).

You will see demonstrations that will include:

  • Making data access easier with the ADO.NET Entity Framework.
  • Exposing your data access layer using ADO.NET Data Services
  • Building “Data Entry” Web-based applications faster than ever using ASP.NET Dynamic Data.
  • Making AJAX Applications faster with script combining and easier with built in support for handling browser history (i.e. back/forward buttons).
  • How to achieve up to 40% faster startup performance for your WPF applications and further improve the startup experience using a splash screen.
  • Reducing the time it takes to deploy your WPF applications using the New .NET Framework Client Profile.
  • Build services faster using enhancements in WCF.

View Recording:

https://channel9.msdn.com/posts/keydet/US-Public-Sector-Developer-Dinner-for-Partners-NET-Framework-35-SP1/

The follow up post for this developer dinner is http://blogs.msdn.com/devkeydet/archive/2008/08/21/follow-up-developer-dinner-on-net-framework-3-5-sp1.aspx.

Improve WPF application deployment with the Client Profile Designer

Sorry for repurposing content, but this one is easy to miss so I think it is worth it

“The Client Profile Configuration Designer is the designer for the .NET Framework Client Profile. It will allow developers to customize the end-user deployment experience. The customizations allowed using the Client Profile Configuration Designer are:

  • Customization of the user interface
    • Customize the size, position, framing, background colors, fonts, etc. of the installation window
    • Choose to display the license agreements required by the products being installed
    • Choose whether or not to acknowledge the end of the installation process or immediately launch an application
    • Choosing the products to deploy with your application
  • Choosing the products to deploy with your application
    • Choose what prerequisites are required by the application and install them
  • Choosing how to deploy your application
    • Application deployment can be done over the web or from Media for an “offline” deployment experience”

The Client Profile Designer was released as part of the WPF Futures release of the WPF Toolkit:

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-overview.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part1.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part2.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part3.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part4.aspx

Helpful walkthroughs, labs, and Expression Blend support for the WPF Toolkit

I’ve already blog’d about the WPF Toolkit & the WPF Ribbon Preview.  One of the things that may not be obvious, is how to get started with the new controls.  Buried inside the October 2008 Release page is a set of links for control walkthroughs, a nice Hands-in-Lab, and a helpful blog post explaining how to turn on Visual State Manager support for WPF in Expression Blend.  They are real easy to overlook.  I didn’t notice them the first time.  They are below the download links, after the release notes.  Yes, I am one of those guys that usually skips over the release notes and documentation and just starts tinkering.  I’ll never learn my lesson:).  I’ve provide direct links to those resources in case you missed them too! 

DataGrid Feature Walkthrough

DatePicker & Calendar Feature Walkthrough

Visual State Manager Overview.

Ribbon Feature Walkthrough

Hands-on-Lab: "What’s coming in WPF: DataGrid, Ribbon, & VSM"

Visual State Manager in Expression Blend

Free Coding Assistance Add-in for Visual Studio Developers

Here’s a little tidbit I picked up after watching the Microsoft Visual C# IDE: Tips and Tricks session at PDC.  DevExpress hass released CodeRush Xpress for Visual Studio.  From their site:

“CodeRush Xpress is freely available to all Visual Studio 2008 developers and offers a comprehensive suite of tools that enable you and your team to simplify and shape complex code – making it easier to read and less costly to maintain.”

“Supported Features

CodeRush Xpress includes the following features.

  • Duplicate Line
  • Highlight All References
  • Increase or Reduce Selection
  • Smart Clipboard Operations
  • Generate from Using (TDD)
  • Quick Navigation Window
  • Quick File Navigation

In addition, you receive the following refactorings.

Add Block Delimiters, Combine Conditionals, Compress to Lambda Expression, Compress to Ternary Expression, Convert to Auto-implemented Property,  Convert to Initializer, Create Backing Store, Decompose Initializer, Decompose Parameter, Expand Lambda Expression, Expand Ternary Expression, Extract Method, Flatten Conditional  Inline, Delegate  Inline Temp, Introduce Local  Make Explicit  Make Implicit, Move Type to File, Name Anonymous Method, Name Anonymous Type, Reverse Conditional, Split Conditional, Use String.Format, Use StringBuilder”

NOTE: I reformatted the list of refactorings to take up less real estate. 

I have been using this add-in for a few days now and I’m already loving the productivity enhancements I am reaping.  Go to http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/ now and download it!  You can’t beat FREE!