Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.



No description

Eka Heksanov Lie

on 9 November 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of ystorefront

[y] StoreFront StoreFront action-based web MVC framework
simpler programming model leveraging on annotations
POJO based backing form object
supports javax.validation for validation Request Flow web.xml files and classes testauth-web-spring-servlet.xml Spring 3 MVC front end for customer to access
generated using modulegen
Spring 3 MVC based
integrated with Hybris WCMS
integrated with Hybris security (Spring Security) Dispatcher Servlet processing pipeline Character
Filter Static
Filter storeFront
(bean) 1 2 3 4 spring
(bean) log4jFilter






btgRelatedFilters lookup a BaseSite using current request URL and set it as the current site using CMSSiteService before controller
(delegation to N handlers)


before view
(before view got rendered)
(delegation to N handlers)

after view
(after view got rendered)
*not used by StoreFront check if Hybris user and SpringSecurity user is the same
store DeviceData info
store current language
store overridden UI experience level (through request param) add model attribs like "cmsSite" and "slots" after page model is stored by controller
add common attribs like "siteResourcePath", "themeResourcePath", "commonResourcePath" (consulting UIExperienceService)
add analyticals ID e.g. Google Analytics
add request debugging information if it's enabled in configuration do the LOGIC e.g. calling facades
store Page model
return logical view name configurations view resources view structure <template:master>
CSS <template:page>
NAVIGATION FOOTER static dynamic from model <cms:slot> <cms:component> <cms:component> JSP
Custom Tags
from "tags" WCMS Slot and Component configurable from HMC and WCMS Cockpit how CMS component processed and rendered? let's say we have a component configured within a slot called "Simple Banner" which of type "SimpleBannerComponent"

on <cms:component> in JSP:

find bean called "SimpleBannerComponentController"
if EXIST, include JSP content of relative URL "/view/SimpleBannerComponentController" passing the component UID
if NOT EXIST, include JSP content of relative URL "/view/DefaultCMSComponentController" passing the component UID controller.cms package contains CMS controllers responsible for processing component specific logic i.e. adding extra model attributes before rendering JSPs found in "cms" folder other stuff that doesn't fit in previous slides JSPs that are used in AJAX calls are separated in "fragments" folder
custom Spring ViewResolver is used to resolve logical view name to physical JSP file taken into consideration the uiExperienceLevel i.e. MOBILE or DESKTOP
custom Spring ThemeResolver is used to resolve theme taken into consideration theme setting in HMC - WCMS and also uiExperienceLevel Q & A run "ant modulegen" from command line update extensioninfo.xml update hMC - WCMS - Websites - URL patterns populate your required data inside "teststorefrontinitialdata" based on given ImpEx structure (see example inside "teststorefrontcore") generated extensions <cms:body> adds requestor IP address
into Log4j MDC make specific configured tenant active in Registry initialize Hybris Jalo Session and also create new session using SessionService log current request details which includes cookies and response time initialize HTTP session
add BrowserHistoryEntry into BrowserHistory if it's a GET request O R D E R O R D E R
Full transcript