Decoupled Communication with Prism (Shared Services)

One common method of cross module communication is through shared services. Let’s say our application is composed of a shell application and various module assemblies. Our shell app provides several core services such as logging, authentication, and service location. When the modules are loaded by the shell app, the modules add their services to the…

4

Composite Services Guidance: External Routing Configuration sample

Let me give you a little background on this sample. If you look at the WCF Routing Service, you can quickly and easily configure a router with endpoints and message filters in the web.config. This is a great way to set up context based routing. You can configure a message filter that identifies messages that…

3

Prism for Windows Runtime: Validating User Input

This is the fifth post in a series that walks you through creating a simple Windows Store app using the Prism for Windows Runtime library. Please review the fourth post in the series for the steps necessary to create the basic app based on MvvmAppBase. One feature that is missing from Windows Store app sdk…

3

What happened to my SPContext?

This last iteration, we ran an interesting issue when services that we request through the SharePointServiceLocator depend on SPContext.Current. This seemed like a reasonable dependency assumption. We consume these services in feature receivers. They work fine when activating the feature via the SharePoint web UI, but don’t work when activating the feature via STSADM –o…

2

DI or not DI

One of the first assumptions floating around the PRISM team room was the use of an Inversion of Control container to provide dependency injection. At this point in the project, I’ve fought against making any and all assumptions that increase complexity. Pros:  This would be a great place to share services between modules. Just register…

2

Prism for Windows Runtime: Creating a basic implementation of the MVVM pattern

This is the second blog post in a series that walk you through creating a simple Windows Store app using the Prism for Windows Runtime library. Please review the first post in the series for the steps necessary to create the basic app based on MvvmAppBase. MvvmAppBase exposes several services including the FrameNavigationService which is…

2

Create a Remaining vs Completed Work report using TFS, SQL Analysis Services, and Excel

If you use the MSF Agile process template, you can leverage the Remaining Work and Completed Work fields defined in the Task work items.   I will show you how to create a report in Excel that shows Remaining Work and Completed Work values changing over time. The hope is that your project shows Remaining…

2

SPG Continuous Integration builds not run on instance of SharePoint

Our Continuous Integration builds are run on a build server that has the necessary SharePoint assemblies, but with no installed instance of SharePoint. Licensing issues aside, this causes an interesting problem when unit tests are developed on dev boxes that have SharePoint installed. Several services found in the SPG Partner Portal application access SPFarm.Local. Developers…

2

Integrating JavaScript Unit Tests with Continuous Integration

One of the main stories for the Web Client Developer Guidance project was to learn how to manage the JavaScript code that is required in modern web applications. This includes how to organize JavaScript, how to load it on a page (especially a problem when doing composite UI), and also how to test it. This…

2

Composite Services Guidance–Release Candidate

Yesterday we uploaded a release candidate drop of our Composite Services Guidance to CodePlex. This should be very close to our final release. The following is just a few items included in the RC drop that you may not have seen before: Enhancements to the Inventory Catalog Explorer (ICE) tool Capability Composition sample Canonical Versioning…

2