myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Wessendorf <mat...@apache.org>
Subject Re: [Trinidad 2.0] introducing ProjectStage API
Date Wed, 02 Dec 2009 20:04:46 GMT
On Wed, Dec 2, 2009 at 8:32 PM, Martin Koci <martin.koci@aura.cz> wrote:
> Hi,
>
> my question was not clear probably, so I try to reformulate it:
>
> - Trindad has param  CHECK_FILE_MODIFICATION
> - JSF 2.0 has param FACELETS_REFRESH_PERIOD
> - javax.faces.ProjectStage is a general parameter at higher level of
> abstraction than previous two
> - FACELETS_REFRESH_PERIOD vs. ProjectStage is not specified, it is a
> implementation detail

I am not surprised, that this is not specified. The entire
specification doesn't even bother to talk about
"FACELETS_REFRESH_PERIOD" at all.


>
> What happens if user set combination of all?
>
> 1) javax.faces.FACELETS_REFRESH_PERIOD
> 2) org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION
> 3) javax.faces.ProjectStage
>
> What I'm trying to say is  that there are already *three* params with
> influence to view reloading and that is too much for user.
>
> Because facelets2 have own standardized FACELETS_REFRESH_PERIOD I
> suggest:
> - org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION  only valid for
> JSPs (but consider project stage CHECK_FILE_MODIFICATION is not set
> explicitly)
> - for Facelets2 leave it to JSF impl (it will simply consider both
> javax.faces params as suggested in
> https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1434)
>
> Or am I missing a basic point?


For the CHECK_FILE_MODIFICATION I am planing (and that is true for
other params) to give ProjectStage the highest priority.
So, if application is on PRODUCTION, the "CHECK_FILE_MODIFICATION "
will be FALSE.
Now, if somebody sets the CHECK_FILE_MODIFICATION => TRUE, we will
honor that AND we will log a WARNING that somebody is maybe
"confused" with the parameters.

Same for DEVELOPEMENT and the CHECK_FILE_MODIFICATION is set to FALSE.
There we will log that it DEVELOPMENT_STAGE you may want
CHECK_FILE_MODIFICATION to be TRUE

On a similar pattern, I think the unspecified FACELETS_REFRESH_PERIOD
fits in here. Does that make sense?

-Matthias


>
>
> Thanks,
>
> Martin Kočí
>
>
> Matthias Wessendorf píše v St 02. 12. 2009 v 15:18 +0100:
>> yep, that's what I was saying
>>
>> On Wed, Dec 2, 2009 at 3:04 PM, Jakob Korherr <jakob.korherr@gmail.com> wrote:
>> > Hi,
>> >
>> > I think the best way would be that the init parameters have stage related
>> > standard values (actually that what Matthias suggested), for example:
>> >
>> > If we are in ProjectStage.Production the standard value of
>> > org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION is false, otherwise
>> > it is true.
>> >
>> > But this only sets the DEFAULT value. The user still can configure each
>> > parameter independently by putting it in web.xml.
>> >
>> > Regards
>> >
>> > Jakob Korherr
>> >
>> > 2009/12/2 Martin Koci <martin.koci@aura.cz>
>> >>
>> >> Hi,
>> >>
>> >> does trinidad reload both JSP and facelets views if
>> >> org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION=true?
>> >>
>> >> For facelets based views there is a new JSF 2.0 param
>> >> javax.faces.FACELETS_REFRESH_PERIOD (-1 = never reload, 0=always, 1,2,
>> >> 3,.. - check interval) but it's relation to project stage is not clear -
>> >> see https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1434
>> >>
>> >> Martin Kočí
>> >>
>> >> Matthias Wessendorf píše v St 02. 12. 2009 v 09:25 +0100:
>> >> > Hi,
>> >> >
>> >> > here is a (complete?) list of all Trinidad configuration parameters:
>> >> >
>> >> > * System Properties ( => System.getProperty(....)):
>> >> > org.apache.myfaces.trinidad.CHECK_STATE_SERIALIZATION
>> >> > documentation is here:
>> >> > http://issues.apache.org/jira/browse/TRINIDAD-1245
>> >> >
>> >> > http://myfaces.apache.org/trinidad/trinidad-api/apidocs/org/apache/myfaces/trinidad/bean/util/StateUtils.html
>> >> >
>> >> > ==> does not really make sense to port to Stage.....
>> >> >
>> >> > * The "trinidad-config.xml" file:
>> >> > See here for infos about it:
>> >> > http://myfaces.apache.org/trinidad/devguide/configuration.html
>> >> >
>> >> > I think that ONLY this element could make sense:
>> >> > -<debug-output>
>> >> > (e.g. as for PRODUCTION you want FALSE here... )
>> >> >
>> >> > * Settings in the WEB.XML (aka Context Parameters):
>> >> > Some info is here as well:
>> >> > http://myfaces.apache.org/trinidad/devguide/configuration.html
>> >> >
>> >> > The web.xml has different types of settings:
>> >> > some fit to ProjectStage, some not......
>> >> >
>> >> > Here is a grouped list, where I think they don't make sense with
>> >> > project_stage at all:
>> >> > -org.apache.myfaces.trinidad.CACHE_VIEW_ROOT
>> >> > -org.apache.myfaces.trinidad.CLIENT_STATE_METHOD
>> >> > -org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS
>> >> > -org.apache.myfaces.trinidad.CHANGE_PERSISTENCE
>> >> > -org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE
>> >> > -org.apache.myfaces.trinidad.ENABLE_LIGHTWEIGHT_DIALOGS
>> >> > -org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER
>> >> > -org.apache.myfaces.trinidad.FACELETS_VIEW_MAPPINGS
>> >> > -org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY
>> >> > -org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE
>> >> > -org.apache.myfaces.trinidad.UPLOAD_TEMP_DIR
>> >> >
>> >> > These parameters do make sense:
>> >> > -org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT
>> >> > -org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
>> >> > -org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION
>> >> > -org.apache.myfaces.trinidad.resource.DEBUG
>> >> > (note, we need a bug here, as this is NOT documented in the "official
>> >> > documentation" :-) )
>> >> >
>> >> > This parameter _may_ make sense (*caution:* it is an internal and
>> >> > temporary param):
>> >> > -org.apache.myfaces.trinidadinternal.ENABLE_PPR_OPTIMIZATION
>> >> > See http://issues.apache.org/jira/browse/TRINIDAD-1368
>> >> >
>> >> > So basically, only these make sense (for me):
>> >> > -org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT
>> >> > -org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
>> >> > -org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION
>> >> > -org.apache.myfaces.trinidad.resource.DEBUG
>> >> > -org.apache.myfaces.trinidadinternal.ENABLE_PPR_OPTIMIZATION (*see
>> >> > above)
>> >> > -<debug-output>
>> >> >
>> >> > Let me know if you agree with this list and I will follow up on what
>> >> > values they should have,
>> >> > in what STAGE....
>> >> >
>> >> > A note: Perhaps we want to be able to still override a _SINGLE_
>> >> > setting, regardless for the
>> >> > current STAGE. Means: If the application runs in
>> >> > "ProjectStage.Production", we do CSS compression.
>> >> > BUT... if the web.xml says
>> >> > "org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION => TRUE",
>> >> > we should honor that... This would give users a more fine grained
>> >> > control over these configuration settings.
>> >> >
>> >> > What do you think ?
>> >> >
>> >> > Greetings,
>> >> > Matthias
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>>
>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Mime
View raw message