myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Created] (MYFACES-3612) [perf] compress/remove spaces for facelets html markup
Date Fri, 21 Sep 2012 04:02:07 GMT
Leonardo Uribe created MYFACES-3612:
---------------------------------------

             Summary: [perf] compress/remove spaces for facelets html markup
                 Key: MYFACES-3612
                 URL: https://issues.apache.org/jira/browse/MYFACES-3612
             Project: MyFaces Core
          Issue Type: New Feature
          Components: JSR-314
            Reporter: Leonardo Uribe


Facelets algorithm usually takes almost all spaces in a page and output them directly. The
algorithm only trim the spaces on the right, but it doesn't do anything about the spaces/tabs
on the left.

Thinking about how to solve this properly, I notice html markup is compiled in a list of Instruction
instances, that follows a command pattern to do calls over ResponseWriter. It is possible
to use that information and decide when remove all spaces between two elements or when just
let one space or line break in between or at the begin/end of the html markup.

This optimization can reduce effectively the amount of information sent to the client with
minimal side effects. Anyway, to keep compatibility with the reference implementation (and
keep running some tests) we cannot enable this one by default.

The proposal is add an extra element in faces-config file like this:

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                         http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
                         version="2.1">
<faces-config-extension>
    <facelets-processing>
        <file-extension>.xhtml</file-extension>
        <process-as>xhtml</process-as>
        <oam-compress-spaces>true</oam-compress-spaces>
    </facelets-processing>
</faces-config>

Suggestions are welcome.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message