Hyped-Up Intro (or Why SharePoint + MS Project = Cool)
First, let me start by saying that I have nothing against "geeks"… I'm actually a geek at heart, but at this point couldn't write a snippet of .NET code to save my life. I'm more of a functional guy who knows enough to be quite dangerous with SharePoint and Project Server… which is why the stuff that I'm about to share is so cool!
In this and the following series of posts, we'll review how to use SharePoint Designer 2007 -- one of the new tools in the Office 2007 suite -- to quickly and easily build solutions for Microsoft Project and Project Server 2007 using a couple of special SharePoint web parts… the Data View Web Part (DVWP) and the Data Form Web Part (DFWP)… without writing a single line of code.
First Thing's First: SharePoint Review
Because of its power and flexibility, SharePoint means many different things to many different people. Some might say that it's a website for storing and sharing documents. Others might say that it's a web application for provisioning collaboration websites. Others still might say that it's a development platform for building interactive web-based business applications. One could go on and on… and these definitions are all correct.
Depending on my mood on any given day, if I had to describe SharePoint in one sentence, I might define it like this: it's a tool for provisioning dynamic websites which can be used for electronically capturing, storing, controlling, and sharing data, information, and knowledge within an organization. Can I get any more vague?
There was one concrete part of that definition -- it's a tool for provisioning dynamic websites that can be used to do "stuff" -- so I'll leave that part alone and focus on the "stuff" now.
SharePoint websites can be used for all sorts of "stuff", which I like to think fall into these four categories:
- Communication and Collaboration: Providing people with the ability to effectively find, communicate with, work with, and share knowledge with other people in the organization, regardless of time or location.
- Enterprise Content Management (or ECM): The processes and technologies used for managing the capture, storage, organization, control, retrieval, and distribution of structured and unstructured data across the enterprise.
- Business Process Automation: Automating interactions of people who participate in business processes, as well as the flow of information through those processes, making the work more efficient, predictable, and error-free.
- Business Intelligence (or BI): The practice of aggregating, visualizing, and analyzing data describing the current state of business operations in order to make better-informed business decisions.
Okay, we're a little closer, but for some we might not quite be there yet, so here are some of the features & functions that are included in the various SharePoint products:
- Document, Record, and Web content management, LOB system integration
- Web forms, Content Types with policies and workflow
- Excel Services, KPIs, Dashboards
- Tasks, calendars, blogs, wikis, e-mail & RSS, My Sites, social networking
- Rich people, site, and business data search
One could write an entire 6"-thick book on "what is SharePoint", but the moral of the story is that SharePoint can be used to create dynamic, flexible, powerful websites that can help an organization do any number of things. All we have to do is pick & choose from the huge a la carte menu of features, put the parts together in a logical manner which meets our specific business needs, and voila!
How SharePoint and MS Project / Project Server Can Work Together
SharePoint websites can be used in conjunction with MS Project and Project Server in a number of ways. For example, if used with MS Project, SharePoint websites can store project schedules online so that entire project teams (including vendors and customers) can view or update the data in those schedules. In addition to storing and sharing project schedules, a SharePoint site can be used as a communication and tracking tool for project issues, risks, milestones, deliverables, discussions, and associated files.
If used in conjunction with Project Server, SharePoint can add even more value. Unlike Project Server 2003, Project Server 2007 is a SharePoint application, which means that it not only integrates nicely with the Windows SharePoint Services (WSS) collaboration and development platform, but it's actually built on top it. In other words, Project Web Access (PWA) is actually a highly-customized SharePoint website. The .NET development / coding platform, a plethora of web parts, integrated security model, workflows, web services, and so forth… these are all facets of SharePoint which can be leveraged to build powerful solutions for extending the built-in functionality of Project Server 2007.
SharePoint Designer: What Is It?
As mentioned in the beginning of this long-winded post, SharePoint Designer 2007 can be used to easily create powerful SharePoint-based tools which extend the built-in capabilities of MS Project and Project Server 2007. So what is SharePoint Designer?
Basically, SharePoint Designer is the new-and-improved 2007 version of Microsoft FrontPage 2003, except that it works better, it has more cool features, and it's been re-branded to emphasize its focus on designing / manipulating / managing SharePoint websites.
Here are some of the things you can do with SharePoint Designer 2007:
- Integrate, display, and manipulate data from multiple data sources
- Customize the display of data on a SharePoint page, such as sorting, filtering, and conditional formatting
- Modify the design (look and feel) of a SharePoint website
- Create document and data workflows with a wizard-like interface
- Perform site administration and maintenance tasks such as site creation, performing site backups, and managing site security
In the following series of "Solution-Building for Non-Geeks" posts, we'll focus mainly on the first two bullets. More specifically, we'll look at how to grab and integrate project data into a SharePoint website, using the Data View Web Part (DVWP) and the Data Form Web Part (DFWP), which we'll create using SharePoint Designer.
What the Heck are DVWPs and DFWPs?
Data View Web Parts (DVWPs) and Data Form Web Parts (DFWPs) are two special types of web parts which can be added to a page inside a SharePoint website for displaying and / or modifying data which resides in any number of data sources (in other words, data that resides "someplace"). That's a mouthful, so let's break it down a bit further…
First, these web parts -- which are essentially functional blocks which can be dropped onto a SharePoint web page -- can be used to display data (read only) or modify data (read & write) that lives "someplace". That data might live somewhere inside the SharePoint website, it might live somewhere in another SharePoint website, or it might live somewhere else altogether.
More specifically, the data can be fetched from…
- A SharePoint list
- A database
- An XML file
- An XML web service
So, for example, these web parts can be used to fetch data from a list of project issues which is stored in a SharePoint site, they can be used to fetch project, task, resource, or assignment data from a project database, they can be used to fetch data from a project schedule which is stored as an XML file, or they can be used to fetch data from a Project Server web service.
Coming Up…
Ok… so now that I've bored you to death with concepts and abstraction, we'll start looking at the actual process of creating some simple examples using SharePoint Designer. Here are some things that you'll need if you want to follow along though the upcoming posts, so you can start begging the appropriate demi-gods now:
- A copy of SharePoint Designer 2007 installed on your desktop
- Administrator access to a WSS / Project Server 2007 environment ("real" or virtual)
- A copy of Project Professional 2007 installed on your desktop
- Mixed mode authentication (SQL and Windows auth) on the SQL Server which hosts the WSS / Project Server database
- A SQL Server login & password
Until next time, happy trails, pilgrims!