May 2008 - Posts

MVP Interoperability Workshop ... the sponsors behind the scenes

We often forget the sponsors behind the scenes of events such as the MVP Interoperability Workshop and I am therefore dedicating this blog to the sponsors:

  • Most importantly to the community leads and MVPs actively preparing content for the event, mostly in their own personal time, out of sheer passion for technology and in this case interoperability! Zlatan, Ryan, Henk, Zayd, Almero and Garret ... you guys really rock!
  • Our community leads and MVPs supporting us in the background and at the event ... you guys rock!
  • Our Microsoft MEA MVP Program Manager, for listening to us and making this event happen. Ruari, you rock!
  • Microsoft Interoperability, OOXML and open-anything evangelist. Paulo your efforts are appreciated and you too rock!
  • Microsoft for sponsoring the venue, the refreshments, handouts, prizes and event management, supported by people such as Sandra and Lillian. You ladies rock!
  • Microsoft technologists for accepting the late challenge to present a view on the web and interoperability. Eben, you rock!
  • Barone, Budge & Dominick for supporting the initiative, giving us bandwidth to investigate and evangelise interoperability, for event prizes such as external drives, packed with goodies, stress balls, tons of books, stress balls, t-shirts and sponsoring the flight and rental car to bring a MVP up from Cape Town to participate at the event.
  • SA Architect, for driving this event, interoperability in general, for narrowing the no-man's land between technologies and for sponsoring another flight to bring a MVP up from Cape Town.
  • Teamprise, for assisting us with the debugging of our interoperability session and for sponsoring a Teamprise Client Suite license as another great prize. Martin, you are not only a great pilot, but a great community evangelist ... you rock!
  • ITI, for always supporting the communities and this event. Roy, you and your team rock!
  • SA Developer, for advertising and supporting our initiative.
  • Lastly to the various product teams, especially the VSTS/TFS product team which is supporting their MVPs relentlessly, allowing us to deliver better service, better information and more passion to the communities. Everyone in the VSTS/TFS product team and the VSTS Rangers rocks 24x7!

A huge THANK YOU to all the sponsors!

PS: If I have forgotten anyone, then please let me know! We triple checked the list, but I would not be surprised if the aging brain gremlins are active again.

In short, there is a lot of rocking going on and we are looking forward to an exciting, invaluable and revolutionary event. It is not often that different technologies and vendors are represented in one event ... we will hopefully prove that interoperability is no longer a technology, but instead a mindset challenge!

Bring an open mind and join us for an exciting event! See http://dotnet.org.za/willy/archive/2008/05/28/mvp-interoperability-workshop.aspx or www.saarchitect.net for details.

MVP_Horizontal_FullColor5  Interop2008CoinHeads4 SADeveloper

Logo_Horizontal_Layout_376KB.jpg  

saa_Logo 15[1] logo

Interop2008-Banner-730x80

Posted by willy with 5 comment(s)

Rosario April 2008 CTP Investigation (Q&A) - List of questions and answers/feedback

image This post lists all of the questions raised during our mini evaluation series and the answers and feedback ... where available. Remember that we are evaluation bleeding edge technology and when we find missing features, bugs, raise questions, etc. it is positive, not an opportunity to flame the technology! 

This post will be a living post, which I will update as we are going through the evaluation and as answers, ideas, etc. trickle in.

Rosario April 2008 CTP Investigation (Part 1) - Create Team Project

No questions, issues reported at this stage.

Rosario April 2008 CTP Investigation (Part 2) - Project Management

No questions, issues reported at this stage.

Rosario April 2008 CTP Investigation (Part 3) - Architecture

  • ? It would be great if I could spot the use case diagram as a link or attachment when viewing the work item, or select the work item shape and zoom over to the work item. It may be possible, but I have not been able to find a way ... yet.
    • ! The next CTP promises appropriate work item navigation, as well as other arbitrary artifacts.
      image68159

  • ? Can we synchronise the logical model with the physical models and thus the code base? Busy investigating ...
    • ! We need to park this question until we are in a position to evaluate the next CTP, which promises two way synchronisation ... two way synchronization is a bit more difficult than it might seem. The team is investing immense effort and passion in the transformations between physical and logical models ... exciting times are ahead of us.image68159
  • ? What is the cause of the following error we have noticed while manipulating the models? Reported and waiting for guidance...
    clip_image002
    • ! We get these errors "occasionally" ... these are under investigation and the team is appreciating all feedback and reporting of these exceptional exceptions to be able to check current and future releases.
      image68159
  • ? Is there a way of synchronising the methods added after creating the method from the sequence diagram, to the logical diagram? In other words, after method is visible in logical designer, is there any way of getting it back to the sequence diagram, without re-creating a lifetime? The steps I had to do:
    1. Select create method in sequence diagram.
    2. Rename the method in the logical diagram.
    3. Problem is that change is not synchronised with sequence diagram.
    4. Create lifetime of object in sequence diagram.
    5. Select correct operation on previous lifetime object in sequence diagram
          ... list is now up to date.
    6. Delete the new lifetime we just added.
    • ! We need to park this question until we are in a position to evaluate the next CTP, which promises a mental model that states that once models are linked, their views are of the same model element.
      image68159

Rosario April 2008 CTP Investigation (Part 4) - Version Control

  • ? What happened to the branching visualisation as mentioned in blog posts and TFS presentations?
    • ! The exciting visualisation of branching will be included in forthcoming CTPs.
      image68159

Rosario April 2008 CTP Investigation (Part 5) - Build

  • ? What is the cause if the following error we cannot get past when trying to copy a node in the build process editor?
    image 
    • ! The error occurs as the Clipboard can only be read by a single process at a time, so when multiple processes try to open the clipboard at the same time, the error occurs. In most cases, you don’t see this problem (the Clipboard class in .NET actually sleeps and retries a number of times by default to try and work around this), however, in a Virtual Machine the virtual machine additions seem to make this more likely to occur. The workaround for now: Try copying multiple times, or turn off the virtual machine additions or run it outside of a Virtual machine.
      Thanks "David Kean
      " for pointing this out.
      image68159

Rosario April 2008 CTP Investigation (Part 6) - Developer

None at this stage.

Rosario April 2008 CTP Investigation (Part 7) - Tester

  • ? I have been battling with Camano, trying to get the replay of test cases to work. After a lot of “fiddling” I managed to get the following view, but the replay stopped at 3/39 actions. Since then I am not getting the markers turning red or the popup menu appearing again. I have re-run the test cases again and again … the replay and the view as above will not return. Is there a known issue or am I simply doing something silly again?
    image
      • ! The test manager is still very new, the CTP we used old'ish and hence the temperamental behaviour needs to be accepted as a CTP gremlin. We are awaiting the next CTYP with great interest in terms of testing ...
        image68159

    Rosario April 2008 CTP Investigation (Part 8) - Database

    None at this stage.

    Conclusion

    The final conclusion post can be found here.

  • Posted by willy with 1 comment(s)
    Filed under: ,

    Rosario April 2008 CTP Investigation (Part 3) - Architecture

    Continued from http://dotnet.org.za/willy/archive/2008/05/28/rosario-april-2008-ctp-investigation-part-2-project-management.aspx.

    It is important that I emphasise that these mini-posts present our, primarily my views, on TFS Rosario, from a real-world viewpoint and determining the potential value or lack thereof to our existing software development environment. It is not a "WOW" TechEd break-out session view, which typically gets management excited and the technical troops in the trenches into hot water! What is, however, important to highlight is that we are reviewing CTP (Community Technology Preview ) versions of the product ... it is not even BETA, it is a preview of what will or could be coming ... no guarantee and definitely no smooth sailing when it comes to bugs and "assumed" features.

    imageIf you were one of the TFS evangelists who just could not promote Team Architect in the past ... again I raise my hand and am getting ready for the flak from the Team Architect  team ... should investigate the immense changes and improvements in Rosario. Team Architect team, before you launch those nukes, please take note of the Rosario rating at the end of this post.

    A peek at ... architecture artifacts

    I miss some, but looking at the templates in this CTP we can see:

    • Logical class diagram
    • Use case diagram
    • Class diagram
    • Component diagram
    • Sequence diagram

    ... in fact, you should notice a number of UML diagrams and Rosario is delivering UML 2.1.1 support.

    Starting at the beginning of the end, or is that the end of the beginning?

    A quick detour through history ... when England defeated the sheer invincible and technically superior German Luftwaffe in the infamous "Battle of Britain" during the second world war, Churchill summed it up with and I quote: "This is not the end; it is not even the beginning of the end, but it is, perhaps, the end of the beginning".

    I have this sneaking suspicion, that this is not the end for Team Architect either ... we are likely to be part of an amazing journey.

    When you select View Menu in Visual Studio, you should spot the "Architecture Explorer". It allows you to do what we often have to do painstaking by hand ... reassemble the evidence when we are told, "there is the source repository, all the information of the system is in there". Gulp ... well, with the Architecture Explorer we are at least able to automate some of this painful exercise of exploring and reassembling the visual evidence.

    image

    In case you are wondering, you can either double-click a box in the diagram and beam yourself over to the source code, or continue refining the selection. In this case we will select select the payment class, taking us to the source of the payment class:
    image

    We note the comment "credit card processing code goes here" ... hhhmmmmmmm, right, it is probably time to define the requirements by defining one or more user stories, requirements, scenarios or other relevant work item types, based on your process template of choice.

    In this case we would like to explore the next new diagram ... the use case diagram.

    Use Case Management

    1. Creating the use case diagram

    Create a new use case diagram:
    image

    ... "look mom, no Visio" ... we can add actors, use cases, notes, annotations, use case details ...

    image

    2. Creating an association of the use case with work items

    To complete the circle of life, we have to associate the use case we have just created with a work item.

    image

    As shown, we use the Architecture Explorer, selecting the RosarioCtp12 TFS server --> TFS Projects --> CTP12-CMMI Team Project --> Query Hierarchy
    --> Work Items --> Team Queries --> All Items. It is amazing what this new explorer allows us to do and we should take note that the model at the bottom can be displayed in a number of views, whereby we used the horizontal layout in the above case:
    image

    We select a work item, i.e. the functional "Customer must be able to make online payments" work item.
    image

    We select the work item and in the next column, select "Insert into active diagram" ... the columns in this architecture explorer seem to be endless:
    image

    We will notice that a TFS Work Item shape is added to the use case diagram:
    image

    ? It would be great if I could spot the use case diagram as a link or attachment when viewing the work item, or select the work item shape and zoom over to the work item. It may be possible, but I have not been able to find a way ... yet.

    We should feel the excitement by now ... so let's move to the next diagram.

    Class Diagram ... on serious steroids

    The one modelling tool that was great in 2005 and 2008 is the Class diagram. The seamless integration of the code and model is truly amazing and powerful, but the fact that we could only generate a model per project limited the value of the tool immensely ... in fact it has been a frustrating hindrance. Imagine looking at a space shuttle with two powerful outboard 2-stroke engine ... very limiting.

    So let's review the latest class diagram, the logical class diagram.

    We start with a solution containing three sample projects, namely a Windows Forms project, a Class Library project and a WCF Service library project.
    image

    We can create a physical class diagram ... nothing new here. We get project-specific class diagrams that have their specific value, but when designing and/or documenting a solution larger than the Windows calculator their value diminishes exponentially.

    image image image

    But when we select the following dialog, the magic begins...
    image

    We obtain a logical class diagram consisting of some or all of the classes contained in our physical models, which we can modify, i.e. we can change, add and remove operations and attributes, we can add relationships, associations, and dependencies and more...

    image

    ? Can we synchronise the logical model with the physical models and thus the code base? Busy investigating ...

    ? What is the cause of the following error we have noticed while manipulating the models? Reported and waiting for guidance...
    clip_image002

    Sequence Diagram

    Now for the final model we will review in this CTP ... the sequence diagram, which is an invaluable model when visualising the messages and lifetimes of objects and their collaboration.

    1. Creating a sequence diagram from scratch

    We select sequence diagram as a new item to the solution:
    image

    We can then use the SequenceDesigner toolbox to add lifelines and other artifacts to the empty sequence diagram. This is pretty straight forward and boring, so let's rather focus on creating a sequence diagram based on our logical sequence diagram.
    image

    2. Basing a sequencing diagram on existing code

    We select the classes we want to work with on the logical class diagram, right click and select "create lifetime". We must then select the sequence diagram we want to work with ... in our case it is one and hence the decision is simple:
    image

    As we can see, the modelling tool creates lifetimes for each class we selected.

    Next we add messages to the sequence diagram:
    image

    Next we select each message and select the relevant operation from the list of available operations in each case:
    image

    What do you mean we are missing a class? What? Scope creep? ... simple, we proceed as follows:

    1. Add missing lifeline.
      image
    2. Right-click ... select create class, then select Logical Diagram.
      image... results in ...  image
    3. Add operations to the lifeline and hook up the beastie.
      image ... results in ... image
      ? is there a way of synchronising the methods added after creating the method from the sequence diagram, to the logical diagram? In other words, after method is visible in logical designer, is there any way of getting it back to the sequence diagram, without re-creating a lifetime?
      The steps I had to do:
      1. Select create method in sequence diagram.
      2. Rename the method in the logical diagram.
      3. Problem is that change is not synchronised with sequence diagram.
      4. Create lifetime of object in sequence diagram.
      5. Select correct operation on previous lifetime object in sequence diagram
            ... list is now up to date.
      6. Delete the new lifetime we just added.
    4. Voila, we are done.
      image

    Are you excited yet? If not, well parachuting out of fully functional aircraft is apparently an exhilarating experience ... I will chat with the pilot, land safely while the plane is functional and continue the happy hunting through the Rosario features. I, for one, am excited!

    Conclusion

    Support for UML is a welcome feature, as we have been wanting an integrated modelling experience in Visual Studio, without constantly having to switch over to Visio. Although I am not a Visio fanatic, I have been a regular user of Visio ... with Rosario this relationship will sour slightly, because I can now do my work in one integrated environment. The new features of Visual Studio Team Architect make it a product worth mentioning and evangelising as part of the Team Suite of products. In other words, Team Architect team, stand down, close the ICM missile covers and deactivate the targeting sequence.

    My personal rating for the team architect improvements in Rosario at this stage is:  image68image68image68imageimage / 5 smiles.

    The last two smiley's are not ecstatic as I am unable to find some of the diagrams I am aware of ... have to wait for future CTP releases. Also being Swiss, I would like more control in aligning and sizing shapes in the modelling tools, i.e. use case diagram.

    I can sense the hatches are sliding open again ... stop, it is still a 5 smiley rating as there are no image's.

    Next

    ... part 4 will look at Version Control.

    Posted by willy with 7 comment(s)
    Filed under: ,

    MVP Interoperability Workshop

    MVP_Horizontal_FullColor  Interop2008-Coin-Heads

    Interoperability – a difficult word to say, an easy concept to understand

    The Microsoft MVPs from South Africa invite you to come and discuss the world of interoperability in the development environment, exploring how we can integrate and interoperate with other technologies. The event will allow you to explore new ideas and solutions, collaborating with Microsoft Consultants, Community Leads and Microsoft Most Valuable Professionals (MVPs) from South Africa who will be giving an independent view. The objective is to become INTEROP-aware and INTEROP-able, proving that Interoperability is no longer a technology, but a mindset … creating one, happy technology family.

    Register now to reserve your seat.

    There is no attendance fee and refreshments will be served.

    This event has been sponsored by Microsoft DPE, Microsoft MVP PM, Microsoft MVPs, SA Architect and BB&D.

    Dates and Venues

    Date: 10 June 2008

    Venue: Microsoft Offices, 3012 William Nicol Drive, Bryanston, Gauteng

    To register via Web access, click here

    To register via telephone, dial 0860 2255 67

    To register via e-mail, saevents@microsoft.com

    Posted by willy with 8 comment(s)
    Filed under: , ,

    Rosario April 2008 CTP Investigation (Part 2) - Project Management

    Continued from http://dotnet.org.za/willy/archive/2008/05/28/rosario-april-2008-ctp-investigation-part-1-create-team-project.aspx.

    Agile Process

    MSF Agile is now known as VSTS Process for Agile Software Development v1.0 ... the first visible change and a welcome one. For those those who battle(d) with the Reporting Services based reports in TFS and prefer to work in MS Excel when planning and managing projects ... please note that my own hand is raised ... read on, you will be pleasantly surprised. For those who prefer MS Project, read on anyhow, but take note of the CMMI Process heading further down.

    We mentioned two artifacts, namely Iteration Backlog and Product Backlog Excel documents in the last post. Let's have a quick peek at these two and determine if there is any value to the project manager and/or technical team lead type stakeholders.

    Product Backlog Documentation

    The product backlog document is one of the new tracking workbooks included in the VSTS Agile Software Development process template for agile planning, used to perform high-level product planning. The two workbook tabs are:

    Product Backlog

    image

    What we see is a list of user stories, effort estimations and iterations that address some or all of the user stories. For the scrum hearted, this looks like a neat product backlog list ... which coincidentally matches the workbook name as well ... guess we are on a good track at this stage.

    Capacity

    image

    The capacity tab gives us the opportunity to define the start and end dates, resource constraints and holidays for the various iterations. What we get, is a calculated capacity report, which at a glance notifies us whether we are exceeding the available capacity.  In essence we can plan our product backlogs and balance them across iterations, before selecting publish to Team Foundation Server.

    I for one, am already excited!

    Iteration Backlog Documentation

    The iteration backlog document is the second of the new tracking workbooks included in the VSTS Agile Software Development process template for agile planning, used to perform low-level product planning. Some of the six workbook tabs are:

    Iteration Backlog

    image

    We see the relevant work item types for the iteration. The workbook uses the Iteration Backlog query, which you would want to update to filter the relevant iteration to limit any unnecessary noise, i.e.
    image

    You can now assign tasks, add child tasks to user stories and once again move and balance work load amongst team members.

    Capacity Planning

    image

    I love visual information and looking at this tab immediately and without much thinking, I can see that "Anna"  is over allocated, while the other resources have spare capacity. We can now go back to the iteration backlog and balance the work ... again all this planning and shuffling is done in Excel, potentially offline, before being committed to TFS.

    Burndown

    image

    Smile, scum'ers ... we now also have a burn down chart.

    Velocity Tracking

    image

    We can see the team's velocity ... both actual and required. In this case current > required, which is typically the other way ... unfortunately.

    Backlog Pivot Table

    If you have not had enough, use the pivot table to do further analysis and planning:

    image

    Another workbook lurking around is the issues workbook. Currently it shows no issues ... again not a realistic project, but what is important is that we can synch this workbook with TFS and work offline.

    image

    CMMI Process

    The process template for CMMI is still called "MSF for CMMI Process Improvement - Rosario" in this release and we hope that the reference to MSF will drop off silently.

    I am a scrum / agile person and environments such as RUP and CMMI makes me jittery ... I will therefore not delve into the CMMI environment any further.

    Other interesting snippets ...

    Not really CMMI specific, but worth pointing out ... take a look at the Query Results:
    image

    ... anything special? Not? Sure? Look again and note the hierarchical structure. If you look at task 108 ... which is the first after 107 ... sorry, cut off, you specify the parent as being 107 to create the hierarchical relationship (see Parents and Children below):
    image

    Opening the same query in MS Project gives us another view of the same data, this time in Oliver's favourite view:
    image 

    Conclusion

    It should be evident that teams can manage iterations, review historical progress and plan current and future iterations. Feedback is given via charts, which give visual feedback to the team, both online and offline ... using familiar tools, i.e. MS Excel, MS Project and Team System Web Access. Round-trip'ing of data between the MS tools and TFS is seamless, allowing each stakeholder to use the tool of choice for the planning and management.

    My personal rating for the team management improvements in Rosario at this stage is:  imageimageimageimageimage / 5 smiles.

    Next

    ... part 3 will look at Architecture.

    Posted by willy with 3 comment(s)
    Filed under: ,

    Rosario April 2008 CTP Investigation (Part 1) - Create Team Project

    This is the start of a mini series during which I will review the Rosario CTP  Mini-Stories, viewing it from our production perspective and highlighting exciting, missing and/or troubling features. So let's rock and roll with the latest and greatest of Team Foundation Server q:)

    Again Brian Randell, one of the esteemed MVPs, is responsible for a lot of the material we are using. Thanks VSTS Product Team and thanks Brian for all the great work you are doing ... and the patience when we report issues and ask the same thing for the gazillionth time! TFS/VSTS/MVP community "rocks".

    Creating a new Team Project

    image14 image13 image12

    image18 image22 

    The first change you will notice is the new names for the out-of-the-box process templates. For this quick test we selected VSTS Process for Agile Software Development v1.0 ... the creation process was fairly or actually identical to the process we are all familiar with.

    image32

    Once created, however, a closer inspection of the Documents node in the Team Explorer reveals exciting features such as project dashboards, project Wiki and documentation templates. The list is exhaustively exciting and we will leave it at that, so that we can proceed to the first mini-story, and not get distracted by excursions through this new material at this stage.

    Conclusion

    The creation process looks the same, however, the database and team project container structure behind the scenes is different ... more on this at a later stage ... and the visible artifacts are exciting. In the next post we will be looking at two of the artifacts, namely the Iteration Backlog and Product Backlog Excel documents, which in my opinion will revolutionise the view and use of TFS from the project management perspective.

    My personal prediction ... (1) once my team reads these blogs it will not be long before we are running Rosario, (2) once I run the forthcoming "what's new in Rosario" readiness session I will be asked again and again ... "when can we have this product". In fact, I feel sorry for the VSTS product team, because this version of TFS/VSTS rocks to the power of rocks and it will be hard to keep the flood gates closed until it ships.

    Next

    ... part 2 will look at Project Management.

    Posted by willy with 4 comment(s)
    Filed under: ,

    MSDN Community DVD - May 2008 Available

    The MSDN Community DVD May'2008 has arrived and is available to SA Architect and other community members.

    Give us a shout if you need a copy. The contents is as follows and I quote from the DVD home page ... Ralf, that means that I am not spell checking the quoted text q;-) :

    Release May 2008

    From the Editor

    Last month, Microsoft kicked off the 2008 Launch Wave with more than 200 events worldwide celebrating the launch of Windows Server 2008, Microsoft Visual Studio 2008, and Microsoft SQL Server 2008. If you missed the Heroes Happen Here launch in Los Angeles on February 27, you can still experience the L.A. launch for yourself through the Microsoft Virtual Launch Experience. Watch Steve Ballmer's keynote and more than 20 technical sessions, or browse more than 45 sponsored Microsoft and community "booths" - all on demand. Created with Microsoft Expression and Visual Studio 2008, and running on Windows Server 2008 and SQL Server 2008, the VLE is an immersive Microsoft Silverlight application that allows you to experience the launch on your own time, at the speed and in the way that works best for you.
    Speaking of Silverlight, at MIX08 last week, Microsoft announced the first public beta of Silverlight 2, which will be a major update of Silverlight that focuses on enabling rich Internet application (RIA) development. Silverlight 2 includes a cross-platform, cross-browser version of the .NET Framework, and enables a rich .NET development platform that runs in the browser. For a first look at Silverlight 2, check out Scott Guthrie's blog, which includes links to the eight tutorials that Scott put together to explain the different programming concepts. Or get right to it and download Silverlight 2 Beta 1.
    To help you start creating Silverlight 2-based applications, Microsoft announced the Microsoft Expression Blend 2.5 March 2008 Preview, which can be used to create and modify managed Silverlight 2-based applications. Download Microsoft Expression Blend 2 and report any technical issues to the team.
    Microsoft also unveiled the Expression Studio 2 Beta at MIX08 with support for PHP and Silverlight. The Beta release includes Expression Web 2, Expression Blend 2, Expression Design 2, Expression Media 2 and Expression Encoder 2. Download the Microsoft Expression Studio Beta.
    Also at MIX08, Microsoft unveiled the first public beta of Internet Explorer 8, the next version of the popular browser that delivers significantly improved standards support and developer platform investments with enhanced user experiences. Two new features in particular, Activities and WebSlices, will enable developers to reach beyond the page and introduce new ways for users to stay connected to the content and services of their choice. See for yourself. Download Internet Explorer 8 beta 1.

    Thanks for Reading

    Editor MSDN Community Distribution


    Do you have Low Bandwidth or no Internet Connection?

    You don’t have to worry MSDN Community Distribution is near you!

    Link to our community distribution site
    http://www.microsoft.com/emea/msdn/communitydistribution/default.aspx
    Links to find out about agents closest to you
    http://www.microsoft.com/emea/msdn/communitydistribution/distribution_agents.aspx
    Link to register to become an agent.
    http://www.microsoft.com/emea/msdn/communitydistribution/register.aspx

    You will receive our Bimonthly CD which content includes

    • How to Videos
    • Interesting Articles
    • Source Codes of Sample programes
    • All delivered to you free of charge and no restriction
    • Sometimes Beta programs of developers related MS products

    Your Featured Content

    Free How-to Videos

    Bring a Legacy Web Site up to a Standards Compliant Site

    by Todd Miranda

    A standards compliant web site is built following the rules recommended by the World Wide Web Consortium (W3C). Expression Web was built with standards compliance in mind. There are many tools built into Expression Web that help you develop a web site using the latest W3C standards.
    This video demonstrates how to bring a legacy web site up to a standards compliant site.

    (25 minutes, 25 seconds)

    Sample code files
    Video

    Create a SQL Datasource in Expression Web

    by Todd Miranda

    Expression Web has many tools for working with static HTML pages, but it also has tools for creating more dynamic pages. Dynamic pages often retrieve data or content from a source of data.
    This video demonstrates how to create a SQL Datasource to be used in dynamic pages.

    (11 minutes, 19 seconds)

    Sample code
    Video

    Create Site Navigation Based on Site Structure

    by Todd Miranda

    Most web sites have more than one page, so some type of navigation user interface is needed. A navigation user interface can be some static links to the other pages, or can involve the use of menus or treeviews. No matter how the navigation user interface is implemented, a site's logical structure (also called a site map) must first be defined. Prior to ASP.NET 2.0, developers typically created their own site navigation solutions, which can be time-consuming and expensive to maintain. ASP.NET 2.0 makes defining a site's structure and implementing the navigation user interface much easier.
    This video demonstrates the use of some ASP.NET 2.0 navigation controls in Expression Web.

    ((21 minutes, 34 seconds)

    Sample code files
    Video

    More free video's

    Slverlight keyboard support

    WinVideo Security Encryption Overview


    Case Study
    Tennessee Department of Human Services Chooses Microsoft Software to Make Better Use of In-House Expertise

    Microsoft Visual Studio Team System 2008 helps accelerate the development of new solutions and supports DHS's application lifecycle management strategy, while Windows Server 2008 and SQL Server 2008 provide a full-featured, reliable, cost-effective, and easy-to-manage platform for deploying and supporting those solutions - all of which is possible with in-house resources and expertise.


    Training

    Download a Free SQL Server 2008 E-Book Offer

    In Introducing SQL Server 2008, you'll learn about major new features in SQL Server 2008, including security, administration, and performance. Get a free offer of excerpts from this insightful new book by Peter DeBetta.


    Security for Developers

    Secure Your ASP.NET Apps And WCF Services With Windows CardSpace
    Windows CardSpace replaces traditional username/password authentication with a tool that helps users better manage their digital identities and helps shield users from various forms of identity attack such as phishing. Michèle Leroux Bustamante explains.
    Which Groups Does WindowsIdentity.Groups Return?
    WindowsIdentity exposes a
    Groups property which returns a collection of IdentityReferences for the groups that a particular user is a member of.  However, if you look closely, you'll find that these returned groups won't necessarily include all of the groups that the user is a member of..


    Evaluation Center

    To help you start creating Silverlight 2-based applications, Microsoft announced the Microsoft Expression Blend 2.5 March 2008 Preview, which can be used to create and modify managed Silverlight 2-based applications. Download Microsoft Expression Blend 2 and report any technical issues to the team.
    Microsoft also unveiled the Expression Studio 2 Beta at MIX08 with support for PHP and Silverlight. The Beta release includes Expression Web 2, Expression Blend 2, Expression Design 2, Expression Media 2 and Expression Encoder 2. Download the Microsoft Expression Studio Beta.
    Also at MIX08, Microsoft unveiled the first public beta of Internet Explorer 8, the next version of the popular browser that delivers significantly improved standards support and developer platform investments with enhanced user experiences. Two new features in particular, Activities and WebSlices, will enable developers to reach beyond the page and introduce new ways for users to stay connected to the content and services of their choice.


    Posted by willy with 1 comment(s)
    Filed under: ,

    Problems with VSTS Web Tests?

    If you are having problems with VSTS Web Tests  and need to roll-up your debugging sleeves, make sure you read Ed Glas's blog first at http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx. Excellent 5-star resource  pointed out by Wes ... thanks!

    Posted by willy with no comments
    Filed under:

    Debugging ... break on memory change in .NET

    Have you encountered the same problem we have dabbled with, namely to find the debugging feature of setting a breakpoint on memory or a variable and get the debugger to alert you when the content of the memory|variable changes? Those of us working with Visual Studio C++ will probably shrug it off as one of the standard and useful debugging features, while the C#/VB.NET developers should have realised it is not supported yet.

    David Kean has a useful interim suggestion and I quote in italic:

    1. Turn the field into a property (give it the same name) and recompile, this way you can set a breakpoint on the setter.
    2. Turn off property and method evaluation in the debugger while looking at the issue – I spent two days diagnosing the above issue, only to find that the debugger itself was affecting my results.

    We hope that it will soon be supported in .NET as well ... q:)

    Posted by willy with no comments
    Filed under:

    TFS Branching Guidance II - we need your input!

    The VSTS Rangers and MVPs are embarking on an exciting project to upgrade the TFS Branching Guidance, which can be found here. Your constructive input of what is good, bad, missing, incorrect and field scenarios would be highly appreciated as input to the upgrade.

    If you have anything you want us to consider as part of the upgrade, then submit it to us and have your say!

    0202 Microsoft Team System Branching

    Posted by willy with no comments
    Filed under:

    Common Bits&Bytes Patterns - Factory Pattern, Part 5 of 5

    Continued from http://dotnet.org.za/willy/archive/2008/05/20/common-bits-amp-bytes-patterns-iterator-pattern-part-4-of-5.aspx.

    Factory Pattern

    The last of this short series is the factory pattern, whereby we will cover the Abstract Factory and the Factory Method in future posts.

    Category Creational design pattern
    Intent Define a common interface for object creation, delegating the instantiation of object to sub classes
    Applicability Use when a solution needs independence of how products are created

    Class Diagram

    image

    Source Code Example (from MSDN)

       1: using System;
       2: using System.Collections.Generic;
       3: using System.Linq;
       4: using System.Text;
       5:  
       6: namespace Factory
       7: {
       8:     interface IProduct
       9:     {
      10:         int FeatureA();
      11:         int FeatureB();
      12:     }
      13:  
      14:     class ConcreteProductA : IProduct
      15:     {
      16:         int IProduct.FeatureA()
      17:         {
      18:             throw new NotImplementedException();
      19:         }