A configuration layer was added in CRS-M to forward requests for non-mobile Commerce Reference Store URLs made by mobile user-agents (browsers), for processing by CRS-M. This ensures that mobile user-agents are provided with a mobile-specific presentation of each requested page.

The user-agent detection and request forwarding is done on the server side by a new tail pipeline interceptor:

atg.projects.store.mobile.link.MobileDetectionInterceptor.java

which is configured into the Oracle ATG Web Commerce tail pipeline. Its corresponding configuration is located at:

/atg/dynamo/servlet/dafpipeline/MobileDetectionInterceptor.properties

This new interceptor’s position in the tail pipeline is determined by /atg/dynamo/servlet/dafpipeline/TailPipelineServlet.properties and this position is important to ensure that multisite features function correctly, that is, it should always be listed before the VirtualContextRootInterceptor and the WebAppLayeringInterceptor.

The interceptor performs simple Java regular expression pattern matching on the incoming URL using the configured mobile path prefix (from atg/store/StoreConfiguration.properties) to determine whether:

It is important to note that the interceptor does not take any action on requests whose URLs already contain the designated mobile prefix (for example, if the URL is already a mobile URL), or that match the file types listed by the excludedFileTypes property of the interceptor. Both the mobile prefix and the excluded file types can be easily configured to meet your needs.

Map type properties are used in MobileDetectionInterceptor.properties: nonMobileToMobilePaths, mobileToNonMobilePaths to direct mobile and non-mobile mappings for some URIs.

To determine if the user-agent of the incoming request is a mobile user-agent that you want to forward, use the mobileBrowserTypes property and DAS BrowserTyper bean:

DynamoHttpServletRequest.isBrowserType(String pUserAgent)

Copyright © 1997, 2014 Oracle and/or its affiliates. All rights reserved. Legal Notices