35
Kentico CMS Training @2012 Kentico Software Kentico CMS 7 Developer Certification Prep Guide

Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS Training @2012 Kentico Software

Kentico CMS 7 Developer Certification

Prep Guide

Page 2: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

2

Preface To sufficiently prepare for the Kentico CMS Certified Developer Exam, please study this

Preparation Guide thoroughly in conjunction with the product documentation,

Developer’s Guide, and other resources available online at http://devnet.kentico.com.

Passing the Exam requires not only this “head knowledge” and academic understanding

of the product’s features and functionality, but it also requires practical e xperience and

a high-level of familiarity with the product itself.

To pass the Exam and be recognized as a Kentico expert, it is expected that you have

extensive experience in the following:

Designing, developing, and implementing Kentico CMS web sites

ASP.NET development and the intricacies of the .NET Framework

Creating data-driven web user interfaces

Writing programmatic code in Microsoft Visual Studio

If you pass the Exam and gain acknowledgement for being a Certified Kentico Developer,

then you have successfully proven your skills and set yourself apart from the everyday

developer. Earning your certification is a mark of approval and distinction that builds

your credibility, makes you more marketable, and gives you a competitive advantage

over the other developers you will encounter in your career.

For more information about the benefits of being a Kentico Certified Developer, please

download and view the Kentico Certified Developer datasheet at

http://www.kentico.com/getattachment/Training/Developer-

Certification/Certified_developer_datasheet.pdf.

Page 3: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

1

TABLE OF CONTENTS

OVERVIEW .............................................................................................................. 2

TEST FORMAT .................................................................................................................................................. 3

SCORE CALCULATION ........................................................................................................................................ 4

BASIC KENTICO CMS FUNCTIONALITY ................................................................... 5

APPLICATION PROGRAMMING INTERFACE (API).................................................. 6

WEB PARTS AND WIDGETS .................................................................................... 7

KENTICO CMS DATABASE REPOSITORY ................................................................. 8

PAGE TEMPLATES ................................................................................................... 9

MACRO EXPRESSIONS .......................................................................................... 10

TRANSFORMATIONS ............................................................................................ 11

WORKFLOW AND VERSIONING ........................................................................... 12

SYSTEM MANAGEMENT ....................................................................................... 13

ECOMMERCE......................................................................................................... 14

WINDOWS AZURE ................................................................................................ 15

KENTICO CMS SECURITY....................................................................................... 16

ANSWER KEY......................................................................................................... 17

ANSWERS FOR BASIC KENTICO CMS FUNCTIONALITY QUESTIONS ....................................................................17

ANSWERS FOR API QUESTIONS .......................................................................................................................18 ANSWERS FOR WEB PART AND WIDGET QUESTIONS .......................................................................................19

ANSWERS FOR KENTICO CMS DATABASE QUESTIONS ......................................................................................21

ANSWERS FOR PAGE TEMPLATE QUESTIONS ....................................................................................................22 ANSWERS FOR MACRO EXPRESSIONS QUESTIONS ............................................................................................23

ANSWERS FOR TRANSFORMATIONS QUESTIONS ...............................................................................................25

ANSWERS FOR WORKFLOW AND VERSIONING .................................................................................................26

ANSWERS FOR SYSTEM MANAGEMENT QUESTIONS .........................................................................................27 ANSWERS FOR ECOMMERCE QUESTIONS .........................................................................................................28

ANSWERS FOR WINDOWS AZURE QUESTIONS .................................................................................................29

ANSWERS FOR KENTICO CMS SECURITY QUESTIONS .......................................................................................30

APPENDIX A – FUNCTIONAL AREAS TO STUDY ................................................... 31

APPENDIX B – LEARNING PATHS.......................................................................... 32

APPENDIX C - ADDITIONAL RESOURCES .............................................................. 33

Page 4: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

2

Overview Kentico CMS drives over 12,000 web sites in 85 countries around the globe, with 24/7

technical support and over 1,200 partners and consultants to sustain the Kentico CMS

ecosystem. Becoming a Kentico Certified Developer is the biggest step towards joining

this growing community of technical professionals.

Kentico CMS offers three different editions:

Kentico CMS Base

Kentico CMS Ultimate

Kentico Enterprise Marketing Solution (EMS)

For more information about the features and functionality available in each edition,

please visit http://www.kentico.com/Product/Product-Editions.

For a list of the hardware and software requirements for installing Kentico CMS, please

visit http://www.kentico.com/Support/Support-files/System-requirements.

Page 5: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

3

Test Format The Kentico CMS 7 Certified Developer Exam is securely administered online and

consists of 50 questions to be completed within 60 minutes. The Exam is an open-book

test: you may use any resource that you find helpful (have the Kentico CMS running,

have the Developer’s Guide open, etc.) EXCEPT another person. You must take the Exam

individually; sharing or cheating will NOT be tolerated and will result in the

disqualification of your current and future Exams.

The Exam contains the following question types.

Question type Description

Single Answer You select a single answer. For clarity, each question of this type is

marked with “Select the most-correct answer”.

Multiple Choice You select multiple answers. For clarity, each question of this type is

marked with “Select all correct answers”.

True/False You select a True/False response option based on a statement

provided. For clarity, each question of this type is marked with

“True/False”.

Yes/No You select a Yes/No response option based on a statement

provided. For clarity, each question of this type is marked with

“Yes/No”.

The purpose of this study guide is to help you assess your skills in answering each of the

four types of questions on the Kentico Certified Developer Exam. The sample questions

in this guide are based on real questions from the Exam.

Page 6: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

4

Score Calculation

To receive the Kentico CMS Developer Certification for Kentico CMS Version 7, a

minimum score of 80% is required. The testing and scoring process is designed to be

confidential. Completed Exams are not returned and the answers (whether correct or

incorrect) are not provided to tested candidates.

This study guide will help you answer the questions, “If the sample questions in this

guide are like the real questions on the Kentico Certified Developer Exam, how will I do?

Do I have sufficient knowledge and experience to pass the Exam?”

You can then use this information to hone your skills and focus on the areas where you

need more understanding and experience before actually taking the Exam.

Page 7: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

5

Basic Kentico CMS Functionality

This section contains sample questions involving basic Kentico CMS functionality. These

questions may cover (but are not limited to) CMS Desk, Site Manager, the Content tree,

and document management.

Sample Questions about Basic Kentico CMS Functionality

1) To perform on-site editing, you must first login to CMS Desk. (True/False)

a) True

b) False

2) In CMS Desk, when you look at the Products document in the Content tree, you see

the following:

What is the current status of the Products document? (Select the most-correct

answer)

a) Document is published.

b) Document is not published.

c) Document is archived.

d) Document is currently checked-out.

3) In a structured document, each field has its own database column in SQL Server.

(True/False)

a) True

b) False

Page 8: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

6

Application Programming Interface (API)

This section contains sample questions about the Kentico CMS API (application

programming interface). These question may cover (but are not limited to) specific APIs,

their syntax, and their function.

Sample Questions about API

1. Which of the following statements best describes the CMS.TreeEngine.TreePathUtils

API class? (Select the most-correct answer)

e) Encapsulates data from the CMS_Tree and CMS_Document tables and their

respective coupled tables.

f) Only used to delete tree nodes.

g) Represents a relationship between two documents.

h) Provides functionality for validating and converting paths, URLs, aliases, and

names.

2) All of the following classes are part of the CMS.SyncService namespace, except for:

(Select the most-correct answer)

a) SyncClient

b) SyncServer

c) SyncLogInfoProvider

d) WebServiceAuthorization

3) You can register event handlers by creating a custom class in which folder? (Select

the most-correct answer)

a) App_Bin

b) App_Code

c) App_Data

d) App_WebReferences

Page 9: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

7

Web Parts and Widgets

This section contains sample questions about web parts and widgets. These questions

may cover (but are not limited to) specific web parts, their properties, and their

functionality.

Sample Questions about Web Parts and Widgets

1) Which of the following Twitter web parts is not included with Kentico CMS out-of-

the-box? (Select the most-correct answer)

a) Twitter email

b) Twitter feed

c) Twitter follow button

d) Twitter tweet button

2) Which of the following actions does NOT optimize the performance of a

CMSRepeater web part in a Portal Engine page template (without modification of

any caching or transformation code)? (Select the most-correct answer)

a) Check permissions

b) Edit the web part title

c) Disable the ViewState property

d) Reduce the number of columns displayed

3) When developing a custom web part, what class do you need to inherit from?

(Select the most-correct answer)

a) WebPartInfo

b) WebPartInfoProvider

c) CMSAbstractWebPart

d) WebPartInstance

Page 10: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

8

Kentico CMS Database Repository

This section contains sample questions involving the Kentico CMS database repository in

SQL Server. These questions may cover (but are not limited to) database schemas,

specific database tables, properties, columns, and foreign keys, as well as SQL scripts

and queries.

Sample Questions about Kentico CMS Database

1) When a Live site user registers or creates an account, which of the following

database tables contains the user account information? (Select the most-correct

answer)

a) dbo.CMS_User

b) dbo.CMS_MembershipUser

c) dbo.CMS_UserSite

d) dbo.COM_Customer

2) For each language version of a document, the CMS_document table contains which

one of the following? (Select the most-correct answer)

a) One column of data

b) One row of data

c) One foreign key

d) One database schema

3) Which one of the following database tables contains the document type-specific

fields for the BlogPost document type? (Select the most-correct answer)

a) Blogs_BlogPost

b) CMS_BlogPost

c) CONTENT_Blog

d) CONTENT_BlogPost

Page 11: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

9

Page Templates

This section contains sample questions about page templates in Kentico CMS. These

questions may cover (but are not limited to) specific template types and properties,

template development models, specific template controls, and template design aspects.

Sample Questions about Page Templates

1) Kentico CMS supports all of the following page template types EXCEPT: (Select the most-correct answer) a) ASPX pages b) Dashboard pages c) JSP pages d) Portal pages

2) If a specific ASPX page in Kentico CMS is not integrated or registered with the Portal

Engine, which of the following document tabs in CMS Desk will be lacking? (Select the most-correct answer) a) Page b) Design c) Form d) Properties

3) The <asp:ContentPlaceHolder../> control can be placed in a standard page

template. (True/False) a) True b) False

Page 12: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

10

Macro Expressions

This section contains sample questions about macro expressions in Kentico CMS. These

questions may cover (but are not limited to) syntax, parameters, and return values.

Sample Questions about Macro Expressions

1) All of the following macro expressions will return the string “kenticocertified”,

EXCEPT for? (Select the most-correct answer)

a) {% "KENTICO" + "certified" |(tolower) %}

b) {% str = ""; foreach (x in "KENTICOCERTIFIED") { str += x.ToLower() }; str %}

c) {% kenticocertified %}

d) {% "kenticocertified" %}

2) The macro expression {% "6" + "7" %} returns which one of the following numbers?

(Select the most-correct answer)

a) 13

b) 42

c) 76

d) 67

3) The macro expression {% z = 0; for (i = 0; i < 8; i++) { z += 1 }; z %} returns which one

of the following numbers?

a) 0

b) 8

c) 12345678

d) 87654321

Page 13: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

11

Transformations

This section contains sample questions about transformations. These questions may

cover (but are not limited to) formatting, functions, and methods.

Sample Questions about Transformations

1) You can use a transformation to perform all of the following tasks EXCEPT which

one? (Select the most-correct answer)

a) Retrieve document data

b) Transform document data

c) Display document data

d) Display custom data

2) The proper naming format for localizing a transformation named “TransformationA”

into French is “TransformationA_Localize_Fr-Fr” or “Fr-Fr_TransformationA”.

(True/False)

a) True

b) False

3) Which of the following Kentico CMS administration interfaces support the creation

of transformations? (Select all correct answers)

a) CMS Desk -> Tools -> Custom Tables

b) CMS Site Manager -> Development -> Custom Tables

c) CMS Desk -> Document selection -> Properties -> Web Part Properties

d) CMS Site Manager -> Development -> Document Types

Page 14: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

12

Workflow and Versioning

This section contains sample questions about workflow and versioning. These questions

may cover (but are not limited to) workflow creation and definition, workflow steps,

workflow properties, approval and publication, document versioning, version

comparison, and rollback.

Sample Questions about Workflow and Versioning

1) You can find the content-locking options for file check-in/check-out in all of the

following administration interfaces, EXCEPT for: (Select the most-correct answer)

a) CMS Desk -> Document -> Form tab

b) CMS Desk -> Document -> Page tab

c) CMS Desk -> Document -> Properties -> Security side tab

d) CMS Desk -> Document -> Properties -> Versions side tab

2) In Kentico CMS, you can apply versioning to your custom queries. (True/False)

a) True

b) False

3) To archive documents, a user needs which one of the following permissions? (Select

the most-correct answer)

a) Manage workflow

b) Modify

c) Archive

d) Destroy

Page 15: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

13

System Management

This section contains sample questions about Kentico CMS system management. These

questions may cover (but are not limited to) the event log, system modules, integration

bus, and capacity planning.

Sample Questions about System Management

1) When the event log reaches its maximum size, which one of the following occurs by

default? (Select the most-correct answer)

a) It is cleared by a scheduled task at regular intervals (which you can specify in the

web.config file).

b) It is reduced to half its maximum size.

c) It is reduced by the product of the maximum size multiplied by the coefficient

specified in the web.config file.

d) The oldest item is deleted before a new item is logged.

2) With the Integration bus module, the TaskDataTypeEnum.SimpleSnapshot object

contains translation data and child objects. (True/False)

a) True

b) False

3) You cannot configure the smart search module to search within custom tables.

(True/False)

a) True

b) False

Page 16: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

14

eCommerce

This section contains sample questions about eCommerce in Kentico CMS. These

questions may cover (but are not limited to) eCommerce membership objects, product

types, currency configuration, shopping cart functionality, and the Kentico CMS

Enterprise Marketing Solution (EMS).

Sample Questions about eCommerce

1) Which one of the following product types does Kentico CMS eCommerce support?

(Select the most-correct answer)

a) Bundle

b) Donation

c) Membership

d) All of the above

2) For eCommerce, you manage the list of currencies in Site Manager -> Settings tab ->

E-Commerce -> Global objects. (True/False)

a) True

b) False

3) When configuring Contacts in On-line marketing, all of the following statements are

true EXCEPT for: (Select the most-correct answer)

a) You can enable automatic merging of Contacts from different sites if they share

the same users.

b) You can enable automatic merging of Contacts on the same site if they share the

same activities.

c) You can personalize the Notes stamp format used in Contact notes.

d) You can set rules for automatic deletion of Contacts.

Page 17: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

15

Windows Azure

This section contains sample questions about deploying a Kentico CMS web site to the

Windows Azure cloud computing platform. These questions may cover (but are not

limited to) Windows Azure development principles, Windows Azure services and

components, and managing the files stored on Windows Azure.

Sample Questions about Windows Azure

1) Most modern cloud computing platforms (including Windows Azure) support which

one of the following characteristics? (Select the most-correct answer)

a) Geographically distributed data centers

b) High availability infrastructures with specific Service Level Agreements (SLA)

c) Scale on demand

d) All of the above

2) All of the following cloud service models are supported by Windows Azure EXCEPT

for? (Select the most-correct answer)

a) Application as a service (Aaas)

b) Data as a service (Daas)

c) Infrastructure as a service (Iaas)

d) Platform as a service (Paas)

3) In the Windows Azure architecture, the allocation of resources between various

virtual machines is handled by VMware vSphere and VMware vSphere Hypervisor.

(True/False)

a) True

b) False

Page 18: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

16

Kentico CMS Security

This section contains sample questions about Kentico CMS security. These questions

may cover (but are not limited to) kzc.

Sample Questions about Kentico CMS Security

1) Which one of the following security permissions has the highest priority (takes

precedence over the others)? (Select the most-correct answer)

a) Deny

b) Inherited

c) Role

d) User

2) In Kentico CMS, you can grant/apply security permissions to which one of the

following items? (Select the most-correct answer)

a) IP addresses

b) Roles

c) Templates

d) Web parts

3) In Kentico CMS, the default security on most pages is set to which one of the

following configurations? (Select the most-correct answer)

a) Requires authentication No, Requires SSL No

b) Requires authentication Yes, Requires SSL Yes

c) Requires authentication Yes, Requires SSL No

d) Requires authentication Inherits, Requires SSL Inherits

Page 19: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

17

Answer Key This section provides answers and explanations for the sample test questions.

Answers for Basic Kentico CMS Functionality Questions

1) B (False). The purpose of on-site editing is to enable Content Administrators to

make content updates directly on the Live site (using the URL

http://<domain>/<virtual directory path>/CMSEdit). This capability precludes the

need to access CMS Desk or establish VPN connectivity to one’s corporate network

in order to use CMS Desk.

2) C. When the icon color next to a document name is grey, then the current status of

the document is Archived. When a document is Published (Answer A), the document

status icon color is green. When a document is Unpublished (Answer B), the icon

color is red. When a document is checked-out (Answer D), the icon displays a lock.

Icon Status Description

Published Published document is rendering on the Live site.

Not Published/

Unpublished

Unpublished document is not displayed on the Live site. Either the

document has expired, or is in a workflow step awaiting publication.

Archived Archived document is no longer visible on the live site, but is sti l l

present in the content tree and can be restored when needed.

Checked-Out Document is checked-out by another user who is editing. You cannot

edit these documents until they are checked-in.

3) A (True). In a structured document, each field has its own database column in SQL

Server that stores submitted form data (such as NewsTitle, NewsReleaseDate,

NewsSummary, and NewsText). Each structured document type has its own

database table in SQL Server (for example, dbo.CONTENT_News and

dbo.CONTENT_Office).

Page 20: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

18

Answers for API Questions

1) D. The CMS.TreeEngine.TreePathUtils API class provides static helper methods for

validating and converting paths, URLs, aliases, and names. For example, you can use

this API to check or retrieve the path of a document or its URL.

The CMS.TreeEngine.TreePathUtils API class does not encapsulate data (Answer A),

cannot be used to delete or manipulate tree nodes (Answer B), and does not apply

to operations involving more than one document (Answer C).

2) C. The CMS.SyncService namespace includes the all of the following classes:

SyncClient (Answer A)

SyncServer (Answer B)

WebServiceAuthorization (Answer D)

ServerPolicy

StagingHelper

X509ClientPolicy

But the SyncLogInfoProvider class (Answer C) is part of the CMS.Staging namespace.

3) B. All of the event handlers (Application, Request, and Session) are located in the

/App_Code/Handlers folder of a web site project. The App_Bin folder (Answer A)

contains compiled assemblies (binary .DLL files) for controls, components, and other

code referenced by the application. The App_Data folder (Answer C) contains

application data files, including database (.MDF) files, .XML files, and other data

store files. The App_WebReferences folder (Answer D) contains web service

reference contract (.WSDL) files, schema (.XSD) files, and discovery document

(.DISCO and .DISCOMAP) files for creating web references.

Page 21: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

19

Answers for Web Part and Widget Questions

1) A. There is no Twitter email web part in Kentico CMS. The only Twitter web parts

that are included with Kentico by default are: Twitter feed (Answer B), Twitter

follow button (Answer C), and Twitter tweet button (Answer D).

2) A. Checking permissions does not optimize the performance of the CMSRepeater

web part in a Portal Engine page template, however:

Editing the web part title (Answer B) can increase performance because if

you remove it, then the system will use the value of the Web part control ID

property to uniquely identify the web part. The system already has to read

the Web part control ID anyways, so by making the web part title empty,

you eliminate the need/latency for processing this field.

Disabling the ViewState property (Answer C) can increase performance by

eliminating the need for the Page class to gather the collective view states

for all of the controls and serialize the state to a base-64 encoded string,

each time an ASP.NET web page is requested. Subsequently on postbacks,

the view state will not need to load and deserialize the persisted view state

data and update the relevant controls. Additionally, the _VIEWSTATE hidden

form field will not add size/latency to Web page loading. And postback

request times are minimized because the _VIEWSTATE form field will not

need to be sent back to the Web server in the HTTP POST headers.

Reducing the number of columns displayed (Answer D) can increase

performance by decreasing the amount of data that needs to be retrieved

from the database and rendered at run-time.

3) C. When developing a custom web part, you must inherit from the

CMSAbstractWebPart class because it contains the methods and constructors

needed to initialize the parent portal manager and required controls for web parts.

Page 22: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

20

The WebPartInfo class (Answer A) creates a new web part object but does not

provide the members required to initialize the controls for web parts. The

WebPartInfoProvider class (Answer B) provides management functionality for web

parts (such as get, set, and delete web part), but does not create or instantiate

them. The WebPartInstance class (Answer D) initializes an instance of a web part,

but does not provide the members required to initialize the controls for web parts.

Page 23: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

21

Answers for Kentico CMS Database Questions

1) A. When a Live site user registers or creates an account, the user account

information (such as User name, First name, E-mail address, and password) is stored

in the dbo.CMS_User table.

The dbo.CMS_MembershipUser table (Answer B) assigns users to memberships,

where each record associates the user as a member of a specified membership.

The dbo.CMS_UserSite table (Answer C) assigns users to sites for login purposes.

The dbo.COM_Customer table (Answer D) only stores user account information

when a user makes an online purchase and creates an account during the checkout

(or Add to Shopping Basket) process.

2) B. The CMS_document table contains one row of data for each language version of

a document. Each column in this table (Answer A) represents one specific

document, where a row is added for each localized version of the document. The

nine foreign keys in this table (Answer C) contain various fields that specify

background or supplementary properties about a particular document, such as

DocumentCreatedByUserID, DocumentCheckedOutByUserID,

DocumentModifiedByUserID, DocumentPageTemplateID, and

DocumentWorkflowStepID. The database schema (Answer D) defines the structure

of all database tables, and the CMS_Document table resides within the dbo schema.

3) D. The CONTENT_BlogPost database table defines the fields for the BlogPost

document type. The Blogs_BlogPost table (Answer A) and CMS_BlogPost table

(Answer B) do not exist. The CONTENT_Blog table (Answer C) defines the fields for

the Blog document type (an entirely new blog with its own, separate blog posts).

Page 24: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

22

Answers for Page Template Questions

1) C. By default, Kentico CMS does not support JSP (JavaServer Pages) as a page

template type. However, it supports ASPX pages (Answer A), Dashboard pages

(Answer B), and Portal Engine pages (Answer D) as template types.

2) B. If you do not integrate or register an ASPX page with the Portal Engine in Kentico

CMS, you will not be able to use the features and functionality (such as adding and

removing web parts and widgets) provided by the Design tab in CMS Desk. The Page

tab (Answer A) is available for editing the text on a page. The Form tab (Answer C) is

available for modifying the fields of a document. The Properties tab (Answer D) is

available for viewing various document properties, such as the specific CSS

stylesheet applied to a document, the document type on which a document is

based, who (which user account) created a document, and the alias path for a

document.

3) B (False). The <asp:ContentPlaceHolder../> control cannot be placed in a standard

page template. This control can be placed in a Master page template (only once on

each page template), can display a page in different language cultures, and is a

placeholder for content in pages that inherit from the template.

Page 25: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

23

Answers for Macro Expressions Questions

1) C. The macro expression {% kenticocertified %} is a context (data) macro that will

not render anything because the value(s) to display must be enclosed within

quotation marks.

The {% "KENTICO" + "certified" |(tolower) %} macro expression (Answer A) will

render the string “kenticocertified” because the values are properly enclosed within

quotation marks; although the value “KENTICO” has all capital letters, this macro

includes the “tolower” function that converts all characters to lowercase.

The {% str = ""; foreach (x in "KENTICOCERTIFIED") { str += x.ToLower() }; str %}

macro expression (Answer B) will render the string “kenticocertified” because again,

the value to display is properly enclosed within quotation marks; although the value

“KENTICOCERTIFIED” has all capital letters, this macro performs a cycle where each

iteration converts one letter in the value to lowercase.

The {% “kenticocertified” %} macro expression (Answer D) will render the string

“kenticocertified” because the values are properly enclosed within quotation marks.

2) D. Although the {% "6" + "7" %} macro expression uses the “+” (addition/sum)

operator, it renders as “67” because the values are enclosed within quotation marks

and thus, concatenated. The number “13” (Answer A) would be rendered if the

values were not enclosed within quotation marks. The number “42” (Answer B)

would be rendered if the “*” (multiplication) operator were used instead of the “+”

(addition/sum) operator. The number “76” (Answer C) cannot be rendered using

this macro expression because there is no operator for transposing values.

3) B. The {% z = 0; for (i = 0; i < 8; i++) { z += 1 }; z %} macro expression uses the for

flow control command to specify 8 iterations of a cycle (as defined by the

expressions “i = 0; i < 8; i++”). Since the value z starts at 0 and gets incremented by 1

(as defined by the expression “z += 1”) for each iteration, the final z value returned

is “8”.

Page 26: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

24

The macro expression does not return the number “0” (Answer A) because the z

value is incremented by 1 (as defined by the expression “z += 1”) for each iteration

through the cycle, and there are 8 iterations (as defined by the expressions “i = 0; i <

8; i++”).

To return the number “12345678” (Answer C), the macro expression would not

display only the final z value; it would simply display a concatenated list of numbers

for each iteration through the cycle using {% z = 0; for (i = 0; i < 8; i++) { z += 1 } %}.

To return the number “87654321” (Answer D), the macro expression would have to

be rewritten as {% z = 9; for (i = 8; i > 0; i--) { z -= 1 } %}.

Page 27: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

25

Answers for Transformations Questions

1) A. Transformations do not retrieve data from a database. They are typically applied

to data that has been retrieved from a database (to transform that data for

presentation and rendering). You apply transformations by predefining the

transformation code and saving them as system objects, then assign them to web

part or controls through the appropriate properties.

The purpose of a transformation is to change and control how data gets displayed.

So transformations can transform document data (Answer B), display document

data (Answer C), or display custom data (Answer D). They can also be used to

perform other tasks such as displaying XML data, processing fie ld values, converting

data into a specific format, and specifying different output formats for individual

items based on document type or hierarchy level (in the case of hierarchical

transformations).

2) B (False). To localize a transformation named “TransformationA” into French, you

must use the naming format of “TransformationA_Fr-Fr”.

3) B and D. You can create transformations in Site Manager [on the Development tab,

in the Custom tables section (Answer B) or the Document types section (Answer

D)], but not in CMS Desk (Answers A and C).

Page 28: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

26

Answers for Workflow and Versioning

1) C. In CMS Desk, when you select a document in the Content tree and click the

Properties tab in the right pane, the Security side tab only lets you set Permissions

and Access rights for the document; there are no content-locking options in this

particular administration interface.

When workflow is enabled, content-locking options appear in CMS Desk at the top

of the page on the Form tab (Answer A), Page tab (Answer B), and Versions side tab

(Answer D).

2) A (True). You can apply Kentico CMS versioning to your custom queries using Site

Manager: click the Development tab, click Document types or Custom tables,

edit/select a specific query, click the Versions tab.

3) A. To be able to archive documents, a user needs Manage workflow permissions. To

grant this permission, open Site Manager, click the Administration tab, in the left

pane tree view, click Permissions, in the right pane, from the Site drop-down list,

select the appropriate site; from the first Permissions for drop-down list (on the

left), select Module, and from the second Permissions for drop-down list (on the

right), select Content; and from the Report for user drop-down list, select the

appropriate user, and then in the permissions matrix/table below, under the

Manage workflow column, check the box for the selected user.

The Modify permission (Answer B) allows a user to perform many actions (such as

creating a new document, editing a document, copying a document, and

approving/rejecting a document), but to archive a document, the user must also

have the Manage workflow permission granted. The Archive permission (Answer C)

does not exist in Kentico CMS. The Destroy permission (Answer D) allows a user to

delete particular versions of a document, or the entire version history.

For more information about document permissions, please visit

http://devnet.kentico.com/docs/6_0/devguide/index.html?document_library_secur

ity.htm.

Page 29: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

27

Answers for System Management Questions

1) C. When the event log reaches its maximum size, by default, it is reduced by the

product of the maximum size multiplied by the CMSLogKeepPercent

value/coefficient that you can specify in the web.config file.

While you can create a scheduled task that clears the event log at regular intervals

(Answer A), this configuration is not the default setting. The system does not

automatically purge half of the events (Answer B) in the event log when maximum

capacity is reached. And the system does not delete an old event for each new

event logged (Answer D).

2) B (False). The TaskDataTypeEnum.SimpleSnapshot object in the Integration bus

module does NOT contain translation data nor child objects. In the

CMS.Synchronization namespace, the TaskDataTypeEnum enumeration task has

three member objects that specify the type of data to process/synchronize:

Simple - process the main object only.

SimpleSnapshot - process the main object with translation information.

Snapshot - process the object with child objects and bindings.

3) B (False). By default, the smart search module is already configured to search within

custom tables (for the sample Corporate Site). You can configure the settings and

specify which custom tables to index by opening Site Manager, cl ick the

Administration tab, and in the left pane tree view, click Smart search.

Page 30: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

28

Answers for eCommerce Questions

1) D (All of the above). By default, eCommerce in Kentico CMS supports all of the

following product types:

Bundle (Answer A)

Donation (Answer B)

E-product

Membership (Answer C)

Product (basic product type from which the four types above are derived)

To define a product and set special properties for a particular product type, open CMS

Desk and click the E-commerce tab at the top.

2) B (False). While you can enable and disable global settings for currencies in Site

Manager -> Settings tab -> E-Commerce -> Global objects, you cannot manage the

list of currencies in Site Manager. To manage currencies, open CMS Desk, click the E-

commerce tab at the top, and in the ribbon toolbar, click the Configuration button

(far right), and then click the Currencies side tab.

3) B. For Contact management in On-line marketing, you cannot enable automatic

merging of Contacts on the same site if they share the same activities; you can only

enable automatic merging of Contacts from different sites if they share the same

users (Answer A). You can also personalize the format of the Notes stamp for

Contact notes (Answer C) and set rules for the automatic deletion of Contacts

(Answer D).

Page 31: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

29

Answers for Windows Azure Questions

1) D (All of the above). Most modern cloud computing platforms (including Windows

Azure) support geographically distributed data centers (Answer A) mostly for fault

tolerance; high availability infrastructures with specific Service Level Agreements

(Answer B) that articulate the particular thresholds for expected uptime and

acceptable downtime (among many other measures of service); scale on demand

(Answer C) where additional resources can be added, removed, and adjusted in

real-time based on various factors such as consumption and expected peaks.

2) A. In terms of cloud service models, Windows Azure does not support the

Application as a service (AaaS) model, which is why Kentico CMS is strategically

positioned to provide integration services for the web sites and applications running

on Kentico. By default, Windows Azure provides database storage and hosting in the

cloud through its Data as a service (Daas) model (Answer B); virtual infrastructure,

hardware, networking, and data center services through its Infrastructure as a

service (IaaS) model (Answer C); and hosted Windows Server in the cloud services

through its Platform as a service (PaaS) model (Answer D).

3) B (False). In the Windows Azure architecture, the allocation of resources between

various virtual machines is NOT handled by VMware vSphere and VMware vSphere

Hypervisor. Windows Azure monitors and manages the Hypervisor (Hyper-V)

lifecycle and virtual machines using System Center Virtual Machine Manager (VMM)

2012.

Page 32: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

30

Answers for Kentico CMS Security Questions

1) A. The Deny permission has the highest priority because Kentico CMS supports the

industry-standard approach of the role-based security model that restricts system

access and actions to authorized users. As such, you must explicitly grant

permissions for users to perform specific actions, else they are denied access by

default. The system favors on the side of safety/security/denial over the

susceptibility and vulnerability exposed by an open/allow model. Therefore, even if

users are explicitly granted specific permissions, such as Inherited permissions

(Answer B), Role-level permissions (Answer C), and User-level permissions (Answer

D), any Deny permissions will override what is granted. In terms of Kentico CMS

security and permissions, denial ALWAYS trumps allow.

2) B. You grant permissions to security objects such as user accounts, memberships,

and roles. You can also set permissions such that these objects can access specific

documents, modules, and different areas of CMS Desk.

By default, you cannot grant security permissions at the IP address level (Answer A),

template level (Answer C), or web part level (Answer D).

3) D. The default security on most pages is set to inherit both authentication and SSL

requirements/properties from the parent documents. Security on most pages do

not automatically bypass authentication and SSL (Answer A), nor do they

automatically require authentication and SSL (Answer B). Lastly, most pages do not

automatically require authentication and bypass SSL (Answer C).

Page 33: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

31

Appendix A – Functional Areas to Study The Kentico CMS Certified Developer Exam consists of questions related to the following

product and technology categories.

General Kentico CMS knowledge Security with Kentico CMS

Kentico CMS E-Commerce Kentico CMS Document types

Kentico CMS Application programming

interface (API)

Kentico Enterprise Marketing Solution

(EMS)

Using web parts/widgets with Kentico

CMS

Using Macro expressions with Kentico

CMS

Representational State Transfer (REST)

Services with Kentico CMS

Kentico CMS Page templates

Kentico CMS system management Kentico CMS System integration bus

Using transformations with Kentico CMS Workflow and versioning

Web.Config parameters with Kentico CMS Intranet development

Kentico CMS repository storage Windows Azure and Kentico CMS

Page 34: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

32

Appendix B – Learning Paths The following diagram defines the learning paths for Kentico CMS training and technical

proficiency. (CTRL + Click to enlarge)

Page 35: Kentico CMS 7 Developer Certification Prep Guide · To pass the Exam and be recognized as a Kentico expert, it is expected that you have extensive experience in the following: Designing,

Kentico CMS 7 Developer Certification Prep Guide

33

Appendix C - Additional Resources The following list of additional resources can help you prepare for the Kentico CMS

Certification Exam.

Kentico CMS Developer Network

http://devnet.kentico.com

Kentico CMS Knowledge Base

http://devnet.kentico.com/Knowledge-Base.aspx

Kentico CMS Product Documentation

http://devnet.kentico.com/Documentation.aspx

Kentico CMS Developer’s Guide

http://devnet.kentico.com/docs/devguide/index.html

Kentico CMS Controls Guide

http://devnet.kentico.com/docs/controls/index.html

Kentico CMS API Reference

http://devnet.kentico.com/docs/kenticocms_api.zip

Kentico CMS Database Reference

http://devnet.kentico.com/docs/kenticocms_database.zip

Kentico CMS Web Parts

http://devnet.kentico.com/docs/webparts/index.html

Kentico CMS Widgets

http://devnet.kentico.com/docs/widgets/index.html

Kentico CMS E-commerce Guide

http://devnet.kentico.com/docs/ecommerceguide/index.html

Kentico CMS On-line Marketing Guide

http://devnet.kentico.com/docs/onlinemarketingguide/index.html

Kentico CMS Windows Azure Deployment Guide

http://devnet.kentico.com/docs/azureguide/index.html