<?xml version="1.0" encoding="utf-8"?>
<rss
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 version="2.0">
<channel>
<title>Doug Seven&#39;s Blog</title>
<link>http://www.dougseven.com/blog/</link>
<description>something can be learned in the course of observing things</description>
<language>en-US</language>
<lastBuildDate>Tue, 15 Mar 2011 10:18:16 -0700</lastBuildDate>
<generator>http://www.typepad.com/</generator>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://www.dougseven.com/blog/rss.xml" type="application/rss+xml" />
<docs>http://www.rssboard.org/rss-specification</docs>
<item>
<title>Visual Studio LightSwitch Beta 2 Now Available</title>
<link>http://www.dougseven.com/blog/2011/03/visual-studio-lightswitch-beta-2-now-available.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2011/03/visual-studio-lightswitch-beta-2-now-available.html</guid>
<description>Today Jason Zander announced the immediate availability of Microsoft® Visual Studio® LightSwitch™ Beta 2. If you’ve had any experience with LightSwitch Beta 1, you know that it is the simplest way to create business applications for the desktop and cloud....</description>
<content:encoded>&lt;p&gt;Today Jason Zander announced the immediate availability of Microsoft® Visual Studio® LightSwitch™ Beta 2. If you’ve had any experience with LightSwitch Beta 1, you know that it is the simplest way to create business applications for the desktop and cloud. It is basically a specialized development tool for building a specific kind of application – a line-of-business application designed to support a project or department. These applications are typically built by “business developers” – professional businesspeople who aren’t developers by trade, but rather by ability and context.&lt;/p&gt;
&lt;p&gt;Visual Studio LightSwitch Beta 2 is &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=207267&quot; target=&quot;_blank&quot;&gt;immediately available for MSDN Subscribers&lt;/a&gt;, and will be &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkID=211227&quot; target=&quot;_blank&quot;&gt;available for everyone&lt;/a&gt; on March 17, 2011.&lt;/p&gt;
&lt;h1&gt;What’s New in LightSwitch Beta 2&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;Publish to Azure&lt;/strong&gt; &lt;br /&gt;The Publish Wizard now provides the ability to publish a LightSwitch desktop or browser application to Windows Azure, including the application’s database to SQL Azure.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;Improved runtime and design-time performance &lt;br /&gt;&lt;/strong&gt;F5/build, project creation/load, application startup, calculated fields, and data load/save pipeline.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;Runtime UI improvements&lt;/strong&gt; &lt;br /&gt;Auto-complete box, better keyboard navigation, and improved end-user experience for long-running operations.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;Allow any authenticated Window user &lt;br /&gt;&lt;/strong&gt;When Windows authorization was selected in a LightSwitch app, you previously needed to add the Windows users who are allowed to use the application into the User Administration screen of the running application. This is cumbersome in installations where there are a large number of Windows users and when you just wanted to open the app up to all Windows users. The project properties UI now provides the ability to allow any Windows user to be authenticated in a LightSwitch application while still using the LightSwitch authorization subsystem for determining user permissions for specific users.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&quot;_msocom_1&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;What Can I Do With LightSwitch?&lt;/h1&gt;
&lt;p&gt;Let’s look at an example. Let’s say you’re an event management professional who has some experience with Visual Basic (a college course, or some hobbyist dabbling), and you have a need for an application to help manage a series of road shows you are planning. Visual Studio LightSwitch simplifies the process of building this application, and with the addition of support for Windows Azure in Beta 2, deployment is simplified as well.&lt;/p&gt;
&lt;h2&gt;Step 1: Create a LightSwitch Project&lt;/h2&gt;
&lt;p&gt;The first question you are asked when creating a new LightSwitch project, is which programming language you prefer. If this question intimidates you, then LightSwitch is not for you (if you want a tool for building business applications without any coding, consider &lt;a href=&quot;http://office.microsoft.com/en-gb/access/&quot; target=&quot;_blank&quot;&gt;Microsoft Office Access 2010&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;For this example I will choose Visual Basic.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06b6c970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;170&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06b73970c-pi&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Step 2 : Define the data you’re tracking&lt;/h2&gt;
&lt;p&gt;The first screen I am prompted with once my project is creates asks me to either create a new data table, or connect to an existing data table. I can connect to SQL Server, SQL Azure, SharePoint, or any data source wrapped with a WCF RIA Service. For now I’ll create a new table.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d38970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06ba1970c-pi&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first data I need to keep track of is the actual Road Show Events – the title, description, start date, end date, website for the event, and the venue (name and address). I simply describe these attributes and their type (e.g. string, or Date/Time, etc.).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06baa970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;222&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d4e970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Step 3: Create the screens you need for the data&lt;/h2&gt;
&lt;p&gt;With the first table created I can move on to defining the screens I need in order to use this data. There are really only a few types of screens I need, and these are all readily available as templates in LightSwitch.&lt;/p&gt;
&lt;p&gt;The action bar at the top of the design surface has a button to create a new screen (this button is only available when viewing a data table).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d55970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;20&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb062b970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m prompted to choose one of five screen types: Details, Editable Grid, List and Details, New Data and Search screens.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0637970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;175&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d5d970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’ll start by creating an Search screen, and without making any changes, add another screen, a New Data screen.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06bbd970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;122&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0644970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06bdb970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;175&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06be2970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now I have one table and two screens. Without doing anything else, I’m going to run the application to see what it does.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d83970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;54&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d89970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What I have is a basic line-of-business application that enables me to enter Road Show Event data, and search the results. Not a lot, but I got here in minutes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2d94970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0665970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am still technically in design mode, so any data I enter may be deleted as I make changes to the application. Typically this will only happen if I change the table definitions and LightSwitch needs to drop the database and recreate it. In other words, don’t spend a lot of time entering data yet.&lt;/p&gt;
&lt;p&gt;That said, you can enter some data to see how the application works. One thing you’ll quickly discover is that the application is aware of the data types that I defined in Step 2 and is rendering controls that are appropriate to those types. For example, I chose DateTime as the type for StartDate and EndDate. As such, those fields have controls that help me select a date and time.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c07970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c0f970c-pi&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After I enter the data, I simply click Save and the record is committed to the database.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c1c970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c22970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If I return to the Search screen and&amp;#0160; click Refresh I can see the record I just entered.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c3b970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2dd2970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At any time I can click the Export to Excel button to export the search results to an Excel workbook.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2ddb970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;197&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c7d970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Step 4: Repeat Steps 2 &amp;amp; 3 for all the data you are tracking&lt;/h2&gt;
&lt;p&gt;Now that I have a running application, I can simply repeat steps 2 and 3 to add more data and screens. For example, I may want to track sessions and speakers for each road show.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06c90970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;214&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb06bb970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A session has a title, description, a speaker and it belongs to a Road Show Event. A Speaker is more interesting – I may want to track first name, last name, email address cell phone number and an optional biography. As I do this, I want to ensure that each email address entered in unique. This will help ensure that I don’t enter duplicate speakers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2def970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;107&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb06e1970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Notice that I’ve unchecked the Required field for Bio.&lt;/p&gt;
&lt;p&gt;In order to ensure a unique email address I simply check the &lt;strong&gt;Include in Unique Index &lt;/strong&gt;option in the Properties window.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb06ef970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;223&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06ceb970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After I’ve created the Speakers table, I create the Sessions table, and define the relationship between Speakers, Sessions and Road Show Events.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06cf5970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;110&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06cfb970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’ll define two relationships:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;A Session must have one Speaker, but one Speaker can have many Sessions. &lt;br /&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d07970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;236&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0705970d-pi&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;A Session must have one Road Show Event, but one Road Show Event can have many Sessions. &lt;br /&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb070c970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;236&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d14970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My Sessions table now looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0719970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;210&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d1e970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finally, I’ll add Search and New Data screens for these two new tables. When I add the New Data screen for Speaker, a new option is available to me. The ability to add related data for the new speaker – their sessions.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d28970c-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;175&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2e6d970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’ll enable this option by checking the Speaker Sessions checkbox. The resulting screen designer shows me that I have two rows of controls (this is identified by the Rows Layout node at the top).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;The top row is the Speaker details, and uses a column layout (identified by the Column Layout node). This shapes this top row as having two columns.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The second row is Session details for this speaker and uses a grid layout (defined by the Data Grid node).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0734970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2e7e970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;157&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The resulting screen will look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb073f970d-pi&quot;&gt;&lt;img alt=&quot;Layout&quot; border=&quot;0&quot; height=&quot;244&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d41970c-pi&quot; style=&quot;background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;Layout&quot; width=&quot;230&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now I can run the application and add some more sample data to test the application. All of the new screens have been added ot the Task navigation on the left-hand side of the application.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0745970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;166&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d4d970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;174&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Notice the business type validation I get when adding a new Speaker – Email Address and Phone have input validation already wired up.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2e9c970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d5e970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0763970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;40&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb076e970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Since I added the related data capabilities to this screen, I can also enter the sessions that my new Speaker will be delivering, and using a drop-down list, select the Road Show Event this session will be given at.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2eaa970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d6b970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition, I get the unique email address validation as well.If I try to save a new Speaker using the same email address as an already added Speaker, I get an error message without having to do any additional work.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2ed6970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e5fe06d8a970c-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finally, I’ll add one more screen – a List and Details screen that will show me a list of Road Show Events, and their Sessions.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb0796970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;175&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2f16970b-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When I run the application I get a new, compelling view of my data. On the left is a list of Road Show Events. On the right is two rows of data.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;The top row is the Road Show Event details (in an editable form).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The lower row is a grid of sessions associated with this event.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340147e33b2f22970b-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;196&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb07ac970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using the grid controls I can actually Add, Edit and Delete Road Show Event and Sessions for this Road Show Event right from this view.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb07bf970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;114&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb07c7970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb07cb970d-pi&quot;&gt;&lt;img alt=&quot;image&quot; border=&quot;0&quot; height=&quot;73&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834014e86bb07d0970d-pi&quot; style=&quot;background-image: none; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;&quot; title=&quot;image&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Visual Studio LightSwitch is the simplest way to create business applications for the desktop and cloud. In this blog post you saw how you can quickly build a business application to support your unique business needs, without the need for professional developer resources. In a couple days I’ll be blogging about how you can further customize a LightSwitch application as a business developer, and how you can deploy the application to Windows, Windows Server and Windows Azure. Over the next few months I’ll be blogging about how these applications can be transitioned to IT for ongoing management and maintenance, and what that means to IT.&lt;/p&gt;
&lt;p&gt;Go and try out Visual Studio LightSwitch Beta 2 and let us know what you think.&lt;/p&gt;
&lt;p&gt;D7&lt;/p&gt;</content:encoded>


<category>LightSwitch</category>
<category>Visual Studio 2010</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Tue, 15 Mar 2011 10:18:16 -0700</pubDate>

</item>
<item>
<title>Visual Studio LightSwitch Feature Matrix</title>
<link>http://www.dougseven.com/blog/2011/03/visual-studio-lightswitch-feature-matrix.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2011/03/visual-studio-lightswitch-feature-matrix.html</guid>
<description>On his blog yesterday, Soma (Sr. VP of Developer Division at Microsoft), announced that Visual Studio LightSwitch Beta 2 will be coming soon. I can tell you, we are really excited about LightSwitch, and apparently you are too (you’ve downloaded...</description>
<content:encoded>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On his blog yesterday, Soma (Sr. VP of Developer Division at Microsoft), announced that Visual Studio LightSwitch Beta 2 will be coming soon. I can tell you, we are really excited about LightSwitch, and apparently you are too (you’ve downloaded over 100,000 copies of Beta 1). &lt;/p&gt;  &lt;p&gt;One question that comes up a lot is, what can LightSwitch do versus what can Visual Studio Professional do? What’s the difference? Well, the difference is pretty clear.&lt;/p&gt;  &lt;p&gt;Visual Studio LightSwitch is a specialist tool for building line-of-business applications for the desktop and cloud, while Visual Studio Professional is a generalist tool for building anything you can imaging for Microsoft platforms.&lt;/p&gt;  &lt;p&gt;Take a look at this feature matrix and you’ll see what I mean (we’ll get a formal version of this up on &lt;a href=&quot;http://www.microsoft.com/lightswitch&quot;&gt;http://www.microsoft.com/lightswitch&lt;/a&gt; soon).&lt;/p&gt;  &lt;table style=&quot;border-bottom-color: black; padding-bottom: 4px; border-right-width: 1px; border-top-color: black; padding-left: 4px; padding-right: 4px; border-top-width: 1px; border-bottom-width: 1px; border-right-color: black; border-left-color: black; border-left-width: 1px; padding-top: 4px&quot; border=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;&lt;b&gt;Visual Studio LightSwitch&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;&lt;b&gt;Visual Studio Professional&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;LightSwitch Runtime&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual Studio Project System&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;IntelliSense&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Team Explorer (Team Foundation Server integration)&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;sup&gt;2, 3&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;3&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style=&quot;background-color: #eeeeee&quot; colspan=&quot;3&quot;&gt;         &lt;p align=&quot;left&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;LIGHTSWITCH APPLICATION DEVELOPMENT&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Predefined Screen Templates&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Application Skinning and Theming&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Data Entity Designer&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Business-oriented Data Types (e.g. EmailAddress, PhoneNumber, etc.)&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Automatic Data Input Validation&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Windows Azure Deployment&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;SQL Azure Support&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style=&quot;background-color: #eeeeee&quot; colspan=&quot;3&quot;&gt;         &lt;p&gt;&lt;b&gt;&lt;i&gt;LANGUAGES, EDITORS &amp;amp; COMPILERS&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual Basic&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual C#&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual C++&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual F#&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;HTML/JavaScript&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Silverlight/XAML Editor&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style=&quot;background-color: #eeeeee&quot; colspan=&quot;3&quot;&gt;         &lt;p&gt;&lt;b&gt;&lt;i&gt;PROJECT TYPES&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;LightSwitch Application&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;ASP.NET&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;ASP.NET AJAX &lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;ASP.NET MVC&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Console Application&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Database Projects&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Office Applications &amp;amp; Add-ins&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Setup Projects&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;SharePoint Applications &amp;amp; WebParts&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Test Projects&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Visual Studio Add-ins&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Windows Forms&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;Windows Phone&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;WCF&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;WPF&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width=&quot;295&quot;&gt;         &lt;p&gt;XNA Games&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;160&quot;&gt;         &lt;p align=&quot;center&quot;&gt;-&lt;/p&gt;       &lt;/td&gt;        &lt;td width=&quot;177&quot;&gt;         &lt;p align=&quot;center&quot;&gt;Yes&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;i&gt;1 Only available for LightSwitch applications. Requires Visual Studio LightSwitch and Visual Studio Professional to both be installed.      &lt;br /&gt;2 Team Explorer will integrate with LightSwitch but must be installed separately.       &lt;br /&gt;3 Requires a Team Foundation Server Client Access License (CAL).&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;I hope that helps!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;D7&lt;/strong&gt;&lt;/p&gt;</content:encoded>


<category>LightSwitch</category>
<category>Microsoft</category>
<category>Visual Studio 2010</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Wed, 09 Mar 2011 00:46:00 -0800</pubDate>

</item>
<item>
<title>Data Storage in Visual Studio LightSwitch</title>
<link>http://www.dougseven.com/blog/2010/08/data-storage-in-visual-studio-lightswitch.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/08/data-storage-in-visual-studio-lightswitch.html</guid>
<description>With the recent release of Visual Studio LightSwitch Beta 1 to MSDN Subscribers, I have gotten a few questions. As questions come in, I’ll do my best to answer them here. One of the first questions I got was about...</description>
<content:encoded>&lt;p&gt;With the recent release of Visual Studio LightSwitch Beta 1 to MSDN Subscribers, I have gotten a few questions. As questions come in, I’ll do my best to answer them here. One of the first questions I got was about how LightSwitch applications manage and store data source connection information – aka connection strings.&lt;/p&gt;  &lt;h1&gt;&lt;strong&gt;Question: In a Visual Studio LightSwitch application, where is the connection string to the database being stored?&lt;/strong&gt;&lt;/h1&gt;  &lt;p&gt;LightSwitch applications can work with several types of data, including “local” application data, external SQL Server or SQL Azure data (or any other database supported by the .NET Framework), SharePoint data, and other external data exposed through WCF RIA Services. If you choose to get data from an external source, the Attach Data Source Wizard shows you your options.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424d49970b-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc883401348666957c970c-pi&quot; width=&quot;244&quot; height=&quot;163&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the other hand, the “local” application data is a reference to a SQL Server Express database that is created if you choose the “Create new table” option as shown here.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834013486669589970c-pi&quot; width=&quot;244&quot; height=&quot;146&quot; /&gt;&lt;/p&gt;  &lt;p&gt;This application data is defined and stored in a local SQL Server Express database. For example, in the Vision Clinic demo we have used, the first step was to create a new table to store Patient data. in fact, in the demo we are defining an entity model, and creating a Patients (plural) table in the local application database using SQL Server Express. Notice in the following image that in the Solution Explorer there is a &lt;em&gt;Data Sources&lt;/em&gt; node containing an &lt;em&gt;ApplicationData&lt;/em&gt; node containing a &lt;em&gt;Patients&lt;/em&gt; node. &lt;em&gt;Patients&lt;/em&gt; is the table that was created in the &lt;em&gt;ApplicationData&lt;/em&gt; database.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424d59970b-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424d5d970b-pi&quot; width=&quot;244&quot; height=&quot;56&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The ApplicationData.mdf file is a SQL Server Express file that is created and stored in the $ApplicationRoot\bin\Data directory. When connected to with Server Explorer, you can see that the Patients table is there, along with the ASP.NET membership tables.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424d65970b-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc883401348666959d970c-pi&quot; width=&quot;143&quot; height=&quot;244&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So where is the connection string to this database stored? In a Web.config file that is created in the $ApplicationRoot\bin\debug directory.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face=&quot;Lucida Console&quot;&gt;&amp;lt;connectionStrings&amp;gt;        &lt;br /&gt;&amp;#160; &amp;lt;add name=&amp;quot;_IntrinsicData&amp;quot; connectionString=&amp;quot;Data Source=.\SQLEXPRESS;AttachDbFilename=&#39;e:\my documents\visual studio 2010\Projects\Application2\&lt;strong&gt;Application2\Bin\Data\ApplicationDatabase.mdf&#39;&lt;/strong&gt;;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;lt;/connectionStrings&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;When the application is published (Build | Publish menu), the Publish Application Wizard asks if you want to publish the database directly to an existing database, or if you want to generate a script file to install and configure the database&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340134866695a3970c-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424d9b970b-pi&quot; width=&quot;244&quot; height=&quot;163&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you choose to publish to a database, you are then prompted to provide the database information.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424da6970b-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424daf970b-pi&quot; width=&quot;244&quot; height=&quot;163&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you choose to create an install script file, you are prompted to describe the database that will be scripted.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834013486669655970c-pi&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f3424dd5970b-pi&quot; width=&quot;244&quot; height=&quot;163&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All in all this is the standard approach to managing database connections in a multi-tiered application. The Web.config in the application tier contains the database connection information. As will all Web.config files, you may encrypt the connection information.&lt;/p&gt;  &lt;h2&gt;But what about the connections to other data sources, like SQL Azure or SharePoint?&lt;/h2&gt;  &lt;p&gt;A connection string is a connection string is a connection string. They all get stored in a the Web.config file.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face=&quot;Lucida Console&quot;&gt;&amp;lt;connectionStrings&amp;gt;        &lt;br /&gt;&amp;#160; &amp;lt;add name=&amp;quot;_IntrinsicData&amp;quot; connectionString=&amp;quot;Data Source=.\SQLEXPRESS;AttachDbFilename=&#39;e:\my documents\visual studio 2010\Projects\Application2\Application2\Bin\Data\ApplicationDatabase.mdf&#39;;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160; &amp;lt;add name=&amp;quot;PrescriptionContosoData&amp;quot; connectionString=&amp;quot;Data Source=server01.data.int.mscds.com;Initial Catalog=PrescriptionContoso;User ID=admin01@server01;Password=[removed]&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;lt;/connectionStrings&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Of course, all of the data in a LightSwitch application is represented by entities. The entities are defined in the ApplicationDefinition.lsml file (stored in $ApplicationRoot\Data). This is simply a reference to the data source(s) represented by the entities in the application. Each data source is described in this file, and the entities representing the data objects are described here as well.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face=&quot;Lucida Console&quot;&gt;&amp;lt;EntityContainerGroupProperty EntityContainer=&amp;quot;Application2:ApplicationData&amp;quot;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Name=&amp;quot;ApplicationData&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;lt;EntityContainerGroupProperty EntityContainer=&amp;quot;Application2:PrescriptionContosoData&amp;quot;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Name=&amp;quot;PrescriptionContosoData&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;lt;/EntityContainerGroup&amp;gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face=&quot;Lucida Console&quot;&gt;...&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face=&quot;Lucida Console&quot;&gt;&amp;lt;DataService DataProvider=&amp;quot;EntityFrameworkDataProvider&amp;quot;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; EntityContainer=&amp;quot;:PrescriptionContosoData&amp;quot; Name=&amp;quot;PrescriptionContosoDataDataService&amp;quot;&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;DataService.ConnectionProperties&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;DataProviderName&amp;quot; Value=&amp;quot;91510608-8809-4020-8897-fba057e22d54&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;DataSourceName&amp;quot; Value=&amp;quot;067ea0d9-ba62-43f7-9106-34930c60c528&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;ProviderInvariantName&amp;quot; Value=&amp;quot;System.Data.SqlClient&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;SafeConnectionString&amp;quot; Value=&amp;quot;Data Source=server01.data.int.mscds.com;Initial Catalog=PrescriptionContoso;User ID=admin01@server01&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;ConnectionStringGuid&amp;quot; Value=&amp;quot;1e9905dc-b519-4003-9387-1272a768b256&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ConnectionProperty Name=&amp;quot;ProviderManifestToken&amp;quot; Value=&amp;quot;2008&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/DataService.ConnectionProperties&amp;gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ...         &lt;br /&gt;&lt;/font&gt;&lt;font face=&quot;Lucida Console&quot;&gt;&amp;lt;/DataService&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2&gt;Summary&lt;/h2&gt;  &lt;p&gt;All in all, LightSwitch applications are built using standard best practices. In the case of connection strings, they are stored in Web.config files in the application tier, and have all the support of ASP.NET configuration files, including encryption.&lt;/p&gt;</content:encoded>


<category>LightSwitch</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Mon, 23 Aug 2010 00:57:24 -0700</pubDate>

</item>
<item>
<title>Myth Busting Visual Studio LightSwitch</title>
<link>http://www.dougseven.com/blog/2010/08/myth-busting-visual-studio-lightswitch.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/08/myth-busting-visual-studio-lightswitch.html</guid>
<description>Earlier this week, at the VSLive conference in Redmond, WA (on the Microsoft campus) Jason Zander announced a new Visual Studio product that we’ve been working on – Visual Studio LightSwitch – the simplest way to build business applications for...</description>
<content:encoded>&lt;p&gt;Earlier this week, at the &lt;a href=&quot;http://www.vslive.com&quot; target=&quot;_blank&quot;&gt;VSLive&lt;/a&gt; conference in Redmond, WA (on the Microsoft campus) &lt;a href=&quot;http://blogs.msdn.com/jasonz&quot; target=&quot;_blank&quot;&gt;Jason Zander&lt;/a&gt; announced a new Visual Studio product that we’ve been working on – &lt;a href=&quot;http://www.microsoft.com/lightswitch&quot; target=&quot;_blank&quot;&gt;Visual Studio LightSwitch&lt;/a&gt; – the simplest way to build business applications for the desktop and cloud.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f2e594d2970b-pi&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340134860929e4970c-pi&quot; width=&quot;244&quot; height=&quot;154&quot; /&gt;&lt;/a&gt; This is exciting for us – we’ve been working on this product in secret for some time now. Finally we are able to share this work with the world. &lt;/p&gt;  &lt;p&gt;Of course, as can often happen, the announcement was followed up with some confusion. Since we aren’t releasing the Beta 1 bits until August 23, 2010, no one (other than the 700 people at VSLive using the hands-on-labs) can actually see LightSwitch in action and get a feel for it. As a result, there is some confusion around what LightSwitch is, what it does, and who should use it. So let me try and dispel a few myths.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Who is LightSwitch for? Who should use it?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;LightSwitch is intended for anyone who needs to quickly and affordably create line-of-business applications. LightSwitch is also an ideal tool for professional developers who need to build great-looking custom applications and want to kick start the development with a business application based on the LightSwitch templates.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How is LightSwitch different than Microsoft Access?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Access provides the tools to build and maintain database applications. LightSwitch provides the tools and templates to develop line-of-business applications that can pull data from Access, SQL Server, SQL Azure, SharePoint and any data provided by a WCF RIA Service (Access is not a supported data source in Beta 1). LightSwitch applications can run on the desktop, a web server or in the cloud. As &lt;a href=&quot;http://machinadei.com/2010/08/06/visual-studio-lightswitch-my-thoughts/&quot; target=&quot;_blank&quot;&gt;the needs and usage of the application grow&lt;/a&gt;, because LightSwitch applications run on the .NET Framework, and use the Visual Studio project system, they can be opened in Visual Studio 2010 Professional and higher, enabling more sophisticated customization of the application.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Can LightSwitch make LOB applications for Windows Phone 7?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340134860929fd970c-pi&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f2e594e3970b-pi&quot; width=&quot;244&quot; height=&quot;175&quot; /&gt;&lt;/a&gt;LightSwitch is intended for building line-of-business applications that connect with existing applications, legacy systems, Web services, and the cloud. LightSwitch includes support for a variety of form factors, however; development for applications running on mobile devices is not supported at this time. LightSwitch supports publishing applications to the desktop, a web server, or the cloud (publish to cloud is not available in Beta 1). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Does LightSwitch use WPF for desktop applications, and Silverlight for Web applications?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;LightSwitch currently creates Silverlight 4 applications. Since Silverlight 4 supports running out-of-browser, or in-browser, LightSwitch can easily generate the application form factor that you prefer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How do I open a LightSwitch application in Visual Studio Pro?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;There is no magic here. LightSwitch is a Visual Studio product. It uses the Visual Studio shell, and the Visual Studio project system. LightSwitch applications are Visual Studio applications. To open a LightSwitch application in Visual Studio 2010 Professional, simply open the .lsproj (LightSwitch Project) or .sln (Solution) file. Of course, you will need the LightSwitch runtime to support the application. If you have Visual Studio 2010 Professional (or higher) installed, simply install Visual Studio LightSwitch. The LightSwitch runtime and LightSwitch project templates will be installed and available through Visual Studio 2010.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;When I define a new data source in LightSwitch, what is being created?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc8834013486092a08970c-pi&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f2e594e7970b-pi&quot; width=&quot;244&quot; height=&quot;176&quot; /&gt;&lt;/a&gt; LightSwitch can work with several types of data sources, including Access (not available in Beta 1), SQL Server/Azure and SharePoint. If you decide to create a new data source (aka Application Data in LightSwitch lingo) you are defining a new SQL Server database. Under the covers LightSwitch uses SQL Server Express and creates a new ApplicationDatabase.mdf file for the new, local application data. You can also define new tables in other connected data sources (provided your credentials have the permissions to create tables). For example, you can connect to an existing SQL Server or SQL Azure data base, and choose the Add Table option to create a new table on your remote data source. If you don’t have the appropriate permissions, the Add Table option will not be available (as shown here). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How is LightSwitch different than WebMatrix?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;WebMatrix is a tool that includes a Web server (IIS Developer Express), a database (SQL Server Compact), and programming framework (ASP.NET). WebMatrix makes it easier to create new websites from scratch, or use Microsoft’s Web Application Gallery to customize popular ASP.NET and PHP open source community applications. It is targeted at non-professional developers, primarily. Although WebMatrix seamlessly integrates with Visual Studio’s professional development tools, it’s not related to LightSwitch. In contrast, LightSwitch is targeted at professional developers looking to create custom LOB applications leveraging data from multiple sources that can be easily deployed to the desktop or cloud. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Does LightSwitch support version control?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes. LightSwitch comes with the Visual Studio Team Explorer installed making connecting to Team Foundation Server easy.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Does LightSwitch support custom controls?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Developers can create custom controls, themes and skins for LightSwitch applications. This is done in Visual Studio 2010 Professional and made available as a vsix installation (the Visual Studio Gallery is supported).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;LightSwitch is great for developers (also &lt;/strong&gt;&lt;a href=&quot;http://ayende.com/Blog/archive/2010/08/05/lightswitch-the-return-of-the-secretary.aspx&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;overheard as ‘No it isn’t’&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Its important to understand the role LightSwitch will play in the world of a professional developer. If you are a Coder™ (make your living, or aspire to make your living writing code), LightSwitch may not be for you. Of course, you may use the LightSwitch runtime and project type inside Visual Studio 2010 Professional if you want to quickly build an LOB app or jump start some project development, but typically this isn’t you. The real user of LightSwitch is probably Code-Enabled™ (someone who has some basic coding skill – not like you – who will write or copy-and-paste code as needed to get what they need done). These are typically professionals in some industry who need apps for projects or specific needs, who you can’t be bothered with (think of the account manager who keeps asking you to build a tracking tool for them, and who you reject because you don’t have time). The reality is that there are a lot of Code-Enabled™ out there, and they will find a way to build what they need. The pain for you comes when their app “grows up” and you inherit it, are tasked with maintaining it, or worse yet, have to extend it. This is really when LightSwitch is good for developers. If the LOB app was built with LightSwitch, you are now inheriting a .NET based application, build on standard best practices (such as n-tier architecture with clear tier separation, data in SQL Server, proper data architecture, validation on the appropriate tiers, etc.). So while you may be thinking LightSwitch is not for you, it can still make your life better.&lt;/p&gt;  &lt;p&gt;I promise more to come, including some demos. In the meantime, check out Jay Schmelzer’s &lt;a href=&quot;http://blogs.msdn.com/b/lightswitch/archive/2010/08/06/the-anatomy-of-a-lightswitch-application-overview.aspx&quot; target=&quot;_blank&quot;&gt;The Anatomy of a LightSwitch Application Series&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;D7&lt;/p&gt;</content:encoded>


<category>Announcements</category>
<category>LightSwitch</category>
<category>Visual Studio 2010</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Fri, 06 Aug 2010 16:16:53 -0700</pubDate>

</item>
<item>
<title>Released: Microsoft Visual Studio Scrum 1.0</title>
<link>http://www.dougseven.com/blog/2010/07/released-microsoft-visual-studio-scrum-10.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/07/released-microsoft-visual-studio-scrum-10.html</guid>
<description>Today, we released Microsoft Visual Studio Scrum 1.0, a Team Foundation Server process template to support Scrum software development. This release complements the MSF for CMMI Process Improvement and MSF for Agile Software Development process templates. The process template was...</description>
<content:encoded>&lt;p&gt;Today, we released &lt;a href=&quot;http://visualstudiogallery.msdn.microsoft.com/en-us/59ac03e3-df99-4776-be39-1917cbfc5d8e&quot;&gt;Microsoft Visual Studio Scrum 1.0&lt;/a&gt;, a Team Foundation Server process template to support Scrum software development. This release complements the MSF for CMMI Process Improvement and MSF for Agile Software Development process templates. The process template was built from the ground up specifically for Scrum teams. Scrum is becoming a dominant methodology in software development and our customers have told us that they want a process template aimed directly at and optimized for Scrum teams. &lt;/p&gt;  &lt;p&gt;You can download the Visual Studio Scrum 1.0 from the &lt;a href=&quot;http://visualstudiogallery.msdn.microsoft.com/en-us/59ac03e3-df99-4776-be39-1917cbfc5d8e&quot;&gt;Visual Studio Gallery&lt;/a&gt;. To learn more about the Visual Studio Scrum 1.0 process template, see the &lt;a href=&quot;http://msdn.microsoft.com/en-us/vstudio/aa718795.aspx&quot;&gt;Process Templates and Tools blog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;D7&lt;/p&gt;</content:encoded>



<dc:creator>Doug Seven</dc:creator>
<pubDate>Mon, 19 Jul 2010 14:57:22 -0700</pubDate>

</item>
<item>
<title>The Visual Studio 2010 SharePoint Power Tools are now available!</title>
<link>http://www.dougseven.com/blog/2010/06/the-visual-studio-2010-sharepoint-power-tools-are-now-available.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/06/the-visual-studio-2010-sharepoint-power-tools-are-now-available.html</guid>
<description>The Visual Studio team that brought you the SharePoint developer tools in Visual Studio 2010 is happy to announce they have created a set of power tools that make developing SharePoint 2010 sandboxed solutions even easier. Below is the list...</description>
<content:encoded>&lt;p&gt;The Visual Studio &lt;a href=&quot;http://blogs.msdn.com/b/vssharepointtoolsblog/&quot; target=&quot;_blank&quot;&gt;team that brought you the SharePoint developer tools&lt;/a&gt; in Visual Studio 2010 is happy to announce they have created a set of power tools that make developing SharePoint 2010 sandboxed solutions even easier.&amp;#160; Below is the list of features included in the current release of the power tools.&lt;/p&gt;  &lt;h6&gt;&lt;/h6&gt;  &lt;p&gt;&lt;b&gt;Sandboxed-compatible Visual Web Part &lt;/b&gt;    &lt;br /&gt;This item template enables you to use a visual designer to create SharePoint web parts that can be deployed in a SharePoint 2010 sandboxed solution.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sandboxed Compilation &lt;/b&gt;    &lt;br /&gt;This extension displays build errors when you use types or members in a SharePoint 2010 sandboxed project which are not allowed in the SharePoint sandbox environment.&lt;/p&gt;  &lt;p&gt;The &lt;a href=&quot;http://visualstudiogallery.msdn.microsoft.com/en-us/8e602a8c-6714-4549-9e95-f3700344b0d9&quot;&gt;Visual Studio 2010 SharePoint Power Tools&lt;/a&gt; are available immediately on the Visual Studio Gallery.&lt;/p&gt;  &lt;p&gt;-------&lt;/p&gt;  &lt;p&gt;D7&lt;/p&gt;</content:encoded>



<dc:creator>Doug Seven</dc:creator>
<pubDate>Thu, 17 Jun 2010 14:58:51 -0700</pubDate>

</item>
<item>
<title>.NET 4 on Windows Update</title>
<link>http://www.dougseven.com/blog/2010/06/net-4-on-windows-update.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/06/net-4-on-windows-update.html</guid>
<description>Lately there have been a lot of questions about when .NET 4 will be released on Windows Update (WU) and in Windows Server Update Service (WSUS). While I don’t have a specific date to share (yet…stay tuned), I can say...</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133f0f1373d970b-pi&quot;&gt;&lt;img style=&quot;border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px&quot; title=&quot;NET-Frmwrk_h_rgb&quot; border=&quot;0&quot; alt=&quot;NET-Frmwrk_h_rgb&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340134841b6e7c970c-pi&quot; width=&quot;240&quot; height=&quot;76&quot; /&gt;&lt;/a&gt; Lately there have been a lot of questions about when .NET 4 will be released on Windows Update (WU) and in Windows Server Update Service (WSUS). While I don’t have a specific date to share (yet…stay tuned), I can say that it will be soon (within the next couple of months). Specifically &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc656912(v=VS.100).aspx&quot; target=&quot;_blank&quot;&gt;.NET Framework 4 Client Profile&lt;/a&gt; will be released as a recommended update on Vista and Windows 7 (a recommended update will be automatically installed depending on the Automatic Update settings of the machine). Client Profile will also be released as an optional update for XP. With XP you will have to manually run WU and select the .NET Framework 4 Client Profile. Windows 2003, Windows 2008 and Windows 2008 R2 will see &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms171868(v=VS.100).aspx&quot; target=&quot;_blank&quot;&gt;.NET Framework 4&lt;/a&gt; as an optional update.&lt;/p&gt;  &lt;p&gt;IT administrators using WSUS will have a slightly different experience. &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms171868(v=VS.100).aspx&quot; target=&quot;_blank&quot;&gt;.NET Framework 4&lt;/a&gt; will be optional on all the above OSs, while &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/cc656912(v=VS.100).aspx&quot; target=&quot;_blank&quot;&gt;.NET Framework 4 Client Profile&lt;/a&gt; will be optional on XP and recommended on Vista and Windows 7.&lt;/p&gt;  &lt;p&gt;There is an article that describes how to temporarily block the installation of the Microsoft .NET Framework 4 Client Profile. You might have to do this in an environment in which the Automatic Updates feature is enabled on a computer that is running Windows Vista or on a computer that is running Windows 7. See KB &lt;a href=&quot;http://support.microsoft.com/kb/982320&quot;&gt;http://support.microsoft.com/kb/982320&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; We recommend that you do not block the installation of the .NET Framework 4. However, if you have a compelling business reason to do this temporarily in environments where the Automatic Updates feature is enabled, you can modify the registry to temporarily block the installation of the .NET Framework 4 Client Profile.&lt;/p&gt;</content:encoded>


<category>.NET Framework</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Mon, 14 Jun 2010 10:45:56 -0700</pubDate>

</item>
<item>
<title>GeekFest at TechEd 2010 New Orleans</title>
<link>http://www.dougseven.com/blog/2010/05/geekfest-at-teched-2010-new-orleans.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/05/geekfest-at-teched-2010-new-orleans.html</guid>
<description>Let’s face it, going to a technical conference is good for your career but it’s not a whole lot of fun. You need an outlet. You need to have fun. Cheap beer and lousy pizza (with a New Orleans twist)...</description>
<content:encoded>&lt;p&gt;Let’s face it, going to a &lt;strong&gt;technical conference&lt;/strong&gt; is &lt;strong&gt;good for your career b&lt;/strong&gt;ut it’s not a whole lot of fun. You need &lt;strong&gt;an outlet&lt;/strong&gt;. You need to &lt;strong&gt;have fun&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;b&gt;Cheap beer and lousy pizza (with a New Orleans twist)&lt;/b&gt;&lt;/em&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style=&quot;display: inline; margin-left: 0px; margin-right: 0px&quot; alt=&quot;&quot; align=&quot;right&quot; src=&quot;http://northamerica.msteched.com/p/TENA10/resources/TechEd10_Blog_BeThere_180.gif&quot; /&gt;We are bringing back GeekFest! Join us at &lt;a href=&quot;http://www.patobriens.com/patobriens/neworleans/default.asp&quot;&gt;Pat O’Brien’s&lt;/a&gt; for a night of gumbo, beer and hurricanes. There are limited invitations available, so what are you waiting for? If you are attending the &lt;a href=&quot;http://northamerica.msteched.com/?CR_CC=100280253&amp;amp;WT.srch=1&amp;amp;WT.srch=1&amp;amp;CR_SCC=100280253&amp;amp;fbid=VxEeQSYSlKY&quot;&gt;TechEd 2010&lt;/a&gt; conference and you are a developer, you are invited. To register pick up your &amp;quot;duck&amp;quot; ticket (and wristband) in the TechEd Technical Learning Center (TLC) at the &lt;em&gt;Developer Tools &amp;amp; Languages (DEV)&lt;/em&gt; information desk.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;You must have wristband to get in.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tuesday, June 8&lt;sup&gt;th&lt;/sup&gt; from 8pm – 11pm &lt;/strong&gt;    &lt;br /&gt;&lt;strong&gt;Pat O’Brien’s New Orleans &lt;/strong&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;624 Bourbon Street New Orleans, LA 70130&lt;/p&gt;</content:encoded>



<dc:creator>Doug Seven</dc:creator>
<pubDate>Tue, 25 May 2010 09:53:41 -0700</pubDate>

</item>
<item>
<title>Improving Software Development Across the Lifecycle with Visual Studio 2010&amp;mdash;Part 2</title>
<link>http://www.dougseven.com/blog/2010/04/improving-software-development-across-the-lifecycle-with-visual-studio-2010part-2.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/04/improving-software-development-across-the-lifecycle-with-visual-studio-2010part-2.html</guid>
<description>In this four part series my goal is to provide you a look at Visual Studio 2010 and highlight how you can use it to improve many aspects of your team-based software development—from planning to coding to testing. While this...</description>
<content:encoded>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;In this four part series my goal is to provide you a look at &lt;a href=&quot;http://www.microsoft.com/visualstudio&quot; target=&quot;_blank&quot;&gt;Visual Studio 2010&lt;/a&gt; and highlight how you can use it to improve many aspects of your team-based software development—from planning to coding to testing. While this is not a comprehensive dive into everything Visual Studio 2010 can do, it does give you a glimpse into the power of Visual Studio 2010. Even though I take a team focus with this series, a lot of what I discuss can be used by individual developers as well.&lt;/p&gt;  &lt;p&gt;In Part 2 I am focusing on the challenges of existing code and how you can better understand existing systems by creating visualizations of the code. From there I will focus on how you can use tools to discover emerging designs, and maintain architectural integrity as you implement new parts of the system. &lt;/p&gt;  &lt;h3&gt;UNDERSTANDING WHAT YOU HAVE&lt;/h3&gt;  &lt;p&gt;Very few of us come to work and begin each day with FILE &amp;gt; NEW PROJECT. The reality is that every day you work with existing projects—in most cases project in which you don’t know the entire project history. Frequently you are working on existing projects that are new to you, or an unfamiliar section within a project that you are familiar with. In either case you are face-to-face with a system you may not fully understand. The challenge with this is, how can you easily understanding the system; it is critical to understand things like down-stream dependencies before you make any code changes, to prevent a butterfly effect. &lt;/p&gt;  &lt;h4&gt;BUTTERFLY EFFECT&lt;/h4&gt;  &lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Butterfly_effect&quot; target=&quot;_blank&quot;&gt;butterfly effect&lt;/a&gt; is a metaphor for the concept of sensitive dependence on initial conditions in chaos theory. In short, the idea that a small change in the initial condition of a dynamic system may produce large consequences (if a butterfly flaps its wings in Japan, could it cause a tornado in the Midwest USA?). In this case, could one seemingly innocuous change to one part of the code, break something that you thought was completely unrelated in another part of the system because you weren’t aware of the downstream dependency?&lt;/p&gt;  &lt;p&gt;Imagine how much faster you could learn about a new system if you could see a diagram of how all of the code and assets are connected. Imagine how much more productive you could be if you could toggle between a diagram of the code and a matrix view showing cross-project dependencies. How would your approach to modifying an existing system change if you could visualize what the project before making any changes.&lt;/p&gt;  &lt;h4&gt;ARCHITECTURAL EXPLORATION&lt;/h4&gt;  &lt;p&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px&quot; title=&quot;clip_image002[4]&quot; border=&quot;0&quot; hspace=&quot;12&quot; alt=&quot;clip_image002[4]&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340133ecfb413e970b-pi&quot; width=&quot;192&quot; height=&quot;211&quot; /&gt;&lt;a href=&quot;http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate&quot; target=&quot;_blank&quot;&gt;Visual Studio 2010 Ultimate&lt;/a&gt; enables you explore existing architectures and visualize code and assets in a variety of ways. By visualizing the code you can quickly understand how the various pieces are connected. You can easily visualize project assemblies, or namespaces, for example, and drill through the solution all the way to the method-level. Along the way you will see all of the upstream and downstream connections enabling you to more easily understand the system without overwhelming you. This powerful visualization capability enables developers to identify risks and potential impacts in a graphical format.&lt;/p&gt;  &lt;p&gt;This visualization capability enables you to better understand the system dependencies and drill through them to the code-level where a call sequence will be executed. From there you can automatically generate a &lt;a href=&quot;http://blogs.msdn.com/habibh/archive/2009/07/29/use-uml-sequence-diagrams-in-team-system-2010-to-reverse-engineer-your-code.aspx&quot; target=&quot;_blank&quot;&gt;sequence diagram&lt;/a&gt; of the call sequence to learn what happens—what components are used and what methods are called—during the code execution.&lt;/p&gt;  &lt;h4&gt;CONTROLLING COMPLEXITY&lt;/h4&gt;  &lt;p&gt;Understanding the system is only half the battle. Code has a tendency to &amp;quot;go bad&amp;quot; as time passes, due in large part to unintended dependencies that are introduced as new code gets added to, or changed in the system. As you make changes to the system—maintaining and extending it—you will need to control its complexity and prevent “code rot.” &lt;/p&gt;  &lt;p&gt;How can you ensure your changes are in line with the overall design of the system? How can you ensure the changes you are making maintain the architectural integrity of the design?&lt;/p&gt;  &lt;h4&gt;LAYER DIAGRAM&lt;/h4&gt;  &lt;p&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px&quot; title=&quot;clip_image004[4]&quot; border=&quot;0&quot; hspace=&quot;12&quot; alt=&quot;clip_image004[4]&quot; align=&quot;right&quot; src=&quot;http://www.dougseven.com/.a/6a00e550d54efc88340134802af802970c-pi&quot; width=&quot;192&quot; height=&quot;192&quot; /&gt;Visual Studio 2010 Ultimate introduces a new model type—the &lt;a href=&quot;http://blogs.msdn.com/camerons/archive/2009/10/20/layer-diagram-in-visual-studio-2010-ultimate-beta-2.aspx&quot; target=&quot;_blank&quot;&gt;layer diagram&lt;/a&gt;. This tool enables you to create a visual depiction of your logical architecture. For many of you, you probably do this today with tools like Microsoft Visio, or even PowerPoint. All too often people use a whiteboard to diagram the logical architecture and write “Do Not Erase” in the corner. The layer diagram modernizes this activity. It is a versionable resource that can be authored and viewed within Visual Studio ensuring you maintain the history of your design.&lt;/p&gt;  &lt;p&gt;Of course, having a fancy diagram, with lots of color does nothing to ensure that the implementation of the design matches the intent of the diagram. To solve this problem the layer diagram is an active resource; you can associate assets—classes, namespaces, assemblies, etc.—to objects in the layer diagram and then validate the implementation against it. For example, you could associate a Foo.Web namespace with the Presentation Layer of the diagram, and define the associations of that layer respective to other elements in the diagram, such as a Business Layer and a Data Access Layer. When you validate the implementation against the diagram, any code that calls into an asset that it is not permitted to—explicitly defined by an association of the two elements in the diagram—will generate a Dependency Validation Error. This indicates that the implementation doesn’t adhere to the design intent, and this is how you will maintain architectural integrity.&lt;/p&gt;  &lt;p&gt;Understanding existing code and controlling code complexity is critical. Once a software project’s complexity gets out-of-hand, it becomes fragile and difficult to maintain. Using Visual Studio 2010 Ultimate enables you to quickly visualize existing code with DGML diagrams and Architecture Explorer, discover emerging designs and dependencies with the Layer Diagram, and maintain architectural integrity by incorporating the Layer Diagram validation into a gated check-in process.&lt;/p&gt;  &lt;p&gt;In Part 3 I will look at how Visual Studio 2010 will help you eliminate bugs. &lt;/p&gt;  &lt;p&gt;D7&lt;/p&gt;</content:encoded>


<category>Microsoft</category>
<category>Visual Studio 2010</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Mon, 26 Apr 2010 21:39:17 -0700</pubDate>

</item>
<item>
<title>Improving Developer-Tester Collaboration with Microsoft Visual Studio 2010</title>
<link>http://www.dougseven.com/blog/2010/04/improving-developer-tester-collaboration-with-microsoft-visual-studio-2010.html</link>
<guid isPermaLink="true">http://www.dougseven.com/blog/2010/04/improving-developer-tester-collaboration-with-microsoft-visual-studio-2010.html</guid>
<description>Effective collaboration between developers and testers is paramount and can make the difference between shipping quality applications on time, or slipping because bugs are found late. In this session you will learn how Visual Studio 2010 can help you improve...</description>
<content:encoded>&lt;p&gt;Effective collaboration between developers and testers is paramount and can make the difference between shipping quality applications on time, or slipping because bugs are found late.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;In this session you will learn how Visual Studio 2010 can help you improve the collaboration of development and test activities in your team, regardless of who does them. You will learn how Microsoft Test Manager 2010 helps you execute tests and enables you to file rich, actionable bugs so whomever they get assigned to can easily understand the issue and begin to fix it. You will see how IntelliTrace helps you discover the root cause of a defect quickly, and finally how to automate your functional testing with Coded UI Tests.&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://channel9.msdn.com/shows/VS2010Launch/Doug-Seven-Improving-Developer-Tester-Collaboration-with-Microsoft-Visual-Studio-2010/&quot; target=&quot;_blank&quot;&gt;Watch it here&lt;/a&gt;.&lt;/p&gt;</content:encoded>


<category>IntelliTrace</category>
<category>Microsoft</category>
<category>Microsoft Test Manager 2010</category>
<category>Speaking Engagements</category>
<category>Visual Studio 2010</category>

<dc:creator>Doug Seven</dc:creator>
<pubDate>Mon, 19 Apr 2010 23:21:05 -0700</pubDate>

</item>

</channel>
</rss>

<!-- ph=1 -->
