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-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 (when running under Liferay Portal)
- [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
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
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
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
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-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
Edit/Copy Release Notes
The text area below allows the project release notes to be edited and copied to another document.