Browsers tests with Expressions 4 SuperPreview

Microsoft Expressions 4 contains a feature called SuperPreview, which was previously released as a stand-alone component.

Version 3 allowed the user to select a version of IE and test their pages. You could also . The result was not fantastic and some discrepancies were found. True IE7 mode was noticeably missing.

image

The new version allows you to test using IE7 and external browsers. Safari is first out and more to follow.

You can also overlay with PDF files directly.

image

Read more about SuperPreview at http://www.microsoft.com/expression/products/web_overview.aspx

Working with SharePoint 2010 modal dialogs

A new feature of SharePoint 2010 is the modal dialog which resembles the classic LightBox behavior. This allows us to add and edit items, manage meta data and perform administrative tasks within the context of a page without leaving the page.

Fig 1: SharePoint 2010 modal dialog  '

Fig. 1: SharePoint 2010 modal dialog

The code uses the client library SP.UI.ModalDialog and the method showModalDialog vwhich can be called directly from the page as:

   1: function test() { 



   2:     //debugger; 



   3:     SP.UI.ModalDialog.showModalDialog({ 



   4:         url: "/Lists/Announcements/NewForm.aspx", 



   5:         title: "Add item", 



   6:         allowMaximize: true, 



   7:         showClose: true, 



   8:         width: 800, 



   9:         height: 600, 



  10:         dialogReturnValueCallback: silentCallback 



  11:     }); 



  12: }; 



  13:  



  14: function silentCallback(dialogResult, returnValue) { 



  15: } 



  16:  



  17: function refreshCallback(dialogResult, returnValue) { 



  18:     SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK); 



  19: }






The ModalDialog takes an option structure of SP.UI.DialogOptions. At the moment there is no MSDN documentation around this, but keep looking at the documentation at http://msdn.microsoft.com/en-us/library/ff408909(v=office.14).aspx.



The code opens a new modal lightbox dialog in the “dialog” display mode. The SharePoint page that we want to load will have the usual master page. This will not be needed in a modal dialog, so the scripts appends the parameter IsDlg=1 to the URL.



Regular “NewForm.aspx





image



Using “IsDlg=1



image

User requirements modeling with TFS 2010 for Scrum backlogs

Gathering user requirements is a difficult task. Even when a client knows his or her actual business requirements and goals, it is hard to define how this translates to an actual solution. On top of that, when several different types of users need to register their requirements, these can look very different indeed.

In a common scenario, the “Vision and Scope document” would paint a few different pictures:

…a reliable platform with 99.8% uptime, capabilities for granular restore of data without additional downtime. Virtualization support is a must. User data and information should be controlled and governed centrally.IT Administrator

…a system that is easy and fast to use so that I can spend more time on actual research instead of administering the results.Laboratory Researcher

“…a centralized repository for storing and serving staff self-service forms and policies.” Human Resources Administrator

To model these requirements, we can use the Use Case diagram functionality of Visual Studio 2010. This would tie the requirements to different actors as in this simple example from MSDN:

As an example, an online meal selling system must allow customers to choose items from a menu, and must allow the providing restaurants to update the menu. You can summarize this in a use case diagram:

Use cases for Customer and Restaurant

You can also show how a use case is composed of smaller cases. For example, ordering a meal is part of buying a meal, which also includes payment and delivery:

System participates in payment but not delivery.

You can also show which use cases are included in the scope of the system that you are developing. For example, the system in the illustration does not take part in the Deliver Meal use case. This helps set the context for the development work. (In a use case diagram, subsystem containers can be used to represent the system or its components.)

It also helps your team discuss what will be included in successive releases. For example, you could discuss whether, in the initial release of the system, Pay for Meal is arranged directly between the restaurant and the customer, instead of going through the system. In that case, you could move Pay for Meal outside the Dinner Now System rectangle for the initial release.

 

This modeling type gives you a clear indication of what user requirements have been gathered and how these can be linked to the user who requested it. On top of that, we can model the sequence in which the requirements fit together, interact or how one requirement is broken down between actors and existing systems. For this task, we can use a Sequence Diagram from Visual Studio 2010. Again, a simple example from MSDN:

You can use a sequence diagram to show the interchange of messages between your system and external actors, or between parts of your system. This provides a view of the steps in a use case that shows very clearly the sequence of interactions. Sequence diagrams are especially useful where there are several interacting parties in a use case, and also where your system has an API.

For example:

Sequence diagram with System and actors.

One advantage of sequence diagrams is that it is easy to see what messages come in to the system that you are constructing. To design the system, you can replace the single System lifeline with a separate lifeline for each of its components, and then show the interactions between them in response to each incoming message.

 

You can now tie these requirements together with your work items in Team Foundation Server (TFS) and especially with the User Story in your sprint backlog using MSF For Agile. To do this, right-click a UML element and select “Link to Work Item…”

 image

Then create a complete user story and associate acceptance tests.

image 

Later on we can use these requirements to navigate and track work completed during the sprints which can be a good tool for the support team when we enter the support and administration phase of the project.

For more information on Visual Studio modeling of user requirements, see http://msdn.microsoft.com/en-us/library/dd409376.aspx.