Since 2004, a blog by members of the PremierPoint Solutions team - experts and pioneers on Microsoft SharePoint. (PremierPoint Solutions is formerly SharePoint Solutions.)
Wednesday, April 25, 2007
MSDN: Team-Based Development in Microsoft Office SharePoint Server 2007
For a few years now, our software engineering team here at SharePoint Solutions has been using a development environment similar to what Eric describes. Because we are geographically distributed, we rely on local virtual development environments (robust Dell laptops running Virtual Server 2005 RC2), that connect to Team Foundation Server over VPN. Prior to TFS and VPN, we used Visual Source Safe with SourceGearSourceOffSite and CruiseControl.NET. SourceOffSite was (barely) a workable solution, but now seems like the dark ages in comparison to Team Foundation Server. As for the source code vault itself, we take the approach of using a common mainline for team builds, with each of us working in isolated virtual build labs for incremental building and testing. We merge from our independent VBLs to the common Mainline, and kick off team builds for testing and release.
We are primarily focused on producing software solutions for redistribution, so every artifact and assembly we create must be packaged for deployment. In Visual Studio, our solutions are comprised of modified C# class library projects which have been customized to output SharePoint deployment packages (.wsp). Although the VSeWSS toolset has some nice conveniences, it just doesn’t provide us with the granularity we need for packaging commercial applications. A simple example of how we structure a project can be found in my October 2006 post Anatomy of a SharePoint WSS v3 Feature Project in Visual Studio 2005.
Finally, we depend on the WiX toolset for creating Windows Installer packages to distribute our software products. Here too, we use modified C# class library projects which have been customized to output MSI setup packages. The last step of our team build process zips up the appropriate outputs, then places them in a staging area where they await manual release to web (RTW).
Friday, March 30, 2007
Extranet Collaboration Manager - Standard Edition 1.0.0 Final has been Released to Web (RTW)
I wanted to thank the literally hundreds of SharePoint Solutions software customers who have helped us with Beta testing ExCM - SE over the past few months. Your input and assistance have been invaluable in helping us to release another quality add-on product for SharePoint 2007.
For full details on the features and functionality of ExCM - SE 1.0.0, please visit its product home page.
Wednesday, March 07, 2007
Latest Release of ExCM - SE for SharePoint 2007 Adds User Profile Management
Many of our software customers have been asking for us to add user profile management capabilities to the ExCM - SE product. As a result, with this latest release you can now define custom user profile properties of text, date and yes/no data types. You are further able to configure user profile fields as required or optional for users to complete when registering for access to your site. As well, you can apply a custom validator to your user profile properties, requiring data to be input in a specific format. From your users' perspective, you can now enable them to manage their own profile properties by selecting a menu item on SharePoint 2007's Welcome menu.
Adding functionality such as user profile management in ExCM - SE illustrates that we appreciate the feedback we receive from our software customers, and we will continue to take you seriously when we make design decisions for our products.
Thursday, February 22, 2007
Extranet Collaboration Manager for SharePoint 2007
The solution to the challenges you are facing is our new Extranet Collaboration Manager for SharePoint 2007 product. ExCM comes in two versions - Standard Edition and Enterprise Edition.
- ExCM - Standard Edition provides you with a suite of tools to Simplify SharePoint 2007 extranet user access and management. See the ExCM product page for more details.
- ExCM - Enterprise Edition allows your users to submit a request when he or she would like to have a new SharePoint 2007 site provisioned. You can easily associate custom workflows with the new site requests, asking for approval prior to site creation. Once a site request is approved, ExCM - EE will automatically provision the site for you using any SharePoint 2007 site definition you have specified.
We are actively seeking organizations which are interested in using ExCM - SE to augment the collaborative capabilities of their SharePoint 2007 extranet, and are willing to particpate with us in an implementation case study. Upon completion of the case study implementation, we would want to interview the salient participants and reference them in one or more press releases. If you are interested in working with our team of SharePoint experts to implement ExCM - SE in your SharePoint 2007 extranet, please contact me for further discussion.
Wednesday, February 21, 2007
New SharePoint BI Course
Microsoft has poured many man hours into deepening the integration between MOSS 2007 and its SQL Server and Excel Services business intelligence tools, but to-date has not provided publicly available classroom training on how all of this is designed to work, best practices and tips and tricks.
We have just completed work on a course to do just that: Building Reporting Portals and BI Dashboards with SSRS, Excel Services and MOSS 2007. You can read the full course outline here.
I think this is going to be an outstanding course (first class to be conducted in Nashville, TN on March 6 - 8 and to be conducted regularly in Nashville, Chicago and Dallas thereafter). One of the reasons I think this course will be very good is due to the deep BI experience of the author and lead instructor, Paul Vaughn.
Paul is a 20-year industry veteran and has spent the last four years developing a multi-terabyte data warehouse for a large healthcare company here in Nashville. Nashville is a hot spot for the healthcare industry (the world's largest for-profit hospital chain, HCA, is headquartered here) and the healthcare industry is a huge user of BI applications and technologies. So, Paul has some very relevant and first-hand practical experience to share with his students. This all adds up to an outstanding learning opportunity for those wanting to develop industrial-strength BI applications with MOSS 2007 as the delivery mechanism.
Thursday, February 01, 2007
Great example of Office System integration
I think the way Microsoft continues to enhance the integration between all of the Office programs and SharePoint may be the #1 reason why the Office System stands out from the crowd. To this end, I demo'd an application that I developed easily and with no code. The application featured my Pocket PC Phone running Windows Mobile 5.0, OneNote 2007 Mobile, OneNote 2007 on my laptop, MOSS 2007 and Outlook 2007.
In a nutshell, the application involves using the Pocket PC Phone's camera and OneNote Mobile to snap and store a picture of an expense receipt. Then Activesync automatically adds the note to OneNote on the laptop and I quickly annotate the image of the receipt. After that, I publish the OneNote page with the image to a SharePoint document library for the project the receipt relates to. The document library has the out-of-the-box MOSS Approval workflow setup to route the receipt for approval through my boss and then to accounting for reimbursement. Once the approval workflow kicks in, my boss never has to go to the document library to do his part. Instead, he is notified automatically by the workflow via Outlook 2007 and can approve the receipt right in Outlook.
This is the type of application that would have previously required hundreds of development hours to custom develop. Now, all of the pieces are baked right into the Office System. Way to go Office team in Redmond! After the demo, one of the Information Workers in the conference held up a sign with a 9.5 score (out of 10) on it. I took it as a compliment, but who knows, maybe he thought he was judging a figure skating competition :).
Thursday, December 28, 2006
Using SPWebConfigModification to modify a SharePoint web application's web.config for all servers in the farm
<add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
To push out the AJAX HttpHandler declaration programmatically, the following example console application calls SPWebConfigModification. For the purposes of illustration, I've hard coded the web application's name ("Default Web Site"), but this could have just as easily been passed in as a command line argument:
12/28/2006 - MODIFICATION: Updated code listing with bug fix and added logic to remove the web.config modifcation.
using System;using System.Globalization;using Microsoft.SharePoint.Administration; public class Program { static void Main(string[] args) { string webAppName = "Default Web Site"; // Add AddAjaxHandlerToWebConfig(webAppName); // Remove //RemoveAjaxHandlerFromWebConfig(webAppName); } /// <summary> /// Adds the Ajax HttpHandler to a web application's web.config for all servers in the farm /// </summary> /// <param name="webAppName"></param> private static void AddAjaxHandlerToWebConfig(string webAppName) { AddOrRemoveAjaxHandlerToWebConfig(webAppName, false); } /// <summary> /// Removes the Ajax HttpHandler from a web application's web.config for all servers in the farm /// </summary> /// <param name="webAppName"></param> private static void RemoveAjaxHandlerFromWebConfig(string webAppName) { AddOrRemoveAjaxHandlerToWebConfig(webAppName, true); } /// <summary> /// Adds or removes the Ajax HttpHandler to a web application's web.config for all servers in the farm /// </summary> /// <param name="webAppName">Name of web application</param> private static void AddOrRemoveAjaxHandlerToWebConfig(string webAppName, bool removeModification) { string assmDetails = string.Format(CultureInfo.InvariantCulture, "Microsoft.Web.Handlers.ScriptResourceHandler, Microsoft.Web.Extensions, Version={0}, Culture=neutral, PublicKeyToken={1}", new object[] { "1.0.61025.0", "31bf3856ad364e35" }); SPWebConfigModification modification = new SPWebConfigModification("add[@path='ScriptResource.axd']", "configuration/system.web/httpHandlers"); modification.Owner = "Ajax"; modification.Sequence = 0; modification.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode; modification.Value = string.Format(CultureInfo.InvariantCulture, "<add verb=\"{0}\" path=\"{1}\" type=\"{2}\" validate=\"{3}\"/>", new object[] { "GET", "ScriptResource.axd", assmDetails, "false" }); SPWebApplication webApp = SPWebService.ContentService.WebApplications[webAppName]; if (webApp != null) { if(removeModification) webApp.WebConfigModifications.Remove(modification); else webApp.WebConfigModifications.Add(modification); SPFarm.Local.Services.GetValue<SPWebService>().ApplyWebConfigModifications(); } } }
Real world use cases where this functionality may prove useful include calling SPWebConfigModification from a Window's Installer package Custom Action or perhaps extending stsadm with a custom operation.
Thursday, November 16, 2006
Released! Download WSS v3 and MOSS 2007 RTM
Take a deep breath, and download the bits!
WSS v3
Download Details: Windows SharePoint Services 3.0
Download Details: Windows SharePoint Services 3.0 Lanuage Pack
Download Details: Windows SharePoint Services 3.0 x64
Download Details: Windows SharePoint Services 3.0 Language Pack x64
MOSS 2007
Download Details: Microsoft Office SharePoint Server 2007 Trial Version
* The trial keys for MOSS 2007 are listed in this blog post.
After you've got the bits, here are some instructions and howtos on getting up and running:
Version to Version Supported Upgrade Paths
Installing Windows SharePoint Services 3.0 on a Server Running Windows Small Business Server (This document shows you how to install Windows SharePoint Services 3.0 side-by-side with Windows SharePoint Services 2.0)
Installing MOSS 2007 RTM on a farm running MOSS 2007 Beta2 TR (Shane Young [MVP])
Upgrade from TR to RTM Work Around (Shane Young [MVP])
Upgrading from Windows SharePoint Services 3.0 Beta 2 Technical Refresh to Release Version (Joel Oleson)
Upgrading from Office SharePoint Server 2007 Beta 2 Technical Refresh to Release Version (Joel Oleson)
If you would like instructor-led assistance for upgrading to the latest versions of SharePoint, sign-up for our Upgrading From SharePoint 2003 to SharePoint 2007 course.
Once you've got things installed and running, send your information workers to our Applying SharePoint 2007 - Core Features course.
Categories: sharepoint, wss, software, microsoft, training
Wednesday, November 15, 2006
OBA RAP for SCM, ArcStream, and Skyscrapr
Today I was doing some research on the OBA RAP for SCM when I stumbled across ArcStream and Skyscapr.
Sound Greek? Well, the OBA Reference Application Pack for Supply Chain Management is a reference implementation put together by Microsoft to illustrate how we can build Microsoft Office System 2007 based composite solutions. Microsoft calls these composite solutions Office Business Applications (OBAs) and describes an OBA as being "designed to support cross-functional processes and allow information workers to collaborate" across organizational boundaries.
ArcStream is a relatively new initiative from the East Region Microsoft Developer & Platform Evangelism Team which strives to provide "a constant flow of technical information as well as networking opportunities for enterprise, application, systems and aspiring architects living and working on the east coast". A few of the key folks involved with ArcStream include Chad Brooks, Bob Familiar, Chris Bowen and Scott Jamison.
Finally, Skyscapr.net is maintained by the Architecture Strategy Team at Microsoft with the primary goal of "promoting a community-wide discussion about system architecture". The site provides access to videos, training, glossaries, ARCasts, and blogs that will help you learn more about technology architecture.
Good stuff! Now if I can just get all the way through Beyond Bullet Points. So much to read, so little time!
Tuesday, November 14, 2006
The "Features" feature
The first time anyone hears about the "Features" feature in SharePoint, they either laugh or frown at it. I have yet to see anyone without at least some kind of reaction to it. However, once you get past the name, the concept of Features seems really appealing.
Features provide the “light up” functionality within SharePoint. You no longer need to decide on all the components of a site ahead of time. Each "Feature" can be added on and attached to a site after the site is provisioned. Features can be scoped at the Farm, WebApplication, Site Collection or Site level. Want to know more about Features?? Well, take a look at the following presentation and associated code that I used to present at the SharePoint Connections conference.