The 12 hive is where everything in SharePoint happens and is where all the binaries, configuration, web pages, web controls, help files and other resources reside. As a developer writing your own features for SharePoint, it is vital that you learn where things go and where you should be targeting your resources. Without having an understanding of this, you have lost the battle before you have even started.

This article forms part on the “Series of posts on the art of provisioning in SharePoint”.

A while back I posted an article SharePoint – The 12 Hive which pointed you to the location of the 12 hive, however the article was for general users and not aimed at administrators or developers. This article however is aimed at an administrator and developer with a basic overview of what you can find where. I will follow up on this post with a post on the TEMPLATE folder as this is the heart of the site and developers should really get familiar with the Template folder.
Below is a list of core folders in the 12 hive.

The directory contain the web service used used by the SharePoint Central Administration and appears as a virtual directory.

The directory contains all the core binary files, utilities that are used by Windows SharePoint Services. Your command line tools such as STSADM.EXE reside in this folder

A directory will be created for each language will be created that contains language specific binary files.

This directory contains a set of configuration, binary and resource files used by SharePoint. Some files are the default values which will be copied to web site instances.

SharePoint uses this directory structure for the indexing services where content will be indexed.

This directory has a set of cab files containing manifest and content information used by the SharePoint help sytem

The folder contains a compiled html help file (.chm) used by the configuration wizard.

This directory contains all the standard Web Services for SharePoint and some additional DLL’s, resources and configuration files that the web services use. Every web application provisioned in SharePoint will have a virtual directory strong>/_vti/_bin that points to this directory, thus giving each web application it’s own set of web services.

This directory contains all the help files used by SharePoint. The folder also contains LCID sub directories for each language installed thus globalising the help system.

This is the directory that you will visiting frequently whilst doing development and administration as it contains the log files of what SharePoint did and what errors occurred.

This directory contains the core.resx file used for creating language packs for SharePoint. If you are going to be localising your SharePoint sites with different languages and cultures, this is the folder to do it in.

This directory structure contains the core web site functionality in SharePoint, that is the features, templates, configurations, resources of a web site. What is important to note about this directory structure is that the Virtual Path Provider hides and masks this directory structure, thus it appears under each web site, list in a completely different structure.

This directory structure rather large and it fully warrants a complete post by itself. As a SharePoint developer you should completely familiarise yourself with this folder structure.
Tips and suggestions

* Open up the 12 Hive on your computer and spend the next five minutes looking through the directory structure.
* If you plan to be administrate or be a SharePoint development guru. Look at the content.
* On your server add the \bin directory to PATH environment variable, as it will search this folder when you are at a command prompt.
* As a developer you will be updating this directory structure with your own content, and it is important that you do it through the correct mechanisms.
* DO NOT CHANGE ANY FILE DIRECTLY in the 12 Hive, unless like pain, wasting time resolving bugs and having to reinstall SharePoint.
* Learn how to provision properly.