Archive for August 2008

SharePoint Guidance – Patterns and Practices

August 29, 2008

There is an ongoing effort from the Microsoft Patterns and Practices group to provide customers and SharePoint developers with more tools and guidance for SharePoint development and deployment.

This is a wondeful thing and while I have been keeping an eye on it I am really pleased with what I have seen so far on their codeplex project: http://www.codeplex.com/spg and in the community as well.

I know many members of the community (SharePoint MVP’s) and customers have been involved in getting this stuff started and you can really see how the community input is shaping the guidance material in a way that will provide DIRECT benefit for all community members.

I am especially pleased with the fact Unit Testing has been talking about alot in these discussions and cannot wait to see what kind of solutions or guidance they can give as this has been a very difficult area for some time now.

Keep your eyes peeled and check back on the codeplex drops: http://www.codeplex.com/spg and review the ones that are already in there. (Don’t forget you can subscribe to the RSS so you don’t actually have to visit the website periodically :P)

Super excited and wanting to read every single page of the material provided thus far,
Richard Harbridge

How to Get the Most Value from Social Computing

August 28, 2008

Alina Fu has just released a white paper on “How to get the Most Value from Social Computing for Business with Microsoft”. It is available here: http://www.microsoft.com/downloads/details.aspx?FamilyId=C5844123-7F31-49D4-811C-7B90E6217B1D&displaylang=en

The white paper is full of stories from customers (in their own words) about business challanges, and successes from their social computing applications.

Some of the questions it tries to answer are:

  • Is “social computing” and “social networking” interchangeable?
  • How do “wikis”, “blogs” and “discussion forums” differ in terms of usage scenarios?
  • What is the difference between “personal sites” and “people profiles”?

Let me preface this with the fact that I do believe that social networking is a terrific service and since people are typically the most powerful resource in any organization any tools or services that enable people to do more, collaborate more, and communicate more is awesome in my books.

However I do believe that work and home life should be separate. You can’t have home issues and problems interfering with work life, and you don’t want to have work issues and problems interfering with home life.

Sites like facebook, blogs and LinkedIn are wonderful tools to build your personal growth and have the potential to act as excellent spring boards for certain aspects of a corporate entity such as advertising, promotion, job requisition processes and loads of other things. No business (that I know of) really has any issues with you personally promoting them (thats why business cards were made) and they certainly don’t want to control your personal life, but when you are at work and using a social networking platform the expectation is that you are using it for work related items, and not personal use.

So what is the big issue most companies have with implementing corporate social networking solutions? There is no way to control and govern social network use so that it is only used for work related tasks and not personal use.

What is silly about this is the fact that there has never ever BEEN a way to govern this (aside from good management). People can talk to each other verbally about non work related things anytime they want, they can use email for the same thing, or phones. The truth is no matter what it’s not governance in these situations that is important its moderation, morale and good management.

So in a nutshell I support the use of Social Networking solutions in business because all it does is provides more benefits from a business perspective to support social interaction that builds the business.

If you are looking for more information on social networking or social computing and SharePoint a ways back Eric Charran, Dino Dato-on, and Greg Lang wrote a lovely white paper on Social Networking with Microsoft Office SharePoint Server 2007. You can read it here: http://technet.microsoft.com/en-us/library/cc262436.aspx

Hope this helps people understand Social Computing and Social Networking with SharePoint a bit more,
Richard Harbridge

This form template is browser-compatible, but it cannot be browser-enabled on the selected site.

August 27, 2008

So there are lots of posts on this error and forum discussions. I am just going to add one important note. Close InfoPath 2007 and re-open it before trying to publish the form.

It seems simple but I just forgot to do that and lost 10 minutes thinking the fixes didn’t work, and realized duhh I hadn’t closed the InfoPath application and re-opened it before trying again (must store/cache something related to the message). So… make sure you close and re-open InfoPath yo.

So high level overview of how to fix this error:

Error Message when trying to publish a browser-enabled InfoPath form (check box grayed out) – “This form template is browser-compatible, but it cannot be browser-enabled on the selected site.“

IF not using Enterprise Edition of MOSS:

  1. Install Microsoft Office Forms Server 2007 (independent product) on the SharePoint box if the Office server suite you use is lower than Enterprise (or if you are using Windows SharePoint Services 3.0). The Forms Services support is included in the Enterprise Office Server suite.
  2. After installed Forms Server, you’ll have a InfoPath Forms Services section at the Application Management page. To go here, click on Start -> Administrative Tools -> SharePoint 3.0 Central Administration and choose the Application Management tab on the top of the page. Click on Configure InfoPath Forms Services in the InfoPath Forms Services section and check both “Allow users to browser-enable form templates” and “Render form templates that are browser-enabled by users” checkboxes, then click the OK button on this page.
  3. Open your SharePoint site, click on Site Actions -> Site Settings, select Site collection features under Site Collection Administration and activate InfoPath Forms Services support or Office SharePoint Server Enterprise Site Collection feature.
  4. Start designing your form with the InfoPath 2007 client. In InfoPath, click on Tools/Form Options, select the Compatibility category and check the “Design a form template that can be opened in a browser or InfoPath“, then click OK. In the case if you miss this one and your form is browser-compatible, you get a warning message while publishing your form saying that “The server is running InfoPath Forms Services, but the compatibility settings for this form template is InfoPath only“.
  5. Make sure that your form is browser-compatible. You can use the design checker task pane in the InfoPath 2007 client to perform this task.
  6. Publish your form onto a SharePoint 2007 library. In the wizard, at step 3, check the “Enable this form to be filled out by using a browser” checkbox and finish publishing.
  7. If the check box is still grayed out (and showing error) CLOSE info path 2007 and re-open it and try again.
  8. At the end of the publishing wizard, select “Open this document library” and click on Close. This will open the document library in the browser. Click on Settings/Form Library Settings, then click on Advanced Settings and select the “Display as a Web page” option in the Browser-enabled Documents category. If you don’t choose this option, the form will be opened in InfoPath if it’s installed on the client. Otherwise, it’s going to be opened in the browser.

If SharePoint 2007 with Enterprise License:

Run the following commands to force deactivating and activating the Forms Services feature:

  1. stsadm -o deactivatefeature -filename IPFSSiteFeatures\feature.xml -force -url <<Target URL>>
  2. stsadm -o deactivatefeature -filename IPFSWebFeatures\feature.xml -force -url <<Target URL>>
  3. stsadm -o activatefeature -filename IPFSSiteFeatures\feature.xml -url <<Target URL>> -force
  4. stsadm -o activatefeature -filename IPFSWebFeatures\feature.xml -url <<Target URL>> -force

In the above stsadm command lines <<Target URL>> would be the url of your site collection. Example: “http://portal/sites/sitecollection&#8221;. Keep in mind that one of those features is scoped at the web level, so if it’s a sub site you need to activate that there, with the other one at the site collection level.

Then Close and re-Open InfoPath and try to publish, it should now work fine.

Oh and if for some reason neither of these work (god help you) also try deactivating and reactivating the site collection feature “Office SharePoint Server Enterprise Site Collection features” via the interface. Sorta does the same thing, but also ensures that the FormServerTemplates library is created appropriately.

Hope this helps someone,
Richard Harbridge

SharePoint as a Green Technology

August 27, 2008

Lately I have been seeing a fair amount of interest in decreasing carbon footprinting, power consumption and overall environmental waste in many companies. There are so many great examples and stories about how becoming more “Green” aware has helped companies save money and reduce costs.

So how does this tie into SharePoint? SharePoint is a perfect example of a technology which will reduce a companies carbon footprint, can help build awareness and reduce power costs.

That said let’s dig down into how it can help.

Microsoft has promoted some ways in which SharePoint helps in this article (http://office.microsoft.com/en-us/sharepointserver/HA102618771033.aspx) which I will now elaborate on and add a few of my own:

  1. Save a Forest by Reducing Paper Printing, and Paper Based Work

    • Reduces number of Paperclips, Pens, Organizers, File Cabinets, and Other Storage Solutions.
    • Reducing the number of supplies also reduces the amount of packaging for all of those different supplies (and most packaging are environmentally unfriendly).
    • Reduces the number of Printers. This also reduces the amount of power consumed by these printers, reduces the cost to the environment on disposal of these printers, and reduces the cost of ink.
    • Reduces GARBAGE and recycling. Many companies still have loads of paper in garbage cans at the end of the day, and in many places paper recycling has it’s own cost (think of the power it takes to power a recycling plant etc). By reducing paper again, you improve all of these other areas and reduce costs in many organizations besides your own! 🙂

    This seems obvious and is an immediate benefit of SharePoint Server. Having an online sharing and collaborative space immediately reduces the need to print documents. You get all the benefits of SharePoint (versioning, backed up information, alerting) while reducing cost.Let’s take it one step further though, reducing paper also reduces other related areas of environmental impact as well a few of these are listed below:

  2. Save Energy

    SharePoint streamlines all sorts of business processes. It is designed to help users become more efficient and to save people time and energy. With people sharing, collaborating and using technology to provide better ways of doing work it reduces the amount of time it takes for people to get their work done.The easiest way to look at this is by thinking of the supporting resources for a person working. When I work I have to have my computer on, my phone on, the lights on, the air conditioning or heating on (I know im pampered), the coffee machine on (definatly a must have) and so on and so forth. If I can get my tasks and work done faster I reduce the amount of time all of these associated power consumers need to remain on.

  3. Reduce Waste

    Out of the box SharePoint includes a plethora of services and loads of functionality. A few examples of these are: document management, records management, search, document libraries, email-enabled lists, dashboards, KPIs, surveys, calendars, discussions, and forms. The reality is that the number of ways in which SharePoint can be used is virtually limitless.This reduces unnecessary hardware, since many systems provide parts of what SharePoint can provide you can reduce the number of seperate systems used in your business and begin centralizing the services they provide in one system; SharePoint 2007. The reason SharePoint is so good at this isn’t just because of the services it provides but also because of how it integrates well with other business systems such as exchange and the microsoft stack. All of these other services ALSO help reduce carbon footprinting in some way.SharePoint is also a server technology and as such as designed to help reduce the need for powerful desktop or interfacing computers. This can reduce the cost of having to throw out old hardware since you can reuse it.

  4. Reduce Air Pollution

    Connecting people from many locations to help share ideas, files, schedules, and increasing collaboration is one way in which SharePoint reduces air pollution. Add the other integrated and powerful Microsoft technologies such as Exchange, Office Communications Server, and Live Meeting and you really decrease the environmental cost of many locations interacting with one another.No need to have planes flying employees all over for face to face meets when you can use video conferencing, desktop sharing, and the ability to store all the meeting information in SharePoint. This allows you to have corporate travel for certain situations but can greatly reduce its impact and remove the ‘need’ for corporate travel. As Microsoft says: “Stop flying, wasting time, wasting money, and polluting the air.”

  5. Reduce Auto Emissions

    Work flex time is increasing. It has been for a number of years, and commuting (especially with rising gas prices) is becoming a major concern and cost to organizations. Commuting is even a bigger issue for cities with notoriously bad traffic (like the one I live right beside, Toronto). Telecommuting is the alternative to commuting and with SharePoint server, Exchange, Office Communications Server and Live meeting, you can have all the abilities of the office anywhere at any time.

Already have SharePoint? It doesn’t just stop there you can always improve waste reduction and lots of people are finding great ways to do this. An example of another way you can use SharePoint to reduce environmental impact is by using supporting technologies such as Virtualization.

Virtual Geek wrote a great article on this: http://virtualgeek.typepad.com/virtual_geek/2008/07/virtualizing-sh.html

Update: Turns out i’m not the only one who found this sort of thing fascinating or thought of it Joel also has a post on it here: http://blogs.msdn.com/joelo/archive/2007/06/14/sharepoint-is-green.aspx (along with the Microsoft reference listed above) and if Joel mentions it, then it’s definitely worth thinking about ;).

I hope this gets everyone thinking and helps many people save the world a little bit at a time,
Richard Harbridge

SharePoint List Template IDs, RegistrationIDs, List Template Type IDs

August 26, 2008

I always lose track of these and have to sift through MSDN or my bookmarks to find it. Hoping that this will help someone else find this listing.

  • 100 Generic list
  • 101 Document library
  • 102 Survey
  • 103 Links list
  • 104 Announcements list
  • 105 Contacts list
  • 106 Events list
  • 107 Tasks list
  • 108 Discussion board
  • 109 Picture library
  • 110 Data sources
  • 111 Site template gallery
  • 112 User Information list
  • 113 Web Part gallery
  • 114 List template gallery
  • 115 XML Form library
  • 116 Master pages gallery
  • 117 No-Code Workflows
  • 118 Custom Workflow Process
  • 119 Wiki Page library
  • 120 Custom grid for a list
  • 130 Data Connection library
  • 140 Workflow History
  • 150 Gantt Tasks list
  • 200 Meeting Series list
  • 201 Meeting Agenda list
  • 202 Meeting Attendees list
  • 204 Meeting Decisions list
  • 207 Meeting Objectives list
  • 210 Meeting text box
  • 211 Meeting Things To Bring list
  • 212 Meeting Workspace Pages list
  • 301 Blog Posts list
  • 302 Blog Comments list
  • 303 Blog Categories list
  • 1100 Issue tracking
  • 1200 Administrator tasks list

Reference: http://msdn.microsoft.com/en-us/library/ms431081.aspx

What is a Dashboard?

August 25, 2008

The term Dashboard gets tossed around a fair amount in the world of SharePoint and is used often with workflows, or in business process solutions. The harder part is understanding what a dashboard is. The even harder part is trying to explain what it means in the context of SharePoint to someone.

This is my attempt to help explain the concept of a dashboard in SharePoint, and how they are typically used.

What it contains of course depends on the context of where it is used, and I assure you I am not talking about that thing in your car or if you are filthy rich, in your plane. However these both also indicate the most basic aspect of ANY dashboard.

1. A Dashboard is something which PROVIDES TARGETED INFORMATION to the user.

That’s a good starting point. The key is that it is providing targeted information to the user based on what the expected users needs are, the pages context, and/or who the user is. It is often interactive (but doesn’t have to be) and uses SharePoint web parts to render information from lists, libraries, and sites to the user.

2. Typically (in SharePoint) a Dashboard provides a place to initiate related actions.

Because you have visited a dashboard page for either yourself, a department, a service, a subject, or some other reason the page should be designed to not only provide the important information related to your ‘query’ or reason for visiting the page, but also ways to initiate related actions. This could be quick links, links to related items, links to forms, or in some cases embedded forms so the user can submit information right on the page itself.

That’s all folks! It’s pretty much that simple. Dashboards present information to the user to digest and are normally chalked full of SharePoint web parts and provide a way to execute related actions.

So what does this mean? Almost everything is a Dashboard in SharePoint context, which makes it very hard to explain. Adding a content query web part and quick links to a page turns it into a dashboard for someone and almost every web part can be described as a dashboard component.

Hope this helps someone new to the term Dashboard understand it’s context in SharePoint a bit better,
Richard Harbridge

Run a Workflow When a Specific Field HAS Changed

August 25, 2008

In my previous post I mentioned Stephen Howards screen casts on workflows and SharePoint designer.

This is another one of his screen casts that describes how to solve a scenario where you need to have a workflow initiate an action when a field has changed. The key is that you can compare the previous value with the current value.

http://office.microsoft.com/en-us/sharepointdesigner/HA102564191033.aspx

Make sure you note how he ensures it does not perform an infinite loop.

Go go SharePoint Designer *cheers*,
Richard Harbridge

New to Workflows? Document Review/Approval Example

August 25, 2008

Anyone who has used SharePoint, WSS or Windows Workflow Foundation will agree that it is very powerful and has many business applications.

There are hundreds of resources on Workflows, which is wonderful but can also be overwhelming and cover some of the starter material. Personally I have really enjoyed Stephen Howards screen casts on designing workflows more than any other collection for those who want to see what workflows can do, and how they can be used (out of the box) I HIGHLY suggest these. In fact whenever someone asks me nowadays my first reaction is to copy paste the link and say take a gander at this, or I show them some real solutions where I have implemented them.

If you are new to SharePoint and want to see what workflows can do with a REAL example all accompanied by screen casts I suggest visiting this article and following it through. Before Stephen Howard did these wonderful screen casts it was much harder to explain these concepts, now everyone can take advantage of his excellent work.

http://office.microsoft.com/en-us/sharepointdesigner/HA102564171033.aspx

The link above will take you to a nicely documented document review workflow solution. This is a VERY common workflow that is necessary, and 14 screen casts are available on this page which describe how to create one and enhance it so that you have a very spiffy workflow solution and can reuse it for a variety of scenarios.

Hope this helps you as much as it did me a little ways back,
Richard Harbridge

SharePoint Terminology

August 20, 2008

Lots of people ask me what certain SharePoint terms mean and to help I have decided to write a quick blog of many of them with a brief description of what each term or acronym means. I will try to keep this updated as I remember more, or people ask.

Alerts

To notify users of changes to existing information or new information add an alert to track new matches to search queries, changes to content in an area, or a new site added to the Site Directory

Areas

A means to organize portal for navigational simplification

Audiences

Groups of users, who meet certain criteria, created for targeted distribution of information. Users are said to be a member of an audience if they meet that audience’s membership criteria. The criteria are associated with properties found in the Active Directory.

BDC

Business Data Catalog

Collaboration Content

Collaboration content is content stored in lists like calendars, task lists, and document libraries.

Discussions

SPS supports two types of discussions: discussion boards and Web discussions. Discussion boards are similar to any newsgroup forum. Web discussions, on the other hand, are a new way to comment on documents and share those comments with others. When a new site is created, a discussion board is automatically created.

Document Workspace

SharePoint Services site that contain a document library, tasks, links, and other information. Document workspaces can be created directly in SPS as a new site, or they may be created ad-hoc from within an Office product. End users can collaborate without having SPS open alongside Office.

Libraries

In order to share files, SharePoint makes use of libraries. The three types of libraries available in SharePoint are document libraries, form libraries and picture libraries.

Lists

Along with document libraries, lists form the foundation of content within SPS. A list is a collection of information items displayed in an area or on a site. List types include: Announcements, Links, Contacts, Events, Tasks and Issues.

Meeting Workspace

A specialized SharePoint Services site. Can be created directly in SPS or in Outlook as a part of a meeting request. Should not be confused with Live Meeting, etc.

MOSS

Microsoft Office SharePoint Server 2007

My Site

A single page portal that contains the user’s personal sites, links, etc. My Site consists of both a public and private view. The private view is intended as a personal workplace for the individual end user. The public view, on the other hand, acts like a business card that can be accessed by other portal users. You can see the different views by clicking either Private or Public under the Select View list.


Private Web Part

A Web Part added to a Web Part Page by a user who is working on the page in personal view. Private Web Parts are available only to the user who added or imported the Web Part.

Publishing Pages

Publishing pages are pages under /Pages/ document libraries on each site that include specific content types. Content for these pages are stored in this document library like columns in a list, with each column storing data for a page field.

Shared Web Part 

A Web Part added to a Web Part Page by a user who is working on the page in shared view. Shared Web Parts are available to all users of a Web Part Page who have the appropriate permissions.

Server Farm

A central group of network servers maintained by an enterprise. A server farm provides a network with load balancing, scalability, and fault tolerance. In some configurations, multiple servers may appear to users as a single resource. Each SharePoint farm has a single, unique configuration database where information and configuration settings for the farm are registered. Each server in the farm relies on that configuration database to get information about the farm and to provide services in the farm.

Site

A complete Web site stored in a named leaf of the top-level Web site.

Site Collection

A set of Web sites on a Web application that has the same owner and share administration settings. Each site collection contains a top-level Web site and can contain one or more sites (or subsites). There can be multiple site collections on each Web application. A site collection can use only a single content database. Everything is now a site collection: a portal is a site collection where Home is the top-level Web site and the areas are sites (or subsites), a channel hierarchy is a site collection where the root channel is the top-level Web site and sub-channels are sites (or subsites).

Site Groups

Site groups are custom security groups that apply to a specific Web site. Users are assigned to site groups to grant them permissions on a SharePoint site.

Site Templates

Whenever you create a new site, SPS use predefined templates to simplify the creation of the new elements for the site. These templates allow you to create everything from a specialized team site to a blank site you can use to create content from scratch.

SPS

SharePoint Portal Server

SSP

Shared Service Provider

Subsite

 

A named subdirectory of the top-level Web site that is a complete Web site. Each subsite can have independent administration, authoring, and browsing permissions from the top-level Web sites and other subsites.

Survey

A Web site component that enables users to respond to a set of questions specified by the creator of the survey. Results are tallied in a graphical summary. Surveys provide a way to poll portal users for input on a subject. Surveys support a wide variety of response types from simple Yes/No answers to free-form text.

Top-level Web site

The top, root default site in a site collection. Every site collection has, at its root a top-level Web site. Access to the top-level web site is provided supplying the URL of the site collection (like http://ServerURL or http://ServerURL/sites/SiteCollectionName) without specifying a page name or subsite.

Web Application

A virtual server that resides on an HTTP server but appears to the user as a separate HTTP server. Several Web applications can reside on one computer, each capable of running its own programs and each having individualized access to input and peripheral devices. Each Web application can have its own domain name and IP address.

Web Part

Customizable Web page element that can be added to SharePoint pages

Web Part Zone

A container with a set of properties that can be configured to control the organization and format of Web Parts on a Web Part Page. Web Part zones can also be used to provide protection against changes to Web Parts.

WSS

Windows SharePoint Services

Hope this helps,
Richard Harbridge