Custom Document Library:
This blog is a follow on from the previous ‘Custom Content Type’ where we look at the ability to create and deploy a custom document library as a feature. The custom document library can also include custom columns and views which will be covered in future blogs.
The basic steps are:
1. Add a custom content type for the library’s items.
2. Copy an existing document library feature to use as our template.
3. Customize the library’s schema.xml
4. Customize PBCCustomLibray.xml
5. Deploy and test.
Step 1 Create a custom content type
Refer to the previous blog for details:
- If you created the Visual Studio project SPSFeatures described the previous blog open it up or else create a new Class Library project.
- Create the following folder structure:
Features
PBCLibraryContentType
Feature.xml
Contents (subfolder)
PBCLibraryContentType.xml
Contents of Feature.xml:
<Feature Id="A0BCA6B4-CCDD-43f4-B006-3EC967033B19"
Title="PointBridge Custom Library content type Ver 1.0.0.1"
Description="Custom library content type for PointBridge Blogs"
Version="1.0.0.1"
Scope="Site"
Hidden="FALSE"
DefaultResourceFile="core"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="ContentsPBCLibraryContentType.xml" />
</ElementManifests>
</Feature>
Contents of PBCContentType
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ContentType ID="0x010100960FDB4DF37E47ceB7036C96E2EE24F4"
Name="PBC Document"
Group="PBC Content Types"
Description="PBC document for PointBridge Library"
Version="0">
</ContentType>
</Elements>
Install and activate feature.
Step 2 Copy Document library.
The custom document library used by the system as the base for libraries will be our template. Copy the contents of this directory to a newly created folder called PBCCustomLibrary.
Features folder – base folder:
C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12
Document Library:
…FeaturesDocumentLibrary copy contents to
…FeaturesPBCCustomLibrary
The contents of PBCCustomLibrary folder are:
Feature.xml
Subfolder: ListTemplate
Subfolder: doclib
Rename the doclib folder to pbclib.
Step 3 Customize schema.xml
- Either copy the folder structure described above to the project’s Featutes folder or just open the files directly.
- Open the pbclib/schema.xml and because the base type is a document library we can remove the DocumentTemplates section.
Change the List element to the following:
<List xmlns:ows="Microsoft SharePoint"
Name="PBCLibrary"
Title="PBC Custom Library"
Direction="LTR"
Url="PBC Documents"
BaseType="1"
EnableContentTypes="TRUE">
- Add the following to the ContentTypes section:
<ContentTypeRef ID="0x010100960FDB4DF37E47ceB7036C96E2EE24F4" />
The ID is the value used to in the custom content type above.
Step 4 Customize PBCCustomLibrary
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ListTemplate
Name="pbclib"
Type="1500"
BaseType="1"
OnQuickLaunch="TRUE"
SecurityBits="11"
DisplayName="PBC Custom Library"
Description="PointBridge library contains PBC customm docs"
Image="/_layouts/images/itdl.gif"
DocumentTemplate="101">
</ListTemplate>
<ListInstance
Id="PBCCustomLibrary"
Title="PBC Library"
Description="PBC Library"
TemplateType="1500"
Url="PBCDocs">
</ListInstance>
</Elements>
Step 5 – Deploy and test
Copy the PBCCustomLibray folder structure to …Features folder if necessary.
Install using STSAdm.exe:
Activate the feature in the Site Actions>Site Settings>Site Collection Administration section, Site collection features and Activate.
Test the library:
Site Actions >Create>Libraries>PBC Custom Library
Give the library an appropriate name and keep the remaining default options.
Click Ok and the custom library is ready to use.
In upcoming blogs I will be showing how to further customize this library.
Download source.