Release Notes - PUBLIC - Liferay Faces - Version liferay-faces-3.1.0-ga1 - HTML format

Regression Bug

  • [FACES-1352] - Ajax failing on Pluto because resources with response header "text/xml" are set to "text/html"
  • [FACES-1353] - Unable to upload files on Pluto

Bug

  • [FACES-1] - Resources (like jsf.js) not loading with Liferay 5.2.x
  • [FACES-2] - State saving defect when using composite components
  • [FACES-3] - Using Navigation outcomes with JSF2 f:ajax will render the whole <body> element instead of the portlet container only.
  • [FACES-5] - <h:commandLink> doesn't work
  • [FACES-6] - ExternalContextImpl.isResponseCommitted is not implemented
  • [FACES-7] - ExternalContextImpl does not support addResponseCookie() method
  • [FACES-10] - Pluto case sensitivity problem with Mojarra in RequestHeaderValuesMap
  • [FACES-11] - Not all resources are being relocated to the body <div> when the portlet container doesn't support writing to the <head>...</head> section
  • [FACES-12] - ICEfaces Javascript incompatibility with IE when namespace begins with a numeric character
  • [FACES-14] - Resource handler not gracefully handling missing resources
  • [FACES-15] - Bridge doesn't encode view id for partial action requests
  • [FACES-17] - CSS referenced image URL from library is not encoded correctly
  • [FACES-18] - Implement remaining methods in ExternalContextImpl.java that are not yet implemented
  • [FACES-19] - ExternalContext.getFlash() is unimplemented in ExternalContextImpl.java
  • [FACES-21] - FacesConfigurationImpl.SAXEventHandler.resolveEntity() is not downloading DTD files
  • [FACES-22] - RequestParameterMapMultiPartImpl.getPropertyNames() is inappropriately caching the enumeration of request parameter names
  • [FACES-23] - ExternalContext.encodeBookmarkableURL(...) is unimplemented in ExternalContextImpl.java
  • [FACES-24] - MutablePreferenceMap.getProperty(String) is unimplemented
  • [FACES-27] - ExternalContext.encodeRedirectURL(...) and ExternalContext.redirect(String) are unimplemented in ExternalContextImpl.java
  • [FACES-28] - Example JSF 2.0 shows an error when loading in Liferay 6.0.5
  • [FACES-29] - HeadResponseWriter throws EmptyStackException
  • [FACES-33] - ExternalContextImpl.setResponseBufferSize(int) throws java.lang.IllegalStateException in IBM WebSphere Portal
  • [FACES-34] - Incompatibility with GateIn and "Accept" header
  • [FACES-35] - Pluto incompatibility with MimeResponse.setContentType("application/xhtml+xml")
  • [FACES-36] - Pluto partial-response DOM replacement problem after full page submit
  • [FACES-37] - Pluto bi-directional events IPC problem
  • [FACES-39] - Request attributes of form action URL change between Ajax requests
  • [FACES-40] - When running in Liferay, Resource URLs are missing javax.faces.resource and ln request parameters for CSS resources that have embedded resource EL expressions
  • [FACES-41] - ExternalContextImpl.getRequestContentLength() is unimplemented
  • [FACES-42] - Pluto ResourceURL implementation causing unnecessary DOM-diffs with ICEfaces D2D
  • [FACES-43] - JSF 2.0 f:ajax broken after initial full page postback when running in Pluto
  • [FACES-45] - ExternalContextImpl.setRequest(Object) is not re-initalizing all the maps
  • [FACES-46] - In order for Ajax to work correctly with ICEfaces 2.0, the jsf.js and ICEfaces bridge.js resources must not be cached by the browser
  • [FACES-47] - Bridge unable to serve up some resources embedded in JARs when referenced by the JSF 2.0 #{resource} EL keyword
  • [FACES-48] - In order for ICEfaces compatibility components to work with ICEfaces 2.0, the compat.js, icefaces-compat.js, and icepush.js resources must not be cached by the browser
  • [FACES-49] - Detection of JSF resource parameters leads to false positives
  • [FACES-50] - XML declaration and DOCTYPE are being rendered as part of the portlet's rendered markup
  • [FACES-51] - JSF 2.0 implicit navigation not working
  • [FACES-55] - Resource URLs that don't have forward slash (/) in them are causing exceptions to be logged.
  • [FACES-56] - The ExternalContextImpl.release method causes the ICEfaces ice:outputResource component to fail in Pluto portal
  • [FACES-57] - ResourceHandlerImpl does not use application's configured ResourceHandler for createResource()
  • [FACES-59] - Icefaces Portlets broken every second refresh
  • [FACES-60] - Resources (like jsf.js) not appearing in the <head> section of the page with Liferay 5.2.x
  • [FACES-61] - Incongruities between the Portlet lifecycle and the JSF lifecycle causing errors in server logs
  • [FACES-62] - Resource last modified tag doesn't handled properly
  • [FACES-63] - URL of JSF resource is double-converted to Portlet URL. when using Mojarra 2.1.0
  • [FACES-64] - bridge:inputFile upload fails with IE7/IE8 due to invalid filename characters
  • [FACES-66] - Ajax requests handling failing : org.portletfaces.bridge.context.ExternalContextImpl#encodePartialActionURL need to add FACES_VIEW_ID parameter
  • [FACES-67] - over optimizing namespaced ids result in clashes
  • [FACES-68] - BridgeRequestScope provides unnecessary API for portlet RESOURCE_PHASE
  • [FACES-69] - ExternalContextImpl provides unnecessary release() method
  • [FACES-70] - Bridge not using javax.portlet.PortletMode.equals(...) when comparing modes
  • [FACES-71] - Bridge needs to overcome servlet environment assumption/limitation in jsf.js regarding javax.faces.ViewState hidden field during partial updates
  • [FACES-72] - Flash scope not preserved in BridgeRequestScope during ActionRequest and not restored in RenderRequest
  • [FACES-177] - Using instanceof operator instead of BridgeUtil.isPortletRequest()
  • [FACES-180] - Script relocation necessary with AJAX (full render)
  • [FACES-183] - Initialization failure / RuntimeException on JBoss AS: mapped-name is required for mail/MailSession
  • [FACES-191] - Exception raised on portlet resource handling
  • [FACES-196] - BridgeRequestScope not being released/deallocated from memory
  • [FACES-198] - UIComponent.findComponent(String) sometimes unable to find components due to incorrect clientId values
  • [FACES-202] - Erroneous FacesMessage being added to FacesContext after navigation
  • [FACES-204] - BridgeUtil.getClassPathResourceAsString(String) does not belong in the public API
  • [FACES-205] - AbstractPropertyMap.remove(Object key) does not remove the corresponding value from the underlying map
  • [FACES-206] - ManagedBeanScopePhaseListener is not invoking methods annotated with @PreDestroy annotation
  • [FACES-209] - BridgeFactoryImpl is not returning a bridge instance if the factories in the chain-of-responsibility don't return a bridge instance
  • [FACES-210] - PortletContainerFactoryImpl not respecting request attribute optimization
  • [FACES-211] - BridgeRequestScopeFactoryImpl is not returning a scope instance if the factories in the chain-of-responsibility don't return a scope instance
  • [FACES-212] - BridgeNavigationHandlerFactoryImpl is not returning an instance if the factories in the chain-of-responsibility don't return an instance
  • [FACES-213] - BridgeContextFactoryImpl is not returning an instance if the factories in the chain-of-responsibility don't return an instance
  • [FACES-216] - LiferayURLUtil#getNormalizedBaseURL returns incorrect URL for resources referenced from CSS
  • [FACES-222] - ExternalContextImpl.setRequest(Object) and ExternalContextImpl.setResponse(Object) methods are not re-initializing the PortletContainer instance with updated PortletRequest/PortletResponse
  • [FACES-227] - Bridge not detecting PortletMode changes
  • [FACES-228] - BridgeConfigImpl unable to parse large faces-config.xml files
  • [FACES-231] - ExternalContextImpl doesn't set response to complete on redirect
  • [FACES-232] - Cannot switch the windowstate (ClassCastException)
  • [FACES-234] - Renderers for portlet:renderURL portlet:ActionURL and portlet:resourceURL casting to RenderResponse instead of MimeResponse
  • [FACES-236] - BaseURLRenderer doesn't throw the root cause of an exception
  • [FACES-237] - Bug in processing of public render parameters
  • [FACES-240] - Richfaces 4 + Liferay6.0.6 + Issue With extendedDataTable
  • [FACES-244] - JavaScript resources not loading for JSF portlets embedded in Liferay theme or Liferay layout template
  • [FACES-246] - BridgeFlashFactory unable to instantiate MyFaces Flash implementation due to incorrect FQCN
  • [FACES-247] - The MyFaces 2.1.1 implementation of JSF throws UnsupportedOperationException during startup
  • [FACES-253] - Loosing file extension on uploaded file
  • [FACES-254] - ExternalContext ClassCastException when using RichFaces
  • [FACES-255] - ExternalContextImpl#getMimeType(String) incorrectly calls FileNameUtil#getFileNameExtension(String) instead of FileNameUtil#getFileNameMimeType(String)
  • [FACES-258] - Unable to redirect during a JSF partial (Ajax) request
  • [FACES-260] - MyFaces packaging change leads to error in BridgeFlashFactory
  • [FACES-263] - RichFaces CSS resources not loading
  • [FACES-265] - Liferay 5.2.5 javascript resource depency issues when using multiple JSF2 portlets that use PrimeFaces
  • [FACES-267] - Prevent NullPointerException during certain ResourceRequests
  • [FACES-271] - RequestParameterMapMultiPartImpl needs to include name+value pairs found in the ActionRequest
  • [FACES-277] - BridgeFactoryFinderImpl not caching factory lookups
  • [FACES-282] - Remove aui-cc:button value attribute
  • [FACES-288] - PermissionsURLRenderer needs to set mode=view
  • [FACES-292] - LazyDataModel not resetting wrapped data due to incorrect wrappedDataMaxFinishRowIndex
  • [FACES-293] - liferay-ui:ice-page-iterator shows wrong data
  • [FACES-294] - liferay-ui:input-editor countChars javascript method not checking for null string values
  • [FACES-295] - The href attribute of liferay-ui:icon-menu should not be required
  • [FACES-296] - Upgrading to Liferay 6.0 EE SP2 (6.0.12) breaks liferay-ui:input-editor Facelet composite component
  • [FACES-298] - PermissionsURLRenderer does not work in postback
  • [FACES-300] - Unable to determine if file upload failed because RequestParameterMapMultiPartImpl is swallowing the exception
  • [FACES-302] - Constructor in PreferenceValuesList does not remember the name parameter
  • [FACES-303] - Resource URLs causing error output in console log for Liferay 5.2
  • [FACES-305] - javax.faces.ViewState request parameter not being carried over from ACTION_PHASE to RENDER_PHASE
  • [FACES-307] - f:ajax DOM replacement fails due to PrimeFaces HeadRenderer
  • [FACES-309] - Redirect via Ajax only implemented for Liferay
  • [FACES-1160] - BridgeRequestScope not getting removed from PortletContext attribute
  • [FACES-1163] - h:link fails with [ExternalContextImpl:115] Unable to encode ActionURL for url=[null]
  • [FACES-1167] - jsf2-registration-portlet not working in Liferay 6.1
  • [FACES-1168] - #{liferay} bean deserialization fails
  • [FACES-1171] - "User Session Expired" error displayed in browser for icefaces3-ipc-ajax-push-portlet
  • [FACES-1180] - Adding a document causes error "No RepositoryEntry exists with the primary key" in the icefaces3-documents-portlet with Liferay 6.1
  • [FACES-1182] - liferay-portlet.xml and liferay-display.xml files in demo portlets specify Liferay 5.2 based DTDs
  • [FACES-1183] - BridgeContextImpl.encodeActionURL(String) adding "_jsfBridgeNonFacesView" URL parameter for absolute URLs and also for URLs that start with a "#" character
  • [FACES-1186] - RequestParameterMapImpl.containsKey(Object) does not return true when "javax.faces.ViewState" is found in the PortletRequest
  • [FACES-1191] - File upload doesn't work with RESOURCE_PHASE of the portlet lifecycle
  • [FACES-1193] - ExternalContext.getResponseNamespace() incorrectly returns "wsrp_rewrite" for all portlets when running as a Liferay WSRP producer
  • [FACES-1194] - PrimeFaces p:fileUpload not invoking RESOURCE_PHASE of the portlet lifecycle
  • [FACES-1195] - Form validation feedback not working in primefaces3-portlet
  • [FACES-1196] - Improve primefaces3-portlet to make use of p:dataTable, p:confirmDialog, and p:commandButton for list of attachments
  • [FACES-1199] - liferay-ui:input-editor and liferay-ui:ice-page-iterator using wrong xmlns for liferay-ui namespace
  • [FACES-1201] - Demo portlets not loading CSS resources when running via WSRP
  • [FACES-1202] - ResourceImpl is removing ".faces" from resource URLs under certain use-cases
  • [FACES-1203] - The aui-cc:input readonly and disabled attributes are not implemented for types boolean and password
  • [FACES-1204] - PrimeFacesFileItem does not properly implement the methods required by the PrimeFaces UploadedFile interface
  • [FACES-1205] - BaseURLEncodedStringImpl.toString() not catching exceptions
  • [FACES-1206] - UIViewRoot.getId() does not correspond to UIViewRoot.getClientId()
  • [FACES-1207] - ResourceHandlerImpl.handleResourceRequest(FacesContext) incorrectly sets the Content-Length header after writing data to the response
  • [FACES-1208] - Demo portlets failing to deploy on JBoss AS 7.x
  • [FACES-1212] - LiferayFacesContext.getPortlet() returns null during RESOURCE_PHASE (Ajax)
  • [FACES-1213] - Embed project name and version in MANIFEST.MF
  • [FACES-1214] - Image resources specified in RichFaces packed.css and skinning.css not rendering
  • [FACES-1216] - Javascript error with 2 or more PrimeFaces portlets on the same portal page
  • [FACES-1217] - Failure in TCK TestPage135: encodeResourceURLViewLinkTest
  • [FACES-1218] - Failure in TCK TestPage084: encodeActionURLPoundCharTest
  • [FACES-1219] - Failure in TCK TestPage085: encodeActionURLAbsoluteURLTest
  • [FACES-1220] - Failure in TCK TestPage142: getRequestHeaderMapRenderTest
  • [FACES-1221] - Failure in TCK TestPage146: getRequestHeaderValuesMapRenderTest
  • [FACES-1222] - Failure in TCK TestPage150: requestMapCoreTest
  • [FACES-1223] - Failure in TCK TestPage155: getRequestParameterNamesCoreTest
  • [FACES-1224] - Failure in TCK TestPage159: getRequestServletPathTest
  • [FACES-1226] - Failure in TCK TestPage165: getRequestContentTypeActionTest
  • [FACES-1228] - ICEfaces3 ace:fileEntry failing due to TCK fix for ExternalContext.getRequestContentType()
  • [FACES-1231] - ICEfaces3 portlets contain extra WEB-INF/lib/javax.faces-2.1.6.jar dependency
  • [FACES-1233] - Mojarra JspViewHandlingStrategy throws NoClassDefFoundError on Liferay 6.0.x
  • [FACES-1236] - Mojarra h:outputScript renders src attribute with encoded URL which invokes portlet RENDER_PHASE on Liferay Portal
  • [FACES-1238] - Dynamic RichFaces resources bypass ExternalContext.encodeResourceURL(String) encoding
  • [FACES-1242] - Normal UTF-8 encoded text fields have incorrect content with multipart file upload requests
  • [FACES-1243] - Multipart file upload fails when com.liferay.faces.bridge.optimizePortletNamespace=false
  • [FACES-1246] - Temporary folder for uploaded files not being created in a platform independent manner
  • [FACES-1252] - Bridge phase-listeners must not be added dynamically
  • [FACES-1254] - Response Content-Length header incorrect for static RichFaces CSS and JavaScript resources
  • [FACES-1256] - UploadedFileWrapper classes in demo portlets do not implement Serializable
  • [FACES-1257] - BridgePhaseRenderImpl.execute() missing null-check in finally clause
  • [FACES-1258] - icefaces3-crud-portlet is not instanceable
  • [FACES-1263] - Failure in TCK TestPage169: getResponseCharacterEncodingActionTest
  • [FACES-1264] - Failure in TCK TestPage173: getResponseContentTypeActionTest
  • [FACES-1265] - Failure in TCK TestPage182: encodeNamespaceTest
  • [FACES-1266] - Failure in TCK TestPage200: hasRenderContentAfterViewAttributeTest
  • [FACES-1267] - Failure in TCK TestPage201: renderContentAfterViewTest
  • [FACES-1268] - jsf2-jsp-portlet renders blank output when deployed under Pluto
  • [FACES-1272] - SessionMap ignoring scope when getting/setting/removing attributes
  • [FACES-1273] - HtmlInputFile.broadcast(FacesEvent) not throwing AbortProcessingException when an exception is caught
  • [FACES-1274] - HttpServletRequestAdapter does not implement the PortletRequest interface
  • [FACES-1275] - PreferenceValuesList does not override the equals(Object) method
  • [FACES-1277] - Failure in TCK TestPage202: implementsBridgeWriteBehindResponseTest due to ExternalContext.getResponse() not returning an object instance that implements BridgeWriteBehindResponse
  • [FACES-1278] - Failure in TCK TestPage203: JSF_ELTest due to Mojarra 2.x returning unexpected FacesContext instance
  • [FACES-1279] - Failure in TCK TestPage204: JSP_ELTest due to bridge ELResolverImpl not detecting JspContext
  • [FACES-1280] - Failure in TCK TestPage003: lifecycleTest
  • [FACES-1281] - Failure in TCK TestPage013: nullRequestActionTest
  • [FACES-1282] - Failure in TCK TestPage057: bridgeSetsContentTypeTest
  • [FACES-1283] - PermissionsURLRenderer.getPermissionsURL(FacesContext, UIComponent) fails during RESOURCE_PHASE of the portlet lifecycle
  • [FACES-1285] - Incoming public render parameters not getting processed during RENDER_PHASE due to IPCPhaseListener not getting invoked
  • [FACES-1286] - Public Render Parameter namespace prefix should be specified in the parameter name rather than model-el
  • [FACES-1287] - Failure in TCK TestPage073: scopeAfterRedisplayResourcePPRTest
  • [FACES-1288] - Memory leak when BridgeRequestScope created in RENDER_PHASE of portlet lifecycle
  • [FACES-1289] - Failure in TCK TestPage179: redirectRenderPRP1Test
  • [FACES-1291] - BridgeConfigImpl does not inspect META-INF/web-fragment.xml for FacesServlet mappings
  • [FACES-1292] - AbstractPropertyMap.entrySet().iterator().remove(Object)
  • [FACES-1293] - BridgePhaseEventImpl does not maintain public/private render parameters from the EVENT_PHASE into the RENDER_PHASE
  • [FACES-1294] - BridgeRequestScope created in ACTION_PHASE not being restored in EVENT_PHASE
  • [FACES-1295] - Failure in TCK TestPage062: eventScopeNotRestoredRedirectTest (when running under Liferay Portal)
  • [FACES-1296] - NullPointerException thrown in ProductBaseImpl when running under JBoss AS
  • [FACES-1297] - BridgeNavigationCaseImpl.getParameters() returns null when navigation-rule does not contain <redirect />
  • [FACES-1298] - Unable to navigate to view with query-string that contains dot character(s)
  • [FACES-1299] - Failure in TCK TestPage063: eventScopeNotRestoredModeChangedTest
  • [FACES-1300] - Failure in TCK TestPage064: eventControllerTest
  • [FACES-1304] - RequestHeaderValuesMap.addAcceptHeader(PortletRequest) unnecessarily prepending "Accept: " string token to header value
  • [FACES-1305] - Failure in TCK TestPage170: getResponseCharacterEncodingEventTest
  • [FACES-1306] - Failure in TCK TestPage174: getResponseContentTypeEventTest
  • [FACES-1308] - Failure in TCK TestPage017: requestProcessingNonFacesTest (Liferay+Tomcat)
  • [FACES-1309] - BridgePhaseRenderImpl not reporting queued exceptions
  • [FACES-1310] - Failure in TCK TestPage043: requestRenderRedisplayTest
  • [FACES-1312] - BridgeConfigImpl does not parse the bridge's META-INF/faces-config.xml file before all others
  • [FACES-1317] - Trinidad dependency in TCK preventing TestPage073 (scopeAfterRedisplayResourcePPRTest) from executing Ajax request
  • [FACES-1326] - Failure in TCK TestPage045: excludedAttributesTest (when running under Liferay Portal)
  • [FACES-1327] - Failure in TCK TestPage081: facesContextFactoryServiceProviderTest
  • [FACES-1329] - Failure in TCK TestPage088: encodeActionURLPortletRenderTest (when running under Liferay Portal)
  • [FACES-1330] - Failure in TCK TestPage089: encodeActionURLPortletActionTest (when running under Liferay Portal)
  • [FACES-1331] - h:outputLink breaking with JSF 2.1
  • [FACES-1332] - Failure in TCK TestPage090: encodeActionURLPortletResourceTest (when running under Liferay Portal)
  • [FACES-1333] - Failure in TCK TestPage118: encodeActionURLWithInvalidModeRenderTest
  • [FACES-1334] - Failure in TCK TestPage120: encodeActionURLWithInvalidWindowStateRenderTest
  • [FACES-1335] - Failure in TCK TestPage141: setRequestCharacterEncodingActionTest
  • [FACES-1336] - Failure in TCK TestPage151: requestMapRequestScopeTest (when running under Liferay Portal)
  • [FACES-1337] - Failure in TCK TestPage179: redirectRenderPRP1Test
  • [FACES-1338] - Failure in TCK TestPage183: getApplicationMapTest
  • [FACES-1340] - Failure in TCK TestPage203: JSF_ELTest due to missing PortletConfig request attribute (when running under Liferay Portal)
  • [FACES-1342] - Failure in TCK TestPage204: JSP_ELTest due to Trinidad dependency in TCK
  • [FACES-1343] - richfaces4-portlet demo does not specify immediate="true" for show/hide comments link
  • [FACES-1344] - BridgeWriteBehindResponseFactory invokes constructor with PortletResponse instead of RenderResponse/ResourceResponse
  • [FACES-1345] - Failure in TCK Response Wrapper Portlet
  • [FACES-1347] - icefaces3-directory-portlet info paginator showing incorrect starting row after search
  • [FACES-1350] - Various parameters missing from URLs constructed by LiferayBaseURL.toString() method
  • [FACES-1351] - Invalid error logged in console during execution of bridge-tck-main-portlet regarding invalid name/value pair for "javax.portlet.faces.BackLink"
  • [FACES-1355] - The incongruity tasks added to the context are not being processed.
  • [FACES-1363] - #{liferay.themeImagesURL} returns URI with doubled protocol + fqdn
  • [FACES-1367] - Redirect from JSF2 portlet is broken
  • [FACES-1381] - Bridge is not checking for javax.faces.LIFECYCLE_ID web.xml context-param
  • [FACES-1388] - UIInputWrapper.getClientId(FacesContext) method does not pass the specified facesContext to the wrapped UIInput
  • [FACES-1404] - jsf2-registration PortalWrapper class incompatible with Liferay 6.1.1 at runtime

New Feature

  • [FACES-13] - Support file upload via forms with enctype="multipart/form-data"
  • [FACES-20] - Support PortletMode.EDIT and PortletMode.HELP and programatic mode switching
  • [FACES-25] - Add web.xml parameter that will enable optional resolving of DTDs and XML Schemas for faces-config.xml files found in the classpath
  • [FACES-31] - Support Portlet 2.0 Portlet Tag Library for Facelets
  • [FACES-65] - Add support for GenericPortlet.doHeaders(RenderRequest, RenderResponse)
  • [FACES-73] - Implement #{bridgeFlash} as a workaround for inability to override the Mojarra implementation's FlashELResovler
  • [FACES-181] - Provide factory mechanism for creating instances of Bridge, BridgeRequestScope, and PortletContainer
  • [FACES-203] - Enable ExternalContextImpl.getInitParameter(String) to return init-param value from PortletConfig (portlet.xml), but if not found, return context-param value PortletContext (web.xml)
  • [FACES-226] - Provide the ability for h:message and h:messages to automatically render the Portlet 2.0 CSS class names
  • [FACES-308] - Support PrimeFaces p:fileUpload component
  • [FACES-1181] - Develop WSRP compatibility
  • [FACES-1225] - Develop support for com.liferay.faces.bridge.manageIncongruities configuration parameter
  • [FACES-1230] - Develop support for detecting product versions
  • [FACES-1234] - Support RichFaces rich:fileUpload component
  • [FACES-1244] - Support HTML5 multiple attribute for bridge:inputFile
  • [FACES-1250] - Develop support for bridge:inputFile fileUploadListener attribute and value attribute
  • [FACES-1251] - Develop support for new UploadedFileFactory
  • [FACES-1269] - Develop BridgeContextWrapper extension point
  • [FACES-1290] - Develop optimization that will disable BridgeRequestScope during Ajax requests
  • [FACES-1307] - Develop liferay-faces-bridge-api.jar artifact to replace portlet-bridge-api.jar dependency
  • [FACES-1318] - Develop support for User-Agent header
  • [FACES-1349] - Develop liferay-faces-util project
  • [FACES-1369] - Support detection of JSF runtime
  • [FACES-1400] - Develop ViewScopePhaseListener in order to support @ManagedProperty injection with MyFaces Core Runtime

Task

  • [FACES-75] - Implement 2.6.2: Portlet Served Resources
  • [FACES-76] - Implement 2.6.3 Public Render Parameters
  • [FACES-77] - Implement 3.0 Bridge Interface (Destruction)
  • [FACES-78] - Implement 3.1 Discovering and Instantiating the Bridge (specification name and version)
  • [FACES-79] - Implement 3.2 Initializing the Bridge (MAX_MANAGED_REQUEST_SCOPES)
  • [FACES-80] - Implement 3.2 Initializing the Bridge (RENDER_POLICY)
  • [FACES-81] - Implement 3.2 Initializing the Bridge (excludedRequestAttributes)
  • [FACES-82] - Implement 3.2 Initializing the Bridge (preserveActionParams)
  • [FACES-83] - Implement 3.2 Initializing the Bridge (bridgePublicRenderParameterHandler)
  • [FACES-84] - Implement 3.2 Initializing the Bridge (bridgeWriteBehindResponseClassName)
  • [FACES-85] - Implement 3.3 Destroying the Bridge (call destroy method)
  • [FACES-86] - Implement 3.4 Request Processing (_jsfBridgeViewId)
  • [FACES-87] - Implement 4.1 Configuration (excludedRequestAttributes)
  • [FACES-88] - Implement 4.1 Configuration (preserveActionParams)
  • [FACES-89] - Implement 4.1 Configuration (bridgePublicRenderParameterHandler)
  • [FACES-91] - Implement 4.1 Configuration (autoDispatchEvents)
  • [FACES-92] - Implement 4.2 Structure (override the doDispatch method)
  • [FACES-93] - Implement 4.2 Structure (getExcludedRequestAttributes method)
  • [FACES-94] - Implement 4.2 Structure (isPreserveActionParameters method)
  • [FACES-95] - Implement 4.2 Structure (getResponseContentType method)
  • [FACES-96] - Implement 4.2 Structure (getResponseCharacterSetEncoding method)
  • [FACES-97] - Implement 4.2 Structure (getBridgePublicRenderParameterHandler method)
  • [FACES-98] - Implement 4.2 Structure (isAutoDispatchEvents method)
  • [FACES-100] - Implement 4.2.1 GenericFacesPortlet.init() call to getExcludedRequestAttributes()
  • [FACES-101] - Implement 4.2.1 GenericFacesPortlet.init() call to isPreserveActionParameters()
  • [FACES-103] - Implement 4.2.1 GenericFacesPortlet.init() call to getBridgePublicRenderParameterHandler()
  • [FACES-104] - Implement 4.2.2 GenericFacesPortlet.destroy() method requirements
  • [FACES-105] - Implement 4.2.4 GenericFacesPortlet.processEvent() - delegation to superclass
  • [FACES-106] - Implement 4.2.5 Request Processing - dispatch to non-faces target
  • [FACES-107] - Implement 4.2.16 GenericFacesPortlet.getDefaultRenderKitId()
  • [FACES-108] - Verify 5.1.2 Managing Lifecycle State (BridgeRequestScope)
  • [FACES-109] - Implement 5.1.2 Managing Lifecycle State (BridgeRequestScope) - Preservation of request parameters
  • [FACES-110] - Verify 5.1.2.2 Considerations in Managing the VIEW_STATE_PARAM parameter
  • [FACES-111] - Implement 5.2.3 Determining the Target View (prior redirect)
  • [FACES-112] - Implement 5.2.3 Determining the Target View (servlet-mapping)
  • [FACES-113] - Implement 5.2.3 Determining the Target View (query string)
  • [FACES-114] - Implement 5.4.2 Encoding PortletMode changes in Faces navigation
  • [FACES-115] - Implement 5.2.4 Executing a Portlet Action Request (public render parameters)
  • [FACES-117] - Implement 5.2.5 Executing a Portlet Event Request (non-public request render parameters)
  • [FACES-118] - Implement 5.2.5 Executing a Portlet Event Request (setting new public render parameters)
  • [FACES-119] - Implement 5.2.5 Executing a Portlet Event Request (maintaining state of bridge request scope)
  • [FACES-122] - Implement 5.2.6 Executing a Portlet Render Request (PhaseListener requirements)
  • [FACES-123] - Implement 5.2.6 Executing a Portlet Render Request (redirect requirements)
  • [FACES-124] - Implement 5.2.7 Executing a Portlet Resource Request (non faces resource)
  • [FACES-125] - Implement 5.2.6 Executing a Portlet Render Request (ResponseStateManager requirements)
  • [FACES-126] - Implement 5.2.7 Executing a Portlet Resource Request (Public Render Parameters)
  • [FACES-127] - 5.2.7 Executing a Portlet Resource Request (BridgeRequestScope)
  • [FACES-128] - Implement 5.3 Processing Public Render Parameters
  • [FACES-129] - Implement 5.4.3 Navigating to a mode's last viewId
  • [FACES-130] - Implement 6.1.3.1 Deviations to ExternalContext#encodeActionURL(String)
  • [FACES-131] - Implement 6.1.3.1 Deviations to ExternalContext#encodeResourceURL(String)
  • [FACES-133] - Implement 6.1.3.1 Deviations to ExternalContext#getRequestParameterMap()
  • [FACES-134] - Implement 6.1.3.1 Deviations to ExternalContext#getRequestParameterNames()
  • [FACES-135] - Implement 6.1.3.1 Deviations to ExternalContext#getRequestParameterValuesMap()
  • [FACES-136] - Implement 6.1.3.1 Deviations to ExternalContext#getRequestPathInfo()
  • [FACES-137] - Implement 6.1.3.1 Deviations to ExternalContext#getRequestServletPath()
  • [FACES-138] - Implement 6.1.3.2 Conformity to ExternalContext#encodeNamespace(String)
  • [FACES-139] - Implement 6.2 ViewHandler and 6.2.1 ViewHandler Method Requirements
  • [FACES-142] - Implement 6.6 Namespacing (X-JAVAX-PORTLET-FACES-NAMESPACED-RESPONSE)
  • [FACES-143] - Implement 6.7 Supporting isPostback() during RENDER_PHASE
  • [FACES-146] - Implement 6.8.1 Managed Bean Changes / 6.8.2 Bridge requirements (PreDestroy for managed-beans)
  • [FACES-147] - Implement 7. Supporting Faces WriteBehindResponse
  • [FACES-148] - Implement 8.7 Excluding Attributes (ExcludeFromManagedRequestScope annotation)
  • [FACES-150] - Implement PortletContext attribute bridgePublicRenderParameterHandler
  • [FACES-151] - Add interface BridgeWriteBehindResponse
  • [FACES-152] - Implement 6.6 Namespacing (PortletNamingContainer annotation)
  • [FACES-153] - Apply PortletNamingContainer annotation to PortletNamingContainerUIViewRoot
  • [FACES-154] - Implement constant Bridge#MAX_MANAGED_REQUEST_SCOPES
  • [FACES-155] - Implement constant Bridge#RENDER_POLICY
  • [FACES-156] - Implement constant Bridge#SAVESTATE_FIELD_MARKER
  • [FACES-157] - Implement constant Bridge#PRESERVE_ACTION_PARAMS
  • [FACES-158] - Implement constant Bridge#EXCLUDED_REQUEST_ATTRIBUTES
  • [FACES-160] - Implement constant Bridge.PORTLET_MODE_PARAMETER
  • [FACES-161] - Implement constant Bridge#PORTLET_WINDOWSTATE_PARAMETER
  • [FACES-162] - Implement constant Bridge#PORTLET_SECURE_PARAMETER
  • [FACES-163] - Implement constant Bridge#DIRECT_LINK
  • [FACES-164] - Implement constant Bridge#IN_PROTOCOL_RESOURCE_LINK
  • [FACES-165] - Implement constant Bridge#BACK_LINK
  • [FACES-166] - Implement constant Bridge#VIEW_LINK
  • [FACES-167] - Implement constant Bridge#IS_POSTBACK_ATTRIBUTE
  • [FACES-168] - Implement constant Bridge#RENDER_CONTENT_AFTER_VIEW
  • [FACES-169] - Implement constant Bridge#AFTER_VIEW_CONTENT
  • [FACES-170] - Implement constant Bridge#VIEWID_HISTORY
  • [FACES-171] - Implement constant Bridge#PORTLET_NAMESPACED_RESPONSE_PROPERTY
  • [FACES-172] - Implement constant Bridge#NONFACES_TARGET_PATH_PARAMETER
  • [FACES-173] - Implement constant Bridge#FACES_PUBLIC_RENDER_PARAMETER_HANDLER
  • [FACES-174] - Implement constant Bridge#FACES_USE_CURRENT_VIEW_PARAMETER
  • [FACES-175] - Implement Enum Bridge#BridgeRenderPolicy
  • [FACES-176] - Implement constant GenericFacesPortlet#BRIDGE_AUTO_DISPATCH_EVENTS
  • [FACES-179] - Write reference documentation with docbook
  • [FACES-182] - Refactor support for GenericPortlet.doHeaders(RenderRequest, RenderResponse)
  • [FACES-184] - Remove obsolete constants DEFAULT_CHARACTERSET_ENCODING and DEFAULT_CONTENT_TYPE from GenericFacesPortlet
  • [FACES-186] - Update dependency on Servlet 2.4 API to Servlet 2.5 API
  • [FACES-188] - Implement 5.4.1 Mode changes and Lifecycle management
  • [FACES-199] - Rename FacesConfig to BridgeConfig
  • [FACES-200] - Develop API adapter classes in order to simplify the contract for PortletContainer
  • [FACES-306] - Refactor BridgeFactory to BridgePhaseFactory and encapsulate BridgeImpl behavior with new BridgePhase interface
  • [FACES-1162] - Upgrade demo portlets from ICEfaces2 to ICEfaces3
  • [FACES-1245] - Repackage UploadedFile from com.liferay.faces.bridge.component to com.liferay.faces.bridge.model
  • [FACES-1247] - Refactor jsf2-portlet to support multiple file upload with a single bridge:inputFile component tag
  • [FACES-1248] - Refactor icefaces3-compat-portlet to use ice:dataTable and ice:panelPopup
  • [FACES-1255] - Develop test-setup-hook
  • [FACES-1259] - Workaround bugs in 3rd party component suites that assume there is only one lifecycleId
  • [FACES-1262] - Upgrade primefaces3-portlet to PrimeFaces 3.3
  • [FACES-1314] - Develop test/bridge-tck/bridge-tck-compat project
  • [FACES-1319] - Develop test/bridge-tck/bridge-tck-main-portlet project
  • [FACES-1320] - Develop test/bridge-tck/bridge-tck-lifecycle-set-portlet project
  • [FACES-1321] - Develop test/bridge-tck/bridge-tck-response-wrapper-portlet
  • [FACES-1322] - Promote maven profiles from demos parent pom to main parent pom
  • [FACES-1323] - Isolate Liferay Portal Service Layer API differences for test-setup-hook
  • [FACES-1324] - Remove the factory wrapping code from bridge factory implementation classes
  • [FACES-1346] - Develop test/bridge-tck/bridge-tck-runner
  • [FACES-1378] - Upgrade demo portlets to ICEfaces 3.1.0
  • [FACES-1383] - Add remaining Bridge TCK test projects
  • [FACES-1402] - Add default users to test-setup-hook

Improvement

  • [FACES-8] - Introduce HeadResponseWriter so that any JSF component renderer can render to the <head>...</head> section of the portal page
  • [FACES-9] - Render stylesheet resources at the top of the body div, rather than at the bottom
  • [FACES-187] - Develop BridgeFlashFactory in order to create instances of the Flash scope provided by the JSF runtime
  • [FACES-194] - Rename FacesConfiguration to FacesConfig and refactor discovery of implementation from BridgeUtil to BridgeFactoryFinder
  • [FACES-195] - Refactor factories such that they throw javax.faces.FacesException instead of javax.portlet.PortletException
  • [FACES-197] - Provide factory mechanism for creating instances of BridgeNavigationHandler
  • [FACES-201] - Develop new BridgeContext abstraction and refactor BridgeFactoryFinder
  • [FACES-214] - Refactor save/restore of Flash scope
  • [FACES-215] - Simplify API of PortletContainerFactory
  • [FACES-217] - Improve debugging of missing resource URLs to include the FQCN of the failed ResourceHandler
  • [FACES-219] - Optimization - assume that developers don't want the BridgeRequestScope preserved at the end of the RenderRequest
  • [FACES-220] - Optimization - cache action URLs, and partial-action URLs, render URLs, and resource URLs
  • [FACES-221] - Expand API of UploadedFile interface
  • [FACES-225] - Support for parameters javax.portlet.faces.PortletMode and javax.portlet.faces.WindowState inside ExternalContext
  • [FACES-245] - Refactor the way in which Liferay portlet URLs are built
  • [FACES-256] - Support additional MIME types when calling ExternalContextImpl#getMimeType(String)
  • [FACES-276] - Refactor FactoryFinder to use generics
  • [FACES-279] - Refactor instantiation of BridgeNavigationHandler to use JSF standard mechanism
  • [FACES-1173] - Refactor icefaces3-portlet to use the ace:dateTimeEntry component
  • [FACES-1174] - Refactor icefaces3-documents-portlet to use ace:fileEntry
  • [FACES-1198] - Refactor icefaces3-users-portlet to use the new ace:dataTable component
  • [FACES-1215] - Upgrade richfaces4-portlet from h:dataTable to rich:dataTable
  • [FACES-1229] - Split jsf2-ipc-events-portlet into two separate portlets in order to better demonstrate Events IPC
  • [FACES-1232] - Simplify PortletContainerFactory and PortletContainer constructors
  • [FACES-1235] - Refactor richfaces4-portlet to use rich:fileUpload and additional usage of a4j component tags
  • [FACES-1239] - Rename ResponseOutputWriter to RenderRedirectWriter
  • [FACES-1240] - Auto-detect PrimeFaces 3.2 so that com.liferay.faces.bridge.primeFileUploadForceResourceURL context-param is no longer necessary
  • [FACES-1241] - Refactor UploadedFile interface to better align with Servlet 3.0, ICEfaces, PrimeFaces, and RichFaces
  • [FACES-1253] - Convert BridgeContext from an interface to an abstract class and maintain instance as a ThreadLocal singleton
  • [FACES-1271] - Refactor ProductMap to follow the Singleton pattern and remove BridgeConfig.getProducts() method
  • [FACES-1276] - Automate bridge configuration default values for TCK compatibility
  • [FACES-1341] - Refactor BridgeFlashFactory so that it can be wrapped like any other FactoryWrapper
  • [FACES-1348] - Refactor management of BridgeRequestScope
  • [FACES-1356] - Develop detection of support for POST-REDIRECT-GET design pattern by the portlet container and handle removal of excluded attributes accordingly
  • [FACES-1358] - Develop JSF1 <-> JSF2 compatibility layer
  • [FACES-1360] - No longer include namespace prefix when namespace optimization is disabled
  • [FACES-1362] - Merge bridge-tck-runner project into bridge-tck-main-portlet project
  • [FACES-1364] - Upgrade to portlet-bridge-tck version jsr329-1.0.1-SNAPSHOT
  • [FACES-1366] - Optimize processing of incoming public render parameters so that model expressions are only processed if the parameter is present
  • [FACES-1370] - Upgrade to MyFaces 2.1.8
  • [FACES-1371] - Combine the different bridge JSF lifecycles into a single lifecycle with id "DEFAULT"
  • [FACES-1374] - Move ProductMap from liferay-faces-bridge-impl to liferay-faces-util
  • [FACES-1375] - Move character related string constants from com.liferay.faces.bridge.BridgeConstants to com.liferay.faces.util.lang.StringPool
  • [FACES-1376] - Move ManagedBeanUtil from liferay-faces-bridge-impl to liferay-faces-util
  • [FACES-1380] - Flatten-out test directory hierarchy
  • [FACES-1385] - Refactor icefaces3-chat-portlet to make it look more like the Liferay chat-portlet
  • [FACES-1408] - Upgrade from Liferay Portal 6.1.0 API to 6.1.1

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.