New document type

Top  Previous  Next

Each document in the Kentico CMS repository is of some type, such as news, product, article, etc. Each document type has its own fields. Our document type will describe computer, so it will have a computer name, processor type, RAM size, disk size and a product image field.

 

Go to Site Manager -> Development -> Document types and click New document type. You are redirected to the New document type wizard. In the first step, enter the following values:

 

Document type display name: Computer (this name will be displayed to the users)
Document type code name: custom.computer (custom is your namespace to distinguish your document types from system types that use the cms namespace, computer is the document type); you will use this value in web part properties later.

 

clip0051

 

Click Next.

 

In step 2, you need to choose the name of the database table that will be used for storing computer details. You also need to enter the name of the primary key in this table. Leave the default values:

 

clip0234

 

Click Next. The wizard has created a new database table for computers. Now you need to define the fields (columns of the table). Click New attribute to create a new field. Enter the following values:

 

Attribute name: ComputerName
Attribute type: Text
Attribute size: 200
Field caption: Computer name
Field type: Text box

 

Click OK. Click New attribute. Enter:

 

Attribute name: ComputerProcessorType
Attribute type: Text
Attribute size: 200
Field caption: Processor type
Field type: Drop-down list, choose to use Options
Options: enter the following options, one per line:

Athlon;Athlon

Pentium XEON;Pentium XEON

Pentium Core 2 Duo;Pentium Core 2 Duo

 

Click OK. Click New attribute. Enter:

 

Attribute name: ComputerRamSize
Attribute type: Integer Number
Field caption: RAM (MB)
Field type: Text box

 

Click OK. Click New attribute. Enter:

 

Attribute name: ComputerHddSize
Attribute type: Integer Number
Field caption: HDD (GB)
Field type: Text box

 

Click OK. Click New attribute. Enter:

 

Attribute name: ComputerImage
Attribute type: File
Allow empty value: check the box
Field caption: Image
Field type: Upload file

 

Click OK.

 

clip0235

 

Click Next.

 

Now you need to choose the field that will be used as document name. Choose the ComputerName field. It means that when you create a new computer document, its name will be automatically taken from the ComputerName value and this value will appear in site navigation and in CMS Desk content tree.

 

clip0236

 

Click Next. In step 5, you need to select the document types under which the computers can be added in the content tree. Check only the Page (menu item) value, which means the editors will be able to create computer documents only under some page, not under article or news document in the content tree.

 

clip0237

 

Click Next. In step 6, you need to choose which web sites will use this document type. Check My web site.

 

clip0238

 

Click Next. In Step 7, you are asked to specify how documents of this type should be indexed for searching and displayed in search results. Select the following values in the drop-downs:

 

Title field: ComputerName
Content field: DocumentContent
Image field: ComputerImage
Date field: DocumentCreatedWhen

 

Leave the default values for the rest of the options and click Next.

 

clip0034

 

The wizard has finished the configuration of the new document type. It has automatically created not only the database table, but also the SQL queries for SELECT, INSERT, UPDATE, DELETE operations and a default transformation.

 

clip0035

 

You have learned how to define a new document type.

 

 

 

How the content is stored

 

As you already know, the new document type Computer has its own database table. Each document is stored in three tables: CMS_TREE (tree structure), CMS_Document (document properties and metadata) and the custom table - in this case CUSTOM_Computer:

 

clip0097

 

The system automatically ensures all operations on these tables. The advantage of this storage is that it's very fast and you can easily write standard SQL SELECT queries to retrieve data from the repository (i.e. from the Microsoft SQL Server database).