Grounding.co.za

Technology information for IT specialists
Welcome to Grounding.co.za Sign in | Join | Help
in Search

Neil's IW Space

Information Worker Blog's by Neil van Wyngaard
  • SharePoint error 12217: The request was rejected by HTTP Filter

    This is more an IIS related error than an SharePoint error, but due to the fact that I received this while building a SharePoint Web Application I thought it might be relevant.

    I was recently involved in an virtualization project where we moved all the companies servers to a hosted environment running in the cloud and at the same time we virtualized all the production servers to run as VM’s using Hyper-V. During this process we ended up re-installing and configuring a number of different servers including our ISA 2006 firewall server and this is where the problem occurred.

    clip_image001

    Some of the existing Web Applications also experiences this problem when attempting to editing column settings on a list.

    After doing some research I find a blog entry that explain how to fix this using SSRS and since this issues was related to ISA I thought that it would be worth a try. The steps are outlined below:

    1. Start the ISA Server Management tool.
    2. Expand “ServerName”, where “ServerName” is the name of your ISA Server computer.
    3. Click Firewall Policy, click the Web publishing rule that you created to publish the MOSS server and then click Edit Selected Rule.
    4. Click the Traffic tab, click Filtering, and then click Configure HTTP.
    5. Click to clear the "verify normalization" check box, and then click OK two times.
    6. Click Apply to update the firewall policy, and then click OK.

    I hope this saves other people some time and effort in the future.

    Reference Blogs:

    http://blogs.msdn.com/jay_akhawri/archive/2007/07/14/error-code-500-internal-server-error-the-request-was-rejected-by-the-http-filter-contact-the-server-administrator-12217.aspx

    Related Blogs:

    Fixing a DCOM error on Windows Server 2003

    Resolving a DCOM Error 10016 (Local Activation) on SharePoint

    ASP.NET error registering with IIS

    Getting "Debug Info" for a SharePoint error

  • Windows 7 Available Today

    This morning I received the long awaited email from Microsoft only to find that most of the technicians in the IT department have already downloaded and installed it. I guess that is what happens when you are involved with Sharepoint most of the time.

    Below is a snapshot of the email I received:

    image

    The actual download link can be found here:

    Download your copy of Windows 7 RTM
    and start evaluating today!

    Lets hope it fixes all those issues we have with Sharepoint and Vista :)

  • Working with PDF's and Sharepoint

    Most of us are used to working with Sharepoint using Office 2007 and we are all quite familiar with it by now, but it is fairly obvious that PDF documents have been used for many years and we all love using them. It is therefore inevitable that we will end up putting them and using them in Sharepoint at some point or another.

    The only problem is that Microsoft does not support this file format in any of it's UI interfaces even though it can be uploaded to a document library due to the fact that it is a binary file. The purpose behind this blog therefore is to show you how to improve the user experience using PDF files in the following areas:

    • Indexing and searching PDF documents using Sharepoint Search.
    • Creating  a PDF icon on Sharepoint that is displayed in the user interface.
    • Installing the PDF add-on for Office 2007 that allows you to save PDF files directly from Office 2007.

    Installing the PDF I-filter for Sharepoint Search

    To understand why you need to do this, it is probably a good idea to explain how Sharepoint Search works in a bit more detail. I am going to assume that you are running the Enterprise edition of MOSS 2007 without restrictions when outlining the next section.

    The search engine in Sharepoint can do the following:

    • Index all the meta data inside lists and document libraries within Sharepoint.
    • Index the actual content inside the documents stored in Sharepoint
    • Index external locations outside Sharepoint like file shares, Exchange Public folders and even databases.
    • Index the content inside documents located on these external locations.

    It is like having your own private Search engine on your network just like you would search on the Internet. The problems start coming in with the ability of the Search engine to index the content inside documents. This is done via an IIS extension called I-filters and they need to be installed on the Sharepoint server where the Search engine is configured.

    Fortunately Microsoft Automatically provides I-Filters for most of their file formats when Sharepoint is installed. These would include *.docx, *.doc, *.xlsx, *.xls etc. etc. Unfortunately and for obvious reasons this does not include *.pdf.

    This problem can be resolve in a two ways:

    These two actions will automatically install the PDF I-filer onto the Sharepoint server and allow the "Search Service" to index the content inside the PDF documents. The searching will now be just as effective as with Office 2007 documents.

    Creating the PDF Icon in Sharepoint

    Creating the PDF Icon in Sharepoint is a bit more tricky and also involves direct access to the 12 hive. The first step is to navigate to the 12 hive on the Sharepoint server and finding the correct folders to work with.

    12 Hive Location

    Under the "Templates" folder in the 12 hive you will find another folder called images. Paste the image file into this directory that will be utilized to represent the PDF icon in Sharepoint. This file can be in any number of formats such as JPEG, GIF, PNG and many more.

    pdf

    The trick is to size the image before the time to make sure that it is about the same size as an icon. There are many places on the Internet where you can go and find a file, but I will put the one I used in this blog if you want to use it.

    PDF gif

    Now that the image file is in place, we need to tell Sharepoint to use it by editing a specific XML file located in the "XML" folder under the "Templates" folder in the 12 hive. The file is called "DOCICON.XML" and can be edited in any text editor like "Notepad".

    DocIcon file

    Inside the XML file you will find a section called "<ByExtension>". Navigate to the end of this section and copy the last line before the closing tag.

    XML setting

    Paste this line as a new line at the end of the section and change it to refer to the new PDF image that you copied earlier. Save the file and do an "IISReset" to see the changes. Your PDF icons should now appear next to all the PDF documents that you uploaded previously.

    Installing the PDF Add-on for Office 2007

    When MS initially create MS Office 2007 it included the ability to save any Office document as a PDF file by purely using the "Save As" ability of MS Office. Just before the release to the public they removed this feature due to potential law suites and disgruntled "Open Source" people.

    Fortunately it is not illegal to make it available as a free download and allow people to choose to use it or not, without forcing them to have it in the first place. Therefore the only thing left to do is download and install it from the link below.

    2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS

    Save As PDF

    Once the add-in is installed it is a simple matter of opening up any document in any MS Office 2007 application and selecting "Save As" from the menu.

    I hope this blog makes you life working with PDF's and Sharepoint a bit easier. Let me know about your experiences by posting comments to this blog.

    Downloads:

    2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS

    Adobe Reader Download

    http://ifilter.org/Links.htm

    Referenced Articles and Blogs:

    http://support.microsoft.com/kb/837849

    Related Blogs:

    Open XML SDK announced

    Basic steps on Implementing "Search" in Sharepoint

    Comparing MS Office versions with Sharepoint

    SharePoint - Get to know the directory structure in the 12 Hive

  • Workaround: Sharepoint keeps prompting for login when creating Office 2007 documents on Vista

    This is a very annoying problem that completely ruins the user experience of Office 2007 and Sharepoint. The worst part of the problem is that it only occurs on Vista and works perfectly on Windows XP. Makes me sometimes wonder why I bothered to upgrade in the first place, but it is too late now.

    Before I start explaining how to work around this particular issue, let me explain the problem in more detail to ensure that you are reading the right solution for the right problem. Below is a description of the environment and the software used on all machines.

    1. MOSS 2007 has been deployed on Windows Server 2003 R2
    2. Database is SQL 2005 with SP 2
    3. MOSS 2007 SP1 and WSS 3.0 SP1 has been installed.
    4. Infrastructure updates for MOSS and WSS have been installed.
    5. Office 2007 with SP1 has been installed on the client PC's
    6. All clients are running Vista SP1
    7. Sharepoint is deployed as and Extranet using a FQDN to access it. For example: http://portal.acme.co.za.

    Below is a list of steps that you can follow to determine if your Sharepoint environment is experiencing this particular problem.

    1. Create a document library on a Sharepoint site using Word 2007 as the default template.
    2. Select the "New" option from the toolbar of the document library.
    3. "Word 2007" launches on the local PC and prompts for a login.
    4. After supplying the correct credentials you are prompted another 2 or 4 times to authenticate.
    5. When saving the document from "Word 2007" back to Sharepoint, a similar thing occurs.

    image

    Referenced Articles:

    I then decided to start doing some serious research on how to fix this particular problem and became quite depressed when I compared my results. It seems that at the moment there is not outright fix and many people have very different opinions on how to work around this problem. Below is some of the results that I have found that explains why it happens as well as some suggestions on how to work around the issues.

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;941853

    http://www.chicagotech.net/netforums/viewtopic.php?t=3570

    http://www.vistax64.com/vista-networking-sharing/142618-problem-vista-office-2007-sharepoint-2007-a.html

    Understanding Why it Happens

    When you use Internet Explorer to access the WebDAV site, Internet Explorer uses Windows HTTP Services (WinHTTP). WinHTTP sends user credentials only in response to requests that occur on a local intranet site during an authenticated logon process. However, WinHTTP does not check the security zone settings in Internet Explorer to determine whether a Web site is a local intranet site. Instead, WinHTTP depends on the proxy settings in Internet Explorer to determine whether a Web site is a local intranet site.

    If the Automatically detect settings option is not enabled, any auto-configuration script that is defined will not be processed. WinHTTP will not identify the WebDAV site as a local intranet site. Therefore, WinHTTP will send out a request without user credentials, and you will be prompted to type user credentials.

    So as you can see, this problem only seem to appear on an Extranet site and not on an Intranet site. Unfortunately many of my customers run geophysical solutions all over the country with no proxy's in between.

    Different options on Fixing this problem!

    Based on the various Blog's and articles that I have read on the Internet the list below describes the various options to try:

    • Ensure that the Automatically detect settings option is enabled on IE and use a proxy.
    • Run Office 2007 in "XP SP2 Compatibility mode" on Vista for all clients.
    • Stop the "WebClient" service on Windows Vista.

    I tried the various options and none of them gave me a proper solution that I was happy with. They also seemed to be fairly inconsistent. I therefore attempted my own solution using a combination of these suggestions.

    My attempt at Fixing this

    In an attempt to fix this particular problem I followed the reasoning below:

    • If it works on XP and not Vista then something was removed! It seems to be WebDAV.
    • How does Vista work with web folders if not WebDAV? There seems to be a client side service on Vista.
    • Conclusion. Stop the service and install WebDAV on Vista.

    Therefore following the above mentioned reasoning, below is the steps that I followed to fix this.

    Step 1:

    Stop the service on the Vista Clients by following the steps below:

    1. Open "Control Panel" --> "Administrative Tools" --> "Services"
    2. Select the properties of the "WebClient" service.
    3. Set the startup sequence to "Disable" and stop the service.

    image

    Step 2:

    Install the "Web Folder" component on the Vista client machines using the steps below:

    1. Download and install the software from this location: Software Update for Web Folders (KB907306)
    2. Reboot the client PC.

    Step 3:

    Configure "Internet Explorer" to see the Sharepoint site as trusted.

    image

    Change the "Trusted Site" settings to "Automatically logon with Current username and Password"

    image 

    Conclusion

    After I made these changes, all the authentication problems went away and people could work normally as if they were working on a local "Intranet". Unfortunately the solution is not as elegant as I would like, but until "Microsoft" fixes this problem with a future service pack, this is what I will have to do.

    I also have no idea what the impact will be on stopping this particular service on Vista, but as yet everything seems to be working fine and I will keep you posted if I find any issues.

    If you do decide to try this and come across any issues, please let me know by posting a comment on this blog. I hope this helps some of you out there.

    Downloads

    Software Update for Web Folders (KB907306)

    Related Blogs:

    Workaround: Vista client fails to connect to Sharepoint using "Windows Explorer"

    Using SyncToy to synchronize offline Sharepoint documents on Vista

    Comparing MS Office versions with Sharepoint

  • Windows Sharepoint Services 3.0 as a Solutions Platform

    A lot of .NET developers still do not see the point behind using WSS 3.0 or MOSS 2007 as a development platform. I have therefore decided to write this blog to explain the benefits from the OS upwards to make it easier to understand. I do not claim that the Sharepoint platform is a solution for all kinds of development projects, but I have noticed that a lot of developers tend to ignore the benefits of what it has to offer and keep on re-inventing the wheel.

    Below is a diagram outlining all the sub layers involved before we get to MOSS 2007 and the functionality it provides. I will start with the OS and work my way up to MOSS 2007.

    WSS 3.0 Arch

    OS (Operating System)

    The only OS's that Sharepoint can use currently is either Windows 2003 server or Windows 2008 server. This is due to the fact that Sharepoint requires application pools that are only available with IIS 6 or IIS 7. There are however a lot of advantages that these OS's offer the developer that they take for granted.

    Most developers focus on the desktop OS's like XP and Vista due to the fact that they develop on these platforms and miss the advantages that a Server OS has available as they almost never investigate these options. They always tend to re-develop what is already available due to ignorance.

    I am therefore trying the educate and emphasis the built in advantages of these OS'S so that we can stop re-inventing the wheel so to speak. Below is a list of the advantages that Server 2003 and Server 2008 have to offer:

    Windows Server 2003

    1. Easy to Deploy, Manage, and Use
    2. Secure Connected Infrastructure
    3. Enterprise-Class Reliability, Availability, Scalability, and Performance
    4. Lower TCO Through Consolidation and the Latest Technology
    5. Create Dynamic Intranet and Internet Web Sites
    6. Fast Development with Integrated Application Server
    7. Work Smarter By Turning Your File Server Into a Powerful Collaboration Server
    8. Automate Operations with Script-based and Policy-based Management Tools
    9. Increase Document Protection and Availability via Intelligent File Storage
    10. Easy to Find, Share, and Reuse XML Web Services

    Below is a hyperlink with a lot more detailed information on the benefits mentioned above:

    http://www.microsoft.com/windowsserver2003/evaluation/whyupgrade/top10best.mspx

    Logo_Windows_NET_Server_2003

    Windows Server 2008

    1. Server Manager and the Advanced Event Viewer
    2. Server Core
    3. Terminal Services Gateway
    4. Terminal Services RemoteApps
    5. Native IPv6 support
    6. Read Only Domain Controllers
    7. Hyper-V
    8. Network Access Protection (NAP)
    9. Secure Socket Tunneling Protocol (SSTP)
    10. Windows Advanced Firewall and Policy Based QoS

    Below is a hyperlink with a lot more detailed information on the benefits mentioned above:

    http://www.windowsnetworking.com/articles_tutorials/Windows-Server-2008-Top-10-Reasons-Upgrade.html 

    windows2008logo_thumb

    .NET Framework

    Most developers are aware of what the .NET framework has to offer as they work with this on a daily basis. I therefore am not going to spend too much time on this section, but I do want to point out the advantages of the .NET framework 3.0 and the new features that to has to offer. Also keep in mind that WSS 3.0 has already created extensions on top of this platform and a lot of the development that is done at this level might not be required anymore depending on what is required.

    The .NET FX 3.0 is a core requirement for installing WSS 3.0. The reason for this is that it integrates very tightly with some of the .NET extensions listed below, especially WWF.

    Windows Workflow Foundation (WF):

    Windows Workflow Foundation (WWF) is a Microsoft technology for defining, executing, and managing workflow's. This is used extensively by WSS 3.0 to run built-in workflow's that ship with the product, but also provides the ability of building new and custom workflow's. This can either be done using Visual Studio or SPD (Sharepoint Designer).

    Windows Communication Foundation (WCF):

    The WCF programming model unifies web services, .NET Remoting, distributed transactions, and message queues into a single service-oriented programming model for distributed computing. This removes the complexity of trying to manager each of these methods individually in the application and also creates a standard to manage these communication mechanisms.

    Windows Presentation Foundation (WPF):

    WPF is a consistent programming model for building solutions that enables the use of richer controls, design, and development in Windows programs. This now allows the developer to easily insert and use components such as video, animation, 2/3D graphics, and various kinds of documents into the application whist removing the complexity of trying to use API's directly like we did in the past.

    Windows CardSpace (WCS):

    WCS (originally called Info Card) helps people keep track of their digital identities as distinct information cards. This allows easier authentications on many web sites without the need to re-enter usernames and passwords or even credit card information. It is also encrypted and therefore a lot more secure.

    Below is a hyperlink with a lot more detailed information on the benefits mentioned above:

    http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/DotNetFramework04182007043446AM/DotNetFramework.aspx 

    .NET Framework 3.5

    WSS 3.0 (Windows Sharepoint Services)

    Many people think of WSS 3.0 as a free piece of software that allows people to quickly build an intranet portal that will allow people to collaborate and this viewpoint is not incorrect. I on the other hand prefer to view WSS 3.0 as a logical extension of the .NET framework that allows developers to quickly build web based applications without the need of physically coding the web pages yourself.

    If we had to sit back for a moment and analyse the logical steps that a developer would follow to build a web based application you will start to understand my viewpoint. Let's build a quick list:

    • Entities - developers would normally plan their entities using UML tools and then convert these into classes that will ultimately be compiled into assemblies. These assemblies will then be referenced in the web pages that will be created at a later stage.
    • Metadata - properties for these classes will also be designed to store and manipulate the data in question.
    • Database - structures will be modelled and created in the database to stored the data being manipulated
    • Connections - multiple connections will be created to stored and retrieve information from one or more databases
    • Security - this is always quite a complex component for developers to control and takes up a lot of time and effort. Quite often this component is not adequately covered.
    • Authentication - Logon screens need to be developed to control access to the web application.
    • Optimising - caching and threading is always difficult to code and the outcome is not always guaranteed.
    • Scalability - most developers code for a single server environment and scaling is quite often ignored completely.
    • Auditing - custom components need to be developed to create audit trails for the application.
    • Web page builds - this is a very time consuming process and very repetitive in nature.

    These are just some of the issue that developers have to deal with and is by no means a complete picture of what is required. I am merely using some of them to illustrate my point.

    Now that we have loosely defined the normal concerns that a web developer has to deal with, let's look at how WSS 3.0 can solve these problems:

    • Entities - these get created as "Content Types" in WSS and require no coding.
    • Metadata - these get created as "Site Columns" in WSS and get bound together as "Content Types". No coding.
    • Database - WSS automatically stores all metadata in its own database without the need to create additional structures. No coding
    • Connections - connections to the database handled by the WSS provisioning engine. No coding.
    • Security - this is handled by WSS through NTLM, Kerberos, SSO or "Forms Based" authentication. No coding
    • Authentication - this is done by IIS and WSS. No coding
    • Optimising - WSS has built in caching components that can be configured using the browser.
    • Scalability - the topology of WSS allows it to scale out into a farm configuration. All web pages are stored in the database as metadata and can therefore be rendered from any amount of WFE's.
    • Auditing - WSS has built in audit trails.
    • Web page builds - the provisioning engine of WSS creates web page on the fly without the need of coding them. The layouts can be controlled using the browser or SPD.

    I hope you are starting to see how WSS is making the developers life so much easier and now we can truly to use RAD (Rapid Application Development).

    Below is a list of the top 10 benefits of using WSS 3.0:

    1. Improve team productivity with easy-to-use collaborative tools
    2. Easily manage documents and help ensure integrity of content
    3. Get users up to speed quickly
    4. Deploy solutions tailored to your business processes
    5. Build a collaboration environment quickly and easily
    6. Reduce the complexity of securing business information
    7. Provide sophisticated controls for securing company resources
    8. Take file sharing to a new level with robust storage capabilities
    9. Easily scale your collaboration solution to meet business needs
    10. Provide a cost-effective foundation for building Web-based applications

    Below is a hyperlink with a lot more detailed information on the benefits mentioned above:

    http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb684456.aspx

    logo-wss

    MOSS 2007 (Microsoft Office Sharepoint Server)

    Even tough WSS 3.0 does all these wonderful things for us, there is a lot more than can be done. Microsoft has spent a lot of time and effort researching what applications business require and then went along and created a commercial product that make these available in the format of MOSS 2007. This is also an area were developers tend to re-invent the wheel by building applications that can be purchased for a fraction of the costs of what it would take to build them.

    Keep in mind that MOSS 2007 is built on top of WSS 3.0 and therefore all the benefits discussed in the previous section also apply to MOSS 2007. WSS 3.0 is therefore a pre-requisite for MOSS 2007.

    Let's take a look at the core areas that MOSS 2007 has to offer and were we can benefit from it out of a custom development perspective:

    • BI - MOSS allows us to build digital dashboards to display BI data using "Excel Services", connections to external databases (BDC), caching reports for reporting services and built-in KPI web parts. Quite often developers spend huge amounts of time developing presentations layers for there BI solutions and these are now available
    • Collaboration - MOSS is tightly integrated into MS Office and now allows user to share information like tasks, calendars, contacts and many more through Sharepoint with no need to develop additional applications. All documentation is now also stored in Sharepoint negating the need to email attachments too each other.
    • Portal - Sharepoint has the ability to created full blown Internet facing web sites with built-in CMS capabilities like publishing, approval workflow's, security and browser based editing of web pages.
    • Search - this allows users to find any information on their network. This includes content within Sharepoint, Databases, File Servers, Mail servers and many more. It even indexing the content inside the documents to allow users to search on that basis. Most web applications developed as stand alone solutions have very limited searching capabilities built in and normally rely only on the search capabilities built into IIS.
    • Content Management - built in workflow's and information management policies allow us to control how information is accessed, secured and archived without the need of developing these components.
    • Business Forms - this component allows us to create data entry forms to capture information like leave, expense claim data and many more. This information can then be directly written to any back end database without the need of developing a custom application to do so. These can also be attached to workflow's.

    The points mentioned above is only a brief summary of what can be done and you will have to do some more reading to understand to full benefit.

    Below is a list of the top 10 benefits of using MOSS 2007

    1. Provide a simple, familiar, and consistent user experience.
    2. Boost employee productivity by simplifying everyday business activities.
    3. Help meet regulatory requirements through comprehensive control over content.
    4. Effectively manage and re-purpose content to gain increased business value.
    5. Simplify organization-wide access to both structured and unstructured information across disparate systems.
    6. Connect people with information and expertise.
    7. Accelerate shared business processes across organizational boundaries.
    8. Share business data without divulging sensitive information.
    9. Enable people to make better-informed decisions by presenting business-critical information in one central location.
    10. Provide a single, integrated platform to manage intranet, extranet, and Internet applications across the enterprise.

    Below is a hyperlink with a lot more detailed information on the benefits mentioned above:

    http://office.microsoft.com/en-us/sharepointserver/HA101655201033.aspx 

    MOSS

    Additional Applications built on Sharepoint

    If you start analysing what the whole Sharepoint environment has to offer, you will come to the conclusion that it offers functionality that is required by many other applications that Microsoft has to offer. It therefore was only logical the Microsoft would start building their other applications to start running either on top of WSS 3.0 or using it's functionality.

    Some of these applications include:

    • Project Server 2007
    • Microsoft CRM 4.0
    • Performance Point Server

    Microsoft is making Sharepoint part of their fundamental building blocks going into the future and I envisage many more applications coming from Microsoft that will run on the WSS 3.0 provisioning engine.

    Below are some links where more information can be found:

    http://office.microsoft.com/en-us/performancepoint/FX101680481033.aspx

    http://www.microsoft.com/dynamics/crm/default.mspx

    http://office.microsoft.com/en-us/projectserver/FX100739841033.aspx

    CRM 4.0 Per Point Server
     Project Server

    Argument

    Before I start my argument of why I think Sharepoint is a good platform for development, I would like to state that I do not believe that this is a solution for all application development projects. This is not built for applications with huge transactional volumes, but then not many applications require huge volumes.

    Below is a list of points that I believe make Sharepoint a good development platform:

    • No need to develop your own web pages as the Sharepoint provisioning engine will create these for you.
    • No need to worry about the database structure as Sharepoint will stored the data for you in it's own meta base.
    • Sharepoint can be extended by writing your own web parts and application pages to build new solutions.
    • Business object and entities can be modelled and mapped using "Content Types".
    • This becomes the best workflow platform for manipulating business data.
    • MS Office is to most common desktop office application and seamlessly integrates into Sharepoint.
    • Built-in search engine makes incredibly easy to find information.

    These are just some of the reasons why I think Sharepoint is a good development platform for business applications and there are hundreds more.

    This then concludes the end of this blog. Please feel free to post comments, I would love to know what you think!

    Referenced Articles

    http://www.microsoft.com/windowsserver2003/evaluation/whyupgrade/top10best.mspx

    http://www.windowsnetworking.com/articles_tutorials/Windows-Server-2008-Top-10-Reasons-Upgrade.html 

    http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/DotNetFramework04182007043446AM/DotNetFramework.aspx

    http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb684456.aspx

    http://office.microsoft.com/en-us/sharepointserver/HA101655201033.aspx

    Related Blogs

    Differences between WSS and MOSS

    Overview of the .NET Platform

    MOSS - Enterprise Content Management Architecture 

    SharePoint - The role of a Web Part vs using application pages

  • Building a Custom Workflow in Sharepoint Designer

    The concept of workflow is not a new one and many commercial products on the market have been offering solutions for years, but at a very high cost. As most of you know by now, Microsoft was started working on this problem since the creation of the .NET framework 3.0 with the addition of WWF (Windows Workflow Foundation).

    This has become the basis of workflow for most new Microsoft products like Office 2007, Project Server 2007, CRM 4.0 and MOSS 2007. Sharepoint specifically has many entry points into WWF and can basically be broken into the following levels of complexity:

    • Built-in or Downloaded workflow's - these come standard with Sharepoint or can be installed with add-on templates.
    • Sharepoint Designer - this tool allows you to customize many aspects of Sharepoint including custom workflow's.
    • Visual Studio 2005/2008 - this is the ultimate tool for building workflow's, but is quite often overkill for what is required.

    The focus of this blog is to introduce you to the basic steps in building workflow's with Sharepoint Designer if you are not already familiar with it.

    It all starts with an object and a content type. Workflow's need to be attached to object so that they know what they are interacting with and there are basically two types of objects in Sharepoint, a list or a document library. Content types define what metadata is stored with an object and is vital in building a useful workflow. Even the default object instances like "Contacts" or "Tasks" have content types associated by default. Therefore the basic steps required to build a workflow is the following:

    • Create an instance of an object like a "Document Library" in Sharepoint.
    • Define the meta data required and build it into a content type. Associate the content type with the object.
    • Build the workflow using SPD or VS and bind it to the object.

    In the following example I will be building a custom workflow on a document library using Sharepoint Designer.

    Start by creating a document library in a Sharepoint site and add some content to it.

    Start Doc Lib

    The next step would be to open an instance of SPD (Sharepoint Designer). Select "Open" from the file menu and point it to the site containing the document library.

    Open Site SPD

    To create a new workflow, select "New" --> Workflow from the file menu.

    New Workflow

    This action will initiated a wizard that will start up and guide you through the process.

    Wizard 1 Welcome

    A number of options are available to configure on this screen:

    • Name - each workflow requires and unique name to distinguish it from other workflow's in Sharepoint.
    • Bind Object - the workflow needs to be bind to and object that exists in the site that was opened in SPD.
    • Start Settings - the workflow is started by events triggered by the object. This can be "New" or "Edit" and is defined by the checkbox selections available.
    • Variables - custom variables can be created to store values that can be used throughout the steps that will follow. These can be used later in phase 2 of the wizard.
    • Initiation - it is possible to define questions that the user will be prompted with when the workflow is initialised. The responses can be used to determine the flow or outcome of the workflow.

    Wizard 1 Ask Question

    Once the initial options have been configured, select the "Next" button on the wizard to continue.

    Wizard 2 Blank

    The second phase of the wizard basically consists of an design pane that is used to create the logic of the workflow. Think of it as writing and "If Else If" statement in code, without actually having to write it yourself.

    Also keep in mind that this is only the first step of logic in the workflow and additional steps can be created by selecting the "Add Workflow step" option on the right hand side of the screen.

    Let's start by taking a look at the "Conditions" part of the logic first. This would map onto the "IF" part of a virtual script.

    Wizard 2 Condition

    When selection the drop down option called "Conditions" a number of options appear that allow you to define a condition for comparison to determine if this workflow should initialise or not. The workflow will always be invoked (Hydrated) when the events connected to he object fires, like "New" or "Edit", but the condition will determine if this particular workflow will be initialised.

    These condition can range from comparing dates to specific file values connected to the document. This is were the importance of the content types come in. If you did not spend sufficient time initially to determine what meta data needs to be associated with a particular document and built this as a content type associated with the document, then at this particular point the workflow becomes difficult to build. I personally believe this is why many people believe that SPD is not sufficient to build workflow's in Sharepoint.

    Keep in mind that specific values can be compared against each other by selecting the "Hyperlink" options that appear and then supplying either metadata fields or hard coded values for comparison. Additional branch logic can be created by selecting the "Else If" branch option further down the screen.

    It is also possible to create "AND" and "OR" scenarios by selecting the "Condition" option more than once.

    Now that the logic has been determined, it is time to decide what to do if the logic is "True" by setting the actions.

    Wizard 2 Actions

    To create an action for a particular condition is a simple matter of selecting the action from the drop down list called "Actions". In a similar fashion to the conditions, this will create "Hyperlink" options that can be configured by selecting them. Keep in mind that you always want to us metadata fields that come from the content type instance associated with this particular "Document" or "List Item" that invoked the workflow.

    There are too many options to discuss them in detail and you will have to experiment and play with them to see what is available and how each of the options work. There are also a lot more options available by selecting the "More Actions" option from the drop down list as illustrated in the image below. Also keep in mind that some of the options only apply to lists and others only to documents.

    For Example: When selecting the option called "Send and Email", do not hard code the email address by typing it into the action, but rather retrieve the email address from an meta data field associated with the content type. Assuming that you built it into the content type to start with.

    It is also possible to add multiple actions to a condition by selecting the "Action" option more than once.

    Wizard 2 More Actions

    Once this step has been completed with its conditions and actions you need to determine if you need more steps. This was only the first step in the workflow and optionally more can be added by selecting the "Add Workflow step" on the right hand side of the screen.

    When you have completed building the workflow, select the button called "Check Workflow" to determine whether your workflow will compile and the logic actually works. If you get the "All Clear", then select the "Finish button" to build the workflow.

    XOML File

    You will also notice that a new folder structure gets created in SPD called "Workflow's" that did not exists previously. This allows you to edit the custom workflow in future by editing the "xoml" file in the folder structure.

    There is obviously a lot more that can be written about writing custom workflow's in SPD, but I hope this blog gives you enough of a starting point to start experimenting. There are some additional links below written by some other authors on this site relating to workflow's and Sharepoint.

    Related Blogs:

    Creating an Approval Workflow in Sharepoint

    BizTalk Orchestrations vs SharePoint Workflow vs Windows Workflow Foundation

    High level overview to what workflow's are

    Using SharePoint Designer Workflow for Helpdesk email notifications

    SharePoint Designer Workflow Tips

    Content Types the Core of ECM in Sharepoint

  • Waterfront.co.za moves to MOSS 2007

    It has been a long 3 months, but we are finally done. The new Victoria & Alfred Waterfront web site has been redesigned with a fresh look and feel and has also been built on MOSS 2007.

    We have been in beta testing for a couple of weeks and we asked a number of people that we know in the industry to comment on the design and functionality. The responses were quite diverse and ranged from hating it to loving it and I have come to the conclusion that it is impossible to please everyone.

    None the less, it was a very educational experience for both me and the other people that worked on this site and I would like to give some credit were it is due. Below is a list of the people that helped to build the site and their various job responsibilities.

    Name Job Role Company
    Neil van Wyngaard: Architect and Install/Config Airborne Consulting
    Cara Turner: Project Management and Content Airborne Consulting
    Garth Raulstone Sharepoint and .NET Developer Airborne Consulting
    Reuben Ndlovo Sharepoint Developer and Layout Airborne Consulting
    Fabian January Content editor V&A Waterfront
    Draft FCB Design / Look and Feel Draft FCB

    I also could not resist doing an before and after comparison, here are some screen shots of the difference.

    Before:

    Old Web Site

    After:

    image

    This is also only the end of Phase I of the project. We currently have 3 phases planned and here is a rough breakdown of each:

    Phase I:

    • Create a new look and feel for the web site
    • Upload existing content from the old web site to the new
    • Build the new web site on Sharepoint for the ECM capabilities
    • Incorporate a powerful search engine to help find information.
    • Build a scalable platform for future expansion.

    Phase II:

    • Start building a community using blogs and wiki's and member areas.
    • Potentially incorporate "Silver Light" and WPF into the design using "Expression Blend".

    Phase III:

    • e-Commerce enable the site with on-line hotel bookings and Restaurant reservations.

    Victoria and Alfred Waterfront Intranet Case Study

    Many people are not aware of this, but the V&A Waterfront intranet was one of the very first MOSS 2007 deployments in the country. It was build in June 2006 on the Beta release of MOSS 2007 and is a documented case study with Microsoft. You find the link on the Microsoft web site here: Waterfront Sharepoint Intranet Case Study.

    I am pretty sure we will do another case study for the Internet web site as well.

    Please let me know what you think about the web site. We are always open to new ideas on how to improve things.

    Related Web Sites and Downloads:

    http://www.waterfront.co.za/

    http://www.airborneconsulting.co.za/

    Airborne Consulting

    http://www.draftfcb.co.za

    Draft FCB

    Waterfront Sharepoint Intranet Case Study

    Posted Oct 10 2008, 01:07 PM by Neil with 1 comment(s)
    Filed under: ,
  • Moving a List with Content between Sharepoint servers

    Recently I have been doing a lot of Content Deployment between various Sharepoint servers and in the near future I will write a whole series of blogs on how to do this. In a build up to those blogs, I have decided to start explaining how some of the less complicated components of Sharepoint can be moved and I decided to start with "Lists".

    Most of the content in Sharepoint is either stored in a list as meta data records or as BLOBS in document libraries. Quite often we want to move content between an development or test environment to a production environment and we do not want to manually redo all the work.

    Here are the basic steps in moving a list from one server environment to another with content:

    1. Create the list in the test environment and upload the required content.
    2. Save the List as a Template to the "List Gallery"
    3. Export the list from the gallery to and STP file.
    4. Import the STP file into the production list gallery.
    5. Create an instance with content of the new template in production.

    Step 1: Create the List with Content

    The first step would be the normal process of creating a list in a Sharepoint site and then populating it with content.

    Source List

    This can be easily achieved by completing the following steps:

    1. Select "Create" from the Site Actions menu.
    2. Select the List template of your choice.
    3. Complete the various fields, like the name and title and then commit.
    4. Navigate to the list and add any custom columns required.
    5. Populate the list by adding records to it.

    Step 2: Save the List as a Template

    The next step would be to export the list as a template by navigating to the list and selecting "List Settings" from the drop down menu.

    Save List as Template

    There will be an option called "Save list as template" under the "Permissions and Management" section. Select this option.

    Save Settings Content

    The following screen will provide you with a number of options in regards to saving the list:

    • Provide the name that will be used when exporting the list as and STP file.
    • Provide the logical template name by which this list will be referred too in the site.
    • An additional description can be provided to explain the purpose of the list.
    • The "Include Content" check box can be used to export the content of the current list with the template.

    Step 3: Export the list as an STP file

    The next step is to navigate to the "List Template" gallery that can be found under "Site Settings". The link can be found under the "Galleries" section called "List Templates". Select the link.

    List Template Gallery location

    In the "List Template Gallery" you should find the list that you save previously.

    List Template Gallery Export

    Click on the list to export it.

    Save As STP

    You can save the STP file anywhere you like, even on your own local machine. This is the file that we need to copy to the production Sharepoint server.

    Step 4: Import the STP into the production environment

    After the STP file has been manually copied to the production environment, you can start the import by navigating to the "List Template Gallery" in the production site or site collection of your choice. The same steps can be followed as outlined in the previous section.

    List Template Gallery Import

    In the "List Template Gallery" you will find and option called "Upload Document" that can be found from the drop down menu on the toolbar. Use this option to navigate to the STP file and then import it into the new gallery.

    Step 5: Create a new list instance from the template

    The last step is to create a new list instance from the imported list template. This is a simple matter of selecting "Create" from the "Site Actions" menu.

    Create New List

    You will notice that the imported template now appears as a new option under the "Create" section. Select this option and complete the steps as per normal during the creation of a list.

    Source List

    A new list will then appear in the production environment that looks identical to the one exported from the previous environment.

    The same principal can be applied when exporting and an entire site template.

    Related Blogs:

    Custom site template in Sharepoint

    Overview of features, templates, site definitions, solutions in Sharepoint

    SharePoint - The TEMPLATE folder in the 12 Hive

    Templates for Microsoft SharePoint Products and Technologies
    Posted Oct 05 2008, 04:25 PM by Neil with 5 comment(s)
    Filed under:
  • Unlimited e-books available for Download

    I am always on the lookout for new material and e-books on my favourite topics. Sometimes I am lucky and some of my friends and colleague's have some e-books and additional training material and them we swap. You can go and search on "Google" for downloads and sometimes you are lucky, but most of the time you have to buy on-line.

    Take a walk into "Exclusive Books" next time and go and look at the prices of computers books. If you do not die of heart failure, then you end up leaving the store very despondent. The other problem with computer books is that they have a limited life span of usefulness and then they become obsolete. Do you really want to pay all that money for something that will only be useful for a short period of time.

    Today somebody sent me an awesome link to a web site with unlimited e-books for download: www.mininova.org These are all the same books that you buy from amazon.com and Kalahari.net and even then one's you find in exclusive books.

    I am not here to debate the morality of this site or even that these books have been scanned and made available illegally. All I am saying is that they are available and it is up to you whether you download them or not.

    Below is a snapshot of what is available on my favourite topic: Sharepoint, but there are thousands of books available and all you need to do is search on the site itself. Somehow it does not seem like they get "Googled".

    image

    Reference Links:

    http://www.mininova.org/search/?search=sharepoint

    Related Blogs:

    Sharepoint e-Books available for Download from Microsoft

  • Workaround: Vista client fails to connect to Sharepoint using "Windows Explorer"

    This must be one of the most annoying problems that I have faced for quite some time and the worst part is that there is no fix as yet. The best that I could do is find some type of "work around" solution that will have to suffice until Microsoft fixes this on Vista SP 2 some time in the future.

    Before I start blowing off some more steam, let me explain the problem and then I will explain the work around. The problem starts with document libraries that do not want to open in "Windows Explorer".

    Here are the steps to re-create the error:

    1. Create a document library in Sharepoint
    2. Put some content into the Document Library
    3. Attempt to open the document library in "Windows Explorer" view from the actions menu.
    4. Error is generated: "Your client does not support opening this list with Windows Explorer"

     image

    After you spend some time calming down, you go and look on the Internet for a solution and then you will find a lot a upset people that are not as calm as you are. If have created some links at the end of this blog that you can go and read.

    The conclusion is that for now there is not permanent solution and we will have to wait for some future service pack, but there are some workarounds. Here is how I fixed this particular problem for now.

    1: Install a Hot fix for Windows Vista called "Web Folders Update". You will find the link at the end of this blog. If you do not do this, then you cannot map a drive to a web location on Sharepoint.

    2: Map a "Web Network Location" on your PC to the root of the Sharepoint site in question and ensure that you save the credentials. You could mapped this directly to the document library, but then you would potential end up with many mapped drives.

    image

    3: At this point it should work.

    image

    For some reason this problem does not occur on Windows XP with sp2.

    Reference Blogs and Forums:

    http://groups.google.com/group/microsoft.public.sharepoint.windowsservices/browse_thread/thread/d59c954b08cf8400/3354c3db300e0313?lnk=raot&fwc=1

    Software Update for Web Folders (KB907306)

    Related Blogs:

    Creating Content Types and linking them to Document Library's in Sharepoint

    Using SyncToy to synchronize offline Sharepoint documents on Vista

    Vista Tip Nr 6: Move To Folder and Copy To Folder

    Posted Sep 23 2008, 02:57 PM by Neil with 3 comment(s)
    Filed under: ,
  • Installing Sharepoint on Windows Server 2008

    At some point or another you will have to try and install either WSS 3.0 or MOSS 2007 on a Windows 2008 server. This is when things start getting interesting due to the fact that things do not quite work the same way as they did before. I recently had to go through this exercise and therefore I thought that I would share some of my experiences.

    There are some fundamental differences in the way WSS and MOSS are deployed on Server 2008. I will take a look at each individually.

    WSS 3.0

    The normal process for installing WSS 3.0 on Windows Server 2003 is the following:

    • Download WSS from the Microsoft Web Site and install.
    • Download Service Pack 1 for WSS 3.0 and install.
    • Download Hot Fixes for WSS 3.0 and Install.

    Unfortunately on Windows Server 2008 it does not allow you to install WSS 3.0 as the Service pack is not embedded into the install. Fortunately Microsoft has release a new install of WSS 3.0 that already has the service pack 1 built in.

    The new installation set can be found here.

    MOSS 2007

    The MOSS installation is a bit more difficult as it relies on WSS 3.0 as a base and it still has it's own service pack that needs to be taken care of.  The only way to do this is to create a slipstream installation image of MOSS 2007 that includes both service packs before attempting and install.

    Here are the steps in building a Slipstream Image for MOSS 2007:

    1. Create a temp folder for the WSS 3.0 service pack extraction. Call it "WSSTemp"
    2. Extract the WSS 3.0 service pack files by executing 'c:\wssv3sp1-kb936988-x86-fullfile-en-us.exe /extract:c:\WSSTemp'
    3. Create a temp folder for MOSS 2007 service pack extraction. Call it "MOSSTemp"
    4. Extract the SharePoint Server 2007 service pack by executing 'C:\officeserver2007sp1-kb936984-x86-fullfile-en-us.exe /extract:c:\MOSSTemp'
    5. Copy the content of both extracted service packs into the updates directory of the MOSS 2007 install folder eg. 'c:\MOSS2007\x86\updates'

    After the new install image has been built, you can deploy on Windows Server 2008 without any problems.

    Referenced Blogs:

    http://www.mindsharpblogs.com/ben/archive/2007/12/16/3837.aspx

    Related Blogs:

    Installation Procedure for MOSS

    A developer's 101 to installing Windows SharePoint Services 3.0

    Microsoft Office Sharepoint Server Service Pack 1 release

    Windows Sharepoint Services Service Pack 1 released

  • Fixing a DCOM error on Windows Server 2003

    One of the most annoying things is seeing all those red icons in event manager on Windows Server 2003 and then on closer inspection you find that they are related to DCOM. At this point most system administrators give up and start phoning the developers about their applications that are breaking the server, but these errors are quite often security related and are easily fixable.

    Sharepoint is also not immune to this problem as it relies heavily on IIS 6.0 that does uses DCOM components.

    Before I start explaining the various steps involved, I am going to create a quick list of the sequence of events:

    • Get the error Info from "Event Viewer"
    • Trace the error info in the registry.
    • Resolve the security error using "COM Manager"
    Event Viewer:

    The first step would be to open up "Event Viewer" that can be found under administration tools on server 2003.

    List Errors

    Navigate to the errors that are marked with the red icon and double-click on one to get all the error information.

    Error Details

    This is the point where most people get frustrated due to the fact that the error information does not include the name of the application or component that is causing the error. Let us analyse what we do have:

    • We know the error has to do with security due to the reference of the word "Permission" in the text.
    • We know what permission is missing - "Local Activation"
    • We know what account requires permission - "Network Service" in this case.
    • We have the Class ID for the assembly causing the problem.

    All we need to do now is convert the CLSID into a logical application name. To do this we need to access the registry by executing the command "regedit" from the command line.

    RegEdit

    Copy the CLSID from the error and do a find using the "Registry Editing" tool. Once you find a match to the CLSID, you will be given a PROGID (Program Identifier). This is the name of the application causing the error, in this case "IIS WAMREG admin Service".

    The next step is to find this application using "COM Manager" that can be found under administrative tools in "Control Panel".

    Component Services

    Collapse out the tree in component manager until you get to the "DCOM Config" section. Under this section you will find the application in question listed. Edit the properties of this application to fix the problem.

    Security Tab

    The error specified that the problem was related to "Security" and "Local Activation". Therefore we navigate to the "Security" tab and select the edit button under the "Launch and Activation" section.

    Add Account

    Select the "Add User" button and add the "Network Service" to this ACL (Access Control List).

    Problem Solved.

    Related Blogs:

    Resolving a DCOM Error 10016 (Local Activation) on Sharepoint

    ASP.NET error registering with IIS

  • Microsoft Certified Master for Sharepoint

    As most of you are already aware, Microsoft places a huge amount of emphasis on certification. Not only does this guarantee that the certified person knows what they are doing, but it makes it easier for companies to employee people as there is some sort of standard.

    In the past the certifications where difficult to understand in the broader industry as the titles differed within each vertical space. We ended up with MCSE, MCSD, MCDBA, MCT, MCTS, MCITP, MCBMSS and many more and these were difficult to explain to prospective employers. The other problem was that the amount of products available increased drastically and it become impossible to create separate certifications for them all.

    Microsoft therefore decided to consolidate this whole mess and streamlined the process by creating a new series of certifications that are more product focused. They also created different levels within each product to demonstrate the level of expertise achieved.

    The certification path therefore looks as follows:

    • MCTS (Microsoft Certified Technology Specialist) - This is the basic starting point for any product.
    • MCITP (Microsoft Certified Information Technology Professional) - This would be the advanced level.
    • MCM (Microsoft Certified Master) - This is the new level for specialists in their field
    • MCA (Microsoft Certified Architect) - This is the highest level of achievement.

    Unfortunately Microsoft has not created MCITP, MCM or MCA levels for all their product as they are not applicable to all products and some are still in the pipeline. The MVP (Most Valuable Professional) status falls out side this scope as you do not need to be certified to attain this status and this is not something that you can apply for.

    The MCM certification for Sharepoint is not available yet, but it will be launched in December 2008. Read the links below for more information.

    cert-master

    Introducing Master certifications

    The new Microsoft Certified Master series offers advanced technical training and certifications on Microsoft technologies that go beyond any product training offered outside of Microsoft today. IT professionals who successfully complete the training program and certification testing validate their skills as product experts who successfully design and implement solutions that meet the most complex business requirements.

    Exclusive advanced training

    The strength of Microsoft Master training begins with an experience-based curriculum that is built on a foundation of expert-level classroom training and labs. This curriculum is presented by instructors from Microsoft and Microsoft global network partners who are practiced experts in their discipline. The instructors draw upon their real-world experience to ensure that students learn the skills that apply to real-world customer scenarios. The program includes three weeks of highly intensive classroom training, three computer-based tests, and one lab-based exam per training rotation (training and exam series).

    Certification

    Master certification enables senior IT professionals to demonstrate and validate their technical expertise on Microsoft server products and authoritatively differentiate themselves to prospective employers and customers. Master certification is a prerequisite for all Microsoft platform Microsoft Certified Architect (MCA) certifications.

    Microsoft offers three Master-level technical certifications, all of which deepen and broaden the technical skills of experienced IT professionals.

    Qualification requirements

    Qualified Microsoft Certified Master candidates are highly skilled technical experts in their discipline with several years of experience designing, deploying, and managing solutions by using Microsoft technology. To be eligible for Master certification, the candidate must be a current Microsoft Certified Professional (with a Microsoft Certification ID) or an eligible Microsoft employee. Specific technology requirements vary by platform.

    To achieve Master certification, candidates must:

    • Attend required sessions (three weeks total)
    • Successfully complete all in-class (written and lab) exams (up to three exams)
    • Successfully complete a qualification lab exam
    Registration is available now

    Learn how to apply and register

    Referenced Links:

    http://www.microsoft.com/learning/mcp/master/default.mspx

    http://blogs.msdn.com/trika/archive/2008/06/26/more-on-the-certified-master-programs-from-me-per-the-program-owner.aspx

    Most Valuable Professional Programme

    Related Blogs:

    http://grounding.co.za/courses/

    Sharepoint e-Learning courses available from Microsoft

  • Sharepoint e-Learning courses available from Microsoft

    For many years Microsoft had their focus on ILT (Instructor Led Courses) and it has been very successful for them. Due to the explosion of the Internet and the lack of time that most IT professionals experience these days, it has become very difficult for people to find the time to attend a course outside of the office.

    Therefore Microsoft has supplemented their training offering by making a huge amount of training material available on-line in the form of e-learning. Some of the training modules are free, but unfortunately most of them is on a "Pay as U use" basis. Fortunately the training is available for free if you are a EA client in the form of redeemable training vouchers that Microsoft supplies. Contact your IT department so that that can speak to their LAR ( Larger Account Re-seller).

    Free training vouchers are also given on many of the ILT training courses. Use them.

    Below is a list of hyperlinks that will take you directly to the e-learning courses listed.

    Courses on Microsoft Office SharePoint Server 2007

    Courses on Microsoft Windows SharePoint Services 3.0

    Instructor led Training Courses

  • Office SharePoint Server 2007 Training (Standalone Edition)

    During a Sharepoint deployment it becomes critical to train the end-user on how to use Sharepoint effectively. Quite often this phase of a project is ignored with disastrous results when the system goes live due to user resistance of the new technology.

    The problem comes in the fact of how to train the users when the system is still in development or deployment. We could go and build virtual machines and host them on temporary servers, but this is quite often not feasible. Fortunately Microsoft has developed a standalone simulated version of Sharepoint, that can be installed on the users desktop. This tool then allows the users to be trained before the system goes live.

    Below is an overview of the tool that I found on the Microsoft web site and I have also provided hyperlinks to download it.

    Overview

    Microsoft Office SharePoint Server 2007 offers a rich set of features to help you manage workflow, maintain document version control, connect to business intelligence applications, track key performance indicators for your business, add blogs and wikis to improve knowledge transfer and enhance collaboration, and more.


    The Microsoft Office SharePoint Server 2007 Training Standalone Edition is designed to help you learn how to use the features of Microsoft Office SharePoint Server. The Training topics lead you step-by-step through beginning to advanced features, including Collaboration, Business Processes and Forms, Portals and Personalization, Search, Business Intelligence and Enterprise Content Management.


    The Training includes videos, interactive tutorials, and articles. The Standalone Edition is accessed through your browser after you install the application on your personal computer.


    If you are a server administrator and want to install the Portal Edition to your Office SharePoint Server site, click here. The Portal Edition allows you to add content to help your users learn about the rich features of Office SharePoint Server 2007.

    Download Link:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=7BB3A2A3-6A9F-49F4-84E8-FF3FB71046DF&displaylang=en

    Related Blogs:

  • Sharepoint e-Books available for Download from Microsoft

    In my never ending research to understand Sharepoint better and increase my knowledge of the product, I came across a Microsoft web site that has free e-books available for download in MS Word format.

    Some of you might already know about it, but I am betting that many of you don't and therefore I thought that a quick blog about what is available and where to get it might be appropriate.

    Below is a list of the available books and the links to download them.

    Getting started

    Getting started with Office SharePoint Server 2007

    Download

    Covers basic information about the capabilities of and requirements for Microsoft Office SharePoint Server 2007

    July 2008

    Planning

    Planning and architecture for Office SharePoint Server 2007, part 1

    Download

    Covers topics such as planning sites, planning for certain features such as forms and search, and planning for managing documents and records.

    March 2007

    Planning and architecture for Office SharePoint Server 2007, part 2

    Download

    Covers topics such as determining hardware and software requirements, capacity planning, and planning for security.

    March 2007

    Governance guide for Office SharePoint Server 2007

    Download

    Governance is the set of policies, roles, responsibilities, and processes that you establish in your enterprise to guide, direct, and control how it uses technologies to accomplish business goals. The articles in this guide will help you determine the aspects of your Office SharePoint Server 2007 deployment to govern and include discussions of techniques for governing your enterprise’s SharePoint IT service and information architecture.

    July 2008

    Planning an extranet environment for Office SharePoint Server 2007

    Download

    Covers planning recommendations for deploying Office SharePoint Server 2007 in an extranet environment.

    June 2007

    Deliver accessible solutions (white paper)

    Download

    Provides information and guidelines about the issues that organizations face when delivering accessible Web solutions, including those built by using Office SharePoint Server 2007.

    June 2008

    Best practices for developing accessible Web sites (white paper)

    Download

    Provides information about designing and developing accessible Web sites in Office SharePoint Server 2007. This document is intended for users who are familiar with Office SharePoint Server 2007, ASP.NET, and .NET development.

    June 2008

    Deployment

    Deployment for Office SharePoint Server 2007

    Download

    Covers installing and configuring Office SharePoint Server 2007 in a new deployment.

    June 2007

    Upgrading to Office SharePoint Server 2007

    Download

    Covers upgrading to Office SharePoint Server 2007.

    June 2008

    Deploying Office SharePoint Server 2007 Service Pack 1

    Download as .doc

    Download as .pdf

    Changes in Office SharePoint Server 2007 SP1 and instructions for deploying the service pack.

    December 2007

    Installation guide for Office SharePoint Server 2007

    Download

    This guide provides the information you need to successfully install Microsoft Office SharePoint Server 2007 to a stand-alone computer or simple server farm.

    July 2008

    Design and build sites for Office SharePoint Server 2007

    Download

    This guide provides prescriptive guidance that can help you and your team build custom enterprise sites by using Microsoft Office SharePoint Server 2007 — such as company-wide portal sites or Internet presence sites.

    January 2008

    Operations

    Administering enterprise search for Office SharePoint Server 2007

    Download

    Includes guidance and procedures for configuring and maintaining search features in Office SharePoint Server 2007.

    September 2007

    Security

    Security for Office SharePoint Server 2007

    Download

    Describes how security is implemented in Office SharePoint Server 2007.

    July 2008

    Solutions

    Web publishing and planning guide for Office SharePoint Server 2007

    Download

    Covers features you can use to implement the structure, navigation, and appearance of Web sites and to control how your sites are authored, approved, and published.

    May 2007

    Records management guide for Office SharePoint Server 2007

    Download

    Covers general records management planning considerations and guidelines for configuring Office SharePoint Server 2007.

    May 2007

    Document management guide for Office SharePoint Server 2007

    Download

    Related Blogs

    New Microsoft Sharepoint 2007 Courses Available

    Official Microsoft Site: Downloadable content for Office SharePoint Server 2007

  • Basic steps on Implementing "Search" in Sharepoint

    In my daily work I come across many customers that have implemented MOSS themselves and are having problems in one form or another. Some sites are better than others, but they all seem to have one thing in common. None of them have implemented "Search" in any form in their deployments. They all claim to have a number of reasons for this, but the most common one is lack of knowledge.

    Although the "Search" aspect is a vast topic all by itself, I believe many people blow this out of proportion has they are all trying to build Utopia. Fortunately we do not live in Utopia, but in South Africa and therefore we can just implement the capabilities and it will most likely fulfil our needs as standard. I have therefore decided to write a simple blog about the basic steps required to implement "Search" in MOSS.

    Before we start, let's take a look at the benefits of doing this. I always believe the "Why" is more important than the "How"!

    • As Sharepoint grows and more and more content is added, it becomes increasingly difficult for users to find the information they need or even navigate their way through the structure. Search is an easy way of finding the information you need without knowing where it is.
    • Sharepoint is becoming the focal point for Microsoft's Search strategy as more and more applications integrate with Sharepoint and store their information on this platform.

    Now that we understand the Why! Let's take a look at the How!

    The following is a basic list of steps that I am going to follow to configure search in MOSS. If WSS there is not much you can do with search. It is already configured on it's own content databases.

    • Start the service - there is a separate service that comes with MOSS that enables searching.
    • Create an SSP - this will allow you to configure the search settings.
    • Configure the Search locations - this can be File servers, Web Sites, Sharepoint Sites, Mail Servers, Database servers, etc.
    • Schedule the search service - this will determine how often the data is refreshed.
    • Build a Search Centre - this is and enterprise Sharepoint template that we will use to test if the searching works.

    Time to start with the first step.

    Start the "Search" Service:

    Even though the "Search" service is configured via the SSP, it still needs to be started as a service. This can be done by navigating to the "Operations" tab in the Sharepoint admin console and then selecting "Services on Server".

    List Services

    The corresponding screen will display a list of all services configured in the farm. Select the "Start" hyperlink next to the service called "Office Sharepoint Server Search". This action will then open the configuration screen for the "Search Service".

    Search Service Properties

    There are quite a number of options that can be configured for this service, so let's take a look at them.

    • Query and Indexing - this allows you to dedicate a server for either searching or indexing if you have more than one SSP on a separate servers.
    • Contact E-mail address - who to contact when things go wrong
    • Farm Search Service Account - This is the account that will be used by default to index the crawl locations. This typically has to be a fairly high privileged account on the domain.
    • Index Server File location - this is were the catalogue files will be stored for the indexed information. These files can get quite large and therefore it is not a good idea to leave this on the "C:" drive.
    • Indexer Performance - the indexing component has the ability to run the CPU's at about a 100% if left unchecked. This is fine if you are indexing at night or on a different server, but if not, it becomes a good idea to throttle it a bit.
    • Web Front End and Crawling - if you have more than one server installed with a SSP component in the farm, you can select which server is going to take the hit when the indexing services kicks in.

    Create an SSP:

    I am not going to explain how to setup an SSP in this blog as I have already written articles about it. They can be found by following the links below:

    Installation Procedure for MOSS

    Overview of Shared Service Providers in Sharepoint

    Configure the Search locations:

    The "Search" service can be configured in more detail by navigating to the "Search Settings" section in the SSP admin console. There does not seem to be much to configure by purely looking at the links available until you select the "Search Settings" link itself.

    Search Options SSP

    There are a huge amount of options available to configure on this screen, much more than I can possible write about in one blog. I am therefore only going to focus on the bare basics of getting search up and running and I will cover the other areas in future blogs.

    Crawl Settings

    The area that i want to focus on is called "Content sources and crawl schedules". This section will allow us to specify what needs to be indexed and then we can also specify when.

    Content Sources

    The Sharepoint sites are added as a "Content Source" by default. This is based on the logical assumption that you would always like to search on the content already added into your Sharepoint deployment. This would include all "Web Applications" , "Site Collections" , "Sites" and all the content therein. This content source will also be dynamically updated as you create new sites and site collections.

    The real power of the "Sharepoint Enterprise Search" is the ability to go and index content lying external from Sharepoint and still use Sharepoint to go and find this information. This can be done by adding a "New Content Source" from the toolbar.

    Add Content Source

    There are a number of options that can be defined on this screen. Let's take a look at them:

    • Name: This is just a descriptive name used to uniquely identifying the source.
    • Content Source Type: These are the locations where Sharepoint can go and crawl content
      1. Sharepoint Sites - other Sharepoint "Web Applications" that store their data in content databases
      2. Web Sites - other web sites that are not built on Sharepoint technology.
      3. File Shares - UNC path names to network servers and shares.
      4. Exchange Public Folders - used with the older versions of Exchange. The new version does not use public folders.
      5. Business Data - connections formed to external databases already connected via the BDC(Business Data Connector)
    • Start Addresses: This depends on the content source type and can be anything from UNC path names to HTTP locations for web sites.
    • Crawl Settings: this settings allows you to control the depth of the crawl. Sub folders and sub sites.

    Here are some tips about defining source locations:

    • Rather create multiple source locations than putting all the path's in one single location. It makes it easier for the index service and it is also easier to build search scopes later when they are split.
    • Keep the depth of the crawl to a minimum. Only index what you need.

    Schedule the Search Service for the crawl:

    Using the "Manage Content Sources" page, you can select "Schedule" from the individual content sources drop down menu.

    Schedule Content Source

    This will allow you to define a full and incremental crawl schedule:

    • Full Crawl - this will populate or re-populate the entire search catalogue from the beginning. This can be very time consume and processor intensive.
    • Incremental Crawl - this will only compare what has changed with what has been indexed and update the changes. This is typically scheduled on a regular basis.

    Remember that the catalogue files location in defined during the creation of the SSP. Make sure they do not use the default and sit on the C: drive as they tend to consume a lot of disk space.

     Build a Search Centre:

    Now that the "Search Engine" has been defined so to speak. We need to configure the user front end so that searches can be performed by the end-users. This requires us to build a "Search Centre" using the standard enterprise templates provided by MOSS.

     Create Search Centre

    Once the "Search" centre has been define. Searches can be performed using the search box provided at the top of each Sharepoint site, or the user could navigate to the "Search Centre" itself if required.

    Search Box

    The search results are then returned in a list with hyperlinks and a brief description of the content listed. Selecting the link will take you to the content desired.

    Search Results

    This will then conclude the basic steps in setting up searching in MOSS.

    Related Blogs:

    Microsoft Search Strategy

    Installation Procedure for MOSS

    Overview of Shared Service Providers in Sharepoint

    Posted Aug 20 2008, 05:38 AM by Neil with 5 comment(s)
    Filed under:
  • SQL databases used in Sharepoint

    There are quite a number of databases generated during a Sharepoint install and depending on the "Farm" configuration there might be more or less. A lot of SQL DBA's get quite annoyed when all these databases suddenly appear in their system and they have no idea what each database does or why it is there.

    I have therefore decided to explain what databases get created during a MOSS install and what the purpose is behind each. A WSS install generates less databases and therefore I decided to focus on a MOSS install as this generates the most.

    Lets start by taking a look at a screen shots of the databases generated and then I will explain the purpose of each.

    List All DB's

    Below is a list of the databases generated by Sharepoint, the names may differ per deployment, but the purpose remains the same:

    • Config Database for the Farm - Sharepoint_Config - stores configuration information about the servers deployed in the farm , their individual configurations settings and some security information. Without this database there is no Sharepoint.
    • Content database for the Admin Console - Sharepoint_AdminContent_GUID - sharepoint uses its own technology to render the web based admin console for Sharepoint. Therefore it needs it's own content database to stored the configuration settings for the web parts used. The actual data configured using this console is stored in the config database for the farm. The name for this database is system generated and cannot be controlled during the installation process and therefore it ends with a GUID.
    • Config database for the SSP (Shared Service Providers) - BPS_SharedServices_DB - during the configuration process a SPP is defined to configure all the Shared Services used by Sharepoint. All the Configuration settings for these services are stored in this database. The name of the database can be controlled during the creation process and should be descriptive of the purpose.
    • Content database for the SSP Console - BPS_SSP_Content - just like the admin console the SSP also needs a web site to allow you to configure the shared services and these also use web parts and lists. Therefore the SSP also needs its own content database to store these settings.
    • SSP Search database - BPS_SharedServices_Search_DB - this database is used by the Enterprise search service to store metadata about the information crawled including security information. This is typically used for information stored external from Sharepoint.
    • WSS search database - WSS_Search_sps-dc1 - this database is used by the WSS core components to store metadata about content stored inside the Sharepoint web application content databases. This is created during the installation process.
    • Web Application Content - Office_Content - this is the content database for the first user based web site in Sharepoint. Before the users can actually use Sharepoint a "Web Application", Site Collection and Site must be built. This database stores all the information generated within this web application.
    • Additional content databases - Office_Content_2 - new content databases can be created to host additional "Site Collections" and "Web Applications" and there could be hundreds of these.

    The other databases that are left over in the snapshot is used by other applications that do not have a direct influence on Sharepoint, but can be used in conjunction with the product.

    • SQL Server system databases and sample databases
    • Project Server 2007 databases
    • Live Communication Server 2005 databases.
    • Reporting Services databases.

    Related Blogs:

    Installing MOSS with a remote SQL Server

    Connecting an External Database to Sharepoint using the BDC

    Installation Procedure for MOSS

    Sharepoint Server Topologies

  • Microsoft Releases SQL Server 2008

    After a long delay and some initial problems, Microsoft has final fix and released the new version of SQL Server 2008 previously called "Katmai". This is quite important out of a Sharepoint perspective as well as the new features in SQL Server can only enhance the performance of MOSS and WSS.

    Here is a quick breakdown of the new features and some links for more info.

    image

     

    image

    Here is a list of the different versions being released:

    SQL Server 2008 Enterprise. SQL Server 2008 Enterprise is a comprehensive data management and business intelligence platform that provides enterprise-class scalability, data warehousing, security, advanced analytics and reporting support for running business-critical applications. With this edition, it is possible to consolidate servers and perform large-scale online transactional processing.

    SQL Server 2008 Standard. SQL Server 2008 Standard is a complete data management and business intelligence platform that provides best-in-class ease of use and manageability for running departmental applications.

    SQL Server 2008 Workgroup. SQL Server 2008 Workgroup is a reliable data management and reporting platform that delivers secure, remote synchronization and management capabilities for running branch applications. This edition includes core database features and is easy to upgrade to the Standard or Enterprise edition.

    SQL Server 2008 Web. SQL Server 2008 Web is designed for highly available, Internet-facing Web-serving environments running on Windows Server. SQL Server 2008 Web provides the tools necessary to support low-cost, large-scale, highly available Web applications or hosting solutions for customers.

    SQL Server 2008 Developer. SQL Server 2008 Developer allows developers to build and test any type of application with SQL Server. This edition features all of the functionality of SQL Server Enterprise but is licensed only for development, test and demo use. Applications and databases developed on this edition can easily be upgraded to SQL Server 2008 Enterprise.

    SQL Server 2008 Express. SQL Server 2008 Express is a free edition of SQL Server that features core database functionality including all of the new SQL Server 2008 data types, in a small footprint. This edition is ideal for learning and building desktop and small server applications, and for redistribution by ISVs.

    SQL Server Compact 3.5. SQL Server Compact is a free embedded database designed for developers and is ideal for building stand-alone and occasionally connected applications for mobile devices, desktops and Web clients. SQL Server Compact runs on all Microsoft Windows platforms, including the Windows XP and Windows Vista operating systems, and on Pocket PC and smartphone devices.

    Reference Blogs:

    The Data Platform Insider.

    SQL Server MS Site

    Posted Aug 09 2008, 12:39 AM by Neil with no comments
    Filed under: ,
  • Using SyncToy to synchronize offline Sharepoint documents on Vista

    One of the main problems that users have with Sharepoint is the ability to synchronize their documents on Sharepoint with offline copies on their PC's. There are a number of ways in which to solve this problem ranging from Outlook 2007 to Groove 2007, but all of them cost additional money in the form of licensing. Fortunately Microsoft has released a free add-on tool for Vista and XP that can solve this problem for Free!!!!

    SyncToy is not a new power tool, but until the release of beta 2 of this product, I struggled to get this to work. In fact on XP I still fail to get this to work consistently, but on Vista it seems to be fine. I will therefore explain how to set up a sync between Sharepoint and Vista using SyncToy in the rest of this blog.

    There are a number of steps involved in getting this to work:

    1. Download and install SyncToy 2 Beta. I will provide a download link at the end of this blog.
    2. Create a Site on Sharepoint with some documents in a document library.
    3. Create a folder on your local machine to stored the synchronized documents.
    4. Map a drive letter to Sharepoint using "Web DAV". This is the difficult part.
    5. Setup and Sync pair using SyncToy.
    6. Run the tool to Synchronize the documents.

    Now that I have outline the steps. Let's start at step 2.

    Create Sharepoint Site:

    Before we can sync any documents to a PC, we need some type of source in Sharepoint. This can be easily achieved by creating a new site in Sharepoint with a document library.

    Sharepoint Site

    Add some documents to the library so that we can verify that the sync was successful later on. The type of document is completely irrelevant.

    Create Folder on the PC

    This step is a simple matter of navigating using "Windows Explorer", right clicking and creating a new folder.

    New Folder

    In this case I am naming it "Proposals". It is generally a good idea to be descriptive of the information that you are trying to sync.

    Map a Drive Letter to the Sharepoint Site

    Still using "Windows Explorer", right click on "My Computer" and select the option called "Map Network Drive".

    Map Network Drive

    Select a drive letter and type the path to the Sharepoint site into the text box called "Folder". If your current account used to log onto the PC does not have permissions to the site, you can provide alternative credentials by selecting the option called "Different user name". Commit the mapping by selecting "Finish".

    Creating the Sync Pair using SyncToy

    Launch the SyncToy program. I am assuming that you have already downloaded and installed it.

    Sync Toy Welcome

    On the "Welcome" screen you will find an option called "Create New Folder Pair". Select this to start the process of setting up the mapping between the PC and Sharepoint.

    New Folder Pair 1

    On the first screen of this wizard, select the local folder on your PC for the "Left Folder" and the new drive letter we mapped to Sharepoint earlier for the "Right Folder". This does not work with "Network Places" mapped using "Web DAV". That is why we had to map a drive letter to the Sharepoint site. Click "Next".

    New Folder Pair 2

    On the second screen, select the method that will be used to sync the two locations. If you want to keep the documents the same on both locations then the option will have to be "Synchronize" which is also the default. Click "Next"

    New Folder Pair 3

    The last screen is used to give the sync pair a logical name. Give it a descriptive name based on what you are trying to sync and commit the changes. It takes a while for the sync pair to be establish, so give it some time.

    Run the Sync

    Now that the sync pair has been created, we need to run the process to do the actual sync.

    Pair Complete

    This process can be started by selecting the "Run" button on the "Welcome" screen once the sync pair as been created.

    Run Sync

    SyncToy will indicate the progress using a progress indicator bar in green and a summary list noting the successes and failures. Once this is complete, close SyncToy and verify the results by navigating to the local folder on the PC.

    Result

    If everything worked according to plan, copies of all the documents in Sharepoint should now reside in the folder on the PC. Every time you need to sync the folder again, simply start SyncToy and run the process again. It is probably possible to automate the sync, but I have not investigated it thus far.

    Download Link for SyncToy 2 Beta:

    http://www.microsoft.com/downloads/thankyou.aspx?familyId=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&displayLang=en

    Referenced Blogs:

    http://smallvoid.com/article/winnt-webdav-network-drive.html

    Related Blogs:

    Offline Sharepoint documents in Groove

    The importance of Outlook 2007 as a user interface into Sharepoint

    Posted Aug 02 2008, 05:55 AM by Neil with 4 comment(s)
    Filed under: ,
  • Controlling timer jobs in Sharepoint

    One of the most frustrating things in Sharepoint for developers or even administrators, is implementing a new change and then nothing seems to happen. This is caused by the fact that Sharepoint implements almost all changes as jobs that run behind the scenes.

    The only way to speed things up is to firstly understand what jobs are available and then finding a way to change the schedule or execute the job immediately. Unfortunately there is no way to to this in the admin console by default and therefore you will have to use the command line tool "stsadm" to do his. 

    In this blog I will first outline the default jobs that exist, show where you can find this information using the "Sharepoint Admin Console" and then run a command to change the job schedule.

    Default timer jobs

    Default timer jobs for Windows SharePoint Services 3.0

    The following table lists the default timer jobs created for Windows SharePoint Services 3.0.

     

    Timer job title Schedule type
    CEIP Data Collection Daily
    Change Log Daily
    Database Statistics Weekly
    Dead Site Delete Daily
    Disk Quota Warning Daily
    Immediate Alerts Minutes
    Recycle Bin Daily
    Usage Analysis Daily
    Workflow Minutes
    Workflow Auto Cleanup Daily
    Workflow Failover Minutes

    Default timer jobs for Office SharePoint Server 2007

    The following table lists the default timer jobs created for Microsoft Office SharePoint Server 2007.

     

    Timer job title Schedule type
    Application Server Administration Service Timer Job Minutes
    Application Server Timer Job Minutes
    Bulk Workflow Task Processing Daily
    CEIP Data Collection Daily
    Change Log Daily
    Child Farm Content Source Discovery Minutes
    Database Statistics Weekly
    Dead Site Delete Daily
    Disk Quota Warning Daily
    Document Conversions Minutes
    Expiration Policy Daily
    Hold Processing and Reporting Daily
    Immediate Alerts Minutes
    Indexing Schedule Manager on SQL Server Minutes
    Information Management Policy Daily
    Licensing Synchronizer Job Hourly
    My Site Cleanup Job Hourly
    Office SharePoint Server CEIP Data Collection Daily
    Office SharePoint Usage Analytics Log Import Daily
    Office SharePoint Usage Analytics Processing Minutes
    Profile Synchronization Hourly
    Quick Profile Synchronization Minutes
    Records Center Processing Daily
    Recycle Bin Daily
    Scheduled Approval Minutes
    Scheduled Page Review Daily
    Scheduled Unpublish Minutes
    Search and Process Daily
    Shared Services Provider Synchronizing Job Minutes
    Shared Services Timer Job Minutes
    SharePoint Services Search Refresh Minutes
    SharePoint Worker Process Group Update One-Time
    SKU Type Synchronization Job Hourly
    Synchronization Scheduler Minutes
    Usage Analysis Daily
    Variations Propagate Page Job Definition Minutes
    Variations Propagate Site Job Definition Minutes
    Windows SharePoint Services Watson Policy Update One-Time
    Workflow Minutes
    Workflow Auto Cleanup Daily
    Workflow Failover Minutes

    Timer jobs for Office SharePoint Server 2007 with Project Server 2007

    The following table lists the timer jobs that are available for Office SharePoint Server 2007 only, if Microsoft Office Project Server 2007 is installed in the farm.

     

    Timer job title Schedule type
    ProjectPSISharedApplicationTimerJob Minutes

    ServerScheduledTimerJob
    Subtypes:

    • Notifications   Timer job to send scheduled reminders
    • Cubeadmin   Timer job for building cubes
    • Admin   Time job for AdSync (ERP and Group sync)
    • Apply Resource Capacity TimeRange Job
    • Admin   Event Configuration TimerJob
    • Admin   Scheduled Archive/Backup Job
    Minutes
    ProjectServiceCredentialUpdateTimerJob Minutes
    ProjectServiceCheckerTimerJob Minutes

    Shared Services Provider timer jobs

    Shared Services Provider (SSP) timer jobs are timer jobs that are created by default whenever an SSP is created. By default, SSP timer jobs are disabled, and they have to be enabled. These timer jobs are scheduled to run daily, weekly, or at any particular time.

    Default SSP timer jobs

    The following table contains the default timer jobs for any SSP created.

     

    Timer job title Description
    User Profile Full Import Job This timer job imports all data in user profiles.
    User Profile Incremental Import Job This timer job imports only the user profiles that are added since the last import.
    User Profile Change Job This timer job changes the user profile. User rights can be migrated from one user to another user. This timer job is used when a user needs to be migrated, but the previous user profile remains in the Active Directory directory service.
    User Profile Change Cleanup Job This timer job is also used to migrate user rights from one user to another user, but this timer job migrates the user rights and cleans up that user from Active Directory. This is mainly used when the name of a user is changed in Active Directory. The older user name is replaced by new user name and the older one is removed from Active Directory.
    Audience Compilation Job This timer job checks property values in user profile and membership in distribution lists, security groups, and reporting structures to see whether they match the audience rule created. Users that match the audience rules for an audience are included in that audience and the received content is targeted to that audience. A compilation schedule can be set.
    Distribution List Import Job This timer job is used to import the distribution list, so that it can be used among different users.

    SSP timer jobs for Office SharePoint Server 2007 with Project Server 2007

    The following table lists the SSP timer jobs for Office SharePoint Server 2007 only, if Office Project Server 2007 is installed in the farm.

     

    Timer job title Description
    PWASSPSubmitSiteCreationTimerJob This timer job is a one-time timer job used to submit ProjectPSISharedApplicationTimerJob, which is used for provisioning PWA instances, and MUI provisioning.
    PWASSPSubmitServerScheduledTimerJob This timer job is a one-time timer job to submit ServerScheduledTimerJob, which is used by business objects to schedule a task.

     

    Viewing the Jobs using the admin Console

    All the above mentioned jobs can be viewed using the "Admin web site for Sharepoint". Open up the site and navigate to the operations tab.

    Global Config

    On this tab you will find a section called "Global Configuration". There are two options here relating to jobs. The first one is called "Job Definitions" to show you a list of the jobs used by Sharepoint.

    Timer Job Definitions

    The second option is used to view the "Status" of each of these jobs.

    Timer Job Status

    Unfortunately none of these two screens allow you to change anything significant about the jobs except the description. You can also disable the job using this screen. The only way to change anything as far as scheduling goes is to use the command line.

    Edit Timer Job

    You can also view all the jobs from the command line by enumerating through the collection:

    stsadm -o enumssptimerjobs -title "sspname"

    Command Line

    Changing the Job Schedules

    The "stsadm" Administrators command-line application can be used to control certain Timed Jobs functionality. Unfortunately, there are no default commands to install or start/stop Timed Jobs, but there is a command to run all Jobs immediately and commands to reschedule a number of Jobs.

    stsadm -o execadmsvcjobs 

    When you schedule a timed job, you schedule the beginning time for the job. For example, you can schedule a job to be run daily, beginning between 3:00 AM and 5:00 AM. You always schedule jobs to begin within a time range, rather than at a specific time. This allows the SharePoint Timer service to be run at a random time in that range, so that not every server in a server farm is running the scheduled job at the same time. For example, if you set usage analysis processing to be done during the range 1:00 AM to 2:00 AM, then each front-end Web server starts processing usage analysis sometime between 3:00 and 5:00 AM.

    There are also SharePoint components that use a Timed Job and can be controlled using the command-line tool. For example, the commands "setpolicyschedule", "setcontentdeploymentjobschedule", and "setsitedirectoryscanschedule" are components that support the Timed Job infrastructure. Each of the commands accepts a "-schedule" parameter (named "recurrence string" or "schedule" in the help function of stsadm) that is a free string of the form:

    "[Time frame] [Interval] between [value] and [value]"

    For example:

    "every 10 minutes between 0 and 59"
    "hourly between 0 and 59"
    "daily at 21:00:00"
    "weekly between Mon 02:00 and Fri 21:00:00"
    "yearly at Dec 31 22:00:00"

    The syntax looks like this:

    stsadm -o setcontentdeploymentjobschedule -schedule "daily at 21:00:00"

    Referenced Blogs:

    http://technet.microsoft.com/en-us/library/cc678870(TechNet.10).aspx

    http://www.codeguru.com/cpp/misc/misc/microsoftofficeoutlook/print.php/c14133

    Related Blogs:

    Overview of Shared Service Providers in Sharepoint

    Installation Procedure for MOSS

  • Integrating Project Server 2007 and Team Foundation Server 2008 Sharepoint Sites

    Just trying to read the title of this article is quite a mouth full, so I will start by explaining where this idea came from and why I am not using the acronyms as most IT people do.

    I have just recently moved from Johannesburg to Cape Town and joined a very dynamic consulting company that also happens to be a Microsoft Gold Partner (x4). To my surprise (unlike most other MS Partner’s I know) they are actually very high tech and utilize all the Microsoft technologies that they sell.

    My first task as the new “Sharepoint Architect” was to complete their internal MOSS deployment and then upgrade the company from Project Server 2003 to Project Server 2007. After I completed this process I also found that the development team was running Team Foundation Server 2008. This is all good and well, but it created some problems.

    The problem came in the fact that both Project Server 2007 (PS from now on) and Team Foundation Server 2008 (TFS) created their own Sharepoint sites independently. This might not seem like a problem until you try and consolidate all the documentation pertaining to a customer in one single location.

    The solution to the problem is quite logical, but unfortunately not that simple to do. Point both PS and TFS to look at the same Sharepoint Site. This is therefore the topic of discussion in this article and I will demonstrate how to do this.

    The reason I am not starting this article using the acronyms is based on the sad fact that not many companies are using these technologies and therefore the acronyms might seem unfamiliar. This is due to a number of reasons such as cost, new tech and complexity, but this is not something I am going to debate at this point.

    I have recently been approached by "Arno Nel" to write a new Sharepoint article for the launch of a new web site called "Sharepoint Magazine". The rest of this article can therefore be found by following the link below:

    http://sharepointmagazine.net/technical/administration/integrating-project-server-2007-and-team-foundation-server-2008-sharepoint-sites

    If you wish to place comments, you can either do it on this site or on "Sharepoint Magazine".

    I hope you enjoy the article!

  • Getting "Debug Info" for a Sharepoint error!

    Some time ago I had the bright idea of moving the SQL databases for Sharepoint. I was running a VPC with only one virtual drive and started running out of disk space. So I decided to create another virtual drive, detach the SQL databases from SQL Server, copy them to the new drive, mount the databases and test the Sharepoint configuration.

    Everything should have worked perfectly, wrong! In theory Sharepoint should only be looking at the logical names of the databases, but it seems that I was mistaken. Most of the functionality in Sharepoint worked perfectly expect for "MySite". When I selected the link at the top of the Sharepoint site.

    MySite Link

    I got the following error.

    File Not Found

    As you can see it is completely descriptive and tells you exactly what to do to fix the error, NOT!!!!

    So, now what! Without some more information to go on, it becomes a bit difficult to resolve the error and as we all know the "Event Log" only goes so far.

    Fortunately Sharepoint has been built using the .NET framework and we can use that to get some more info. To do this, we need to go and change some settings in the web.config file that sits in the root of the web site in IIS. Even tough Sharepoint stores most of its information in the SQL Server content database, it still needs the .NET framework to process this information.

    To find the web config file, we need to navigate to the "Inetpub" directory using windows explorer.

    Folder Structure

    Under the "Inetpub -> wwwroot -> wss -> Virtualdirectories" folder, you will find sub folders representing each of the web applications used by Sharepoint including the system web applications. Each of these have their own web.config file.

    Edit Web Config

    Find the correct folder representing the web application causing the problem and edit the web.config file using your preferred text editor. I like using "Notepad" as it is "Light Weight" and does not have all the "Bells" and Whistles" I do not need.

    There are two section that we need to modify in this file. The first section involves the "Call Stack" of the .NET framework. This will give us a list of all the assemblies involved in the error. This can be done by setting the "CallStack=True" flag.

    Callstack True

    The second thing that we need to do is switch the "customErrors mode=Off" so that the information will actually be displayed on the screen.

    Custom Error Off

    Once these options have been configured and the web.config file saved. We can then re-simulate the error and see what you get back.

    Complete Error

    As you can see, we now get a lot more information back that can potentially be used to help resolve the error. I did not say the information will be useful, I only said that you will have more of it.

    Remember to change the web.config back to it's original state after you have resolved the error. This information should not be available publicly on the intra or Internet as this could be a potential security risk.

    Related Blogs:

    ASP.NET error registering with IIS

    Overview of the .NET Platform

    .NET 2.0 Framework

    Posted Jul 04 2008, 01:26 PM by Neil with 5 comment(s)
    Filed under: ,
  • Inserting "Content Placeholders" into a New "Derived" Master Page using Sharepoint Designer

    I am currently busy re-designed a web site for a company using the "Publishing Feature" in Sharepoint that will be hosted on the Internet. This process is going to keep me busy for a couple of months and I am learning a lot about publishing web sites through Sharepoint. One of the most critical things that you need to learn is the ability to insert the "Content Placeholders" required by Sharepoint into a normal web page and then converting that to a "Master Page".

    The unique challenge that Sharepoint causes most IT companies is the fact that it is a "Content Management" tool and not a web design tool and it takes more than a tool to design a web site. If you actually sit down and think about designing a web site in Sharepoint, there are a number of skills required:

    • DBA for SQL Server
    • Network Engineer for IP, DNS, Firewall.
    • Sharepoint Architect/Consultant for design and Implementation.
    • Web Designers for look and feel.
    • Content Managers to upload the content.
    • Project Managers to organize everything.
    • Users/Testers to verify the solution.

    I am not saying that each of the job roles I defined above is a separate person, but in a lot of instances they might be. Being a technical person myself, I will deploy Sharepoint and Architect the design, but do not ask me to design a "funky" looking web page. The problem expands in the fact that "Web Designers" refuse to use Microsoft tools as they all have their preferences like "Dream Weaver" , "Adobe Flash", PHP, etc. I believe that "Share Point Designer" is a very good tool, but I seem to be in the minority. So where does that leave us?

    The only solution I found that works practically in the industry is the following:

    • "Web Designer" will design the "Look and Feel" using whatever tools they prefer as long as the output is HTML.
    • "Content Manager" will create a new "Publishing site" in Sharepoint using the HTML and insert the content placeholders required by Sharepoint using SPD.
    • The new "Web page" will be converted to a "Master page" and uploaded to Sharepoint.
    • New "aspx" pages will be derived from this "Master Page" to have the same look and feel.

    The bullet points above basically outline what I will be explaining in this blog. At this point I am making the assumption that the "Web Pages" have already been designed and we are going to continue by inserting the placeholders using SPD.

    Deriving a New "Master Page" from a HTML Page

    I am going to start this section by showing you how to rip and entire page with content from an Internet web site and saving it into "Sharepoint Designer". Once we have done that, we will convert the page into a "Master Page".

    The first step is to launch and instance of SPD and select "New -> Web Site" from the file menu.

    New Site Dialog

    The dialogue box that opens will then provide you with an option called "Import Web Site Wizard". Select this option and then select "OK". This action will then launch the wizard.

    Import Wiz 1

    The first page of the wizard provides you with a number of options that allow you to import a web site using different protocols. In this particular example the web site is located on the Internet and therefore I will be using HTTP to import it into the solution. Once you have define the URL, select "Next" to continue.

     Import Wiz 2

    The second page is where people get confused. The Web location that the wizard is prompting you with is going to be located on your local machine. This is purely for testing purposes and this will not be an "Sharepoint Enabled" site, so do not attempt to test it here later and wonder why it is not working. This also requires you to be running a local instance of IIS, so ensure that you have done this before attempting the steps in this blog. Click "Next".

    Import wiz 3

    The third page in the wizard is asking you to limit how much information you will be pulling from the web site that you are referencing. It will default to the "Home" page with content, but it does allow you to go deeper into the site if required. Keep the amount of disk space required in mind. In this case we only require the "Home Page" as we are going to convert it into a "Master Page". Click "Next".

    Import Wiz 4

    The final page of the wizard is purely a confirmation before initiating the process. Click "Finish" and wait.

    The wizard will now import all the HTML, images, script files, etc. as used by the web site that you are referencing and add it to you local copy. This will now be available in SPD for editing and should look something like the image below.

    Default HTML

    There are a couple of interesting things to note at this point:

    • In the "Folder List" a number of additional folders have been created that duplicate what was on the web site and contain the content as referenced by the "Home Page. There will be folders like CSS, Images, JS and a couple of others.
    • The "Home Page" is sitting in the root of the site as "Default.htm". This is the page that we will be converting to a master page.

    Site Imported

    The "Default.htm" page can be converted to a "Master Page" by merely changing it's file extension.

    Rename Master

    Of course this does not really make it a "Master Page" as we still require "Content Placeholders", but we will fix that problem later. We first need to create a test site in Sharepoint.

     Setting up a "Test Site" in Sharepoint:

    The feature in Sharepoint that allows us to use "Content Placeholders" is called the "Publishing Feature". This feature can be enabled at "Site Collection" and "Site" level. The easiest way to do this is merely to create a new "Publishing Site" or "Publishing Portal" in Sharepoint and use that as the testing site. I already have a "Site Directory" setup so I will create it from there.

    Create New Site

    Select "Create Site" from the "Site Actions" menu or create a new "Site Collection" using the administration console.

    Publishing Template

    Give the site a name and then select one of the publishing templates that are available as standard in MOSS. This does not work in WSS as the publishing feature was actually migrated from a previous MS product called "Content Management Server" and MS needs to make some money on this.

    Now that the test site has been created, we need to finish the "Master page" we started with, but where do I find these content place holders?

    Adding the "Minimal Master Page" to the Sharepoint Designer Project:

    Quite some time ago, I  was struggling with the "Default.Master" that comes with Sharepoint, trying to pull it apart. After a couple of frustrating hours I gave up and started searching the Internet for a easier way to do this. I stumbled upon an article on the MS site that gave me some ideas and I even wrote a blog about it.

    I revolves around the concept of an "Minimal Master Page" that has everything stripped out of it except the bare minimum of placeholders that Sharepoint will expect. In that blog I explain how to add a new "Master Page" to a SPD project and how to add the content placeholder to it. You can find the hyperlink in this paragraph and at the bottom of this blog.

    To continue the process in the rest of the blog I am going to assume that you have read this blog and added the "Minimal Master" page to the current project.

    Minimal Master

    If you look at the "Minimal Master" page in the image above, you will note that there is almost no HTML in that page and the "Content Placeholders" are stacked neatly below each other.

    The next part of the project will be the process of moving the placeholders from the "Minimal Master" page into our new derived "Master Page".

    Moving the "Content Placeholders" into the new Master:

    Unfortunately this process is not as easy as it sounds and the best way to do this is in the "Code" view of the page and not using the GUI interface of SPD. I have broken the various HTML pieces into sections and I will explain how to move them piece by piece. This might take you a couple of attempts depending on the complexity of the derived "Master" page, so just be patient. All the example HTML section will be copied from the "Minimal Master" and pasted into the "New Master"

    The first part that we need to move is the reference section that refers to all the Sharepoint assemblies and controls.

    Name Space Imports

    This section of the HTML code must be pasted right at the top of your "New Master" page. It has to be above the "<HTML>" tag.

     HTML Section

    The second slice of the HTML must be placed below the "<HTML>" tag. This starts the "Web Part Manager" in the Sharepoint site that allows web parts to function.

     Header Section

    The third slice of HTML must be placed below the "<Head>" tag of the new page. This placeholder is used for the "Title" of the site.

    Body Section

    The fourth slice of HTML places a "<Form>" tag section inside the "<Body>" tag of the new master. Also note that a "Java" script needs to be referenced inside the "<BODY>" tag itself at the top. I do not have an image of it, but you will see it in the "Minimal Master" page. This section will generate the additional placeholders required by Sharepoint. You can place it anywhere in the "<Body>" tag, but I prefer placing it at the bottom so that the placeholders are out of the way and I can move them into place later.

    Now that the "New Master" page has been built, we need to publish it to the test Sharepoint site.

    Publishing the "New Master" page to the test site:

    To publish the "New Master" page from our local site to the test site, we need to use the publishing feature built into SPD.

    Publish Site menu

    This can be done by selecting the "Publish Site" option from the "File" menu in SPD.

    Publish Site Dialog

    The corresponding dialogue box that opens allows you to publish the current site content to another location. In our case that would be the "Test" site we created earlier in Sharepoint. Select the option "Sharepoint Services", type in the URL to the Sharepoint site and select "OK".

    Publish Window

    This action will then open a split window in SPD showing the "Local Web Site" on the left and then "Remote Sharepoint Site" on the right. It now becomes a simple matter of using the arrows in the middle to move the content from the one site to the other, but I will give you some advise:

    • Rename you "New Master" page to something other than "Default.master". If you do not do this, you will end up overwriting the "Default.master" page in the Sharepoint site and this will cause other problems.
    • Publishing sites store all their pages in a folder called "Pages". Move your pages into this folder on the remote site otherwise you will note be able to see it.
    • Remember to move all the dependant folders like "Images", "CSS", "JS" with your pages.
    • You can also use "Drag and Drop" capabilities to move things around.
    • Remember the relative paths between your pages and the content so that the links are not broken.

    Now that the "New Master" page has been published, we still need to create a content page from the "Master" before we will have anything to view.

    Create a new "Content Page" from the "Master Page":

    Master pages can not be displayed directly in the browser as they are only templates for "aspx" pages. This therefore requires us to derive a content page from the new "Master Page". To do this, launch a new instance of SPD by selecting "Open Site" from the file menu in SPD and then selecting the URL of the "Test" site we created earlier in Sharepoint.

    Navigate to the "New Master" page we published earlier and "Right Click" on it. One of the options that will appear on the drop down menu is "New from Master Page". Select this option.

    New from Master

    This action will derive a new "aspx" from the master page and they will look identical. There are only one or two things left to do before we can view the result.

    • Save the new "aspx" page and call it "Default.aspx".
    • Ensure that you either save or move this new page to the "Pages" folder.
    • Save the entire solution.

    Now it is time to view the result of all this effort. Open your browser and navigate to the URL of the Sharepoint we used for testing. Scroll down to the bottom of the page.

    Result

    You will notice that the "Switch Account" and "Site Action" components are now available in the bottom left hand corner. If you did not receive any errors and you can view these components, then your site is now Sharepoint enabled. The other placeholders are invisible, because at this point in time, they have not content to display.

    The next thing that needs to be done is to move the content placeholders to the correct areas in the page, but that is a blog for another time. I hope you found this blog useful and good luck with your publishing sites.

    Related Blogs:

    Minimal Master page in Sharepoint Designer

    SharePoint default.master page placeholders

    Access Denied on a Sharepoint Site when editing Master Pages

  • Controlling security in Sharepoint using "Web Application Policies"

    I received some interesting comments on a blog I wrote sometime ago about "Access Denied on a Sharepoint Site". The comments ultimately culminated in a fix based on adding user accounts to the "Web Application Policy" using the Sharepoint admin console. Up to this point I have never really spent any time trying to understand this component of Sharepoint and therefore I thought it was time to do so.

    To understand the implication of using "Web Application Policy's" we need to do a quick review of how Sharepoint is structured and how the security model impacts on this.

    Sharepoint Arch

    Security is implemented on a number of distinct levels:

    • Farm Level - used purely by administrators to configure the environment on which Sharepoint is based.
    • Web Application Level - this is area where I will be focusing the attention for this blog as this is normally completely ignored. This controls access to an entire web application in Sharepoint.
    • Site Collection Level - controls security through inheritance between all sites in the collection. The problem comes in the fact that there can be up 50 000 site collections per "Web application".
    • Site Level - controls security for an individual site. This is normally done via inheritance from the site collection and there can be up to 250 000 sites in an collection.
    • Object Level - individual objects like "Lists" , "Libraries" and "Web Parts" can also have their own security defined.
    • Item Level - individual "List Items", "Documents" and "Folders" can also have their own security. It is my general belief that if you have to do security at this level, their was a serious design flaw during the planning phase.

    As I have already mentioned, the focus of this blog is around "Web Application" level security and this is implemented via "Web Application Policies". These policies can be define by using the "Sharepoint Admin Console".

    Admin Console Link

    The link can be found by navigating to the "Operations" Tab" and then selecting the link called "Policy for Web Application" under the section labelled "Application Security".

     Policy screen

    Different policies can be define for different web applications. It therefore becomes very important to ensure that the correct web application is selected in the top right hand corner of the screen. Once the application has been selected you will be able to view the entire list if user accounts and groups that have been granted access at this level and what permissions they have been assigned.

    Another aspect to take into consideration is that the "Admin" accounts used on the network, even if they are "Domain Admin" accounts, have no rights on any "Web application by default. It therefore becomes an requirement to add these accounts to the "Web application Policy" if they are intended to have access to these sites. The tendency is to normally add these accounts to the "Site Collection" level and this can become tedious as there might be many site collections.

    The other use for this would be to grant all "Anonymous" users "Read" access to all sites in a "Web application" without having to do this at "Site Collection" level.

    To add a new user to this list is a simple matter of selecting the option called "Add Users" from the toolbar.

    Add user screen1

    This process will start a two page wizard to guide you through the process. The first screen merely prompts for the "Web Application" to which this account or group will be added and the "Zone" to which this applies. The "Zones" are used to expose the same site to the Intranet and Internet at the same time with different security privileges. Most people use "Default" as this will use the "Authentication Providers" to determine the "Zone.

    Add user screen2 

    The second screen in the process allows you to specify the user and group accounts as well as the security permissions that apply at this level. Selecting the accounts is easily done by using the "Browse" button under the "Users" section. The permissions are broken into four distinct categories:

    • Full Control - this would be that same as giving someone "Administrator" rights on the web application.
    • Full Read - this is normally used for anonymous users.
    • Deny Write - used for denying access if a user belongs to more than one group.
    • Deny All - user will never have access.

    Once you have completed the wizard, select "Finish" to commit the changes.

    At this point the user account or group you selected has permissions across the entire web application without the need of applying it at "Site Collection" level.

    Referenced Blogs:

    http://blogs.msdn.com/joelo/archive/2007/04/02/web-application-policies.aspx

    Related Blogs:

    SharePoint - Applications, Site Collections and Sites

    Access Denied on a Sharepoint Site when editing Master Pages

    Setting up Dual Authentication on Windows SharePoint Services 3.0 (Forms and NTLM)

    Giving Anonymous Access to Users on a SharePoint Site

    Posted Jun 23 2008, 01:42 PM by Neil with 1 comment(s)
    Filed under:
More Posts Next page »
Add to Technorati Favorites
Powered by Community Server (Commercial Edition), by Telligent Systems
Afrigator