in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

The Sanity Point

Making Sense of the SharePoint World.
  • Redecorate and Remodel, or Tear-Down?

    Last month, I talked about my SharePoint Hippocratic Oath, and using the right tool for the level of customization you are looking for. One of my key suggestions was using CSS (e.g. a SharePoint Theme) for the bulk of the work, and only moving into your Master Pages (or beyond) for those things that can't be accomplished via styling. In this posting, I will compare the what you can do with a SharePoint Theme and some minor Master Page tweaks (essentially "Redecorate and Remodel"), to what has been done with a completely green-field design (the "Tear-Down" approach).

    Read the whole article on my new site...

  • It's All on the Table (of Contents)

    We're in the final editing stages of the book, and I've just received clearance to talk in more detail about what's in it.

    I've just posted the Table of Contents on my new site!

  • The Only Constant in Life is Change

    Building Bridges

    "What's In a Name?"

    The recent turmoil in the financial industry has got me to thinking. (And no, this isn't an article about the finance industry, or the turmoil.) What happens when something really foundational changes? How will you adapt your SharePoint environment to the new situation? How can you adapt it to the new situation?

    Find out in this article on my new site...

  • First, Do No Harm

    SPMedicalStaff

    When I was speaking at the Wisconsin SharePoint Users Group last week, someone asked me: "How do you know when to choose SharePoint Designer or Visual Studio for a particular change to a site?" I explained that I had a sort of "Hippocratic Oath" for SharePoint customization.

    Read all about it on my new blog site.

  • Got it "Covered"!

  • On to Wisconsin!

    I'm excited to announce that I will be speaking this month at the Wisconsin SharePoint Users Group. The meeting will be held September 16th, at the Microsoft office in Waukesha, Wisconsin - just outside of Milwaukee.

    My topic will be how to Create no-code/low-code solutions using SharePoint Designer.

    I'll be talking about the some of the things you will find in my forthcoming book, Professional SharePoint Designer (from Wrox), and more.

    Currently on the Agenda:

    • Customizing the Data View Web Part
    • Demonstration of Dynamic Mapping from List Data.
    • Displaying complex information from an XML web service
    • Use the data view to retrieve data from your database

    If you are going to be in the area, you can register to attend here.

    (Note: this post was short enough that I just mirrored the whole thing from my New Site)

  • The "Language" of Advanced Search (Part 2)

    This is the conclusion of a two-part article about customizing the SharePoint (MOSS), and Search Server, Advanced Search Web Part. In Part 1, you learned about the basic settings of the Web Part - which search options are shown, and how they are labeled. In Part 2, I'll show you how to change which language and document type filters are available to your users.

    See the whole article on my new server...

  • Farewell, Patrick

    PatrickOne of the bright stars in the SharePoint firmament has faded away. Patrick Tisseghem - author, blogger, Microsoft MVP, co-founder of U2U, and all-around nice guy, passed away on Wednesday. I would like to express my condolences and deepest sympathy to his family, friends, co-workers, and fellow MVP's. He will be missed.

  • The Write Stuff

    I promised to to let you know what I've been doing all this time that I haven't been posting on my blog. Well, there have been two major things, which I talk about in this article on my new site...

  • The "Language" of Advanced Search (Part 1)

    If you have been using MOSS Search or Search Server, you have probably noticed that the Advanced Search page gives you lots of options to restrict results. From different word filters, to particular languages, to document types - even specific document properties. You may have wondered how (or even if) you could cut back the list of word filters. For example, you might only want your users to search for exact phrases. Or maybe you want the language list or document types to reflect the languages and documents actually in use by your enterprise, without reinventing the whole form.

    Find the whole article on my new server….

  • Share the Power – A Tale of Two “Points”

    It was the best of times, it was the worst of times… No, wait – that's the wrong tale!

    It was the best of Points, it was the worst of Points…

    Welcome to the first installment of my "Share the…" series!

    With the advent of Microsoft Office 2007, and Microsoft Office SharePoint Server 2007 (MOSS), integration between client and server is even better than ever. Each article in this series will focus on some way that an Office System client works better with SharePoint. Today I'm going to talk about PowerPoint, and how the new MOSS 2007 Slide Library takes it to the next level.

    PowerPoint presentations are the lifeblood of many a corporate meeting; however, getting a consistent message across has been difficult due to the fact that a PowerPoint deck is one big file. Sometimes, it is one really big file. If you have certain key business information and you want to ensure everyone presenting "gets it right", your choices have generally been limited to providing a "standards" deck, containing all of your company's boilerplate, and making everyone pull out the slides they need; or going through the tedious process of saving each slide or small block of slides individually, then having your users merge each file them into their working presentation.

    That can be very difficult, not only because you might have many such standard slides, but it means that the user needs to try to copy and paste them from the base presentation into their working copy, or merge many separate files. Finding just the right slide can be a task as well. Wouldn't it be great if you could just have each slide in its own file, and easily pick and choose which ones you wanted in your presentation? Well, with PowerPoint 2007 and MOSS, you can!

    The slide library feature of MOSS allows you to create a repository of standard company slides, that is true, but because it is based on SharePoint, you can do so much more! Your library can include custom fields so you can make it easy to find just the slides you are looking for (e.g. sales figures, company policies, key executive bios), either by search, or by filter. You can separate slides for internal use only from those suitable for public consumption.

    Creating a Slide Library

    Creating a slide library in MOSS 2007 is just as easy as creating any other type of list or library - just go to the Create page, and select Slide Library:

    You will then be asked the normal questions, like what you want to call it, if you want it on the quick launch, etc...

    Accessing your library

    Once you've created your slide library, you will want to populate it.

    Open a presentation that has some slides you wish to re-use. Then, from the Office menu, select Publish, and click Publish slides.

    Use the Browse button to select your site and library (and optionally folder), as normal. Now you can pick and choose which slides you want to save in the library, optionally renaming them and giving them new descriptions at the same time!

    Now, what about getting the slides into a new presentation? Easy as can be! Open your slide library, tick the boxes beside the slides you want, and click the "Send to Presentation" link. You will be asked if you want to create a new presentation, or insert the slides into an exiting one.

    You can have the slides retain their original formatting, or assume the format of the target presentation. You can even have PowerPoint tell you if the source slides have changed since you inserted them into the presentation!

    Conclusion

    Microsoft Office SharePoint Server 2007 and Microsoft PowerPoint 2007 are both great products on their own, and even greater together. The MOSS slide library brings this integration to the next level. With a final apology to Charles Dickens:

    It is a far, far better thing that they do, than they have ever done; it is a far, far better combination they bring than we have ever known…

  • Clearing out the Cobwebs

    Greetings, Everyone!

    "The Sanity Point" is Moving. I know, I've been off the air for a while, but I haven't been idle. I can't wait to share my latest project, but I'm going to have to - just a little longer.

    In the mean time, I'm going to try cleaning up some stuff around here. Some of the old posts are no longer relevant, others contained a lot of images that were never recovered when the SharePoint Blogs server went down. So, I'll be doing a lot of deleting, and maybe a bit of re-posting, just so the folks who come here from old links will have "clean" content to see.

    Once that is done, I'll be posting some of my classic content, and all of my new posts, at a brand new SharePoint-based blog. In fact, it uses the Community Kit for SharePoint:Enhnaced Blog Edition (CKS:EBE). It will also have a brand-new URL. You can probably guess it, but I'll tell you anyway: http://www.thesanitypoint.com.

    So, watch this space, and watch that space. Good things are coming down the pike!

     - Woody -

  • Your (Share)Point of View

    SharePoint is big. Really big. So big, in fact, that it is very hard, some might say impossible, for any one person to fully comprehend. Now, I wouldn't go quite that far, but I will say that many people approach SharePoint in much the same way as the blind men approached the elephant.

    What? You haven't heard the parable of the blind men and the elephant? Well, sit back and relax, while I digress a moment…

    ElephantOnce upon a time (don't they all begin this way?) Anyway, once upon a time, there was a group of blind men traveling down the path to enlightenment when they encountered an elephant and his trainer. The elephant was totally blocking the road, so the trainer said to the men, "Please wait, while I move my elephant out of your way."

    "We have never met an elephant before," the men said. "May we touch it so that we may know what an elephant is?"

    "Of course!" The trainer said, and the men approached the elephant.

    The men reached forward as they walked, and each spoke to the others according to what they perceived.

    The first man walked into the side of the elephant, felt up, and down, and side to side and exclaimed "I have encountered a wall. An elephant is a large, warm wall!"

    The second man had walked up to the elephant's leg. He said "Are you crazy? This is no wall, but round, and sturdy, like a tree trunk, or a pillar. An elephant is a kind of tree!"

    The third had encountered the trunk and said "You are both wrong. An elephant is a large serpent, like a python, but without bones!"

    The fourth, who had felt the elephant's ear, believed it to be a piece of canvas, while the fifth was equally convinced by his encounter with the tail that an elephant was a brush for cleaning things better left unmentioned in a family blog.

    The blind men argued with each other, each believing that his view of the elephant was the correct one. They were about to come to blows when the trainer, who was also very wise intervened: "Gentlemen, please, you are each right, in your own way, but also all of you are totally wrong. An elephant is neither wall, nor tree, nor serpent, or even bottle brush. It is a vast creature of many parts, some of which resemble the familiar things you have perceived. But to truly understand the elephant you must expand your perception, and approach not just the piece you are familiar with, but the entire animal."

    With that, the trainer had moved the elephant from the path of the blind men, who had just taken another major step on their journey toward enlightenment.

    Now, back to our regularly scheduled blog post…

    What you see when you first approach SharePoint will vary considerably depending upon your experience and what you expect to find. You might, as a network administrator, first see SharePoint as a stand-alone application. And you would be right. SharePoint provides a great "out-of-box" experience, with tools for file sharing, team collaboration and communication, project management, all wrapped up with easy distributed administration functions.

    As a business analyst, you might say "Wow! Look at the all of the tools I have to aggregate knowledge and business intelligence" You see SharePoint as an integration portal, able to give you windows into data scattered throughout your organization through search, through the BDC, or even Forms and Excel Services. And again, you would be right.

    As a software developer, you might see SharePoint as a rich application platform. Almost like an extension of the .NET framework, with its own API, an extensive object model, built-in modularity, and extensibility. Also correct!

    SharePoint is all of those things. And more. But to treat SharePoint simply as an application, or BI aggregator, or development platform is missing the "Point". What if I told you that you could, in your integration portal, add connections between your views and information already within SharePoint so you can filter results dynamically, customize the look, enter in new information, and notify your team of changes, all without writing a line of code? Or by adding a little custom code behind the scenes, alter the experience to the point where you might never know you were using SharePoint? This is all possible, just shifting your mindset.

    As an administrator, look at the SharePoint API and object model to see what you can do with just a little programming (e.g. my previous blog entry regarding "The SharePoint Nobody Sees")

    As an analyst, don't just look at how SharePoint can connect to your data, but how you can connect the pieces of a page together to coax even more intelligence from your knowledge.

    As a developer, familiarize yourself, not just with the object model, or the web service API, but with the front-end customizations that are available before you even open Visual Studio. Web part connections, Data web parts, and the WPSC are just waiting to do your bidding!

    Like the elephant in the story, SharePoint is a beast of many parts that each can, at first glance, look complete. But to truly understand it, you must venture outside your comfort zone, and see how the parts connect and relate. Only then can you say "I have seen the elephant!"

  • Behind the Point

    The SharePoint that Nobody Sees

    When most people think about programming for SharePoint, the first thing that comes to mind is Web Parts. Web parts are the primary user-interface component in SharePoint. They make laying out sites very easy; however, SharePoint Web Parts are notorious for having one of the steepest "Hello World" learning curves in the software industry. Fortunately, others have covered the art of writing (and installing) web parts far better than I can, so I'm not going to talk about them.

    Today I'm going to talk a bit about the SharePoint API, and writing your own command-line utilities. I normally leave the hard-core programming tasks (like those web parts) to others, and stick to system architecture, administration, and usage issues; however, many an admin has needed to break out a copy of BASIC to throw together a quick and dirty utility. I'm no exception! :) This article will demonstrate how to crawl the SharePoint site hierarchy, and help get you started writing your own tools. (Note: the API itself is the same one you use for web parts and other "visual" aspects of SharePoint, so this will be helpful for more "mainstream" applications, too!)

    What You Need

    Creating a utility for SharePoint is very easy. You only need a few things:

    1. A SharePoint Server
    2. Visual Studio
    3. Administrative rights on the server.

    Almost as important are some things you don't need:

    1. Knowledge of asp.net config files
    2. Strong naming
    3. Code signing.
    4. Any knowledge of asp.net, html, or web services.

    Setting up the Project

    Start by creating a new solution in Visual Studio. First, pick your language (I'm using VB). Then you'll need to scroll down to a project type is rarely used in this day of Windows, web services, and asp.net - the "Console Application."

    Since this is a SharePoint utility, the first thing you will need to do is add a reference to the SharePoint.dll. It normally won't be in the default .net tab, so you will need to browse for it. If you're developing on your web server, you will usually find it at c:\program files\common files\microsoft shared\web server extensions\60\isapi:

    If you are not developing on a SharePoint server, you can copy this dll to your development system and add the reference from there. While you won't be able to run your program except on an actual SharePoint server, having the dll locally will allow you use Intellisense code completion in Visual Studio.

    Finally, you will need to tell your module that you will be using the SharePoint functionality. At the top of the file (above the module tag), add the following lines:

    Imports Microsoft.SharePoint

    Imports Microsoft.SharePoint.Administration

    Imports System.Security.Principal

    Because you need to access the SharePoint API in the context of a user, the System.Security.Principal module gives you access to the Windows Impersonation Context.

    Know the Code

    The SharePoint objects we will use in this demo are:

    1. SPGlobalAdmin, to give us access to all of the virtual servers on the system. If the virtual server is extended for SharePoint, that is a "SPVirtualServer".
    2. SPVirtualServer, gives access to the properties of a specified virtual server. This contains one or more "SPSite" objects.
    3. SPSite, which is actually a Site Collection, also known as a "top level site". It contains one or more "SPWeb" objects.
    4. SPWeb, which is an individual SharePoint site or workspace.

    In addition to declaring variables for each of these objects, we will declare one called "comline" to hold any command line parameters you may pass to your utility.

    Here is the skeleton of the program, the contents of "sub main()"

      

    Dim wic As WindowsImpersonationContext
    wic = WindowsIdentity.GetCurrent().Impersonate()
    Dim globalAdmin As New SPGlobalAdmin
    Dim q As
    Integer
    Dim virtServer As SPVirtualServer
    Dim siteCollection As SPSite
    Dim site As SPWeb
    Dim comline As
    String
    comline = Command()
    For Each virtServer In globalAdmin.VirtualServers
     Try
      For Each siteCollection In virtServer.Sites
       For Each site In siteCollection.AllWebs
        'do something here
       Next
      Next
     Catch ex As Exception
      Console.WriteLine(ex.Message)
     End
    Try
    Next
    wic.Undo()

    The bulk of this is the variable declarations, and three nested "For Each" loops, one for each of the three collection objects. As it stands, this doesn’t do very much, but notice the lonely little comment inside the innermost loop - "'do something here". That is where you insert whatever you want your utility to do.

    For example, let's say you want to know what themes are in use on your server. Add this line under the comment:

    Console.WriteLine(site.Title & ", " & site.Url & ", " & site.Theme)

    Then just build your solution. It will create an .exe file with the name you originally gave the project. That's your utility, and the only file you need to have on the SharePoint server. Just go to a command prompt, navigate to the folder holding the .exe, or copy it and type in the name. You will be presented with a nice list of all of the themes in use in your SharePoint environment. The simple change of adding a line like:

    site.ApplyTheme("Corporate")

    could make the utility set the theme on every site to a corporate standard.

    This is just the beginning. Using this shell, you can run all sorts of reports, enforce standards, update choice fields in lists, or anything else you can imagine.

  • Tech Ed 2006 - The Boston "T" Party

    "T" - for Technology
    "T" - for Total Immersion
    "T" - for Totally Awesome!

    Tech·Ed 2006 has just wound down, and I'm still wound up.

    For those of you new to technology, or who have been living under a rock for the last decade or so, Tech·Ed has been the premier annual event for those interested in learning more about the latest Microsoft technologies - a Geek-Fest of the highest order. For the last few years, Microsoft has also been holding similar conferences in Europe and the Asia-Pacific region. That doesn't keep people from all over the world coming to the US for "the big one."

    How big? Would you believe over 12,000 attendees, staff and exhibitors? That's right, enough technologists to populate a small city. The precision and coordination required to move, feed, and clean-up after this volume of people is astounding, and must be seen to believed.


    Feeding an Army - over 11,000 served (Per Day - Twice!)

    So, what draws these thousands of people to this place? Knowledge. That's the "Ed" in Tech·Ed - Education. From morning to night, every day is packed full of classes, chalk-talks, and roundtables covering all things in the Microsoft world, and seldom have there been more exciting things to learn about as this year. Over a span of a little more than a year, virtually every product Microsoft makes will have undergone a generational change - from SQL Server, to the Office system, to the foundation of Windows itself.

    Of course, this is a SharePoint blog, and yes, SharePoint was one of the stars of the show. A large number of sessions focused either on SharePoint itself (whether WSS or MOSS) or on how some other application integrates with it. I spent a large part of my time in one of the new sections this year - the Technical Learning Center. The TLC, as wit was called, was divided into several sections, each focused on a different family of products. I was in the "Green" section, which focused on the Information Worker space (Office, Exchange, Dynamics, and Mobile). Each TLC had workstations where conference attendees could learn and practice at their own pace with Hands-On labs. In addition, product-focused pillars ringed the TLC, staffed by experts in that particular technology. By experts, I'm not just talking about MVPs like me (though we were there in force!) - I mean real, live, Microsoft product managers, developers, and other people who are in a position to provide the definitive answers to any questions you might have, or take your direct feedback into account for the future. Each TLC also provided "chalk-talk" theaters, and comfortable side-bar areas where small groups got together to discuss everything from technical issues, to the latest World Cup news, in depth.

    In addition to the Sessions and the TLC's, there was the Expo. Hundreds of vendors had booths touting their wares, and no booth would be complete without some kind of giveaway program. Everything from a grand drawing for a multi-thousand dollar home theatre system, to the tackiest of trinkets was on offer, all for the cost of a scan of your badge. (Yes, we were all branded like products at Wal-Mart with an RFID chip in our ID cards…) Most popular drawing-gift of the show had to be the X-Box 360. I don't know how many of these games were given out, but it was a very large number. My own personal award for most disturbing gift was a tube of lip balm with a little rubber head on it (see photo). Creativity knows no bounds, I guess.

    Clearly meant to represent someone who had
    spent just a little too much time at the sessions!

    Well, it is time for me to finish packing to fly home. This may have been my first Tech·Ed, but if I have my way, it won't be my last!

  • Windows SharePoint Services V3 - the Missing Link(s)

    Whew!

    The mad rush to download the public betas of  the 2007 Microsoft Office System (SharePoint, Groove, and the assorted Office client products) continues almost unabated. If you look at the download lists, you can get virtually everything Microsoft has coming down the pike; but something is missing. Where is the download for Windows SharePoint Services (WSS) version 3? As of this writing, you won't find it on the 2007 Microsoft Office System Preview Site.

    WSS wasn't meant to be an Easter Egg. A post on The Microsoft Office System Team Blog explains that the WSS links were inadvertently left off, and provides all of the details and links so you too can get the stand-alone WSS V3 installers.

    Here's the address of that MOST blog for those of you that prefer to copy and paste: http://blogs.msdn.com/sharepoint/archive/2006/05/25/606800.aspx

    Hmmm... All this talk of Links and Easter Eggs is making me hungry - I think I'll go get some breakfast!

     - Woody -

    P.S. While Microsoft Office SharePoint Server 2007 (MOSS) includes WSS, that installation is integrated into the MOSS setup, and shouldn't be used separately.

  • An Order of Links (and I don't mean sausage!)

    Each of the many standard list types that SharePoint provides has its own unique set of characteristics. One of the simplest list types has perhaps one of the most useful features. Did you know that you could set an arbitrary order for items in a Links list view? I don't just mean the normal sort by Alpha, or Date. I mean you can say you want “This link“ first, then “That Link“ second, then “Some Other Link“. No other standard list in SharePoint has this ability built-in.

    So, how do you do this? All you have to do is modify the properties of a view page or web part view. In the “Sort” section of the view, you will see an option for “Allow users to order items in this view”. Set this to “Yes”, and apply your change. Once this is done, the “full” toolbar will have an option to “Change Order”. (Note, if you are ordering a web part view, you need to first turn on the Full Toolbar until you have things sorted the way you like.) This link brings up a “normal” SharePoint ordering form, where you select the numeric order you want things to appear in. Order your list, and save it. That's all there is to it!

  • What has gone before – Conclusion

    Hello, everyone! Here at last we have the long-delayed Part 3 of my SharePoint Genealogy. In our previous articles, I have described the FrontPage and Office Server extensions, how the Office client itself evolved to support them, and how many of today's SharePoint concepts had their genesis from Site Server. None of these applications, though, had much influence over SharePoint's modular user interface – Web Parts, and Web Part Pages. These did not spring fully-formed into existence, however. There was yet another "parent" to today's SharePoint – the Digital Dashboard.

    Like many Microsoft technologies, Digital Dashboards went through a few revisions before gaining much acclaim. The first version of the Digital Dashboard tool kit, though offering a modular framework, never really gained much traction. With version 2.0, however, much of what we now see became much more mature. A "Dashboard" was a web page with some special components designed to support a modular framework of Web Parts. XML was used to define the content, and CSS the look, of the page. We also got introduced to the .DWP extension. (DWP originally stood for Dashboard Web Part.)

    The dashboard framework was able to support many different kinds of storage – from the local file system on the web server, to SQL Server, to the Exchange message store. Although the Exchange and local file stores were dropped in version 3 of what was now known as the Digital Dashboard Resource Kit (DDRK), the Exchange store didn't vanish completely. Instead, it was adapted to become the Web Storage System for SharePoint Portal Server 2001, and the Digital Dashboard became the primary SPS user interface.

    Another evolution of the Dashboard and Exchange was the Team Folders concept. This gave Exchange and Outlook users a place to easily collaborate. These made use of Public Folders, HTML, and a special component called the Outlook View Control (OVC). This control allows access to one's mailbox from a web page, as long as you have an Outlook profile on your PC. That isn't quite the same as Outlook Web Access (OWA). OWA renders HTML based upon the web server talking to the Exchange Server. The OVC, on the other hand, communicates with Exchange from the client PC. While this gives the OVC an exact duplicate of the Outlook mailbox functionality, it does mean that it can't be used outside of the network.

    Finally, the Office Server Extensions were evolved into SharePoint Team Services (STS), providing yet another collaborative environment. STS introduced the concepts of Lists and Document Libraries to a web site. (SPS 2001 also had document libraries, but they were implemented in the Web Storage System, and operated quite differently.) STS sites were easy for end users to create and manage, and proved to be very popular.

    When the time came to bring out the "new" versions of SharePoint for 2003, Microsoft decided to consolidate a lot of these technologies and concepts. They merged the DDRK's SQL storage system and web parts, with SharePoint Team Services lists and libraries, and the new .NET framework to create Windows SharePoint Services (WSS). SharePoint Portal Server, formerly a completely separate technology from the similarly named SharePoint Team Services, was built upon the new WSS - finally allowing for a single collaborative development model.

    The SharePoint Products and Technologies are a family with a large, and sometimes distinguished, family tree. Through carefully breeding-in the best elements of a large number of products, Microsoft has produced a first-rate system, that is going to become even better with the next release.

  • Back on the Air!

    Hi guys! I know it has been a while, so I figured I would give you a brief update. I'm just coming off of an intense project that started shortly after my most recent post. This involved a lot of international travel, and virtually no personal time. It has impacted my home life, my support activities on SharePoint University, and of course, this blog.

    A great deal has happened in the intervening months - The leaves have changed, some details have come out about the next version of SharePoint, and I have been awarded MVP status! This is an honor for which I am truly grateful, and I hope in the coming year to live up to standards and expectations that led to the award.

    So, those of you who have been waiting with bated breath for the final installment of “What has gone beofore”, it is back in the pipeline. Lots more, too. As the holiday season approaches, I wish everyone the best, and I look forward to some great interactions!

  • What has gone before - Part 2

    The SharePoint Products and Technologies have many ancestors among Microsoft’s products. In the first part of this series, I discussed the Office Server Extensions (sometimes known as Office Web Services), Microsoft’s first foray into a web collaboration infrastructure.

    In this installment, I am going to discuss a product that was both big, and small – Microsoft Site Server 3.0. Big, because it encompassed a huge amount of functionality. Small, because that is how much market share it ultimately received (with a notable exception I will discuss briefly below).

    Site Server was a bit of a chimera – “a beast whose body is a combination of mismatched parts.” There was a content management component, a replication and deployment piece, two different reporting tools, knowledge management components, search and indexing, and a personalization and membership toolkit. Many of these pieces were independently acquired by Microsoft, and then bundled into a single package of tools for large-scale web deployments.

    There were actually two editions of Site Server 3.0. Standard Edition contained the above-listed features, while the Commerce Edition included all of that, then added e-commerce functionality, such as a web store workflow engine. While much of the Site Server functionality languished unused, the Commerce Edition’s extra features gained a respectable following, and ultimately evolved into the Commerce Server product we know today.

    So, what does this have to do with SharePoint? Well, if you look at the feature list, you will see many things that are philosophical, if not actual code, predecessors to important SharePoint features - especially search and indexing, knowledge management, and personalization and membership.

    Of these, though they underwent a major rewrite for SharePoint Portal Server 2003, the search and indexing pieces of Site Server are most like their current SharePoint counterparts. There were distinct indexing and search services, which could be hosted on separate machines. The content deployment function could move search catalogs from the indexing server to multiple search servers, and the indexing itself could crawl many different kinds of content stores, both internal and external.

    The KM and personalization features, though very different from the current Audiences implementation, could combine to target content to specific groups, and even notify people when relevant content was found. In addition, the Personalization and Membership concept has been re-invented, and is making a return appearance as an integral part of the .NET 2.0 framework.

    Although it was not a major market success, Site Server was a very important predecessor to SharePoint. While there was very little user-interface similarity, Site Server prototyped many features that eventually became an integral part of the SPS infrastructure. Many of its other features and concepts ultimately became parts of other Microsoft products, such as Application Center, CMS, .NET, and Commerce Server. You could say, Site Server was the face that launched a thousand ships from the Microsoft Internet Technologies pier.

    Look for the final installment of this series, The Digital Dashboard, coming soon!
  • Holding Court - Victory or Death for Online Liberty?

    The last day of the 2004-2005 session of the US Supreme Court saw the release of several greatly-anticipated decisions. I'll let others discuss The Ten Commandments - tempting as it may be, this is a technical forum after all. Therefore I'm going to concentrate on two cases that dealt with an issue near and dear to the heart of everyone reading this - the Internet.

    One case, Metro-Goldwyn-Mayer Studios Inc. v. Grokster, Ltd., talks about Peer-to-Peer file sharing. The other, National Cable & Telecommunications Assn. v. Brand X Internet Services, dealt with requiring cable companies to provide infrastructure support (the links are to the actual decision PDFs). On the surface, there seems to be little in common between these cases aside from the Internet connection, but in actuality they both deal with the same fundamental issue - property rights.

    Now, I have seen reports that these two decisions are the death-knell to freedom online. In particular, the Grokster case. The “sound bite” version is Grokster lost in a unanimous decision. Given this court propensity for 5-4 splits, that's big. Really big. But even the most casual reading of the decision itself shows that such fears are unfounded. The issue is not peer sharing technology itself - the court clearly acknowledges its benefits of its legitimate use. Nor is the primary issue even that a large percentage of people use such technology for violation of copyright - though that played a significant role. No, the real crux of the issue is that the developers of Grokster and StreamCast actively promoted and encouraged the piracy aspects - almost to the exclusion of mentioning any legitimate use.

    The big fear was that the Court would use this case to overturn the Sony v Universal Studios ruling, which upheld the “fair-use“ rights of people to use copyrighted works for their own purposes at home via such means as the VCR. This the Court explicitly did not do - they held that the intent shown by Grokster and StreamCast made this case clearly different, and therefore they could be prosecuted for common-law inducement of infringement. The moral of this story? Feel free to innovate - build and promote all the better mousetraps you like. Just don't build and promote a better lock-pick and expect not to be implicated in the burglaries!

    The Cable case wasn't quite as clear cut. The decision was 6 to 3 - still substantial, but not earth-shaking. It also followed this Court's tradition of a number of partially concurring and dissenting opinions. This case involved whether the FCC should force cable companies to let other carriers share their infrastructure and bandwidth. The chicken littles of the world feel this is a victory for entrenched big-business, and that it will end up with centralizing control of the Internet. This is wrong on a couple of levels - the biggest of which is the fallacy that the Internet isn't already centrally controlled - but that is a lecture for another day! 

    The issue came up because the FCC decided that DSL infrastructure needed to be shared as per telecommunications service regulations, but that Cable did not, as it was a data service. With the advent of VOIP (Voice Over Internet Protocol) that distinction is getting blurrier every day. What the court held, essentially, is that the FCC was within its legal jurisdiction to decide the technologies differently based on changing technological and market conditions. (Personal Note: I also read into this an implied statement that the FCC is free to change its mind on the DSL issue, and/or that Congress is free to change the rules.)

    These two cases both involved the upholding property rights. In the first case, it is the rights of copyright owners to protect their works from illegal copying. In the second, the rights the owners of an infrastructure to determine who uses it. Such property rights are essential. They form the basis for us to determine our individuality, regardless of scale. Without the ability to protect what is our own, we cannot ensure our survival.

    These decisions are a threat, however - to those who feel the Internet should be an anarchy, where nobody owns anything, and freedom means “what's yours is mine for the taking“. Such freedom is false, and encourages a disrespect for others that is damaging to any kind of civilized world - whether real or virtual.

  • What has gone before - Part 1

    Today I’m going to talk about history.

    Before you all drift off to sleep, I mean SharePoint history, not Napoleonic conflict! Microsoft SharePoint Products and Technologies have taken a rather convoluted path to become what they are today. Today’s SharePoint products, Windows SharePoint Services (WSS) and SharePoint Portal Server (SPS), have come a long way from the Office Server Extensions (OSE), Site Server, and the Digital Dashboard Resource Kit (DDRK).

    What? You’ve never heard of these products? Well, don’t worry about it. Over the course of a few articles, I’m going to tell you all about them. Besides – a lot of other people haven’t heard of them either! They were some of Microsoft’s best-kept secrets, and as such, almost totally ignored by the market. They are important, though, because much of what we now know as SharePoint was prototyped by them.

    Since all of these products are depreciated, I’m not going to go into excruciating detail about administration or usage. I’m just going to talk about what they featured that made its way into SharePoint.

    I’ll start with the Office Server Extensions.

    OSE was introduced with Office 2000, as a superset of the FrontPage Server Extensions. As you can see, Microsoft has been trying to get Office talking to the Internet for quite some time. Actually, even Office 97 had the ability to work with FTP Sites as a native file system! Office 2000 introduced the ability to natively open a FrontPage Extended web. This feature ultimately evolved into today’s Web Folders.

    When you added OSE to a server, you gained some extra functions. Key among them were “document discussions” and “web subscriptions”. When you enabled discussions on a web site, Internet Explorer activated a special discussion pane and toolbar. This precursor to the Document Workspace allowed people to comment on any document or web page stored on the extended server.

    Web Subscriptions were Microsoft’s first shot at an e-mail alert system for tracking document changes. Again, this is a feature that has survived all of the evolution to become an integral part of SharePoint today.

    The discussions and subscriptions had to be stored someplace. While the FPSE used hidden and “_vti” folders to store configuration and dynamic information, the OSE went a different route. OSE introduced the Web Collaboration Database. If that sounds familiar, it should. This element of database storage is still around, in the form of the Configuration and Content Databases still present in SharePoint.

    Next Up: Site Server

  • The Road to Sanity

    Welcome to the Sanity Point.

    SharePoint is a great product. Actually, it is several great products. This “split personality”, however, can be enough to drive normally rational users, administrators, and developers crazy. I'm here to help. Through this site, I hope to bring order to the chaos.

    My goal is to help you make it work, and to enable your company to get the most out of SharePoint Products and Technologies. Tips and Tricks. Best Practice. Things to avoid. Whatever.

    I hope you enjoy this site, and I look forward to your feedback.

     - Woody -


Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts