Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM

Copy

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.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

ystorefront

No description
by

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
Encoding
Filter Static
Resource
Filter storeFront
FilterChain
(bean) 1 2 3 4 spring
Security
FilterChain
(bean) log4jFilter


storefrontTenantActivationFilter


sessionFilter


requestLoggerFilter


cmsSiteFilter


storeFrontFilter


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




controller



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>
META
CSS <template:page>
HEADER
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