Know your carbon offset?

Posted in Microsoft Silverlight | SharePoint Products and Technologies | Virtual Earth at Sunday, July 08, 2007 12:09 PM Eastern Daylight Time

As mentioned in my last post, in addition to the website redesign and replatform to MOSS, I also oversaw a project that involved taking one of the customer's primary "eye candy" applications, an HTML/JavaScript-based carbon calculator, and ported it to Microsoft Silverlight v1.1 Alpha.  We solicited the services of a couple of talented developers, Pete Brown and Steve Suing, both of Microsoft Gold Certified Partner Applied Information Sciences to construct a compelling user experience geared as showcasing how you can leverage Silverlight to build Rich Internet Applications (RIAs).  And what more compelling a business scenario than to build a solution geared at drawing attention to our carbon consumption with hopes at making us all take a more proactive stance and preserving the earth's natural heritage by conserving on our energy consumption!

Below are some screenshots of the application, that you can access here, and while you're there, make a contribution to a worthy cause!  Pete also has written a blog post that breaks down how the application was built.  Head on over to his blog and check out the post.

 In the spirit of talking about the cool projects I've been working on as mentioned in a previous post I want to bring your attention to two new MOSS-powered websites that just launched, right at the eve of this year's Live Earth event (that's currently happening as I write this).  The customer's name is Conservation International and they've just re-launched their public internet web properties on Microsoft Office SharePoint Server 2007.  Today, marks the official day of Live Earth, a 24-hour, 7-continent concert series taking place on 7/7/07 that will bring together more than 100 music artists and 2 billion people to trigger a global movement to solve the climate crisis. Live Earth will reach this worldwide audience through an unprecedented global media architecture covering all media platforms - TV, radio, Internet and wireless channels.

MSN is one of the sponsors of Live Earth and has launched an official website in support of the event.  Conservation International serves as one of the major content providers for MSN's Live Earth website.  I've been working with this customer in migrating their existing web infrastructure, which was previously powered by two 3rd party content management solutions to Microsoft Office SharePoint Server 2007.  Working under a tight deadlines, we were able to successfully migrate their existing sites over to the SharePoint platform and this is a true testament of the power and flexibity SharePoint Server 2007 provides for establishing a robust internet web presence.  Also in the wake of the migration to SharePoint, we also found time to build a "real world" application, a web-based carbon calculator, using Microsoft Silverlight v1.1 and Microsoft Virtual Earth which is a true demonstration of the power and flexibility of the Silverlight platform in delivering compelling Rich Internet Applications (RIAs). 

In future posts, I'll go into more detail into how we built these websites, but in the mean time, hop on over to http://www.conservation.org/ and http://www.biodiversityhotspots.org/ and check out MOSS in action!  If you want to see the really slick Silverlight carbon calculator, hop on over to here

As I mentioned in my last post, I've had the opportunity to work on a number cool solutions in recent months.  One solution that I've been privileged to work on and help deliver is the Office Business Application Reference Architecture Pack for Public Sector (wow, say that 5 times fast!) and it has just been released to MSDN.  This reference architecture provides prescriptive architecture and guidance for addressing a major business problem within today's Public Sector organizations, that being the processing of electronic forms. It illustrates how an OBA (Office Business Application) can be built to automate and optimize forms processing.  The reference solution framework showcased in the RAP is generic and can be adapted to enable end-to-end processing of a number of electronic forms in the Public Sector.

This OBA solution was built using a number of technologies from the 2007 Office System and .NET 3.0 platforms.  Among those technologies include:

  • Microsoft Office SharePoint Server 2007
  • Microsoft Office InfoPath Forms Services
  • Windows Workflow Foundation
  • Windows Communication Foundation
  • Microsoft Office InfoPath 2007
  • Microsoft Office Outlook 2007

Also included as a part of the RAP are a number of supplementary materials including a click through demo, videos, technical and business presentations, and architecture whitepapers.  The RAP is being bundled as a Virtual Machine image, which will include the working application and source code and will be made available from our Microsoft Connect website.  You will be able to download the Virtual Machine image from there and can use either Virtual PC 2007 or Virtual Server 2005, which are both free, to run the solution.

This version of the RAP only marks phase I of a multi-phased approach for delivering OBA capabilities to address E-forms processing.  In future releases we'll be introducing more advanced capabilities, including:

  • Personalized citizen portals
  • Live Collaboration and Communication (Citizen to Organization, Organization to Citizen)
  • E-Forms analytics and activity monitoring
  • Advanced Office client integration for information workers
  • Rich Internet Application (RIA) capabilities via Silverlight
  • Integration of information cards using Windows CardSpace

So keep your browsers tuned into the many exciting things that'll be coming out of Public Sector.

Wow, October 18, 2005?  That was the date of my last post!  Well certainly a lot has happened since then!  I've had brief "blog post cameos" on my team's blog at http://blogs.msdn.com/publicsector, but I think it's about time I get back to my roots and start posting.  For those of you who've followed my blog, even back when I was on DotnetJunkies.com, you know that I joined Microsoft back in 2005 as a Technology Architect at the Microsoft Technology Center.  During my time there, I've had the opportunity to architect some of the coolest solutions on our platform.  The desire to further evangelize our platform in delivering robust solutions has landed me as an Architect Evangelist within our Public Sector Developer & Platform Evangelism team where I now work with customers to help them realize the potential of our platform in delivering compelling solutions that tackle many of the business problems that plague organizations today.  Still staying true to my SharePoint roots, I've been doing a lot of work helping customers architect Office Business Applications in efforts to exploit the power and flexibility of the 2007 Office System platform for delivering compelling business solutions.  In addition, I've also been focusing on helping customer deliver solutions using our take on SaaS (Software as a Service) methodologies with our S+S (Software+Services) initiatives, improving the web user experience with technologies our recently introduced Silverlight platform, as well as continuing to build robust, SOA-enabled enterprise applications using .NET 3.0.

I've had the opportunity to do a number of cool things that I'll be blogging about and I promise to not go on such long "blog sabbaticals" again :-)

Windows Workflow Foundation (WF) vs BizTalk Server

Posted in BizTalk Server | General Opinions | Windows Workflow Foundation (WF) at Wednesday, September 14, 2005 12:15 PM Eastern Daylight Time

Yeah, I know it's been AGES since my last blog post.  I'm not going to even begin making apologies or excuses.  I will say to those who've followed my blog, that I am going to start ramping up the frequency of my blogging, as I have a lot to talk about.  Upon joining Microsoft last January, I've not had much time to do a lot of things I did before I joined the collective.  Needless to say, however, that since joining Microsoft, I've gotten to see (or at least hear) about a number of new initiatives coming out of Redmond that's geared at making developer's lives a lot better.

For those of you who used to follow my blog on DotNetJunkies.com, you'll probably remember I had a series of posts on my design/development process around a custom XML-driven workflow engine I was working on (BTW, I'll be posting an archive of those posts on my new blog here).  Well, had I known then what I know now, I'd have definitely tried to get onboard our TAP (Technology Adoption Program) and gotten my customer involved with exploring Windows Workflow Foundation (formerly known as Windows Workflow Services and Windows Orchestration Engine (WinOE)) as well as pushed Microsoft in trying to support our current platform with a release of WF that'll work with v1.1 of the .NET Framework!

Windows Workflow Foundation, in a nutshell, is our new framework for building workflow-enabled applications.  It consists of a programming model, a full-blown workflow engine, and developer tools for building custom workflow solutions.  WF will sit as another namespace within our WinFX stack (System.Workflow) and will provide the necessary tools for building compelling workflow solutions for the Windows platform. Working here at the Microsoft Technology Center, one of my focuses is around connected systems and business process automation, alongside portals/collaboration of course [:)],and I've engaged with a number of customers who are searching for a solution to address their need for introducing workflow into their applications without having to resort to BizTalk Server or going with third-party workflow solutions.  With WF, we now have technology that we can position as an alternative solution that delivers rich functionality out-of-the-box for introducing workflow within their enterprise applications.

Over the course of my next several posts, I drill into Windows Workflow Foundation and discuss how you can build some value adding solutions with the technology.  As my own personal case study that'll fuel the posts, I'll use the custom engine I wrote a year ago and blogged about during my time on DotNetJunkies and completely rearchitect it to work with WF as well as Windows Communication Foundation (formely known as "Indigo").

But before I go hog wild about WF, let me first set some groundwork around the technology and basically tell you what it is NOT

  • WF is not the next version of BizTalk Server - Customers whom I have engaged with recently and presented this new technology to get confused with where WF and BizTalk fit.  I've often fielded questions of whether WF will simply be a component of BizTalk Server or is it a replacement of the BRE (Business Rules Engine) or whether WF will be the platform of the future and BizTalk will get phased out in favor of building more integration tools/technologies into the operating system.  WF will serve as a common workflow solutions framework that will not only be leveraged by future versions BizTalk Server, but many of the future versions of a number of Microsoft products, including the Office System (Office, SharePoint Products & Technologies, etc), and the Microsoft Dynamics products (formerly known as Microsoft Business Solutions).  WF is geared at complementing BizTalk Server rather than serve as a replacement.  BizTalk will still have it's place in the Microsoft product roadmap as serving as our premier integration and business process management platform.  It is worth noting, however, that BizTalk developers will feel right at home with the development environment of WF and will be able to do things that you currently can't do with BizTalk Server.
  • WF is not BizTalk Human Workflow Services (HWS) - Human Workflow Services (HWS) in BizTalk Server has always left a lot to be desired.  It has been a technology that has had great intentions, but very poor on execution.  In future versions of BizTalk, HWS will be phased out in favor of a more robust and extensible solution that leverages WF.

I've been working with this technology for the past several months now and I have to admit that this is one of the coolest things I've seen.  I strongly recommend that you go and download the whitepapers and the bits and get started in building compelling workflow solutions!

This sample code demonstrates how to programmatically list all SharePoint Portal Server 2003 or Windows SharePoint Services v2.0 site groups and the users they contain (exception handling omitted). For simplicity the example code below demonstrates how to write this information to a basic text file.

In C#

using System;
using System.IO;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

StreamWriter Writer = File.CreateText(@"C:\Temp\GroupsAndUsers.txt");

try
{
   SPWeb PortalWeb = SPControl.GetContextWeb(Context);
   SPRoleCollection PortalGroups = PortalWeb.Roles;

   foreach(SPRole Group in PortalGroups)
   { 
      Writer.WriteLine(String.Format("Group: {0}", Group.Name));

      foreach(SPUser User in Group.Users)
      {
        Writer.WriteLine(String.Format("- {0}", User.Name);
      }
   }
}
finally
{
   Writer.Close();
}

In VB.NET

Imports System
Imports System.IO
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.WebControls

Dim Writer As StreamWriter = File.CreateText("C:\Temp\GroupsAndUsers.Text")

Try
   Dim PortalWeb As SPWeb = SPControl.GetContextWeb(Context)
   Dim PortalGroups As SPRoleCollection = PortalWeb.Roles

   For Each Group As SPRole In PortalGroups
      Writer.WriteLine(String.Format("Group: {0}", Group.Name))
 
      For Each User As SPUser In Group.Users
         Writer.WriteLine(String.Format("- {0}", User.Name
      Next
   Next
Finally
   Writer.Close()
End Try

On This Page

Books

Back to Top

Microsoft Web Sites

GotDotNet.com has a SharePoint Products and Technologies page

Back to Top

Third-Party Web Sites

Recommended SharePoint Downloads

Whitepapers

WSS Site Definition Templates

Resources

Tools

  • Microsoft Office SharePoint Portal Server 2003 Document Library Migration Tools
    The Microsoft® Office SharePoint™ Portal Server 2003 Document Library Migration Tools move documents, versions, metadata, folders, and security settings from Microsoft SharePoint Portal Server 2001, as well as from SharePoint Portal Server 2003 backward-compatible document libraries, to SharePoint Portal Server 2003 document libraries. This installation includes an export tool, an import tool, and documentation for use of the tools.

  • SharePoint Configuration Analyzer v1.0 for Windows SharePoint Services
    SharePoint Configuration Analyzer is a diagnostic tool that verifies settings on your server that are critical to running Microsoft Windows SharePoint Services or Microsoft Office SharePoint Portal Server 2003 and to hosting Web Parts on your server. SharePoint Configuration Analyzer also reports on Web Part usage on your server and retrieves a set of log files, configuration files, and Web Part packages used by Windows SharePoint Services, SharePoint Portal Server, and Internet Information Services (IIS). In a server farm configuration, running SharePoint Configuration Analyzer on each front-end server is a useful way to find and repair inconsistencies in server configurations and to ensure that all Web Part assemblies are deployed on all front-end servers.

  • SharePoint Products and Technologies Online Web Part and Tools Library
    Welcome to the Microsoft SharePoint™ Products and Technologies Web Component Directory. The Directory was designed to provide a place where thousands of developers and users who use Microsoft Windows® SharePoint Services and Microsoft Office SharePoint Portal Server 2003 can download and submit custom extensions.

  • Windows SharePoint Services: Document Library Event Handler Toolkit
    The sample in the Document Library Event Handler Toolkit (EventHandlerToolkit.exe) download introduces developers to the Microsoft Windows SharePoint Services list events feature for document libraries. The download consists of two projects, SampleEventSinks and the WSS Event Monitor. The SampleEventSinks project contains several sample event sinks; the WSS Event Monitor is a stand-alone application that will display events as they occur on a document library.

  • SharePoint Products and Technologies 2003 Software Development Kit (SDK)
    Microsoft SharePoint Products and Technologies uses a common set of Microsoft® Windows Server™ 2003 services named Windows® SharePoint Services, to take advantage of the performance, stability, and security features of the Microsoft .NET Framework. Use Windows SharePoint Services to create and maintain team sites. Microsoft Office SharePoint Portal Server 2003, a server product, is built on Windows SharePoint Services, and adds features used to build and manage integrated, large-scale portal solutions.  This SDK also includes new documentation for the Web Part Page Services Component (WPSC), which is a client-side component that adds dynamic capabilities to your Web Part Page by providing Web Part discovery, notification, and state management services used by Web Parts; and for Windows SharePoint Services RPC methods.

  • SharePoint Portal Server 2003 Trial Software
    Download or order a 120-day evaluation copy of SharePoint Portal Server 2003 trial software and learn how to seamlessly connect users, teams, and knowledge to work more efficiently and make use of relevant information across business processes.

  • Windows SharePoint Services 2.0
    Windows SharePoint Services is the Windows Server 2003 component that helps organizations increase individual and team productivity by enabling them to create Web sites for information sharing and document collaboration.  Sites based on Windows SharePoint Services, called SharePoint sites, take file storage to a new level and help create communities for team collaboration. Users can collaborate on documents, tasks, and events and easily share contacts and other information. In addition, Windows SharePoint Services makes it easy for managers of teams and sites to manage site content and user activity. The environment is designed for flexible deployment, administration, and application development.|

  • SharePoint Explorer
    A free tool for exploring the object model of a SharePoint Portal 2003 installation. It allows you to view and modify all the properties, including the hidden ones, of virtual servers, sites, lists, document libraries, files, areas, indices, content sources and more. This tool is a must for SharePoint developers.

  • HTML Viewer for Windows SharePoint Services
    The Office HTML Viewer server provides support for users who want to view the content of files in Microsoft Windows SharePoint Services document libraries, but do not have Word, Excel, or PowerPoint from Office 97, or a newer release of Office, installed on their local computer.

Service Packs

Back to Top

GotDotNet Workspaces

  • BizTalk Server Adapter for SharePoint Libraries
    This article describes a Microsoft® BizTalk® Server adapter that facilitates end-to-end communication between front-end Microsoft Office System 2003 applications and back-end enterprise systems. SharePoint libraries store Office System XML data while BizTalk Server orchestration provides services for integrating that data with back-end systems. This adapter makes SharePoint libraries accessible to BizTalk Server 2004 to provide an end-to-end integration path from the Office System 2003 applications to back-end enterprise systems

  • SharePoint Syndication
    Extension for SharePoint (WSS and SPS) that exposes site information via standard XML syndication formats (RSS, OPML, etc)

  • SharePoint Web Part: Finder
    The "Finder" Web Part provides Administrators with the ability to add a custom search box to any SharePoint Portal Server web part page. In addition to this, it provides the ability to filter searches based on a specific type of content. For example, a search could be restricted so that the search includes only "People"

  • SQL Server 2000 Reporting Services Web Parts
    A collection of SharePoint WebParts that integrate with SQL Server Reporting Services.

Back to Top

SharePoint Newsgroups

Back to Top

Microsoft Seminars Online

Back to Top

MSDN Webcasts

  • Windows SharePoint Services Security
    This webcast is designed to teach developers and IT professionals how to configure security for a SharePoint site. You will learn how SharePoint leverages IIS to authenticate users and to track their identity. You will also see how to manage site permissions and list permissions using site groups, cross-site groups and Active Directory groups. This webcast also includes a discussion of other topics such as configuring the identity of the SharePoint worker process, authenticating with SQL Server and troubleshooting security errors caused by a document library event handler. The session will conclude with an examination of the SharePoint security requirements and restrictions placed upon Web Parts. You will learn how and why to configure a Web Part as a SafeControl. You will also learn how configure Code Access Security (CAS) for SharePoint so you can strengthen or relax the security restrictions placed upon Web Parts in a production environment

  • Configuring Search with the Microsoft Content Management Server Connector for SharePoint Technologies
    This webcast will describe how the Microsoft® Content Management Server Connector for SharePoint Technologies integrates SharePoint™ Portal Server search functionality with Content Management Server sites. You won’t want to miss the demonstrations on how to configure indexing of Content Management Server content, and how to use the Web controls provided in the Microsoft Content Management Server Connector for SharePoint Technologies to implement a search page in your site

  • Creating Custom Rendering Templates with the Microsoft Content Management Connector for SharePoint Technologies
    The Microsoft® Content Management Server Connector for SharePoint Technologies provides a Content Management Server placeholder that can be used to render documents in a SharePoint™ Services or SharePoint Portal Server document store on a Content Management Server page. In this webcast you will learn how to customize the way these documents are rendered by creating custom rendering scripts

  • Integrating Project 2003 with Windows SharePoint Services
    This webcast presents an overview of Windows SharePoint Services (WSS) and how it integrates with Project Server. It then proceeds to describe the benefits WSS adds to a Project Server implementation and discusses WSS deployment and its scalability option

  • Creating Custom Web Part Views for the Microsoft Content Management  Server Connector for SharePoint Technologies
    The Microsoft® Content Management Server Connector for SharePoint™ Technologies includes Web Parts that can be used to integrate Content Management Server publishing functionality with SharePoint Portal Server or SharePoint Services pages. In this webcast you will learn how to display Content Management Server pages in these Web Parts and how to customize their appearance by developing custom components

  • Integrating BizTalk Server 2004 with SharePoint
    This webcast will cover Design, Configuration, Interaction and Monitoring of business processes for