Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Kentico CMS Training @2012 Kentico Software
Kentico CMS 7 Developer Certification
Prep Guide
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.
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
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.
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.
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.
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
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
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
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
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
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
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
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
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
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.
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
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
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).
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.
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.
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.
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).
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.
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”.
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 } %}.
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).
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.
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.
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).
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.
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).
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
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)
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