Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
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)
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?
Transports used for What are the two transport types discussed and the messaging mechanism used in
cluster communication Hybris?
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?
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?
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?
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?
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.
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?
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
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?
Dynamic Model
Attributes
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?
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?
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?
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)
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
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?
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
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)
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.
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
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.
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
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?
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
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
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 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
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.
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)
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?
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)
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.
cmscockpitextension 10. What are the three levels of customizations that the
cmscockpitextension offers?
Also refer trails below for coverage of other topics from exam objectives
Creating a new 6. Which Config object is updated when a custom operand needs to be
operand for CMS added? (Ans: BTGConfig)
Segment rule
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.
SSO in Hybris 6. Which cookie is created by default when SSO is enabled in Cockpits? (Ans:
cockpits LoginToken)
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?
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?
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