- podcast
- research
- search
- security
- technology
- video
- AIM
- Alfresco
- Collaboration
- ECM
- ESX
- Hyper-V
- IE8
- Internet Explorer
- Iomega
- Linux
- MIX08
- Microsoft
- NAS
- Nokia
- REV
- S60
- SaaS
- Sharepoint
- Silverlight
- Sony Ericsson
- VMware
- Windows Live
- YouTube
- advertising
- backup
- beta test
- blogs
- convergence
- display
- enterprise
- humans
- instant messaging
- multimedia
- networking
- open source
- phishing
An HTML Programmers Guide to SharePoint Customization
This article provides the information you need to get started creating your own custom-branded SharePoint designs—a basic understanding of the technologies behind SharePoint, the HTML architecture SharePoint uses, and some of the issues that can trip you up, such as browser compatibility, accessibility, and so forth.
As a quick overview, Microsoft Office SharePoint Server (MOSS 2007) was released in early 2007. MOSS 2007 serves as a single replacement for two earlier products: SharePoint Portal Server (SPS 2003), and Microsoft Content Management Server (MCMS 2002). Like those previous versions, MOSS 2007 runs on top of and builds on a tool called Windows SharePoint Services (WSS 3.0), which is a free add-on to Windows Server and forms the basis of SharePoint. It is possible to run WSS without MOSS 2007, but the opposite is not true. All SharePoint products run on the ASP.NET 2.0 framework. This is important because MOSS uses a lot of features of the new framework which you'll need to understand for customization, particularly the use of master pages.
Understanding the HTML Architecture
The first thing to realize when developing for SharePoint is that nearly everything is stored in the database, not on the file system. In many cases, this includes all the content on a page, as well as all the HTML markup, CSS styles, and JavaScript code that format and activate the content. You won't be able to look into the file structure to find a page you want to edit or to view the code on a page. Instead, you'll find all the files you may want to customize in libraries, accessible through the SharePoint web interface. While it is possible to create a custom site definition that pulls pages from the file system, doing that isn't recommended for first-time SharePoint programmers.
A basic SharePoint page pulls data (HTML) from at least three distinct sources. The three sources you'll be most concerned with are:
- Content areas (including lists, web part zones, etc.)
- The page layout
- The master page.
The diagram below shows how the three sources fit together:
You can think of each source of data as a puzzle piece that fits into its parent's HTML. The content areas fit into openings you've placed in the page layout and the page layout fits into openings you've placed in the master page. The data for the content areas is usually inserted by your end users—users who are not developers. HTML designers are usually responsible for master page development and page layouts.
The next section describes the code that allows your master page, page layouts, and user content to interact. After that, I'll show you how to actually get that code onto your pages.
Most Popular Stories
- 1 Solve Item-Level Permission Performance Problems in SharePoint
- 2 Building SharePoint Suggestion Boxes and Soliciting Anonymous Feedback
- 3 Developing SharePoint Solutions in Visual Studio Using WSPBuilder
- 4 Use jQuery to Kill Spell Checker in SharePoint Lists
- 5 Leveraging SharePoint as a Document Management System
- 1 Building SharePoint Suggestion Boxes and Soliciting Anonymous Feedback
- 2 Leveraging SharePoint as a Document Management System
- 3 Solve Item-Level Permission Performance Problems in SharePoint
- 4 SharePoint 2010 Makes the Link to LINQ
- 5 Provide SharePoint Single Sign-On with Active Directory Federation Services
- 6 Developing SharePoint Solutions in Visual Studio Using WSPBuilder
- 7 Use JavaScript to Hide SharePoint's Quick Launch Bar


While Java helps in fulfilling the promise of "write once, use anywhere", there are practical concerns developers need to address in developing their code, whether it's porting from another language, working in the best IDE or optimizing for today's multi-core computing environments. This eBook will help you in understanding these issues and how you can get the most out of your Java code.