Release Notes - PUBLIC - Liferay Faces - Version liferay-faces-3.0.5-legacy-ga6 - HTML format

Regression Bug

  • [FACES-1919] - ArrayIndexOutOfBoundException thrown by bridge:inputFile when trying to upload multiple files
  • [FACES-2269] - ClientScriptLiferayImpl overwrites existing ScriptData

Bug

  • [FACES-1192] - ExternalContext.getRequestLocales() does not return a new Iterator each time it is called
  • [FACES-1557] - Problem passing parameters to f:viewParam
  • [FACES-1789] - Missing XML declaration in various pom.xml descriptors
  • [FACES-1880] - fix timing issue for job application tester commentsFunctioning test
  • [FACES-1883] - FACES1635ResourcesTest not checking for script src duplicates
  • [FACES-1888] - jsf2-export-pdf-portlet selenium test fails after deleting data and restarting
  • [FACES-1891] - CustomerResourceHandler.handleResourceRequest(facesContext) method does not pass responsibility to the resource-handler delegation-chain
  • [FACES-1899] - ShortHelper, IntegerHelper, and LongHelper ignore default values
  • [FACES-1907] - Use of Calendar.getInstance() is not thread safe.
  • [FACES-1908] - Missing pluginType configuration for liferay-maven-plugin
  • [FACES-1917] - Security vulnerability with _jsfBridgeViewId, _facesViewIdRender, and _facesViewIdResource URL parameter values
  • [FACES-1920] - IllegalStateException when executing JSR 329 TCK TestPage039 (requestNoScopeOnRedirectTest) and TestPage176 (redirectActionTest)
  • [FACES-1923] - Multiple values aren't set when using multipart form
  • [FACES-1931] - ResourceRichFacesImpl does not implement missing wrapper methods from ResourceWrapper
  • [FACES-1938] - CustomerExportResourceHandler in jsf2-export-pdf-portlet incorrectly extends ResourceHandlerBridgeImpl instead of ResourceHandlerWrapper
  • [FACES-1941] - NullPointerException thrown by IPCPhaseListener
  • [FACES-1945] - Fix references to VDLDoc XSD now that VDLDoc moved from GoogleCode to GitHub
  • [FACES-1956] - PartialViewContextCleanupImpl can fail to cleanup children of UIData components when iterator variables are used in EL expressions
  • [FACES-1960] - i18n EL keyword has an underlying cache that is not synchronized
  • [FACES-1966] - MessageContextImpl.newFacesMessage(Locale, Severity, String) does not delegate message lookup to the chain-of-responsibility
  • [FACES-1967] - MyFaces is not working since ApplicationImpl.java is missing the method @Override for createComponent(FacesContext, String, String)
  • [FACES-1976] - XMLReaderImpl not parsing text inside of elements that have one or more attributes
  • [FACES-1977] - Liferay Faces Bridge does not override the PrimeFaces 5.x BodyRenderer
  • [FACES-1987] - Messages provided by the JSF runtime are not retrieved by MessageContextImpl
  • [FACES-1993] - Ajax postbacks failing to "render" in Liferay Portal
  • [FACES-2000] - AlloyUI JavaScript is rendered within an AUI sandbox when it is rendered inline
  • [FACES-2006] - BridgeFactoryFinderImpl not thread safe
  • [FACES-2022] - Bridge prevents developers from using ActionResonse.sendRedirect(String)
  • [FACES-2024] - CustomerExportResource.getInputStream() does not pass the htmlFragment to PDFUtil.TXT2PDF in the jsf2-export-pdf-portlet
  • [FACES-2026] - Infinite recursion in LiferayFacesContext.getPortletPreferenceAsShort
  • [FACES-2027] - UploadedFileBridgeImpl does not implement java.io.Serializable
  • [FACES-2058] - Component attributes with <method-signature> have incorrect and unnecessary information
  • [FACES-2059] - Component documentation contains incorrect HTML
  • [FACES-2060] - Some vdldoc not generated
  • [FACES-2075] - HeadResponseWriter.writeURIAttribute(String name, Object value, String property) does not escape the specified URI value
  • [FACES-2076] - ElementImpl.toString() is not generating a self-closing tag for <link />
  • [FACES-2091] - Bridge Request Scope is incorrectly preserved after a redirect or portlet mode change
  • [FACES-2093] - NullPointerException in BeanManagerMojarraImpl.invokePreDestroyMethods()
  • [FACES-2095] - Liferay Faces shouldn't have a compile time dependency on the JSF implementation
  • [FACES-2096] - The Liferay Faces demos shouldn't have a compile time dependency on the Liferay Faces Bridge implementation
  • [FACES-2097] - glassfish jsf-api jar is getting included in portlets built with the weblogic profile
  • [FACES-2108] - PortletConfigParam.UploadedFileMaxSize should is not able to accept a 64 bit long value
  • [FACES-2110] - Job application portlets are failing the commentsFunctioning integration test
  • [FACES-2112] - NullPointerException in HeadPhaseListener.beforeApplyRequestValuesPhase(PhaseEvent)
  • [FACES-2124] - Build system outputs warning "Using platform encoding"
  • [FACES-2126] - Exception occurs when executing a form which includes rich:fileUpload
  • [FACES-2127] - empty page shown when navigating via Ajax to page with <title> element in <h:head>
  • [FACES-2128] - NotSerializableException thrown for RichFacesUploadedFileHandler
  • [FACES-2133] - NullPointerExeption and NetworkError 400 (Bad Request) by using a4j:mediaOutput from RichFaces
  • [FACES-2135] - HeadRendererBridgeImpl does not render children
  • [FACES-2137] - The liferay-faces-maven-plugin is not prevented from being deployed/published to an artifact repository
  • [FACES-2145] - test/integration util jar is not getting installed
  • [FACES-2154] - groupId for maven-warpath-plugin is incorrect for the bridge-tck-response-wrapper-portlet
  • [FACES-2157] - h:message and h:messages ignore the styleClass attribute
  • [FACES-2168] - It is not possible to override Liferay portlet parameters (which don't have namespace)
  • [FACES-2177] - ViewScope beans memory leak for Mojarra 2.1.28 and newer
  • [FACES-2180] - Liferay Faces Bridge is unable to add <meta> tags to the <head>...</head> section of the portal page
  • [FACES-2185] - Primefaces Extension pe:exporter component is incompatible with portlets
  • [FACES-2193] - Job application portlets are failing the dateValidation integration test
  • [FACES-2201] - Bridge does not remove the id of the PortletNamingContainerUIViewRoot from the list of execute and render ids from AjaxBehaviors
  • [FACES-2208] - AjaxBehaviorBridgeImpl InstantiationException on portal:inputSearch
  • [FACES-2211] - Unable to navigate via Ajax-redirect with alloy:commandButton navigation-use case in showcase-portlet
  • [FACES-2214] - maven-gpg-plugin attempts to sign integration tests which causes the maven-release-plugin to fail
  • [FACES-2215] - NPE in getValue in class RequestParameterValuesMapEntry.java
  • [FACES-2216] - BridgeContextImpl.redirect(String) throws NullPointerExcecption when javax.portlet.faces.DirectLink URL parameter is specified before RESTORE_VIEW phase executes
  • [FACES-2217] - Showcase error: LiferayResourceURLImpl cannot be cast to javax.portlet.PortletURL
  • [FACES-2221] - jsf2-jsp-portlet fails to submit when file is uploaded
  • [FACES-2222] - ResourceHandlerOuterImpl appears in the ResourceHandler delegation chain more than once
  • [FACES-2232] - The com.liferay.faces.util.xml.SAXParserFactory feature map is not thread-safe
  • [FACES-2264] - alloy:inputFile and bridge:inputFile fail to render on all branches except master due to incorrect delegate component type
  • [FACES-2267] - bridge:inputFile should not have instant-ajax usage in Showcase for JSF 2.1
  • [FACES-2277] - Invalid error message in the server log "bridgeRequestScope is NOT in the cache"
  • [FACES-2279] - test-setup-hook fails to deploy on Liferay Portal 6.2.3 GA4
  • [FACES-2289] - alloy:inputFile and bridge:inputFile use-cases do not check the uploaded file status
  • [FACES-2343] - Security vulnerability with accessing resources in JSF portlets
  • [FACES-2351] - Failure in OrderingTest on Bamboo server
  • [FACES-2359] - name = null for files uploaded by h:inputFile
  • [FACES-2361] - Security vulnerability with accessing a non-Faces view in JSF portlets
  • [FACES-2363] - When value is empty, bridge throws java.net.MalformedURLException: invalid name/value pair: name=
  • [FACES-2369] - Liferay Faces Bridge encodes URLs with zero-length parameter values as having a value of a space character
  • [FACES-2379] - Showcase bean methods annotated with @PostConstruct not called when running in JBoss AS
  • [FACES-2381] - icefaces3-crud-portlet test does not test whether a user has been added
  • [FACES-2402] - JavaDoc for portlet: component tags unavailable in Showcase
  • [FACES-2403] - Incorrect JavaDoc URL for bridge: and portlet: components in the Showcase component descriptions
  • [FACES-2419] - Liferay Faces BrowserSniffer factories do not support portals other than Liferay

New Feature

  • [FACES-287] - Develop browserSniffer EL keyword
  • [FACES-1311] - Support JSF 2.0 <ordering> element when parsing faces-config.xml descriptors
  • [FACES-1889] - sign in whether or not there is a welcome-theme deployed
  • [FACES-1893] - Develop wrappers for instances of classes/interfaces produced by bridge factories
  • [FACES-1933] - Develop new ContextMapFactory in order to provide the ability to easily decorate context maps
  • [FACES-1961] - Enable cache for i18n EL keyword only when ProjectStage != Development
  • [FACES-1968] - Develop simple templating feature for use with renderers
  • [FACES-1989] - Develop RichText interface and corresponding RichTextFactory for representing BBCode, Creole, and HTML rich text
  • [FACES-2018] - Develop new PostConstructApplicationConfigEvent
  • [FACES-2088] - Develop new BridgePortletRequestFactory and BridgePortletResponseFactory
  • [FACES-2113] - Develop new HeadResponseWriter and HeadResponseWriterFactory
  • [FACES-2118] - Develop new BridgePortalContext interface
  • [FACES-2121] - Enhance BridgeConfigFactory with the ability to decorate PortletConfig
  • [FACES-2136] - Develop liferay-faces:deploy goal for liferay-faces-maven-plugin
  • [FACES-2272] - Develop new BridgePortletContextFactory

Task

  • [FACES-1885] - Remove all repositories from settings.xml except the public repository at repository.liferay.com
  • [FACES-1930] - Upgrade bridge and demo portlets to commons-fileupload-1.3.1.jar and commons-io-2.2.jar
  • [FACES-1997] - Upgrade to maven-release-plugin 2.5.1
  • [FACES-2062] - Remove unnecessary configuration info and consoloidate redundant configuration info for generating components
  • [FACES-2242] - Upgrade 3.x branches to Mojarra 2.1.29-04
  • [FACES-2253] - Refactor portlet namespaced components to comply with portlet 2.0 spec and allow them to be generated by alloy-generator
  • [FACES-2259] - Remove UICleanup and CleanupRenderer interfaces from Liferay Portal 6.2 branches and deprecate in Liferay Portal 6.1/6.0/5.2 branches
  • [FACES-2266] - Backport relevant parts of the Showcase to the 3.1.x, 3.0.x, 3.0.x-legacy, 2.2.x, and 2.1.x branches
  • [FACES-2278] - Remove distinction between mojarra.version and icefaces.mojarra.version numbers
  • [FACES-2292] - Remove liferay-faces-init.jar module
  • [FACES-2308] - Delete com.liferay.faces.util.lang.FacesConstants
  • [FACES-2309] - Move constants and most methods from com.liferay.faces.util.render.RendererUtil to liferay-faces-alloy.jar
  • [FACES-2310] - Remove ".internal" from generated RENDERER_TYPE string constants
  • [FACES-2312] - Prevent getLabel() method from being generated in InputFileBase.java for bridge:inputFile
  • [FACES-2314] - Remove com.liferay.faces.util.component.ComponentUtil.appendToCssClasses(String,String) from the master (4.2.x) branch and deprecate in 3.2.x without replacement
  • [FACES-2315] - Delete the com.liferay.faces.util.component.ComponentUtil.convertSubmittedValue(FacesContext,ValueHolder,Object) static method
  • [FACES-2316] - Delete the ComponentUtil.matchComponentInViewRoot(FacesContext,String) static method in master (4.2.x) and deprecate in all other branches
  • [FACES-2317] - Move method com.liferay.faces.util.component.ComponentUtil.getClientVarName(FacesContext,ClientComponent) to liferay-faces-alloy.jar
  • [FACES-2323] - Remove the com.liferay.faces.util.application.ResourceConstants class in the master branch and deprecate in older branches
  • [FACES-2329] - Document why @Deprecated appears in ApplicationImpl.java
  • [FACES-2330] - Delete BridgeExt.BRIDGE_CONTEXT_ATTRIBUTE in the master (4.2.x) branch and move usage to Compat classes in older branches
  • [FACES-2345] - Clean Up Liferay Faces Code
  • [FACES-2353] - Remove the com.liferay.faces.bridge.internal.BridgeConstants class
  • [FACES-2431] - Upgrade to sonatype oss-parent version 9 and maven-javadoc-plugin version 2.10.3

Improvement

  • [FACES-1890] - Move faces-config processing from liferay-faces-bridge-impl to liferay-faces-util
  • [FACES-1900] - Develop new ConfigParam API for getting configuration parameter values from web.xml and portlet.xml
  • [FACES-1902] - Develop ComponentResource interface and corresponding ComponentResourceFactory
  • [FACES-1906] - Develop the ability for the test-setup-hook to add portlets to portal pages using different layout templates
  • [FACES-1912] - Consolidate common string constants into StringPool.java
  • [FACES-1918] - Enable fix-versions.pl script to fix xmlns of composite components in XHTML files
  • [FACES-1924] - Move i18n EL keyword from liferay-faces-portal to liferay-faces-util
  • [FACES-1928] - Remove compile-time dependency on portal-service.jar from Liferay Faces Alloy
  • [FACES-1934] - Move functionality that writes of <eval>...</eval> section from PartialViewContextCleanupImpl to new PartialViewContextScriptImpl class
  • [FACES-1936] - Move portlet bridge specific resource handling logic from ResourceHandlerWrapperBase to ResourceHandlerBridgeImpl
  • [FACES-1970] - Refactor bridge:inputFile to use new Java packaging scheme (Includes API Change)
  • [FACES-1975] - Configure value JSF ProjectStage in WEB-INF/web.xml descriptors using a Maven profile
  • [FACES-1999] - Render all component scripts within a single AUI().use() sandbox within ajax requests
  • [FACES-2019] - Move discovery of the Mojarra InjectionProvider from BridgeSessionListener to the new PostConstructApplicationConfigListener
  • [FACES-2021] - Prepare for OSGi by moving impl classes to internal sub-packages in order to clearly distinguish API from implementation
  • [FACES-2025] - Add MessageContextFactory and refactor MessageContext implementations to take advantage of factory discovery
  • [FACES-2028] - Source syntax improvements in the com.liferay.faces.alloy.el.AUI class
  • [FACES-2106] - Upgrade to VDLDoc 1.2
  • [FACES-2109] - Enable fix-versions.pl script to fix web-facelettaglibrary XML Schema in taglib.xml files
  • [FACES-2119] - Enable fix-versions.pl script to fix friendly-url-routes.xml
  • [FACES-2131] - Maven build system logs warnings about empty jars and unnecessarily installs .war artifacts in local .m2/repository
  • [FACES-2138] - Complete showcase pending pages - JSTL, Faces core, Facelets
  • [FACES-2142] - Value of id attribute for file upload form needs to be consistent for each demo portlet
  • [FACES-2146] - Move the creation of ActionURLs, RenderURLs, and ResourceURLs from PortletContainer to MimeResponse
  • [FACES-2147] - Remove portlet namespace optimization feature
  • [FACES-2156] - Remove RendererUtil.ALLOY_END_SCRIPT and replace with "});"
  • [FACES-2159] - Enable Liferay IDE to identify Liferay Faces demo/issue/test portlets as Liferay portlets
  • [FACES-2164] - Remove usage of StringPool string constants in components and consolidate method calls for ResponseWriters and StringBuilders
  • [FACES-2166] - Remove PortletContainer, PortletContainerWrapper, and PortletContainerFactory
  • [FACES-2171] - Clarify the contract of BridgeURL by moving URI functionality to the new BridgeURI class
  • [FACES-2172] - Simplify the class hierarchy of bridge URLs by removing marker interfaces
  • [FACES-2173] - Move implementation of BridgeContext.dispatch(String) to ExternalContext
  • [FACES-2176] - Enable fix-versions.pl to fix builder.copyright.year in generator.properties
  • [FACES-2178] - Follow JSF 2.3 convention of having Facelet views under WEB-INF/views and composite components under WEB-INF/resources
  • [FACES-2192] - Refactor the order of Liferay Faces Jars
  • [FACES-2224] - Upgrade RichFaces demos to 4.5.6.Final
  • [FACES-2225] - Simplify the syntax of <security-constraint> configuration in WEB-INF/web.xml descriptors
  • [FACES-2228] - Enable fix-versions.pl script to fix xml schema versions inside of Facelet taglib.xml descriptors
  • [FACES-2233] - Rename com.liferay.faces.util.xml.SAXParserFactory to ConcurrentSAXParserFactory
  • [FACES-2235] - Develop new JspAdapterFactory
  • [FACES-2236] - Move TextResourceUtil code into CodeExampleUtil in Showcase Common
  • [FACES-2238] - Remove interface com.liferay.faces.util.logging.LogRecordFactory
  • [FACES-2250] - Enable fix-versions.pl script to fix navigation-rule.xml descriptors
  • [FACES-2254] - Remove ClientScriptLiferayImpl dependency on ExtFacesContext
  • [FACES-2274] - Replace ClientScript code with new FacesRequestContext and simple Script
  • [FACES-2276] - Remove the BridgeContext.isBridgeRequestScopePreserved() method
  • [FACES-2281] - Speed up development by building fewer modules when the development profile is specified
  • [FACES-2296] - Enable fix-versions.pl to fix versions inside of web.xml descriptors
  • [FACES-2299] - Remove the dependency that liferay-faces-util.jar has on portal-service.jar
  • [FACES-2300] - Develop new BrowserSnifferFactoryLiferayImpl and move Liferay Portal specific BrowserSniffer code from liferay-faces-util to liferay-faces-bridge
  • [FACES-2302] - Add the runtime scope to the liferay-faces-bridge-impl artifact in the pom.xml descriptor for the liferay-faces-portal project
  • [FACES-2303] - Remove "throws FacesException" from API methods
  • [FACES-2320] - Move the com.liferay.faces.util.render.HttpHeaders interface to package com.liferay.faces.util
  • [FACES-2321] - Move the com.liferay.faces.util.render.ContentTypes interface to package com.liferay.faces.util
  • [FACES-2324] - Improve readability of source code by removing dependencies on simple StringPool constants
  • [FACES-2360] - Enable fix-versions.pl to fix the versions in the liferay-hook.xml files.
  • [FACES-2362] - Upgrade bridge demos to use a newer version of selenium
  • [FACES-2371] - Improvements to bridge testers and back ports of FACES-2362
  • [FACES-2372] - Improvements to bridge demo testers
  • [FACES-2375] - Add error check to job application testers
  • [FACES-2382] - add more instructions to the FACES-1470 portlet

Sub-Task

  • [FACES-2092] - Remove PortletContainer.redirect(String)
  • [FACES-2116] - Remove "extends PhaseListener" from PortletContainer interface
  • [FACES-2120] - Remove request parameter methods from PortletContainer interface
  • [FACES-2122] - Remove the BridgeContext.getResponseNamespace() and PortletContainer.getResponseNamespace() methods
  • [FACES-2123] - Remove PortletContainer.getRequestQueryString() and PortletContainer.getRequestURL() methods
  • [FACES-2125] - Remove PortletContainer.setMimeResponseContentType(MimeResponse mimeResponse, String contentType) method
  • [FACES-2129] - Remove PortletContainer.maintainRenderParameters(EventRequest, EventResponse) method
  • [FACES-2132] - Remove PortletContainer.getHeader(String) and PortletContainer.getHttpServletRequestDateHeader(String) methods
  • [FACES-2165] - Remove PortletContainer.create*URL(String) methods
  • [FACES-2174] - Move the Liferay SharedPageTop processing from PortletContainer to a PhaseListener
  • [FACES-2301] - Move com.liferay.faces.util.portal.ScriptTagUtil from liferay-faces-util.jar to liferay-faces-bridge-impl.jar and liferay-faces-portal.jar
  • [FACES-2304] - Delete com.liferay.faces.util.portal.WebKeys from liferay-faces-util.jar from master and deprecate in older branches
  • [FACES-2305] - Delete com.liferay.faces.util.portal.LiferayPortletUtil from liferay-faces-util.jar
  • [FACES-2306] - Move com.liferay.faces.util.portal.EditorUtil from liferay-faces-util.jar to liferay-faces-portal.jar
  • [FACES-2307] - Delete com.liferay.faces.util.portal.LiferayThemeDisplayUtil from liferay-faces-util.jar

Edit/Copy Release Notes

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