============================================================================= Endeca Mobile Commerce GENERAL (1.2.2) - Release Date: March 2012 - The release notes may have been updated since the release date. Contact Oracle Endeca Customer Support for the most recent version of the release notes. BUG FIXES (1.2.2) - IFM-90: Fixed an issue where the user could be presented with a blank page after reloading the mobile iOS application. - IFM-97: Fixed several security vulnerabilities in the mobile Web application. ============================================================================= GENERAL (1.2.1) - Release Date: November 2011 - The release notes may have been updated since the release date. Access the Product Downloads section of the Endeca Developer Network (https://eden.endeca.com) for the most recent version of the release notes. KNOWN ISSUES (1.2.1) REM-135: The barcode scanning feature has been removed. Documentation: * The documentation for this release has not been updated. Updated documentation may be provided in a future release if necessary. Please see the EDeN knowledge base for the most recent documentation. ============================================================================= 1.2 FEATURE OVERVIEW * Feature: Additional Page Builder Editors and Support 1. Previously, ContentItemList was not supported, therefore, fully customized Page Builder templates could not be created. ContentItemList and ContentItem are now fully supported. 2. A new set of XML elements and associated editors have been added that greatly improve the ability to create custom cartridges. These are: * NavStateItem * NavStateItemList * DynamicNavStateItemList * NavStateRecordList These elements support static and dynamic menu creation, image banners, and product spotlighting. * Feature: Barcode scanning Mobile API * Feature: Added NavStateItemList and support for dynamic and static configuration from Page Builder. * Feature: Added record filter to NavState to support Merchandiser specified record filters. * Feature: Added CartAPI models to mobile-models.jar, and modified CartAPI and CartController to use JSON POST body inputs instead of URL parameters. * Feature: Added isTablet() method to DeviceInfo and DeviceDetector. * Feature: Added ViewConfig object, which simply contains a HashMap that can be configured in the Spring XML. This HashMap then translates to request attributes that can be used by JSPs. This provides an extension mechanism for allowing Spring XML config for view-specific values. * Feature: Updating HttpClient library from 4.0.3 to 4.1. * Feature: Creating the new search URL outside of the UICL object, allowing the search_header.jspf to be used on all pages * Feature: Added MultiChannelViewResolver and MultiChannelQueryProcessor, both of which support powering new channels in the same webapp architecture. Now a URL parameter like ?Ch=fb can be used to trigger different Page Builder pages that can also be rendered by a different set of JSPs. The same mechanism can be used to create a set of Desktop Web pages or tablet-optimized Web pages. * Feature: Added BaseInterceptor, which handles some of what was done in either BaseController, and removes the need for the doDeviceDetection method. * Feature: Renamed EndecaMobileXYZController.java to XYZController.java. Renamed mobile_xyz.java to search_xyz.java. Removing the b2creference package from the mobile.war, and moving Constants.java and BaseController to the com.endeca.mobile package. * Bug Fix: Fixed an issue in SearchController that caused the BasicUrlFormatter to always be used instead of the SeoUrlFormatter. * Feature: Added sample controller for barcode scanning: BarcodeScanController * Feature: Added support for record detail pages that are Page-Builder powered. * Known issue: OE[#11541] 'Post link to Facebook' uses URLs that contain the server's IP address rather than the hostname due to DetailsController.java using ServletRequest's getLocalAddr() method to generate the current page URL. The getServerName() method should be used instead. Mobile Web * Bug Fix: Added tags to JSP pages to avoid cross-site scripting security issues. * Bug Fix: Fixed issue with the more_menu.jsp styling. * Feature: Added a white disclosure indicator image and modified the default CSS so that the entire cell is highlighted in the results list. * Feature: Renamed the views folder to views_m. Renamed mobile_shared folder to shared. Renamed mobile_xyz.jsp files to search_xyz.jsp. * Feature: Added a STATIC_RESOURCE_PATH to the viewConfig in app-context.xml and updated all JSPs to use this path for css/javascript/images. This provides an easy way to change the base URL path so that these static resources can be served by a content delivery network or from any location outside the Java webapp. * Feature: Removed chunkpadding.jspf, since this file isn't needed for modern Mobile phones. ////////////////////////////////////////////////////////////////////////////// Android Toolkit 1.1 FEATURE OVERVIEW * Feature: Aggregate Records Aggregate Records are now supported * Feature: Geospatial search (Store Locator) The iPhone Toolkit, Android Toolkit, and Mobile Web Toolkit now contain a Geospatial search user interface for searching by both keyword and by location. Results can be presented in list form or in map form. Users can use the device's current location, type in location, or zoom and pan on the map to identify the location around which to search, and results are initially sorted by distance from that location. * Feature: Grouped Category Page Banner Images In Page Builder, the Grouped Category Page now supports banner images. * Feature: Mobile Profiles In Page Builder, the following profiles can now be used: iphone ipad android mobileweb * Feature: Root Dimension Value Selection In Page Builder, it is possible to select a root dimension value as the location of the page. In the record browser, it is now possible to select the root dimension value as (all or part of) a Target Navigation State. This feature is supported by the iPhone Toolkit, DEVICE XXX, DEVICE YYY * Feature: Target URI In Page Builder, the user can specify a Target URI as an alternative to specifying a Target Navigation State. This has several use cases: 1. The user can address a web resource, for example: http://www.endeca.com 2. The user can address pages which are handled by custom controllers. For example, the Browse by Brands page is a custom page that can be addressed using the following uri: mobile://brands.getList 3. The user can address the search/api mobile page controller in ways that the Target Navigation State does not support. For example the user can address pages in the Browse tab from pages in the featured tab by using the "tab" query string parameter: mobile://search/api?tab=browse All the same query string parameters that the Target Navigation State ultimately generates are supported, such as the N parameter and the Ns parameter: mobile://search/api?tab=browse&N=1234&Ns=Price|1 Or the Nr paramter: mobile://search/api?Nr=product.brand.name:Sony 4. The user can address a custom page controller that returns the same content model as the search/api mobile page controller. For example: mobile://mypage.getcustomcontent?id=23 ////////////////////////////////////////////////////////////////////////////// Mobile API GENERAL (1.1) * Release Date: MMMM yyyy (Rev X) BUG FIXES (1.1) * Bug Fix: Previously the "MoreÉ" dimension value was not being properly handled. This is now properly handled. ////////////////////////////////////////////////////////////////////////////// Mobile Web Toolkit GENERAL (1.1) * Release Date: MMMM yyyy (Rev X) BUG FIXES (1.1) * Bug Fix: Fixed an issue where the plain group style header was displayed instead of the round group style header ////////////////////////////////////////////////////////////////////////////// Android Toolkit GENERAL (1.1) * Release Date: MMMM yyyy (Rev X) BUG FIXES (1.1) * Feature: The Android Toolkit is now broken up into a core project and a refapp project. * Feature: Common configuration for the toolkit is now moved into an XML file called configuration.xml. * Feature: The Android Toolkit now supports the ability to override core project styles (layout and drawable files) with refapp styles. * Feature: The Android Toolkit codebase is now refactored to be more consistent with the iPhone Toolkit. * Feature: The iPhone Toolkit's request queue / loader / cache implementation (three20 network) has been ported to the Android Toolkit. * Feature: The detail photos (gallery) component now has double tap zoom and edge bounce with quick screen rotation. * Bug Fix: In the Search Activity, there was an issue with paging after switching device orientation. This has been fixed. * Feature: Previously, navigation state specified in Page Builder by the Target Navigation State was visible to the user and the user could remove this state. Now, it is now hidden from the user. * Bug Fix: There was an issue where the ampersand ("&") and equals sign ("=") characters were not being escaped in the http requests sent from the Android Toolkit. This has been fixed. * Feature: In the Filter (Navigation) Activity, the user can now tap dimension headers to expand/collapse the refinements. * Feature: Previously, in the Filter (Navigation) Activity, mutli-or refinements were not visually differentiated from single-select refinements. Now a checkbox element can be displayed to visually differentiate the two styles. navStyle=integrated -- where descriptors are integrated with refinements -- is also supported. * Bug Fix: There was an issue where there was a one character lag for the autocomplete. This has been fixed. * Bug Fix: There was an issue where the 'Skip Target Category Pages' flag was reversed. This has been fixed. * Bug Fix: There were some issues where the autocomplete was appearing when it was not desired. These have been fixed. * Bug Fix: There was an issue with the autocomplete where all of the data returned from the server was not being displayed. This has been fixed. * Feature: The Android Toolkit now has a Browse by Brand Activity, similar to the Browse By Brand View Controller in the iPhone Toolkit. * Feature: Previously, in many Activities, phone rotation would cause the app to re-query the server. This has been fixed. * Feature: The sort bar is now more configurable. * Bug Fix: The Page Builder Category Pages had some memory leaks that are now fixed. * Feature: The background resouree of list items in rounded containers can now can be flush to the edge of the container. * Feature: Previously, images and text in a list item did not change in the pressed state. Now they can. Text, and the disclosure indicator image turn white in the pressed state by default. * Feature: The Android Toolkit now has improved network connectivity handling. * Bug Fix: Previously, the Android Toolkit was using a library that was causing issues for the HTC MyTouch phone. This has been fixed. * Feature: The Android Toolkit now considers the task of turning off debugging lines for production builds has ////////////////////////////////////////////////////////////////////////////// iPhone Toolkit GENERAL (1.1) * Release Date: MMMM yyyy (Rev X) BUG FIXES (1.1) * Feature: Added facebook, email, and twitter share integration * Bug Fix: There was an issue where in certain situations selecting a sort option in the sort segmented control would crash the app. This has been fixed. * Bug Fix: There was an issue where the ampersand ("&") and equals sign ("=") characters were not being escaped in the http requests sent from the iPhone. This has been fixed. * Bug Fix: There was an issue where the corner of the top and bottom images in the Page Builder category controller were rounded, ignoring the fact that the group style was set to plain. This has been fixed. * Bug Fix: There was an issue in the Page Builder Category Controller where plain table view cells were not properly recycled, causing images to appear in the wrong cells. This has been fixed. * Bug Fix: Previously, the Page Builder Category Controller assumed that when the Round Image header item style was used, there would always be a header item in the data. When the data were missing one or more header items, this style did not render properly. This has been fixed. * Bug Fix: Previously, the Page Builder Category Controller assumed that when the Round Image header item style was used, header items would always contain in image URL. If a header item did not have an image URL, the text was nevertheless indented to make room for the image. Now if there is no image URL, the text is not indented. * Bug Fix: Previously the "MoreÉ" dimension value was not being properly handled. This is now properly handled. * Feature: There is now a footer in the Page Builder Category Controller for display of the alternating color style (icon style), which is used when the table cells fill up less than the full height of the view. * Bug Fix: After submitting a search, if a user declined the "Did you mean?" prompt (selected "No"), and then proceeded to select a filter, the app would show the prompt again. This has been fixed. The prompt should only appear once after the search is initially submitted. ////////////////////////////////////////////////////////////////////////////// Mobile Page Builder Extensions GENERAL (1.1) * Release Date: MMMM yyyy (Rev X) BUG FIXES (1.1) * Feature: In the record browser, images are now wrapped by a link, so you can click on the to get to the detail page. * Feature: In the record browser, aggregate records now display an image according to the imageURLPattern. * Feature: In the record browser, the root dimension value can now be selected as a navigation state, since it is also a valid trigger for a merch rule (Page Builder Landing Page). * Feature: In the record browser, to support selection of the root dimension value, a tree user interface has been added to the refinement dimensions. Previously, clicking on the root dimension value opened and closed the refinements. This is still possible by clicking on the plus and minus icons in the tree view. Clicking on the root dimension value now adds the dimension value to the navigation state. * Feature: In the record browser, the aggregate record detail page separates properties and dimension values that are common to all records from those that are only on some of the records. * Bug Fix: In the Page Builder editors, the 'Skip Target Category Pages' flag was always loading as false, overriding the user's previously saved state. This has been fixed. * Bug Fix: In the Page Builder editors, the ampersand ("&") and equals sign ("=") characters were not being escaped in the http requests sent to the record_browser. This has been fixed. * Feature: In the Page Builder global editor configuration, the element can now be configured to pass a to the record browser when selecting navigation states. * Bug Fix: In the Page Builder editors, the descriptor was displayed twice in a row in the description of the Target Navigation State. This has been fixed. * Feature: In the Page Builder global editor configuration, a element can now be specified, and will accept two values: 'iphone', and 'droid'. Previously, iphone was the only (implicit) option. * Bug Fix: In the Page Builder Dynamic Category Page, in some cases the tag handler was not adding the refinement parent. This has been fixed. * Bug Fix: In the Page Builder Grouped Category Page, moving an item up or down would cause the selection to 'slip', i.e. sometimes the selected item would change to an adjacent item. This has been fixed. * Bug Fix: In the Page Builder Grouped Category Page, moving a group up would not maintain the group's current selection, instead selecting the first item in the group. This could be annoying when moving the group multiple positions. This has been fixed. * Known Issue: There is still some slippage when moving groups around. * Bug Fix: In the Page Builder editors, hard returns in the text and detail text were being encoded using the '\r' character, which the Android app does not honor. Hard returns are now being encoded using the more standard '\n' character.