Sie sind auf Seite 1von 29

Hybris 6.

0 Developer Certification Study Guide


Author: Karthikeyan Komar Balakrishnan
Contributors: Ashik Ahamed Meeran, Cary Guca
Reviewer: Mark Schlosser

Introduction
About Exam
o Study guide WIKI URL:
https://wiki.hybris.com/display/education/Study+guide+for+Hybris+Commerce+6+Certificat
ion+Exam+-+Developer+Professional
o Questions Format: 80 multiple choice questions; no partial marks for partial correct
answers; Few sample questions found here
o Taking the exam:
 Follow the instructions mentioned in KX site to register for the exam via MyLearning. After
the registration is approved, it will take 3-5 days for the Accenture Certification team to
process the request and make the payment to SAP. Once the payment is received by SAP,
you will get a direct email from SAP for registering on their certification cloud site to
schedule the exam (make sure you set the correct time zone on your profile as the exam
schedule is based on that time zone).
 Once registered in the above site, you can schedule exams 24x7 to take from your home
and can reschedule if required before the exam.
 5-10 minutes before the exam, the link to start the exam session will be enabled in your
scheduled exam list in the SAP cloud site.
 You will be monitored by a proctor remotely via the webcam on the laptop throughout
the exam and you will need to have two forms of Govt. photo ID to show to the proctor
during the exam session.
 Instructions on what you need to setup on your laptop will be sent to your email after you
schedule the exam; You will be asked to install special browser-like software prior to the
exam so that you can't switch tabs and it will be used for taking the exam. Upon completion
of the exam, you will get the topic-wise performance results along with the pass/fail result
on the screen immediately. You can't print the topic-wise results as print screen will be
disabled by this software; Upon passing, the email to download the certificate usually
arrives in about 3 business days.

Approach followed to prepare this guide:


1. Though there are links given in the above Hybris Wiki URL, they are more of top-level topic
links type and may not be sufficient enough to get started as each item can contain several
subtopics and it might be overwhelming. This guide is indented to provide more specific
references of the sub-topics as related to each of the keywords mentioned in the comments
section of the Hybris study guide.
2. You should also go through the trails to get an understanding of some of the implementation
related questions. Therefore, the related trails are also mentioned at the end of each chapter.
3. Apart from the experience from the actual exam questions, review questions are also included
for each section with some of them also influenced by Accenture's previous Hybris 5 study
guides and the internal Hybris Mock exam.
Other tips
1. Check you understanding:
o Exam contains multiple-choice questions but going through the review questions for each
topic might help to reinforce the concepts.
2. Finish the relevant trails associated
o Also it is good to review the summary from each trail when it is provided in the trail
documentation.
3. Mock exam:
o Take the mock exam based on 6.0 series from MyLearning to assess your understanding

Some may find the following order more intuitive than what is in the Hybris Wiki URL, as below and this
guide is based on this order:
o Platform basics
o Data modeling
o Platform features
o PCM Basics and Price Modeling
o User management
o Order management
o Search and Navigation
o Commerce Accelerator
o WCMS
o Backoffice and Cockpit Modifications

All the best!


Individual Topics
1. Platform Basics
Exam Objectives

 You need to prove that you are familiar with: the concepts of system initialization, update, essential and
project data, sessions handling, and extensions structures;
 Also you need to be able to configure platform start and change its build procedure;
 And identify caching behavior, model interceptors and explain how transactions work.

Note: The light grey colored background below is just to group the individual topics further.
Individual topics Review questions
Multi-tenant systems 1. What are the purpose and characteristics of multitenant systems?
2. How do you create new tenants in Hybris?
3. Can each tenant have its own set of extensions?
4. Can you have an extension used in a slave tenant without being initialized in master
tenant?
5. Which Hybris tool you can use to view the list of tenants? (Ans: HAC)

Session handling 1. Is every request in Hybris associated to a JaloSession?


2. When does the JaloSession timeout?
3. How do you define the HTTP session timeout?
4. How do you override the HTTP session timeout?

Http session failover 1. Can CronJobs in Hybris take advantage from the Hybris HTTP session failover?
2. How does the HTTP session transparent failover mechanism work in hybris?
3. What steps are involved in setting up a transparent HTTP session failover?

Semi session failover Explain semi session failover.

Transports used for What are the two transport types discussed and the messaging mechanism used in
cluster communication Hybris?

Understanding Hybris 1. What is a Model class in Hybris?


Models 2. How do you create a Model source file in Hybris?
3. Which extension does the Model source file end up after doing a 'ant build'?
4. What are the various ways you can customize the model generation using <model>
tag in items.xml?
5. What is lazy loading of Models in Hybris?
6. Model context
1. What is the recommended way of creating an item in Hybris and what's the
advantage?
2. How will you load Models using ModelService?
3. How do you save a model object using ModelService?
4. How to refresh a model object using ModelService?

Model Interceptors 1. Explain different interceptors of Models and when they are invoked in the model
lifecycle?
Disable model 2. How will you register an additional interceptor?
interceptors 3. What are the two ways to disable the interceptor and explain how?
Validators 1. What is the use of Validators and Which JSR it is based on?
2. Which service class loads the validation engine?
3. What are the disadvantages of using Validation Annotations?
4. Which class extending ConstraintViolation is used in the validation framework for
holding the detailed information about violations?(Ans: HybrisContraintViolation)
5. What are constraint groups used for?

Transactions in hybris 1. What is the default transaction level in hybris?


2. Can you have multiple nested transactions in Hybris and commit them individually?
3. What is delayed store feature and how does it affect data retrieval?

Hybris Extension 1. How would you create a custom extension based on the yempty template?
structure 2. What directories are required for a web extension created from yempty?
3. Which web application can you use to check the list of installed extensions in
Hybris?
4. What is the main configuration file for an extension?
5. Can a web extension work without core module configured in
extensioninfo.xml?
6. How can you configure a custom extension to be a template extension?

Region cache 1. What types of data caches regions available OOB?


2. What are the OOB eviction strategies for cache regions?
3. Where can you override the preconfigured cache configuration and what you can
override?
4. What steps are necessary to create a new cache region?
5. How do you access/manage cache via API?

Cache behavior 1. When is data cached in Hybris?


2. What are different ways in which data gets removed from cache in Hybris?
3. Which Hybris tool you can use to clear hybris cache? (Ans: HAC)

Hybris Commerce dir 1. Explain the directory structure of Hybris commerce

Changing build 1. If you don't do ant clean before starting Hybris, what changes made won’t be
procedure effective?
1. e.g. bean.xml changes
2. How can you introduce custom build scripts to be invoked in the build process?
(Ans: macrodef)
3. When do you need to use ant customize?
4. How can you initialize and update Hybris via ant task?

Essential and project 1. What is essential and project data?


data 2. What are the two accelerator template extensions that are associated with essential
and project data?

System 1. What is the difference between system init vs. update?


initialization/update 2. What are the things that system init process can and cannot do?
3. What are the things that a system update process can and cannot do?
4. How can you prevent & lock system init/update via HAC?
5. How can you generate SQL initialization and update scripts from HAC but not
execute them?
6. What effect initialization.legacy.mode=true in local.properties has
on init/update process?
7. If you add a new extension to a production system, which of the 4 update settings
are necessary to get the extension’s data model and initial data configured: Update
running system, Clear the hmc, create essential data, localize types?

Hooks for system 1. Which annotation is used to hook a service layer class/method into the system
init/update init/update?
2. What do you need to customize to enable a user to choose options in project
settings in HAC system init/update page?
3. What two service classes are available OOB in the yacceleratorinitialdata extension
as service layer hooks for system update/init?

Trails to practice Review questions


Getting started 1. Which XML would you specify the extensions that are needed for the Hybris
application?
2. What is the difference between ant build and ant clean build?

Goal of the trail 1. Which software design approach is used to Hybris commerce Accelerator?(Ans:
data driven)

New Extension 1. Which XML file is used to configure the core/hmc/web modules?

Customize initialization 2. Which annotation is used to hook service layer code into Hybris initialization
process process?
3. What are the two hook classes provided in accelerator and how they differ?
4. What are the two ImportService classes used by InitialDataSystemSetup class and
how they differ?

2. Data Modeling
Exam Objectives
You need to be familiar with Hybris Items, their relations, how to localize and query them.
In particular:
 Model new data types and extend existing ones including localized attributes and
enumeration;
 Configure indices and deployments,
 Identify how types are stored in database;
 Create advanced FlexibleSearch queries, etc.

Individual Review questions


topics
Introduction to Type 1. If new atomic types are needed, where do you define and localize them?
System and Hybris 2. When do you use collection types? What are the three variations of collection types?
items 3. What types of relationships you can create using Collection types (1-to-many, many-
to-1) and what is the difference in the type definition in items.xml for those
relationship types?
4. What is a Relation Type and what is the difference between this and a collection
type?
1. What are the type of relationships you can create using Relation types?
5. What is a Composed type?

Primary Keys 1. What information is encoded in primary keys?


2. Does the PK object return creation time when calling its getCreationTime()?

Enums and types 1. What are the two types of Enum in Hybris? (Ans: static(default), dynamic)
 What is the difference between these two types?
Extending Enums  Does dynamic enum model also get stored in DB?
2. Which directories contain the files generated for a static vs dynamic Enum?

Model new data 1. Which file in an extension contains the type definitions?
types 2. What is a runtime type vs Configuredtype?
Type System 3. Can each tenant have its own type system?
4. Is it required to run 'ant build' after creating a type? If so, is that step alone enough
for making it available in Hybris type system?
5. Which extension contains the generated model source files created by running ant
build?

items.xml 1. Do you need to stick with any specific order of elements while defining items.xml
for an extension? If so what is that?
2. Does every extension need an items.xml file?
3. Can you only sub-type a type within the same extension?
4. How can you add new attributes to a OOB Hybris Type, if needed?
5. What are the different ways to add attributes to an existing type?
6. What does the “autocreate” attribute do?
7. What does the “generate” attribute do?
8. Which attribute should be set to false if you do not want a getter in your Model class?
9. Which attribute should be set to false if you do not want a setter in your Model class?
10. How do you specify different column types for different databases for an attribute?

Specifying a 1. What is a GenericItem type?


deployment table for 2. How do you enforce that the developer is specifying a deployment when modifying
a type items.xml?
3. What happens when the deployment code for a type definition is not specified in
Items.xml?
4. Is specifying a typecode of 9500 for a new custom data type definition a problem?
Why?
5. What type of relations must have a deployment table specified?
6. What goes in the deployment table for those types of relations?

Configuring indices 1. How will you specify an item type's index?


2. If there is a composite index with 3 columns with modifier unique=true , does it
create any problems when a column is inserted with duplicate values?
3. Can you redefine an index in a subtype definition?
Extend existing data 1. What are the two ways to extend a data type and which one is recommended?
types including 2. What happens if you redeclare an attribute in the extending type definition and
localized attributes specify autocreate=true and generate=true?
and enumerations

<attribute> element 1. What is nullDecorator for an attribute definition in items.xml?


2. How do you specify default value for an attribute in items.xml?
Dynamic Attributes 3. When do you need to use dynamic attributes and how do you define them?

How to localize 1. For a new language in the system, how can you localize the name and description of
Hybris Items Hybris Types and attributes? Which file?
2. How do you localize an attribute value? Do you need a property file for the same?

FlexibleSearch 1. Is it possible to exclude just Super type or subtype when searching using
flexiblesearch? How?
SQL 2. Does Hybris use any table for storing localized type values? If so what is the naming
Commands/Keyword pattern of that table and do you need to create those tables?
reference 3. Which tool you can use to test Flexible search? (Ans: HAC)
4. Can you use temporary tables in a flexible search query select clause?
Advanced Flexible
Query samples

Using FlexibleSearch 1. How to disable caching of unique flexible search results?


API 2. What is the suggested way to use Date parameters when passing to the
FlexibleSearchQuery?
3. Can you do pagination in Hybris flexible search queries?

GenericSearch API 1. How it is different in usage from using the flexible search queries?
GenericDAO 2. What is the GenericDAO class and how would you make use of it?

Classification system 1. Which Hybris tool you can use define classification attributes? (Ans: Backoffice or
Using API HMC)
2. Are classification attributes better performing than the type system for attributes
Product Modeling definition?
3. Do you need to rebuild the system after a business user defines a classification
category?
4. Can you assign more than one classification system for the same product catalog?
1. If so, do the category features from each system aggregate for a product down
in the hierarchy?

Trails to Review questions


practice
New Data model 1. What classes are automatically generated for new entities and why?

Dynamic Model
Attributes

Populating the data


model
3. Platform Features
Exam Objectives
Here you can expect more detailed questions about impex, spring contexts and events.
In other words, you need to be able to explain how to:
 use events,
 advanced features of impex,
 spring contexts in Hybris Commerce and
 how cronjobs and cluster communication work.

Individual topics Review questions


Detailed knowledge on 1. Can you create and register an event listener using scripting?
how to use events 2. What are the other two ways of registering an event listener apart from scripting?
3. How can you publish events in local node (i.e not implementing
Scripts as Event listeners ClusterAwareEvent) but still make it async?
4. What data does an AfterSaveEvent POJO consist of?
AfterSaveEvents 5. In the case of events occurring within a successful commit transaction, will there
be one AfterSaveEvent after each db change operation or only one for all db
operations within that transaction?

Impex syntax 1. Will an UPDATE impex statement throw an error if it finds more than one data
record for the attributes which are marked 'unique=true' in the statement?
2. What does it mean to specify impex.legacy.mode=true in local.properties?
3. What is the behaviour when allownull=true is specified for an attribute in
impex statement and the service layer code doesn't allow null?
4. In the impex value line, how can you specify not to insert null into the column for
which no value is specified in that value line?
5. How do you specify the classification system attributes in the impex statement,
using abbreviations?
6. Explain what an Impex macro is and where it can be used.
7. How do you specify comments?

Impex API and advanced 1. What is the name of cronjob used for import from HMC?
customizations 2. When there are multiple impex files coming in from external sources and you don't
want to insert header in those files, what is the approach you would follow? (Ans:
header statement in an impex file on the Hybris side and import external impex as
an input via beanshell script)
3. What are the two impex import validation modes and which is default? Describe
the approach that impex resolves value lines?
4. Does specifying a header statement in export impex script have any effect? What
is the significance of the same, otherwise?
5. When do you need to extend AbstractValueTranslator vs
SpecialValueTranslator?
6. Which interface should be implemented to implement the decorator method to
write a CellDecorator?
7. When do you need to use translators vs decorators – which one is invoked first if
both are defined for an attribute?

8. By setting impex.legacy.scripting=true, will you be able to use


Javascript/Groovy as additional scripting languages apart from beanshell scripting
for impex?
9. Can you set user rights for a Hybris Type, Hybris attributes via impex?

Impex convention over 1. What path does the Impex engine look for by convention?
configuration 2. Is the path prefix essentialdata*/projectdata* case sensitive?
3. How can you override the local/filename pattern used by Impex by convention?
4. How can you control the loading order of impex files?

Distributed Impex 1. What is service layer direct and how can you globally enable it?
(persistence.legacy.mode)
ServiceLayer Direct 2. In a distributed impex process in a clustered environment, how many maximum
nodes are involved in the initial and final phases? (Ans: one)
Invoking distributed 3. To invoke Distributed Impex via API, which Service is required along with
mode impex via API ImportConfig object?
4. What are the flags of ImportConfig object that are specific only to Distributed
Invoking Distributed Impex mode and ignored in classic impex mode? (Ans:
mode impex from distributedImpexEnabled, distributedImpexProcessCode,
backoffice distributedImpexLogLevel, sldForData, nodeGroup)
5. Which hybris tools you have options to specify impex as distributed impex? (Ans:
Invoking distributed HAC, backoffice)
mode impex from HAC 6. What are the limitations of SLD?
7. Does SLD use the same caches that Jalo uses?

Multithreaded import 1. What is multithreaded impex import and what are the ways (i.e. tools, property
configurations) can you specify the number of threads for an impex process?
2. What are the limitations of multithreaded impex?

Hot folders 1. What 2 bean definitions are needed to import a file?


2. Can a single hotfolder be used to load multiple impex headers?
3. What kind of error reporting is available for hot folders?
4. Which OOB Converter bean would you extend to customize the impex header and
catalogversion used? (Ans:DefaultImpexConverter)

Impex FAQ 1. Is prepare model interceptor called after impex value translators?

Detailed knowledge on 1. Which context listener Hybris uses to link web application context with core
Spring contexts in Hybris application context?
commerce 2. If you have a bean in an extension's web application context, will that be available
for injection in another dependent extension's core context?
3. For an extension, if you have additional application context files to include where
do you add it? (project.properties,with the property
<extname>.application-context)
4. What is yrequest scope?
5. When do you use spring profiles and what is hybris recommendation in name
prefix for those profiles?

How Cron jobs work 1. What is AbstractJobPerformable?


2. How can you make a cronjob abortable?
Assigning to a group of 3. How can you specify a restriction query for a Job object to have limited scope of
nodes: access to items?
4. If a job didn't run on a scheduled time due to a downtime, which parameter allows
it to get the missed job trigger when the system comes online? (Ans:
maxacceptabledelay attribute of a Trigger object)
5. How can you specify a node or a group of nodes for a cron job execution?
6. How can you run a cron job via ant script?

Importing CronJob 1. When importing a Cronjob via impex, which two objects are enough to be
Instances Using ImpEx populated via impex? (Ans: CronJobModel or its child object model and
Trigger)

How cluster 1. When a product's description is modified on one node, does it communicate to
communications work other nodes in the cluster to invalidate the cache?
2. Do all members of the cluster use the same cache?

Configuring a messaging 1. What are the 3 messaging protocol options we have for cluster communication?
protocol for 2. Specifying cluster.broadcast.methods=udp in local.properties means
communication udp unicast or udp multicast?
2. Where can you see a list of all the nodes in a cluster within HAC?

Cluster-Node 3. What is the alternative new feature/property in Hybris 6.0 to overcome the
Autodiscovery limitations of cluster.MaxID property?

Rolling Update on the 1. What is the process to perform a rolling update of the system in a clustered
Cluster environment?

Unit/Integration tests 1. Which class you would extend to enable rollback of DB changes after the
Integration test is complete? (Ans: ServicelayerTransactionalTest)

Trails to practice Review questions


CronJobs 1. Can you trigger a cron job via Impex?

Cronjobs and scripting Which Job class you will associate with a CronJob instance in the impex
statement below for running a groovy script based cron job? (Ans:
ScriptingJob)

INSERT_UPDATE CronJob;
code[unique=true];job(code);sessionLanguage(isocode)

Events
Hot folders

Testing the DAO

Testing the service layer

Testing the Façade layer

Import products and


orders
4. PCM Basics and Price Modelling
Exam Objectives
You need to be able to explain price calculation and it's retrieval logic, media objects handling, and configure
synchronization jobs; create a workflow.

Individual Review questions


topics
Europe1 Price 1. Which Manager class (PriceManager, OrderManager, PDTManager) can you use to get
Factory- Price an instance of default pricefactory? (Ans: OrderManager)
Retrieval logic 2. How can you create specific prices for users of a geography using price rows? (Ans: using
user group)
3. After the Europe1PriceFactory retrieves and sorts price rows, which combination of the
following two takes precedence-Prices for the combination of current Product and
CustomerGroup, Prices for the combination of Customer and Product group?
4. If there are 2 tax rows present for a given product, will the order entry for that product
contains one entry with both the taxes added or as two tax entries?

Creating channel 1. Which strategy can be overridden to allow for customized channel retrieval logic? (Ans:
specific prices DefaultRetrieveChannelStrategy)

Decoupling PDT 1. How can you decouple PriceRow from the Product so that it is not specific to a catalog
rows from Product version?

Medias Overview 2. Using which Object you can enable association of more than one media file with a Media
item? (Ans: DerivedMedia)
1. How can enable an item to have localized images?
3. Which Spring beean will you use to get the URL associated with Media item(ans:
MediaService bean )?
2. For a given Media item instance, will there be individual Media files, one each for staged
and online version?
4. Which Media related class is used to hold a target MediaFormat for a given Media
item? (Ans: MediaContainer)

Storing Media Files 1. Are media folders created for each tenant under hybris/data directory?
(MediaFolder) 2. Which cron job is used for moving media between folders?

Secure Media 1. Which Spring service is used to check media permissions?


Access

Local File Caching 5. As Media items in both stage and online catalog versions refer to the same Media file,
when a Media file is overwritten by an update in Stage catalog, how Hybris makes sure
that the online catalog version doesn’t accidently show the overridden new file until
synchronization?

Catalog and 1. Only one catalog version can be active within a catalog: true or false?
Catalog Versions 2. While syncing a catalog version to a target version, can you choose specific languages of
products attributed to be synced?
Synchronization of 3. After making a type to be catalog aware, what are the two strategies that we can use to
Categories in CV make sure that it gets synced with the target catalog version?

Synchronization of
Custom Item
types

Synchronization 1. If the sync using timestamp flag is false:


Statuses 'catalog.synchronization.initialinit.check.timestamps=false', how
will the system evaluate whether a sync is required?

Multi-threaded 1. Can you specify multithreaded sync process via HMC?


catalog
synchronization

Workflow 1. If you want to design a process to handle customer complaints, will you use the process
Overview engine, task engine or workflow?
2. What workflow objects does a workflow template hold reference to? (Ans:
WorkflowAction template, Option)
3. How can you create a workflow from workflow template? (Ans: Using HMC, impex or
via ActivationScript which listens to item saved or removed events)
4. Workflow Actions are connected via decisions or options?
5. WorkflowActionTemplateLinkTemplateRelation is used for connecting
workflow Action with what?
6. AutomatedWorkFlowTemplateJob bean is extended for creating
AutomatedWorkflow actions; Which bean is extended for manual workflow actions?
(Ans: nothing, since they are created as instances of WorkFlowActionTemplate model)

Trails to practice Review questions


Media conversion What are the steps involved in a conversion of Media from one format to other?

Workflow Trail 1. What the difference is between an automated workflow action and a manual
workflow action?
2. How is a workflow started?

5. User Management
Exam Objectives
You need to be able to configure user rights, search restrictions, to switch user context in a given code and
explain B2B organization hierarchy.

Individual Review questions


topics
Users in 1. What is the base type that all Users and UserGroups extend from?
Hybris:Overvi 2. It is ok to have the same UID attribute value for an employee of group storeemployeegroup
ew and for another employee of group onlinestoreemployeegroup - true or false?
3. Can a customer be a member of more than one group such as a PriceGroup, and a
DiscountGroup?
4. Name the two special users that are critical for the internal processes of the Hybris
Commerce Suite. The Hybris Commerce Suite blocks all attempts of removing or renaming
these two special user accounts.

Managing 1. Which service is used to create a new User? UserService or ModelService?


Users and 2. What is the OOB option available for customizing the generation of the customer_id field of
UserGroups in Customer object?
Hybris 3. Which user group cannot be removed from the system?
4. Hybris Security system is based on? (Ans: Restrictions and Access Rights)

Access rights 1. After defining access rights for a user group and a type, it is automatically applied
whenever the specific user accesses the type- true or false?
Managing and 2. How can you assign or create permissions/access rights for a principal? (Ans: Using the
checking Permissions Services API, or by the using the ImpEx)
Access rights 3. What are the 4 OOB access permission stages available?
4. If a user has a CREATE access but no CHANGE access to an object, the user can still set
attributes for that object once the object is created by him- true or false?
5. What are the 4 permission scopes that Hybris defines and which one has the lowest
priority among them?
6. Defining which permission scope level for a type and user has highest performance
impact?
7. If a principal inherits permissions from two Groups and if one group grants a permission
while an another one denies permission, the user is still granted permission for that object
as at least one group grants permission- true or false?
8. If all user groups are denied permission, then admingroup user will also be denied
permission for that object- true or false?
9. The below impex provides read/change/create/delete permission to which object and
which group?
$START_USERRIGHTS
Type;UID;MemberOfGroups;Password;Target;read;change;create;remove
;change_perm
UserGroup;cuppyadmins;;;;;;;;
;;;;Stadium;+;+;+;+;-
$END_USERRIGHTS
9. Does the impex statement approach (like above) to create permissions support using non
legacy permission levels like a new custom permission e.g 'A-PERMISSION'? (Ans: No)
10. Using PermissionManagementService, we can associate PermissionAssignment
objects with type, items, attributes and users; PermissionAssignment is a combination
of Principal, Permission and object but in the case of GlobalPermission it is only a
combination of two-what are they?
11. Which method of PermissionManagementService is used to add item permissions?
12. Out of the 4 PermissionCheckValue constants, which of the following means that
PermissionCheckingService.isGranted() =false? ALLOWED, DENIED,
NOT_DEFINED, CONFLICTING
13. If no permissions are defined for a type, can a HMC user access that object as he/she is an
internal user? (Ans:no)
14. Is there a way to query the effective permissions on an object inherited from type and
user group hierarchy? (Ans: No)
Switch user 15. How will you switch a user in context temporarily? (Using
context in userService.setCurrentUser() within sessionService.executeinLocalView()
given code method)

Restrictions 1. Does restriction apply only to the specified type or its subtype as well?
2. Does restriction apply only to the members of the specified user group
1. Which user context is used while a search restriction is run to validate the principal
set in the restriction (ans: current user in session)?
3. Do you need to explicitly invoke a search restriction?
4. Can you have restriction apply to external search engine like Lucene search results?
5. How can you apply restrictions to a cron job?
6. What are the different ways to create restrictions?
7. How can you disable all restrictions?
8. Does search restriction apply to members of admin group?

Explain B2B 1. Who can assign the credit limits for a B2B Org? B2B Admin user or B2B site Merchant?
Organization 2. If there are two end units within a B2BOrg, is it possible to create a user group for specifying
hierarchy order limits that is common to users of both the units?
3. How can you assign permissions to multiple customers without adhering to the hierarchical
structure of the organization? (Ans:Using Usergroups)
4. What are the different types of OOB permissions that can be assigned to units? (Per Order,
Per Timespan, Budget Exceeded Permission)
5. Which add-on extends a target storefront to Organization Management B2B specific
functionality? (Ans:commerceorgaddon)

Trails to practice

B2B Org trail

6. Order Management
Exam Objectives
You need to be able to create and start a business process; explain the fulfillment process and its sub-processes,
shopping cart handling including various checkout scenarios, and identify features available in Assisted Service
Module and available Customer Service operations.

Individual topics Review questions


Shopping Cart handling 1. Base price belongs to which object - AbstractOrder or AbstractOrderEntry?
2. What does the usage of the setting
default.session.cart.type=InMemoryCart mean?
Technical discussion of 3. Is it necessary to call CalculateService.recalculate if an entry from the cart
Steps involved in is removed?
4. What does the setting net=true on a Cart object do?
typical Ordering 5. Which one of the following does the conversion of net to gross or gross to net prices
process in a Cart- OrderService, PricingService or PriceFactory?
6. Once an order is placed what is the implication of not calling the
CartService.removeSessionCart() before the next order is created?

Using Templates to 1. By specifying Product as the type for the property


Define Info Texts for “orderentry.infofield.${typecode} = My info text”, can you provide an
OrderEntries attribute of type Car (which is defined as a subtype of Product) for the placeholder
value of the info text?

Hybris process engine 1. Is Hybris process engine asynchronous or synchronous in nature?


7. If you don't need both the OK/NOK transition and just need only the OK transition,
which interface would you extend-AbstractProceduralAction,
AbstractSimpleDecisionAction?
2. How do you start a process/subprocess of Hybris Process engine from within the
javacode?
3. How do you define the process definition - as a spring bean property or in a separate
process definition XML?
4. Which node you would use to transition based on a user input - ActionNode or
Customizing Order
WaitNode?
Management Process
5. Can you specify a script within an Action node in the process XML?
engine
6. Where is the code for OrderProcess defined- basestore or CMSSite?

Using HMC to create 1. When you update a process definition that is already running, will it take effect
dynamic Process immediately on the current running process?
engine

Order Management 1. OrderProcess workflow and consignment workflow is now managed via the
extension via which extension? (Ans: yacceleratorordermanagement)
Order Management
Module

Order management 1. Resourcing a customer order which is partially fulfillable is done via which
New features in 6.0 perspective in the backoffice?
2. Which following are all features of customer service perspective in backoffice?
Partial cancellation, Refund of an amount different than the order total, Creation of
RMA, Accepting a store return (Ans:all of the above)
3. What are the features that are not part of order management perspective in
backoffice?
Accepting/rejecting goods during order fulfillment, auto allocation or manual
allocation of goods while sourcing, accepting an online return (ans: accepting an
online return as that is part of CS perspective)?
4. Which extensions are used for exposing OCC REST services of returns and stock
functionality? (Ans: OrderManagementWebServices and
WarehouseWebServices extensions respectively)
5. REST services with /pointofservices fall under which extension(ans:
WarehouseWebServices)

Steps in Order 1. In the fulfillment process workflow, is the customer charged for the order after it is
Fulfillment Process sourced or before it sourced?
2. What would be the order status if it is considered to be fraudulent?
Steps in Order
Consignment Process

Configurable checkout 1. Is the checkoutFlowGroup configured as a part of the BaseStore or CMSSite?


2. If you want to introduce a child checkoutstep, validateOnExit() method of
which class will you override to customize? (Ans: Validator)

Express Checkout flow 1. For which object you can specify the attribute of 'expressCheckoutEnabled'
in items.xml?
2. Express checkout is not shown for guest customers. Which spring security access
expression is used to ensure this in JSP?

Guest checkout flow 1. For every Guest Checkout, the system generates a unique temporary account, and
maps it to the session cart-true or false?
2. The checkout facades use which Strategy bean to determine the current user to
map the address and payment information?
3. What removes any information about the checkout if the guest user deviates from
the checkout or abandons the checkout?

Extending Order 1. How can you specify the order number generation format? (using
framework PersistentKeyGenerator and its keygen property values via
local.properties)
2. What is the other ways to extend the order framework besides extending services
and strategies (Refer to : DAOs and interceptors)?

Order Scheduling and Which service you would use to create scheduled orders?
Replenishment (Ans:ScheduleOrderService)
What are the methods defined in the ScheduleOrderService?

Order splitting 1. What are the OOB strategies available OOB for order splitting?
What are the two methods that you can override on the SplittingStrategy
implementation?
2. Which Abstract class can be extended to make your own splitting strategy?

Fraud detection 1. Hybris offers a fraud detection framework OOB. What key approach that this
framework is based on to detect fraudulent orders?
2. Is fraud detection process a part of the automated order fulfillment workflow?

Order Cancellation OrderCancelService is realized as part of which extension (ans: basecommerce


extension)
OrderCancelService- 1. What are the different order states that a shop owner may allow order
Technical Description cancellation?
2. Order Cancel Service is defined by two interfaces. What are they?
3. Steps involved in defining order cancellation?
4. What are the OOB OrderCancelStates that OrderCancelService logic is
based upon?
5. DefaultOrderCancelService is based on a list of which strategy instances to
determine if the order is cancellable? (OrderCancelDenialStrategy instances)

Describe Features in 1. ASM comes bundled with platform and doesn't need to be installed as a separate
ASM extension -true or false?
2. Using ASM, a CSR can create an account, true or false?
3. ASM support currently registered user accounts only for assistance and doesn't
support anonymous carts (true or false)?
6. Which interface or strategy allows you to modify the redirection behavior? (Ans:
AssistedServiceRedirectStrategy)
7. The feature that facilitates the assisted service agent to start the emulation by
performing a search by cartID or orderID can be turned off by specifying which
property in the project.properties file?
(Ans:assistedservicefacades.emulateOrder=false)

Channel 1. The Hybris mobile module supports barcode and NFC. True or False?
2. The Instore Module application enables store associates to place order? (True or
false)

Trails to practice

Order Management Trail

Customizing order This is based on old yacceleratorfulfillmentprocess extension and is now part of
fulfillment process yacceleratorordermanagement. The concepts can still be used to understand the
customizations possible.

Customizing checkout
flow

Enable Order Cancellation

7. Search and Navigation


Exam Objectives
In these topics you will be asked questions about Solr and Hybris.
Create new Solr index, facet, facet range, and explain Solr topology; configure autosuggestion, keywords,
stopwords, synonyms, hero products and boost rules.

Individual topics Review questions


Solrserver extension 1. Enabling this extension is done usually for which environment (Dev or
prod)?
2. In which file, will you configure the port/config directories, etc, for each
solr instance?
SolrfacetSearch Extension 1. How will you disable write access to solr indexes and in which config file?
2. Is it recommended to run the solr server as a root user or with
SolrFacetSearch - administrative privileges?
Configuration Guide 3. Is it recommended to run the solr in embedded format in the production
environment?
4. How can you define individual configuration files for each index?
5. Which XML file configures the solr instance in a configset directory?
(Ans: solrconfig.xml)?
6. Which XML file defines the structure of the index including the fields and
field types? (Ans:schema.xml)
7. Is there a separate cache region defined to cache the
Indexing process
facetsearchconfig objects?
8. The entire facetsearchconfig region is invalidated when any type
related to the facetsearchconfig region is changed. True or False?
9. What are the two different ways to trigger the indexing process?
10.What are different cron jon types available to start the indexing process?
Solr replication 1. What is a usage of master vs slave solr servers in a typical setup?
mechanism(Topology) 2. What is the OSI protocol slave solr server uses to check the master solr
server index to initiate replication?
3. In a Master-slave environment, what happens if the master server is
down when a search query is issued?
4. Can you enable multi-core mode in Hybris? If so how?

Understanding the Indexing 1. Which indexing type, you would use to update only selective fields?
process 2. What are the two possible indexing mode when performing Full index?
3. Can you use PARTIAL_UPDATE index type on attributes used for spell
Updating Solr Index checking/suggestions?
4. Which cronjob(SolrIndexerCronJob or SolrExtIndexerCronJob ) doesn't
support Full index type?
5. Which service class you can use to start the indexing process?
6. How can you enable the indexing process to continue even after some
errors have occurred during index process?
7. When using IndexerService, the only methods that receive the
indexed properties as parameter, are the ones used for the
PARTIAL_UPDATE operation. True or False?
Creating solr index via 1. Which object defines the default search results count?
IMPEX (Ans:SolrSearchConfig)
2. In which object type you specify the catalogversions to index and the
Solr Impex indexedtypes?(Ans:solrFacetSearchConfig)
3. Is the solrFacetSearchConfig associated to CMSSite or BaseStore object?
Creating new SOLR facet 1. Which attribute of SolrIndexedProperty facilitates to flag whether an
and facet range attribute is a facet or not?
2. Which attribute of SolrIndexedProperty can be used to specify if a
property is multivalued or not?
3. Can facet indexed property be multivalue or used in spell check or auto
complete?
4. What are the steps involved in creating a ranged facet?
5. How to search on a rating in a system? (ans: Add Custom Properties to
the SOLR index)
Search+and+Navigation in 1. Is it possible to programmatically filter the products returned from the
Accelerator Solr search?
2. When do you need to use FacetValueDisplayNameProvider?
Executing Search: Using
Search Strategies
3. What is the alternative to postQueryProcessors when using the default
search strategy -DefaultFacetSearchStrategy?
4. Can the free-text search query be matched against the classification
feature?
5. Can the solr product results be sorted programmatically?
6. The user’s search is a stateful one and the datamodel is designed to
ensure that the states are held by the client to optimize the
performance. True or False?
7. What are the two OOB free-text query builders available?

Configure autosuggestion 1. How can you configure the number of seconds before which the search
controller is checked for autosuggestions?
Refer Managing Solr Search
configuration

Configure Keyword 1. Can you define a keyword redirect to external page?


Redirections-Refer
Managing Solr Search
configuration

Configure stopwords 1. Once stopwords are defined/updated via HMC/backoffice, do you need
Also refer Managing Solr to export this to the slave server as well, apart from Master server?
Search configuration

Managing synonyms-refer 1. Can you create synonyms for each language in the system?
Managing Solr Search 2. Do you need to export the updated synonyms to the solr server after it
configuration is updated or is it automatically pickedup by the next indexing
operation?
Solr Indexing Configuration 1. What are the 4 different commit modes in the Solr Indexing
Managing Solr Search configuration?
configuration

Hero Products/Configure 1. By default, which one take priority in the search results- boost rules or
hero products hero products?
2. Which one of the following is supported by hero products feature-
Refer Managing Solr Search category or keyword search? (Ans: Category)
configuration 3. To guarantee Hero products appear in the expected order, the usual
relevancy scoring that uses TF-IDF is deactivated for the product code
which is kept in the code_string field in the Hybris Solr schema -True
or False?
Configure boost rules 1) In current implementation of Hybris, is boosting done during query
time or index time?
2) What is the default boosting strategy is used?
3) True or false, indexed properties can have only one boost rule
associated to it?
4) True or false, the sum of the different boost rules should not exceed
5000 in order to maintain the order of Hero products correctly in the
search results?
Search profiles 1. Currently what are the two type of search profiles that are supported?
2. What is the name of the strategy which determines the search profile is
applied to you catalog search?

Trails to practice

Customize product list page:

8. Commerce Accelerator

Exam Objectives
You have to be able to create, modify, extend, configure or simply use the following elements:
AddOns, OCC webservices, new promotions, fulfillment process, CMS Components, Accelerator based
storefront, product converters, payment commands.

Individual topics Review questions


Architecture of 1. Which paymentservice provider is supported OOB by Hybris via an
commerce accelerator extension?
2. What search engine's sitemap is supported OOB?
3. What are the two types of payment flows provided OOB?

4. Which context listener that Hybris provides for associating the global
application context of the platform as the parent for the application
context?
Storefront 5. Name the filters in the filter chain that are associated to BTG functionality?
deconstructed 6. Which filter validates the previewticket parameter from WCMS?
7. Name a couple of mandatory filters that are required in the storefrontfilter
chain?
8. When using <spring:theme> tag, which of the property files are lookedup in
order? (ans: Site-{contentcatalogname}.properties, theme-
blue.properties(the site's theme ), base.properties.)
9. Does Hybris provide an OOB Accelerator storefront for Insurance domain?
10. How can you put the Google API Key into the request(ans:
GoogleAPIKeyInterceptor)
11. Hybris uses which google project to compress CSS/JS(ans: Google granule)
and can this be customized per site and UI experience?
12. Under web/webroot/WEB-INF/views/, which folder contains the CMS
front-end template JSPs? (Ans: pages)
Installation in Dev 1. Running installer with a recipe after previous installation of recipe doesn't
environment: uninstall old recipe-true or false?
2. What version of servlet compliance container is required in the server for
Using Installer Script running Hybris (ans: 2.5)
3. When starting Hybris platform on an external tomcat server, if catalina-jmx-
remote.jar and tomcat-juli-adapters.jar are not present int eh tomcat/lib
folder, what error you get during startup? (Ans:
ClassNotFoundException for JmxRemoteLifecycleListener)
Setting the 4. Without a CMSSite instance defined for a given site, when the storefront of
webapplication of an that site is accessed, what is the user behavior? (Ans: gives a 500 error)
extension 5. Which file you would configure to set an extension as the default web
application?
Configuration 6. What are configuration templates?
templates 2. If there are multiple configuration templates, which environment
variable is set to get the platform run with the specific configuration?
(ans: HYBRIS_CONFIG_DIR)
Configuring required 1. What is the use of specifying ‘<path dir="${HYBRIS_BIN_DIR}>’ within the
extensions for build localextensions.xml
2. The following ant script generates localextensions-generated.xml with the
specified extensions included in the build-true or false?
ant extensionsxml -Dplatform.extensions=" *,-
yb2bacceleratorfacades ,-yb2bacceleratortest, -
yb2bacceleratorstorefront,-b2bacceleratorfacades"

Running the Hybris 1. Which ant target is used to build deployment files for production and what
system are the files produced using that ant target?
2. A Patch release in Hybris means a minor release to fix the issues found in
Patch release the previous release- True or false?
Project tips and pitfalls
3. How much minimum physical RAM is required for Hybris installation in
prod?
4. Which setting in local.properties should be made to prevent accidental
system initialization via HAC?(ans:
system.unlocking.disabled=true)
5. What are the allowed property key values for the key
‘europe1.price.accuracy’ for setting the desired level of
accuracy of prices in the europe1 price factory?
6. With Hybris default configuration of the tanuki wrapper wrapper.conf
for version 4.40 or higher, the OutOfMemoryError trigger is disabled-
true or false?

Converters and 1. What is the purpose of facades and how do they function?
populators
2. What are data objects in commerce facades and How do you generate data
CommerceFacades objects?
extension 3. What is a converter and what is a populator?
4. How do converters and populators operate on facade data objects?
(commerceFacades Extension -- Technical Guide)
5. How do converters and populators differ?
6. What is a Configuredpopulator and which bean you can use to modify
an existing configured populator? (Ans:
configurablePopulatorModification)
7. Does CommerceService use CommerceFacade to expose hybris service or
the other way around?
8. DTO can only have attributes added by subclassing? (commerceFacades
Extension -- Technical Guide)
Commerce Services 9. What is the use of DTO? Frontend or servicelayer? (commerceFacades
Extension -- Technical Guide)

10. The StoreFinderService replaces StoreLocatorService- true or false? ( Take a


glance through the OOB services provided OOB)

11. What is the usage of ListMerge directive?


SEO URLs
12. Which class (bean) should be extended to customize the URL generation of
product data URLs for SEO purposes?
Deeplinking
13. What is deeplinking?
Previewing Storefront
in the Live Edit
Perspective 14. What param in the request to URL /storetemplate/previewservlet is
required by CMSSiteFilter to determine if the request is a preview request?
(ans: cmsTicketId)

15. Which object is required is retrieved from the cmsTicketId to retrieve the
preview parameters set in the Live Edit perspective?
Add ons 1. What is the typical usage of Addons? Within an Addon, can you extend a
DTO that is present outside the Addon extension?
2. Can you define a CMS controller within an Addon?(e.g Yes!)
3. After running addoninstall ant target, where does the java source files
and JSP files end up in the target extension?
4. Which CMS component controller/renderer are used instead of referencing
the base classes of CMS controllers that are b2c/b2b
specific(AbstractCMSAddonComponentController,
DefaultAddonCMSComponentRenderer)
Promotions 1. Does the new promotion engine provide stackable promotion feature?
2. Which admin tool has the new Rulebuilder interface to manage the new
promotions(ans:Backoffice)
3. Which perspective in RuleBuilder is used to create PromotionTemplates-
Marketing manager or the Rule builder admin perpective? (Ans: Rule builder
Architecture admin perspective)
4. Which 3rd party rules engine that Hybris’ new promotion engine is based
upon? (ans: Drools API)
5. Custom Strategy implementation for Actions are done in which layer-
Extensions and Addons PromotionEngine layer or Commerce Rule engine layer or Drools Rule
engine layer? (ans: Promotion Engine layer)
Rule Aware objects 6. What are the extensions that are related to the new Promotion Engine?

Sequence diagram
7. What are RAOs, RAO providers and Action RAOs?

Promotion rules 8. Explain the usage of ActionRAOs and how they affect Hybris model objects
in the Promotion Evaluation sequence?

9. Among these which promotion template is used to provide free shipping-


Promotion Engine Vs Order threshold percentage discount on cart, Order threshold fixed
Promotion discount on cart, Order threshold change delivery method? (ans: Order
Module(Legacy) threshold change delivery method)

10. Which promotions are only offered OOB in the Promotion engine and not
Promotion messages available in the Promotion Module (Ans: Product fixed discount, Order
threshold percentage discount on products, product perfect partner
percentage discount, customer specific percentage discount)?

11. Does current implementation of Promotion Engine support both Fired and
Could have fired messages? (Answer: only the former)
Vouchers 1. How can you prevent vouchers from being activated under specific
Voucher types conditions (Ans: Voucher restrictions)?
2. What are the two types of Vouchers and how they differ?
3. Can you give free shipping with both the Voucher types?
4. Which backoffice tools support creation of Vouchers?(Ans:
Technical details
HMC/Backoffice)
1. Which class contains method to manager Voucher codes such as
generating the codes, redeeming and releasing(Ans: Voucher class)
Voucher restriction 5. Can you enter more than 3 characters for the Voucher code in
types HMC/backoffice?
6. What are the various ways of restricting the Voucher redemption?
Payment integration 1. What are the Implementing Commands? (Payment Integration Overview)
overview 2. What does AuthorizationCommand do? Verify credit card, hold amount?
3. What do capture and refund do?
Payment module 4. Can there be more refund than original capture?
5. What does the payment module provide?
Payment Extension
6. What Payment Service Provider is included in hybris? What does Payment
Service Provider Adapter do? Track transactions, execute transactions?
7. How to you specify the PCI strategy as SOP or HOP? ( Ans: using
site.pci.strategy property)

OCC Webservices, 1. What is the usage of OCC?


Architecture, 2. What are the extensions that OCC is based on?
ycommercewebservices 3. Which template extension is used to create a OCC addon extension?
extension 4. Can you use OCC to create new catalog version or add a product to Hybris
product Catalog?
2. What authentication methodology does OCC use for authorization and
roles access? (Ans: OAUTH2)
5. What are the OAUTH roles that OCC uses(Ans: ROLE_ANONYMOUS,
OCC Calls security ROLE_CLIENT,
ROLE_CUSTOMERGROUP,ROLE_TRUSTED_CLIENT,ROLE_GUEST)
6. What role is used to associate requests from client application like mobile
app? (Ans: ROLE_CLIENT)
7. Is version 2 of OCC services stateful?
V1 and v2 in 3. Which data mapper framework OCC uses to populate the data from
ycommercewebservices
commerce layer to WsDTO?(Ans: Orika – java bean data mapper
Customization
framework)
scenarios
4. What library is used to perform automatic serialization of returned object
from service layer to XML or JSON?(ans: XStream library)
5. Which custom spring mapping is used to rename the attributes of the
serialized objects using given alias? (ans: FieldAliasMapping)

Trails to practice Review questions


Promotion Engine Trail 1) What is RuleConditionDefintion and RuleConditionAction?

9. WCMS
Exam Objectives
In this topic area you have to prove that you can explain the CMS items hierarchy, configure the data
model of base store, website, warehouse, Point of Sale and their relations; create new and configure
existing CMS restrictions, explain their evaluation, and new CMS component types.

Individual topics Review questions


WCMS module overview 1. Which extension provides the WCMS cockpit? (Ans: CMSCockpit)
Working with WCMS 1. What are the four perspectives within the WCMS?
cockpit 2. Which perspective allows to create, edit or remove navigation nodes?
Live Edit with 2. Can you have the yacceleratorcockpits extension and
yacceleratorcockpit extn liveeditaddon extension installed at the same time?
3. Can you create new content catalogs for existing websites in the WCMS
cockpit?
liveeditaddon
4. What are the supported channels for the Liveeditaddon?
cms2 data model 3. Classification catalog is associated with BaseStore or CMSSite?
overview 4. A CMS site can be assigned to one or more base stores. True or False?
5. All the CMS types should extend from which interfaces/type? (Ans:
CMSItem)
6. Can you associate one CMSAction with multiple CMS components?
7. What are the different types of restrictions that can be used to
determine the visibility of CMS Components?
8. Which CMSComponent type doesn’t require a separate controller or
renderer for its instances? (Ans: JSPIncludeComponent except in
Addons)
9. The RestrictionTypes can be added by hmc or impex scripts. True or
False?

cmscockpitextension 10. What are the three levels of customizations that the
cmscockpitextension offers?

cms2lib 1) The cms2lib extension provides which components?

Advanced Personalization 1) Which extensions are required for advanced personalization?


2) Which filter is required for process the segment and their rules? ( Ans:
BTGSegmentFilter)
3) By default, all the rule evaluation results are invalidated evertime the
above filter is executed- True of false? (Ans: true)
4) What are the available customer segment rules?

Also refer trails below for coverage of other topics from exam objectives

Trails to practice Review questions


Creating new CMS 1. Does a custom JSPIncludeComponent when created in Addon need a
Components renderer or controller to be mapped to?
2. How will you install an addon using ant?
Adding themes to a 1. What is a theme and why it is used for?
website 2. Can you have a theme specific for desktop or mobile experiences?
3. Is theme for a given storefront associated to BaseStore or CMSSite object?
Configure the store Refer to this to take a glance at the impex scripts to understand the data
with POS and model of different objects
warehouses for Instore 4. What is pickupinstoreMode used to configure Buy online pickup instore
Pickup option?
5. Stocklevels are configured for products via which object- Product,
Warehouse, stocklevel ,stocklevelforproduct? (Ans: stocklevel and
associating stocklevels with product object)
Personalizing content
of the shop

Creating a new 6. Which Config object is updated when a custom operand needs to be
operand for CMS added? (Ans: BTGConfig)
Segment rule

10. Back office and Cockpit modifications


Exam Objectives

You need to be able to create a new backoffice application and its widgets using the Next Generation
Cockpit Framework, and introduce legacy cockpits modifications into the hybris Accelerator. In other
words: Expect questions from both: "old" cockpit framework and the new Next Generation Cockpit
Framework. You have to be able to extend (modify) both.

Individual Review questions


topics
Cockpit 1. The hybris cockpit framework’s security infrastructure is also based on spring security.
Framework True or False?
Overview 2. Which RIA framework does the cockpit framework is built upon?
3. Does mcc allow display of links visible only to specific user/user groups?
Mcc
4. What are the attributes of static vs dynamic links and what is a divider?
extension

5. SSO in SAP Hybris commerce is based on cookies -true or false?

SSO in Hybris 6. Which cookie is created by default when SSO is enabled in Cockpits? (Ans:
cockpits LoginToken)

7. What are the different cockpits available in Hybris?

8. What is TypeService and name some of it key methods?


Cockpit
9. What is ExtensibleTypeService used for?
extension
10. What are ObjectTemplates ?

Type Service 11. How can you add a new item template to use in cockpit?

Adding a new
Item 12. What are the two ways UI configuration XML files can be imported?
template 13. What is difference between the new and old approach for importing XML files by
(assigned to convention?
existing 14. The contextID in the name of the config files are validated by which mapping in
types) to the cockpit-config.xml?
system
15. How can you manually import Cockpit configuration via Impex?
Importing
Cockpit
configuration

Configuration
of Cockpit UI 16. To give different UI setup to different UI roles, which object is used? (ans:
UIComponentConfiguration)
17. Which factory bean is used to create actual configuration object instances from JAXB
objects created? (ans: UIComponentConfigurationFactory)
Storing UI 18. CockpitUIComponentConfiguration type is made of which attributes?
Config 19. How can you turn off storing the UI config changes made?
changes 20. How will you reset personalized UI configuration changes?

21. What components within Type Selector are displayed in Admin perspective within
Customizing
product cockpit?
the admin
perspective 22. How can you customize the types to be displayed within the type selector mentioned
above?
23. How do you enable admin perspective within a given cockpit via UICockpitSession
bean?

Restricting a
cockpit 24. How can you restrict access/visibility to a particular perspective?
perspective
to certain
users

Configuring
the info box 25. What is the usage of Info box in cockpit navigation area?
in navigation 26. Update of comments/tasks in the default implementation is done via two types of
area PushContainers- what are they?

yCockpit 27. What can you do with ycockpit template?


Template 28. Can a perspective from an OOB cockpit be reused in a custom cockpit?
Extension
NG Cockpit 1. What is the main difference between Cockpit framework and NGCockpit framework?
framework 2. Which ZK version is used in 6.0 for NG framework?
Architecture 3. Which xml is used to define a widget and which folder contains this XML in a custom
Backoffice extension?
4. Sockets, controller and settings are part of <Widget-definition> in
UI
Configuration
definition.xml- true or false?
overview 5. What is a widget context and which xml is used to construct this context?
6. Which annotation is used to access a bean defined within the widget context?

7. Sockets are used to communicate between widgets- True or false?


Widget 8. Which XML contain socket definitions for widgets?
Context 9. Widgets communicate with each other via Events-True or false?
10. A Widget’s view definition is done which type of file? Can a widget have children
defined in the view file?
11. How can you identify the widget’s view name from a <widget-definition> tag?
Passing data
between
12. Where does the widget controller source files are placed? (Ans:
widgets <extensionname>\backoffice\src)
NGCockpit- 13. What are editors and actions?
Technical 14. What is widgets.xml used for?
guide 15. Describe the structure/content of folders within a custom Backoffice application?

Testing a
16. Which Abstract test class you use to create unit test for custom widget? (Ans:
widget
AbstractWidgetUnitTest)
Structure of
Custom 17. Which template extension is used to create a custom Backoffice application?
backoffice
application 18. What is cockpit-config.xml and how can you access it via the Backoffice application?
19. The order of loading of UI configuration XML files in this framework is in the listed
order- True or false?
a. cockpit-config.xml:
b. <customextension>/resources/<customextension>-
backoffice-config.xml.
c. <customextension>/backoffice/resources/widgets/<customw
idge>/cockpit-config.xml

20. What is the difference in two ‘merge-by’ attribute values in <context> element within
the <customextension>-backofficecockpit-config.xml?
Configurable
wizard 21. Can you design a UI wizard via XML? If so which XML? (Ans: cockpit-config.xml)
NG Cockpit
permissions 22. What are the four permission levels within the NG Cockpit framework?
Business 23. What are AuthorityGroups and which tool allows creation of the same? Can the
roles in user choose more than one Authority group upon login into Backoffice?
backoffice
24. How do you define dynamic forms in editor area and wizards?

25. What is the attribute modelProperty used for within the <dynamicform>
Dynamic element?
forms
26. Which XML will contain the dynamic forms defined? Can you define scripting within a
dynamic form definition?
27. What happens when a dynamicform containing cyclic dependencies between the
rules is loaded by framework?
28. How do you define a dynamic wizard?

Trails to practice Review questions


Cockpit framework 1. What is the folder naming convention for storing UI config files?
Basics

Creating a new 2. A perspective in the hybris Cockpit Framework can be treated as an overall
perspective within view that holds which four areas?
cockpit framework 3. If you need to reuse an existing cockpit perspective, for example, the
hybris Product Cockpit, you should follow which three steps
Customizing the
Backoffice-NG Cockpit

Creating a widget

Passing data between


widgets and
Orchestrating
backoffice application

Das könnte Ihnen auch gefallen