You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2013/10/31 18:59:20 UTC

[jira] [Created] (MYFACES-3812) Cleanup Facelets Initialization Code and decouple facelets taglibrary config parsing

Leonardo Uribe created MYFACES-3812:
---------------------------------------

             Summary: Cleanup Facelets Initialization Code and decouple facelets taglibrary config parsing
                 Key: MYFACES-3812
                 URL: https://issues.apache.org/jira/browse/MYFACES-3812
             Project: MyFaces Core
          Issue Type: Task
          Components: JSR-344
            Reporter: Leonardo Uribe
            Assignee: Leonardo Uribe


In JSF 2.0, Facelets initialization code was just put in place to work right from facelets 1.1.x, but there was not included properly into MyFaces algorithm that loads configuration.

In this moment, half of the initialization of MyFaces Core is done at startup and the other half is done when FaceletViewDeclarationLanguage is created, which happens at the first request.

The code that parse facelets .taglib.xml is a simple sax parser that manipulates directly a TagLibrary. The problem with this is this config information once parsed cannot be serialized. Parse files is a slow process, so we need some classes like with org.apache.myfaces.config.element.FacesConfig, and provide implementation that can be serialized. The idea is just attach the information to FacesConfig using custom classes, and add a new source for FacesConfig information. In that way, it is possible to provide custom implementations of org.apache.myfaces.spi.FacesConfigurationProvider and override all MyFaces configuration in one step. The only exception is all web config params, but that's not a problem, because that information is managed and optimized for fast access by the web server.

This is something we need to do before 2.2.x release.



--
This message was sent by Atlassian JIRA
(v6.1#6144)