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 the Information Worker using BizTalk® Server 2004 Business Activity Services along with Windows® SharePoint™ Services and InfoPath™. Additionally, Steve Resnick will demonstrate a custom-built adapter that reads and writes documents to SharePoint libraries similar to the way the built-in file adapter reads and writes to the file system. This adapter enables you to integrate XML documents stored in SharePoint with your back-end systems

  • Integrating Microsoft Content Management Server with SharePoint Products and Technologies
    Microsoft Content Management Server (MCMS) Connector for SharePoint™ Technologies is a new integration pack that allows for creation of rich portal solutions. This webcast provides an overview of the product's features and capabilities along with demonstrations of various scenarios it addresses

  • SPS 2.0: Developer Considerations
    Moving from ASP.NET to SharePoint Portal Server 2003 development?  Join the folks at imason as they discuss things to consider when developing Line-Of-Business (LOB) applications on top of SharePoint Products and Technologies.

  • SPS 2.0: Architecture and Best Practices for SPS Development
    Learn about key application architecture considerations and best practices around leveraging SharePoint Products and Technologies in your solutions.

  • Advanced SharePoint Workflow Using Custom Document and Form Libraries (Part 1 of 2)
    Part one of this two-part series will show information workers how to install, configure and use the "SharePoint Workflow Document and Form Libraries" in both simple and advanced workflow scenarios including multi-step approval processes that enable the flow of Microsoft Word documents, Microsoft Visio diagrams, or Microsoft InfoPath forms across multiple Microsoft SharePoint libraries and sites.

  • Advanced SharePoint Workflow Using Custom Document and Form Libraries (Part 2 of 2)
    Part two of this two-part series walks developers through the "SharePoint Workflow Document and Form Libraries" code, demonstrating many advanced techniques such as developing a custom SharePoint template, building on top of the document library events, flowing documents across multiple libraries and sites, tying actions into the Microsoft Visio and Microsoft InfoPath APIs, and enhancing the Workflow Libraries through the addition of "Action Plug-ins".

  • Best Practices for Developing and Deploying Web Parts for SharePoint Sites
    Get on the fast track. This webcast will outline lessons learned and advocate best practices for coding, testing, deploying, and managing Web Parts, fetching data asynchronously, managing state, and much more. This session assumes that attendees are already familiar with building basic Web parts, as well as accessing Web services and database content from Microsoft ASP.NET.

  • Coding and Using Web Part Connections for SharePoint Sites
    Part-to-part connections allow users to combine and reuse Web Parts in unintended yet innovative ways. This session explains the mechanism for implementing connection providers and consumers, and offers prescriptive guidance on using the Web Part and Web Part Page techniques made possible by connections.

  • Creating and Customizing Windows SharePoint Services: List, Library, and View Definitions
    Every SharePoint site provides storage for documents, calendars, URL links, contacts, surveys, discussions-or "lists" as we refer to them behind the scenes. While based on a common storage model, lists are allocated, populated, and rendered based on XML and HTML techniques used by both the Web Parts built into Windows SharePoint Services, and by its standard ASP.NET pages. This session illustrates many of these techniques, including how to define custom lists and how to render them to accommodate your user interface requirements. 

  • Customizing and Branding SharePoint Portal Server and Windows SharePoint Services
    Many deployments of Microsoft SharePoint Products and Technologies wouldn't be complete without modifications to settings and user