Welcome!

Microsoft Cloud Authors: Andreas Grabner, Stackify Blog, Liz McMillan, David H Deans, Automic Blog

Related Topics: Microsoft Cloud

Microsoft Cloud: Article

Creating Custom Site Definitions in Microsoft Windows SharePoint Services

Basic Process and Best Practices

Microsoft Windows SharePoint Services and Microsoft Office SharePoint Portal Server provide a lot of functionality out of the box. After installation you can begin creating portal and team sites. These newly minted sites can be customized; content can be created and managed, color themes can be modified, and pages for the site can be edited. All of this is great, however many attempts to create a portal within an organization fail because little or no consideration is given to user acceptance. The most important reason for creating a custom site definition is to address user acceptance issues. Identifying a problem domain and designing a site definition that addresses specific issues within that domain will greatly increase the likely success of your portal.

Even though you could edit the files that have been distributed with SharePoint to meet these requirements, you shouldn't. Files that are part of the SharePoint installation are vulnerable to change through upgrades and patches. By creating a custom site definition you are isolating yourself from some, but not all, upgrade issues. Another approach to customizing SharePoint is to use the SharePoint user interface to modify the structure of your site and FrontPage to edit the look and feel. This approach is good when you are looking for a quick and easy solution. Custom site definitions are best suited for problems that require a more rigorous development model.

This article will describe the basic process for creating custom site definitions and will explore some best practices. We are going to build a site definition that could be used as a template for project management sites. Before creating a custom site definition, you should figure out what site definition within SharePoint most resembles your needs. Custom Site Definitions are not typically written from the ground up; it is much easier to start with a working example and add/remove/update functionality in small amounts until you get all of your requirements implemented. The Team Site (STS) site definition seems like the most common starting point and the one we will use as our baseline.

Getting Started
To get started with creating a site definition, follow these steps:
1.  Copy the entire directory for the site definition that you are using as a baseline. For this example we will use the STS site definition.

drive:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\STS

2.  Rename the new directory. For this example we will use PROJMAN.

drive:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\PROJMAN

3.  Create a WebTemp XML file for the new site definition. Copy the existing WEBTEMP.XML.

drive:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\XML\WEBTEMP.XML

4.  Rename the new file WEBTEMP. [folder_name].xml. Replace folder_name with the name of the folder that you created in step two. For this example we will use WEBTEMP.projman.xml. You don't have to use the dot notation, nor do you have to include the folder name.

drive:\Program Files\Common Files\Microsoft Shared\web server
extensions\60\TEMPLATE\1033\XML\WEBTEMP.projman.xml

5.  Edit the WEBTEMP file in order to specify unique values for the template Name and ID attributes. For this example we have used PROJMAN and 10791 respectively for these values. (Microsoft recommends a value larger than 10,000 to avoid conflicts).

<Template Name="PROJMAN" ID="10791">
<Configuration ID="0" Title="Project Management Site" Hidden="FALSE"
ImageUrl="/_layouts/images/stsprev.png" Description="This template provides a standard site configuration
for project management sites."> </Configuration>
</Template>

WEBTEMP files are XML configuration files that SharePoint aggregates in order to determine what site definitions are available for use. For example, all of the SharePoint Portal templates are located in the WEBTEMPSPS.XML file. Moreover, the WEBTEMP file can be used to create additional configurations that are available for use within the site definition. For this example we will just use the default configuration.

To enable SharePoint to detect the new site definition you will need to restart IIS. To test the new site definition use the create site page.

Once you verify that the site definition works, it would be wise to get these files checked into a configuration management tool. From this point on we are going to be editing files that can be difficult to debug if problems occur, so it is good idea to make small changes, test them by creating a new site, and check in significant improvements.

Build Script
The more changes you make to a site definition between creating an instance of a site, the more difficult debugging will become. Using a script for deleting/editing a site is much faster than using the SharePoint user interface, and since you can create a script that will destroy the site if it exists before creating a new site, your development environment won't get polluted with test sites.

UI Changes
Now that we have a working site definition it's time to start on the customization. All SharePoint pages are ASP.NET pages, so editing them is pretty much the same as editing any other ASP.NET page; the only exception is that you don't have the code behind page readily available. You can make quite a few UI changes with standard HTML/ASP.NET modifications. For this example we have rearranged the content and navigation sections of the page. Don't be afraid to get creative with this, you can truly make some fantastic looking SharePoint sites.

CAML is an XML language that SharePoint uses to describe data structures for lists as well as for the presentation of data. Although CAML is XML and should be treated as such, it is not parsed as XML by SharePoint. This can cause problems if your XML isn't well structured. It is more than likely SharePoint will just ignore broken elements and you won't receive an error message. It's a good idea to open your CAML documents using a tool like Internet Explorer, Visual Studio, or FrontPage that will validate the structure and provide an interface for expanding and collapsing the document. Internet Explorer is an ideal tool to use to become familiar with CAML because it allows you to expand and collapse the elements and doesn't let you change the file.

More Stories By Kris Syverstad

Kris Syverstad is a Microsoft Most Valuable Professional (MVP) for SharePoint Portal Server and a member of the Microsoft Collaboration &
Portals Developer Advisory Council. He leads the Rocky Mountain SharePoint
Users Group, and has been invited to present on SharePoint Best Practices to Microsoft Product Teams and at Microsoft's Architectural Summit.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
shirley 11/04/08 01:03:31 AM EST

We can assist here as we specialize in developing and implementing SharePoint – that’s all we do. There is more information on this at http://www.nsynergy.com/Services/Pages/default.aspx or mail to [email protected]

Gery D. Dorazio 03/22/05 07:08:02 PM EST

Kris,
Your article is the most concise I have found without the fluff. It covers the same information found in most other lengthy articles but adds a few insightful tips such as the inhibiting of FP to edit the pages...nice. One thing I have not been able to find, and would really appreciate your comments about, is a best practices approach (or any approach for that matter) for ways to also make the WSS administration and shared pages look like the new site template. There are about 130 files in that shared templates folder and it appears once a user gets onto a site and clicks a list view for instance, they are stuck with the SP layout...except for using the AlternateHeader. Any insights would be very much appreciated.
Thanks,
Gery

Amrita 02/21/05 01:09:36 AM EST

Perfect,real nice explanation.

@ThingsExpo Stories
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
SYS-CON Events announced today that Datanami has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Datanami is a communication channel dedicated to providing insight, analysis and up-to-the-minute information about emerging trends and solutions in Big Data. The publication sheds light on all cutting-edge technologies including networking, storage and applications, and the...
SYS-CON Events announced today that EnterpriseTech has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. EnterpriseTech is a professional resource for news and intelligence covering the migration of high-end technologies into the enterprise and business-IT industry, with a special focus on high-tech solutions in new product development, workload management, increased effi...
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...
SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
In this presentation, Striim CTO and founder Steve Wilkes will discuss practical strategies for counteracting fraud and cyberattacks by leveraging real-time streaming analytics. In his session at @ThingsExpo, Steve Wilkes, Founder and Chief Technology Officer at Striim, will provide a detailed look into leveraging streaming data management to correlate events in real time, and identify potential breaches across IoT and non-IoT systems throughout the enterprise. Strategies for processing massive ...
SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organi...
SYS-CON Events announced today that Cloud Academy named "Bronze Sponsor" of 21st International Cloud Expo which will take place October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara, CA. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud com...
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
SYS-CON Events announced today that TMC has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo and Big Data at Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Global buyers rely on TMC’s content-driven marketplaces to make purchase decisions and navigate markets. Learn how we can help you reach your marketing goals.
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
"MobiDev is a Ukraine-based software development company. We do mobile development, and we're specialists in that. But we do full stack software development for entrepreneurs, for emerging companies, and for enterprise ventures," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists looked at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deliver...
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 21st Int\ernational Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to focus on the core of their ...