Joe's profileMack Twenty-four SevenPhotosBlogLists Tools Help

Blog


    May 14

    How to Move a SharePoint Site

    I had occasion to move a SharePoint site (technically, it was a sub site) from one location to another today.  I am sure that there are several other folks that have put similar posts to this out in the blogosphere, but for those regular visitors to The Mack Page, I thought I would give you something small to put in your kit bag.

    Scenario:  You need to move a SharePoint site from one place to another.  For the purposes of this exercise, I am moving a site titled SharePoint Training, with a URL of http://wss.tpg.local/IT_Team/SPTng from the “IT_Team” site to the “Training” centralized site, which is located at the same level as the IT team site.

    Tool:  The quickest and easiest way to accomplish this task is to use the STSADM tool, specifically the export and import operations.

    Steps:  Enough lead-in B.S.  This is a simple one, so let’s get right to it.

    1.  Create a blank site at the destination.  For this example, I did the following:

    a.  Navigate to the Training site

    b.  Click Site Actions

    c.  Select Create

    d.  Select Sites and Workspaces under the Web Pages column

    e.  Type a Title (“SharePoint Training”)

    f.  Type the new site’s URL (“http://wss.tpg.local/Training/SPTng”)

    g.  Select the Blank Site template under the Collaboration tab

    h.  Click the Create button

    2.  Logon to a server in your farm as a user with the appropriate permissions.  Since both the source and destination of this site are under the same site collection, I logged on as a member of the Site Collection Administrators group.

    3.  Open a command prompt and browse to the “BIN” folder under the “12 HIVE”.  For default installations, it is found here:  C:\Program Files\Common Files\Microsoft Shared\web server extensions\BIN.

    NOTE:  If you have not already done so, it is a good idea to set up an Environment Variable on the servers in your farm that you can use to navigate directly to the “12 HIVE”.  I usually set up a variable named simply “12” and map it to “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12”.  After you create the variable, you need only type “cd %12%”  from the command line to go straight to the hive.

    4.  Run the export using STSADM.  I almost always use the –includeusersecurity parameter when I do an export/import operation to preserve the user and group security settings for the site.  The command I used for this particular scenario looked like this: 

    stsadm –o export –url http://wss.tpg.local/IT_Team/SPTng –filename E:\MOSS_Staging\SPTng_Export.cmp –includeusersecurity

    5.  Navigate to the location where you saved the export file and make sure that it is there.  If interested, you can also explore the log file there as well.  It should be pretty easy to identify, as it has the format:  <<exported file name>>.export.log.  For my example, it was named:  SPTng_Export.cmp.export.log

    6.  Run the import using STSADM.  Just like when exporting, I make it standard practice to include user security.  The import command I used for this scenario looked like this: 

    stsadm –o import –url http://wss.tpg.local/Training/SPTng –filename E:\MOSS_Staging\SPTng_Export.cmp –includeusersecurity

    7.  That’s it.  You are done.  As you would expect, the import operation will put a log file in the same location as the export log file, and it will also be very intuitively named.

    If you have any issues along the way, you should be able to see what is happening in the command line window (as long as you do not use the –quiet parameter), as well as the log files.

    For more information about the parameters available, you can simply type stsadm –o <<operation name>> (e.g. stsadm –o export) with no parameters.  Alternatively, you can check out the stsadm page on Microsoft TechNet.

    February 11

    Implicit Documents – Knowledge Management Zen with Microsoft (Step 0 of 10)

    This the first of several related posts I am going to use to start exploring a concept I have had for some time – implicit documents.  Without getting too far down in the weeds yet regarding definitions (wait for Step 1 later this week), let’s just say that an implicit document represents the concept of a completely and totally virtual document…that is to say, a document made up entirely of a series of references to other objects within a corporate knowledge management structure, such as boiler plate text, graphs, charts, logos, etc.  Also in Step 1, a quick tour of how I arrived at the term “Implicit Document”, and how it differs from other similar terms you may have heard, such as “Virtual Document” and “Compound Document”. 

    For those of you that are interested, here is the working outline for the steps I will hopefully conquer as I progress through this series.  Once a future step becomes active, I will replace the bulleted text below with a link to the appropriate article for that step.

    • Step 0:  Welcome and Outline
    • Step 1:  Setting the Table – Background Information, Technology Levelsetting and Real-world Applications
    • Step 2:  High-Level Solution Design
    • Step 3:  Development Environment Set-Up
    • Step 4:  Data Warehouse and Dimensional Model
    • Step 5:  Making Time – Working with the Time Dimension
    • Step 6:  Rapid Application Development in SharePoint – Just an Introduction
    • Step 7:  Using BDC Columns
    • Step 8:  Building the Microsoft Word Template
    • Step 9:  Bringing it All Together – Document Generation
    • Step 10:  Reporting and Auditing

    I hope to be able to provide at least 2 blog posts in this series per week, which would hopefully get us to the end somewhere around the middle of March.  Please check back often to see the latest, or feel free to sign up for our RSS Feed.

    February 10

    Don’t Fear the SharePoint Reaper

    Lately, I have been increasingly asked to come up with something that looks like a value proposition for selling SharePoint to potential customers.  Luckily, I had already thought about this one, so it was kind of easy for me to make the transition from how we used to sell SharePoint way back in 2007 and 2008.

    You see, back then, in the good old days, you basically had to show up, say “I want to be your SharePoint guy – here are my rates” and start preparing the Statement of Work.  There was a huge line of folks wanting SharePoint up and running, most probably because someone sold it to them as part of their Microsoft Enterprise Agreement (EA) and it was supposed to help them “get with the program” in terms of cutting edge technology in the enterprise.  Selling SharePoint in 2007 was kind of like shooting fish in a barrel, or to use a more appropriate analogy, owning a successful software company in 1995…if you could not do it, you should be checked for a pulse and seek a different career path.  Then, we had the little matter of the economy sliding down the drain faster than Kellogg’s dropped Michael “Are You Holding?” Phelps…and it has become necessary to actually have a story to tell and maybe (heaven forbid) use some selling skills.

    SharePoint is, for lack of a better or more politically correct term, the “hatchet” companies are looking for as they “right-size” their way to increased buoyancy in these trying times.  Think of SharePoint as Sir Anthony Hopkins in The Efficiency Expert and The Two “Bobs” from Office Space, all rolled into one awesome product…designed to maximize your ability to achieve “The Four Rights” of good knowledge / information / content management.

    Let’s walk through a quick example for the sake of illustration.  We will use numbers that make the math easy…your individual mileage may vary, depending on your corporate structure and culture, but hopefully you will be able to see the potential when we are done.

    You have 5 accountants in your company.  On average, each of them spends around 20 hours per week doing their actual job (counting beans and crunching numbers), 5 hours per week dealing with e-mail / meeting requests, 7 hours per week in meetings, and 8 hours per week trying to find information on your dearth of corporate systems, network fileshares, their individual hard drive, e-mail archives, etc., etc.

    You implement SharePoint, and the numbers start to swing in your favor.  The table below presents a conservative estimate:

      Before SharePoint After SharePoint
    Job Performance 20 hours 30 hours
    E-mail / Meeting Requests 5 hours 2.5 hours
    Meetings 7 hours 3.5 hours
    Looking for Information 8 hours 4 hours

     

    So, after implementing SharePoint, the accountants can spend about 50% less time looking for information, 50% less time in meetings, and 50% less time dealing with e-mail / meeting requests.  The net result is that each accountant has 10 more hours per week, and 500 more hours per year, to spend doing their job.  So, for 5 accountants, that amounts to 2500 hours per year of extra work they can do after implementing SharePoint.

    Here comes the very unpleasant part, at least for one of the accountants.  If SharePoint has gained you an average of 500 hours per accountant per year, then it stands to reason that you now only need to have 4 accountants, working more efficiently, as a direct result of implementing SharePoint, to accomplish the same amount of work that 5 accountants are doing now.

    Let’s keep the momentum going here – once again, we will make the numbers easy.  Let’s say you have 500 employees, 50 of which are in management and mission critical positions…we will leave them alone for now.  So, of the other 450 employees, let’s extrapolate our 20% force optimization as a result of a properly waged SharePoint implementation, and say that you can eliminate up to 90 positions, with a 0% drop in work performed.  Once again, let’s keep the math easy and say that the average yearly salary of those 90 employees is $40,000.  SharePoint has just brought you a savings of $360,000…and that does not include:

    • the additional costs for each consolidated job, such as medical benefits, 401K matching, etc.
    • the possibility of consolidation in the management ranks as a result of having fewer employees
    • the financial impact of SharePoint on future operations, as employees start to use SharePoint to store and retrieve information, knowledge and content, further driving up efficiency and driving down the time required to be spent on things other than the core job function of each individual

    Once again, keeping things simple, let’s just say that it would not be unexpected for a proper SharePoint implementation at a 500-employee company to save 500,000 or more in the first 12 months after the initial SharePoint project, which will cost you around $50,000-100,000, based on the volume of content and resources required.  For larger companies, the cost of the SharePoint project will increase in a linear fashion, while the potential savings tend to increase exponentially.

    I almost feel like Vince Offer (the Sham-Wow and Slap Chop guy) – it practically sells itself.  Maybe I will get one of those stylish headsets like Vince and use some goop to spike up what’s left of my hair.

    So, SharePoint is not just a way to make your company more efficient…it is a bona fide way for you to consolidate company resources and trim excess positions that are only necessary because of current inefficiencies in process and knowledge quality / availability.  This is how SharePoint is starting to be billed, at least by the most savvy Microsoft Partners that know their customers and what they need in 2009 and beyond.

    So, to keep using the Office Space analogy, how can you protect yourself against becoming Michael Bolton or Samir Notgonnaworkhereanymore?  Well, that is simple.  Make SharePoint (or whatever Knowledge Management tool your company chooses) your friend.  Volunteer to be a content manager, user interface tester, etc.  Learn everything you can about the product and how to use it…in addition to gaining some skills with some cutting-edge technology, you might just be saving your job.

    The Four Rights of Knowledge Management

    As the most forward-thinking companies are starting to hire and/or organically grow Chief Knowledge Officers (CKOs), the already opaque waters of Knowledge Management are becoming further muddied by the day.  Don’t get me wrong – I absolutely love the concept of the CKO.  In fact, if you have not heard of the CKO yet, don’t worry, you will.  If your company has more than 1,000 employees, and you still do not have a CKO, you will…and if you are concerned about the long-term success of your company, you should hope that day comes sooner rather than later.  I love the CKO position so much that I have been taking the appropriate steps for the past 2-3 years to position myself and my company as an indispensable resource for companies in this area.

    I am very excited about the prospects there and cannot wait to make the formal announcement regarding our processes and services in this area later this year.  However, I do not want to give away too much information in this forum, as someone with greater resources than myself could easily rain on my parade if they knew my plans.

    Anyway, the main problem of CKOs from a “real people solving real problems in the real world” standpoint is that Knowledge Management, already a difficult undertaking, is becoming even further bogged down with project charters, mission statements, corporate oversight and “analysis paralysis” of the highest order.  The entire concept of Knowledge Management, longtime corporate bridesmaid, is finally starting to spread its wings, yet simultaneously becoming even more difficult to quantify and as a result, exponentially more difficult to bring to fruition.

    Enter The Four RIGHTs.  An effective Knowledge Management implementation will put the RIGHT information in front of the RIGHT person at the RIGHT time to make the RIGHT decision.  It’s that simple.

    Sure, in a large company, figuring out each one of the RIGHTs could take 6 months, and a near-flawless implementation of technology and process surrounding that RIGHT could take another 6 months, but the four RIGHTs should be the rallying cry of every CKO and Knowledge Management consultant in the world.  In fact, the first thing I do in every strategic Knowledge Management engagement is drive home the concept of the four RIGHTs.  I put it on the wall of the interview room; I put it into every slide deck; and I try to work it into every conversation.  It immediately cuts through any nebulous concepts surrounding Knowledge Management in general and a company’s approach to Knowledge Management in particular.

    I cannot tell you how many times I have been bogged down in the middle of a conversation talking about corporate naming conventions and how they should be implemented in a specific knowledge management portal (Microsoft SharePoint).  It is usually during those moments that I start bringing everyone back to The Four RIGHTs.  I don’t care if you call it a work instruction, policy, or a ham sandwich…does it help us get through each of the RIGHTs, so we can maximize the chances of the RIGHT decision?  If not, why are we talking about it?

    This kind of approach is sorely lacking in the Knowledge Management community today, and we only have ourselves to blame.  In fact, we have gone so far toward the nebulous that one of the key defining concepts within Knowledge Management is actually called a “Continuum”.  It’s true – I did not make that up.  The “Continuum” originally started out as a progression from Data to Information to Knowledge.  Recently, there has been another level added…Wisdom.  Oh, great.  Just what the whole concept needed – more abstract terminology.

    Just for kicks, take a look at this picture and tell me what each of the terms on it means to you.  Now, go ask someone else to do the same.

    dikw

    Can you see how Knowledge Management has gotten its current reputation of a bunch of flowery language with no substance?

    Hopefully, you not only agree, but will help me spread the word.  Knowledge Management does not have to be so hard, and it certainly does not need to be as misunderstood as it has been in the past.  All you need is to be ever mindful of The Four RIGHTs…if you do right by them, they will take care of you as well…if you lose sight of them, they will tear you a new one.

    February 09

    Validating "Choice" Fields in SharePoint Designer Workflow Forms

     

    I recently discovered a bug in SharePoint Designer Workflows whereby a "Choice" field that you denote as required (de-select the "Allow blank values" option in your SharePoint Designer Workflow form field options) is not exactly required on the form...as in, the validation is worthless. This blog post will attempt to help solve this issue for a couple of different options you may want to select or use when designing your Workflow Task forms in SharePoint Designer.

    For starters, let me say that I have merely built a small amount of extra validation onto some existing information I found in the blogosphere. The original and still penultimate article on how to manipulate SharePoint form fields using JavaScript is by Rob Howard, and can be found here: http://blogs.msdn.com/sharepointdesigner/archive/2007/06/13/using-javascript-to-manipulate-a-list-form-field.aspx.  I also found some good information in this thread from the MSDN forums, which uses Rob's ideas to specifically validate a "Choice" field in a SharePoint Designer Workflow Task Form: http://social.msdn.microsoft.com/Forums/en-US/sharepointworkflow/thread/0ad7fc3c-97a1-464e-ae89-c3133462dda8/

    The only problem I had with the information contained in the MSDN thread is that it is what I would call a little bit clunky in how it handles some of the validation, particularly the code that deals with Radio Buttons.

    Sidebar: If you want to go all the way with Radio Button validation, check out this article by Markuso: http://blog.markuso.com/posts/9/using-javascript-to-access-a-list-form-field-in-sharepoint-designer/

    OK, back on point. I wanted to come up with a way to implement validation within a form for multiple field types. As you would expect, since it is using JavaScript, I have run into many of the same issues that I mentioned as drawbacks to the code contained in the MSDN thread. Alas, it is one of the joys of JavaScript, especially on SharePoint. I have chosen to support the following validations in the first version...because that was the requirement I had for a client.

    • Choice DropDown - validate whether or not the user has selected an option in the DropDown control
    • Radio Buttons - validate whether or not the user has selected a radio button control 
    • Single Checkbox for Approved/Rejected - validate whether or not the user has selected one and only one checkbox to approve or reject...this code is a little specific and very clunky, but also common enough that it just might be useful "as is"
    • "Generic" Single CheckBox - validate whether the user has selected one and only one checkbox

    Step 1:  JavaScript Coding

    Here is the code that I came up with.  Once again, please be advised that it is a little bit clunky...but effective nonetheless.

    function validateField(fieldName)
    {
      var theForm = document.forms[0];
      for(var i=0; i < theForm.elements.length; i++)
      {
        if(theForm.elements[i].title == fieldName)
        {
          if(theForm.elements[i].value == "")
          {
            alert("You must select a value for " + fieldName + "!");
            return false;
          }
          return true;
        }
      }
    }
    
    function validateRadio(fieldName)
    {
      var theForm=document.forms[0];
      for(var i=0; i < theForm.elements.length; i++)
      {
        if(theForm.elements[i].type == "radio")
        {
          if(theForm.elements[i].checked)
          {
            return true;
          }
        }
      }
      alert("You must choose a value for " + fieldName + "!");
      return false;
    }
    
    function validateApprovalCheckbox(fieldName)
    {
      var theForm = document.forms[0];
      var approved = 0;
      var rejected = 0;
      for(var i=0; i < theForm.elements.length; i++)
      {
        if(theForm.elements[i].type == "checkbox")
        {
          if(theForm.elements[i].checked)
          {
            if(theForm.elements[i].parentElement.title == "Approved")
            {
              approved = 1;
            }
            if(theForm.elements[i].parentElelment.title == "Rejected")
            {
              rejected = 1;
            }
          }
        }
      }
      if(approved > 0)
      {
        if(rejected > 0)
        {
          alert("You must select only one value for " + fieldName + "!");
          return false;
        }
        return true;
      }
      if(rejected > 0)
      {
        return true;
      }
      alert("You must choose a value for " + fieldName + "!");
      return false;
    }
    
    function validateCheckboxSingle(fieldName)
    {
      var theForm = document.forms[0];
      var checkedCount = 0;
      for(var i=0; i < theForm.elements.length; i++)
      {
        if(theForm.elements[i].type == "checkbox")
        {
          if(theForm.elements[i].checked)
          {
            checkedCount = checkedCount + 1;
          }
        }
      }
      if(checkedCount > 1)
      {
        alert("You must select only one value for " + fieldName + "!");
        return false;
      }
      if(checkedCount == 0)
      {
        alert("You must choose a value for " + fieldName + "!");
        return false;
      }
      return true;
    }
    

    OK, now that THAT unpleasantness is taken care of, how the heck do we use it?

    Step 2:  Using the Code in SharePoint Designer

    First, open your form in SharePoint Designer and find an asp.net tag near the top that looks like this:  <asp:content id="content2" runat="server" contentplaceholderid="PlaceHolderMain"> and put the JavaScript code RIGHT after that.

    DO NOT FORGET TO ENCLOSE THE CODE IN A <script type="text/javascript" language="javascript"> tag!

    Now, we just need to fire off one or more of those functions when we click our "Complete Task" button on our form. 

    • Find the tag for the Complete Task button.  It should look something like this:  <input type="button" name="btnMarkSubmitted" value="Complete Task" onclick="javascript: {ddwrt:GenFireServerEvent...........
    • Change the "onclick" code to incorporate a check for one or more of the validations.  Since all of the validation functions return "false" or "true", it is pretty easy. 
      • Make it look something like this for a single validation:  onclick="javascript: if(validateField('ManagerApproval')) {ddwrt:GenFireServerEvent.......
      • If you want to have multiple validations, try this:  onclick="javascript: if(validateField('ManagerApproval') && validateCheckBoxSingle('AssignedBusinessUnit')) {ddwrt:GenFireServerEvent.........

    OK -- now for the extra long list of caveats for this "solution"...and the air quotes are no accident.  Make no mistake, this is a workaround if ever there was one.  And, like most workarounds of this type, there are certain things you will need to know before implementing it.  They are:

    1. If you have to make a change to the workflow task form, as soon as you click the "Finish" button in the "Custom Task Wizard" dialog box, and then click the "Finish" button on the "Workflow Designer" dialog box, SharePoint Designer is going to recreate the form from the information it knows about from the Workflow Designer, which has nothing to do with any custom JavaScript code.  The best way to solve this one is to save your code off somewhere and re-paste it into the new form after you make a change.
    2. Take a good look at the Radio Button validation code one more time...and you will see that it is going to give you a potentially false "true" validation result if it finds ANY radio buttons on the form that have been selected.  This is because within the radio button HTML code, you cannot get at anything that matches the fieldName variable to make sure you are checking the right thing.  If you don't believe me, set up a form with a Radio Button "Choice" field and do a "View Source" on it.  Anyway, what this means is that this code is truly only effective when there is only one radio button control on a form.
    3. Similar to #2 above, the code that checks for a single selection in Checkboxes will yield problems if you have multiple checkbox controls on the form.  If you select one and only one checkbox for MULTIPLE fields, then you will end up getting a false "false" validation result.

    Please feel free to expand upon this code and let me know what results you experience.

    CodePlex to the Rescue...Again

     

    In the words of the immortal Bob Ryan from "Entourage", take a look at this picture:

    inlinesitesettings

    Is that something you might be interested in?

    This little application installs in about 30 seconds and lets you get to the Site Settings of your current site through a keyboard shortcut...without leaving the current page.

    While I have not fully tested it yet, I have installed it on 3 separate environments and it works just fine on all 3.  Here is a direct link to the project on CodePlex.

    http://www.codeplex.com/inlinesitesettings

    Enjoy...

    February 06

    White Paper - The Six Pillars of SharePoint

     

    Six_Pillars_Picture

    The purpose of this document is to provide a basic overview of the Six Pillars of Microsoft Office SharePoint Server (MOSS) 2007.

     

    Collaboration

    MOSS 2007 helps your organization get more done by providing a platform for sharing information and working together in teams, communities and people-driven processes. Office SharePoint Server is an important part of the overall Microsoft collaboration vision and integrates with other collaborative products to offer a comprehensive infrastructure for working with others.

    • Improve Team Productivity. High performing teams are a key to better business results.
      • Give users the ability to create and control their own collaborative workspaces. Make it easy for teams to adapt workspaces to the needs of the project.
      • Manage projects more efficiently with the project task list template. Visualize task relationships and project status with automated Gantt charts.
      • Coordinate teamwork with shared calendars, alerts and notifications. Connect team calendars to the desktop with Microsoft Office Outlook 2007.
      • Communicate with team members in context using presence and instant messaging.
      • Make it easy to include and work with team members from outside the organization.
    • Author, Review and Publish Documents. Improvement in key document-management processes produce better content in less time.
      • Use document workspaces to streamline the document creation process.
      • Enable disconnected participation with offline support.
      • Manage the document lifecycle with integrated Enterprise Content Management (ECM) capabilities.
    • Streamline People-Driven Business Processes. Improved communication and coordination in people-driven processes means more rigorous execution in traditionally hard-to-reach parts of the business.
      • Deploy standard site templates to improve common people-driven processes like issue tracking.
      • Drive out process variation with workflow.
      • Create collaborative applications using integrated application development capabilities.
    • Create, Capture and Share Community Knowledge. Sharing best practices in expert communities drives awareness and adoption of business process innovation.
      • Broadcast information with blogs and Really Simple Syndication (RSS).
      • Capture community knowledge with wikis.
      • Encourage dialogue with surveys and discussions.

    Portal

    Portal sites connect your people to business critical information, expertise and applications. MOSS is a world-class Enterprise Portal platform that makes it easy to build and maintain portal sites for every aspect of your business.

    • Connect Your People to Information and Expertise. Quick, easy access to critical information means better decisions and more rigorous execution.
      • A comprehensive portal framework makes it easy to build portal sites that meet the specific requirements of your audience. A flexible, highly scalable architecture supports personal, divisional, intranet, extranet and Internet sites.
      • Integrated web content management makes customizing site look-and-feel easy. Powerful authoring features simplify content contribution. Centrally managed site design, publishing and deployment capabilities seamlessly integrate cutting-edge web content management into the overall portal platform.
      • Cutting-edge social networking technology makes finding and managing expertise easier than ever before.
    • Connect Your People to Key Business Applications. Consolidated access to existing business applications drives consistent performance of common business tasks. Streamlined development of new composite applications can lead to order of magnitude improvement in important business processes.
      • A sophisticated application development environment shortens development time for highly customized business applications.
      • A comprehensive application integration framework allows you to quickly assemble composite applications from existing systems.
      • State-of-the-art application governance features provide fine-grained control of the application execution environment.
    • Connect Your People to Role-Specific Resources. Personalized information delivery increases the relevance and value of information.
      • Audience targeting features allow information owners to decide how, when and where specific audiences consume their information.
      • The “My Site” personal site pulls together summary views of personal information, providing full control over information “for me, by me and about me.”
      • Personalized information rollup allows users to create customized summaries of important information in the portal.

    Enterprise Search

    MOSS 2007 is the Microsoft enterprise search solution for organizations that want to increase productivity and reduce information overload by providing their employees, partners and customers the ability to find relevant content in a wide range of repositories and formats. With actionable search results that respect security permissions, MOSS 2007 lets users go beyond documents and across repositories to unlock information, find people and locate expertise in the enterprise.

    • Built for the Enterprise. In Office SharePoint Server 2007, search results are delivered quickly and relevance is tuned for enterprise and line-of-business data.
      • Relevance is tuned for enterprise content with the best results across structured and unstructured data sources determined by a rich and broad range of factors.
      • Robust security, granular administrative controls and comprehensive monitoring, analytics and reporting help ensure compliance and protect intellectual property (IP).
      • Enterprise-grade scalability, extensibility and manageability meet the need of even the largest organizations.
    • Unlock Data and Expertise. MOSS 2007 provides out-of-the-box search for common enterprise repositories and file types as well as for people and experts. With Office Server 2007, you can:
      • Search file shares, Web sites, SharePoint sites, Exchange Public Folders and Lotus Notes Databases out-of-the-box and easily extend search to third-party sources and file types.
      • Index, search and intelligently display information from line-of-business applications, relational databases and other structured content using the Business Data Catalog.
      • Leverage “people search” capabilities to find people not only by department or job title but also by expertise, social distance and common interests.
    • Integrating User Experience. Enterprise search functionality is integrated with the collaboration, portal, content management, process/forms and business intelligence features of MOSS 2007 and can be integrated with the other 2007 Office system products to help users easily find, use and share information, increasing effectiveness and productivity.
      • Find, use and share information in the context of where you are working with the familiar tools you use every day.
      • Results are displayed more clearly, hits are highlighted, duplicate entries are collapsed and synonyms are suggested.
      • Results are actionable and further enhanced through optional integration with tools such as real-time communications.

    Enterprise Content Management (ECM)

    Over the last several years, organizations have created a huge volume of unstructured content that includes documents, e-mail messages, videos, instant messages, Web pages and more. This content often exists in a state of unmanaged chaos that prevents an organization from properly using these valuable assets for better knowledge sharing, improved customer communications and increased process efficiency. ECM from Microsoft is a key component of an organization’s infrastructure that can help companies overcome these challenges.

    Built on a well-integrated platform, ECM from Microsoft easily extends content management to every information worker in an organization through integration with familiar tools like the Microsoft office system. A Microsoft ECM solution can help businesses:

    • Manage Diverse Content. The document management capabilities in the Microsoft integrated ECM solution can help organizations consolidate diverse content from multiple file shares and personal drives into a centrally managed repository with consistent categorization. Integrated search capabilities can then help people find and share this information. IT organizations can also protect the content in the centrally managed repository form unauthorized access.

    Integrated collaboration capabilities, such as automated workflow, help people work better together to create, review and approve documents in a more structured way. That way, they no longer have to rely solely on e-mail to share documents. Mobile workers can also use these document offline when they are not connected to the network.

    • Satisfy Compliance and Legal Requirements. The Microsoft ECM solution also includes integrated records management capabilities that give organizations the ability to store and protect business records in a final state. Expiration policies applied to these records help ensure that the records are retained for the appropriate time period to comply with regulations or corporate business policies, thereby mitigating legal risk to the organization. Audit trails provide proof to internal and external auditors that records have been retained appropriately. Holds can be placed on specific records under legal discovery or review to prevent their destruction.
    • Efficiently Manage Multiple Web Sites. Integrated Web content management capabilities enable people to publish Web content with an easy-to-use content authoring tool and a built-in approval process. This helps ensure that content is uploaded to Web sites in a timely manner without placing a large burden on IT staff. Templates in the form of Master Pages and Page Layouts enable consistent branding to be applied to all pages, thereby helping to ensure that brand assets are properly used. A single deployment and management infrastructure for intranet, extranet and Internet sites – as well as for multilingual sites – reduces the cost and complexity for IT departments.
    • Streamline Business Process. The Microsoft ECM solution enables business to streamline content-driven collaborative business processes by providing the tools and platform for automating the tasks of these processes. Electronic forms solutions provide a mechanism for gathering and validating input for these business processes across Web sites, mobile devices, and Microsoft Office system programs. Forms can be created once and management tools allow IT to easily deploy and track the use of these forms across multiple channels.

    These capabilities are provided by Microsoft in a single integrated business productivity infrastructure. This significantly reduces the management burden on the IT organization, since they now have a common set of tools and methodologies for managing the solution. Tight integration with familiar tools such as Microsoft Office system programs enables the Microsoft ECM solution to easily extend these capabilities to every information worker in the organization. This reduces the burden on users, who no longer need to learn new tools or change the way they work in order to participate in their organization’s content management strategy.

    Business Process and Forms

    MOSS 2007 provides built-in workflow templates to automate approval, review and archiving processes. With MOSS 2007, you can also create, maintain and analyze custom workflows, enabling you to streamline your collaborative processes. Electronic forms provided through InfoPath Forms Services are an integral part of such workflows. These InfoPath-designed electronic forms make it easy to collect and validate information that drives your business processes. And you can collect and validate this information right from the Microsoft Office client applications you use every day.

    • Browser-Based Forms with InfoPath Forms Services. InfoPath Forms Services, which is part of MOSS 2007, extend your reach to organizations that do not use Microsoft Office InfoPath 2007 by allowing you to fill out forms in a common browser or even an HTML-enabled mobile device.
    • Integrated Workflow and Document Information Panel with Microsoft Client Applications. With MOSS 2007, you can initiate and interact with workflows right from within your Microsoft Office applications. You can also collect and validate important document metadata via the document information panel. MOSS 2007 helps you:
      • Collect important metadata defined by the Windows SharePoint Services library via the document information panel. The metadata may include information such as workflow status, content deadline, routing information or other properties related to the document’s lifecycle.
      • Create a custom document information panel that contains the rich capability of an InfoPath form, including external data connections, data validation, conditional formatting, business logic and other controls.
      • Deploy document templates with advanced document management capability built directly into a document in a way that is easy and straightforward for document authors.
      • Initiate a workflow or set a workflow status right from your familiar Microsoft Office application, such as Microsoft Office Word 2007.
    • Custom Workflow Design with Office SharePoint Designer 2007. Office SharePoint Designer 2007 makes it easy to add business logic to sophisticated no-code composite applications with the rules-based Workflow Designer. With the Workflow Designer tool, you can use drop-down lists and checkboxes to identify the events that trigger a workflow. You can then specify the actions and responses that follow and even identify the conditions under which other workflow events will occur.

    For more complex workflows, developers can also use the standard Microsoft development environment, Microsoft Visual Studio 2005.

    Business Intelligence

    Business Intelligence (BI) with MOSS 2007 makes it easy for decision-makers to access and analyze information anytime, anywhere. You can get up-to-date information whenever people work, collaborate and make decisions, whether it’s on the desktop or over the Web. Now, aligning employees’ objectives with your corporate goals is as easy as creating a spreadsheet or report.

    • Microsoft Office Excel-Based Business Intelligence. Excel Services, part of MOSS 2007, extend the capabilities of Microsoft Office Excel 2007 by allowing broad sharing of spreadsheets, improved manageability and security, and the ability to re-use spreadsheet models using a scalable server-based calculation service and interactive Web-based user interface. With Excel Services, you can:
      • Broaden the access and availability of spreadsheets by incorporating interactive spreadsheets into business intelligence portals, dashboards and scorecards.
      • Secure and protect confidential information and maintain a “single version of the truth” by locking down access at the server.
      • Reduce development costs, and improve time to market by using Web services to access models and data contained in spreadsheets.
      • Use Data Connection Libraries to provide an easy way for your users to share, manage and discover connections to external data repositories without requiring knowledge of the technical details of the connection.
    • Dashboards and Report Center. Create rich, interactive business intelligence dashboards that assemble and display business information from disparate sources by using built-in Web Parts. These Web Parts include dynamic key performance indicators (KPI's), Office Excel 2007 spreadsheets, Microsoft SQL Server 2005 Reporting Services reports and a collection of business data connectivity Web Parts that can visualize information residing in back-end line-of-business applications.  With the dashboard and reporting capabilities in MOSS 2007, you can:
      • Manage reports, spreadsheets, and data connections consistently using the new Report Center – an out-of-the-box template and document library optimized for report access and management including a report library, data connection library, and a business intelligence dashboard template.
      • Communicate goals and status to drive results using the new KPI Web Part without writing code. The KPI Web Part can display KPI's from Microsoft SQL Server 2005 Analysis Services, Office Excel 2007 spreadsheets, SharePoint lists or manually entered data.
      • Easily access the business information you need by creating dynamic, personalized dashboards using integrated Filter Web Parts. Filters allow dashboards to be personalized by communicating shared parameters amongst Web Parts on a dashboard. The Filter Web Part presents more relevant information to the current user.
    • Business Data Integration and Discovery. Seamlessly integrate external data into your applications using the Business Data Catalog (BDC), part of MOSS 2007. The BDC simplifies the process of discovering and accessing data residing within backend line-of-business applications using SharePoint search and a set of Business Data Web Parts.  With the BDC, you can:
      • Search your business data as easily as you search other content repositories. MOSS 2007 provides an integrated, Enterprise Search experience across your enterprise data ranging from file shares, Web sites, Microsoft Exchange Server, Lotus Notes and line-of-business applications.
      • Share business data using the Business Data Web Parts that allow for viewing lists, entities and related information through the BDC.
      • Use convenient links that appear beside business objects returned from the BDC to easily create actions without custom coding that open Web pages, display the user interfaces of line-of-business applications, launch Microsoft Office InfoPath 2007 forms, and perform other common actions.

    Project Server Errors on User Edit Screen

    At a client recently, I noticed that their Project Server implementation is having some issues with the edit user page throwing errors for certain users.  I will try to get a screenshot later and marry it up with this post.

    After some research, we were able to determine that one of the Project Server databases had those users checked out to a fictitious user (00000000-0000-0000-0000-000000000000), instead of one of the two normal values, NULL or an actual GUID representing the user that had that record checked out.

    While we are currently working on a long-term fix, the quickest way we found to fix the problem immediately was to run some simple SQL queries against the ProjectServer_Published database.

    In order to see the users that are in this situation, execute the following SQL command:

    SELECT RES_NAME, WRES_ACCOUNT, RESCHECKOUTBY FROM MSP_RESOURCES

    WHERE RES_CHECKOUTBY IS NOT NULL

    In order to fix the user accounts so you can access them through the update user screen, execute the following SQL command:

    UPDATE MSP_RESOURCES

    SET RES_CHECKOUTBY = NULL

    WHERE RES_CHECKOUTBY LIKE '0000%'

    MOPS_User_Error_SQL

    NOTE:  Make sure you use the wildcard notation above, and not something like WHERE RES_CHECKOUTBY IS NOT NULL, as that will override the value for users that are actually checked out.

    NOTE 2:  As always, take special care and concern when running SQL commands against production databases.

    Once I have an update on how to fix this long-term, I will repost...

    SharePoint 2007 Authentication Options

    Tasked with configuring a MOSS 2007 implementation for external users to authenticate through Forms-Based Authentication (FBA), I hit the blogosphere recently. Based on some preliminary research, I was able to find the two sources referenced below. Rather than link out to the blog entries themselves, I have saved them off as PDFs.

    Hopefully, assuming you are able to find my blog, having both of these documents in one location will save you a few seconds.

    Configuring Multiple Authentication Providers for SharePoint 2007 by Steve Peschka

    SharePoint 2007 Forms Authentication by Nick Swan

    SharePoint 2007 Customization Guide

    Anyone who has been trying to figure out how to customize the look and feel of SharePoint 2007 has found Liam Cleary's blog. If you would like to explore his blog directly (highly recommended), you may do so at: http://www.sharepointblogs.com/helloitsliam/. The first entry at that location talks about a move to a different URL, which is: http://www.helloitsliam.com/.

    His series of articles on customization is excellent, and I have compiled them into one PDF for easy reference. Please be advised, it is 96 pages and a 3 MB download.

    SharePoint/MOSS 2007 Customization Guide by Liam Cleary