Re: gsoc/webtest vs gsoc/manila?
Hi, Mhh why is the project not hosted on apache extras which would be the perfect place for now? Since there is no restriction for source code repositories from Google, I left this choice to the student (Jan), and he preferred assembla.com. However, it would totally be fine to move it to myfaces/gsoc in the near future. Regards, Jakob 2011/10/20 Werner Punz werner.p...@gmail.com: Mhh why is the project not hosted on apache extras which would be the perfect place for now? Werner Am 10/20/11 9:41 AM, schrieb Gerhard Petracek: hi mark, manila is the next generation of myfaces webapp-test. you already mentioned one of the restrictions/issues of myfaces webapp-test and that's the reason why we don't have a release (with manila everything would change in the release afterwards). manila solves most of the known issues and should replace webapp-test v1 as soon as we know that the approach of manila works in ci-servers. imo we should test it before we move the code to apache, because it's useless for us if there are basic issues (esp. in combination with jenkins). regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/10/20 Mark Struberg strub...@yahoo.de mailto:strub...@yahoo.de Hi folks! We now have 2 GSOC test projects which are based on Arquillian: a.) gsoc/webtest [1] which got implemented last year and is already in our SVN (but not yet released) and b.) gsoc/manila [2] which is not yet granted to the ASF (or is it?) What is the state of both projects? If I understood them correctly both cover the same areas (at least partly). Oh yes, and having to write something like: @WebappDependency.List ({ @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.openwebbeans:openwebbeans-impl:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-spi:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-jsf:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-resource:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-web:jar:1.1.0), @WebappDependency(javassist:javassist:jar:3.12.0.GA http://3.12.0.ga/), @WebappDependency(net.sf.scannotation:scannotation:jar:1.0.2) }) in a test Java class is an absolute no-go for me! This is terribly to maintain and will way too often be broken... Such things must NOT be part of any test class! LieGrue, strub [1] https://svn.apache.org/repos/asf/myfaces/gsoc/webapptest [2]http://subversion.assembla.com/svn/manila/trunk -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: gsoc/webtest vs gsoc/manila?
Hi Mark, Manila allows you to specify the test dependencies in several ways, you can have a look at the examples. @Manila hosting: I decided to use assembla SVN hosting because I already had several other private projects there. I don't mind moving it to Apache Extras. Jan On Thu, Oct 20, 2011 at 8:58 AM, Mark Struberg strub...@yahoo.de wrote: Hi folks! We now have 2 GSOC test projects which are based on Arquillian: a.) gsoc/webtest [1] which got implemented last year and is already in our SVN (but not yet released) and b.) gsoc/manila [2] which is not yet granted to the ASF (or is it?) What is the state of both projects? If I understood them correctly both cover the same areas (at least partly). Oh yes, and having to write something like: @WebappDependency.List ({ @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.openwebbeans:openwebbeans-impl:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-spi:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-jsf:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-resource:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-web:jar:1.1.0), @WebappDependency(javassist:javassist:jar:3.12.0.GA), @WebappDependency(net.sf.scannotation:scannotation:jar:1.0.2) }) in a test Java class is an absolute no-go for me! This is terribly to maintain and will way too often be broken... Such things must NOT be part of any test class! LieGrue, strub [1] https://svn.apache.org/repos/asf/myfaces/gsoc/webapptest [2]http://subversion.assembla.com/svn/manila/trunk
Re: gsoc/webtest vs gsoc/manila?
hi mark, manila is the next generation of myfaces webapp-test. you already mentioned one of the restrictions/issues of myfaces webapp-test and that's the reason why we don't have a release (with manila everything would change in the release afterwards). manila solves most of the known issues and should replace webapp-test v1 as soon as we know that the approach of manila works in ci-servers. imo we should test it before we move the code to apache, because it's useless for us if there are basic issues (esp. in combination with jenkins). regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/10/20 Mark Struberg strub...@yahoo.de Hi folks! We now have 2 GSOC test projects which are based on Arquillian: a.) gsoc/webtest [1] which got implemented last year and is already in our SVN (but not yet released) and b.) gsoc/manila [2] which is not yet granted to the ASF (or is it?) What is the state of both projects? If I understood them correctly both cover the same areas (at least partly). Oh yes, and having to write something like: @WebappDependency.List ({ @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.openwebbeans:openwebbeans-impl:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-spi:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-jsf:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-resource:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-web:jar:1.1.0), @WebappDependency(javassist:javassist:jar:3.12.0.GAhttp://3.12.0.ga/ ), @WebappDependency(net.sf.scannotation:scannotation:jar:1.0.2) }) in a test Java class is an absolute no-go for me! This is terribly to maintain and will way too often be broken... Such things must NOT be part of any test class! LieGrue, strub [1] https://svn.apache.org/repos/asf/myfaces/gsoc/webapptest [2]http://subversion.assembla.com/svn/manila/trunk
Re: gsoc/webtest vs gsoc/manila?
Mhh why is the project not hosted on apache extras which would be the perfect place for now? Werner Am 10/20/11 9:41 AM, schrieb Gerhard Petracek: hi mark, manila is the next generation of myfaces webapp-test. you already mentioned one of the restrictions/issues of myfaces webapp-test and that's the reason why we don't have a release (with manila everything would change in the release afterwards). manila solves most of the known issues and should replace webapp-test v1 as soon as we know that the approach of manila works in ci-servers. imo we should test it before we move the code to apache, because it's useless for us if there are basic issues (esp. in combination with jenkins). regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/10/20 Mark Struberg strub...@yahoo.de mailto:strub...@yahoo.de Hi folks! We now have 2 GSOC test projects which are based on Arquillian: a.) gsoc/webtest [1] which got implemented last year and is already in our SVN (but not yet released) and b.) gsoc/manila [2] which is not yet granted to the ASF (or is it?) What is the state of both projects? If I understood them correctly both cover the same areas (at least partly). Oh yes, and having to write something like: @WebappDependency.List ({ @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.core:myfaces-extcdi-core-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-jsf20-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-api:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.myfaces.extensions.cdi.modules:myfaces-extcdi-message-module-impl:jar:1.0.2-SNAPSHOT), @WebappDependency(org.apache.openwebbeans:openwebbeans-impl:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-spi:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-jsf:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-resource:jar:1.1.0), @WebappDependency(org.apache.openwebbeans:openwebbeans-web:jar:1.1.0), @WebappDependency(javassist:javassist:jar:3.12.0.GA http://3.12.0.ga/), @WebappDependency(net.sf.scannotation:scannotation:jar:1.0.2) }) in a test Java class is an absolute no-go for me! This is terribly to maintain and will way too often be broken... Such things must NOT be part of any test class! LieGrue, strub [1] https://svn.apache.org/repos/asf/myfaces/gsoc/webapptest [2]http://subversion.assembla.com/svn/manila/trunk
Re: [GSoC] MyFaces CODI RAD status
Hi, That sounds really great! I will do the required package refactoring and continue with the functionality impl. Regarding keeping it external at apache-extras sounds like the best solution for now, for integrating it as a sub-project of MyFaces I will try to provide a complete and reliable version and extract the core functionality for future IDE plugins. @Mark Thanks for the support, and yes if I encounter any issues it would be great to communicate with Lincoln Regards, Cosmin On Sat, Aug 27, 2011 at 10:42 PM, Mark Struberg strub...@yahoo.de wrote: Hi! a.) congratulations to the plugin, looks really good. Thanks for putting all this work into it! b.) I retweeted the repo link and Lincoln (creator and maintainer of Seam-Forge) already retweeted it. So if you need some further assistence, I'm sure we can connect you to the right people ;) LieGrue, strub --- On Fri, 8/26/11, Gerhard Petracek gerhard.petra...@gmail.com wrote: From: Gerhard Petracek gerhard.petra...@gmail.com Subject: Re: [GSoC] MyFaces CODI RAD status To: MyFaces Development dev@myfaces.apache.org Date: Friday, August 26, 2011, 6:39 PM hi cosmin, first of all thx for your work. i'm happy to hear that you plan to continue with the project. imo rule #1 is just for 3rd party projects to avoid that they use names of apache projects (without the permission of the community) in order to benefit from them. (before apache-extras started we reserved several project names for the same reason.)if other pmc members have objections, we have to think about it. however, we have to think about the future of this project: 1) keep it external at apache-extras (for now) and refactor package names (in this case all myfaces committers would get access as with other apache-extras projects related to myfaces)2) it continues as myfaces sub-project (e.g. near to other tools like archetypes) esp. with 2) we have to think about a lot of topics (esp. about current and future dependencies). since this project (currently) depends on the success of forge itself (which is still beta), i would keep it at apache extras. it's also easier for cosmin to continue with his work, because he doesn't have commit rights right now. (to keep the community involved, we should continue to use the myfaces dev list and wiki even though it is an external project.) regards,gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/26 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi everyone, The GSoC program for this year is finished and you can find the current status of the project at a new location[1]. The current 0.9.0 version provides the functionality proposed for this program, more details about the commands supported can be found in the README file. As part of the apache-extra project host the project doesn't completely comply with the guidelines. The problems come from:1) not using Apache or an existing Apache project name in your Apache Extras project name, and 2) not using org.apache as the prefix. I am considering renaming the packages as org.apacheExtra, any suggestion regarding this is welcomed. There is more work to be done for the plugin to be complete and eventually extend the functionality to other CODI IDE plugins, and I will be happy to continue working and supporting any Codi RAD functionality. Special thanks to Gerhard, my mentor for this program. Regards, Cosmin [1] http://code.google.com/a/apache-extras.org/p/myfaces-codi-rad/
Re: [GSoC] MyFaces CODI RAD status
Hi! a.) congratulations to the plugin, looks really good. Thanks for putting all this work into it! b.) I retweeted the repo link and Lincoln (creator and maintainer of Seam-Forge) already retweeted it. So if you need some further assistence, I'm sure we can connect you to the right people ;) LieGrue, strub --- On Fri, 8/26/11, Gerhard Petracek gerhard.petra...@gmail.com wrote: From: Gerhard Petracek gerhard.petra...@gmail.com Subject: Re: [GSoC] MyFaces CODI RAD status To: MyFaces Development dev@myfaces.apache.org Date: Friday, August 26, 2011, 6:39 PM hi cosmin, first of all thx for your work. i'm happy to hear that you plan to continue with the project. imo rule #1 is just for 3rd party projects to avoid that they use names of apache projects (without the permission of the community) in order to benefit from them. (before apache-extras started we reserved several project names for the same reason.)if other pmc members have objections, we have to think about it. however, we have to think about the future of this project: 1) keep it external at apache-extras (for now) and refactor package names (in this case all myfaces committers would get access as with other apache-extras projects related to myfaces)2) it continues as myfaces sub-project (e.g. near to other tools like archetypes) esp. with 2) we have to think about a lot of topics (esp. about current and future dependencies). since this project (currently) depends on the success of forge itself (which is still beta), i would keep it at apache extras. it's also easier for cosmin to continue with his work, because he doesn't have commit rights right now. (to keep the community involved, we should continue to use the myfaces dev list and wiki even though it is an external project.) regards,gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/26 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi everyone, The GSoC program for this year is finished and you can find the current status of the project at a new location[1]. The current 0.9.0 version provides the functionality proposed for this program, more details about the commands supported can be found in the README file. As part of the apache-extra project host the project doesn't completely comply with the guidelines. The problems come from:1) not using Apache or an existing Apache project name in your Apache Extras project name, and 2) not using org.apache as the prefix. I am considering renaming the packages as org.apacheExtra, any suggestion regarding this is welcomed. There is more work to be done for the plugin to be complete and eventually extend the functionality to other CODI IDE plugins, and I will be happy to continue working and supporting any Codi RAD functionality. Special thanks to Gerhard, my mentor for this program. Regards, Cosmin [1] http://code.google.com/a/apache-extras.org/p/myfaces-codi-rad/
Re: [GSoC] MyFaces CODI RAD status
hi cosmin, first of all thx for your work. i'm happy to hear that you plan to continue with the project. imo rule #1 is just for 3rd party projects to avoid that they use names of apache projects (without the permission of the community) in order to benefit from them. (before apache-extras started we reserved several project names for the same reason.) if other pmc members have objections, we have to think about it. however, we have to think about the future of this project: 1) keep it external at apache-extras (for now) and refactor package names (in this case all myfaces committers would get access as with other apache-extras projects related to myfaces) 2) it continues as myfaces sub-project (e.g. near to other tools like archetypes) esp. with 2) we have to think about a lot of topics (esp. about current and future dependencies). since this project (currently) depends on the success of forge itself (which is still beta), i would keep it at apache extras. it's also easier for cosmin to continue with his work, because he doesn't have commit rights right now. (to keep the community involved, we should continue to use the myfaces dev list and wiki even though it is an external project.) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/26 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi everyone, The GSoC program for this year is finished and you can find the current status of the project at a new location[1]. The current 0.9.0 version provides the functionality proposed for this program, more details about the commands supported can be found in the README file. As part of the apache-extra project host the project doesn't completely comply with the guidelines. The problems come from:1) not using Apache or an existing Apache project name in your Apache Extras project name, and 2) not using org.apache as the prefix. I am considering renaming the packages as org.apacheExtra, any suggestion regarding this is welcomed. There is more work to be done for the plugin to be complete and eventually extend the functionality to other CODI IDE plugins, and I will be happy to continue working and supporting any Codi RAD functionality. Special thanks to Gerhard, my mentor for this program. Regards, Cosmin [1] http://code.google.com/a/apache-extras.org/p/myfaces-codi-rad/
Re: [GSoC] CODI RAD
hi cosmin, thx for the update. i think users who prefer command-line tools will like it. with some additional work we could create e.g. ide plugins based on the core logic. i think it would be nice to promote it to apache-extras (it's easy for you to continue there). after an ongoing and close interaction with the community even after gsoc, ali became a committer last year. i'm looking forward to seeing the same with you and codi-rad. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/19 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program is near to it's finish and the features proposed and fixed for the project within this program are available at [1]. A new auto-complete functionality is added which can be tested with the codi viewconfigResource --name command, and also some fixes and enhancements were done. All the informations required to launch and test the plugin are available within the README file. I will enjoy continuing working on the project and would appreciate any feedback and future requirement suggestions. Regards, Cosmin [1] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: [GSoC] CODI RAD
Hi Looks great. It could be good to have a quick start guide, where step by step an application is created from scratch (installing tools, configuring, running, testing ...). regards, Leonardo Uribe 2011/8/19 Gerhard Petracek gerhard.petra...@gmail.com: hi cosmin, thx for the update. i think users who prefer command-line tools will like it. with some additional work we could create e.g. ide plugins based on the core logic. i think it would be nice to promote it to apache-extras (it's easy for you to continue there). after an ongoing and close interaction with the community even after gsoc, ali became a committer last year. i'm looking forward to seeing the same with you and codi-rad. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/19 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program is near to it's finish and the features proposed and fixed for the project within this program are available at [1]. A new auto-complete functionality is added which can be tested with the codi viewconfigResource --name command, and also some fixes and enhancements were done. All the informations required to launch and test the plugin are available within the README file. I will enjoy continuing working on the project and would appreciate any feedback and future requirement suggestions. Regards, Cosmin [1] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: [GSoC] CODI RAD
Hi, I have started working on such a quick start guide where using a forge script that contains a series of commands a complete application can be created. Some initial work can be found in the examples module of the project, but for it to be complete some more work is required for using a forge ScafoldProvider and also bringing more features to the plugin. Regarding extending in order to create IDE plugins, that will be great and I think it will not be to hard to extract a core impl because I tried to use forge support functionality as less as possible. Regards, Cosmin On Fri, Aug 19, 2011 at 10:34 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Looks great. It could be good to have a quick start guide, where step by step an application is created from scratch (installing tools, configuring, running, testing ...). regards, Leonardo Uribe 2011/8/19 Gerhard Petracek gerhard.petra...@gmail.com: hi cosmin, thx for the update. i think users who prefer command-line tools will like it. with some additional work we could create e.g. ide plugins based on the core logic. i think it would be nice to promote it to apache-extras (it's easy for you to continue there). after an ongoing and close interaction with the community even after gsoc, ali became a committer last year. i'm looking forward to seeing the same with you and codi-rad. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/19 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program is near to it's finish and the features proposed and fixed for the project within this program are available at [1]. A new auto-complete functionality is added which can be tested with the codi viewconfigResource --name command, and also some fixes and enhancements were done. All the informations required to launch and test the plugin are available within the README file. I will enjoy continuing working on the project and would appreciate any feedback and future requirement suggestions. Regards, Cosmin [1] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: [GSoC] Seam-Forge plugin for MyFaces CODI
Hi everyone, I have done some more work on the GSoC project Seam-Forge plugin for MyFaces CODI, the current status of the project can be checked at [1]. The features provided until now include: - *codi viewconfig-create-folder --name Pages* - creates a new Folder(ViewConfig) configuration named Pages in the base package directory and a new directory: ./main/webapp/pages - *codi viewconfig-create-folder --name Wizard --in Pages* - creates a new folder config named Wizard in the Pages ViewConfig and a new directory: ./main/webapp/pages/wizard - *codi viewconfig-create-page --name Step1 --in Pages.Wizard*- creates a new page config named Step1 in the Pages.Wizard folder and a new page:./main/webapp/pages/wizard/step1.xhtml - *codi viewconfig-create-config --name SecuredPages --voter LoginAccessDecisionVoter* - creates a new ViewConfig file called SecuredPages with an @Secured(LoginAccessDecisionVoter.class) annotation. Also an LoginAccessDecisionVoter java file which extends AbstractAccessDecisionVoter is created - codi viewconfig-list-all - prints all the configuration for a given ViewConfig. Other commands available are: - codi viewconfig-create-page --name ErrorPage --in Pages --errorPage - codi viewconfigResource --name Pages --redirect - codi viewconfigResource --name Pages.Wizard --extendWith SecuredPages - codi viewconfig-list-pages I provided a README.txt file in the project that will give more details. Any new requirements and suggestions are welcomed. Regards, Cosmin [1]http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD On Thu, Jul 7, 2011 at 7:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: hi cosmin, great! i'll have a look at it within the next days. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/7/7 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I am currently working on the Seam-Forge plugin for MyFaces CODI[1] project for this year's GSoC and I would highly appreciate your feedback regarding the implementation and any future requirements for the plugin. You can checkout the project from [2] where a README file will provide the necessary information regarding the setup and usage instruction. For now the plugin provides ''setup and add-new-view commands. The first one will install the CodiFacet which ensures that all required dependencies are added to a given project. The add-new-view command offers support for adding new views and view configurations in a type-safe CODI manner. I am currently working on the add-new-view functionality. Any inputs and suggestions regarding the plugin are welcomed. Regards, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD [2] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: [GSoC] Seam-Forge plugin for MyFaces CODI
hi cosmin, thx for the update! just a minor comment: maybe we should use viewconfig instead of viewconfigResource as name for the command. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/8/4 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi everyone, I have done some more work on the GSoC project Seam-Forge plugin for MyFaces CODI, the current status of the project can be checked at [1]. The features provided until now include: - *codi viewconfig-create-folder --name Pages* - creates a new Folder(ViewConfig) configuration named Pages in the base package directory and a new directory: ./main/webapp/pages - *codi viewconfig-create-folder --name Wizard --in Pages* - creates a new folder config named Wizard in the Pages ViewConfig and a new directory: ./main/webapp/pages/wizard - *codi viewconfig-create-page --name Step1 --in Pages.Wizard*- creates a new page config named Step1 in the Pages.Wizard folder and a new page:./main/webapp/pages/wizard/step1.xhtml - *codi viewconfig-create-config --name SecuredPages --voter LoginAccessDecisionVoter* - creates a new ViewConfig file called SecuredPages with an @Secured(LoginAccessDecisionVoter.class) annotation. Also an LoginAccessDecisionVoter java file which extends AbstractAccessDecisionVoter is created - codi viewconfig-list-all - prints all the configuration for a given ViewConfig. Other commands available are: - codi viewconfig-create-page --name ErrorPage --in Pages --errorPage - codi viewconfigResource --name Pages --redirect - codi viewconfigResource --name Pages.Wizard --extendWith SecuredPages - codi viewconfig-list-pages I provided a README.txt file in the project that will give more details. Any new requirements and suggestions are welcomed. Regards, Cosmin [1]http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD On Thu, Jul 7, 2011 at 7:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: hi cosmin, great! i'll have a look at it within the next days. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/7/7 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I am currently working on the Seam-Forge plugin for MyFaces CODI[1] project for this year's GSoC and I would highly appreciate your feedback regarding the implementation and any future requirements for the plugin. You can checkout the project from [2] where a README file will provide the necessary information regarding the setup and usage instruction. For now the plugin provides ''setup and add-new-view commands. The first one will install the CodiFacet which ensures that all required dependencies are added to a given project. The add-new-view command offers support for adding new views and view configurations in a type-safe CODI manner. I am currently working on the add-new-view functionality. Any inputs and suggestions regarding the plugin are welcomed. Regards, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD [2] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: GSOC 2011: MyFaces webapp tests
Hi, in the last few weeks I've been working on the GSOC project for Apache Myfaces (see http://wiki.apache.org/myfaces/GSoC2011_AutomatedTests) If you are curious you can check out the current source from http://subversion.assembla.com/svn/manila/ What's working: * starting tests in different JVM (fixes the classpath problem) * resolving of maven artifacts (including transitives) * starting same test in different configurations Still on the TODO list: * Implementation of the assertions (I'll be reusing parts of the code from GSOC2010) * Examples * Documentation Any feedback will be appreciated. Regards, Jan On Wed, Mar 30, 2011 at 11:06 PM, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Jan, Great to hear that! Welcome to MyFaces :) Regards, Jakob 2011/3/30 Gerhard Petracek gerhard.petra...@gmail.com: hi jan, that would be great! welcome @myfaces! please start writing a wiki page like cosmin did last year [1]. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/30 Jan Zarnikov jan.zarni...@gmail.com Hello, I would like to participate in Google Summer of Code 2011. I'm currently finishing my master studies in computer science at the University of Technology in Vienna. I looked at the topics for this year and I'm interested in MyFaces webapp tests (https://issues.apache.org/jira/browse/MYFACESTEST-47). I checked out the result of last year's GSOC by Cosmin and I like the concept behind it. Regards, Jan Zarnikov -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSOC 2011: MyFaces webapp tests
hi jan, sounds great - thx for the update! regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/7/11 Jan Zarnikov jan.zarni...@gmail.com Hi, in the last few weeks I've been working on the GSOC project for Apache Myfaces (see http://wiki.apache.org/myfaces/GSoC2011_AutomatedTests) If you are curious you can check out the current source from http://subversion.assembla.com/svn/manila/ What's working: * starting tests in different JVM (fixes the classpath problem) * resolving of maven artifacts (including transitives) * starting same test in different configurations Still on the TODO list: * Implementation of the assertions (I'll be reusing parts of the code from GSOC2010) * Examples * Documentation Any feedback will be appreciated. Regards, Jan On Wed, Mar 30, 2011 at 11:06 PM, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Jan, Great to hear that! Welcome to MyFaces :) Regards, Jakob 2011/3/30 Gerhard Petracek gerhard.petra...@gmail.com: hi jan, that would be great! welcome @myfaces! please start writing a wiki page like cosmin did last year [1]. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/30 Jan Zarnikov jan.zarni...@gmail.com Hello, I would like to participate in Google Summer of Code 2011. I'm currently finishing my master studies in computer science at the University of Technology in Vienna. I looked at the topics for this year and I'm interested in MyFaces webapp tests (https://issues.apache.org/jira/browse/MYFACESTEST-47). I checked out the result of last year's GSOC by Cosmin and I like the concept behind it. Regards, Jan Zarnikov -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSOC 2011: MyFaces webapp tests
Hi Jan, Yes, thanks a lot for the update on your project! Regards, Jakob 2011/7/11 Gerhard Petracek gerhard.petra...@gmail.com: hi jan, sounds great - thx for the update! regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/7/11 Jan Zarnikov jan.zarni...@gmail.com Hi, in the last few weeks I've been working on the GSOC project for Apache Myfaces (see http://wiki.apache.org/myfaces/GSoC2011_AutomatedTests) If you are curious you can check out the current source from http://subversion.assembla.com/svn/manila/ What's working: * starting tests in different JVM (fixes the classpath problem) * resolving of maven artifacts (including transitives) * starting same test in different configurations Still on the TODO list: * Implementation of the assertions (I'll be reusing parts of the code from GSOC2010) * Examples * Documentation Any feedback will be appreciated. Regards, Jan On Wed, Mar 30, 2011 at 11:06 PM, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Jan, Great to hear that! Welcome to MyFaces :) Regards, Jakob 2011/3/30 Gerhard Petracek gerhard.petra...@gmail.com: hi jan, that would be great! welcome @myfaces! please start writing a wiki page like cosmin did last year [1]. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/30 Jan Zarnikov jan.zarni...@gmail.com Hello, I would like to participate in Google Summer of Code 2011. I'm currently finishing my master studies in computer science at the University of Technology in Vienna. I looked at the topics for this year and I'm interested in MyFaces webapp tests (https://issues.apache.org/jira/browse/MYFACESTEST-47). I checked out the result of last year's GSOC by Cosmin and I like the concept behind it. Regards, Jan Zarnikov -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSoC] Seam-Forge plugin for MyFaces CODI
hi cosmin, great! i'll have a look at it within the next days. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/7/7 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I am currently working on the Seam-Forge plugin for MyFaces CODI[1] project for this year's GSoC and I would highly appreciate your feedback regarding the implementation and any future requirements for the plugin. You can checkout the project from [2] where a README file will provide the necessary information regarding the setup and usage instruction. For now the plugin provides ''setup and add-new-view commands. The first one will install the CodiFacet which ensures that all required dependencies are added to a given project. The add-new-view command offers support for adding new views and view configurations in a type-safe CODI manner. I am currently working on the add-new-view functionality. Any inputs and suggestions regarding the plugin are welcomed. Regards, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD [2] http://gsoc2011-seam-forge-codi-plugin.googlecode.com/svn/trunk/
Re: [GSoC] Seam-Forge plugin for MyFaces CODI
hi cosmin, looks good to me. maybe we should rename the page to: http://wiki.apache.org/myfaces/GSoC2011_Codi_ForgePlugin or e.g. http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD since it would be a rad-tool for codi implemented as forge-plugin, i would prefer #2 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/4/4 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I created a wiki page with my application proposal[1] for the Seam-Forge plugin for MyFaces CODI issue, for this years Google Summer of Code program. You can find the Jira issue at [2]. I would really appreciate any feedback and comments. Thanks, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_CodiPlugin [2] https://issues.apache.org/jira/browse/EXTCDI-159
Re: [GSoC] Seam-Forge plugin for MyFaces CODI
Hi Gerhard, Yes, that is a good idea, I have renamed it to GSoC2011_Codi_RAD, you can now find the project proposal at [1]. Regards, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD On Mon, Apr 4, 2011 at 11:56 AM, Gerhard Petracek gerhard.petra...@gmail.com wrote: hi cosmin, looks good to me. maybe we should rename the page to: http://wiki.apache.org/myfaces/GSoC2011_Codi_ForgePlugin or e.g. http://wiki.apache.org/myfaces/GSoC2011_Codi_RAD since it would be a rad-tool for codi implemented as forge-plugin, i would prefer #2 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/4/4 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I created a wiki page with my application proposal[1] for the Seam-Forge plugin for MyFaces CODI issue, for this years Google Summer of Code program. You can find the Jira issue at [2]. I would really appreciate any feedback and comments. Thanks, Cosmin [1] http://wiki.apache.org/myfaces/GSoC2011_CodiPlugin [2] https://issues.apache.org/jira/browse/EXTCDI-159
Re: GSOC 2011: MyFaces webapp tests
hi jan, that would be great! welcome @myfaces! please start writing a wiki page like cosmin did last year [1]. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/30 Jan Zarnikov jan.zarni...@gmail.com Hello, I would like to participate in Google Summer of Code 2011. I'm currently finishing my master studies in computer science at the University of Technology in Vienna. I looked at the topics for this year and I'm interested in MyFaces webapp tests (https://issues.apache.org/jira/browse/MYFACESTEST-47). I checked out the result of last year's GSOC by Cosmin and I like the concept behind it. Regards, Jan Zarnikov
Re: GSOC 2011: MyFaces webapp tests
Hi Jan, Great to hear that! Welcome to MyFaces :) Regards, Jakob 2011/3/30 Gerhard Petracek gerhard.petra...@gmail.com: hi jan, that would be great! welcome @myfaces! please start writing a wiki page like cosmin did last year [1]. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/30 Jan Zarnikov jan.zarni...@gmail.com Hello, I would like to participate in Google Summer of Code 2011. I'm currently finishing my master studies in computer science at the University of Technology in Vienna. I looked at the topics for this year and I'm interested in MyFaces webapp tests (https://issues.apache.org/jira/browse/MYFACESTEST-47). I checked out the result of last year's GSOC by Cosmin and I like the concept behind it. Regards, Jan Zarnikov -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: gsoc 2011 - ideas
hi cosmin, i created [1]. please start writing a wiki page like you did last year. regards, gerhard [1] https://issues.apache.org/jira/browse/EXTCDI-159 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/15 Gerhard Petracek gerhard.petra...@gmail.com hi cosmin, that would be great! i would be the mentor. there are a lot of possible features, so it wouldn't be a problem to split it up. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/15 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I took a look on MyFaces wiki page for the current GSoC ideas you proposed and they sound really interesting. Last year I participated in GSoC with the Automated Webapp Test[1] project, I am still a student and I would enjoy participating also in this years program. The Seam-Forge plugin for CODI project sounds great, and I would enjoy working on it. So, if it's ok with everybody and if nobody announced its interest into this project, I would really like to learn more and dig in on this. Regards, Cosmin [1] http://wiki.apache.org/myfaces/AutomatedWebappTest_Status On Mon, Jan 31, 2011 at 10:15 AM, Matthias Wessendorf mat...@apache.orgwrote: Thanks Gerhard, Jakob and I posted these links already on twitter. I'd recommend that others do the same :-) Especially the tooling plugins are interesting! -Matthias On Sun, Jan 30, 2011 at 10:12 PM, Gerhard gerhard.petra...@gmail.com wrote: i've created [1] for collecting ideas for the next gsoc. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2011 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: gsoc 2011 - ideas
Hi I added this idea on the wiki for MyFaces Test: * Implement support for creating managed beans from faces-config.xml or other JSF config files. See https://issues.apache.org/jira/browse/MYFACESTEST-45 for details. regards, Leonardo 2011/3/15 Gerhard Petracek gerhard.petra...@gmail.com: hi cosmin, that would be great! i would be the mentor. there are a lot of possible features, so it wouldn't be a problem to split it up. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/15 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I took a look on MyFaces wiki page for the current GSoC ideas you proposed and they sound really interesting. Last year I participated in GSoC with the Automated Webapp Test[1] project, I am still a student and I would enjoy participating also in this years program. The Seam-Forge plugin for CODI project sounds great, and I would enjoy working on it. So, if it's ok with everybody and if nobody announced its interest into this project, I would really like to learn more and dig in on this. Regards, Cosmin [1] http://wiki.apache.org/myfaces/AutomatedWebappTest_Status On Mon, Jan 31, 2011 at 10:15 AM, Matthias Wessendorf mat...@apache.org wrote: Thanks Gerhard, Jakob and I posted these links already on twitter. I'd recommend that others do the same :-) Especially the tooling plugins are interesting! -Matthias On Sun, Jan 30, 2011 at 10:12 PM, Gerhard gerhard.petra...@gmail.com wrote: i've created [1] for collecting ideas for the next gsoc. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2011 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: gsoc 2011 - ideas
Hi, I took a look on MyFaces wiki page for the current GSoC ideas you proposed and they sound really interesting. Last year I participated in GSoC with the Automated Webapp Test[1] project, I am still a student and I would enjoy participating also in this years program. The Seam-Forge plugin for CODI project sounds great, and I would enjoy working on it. So, if it's ok with everybody and if nobody announced its interest into this project, I would really like to learn more and dig in on this. Regards, Cosmin [1] http://wiki.apache.org/myfaces/AutomatedWebappTest_Status On Mon, Jan 31, 2011 at 10:15 AM, Matthias Wessendorf mat...@apache.orgwrote: Thanks Gerhard, Jakob and I posted these links already on twitter. I'd recommend that others do the same :-) Especially the tooling plugins are interesting! -Matthias On Sun, Jan 30, 2011 at 10:12 PM, Gerhard gerhard.petra...@gmail.com wrote: i've created [1] for collecting ideas for the next gsoc. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2011 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: gsoc 2011 - ideas
hi cosmin, that would be great! i would be the mentor. there are a lot of possible features, so it wouldn't be a problem to split it up. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/3/15 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, I took a look on MyFaces wiki page for the current GSoC ideas you proposed and they sound really interesting. Last year I participated in GSoC with the Automated Webapp Test[1] project, I am still a student and I would enjoy participating also in this years program. The Seam-Forge plugin for CODI project sounds great, and I would enjoy working on it. So, if it's ok with everybody and if nobody announced its interest into this project, I would really like to learn more and dig in on this. Regards, Cosmin [1] http://wiki.apache.org/myfaces/AutomatedWebappTest_Status On Mon, Jan 31, 2011 at 10:15 AM, Matthias Wessendorf mat...@apache.orgwrote: Thanks Gerhard, Jakob and I posted these links already on twitter. I'd recommend that others do the same :-) Especially the tooling plugins are interesting! -Matthias On Sun, Jan 30, 2011 at 10:12 PM, Gerhard gerhard.petra...@gmail.com wrote: i've created [1] for collecting ideas for the next gsoc. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2011 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: gsoc 2011 - ideas
Thanks Gerhard, Jakob and I posted these links already on twitter. I'd recommend that others do the same :-) Especially the tooling plugins are interesting! -Matthias On Sun, Jan 30, 2011 at 10:12 PM, Gerhard gerhard.petra...@gmail.com wrote: i've created [1] for collecting ideas for the next gsoc. regards, gerhard [1] http://wiki.apache.org/myfaces/GSoC2011 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: GSoC Final
Hi, I highly recommend that you work out showing the examples in the demo, though :-). Yeah, you're right :) Here is the J1 Demo : The demo is deployed on Google App Engine : http://bit.ly/myfaces-html5-j1-demo http://bit.ly/myfaces-html5-j1-demoMost pages work in Chrome, but some of them work in Firefox and Opera. You can find the notes about browsers at right-bottom of each slide. Best, Ali On Wed, Aug 18, 2010 at 5:13 PM, Kito Mann kito.m...@virtua.com wrote: Good work, Ali! I highly recommend that you work out showing the examples in the demo, though :-). --- Kito D. Mann | twitter: kito99 | Author, JSF in Action Virtua, Inc. | http://www.virtua.com | JSF/Java EE training and consulting http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info | twitter: jsfcentral +1 203-404-4848 x3 Sign up for the JSFCentral newsletter: http://oi.vresp.com/?fid=ac048d0e17 On Sat, Aug 14, 2010 at 7:32 PM, Ali Ok al...@aliok.com.tr wrote: Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] MAB Project
imo we should start a new thread for such a new topic - maybe a general one - e.g. about possible improvements for the next gsoc. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org my mail was more general, not specific to this project. A real point of surprise was a gigantic commit yesterday... (I wrote an email about that here as well) -Matthias On Fri, Aug 20, 2010 at 7:28 AM, Gerhard gerhard.petra...@gmail.com wrote: hi, that's the reason why i also wrote: ... feedback ... ... you are welcome to ask here the ... indicated that i didn't list all reasons. for sure there are way more. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org On Fri, Aug 20, 2010 at 12:42 AM, Gerhard gerhard.petra...@gmail.com wrote: hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) One thing to add: Apache is about community, not only code = Community over code. Means: using the mailing list does not hurt.. Google's OpenSource program is not only there to code/develop the greatest thing on earth, you need to establish an understanding of openness _and_ how (community driven) open-source works as well. -Matthias imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] MAB Project
code-awards list ;-) On Fri, Aug 20, 2010 at 9:35 AM, Gerhard gerhard.petra...@gmail.com wrote: imo we should start a new thread for such a new topic - maybe a general one - e.g. about possible improvements for the next gsoc. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org my mail was more general, not specific to this project. A real point of surprise was a gigantic commit yesterday... (I wrote an email about that here as well) -Matthias On Fri, Aug 20, 2010 at 7:28 AM, Gerhard gerhard.petra...@gmail.com wrote: hi, that's the reason why i also wrote: ... feedback ... ... you are welcome to ask here the ... indicated that i didn't list all reasons. for sure there are way more. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org On Fri, Aug 20, 2010 at 12:42 AM, Gerhard gerhard.petra...@gmail.com wrote: hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) One thing to add: Apache is about community, not only code = Community over code. Means: using the mailing list does not hurt.. Google's OpenSource program is not only there to code/develop the greatest thing on earth, you need to establish an understanding of openness _and_ how (community driven) open-source works as well. -Matthias imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] State saving improvements
Hello, Thank you for your appreciation. I'm happy that I could make myself useful. So, the amount of reduced state is: - about 60 Bytes for all the components that have at least a child facet with the removal of VISITED_FACET_COUNT - the size of the ATTACHED_OBJECT_HANDLERS_KEY, which was saved with the null value in the component attribute map. - the saved state of UIInput is reduced with 25% when validation is successful (valid is no longer saved, as the default value is true) and with 50% when validation fails (value and localValueSet respectively are no longer saved as they have the default values - null and respectively, false). Using Leonardo's partial state saving in tables from the JIRA issue https://issues.apache.org/jira/browse/MYFACES-2616, for a table of 1000 lines, the saved state is reduced from 150 KB to 120 KB, when validation passes. More work can be done in UIInput state saving, once the transient properties model that Leonardo proposed will be committed. Then some of the properties can be made transient. Regards, Marius On Wed, Aug 18, 2010 at 11:31 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Yes, you did an excelent work. All those optimizations were difficult to find. I think we still need to do some work to commit the improvement for remove MARK_DELETED attribute. It could be good to know some numbers about these changes. regards, Leonardo Uribe 2010/8/18 Werner Punz werner.p...@gmail.com Hi any helping hand is welcome you did an outstanding job, and welcome to the club. Btw. I am just a bystander to this issue, how much improvement did you get by all this measures, do you have any performance or size numbers? Werner Am 18.08.10 15:55, schrieb Marius Petoi: Hello, The improvements I made in the GSoC project regarding state saving are: - add the size of the saved state for each of the components in the debug page. - remove the VISITED_FACET_COUNT ATTRIBUTE attribute used by UIDebug from the component attributes map - remove ATTACHED_OBJECT_HANDLERS from the component's attribute map - remove MARK_DELETED attribute from the component's attribute map - modify UIInput components so that when no value has been set before and an attempt to set the default value is made, this is not done. - improve the invokeOnComponent and visitTree methods in UILeaf components, which normally have no children. I want to continue working on the MyFaces project after the GSoC program is finished. If you have any other suggestions about improvements on state saving (and not only), please tell me. Best regards, Marius
Re: [GSoC] MAB Project
Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias
Re: [GSoC] MAB Project
hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias
Re: [GSoC] MAB Project
On Fri, Aug 20, 2010 at 12:42 AM, Gerhard gerhard.petra...@gmail.com wrote: hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) One thing to add: Apache is about community, not only code = Community over code. Means: using the mailing list does not hurt.. Google's OpenSource program is not only there to code/develop the greatest thing on earth, you need to establish an understanding of openness _and_ how (community driven) open-source works as well. -Matthias imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] MAB Project
hi, that's the reason why i also wrote: ... feedback ... ... you are welcome to ask here the ... indicated that i didn't list all reasons. for sure there are way more. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org On Fri, Aug 20, 2010 at 12:42 AM, Gerhard gerhard.petra...@gmail.com wrote: hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) One thing to add: Apache is about community, not only code = Community over code. Means: using the mailing list does not hurt.. Google's OpenSource program is not only there to code/develop the greatest thing on earth, you need to establish an understanding of openness _and_ how (community driven) open-source works as well. -Matthias imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] MAB Project
my mail was more general, not specific to this project. A real point of surprise was a gigantic commit yesterday... (I wrote an email about that here as well) -Matthias On Fri, Aug 20, 2010 at 7:28 AM, Gerhard gerhard.petra...@gmail.com wrote: hi, that's the reason why i also wrote: ... feedback ... ... you are welcome to ask here the ... indicated that i didn't list all reasons. for sure there are way more. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/20 Matthias Wessendorf mat...@apache.org On Fri, Aug 20, 2010 at 12:42 AM, Gerhard gerhard.petra...@gmail.com wrote: hi tobias, it's great to hear that you would like to continue! fyi: if you commit more frequently, it's easier for the community to track the progress, to provide feedback and patches, ... (if you aren't sure about an idea or a concept, you are welcome to ask here.) One thing to add: Apache is about community, not only code = Community over code. Means: using the mailing list does not hurt.. Google's OpenSource program is not only there to code/develop the greatest thing on earth, you need to establish an understanding of openness _and_ how (community driven) open-source works as well. -Matthias imo: the next step is to refactor the source code to avoid e.g. direct dependencies between plugins,... regards, gerhard 2010/8/19 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, so i just updated the wiki page to include some sort of user guide with all steps necessary to run it. I would like to thank the MyFaces community and especially my mentor Gerhard. There is still a lot work to do on this one but it would be my pleasure to continue working on it. Cheers, Tobias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] Automated webapp tests project
Hi, I also did some tests and had to make a small modification so that it finds my custom maven repository (defined in the settings.xml). For the rest, it seems to work great. I can add that code after the integration is done. regards rudy. On 17 August 2010 22:02, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Leo, After the integration, we can do that. I would like to have this too :) Regards, Jakob 2010/8/17 Leonardo Uribe lu4...@gmail.com Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: - http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI - https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly appreciate any feedback, comments or suggestions on the project and the implementation. Regards, Cosmin -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSoC] Automated webapp tests project
Hi I added meta logging facilities to _ExtLang.js a while ago I have been using this mainly for manual testing with Selenium as afterthought. It might be a base to start off for the ajax stuff. What it does is to be able to log into a console if it exists, and also to a div with a certain id if this one exists in the dom tree. Also there is a small unit testing javascript class in UnitTest.js which takes care of asserts on top of it the way junit does. Again currently only used by me internally. We might take that one as a small base for testing on the client side in conjunction with selenium. Werner Am 18.08.10 09:08, schrieb Rudy De Busscher: Hi, I also did some tests and had to make a small modification so that it finds my custom maven repository (defined in the settings.xml). For the rest, it seems to work great. I can add that code after the integration is done. regards rudy. On 17 August 2010 22:02, Jakob Korherr jakob.korh...@gmail.com mailto:jakob.korh...@gmail.com wrote: Hi Leo, After the integration, we can do that. I would like to have this too :) Regards, Jakob 2010/8/17 Leonardo Uribe lu4...@gmail.com mailto:lu4...@gmail.com Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro mailto:cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: * http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI * https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly appreciate any feedback, comments or suggestions on the project and the implementation. Regards, Cosmin -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSoC] Automated webapp tests project
Hi, That's really great Rudy. Thanks for trying it out :) Frankly I would say that the current version is somewhere pre-pre-alpha, because there is a lot of stuff that has to be improved (like e.g. your custom maven repo), but the code from Cosmin is a solid base and we can totally build upon it! Cosmin told me he is willing to work on it after GSoC and the first thing he will do is providing a DevDoc wiki page. There we can post problems/suggestions/improvements. Furthermore we can use JIRA (maybe as a new project - WEBAPPTESTS ?). Werner, I think we can do a lot of your tests using the automated-webapp-tests. I am looking forward to trying it out :) Regards, Jakob 2010/8/18 Werner Punz werner.p...@gmail.com Hi I added meta logging facilities to _ExtLang.js a while ago I have been using this mainly for manual testing with Selenium as afterthought. It might be a base to start off for the ajax stuff. What it does is to be able to log into a console if it exists, and also to a div with a certain id if this one exists in the dom tree. Also there is a small unit testing javascript class in UnitTest.js which takes care of asserts on top of it the way junit does. Again currently only used by me internally. We might take that one as a small base for testing on the client side in conjunction with selenium. Werner Am 18.08.10 09:08, schrieb Rudy De Busscher: Hi, I also did some tests and had to make a small modification so that it finds my custom maven repository (defined in the settings.xml). For the rest, it seems to work great. I can add that code after the integration is done. regards rudy. On 17 August 2010 22:02, Jakob Korherr jakob.korh...@gmail.com mailto:jakob.korh...@gmail.com wrote: Hi Leo, After the integration, we can do that. I would like to have this too :) Regards, Jakob 2010/8/17 Leonardo Uribe lu4...@gmail.com mailto:lu4...@gmail.com Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro mailto:cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: * http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI * https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly
Re: GSoC Final
Good work, Ali! I highly recommend that you work out showing the examples in the demo, though :-). --- Kito D. Mann | twitter: kito99 | Author, JSF in Action Virtua, Inc. | http://www.virtua.com | JSF/Java EE training and consulting http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info | twitter: jsfcentral +1 203-404-4848 x3 Sign up for the JSFCentral newsletter: http://oi.vresp.com/?fid=ac048d0e17 On Sat, Aug 14, 2010 at 7:32 PM, Ali Ok al...@aliok.com.tr wrote: Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] State saving improvements
Hi any helping hand is welcome you did an outstanding job, and welcome to the club. Btw. I am just a bystander to this issue, how much improvement did you get by all this measures, do you have any performance or size numbers? Werner Am 18.08.10 15:55, schrieb Marius Petoi: Hello, The improvements I made in the GSoC project regarding state saving are: - add the size of the saved state for each of the components in the debug page. - remove the VISITED_FACET_COUNT ATTRIBUTE attribute used by UIDebug from the component attributes map - remove ATTACHED_OBJECT_HANDLERS from the component's attribute map - remove MARK_DELETED attribute from the component's attribute map - modify UIInput components so that when no value has been set before and an attempt to set the default value is made, this is not done. - improve the invokeOnComponent and visitTree methods in UILeaf components, which normally have no children. I want to continue working on the MyFaces project after the GSoC program is finished. If you have any other suggestions about improvements on state saving (and not only), please tell me. Best regards, Marius
Re: [GSoC] Automated webapp tests project
Hi, Thanks for your feedback and suggestions, and special thanks to Jakob, for a great collaboration, and Gerhard my mentors for this project. GSoC codding is over, and it would be my pleasure to continue working on this project within MyFaces. So, as Jakob mentioned, I will initially provide a wiki page with a more detailed description of the project, the drawbacks and the improvements needed and you are very welcomed to input any suggestions. Yes, this is a pre-pre-alpha version of the API, but I'm looking forward continuing it and hope we can make it a great testing framework. Cheers, Cosmin On Wed, Aug 18, 2010 at 12:21 PM, Jakob Korherr jakob.korh...@gmail.comwrote: Hi, That's really great Rudy. Thanks for trying it out :) Frankly I would say that the current version is somewhere pre-pre-alpha, because there is a lot of stuff that has to be improved (like e.g. your custom maven repo), but the code from Cosmin is a solid base and we can totally build upon it! Cosmin told me he is willing to work on it after GSoC and the first thing he will do is providing a DevDoc wiki page. There we can post problems/suggestions/improvements. Furthermore we can use JIRA (maybe as a new project - WEBAPPTESTS ?). Werner, I think we can do a lot of your tests using the automated-webapp-tests. I am looking forward to trying it out :) Regards, Jakob 2010/8/18 Werner Punz werner.p...@gmail.com Hi I added meta logging facilities to _ExtLang.js a while ago I have been using this mainly for manual testing with Selenium as afterthought. It might be a base to start off for the ajax stuff. What it does is to be able to log into a console if it exists, and also to a div with a certain id if this one exists in the dom tree. Also there is a small unit testing javascript class in UnitTest.js which takes care of asserts on top of it the way junit does. Again currently only used by me internally. We might take that one as a small base for testing on the client side in conjunction with selenium. Werner Am 18.08.10 09:08, schrieb Rudy De Busscher: Hi, I also did some tests and had to make a small modification so that it finds my custom maven repository (defined in the settings.xml). For the rest, it seems to work great. I can add that code after the integration is done. regards rudy. On 17 August 2010 22:02, Jakob Korherr jakob.korh...@gmail.com mailto:jakob.korh...@gmail.com wrote: Hi Leo, After the integration, we can do that. I would like to have this too :) Regards, Jakob 2010/8/17 Leonardo Uribe lu4...@gmail.com mailto:lu4...@gmail.com Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro mailto:cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: * http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI * https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking
Re: [GSoC] State saving improvements
Hi Yes, you did an excelent work. All those optimizations were difficult to find. I think we still need to do some work to commit the improvement for remove MARK_DELETED attribute. It could be good to know some numbers about these changes. regards, Leonardo Uribe 2010/8/18 Werner Punz werner.p...@gmail.com Hi any helping hand is welcome you did an outstanding job, and welcome to the club. Btw. I am just a bystander to this issue, how much improvement did you get by all this measures, do you have any performance or size numbers? Werner Am 18.08.10 15:55, schrieb Marius Petoi: Hello, The improvements I made in the GSoC project regarding state saving are: - add the size of the saved state for each of the components in the debug page. - remove the VISITED_FACET_COUNT ATTRIBUTE attribute used by UIDebug from the component attributes map - remove ATTACHED_OBJECT_HANDLERS from the component's attribute map - remove MARK_DELETED attribute from the component's attribute map - modify UIInput components so that when no value has been set before and an attempt to set the default value is made, this is not done. - improve the invokeOnComponent and visitTree methods in UILeaf components, which normally have no children. I want to continue working on the MyFaces project after the GSoC program is finished. If you have any other suggestions about improvements on state saving (and not only), please tell me. Best regards, Marius
Re: [GSoC] Automated webapp tests project
Hi Cosmin, Thanks a lot for your great work! I already tried it out a couple of times and it works really great. I will integrate the code into the MyFaces codebase after GSoC ends so that we all can start working on this framework. Later, when we have the first releaseable version in place, we can begin to write MyFaces core (and tomahawk, codi, ext-val, trinidad, tobago,) tests with it, and this will be kick-ass! Regards, Jakob 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: - http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI - https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly appreciate any feedback, comments or suggestions on the project and the implementation. Regards, Cosmin -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSoC Final
Hi Ali Great work! regards, Leonardo Uribe 2010/8/14 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.htmlhttp://people.apache.org/%7Ealiok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppthttp://people.apache.org/%7Ealiok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] Automated webapp tests project
Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: - http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI - https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly appreciate any feedback, comments or suggestions on the project and the implementation. Regards, Cosmin
Re: [GSoC] Automated webapp tests project
Hi Leo, After the integration, we can do that. I would like to have this too :) Regards, Jakob 2010/8/17 Leonardo Uribe lu4...@gmail.com Hi Good to know that. I'll take a look at this one. I would like to have a test suite for flash scope and ajax stuff. regards, Leonardo Uribe 2010/8/10 Martinconi Cosmin cosmin.martinc...@codebeat.ro Hi, The GSoC program for this year is almost finished and I wanted to let you know about the progress and the current state of the Automated webapp tests for MyFacescore and extensions, my project for this GSoC. You can follow the API and the implementation(SVN google code) on: - http://wiki.apache.org/myfaces/AutomatedWebappTestsAPI - https://gsoc2010-automated-myfaces-tests.googlecode.com/svn/trunk/ The API that I have followed is the one from the wiki, including small changes like introducing @Tester and @Assertable instead of @Inject for the resource injection configuration. The @Tester will inject an WebappTester instance that will provide all required functionality, and @Assertable to inject proxy instances for assertions. Also an @ConfigurationTestSuite configuration was provided, where the user of the API can specify a list of configurations and the API will run the test case with all the configs, meaning an n configured test case will generate n tests for the same test instance but with each of the specified configs. The API provides the following actions: click(buttonId), input(string).into(fieldId); and the assertions: assertThat(methodCall/ELexpression).is(Object).before/after(PhaseId) and expectCall(methodCall/ELexpression).in(PhaseId) I am currently working on some issues regarding expectCall() that I overlooked, but this should be functional by the end of this week. Other drawbacks of the project are that I couldn't get rid of the method: @Deployment public static Archive? createDeployment() { return webappTestCase.createArchive(null); } Arquillian is looking for a method annotated with @Deployment and if such a method is not provided it fails the test run. Another inconvenience is that, for the embaded Tomcat container, Arquillian requires, for now, a servlet mapping in the web.xml of the testing webapp, like: servlet servlet-nameServletTestRunner/servlet-name servlet-classorg.apache.myfaces.test.webapp.api.runner.WebappServletTestRunner/servlet-class /servlet servlet-mapping servlet-nameServletTestRunner/servlet-name url-pattern/ArquillianServletRunner/url-pattern /servlet-mapping I would highly appreciate any feedback, comments or suggestions on the project and the implementation. Regards, Cosmin -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSoC Final
Hi Ali, Nice work dude! Are you supposed to give a live presentation on your project? In that case, the code snippets and images are really tiny and probably not very good readable. You might want to make those a bit bigger. Oh and BTW, slide 14 is good (favorite team: NL). This week I'm gonna try to integrate it in my side project ( http://code.google.com/p/parleys-html5/). I'm doing a talk about this project at JavaOne. I'll mention your work there. Regards, Jan-Kees 2010/8/16 Bruno Aranda brunoara...@gmail.com Good job Ali and congrats! I have some troubles when clicking on the View sources links in the examples. Other than that is great! Cheers, Bruno On 16 August 2010 00:19, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Ali, You really did a great job for your GSoC project. Thanks for all your work! I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. That's just great - I am looking forward to it! Regards, Jakob 2010/8/15 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSoC Final
Hi, Are you supposed to give a live presentation on your project? I will do it but not with those slides :) This week I'm gonna try to integrate it in my side project Cool! Can I see the current Html5 client live? I've already added your session to my schedule. See you at J1 :) Cheers, On Mon, Aug 16, 2010 at 9:10 AM, Jan-Kees van Andel jankeesvanan...@gmail.com wrote: Hi Ali, Nice work dude! Are you supposed to give a live presentation on your project? In that case, the code snippets and images are really tiny and probably not very good readable. You might want to make those a bit bigger. Oh and BTW, slide 14 is good (favorite team: NL). This week I'm gonna try to integrate it in my side project ( http://code.google.com/p/parleys-html5/). I'm doing a talk about this project at JavaOne. I'll mention your work there. Regards, Jan-Kees 2010/8/16 Bruno Aranda brunoara...@gmail.com Good job Ali and congrats! I have some troubles when clicking on the View sources links in the examples. Other than that is great! Cheers, Bruno On 16 August 2010 00:19, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Ali, You really did a great job for your GSoC project. Thanks for all your work! I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. That's just great - I am looking forward to it! Regards, Jakob 2010/8/15 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: GSoC Final
Thanks Jakob and Bruno, The view sources links don't work on Google App Engine since the servlet tries to read from the file system. I might fix it later. Thanks for the heads-up. Cheers, On Mon, Aug 16, 2010 at 3:29 AM, Bruno Aranda brunoara...@gmail.com wrote: Good job Ali and congrats! I have some troubles when clicking on the View sources links in the examples. Other than that is great! Cheers, Bruno On 16 August 2010 00:19, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Ali, You really did a great job for your GSoC project. Thanks for all your work! I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. That's just great - I am looking forward to it! Regards, Jakob 2010/8/15 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: GSoC Final
Hi Ali, You really did a great job for your GSoC project. Thanks for all your work! I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. That's just great - I am looking forward to it! Regards, Jakob 2010/8/15 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.htmlhttp://people.apache.org/%7Ealiok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppthttp://people.apache.org/%7Ealiok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: GSoC Final
Good job Ali and congrats! I have some troubles when clicking on the View sources links in the examples. Other than that is great! Cheers, Bruno On 16 August 2010 00:19, Jakob Korherr jakob.korh...@gmail.com wrote: Hi Ali, You really did a great job for your GSoC project. Thanks for all your work! I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. That's just great - I am looking forward to it! Regards, Jakob 2010/8/15 Ali Ok al...@aliok.com.tr Hi, GSoC final is tomorrow. So here is my final work (I mean during the GSoC period): SVN folder (tagged for GSoC final) : http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/tags/gsoc_final/ Project website : http://people.apache.org/~aliok/GSoC/tagged/html5-comp-lib-project/target/site/index.html Slides : http://people.apache.org/~aliok/GSoC/tagged/slide/MyFaces2-Html5-Comp-Lib-Tagged.ppt Online showcase : http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf I'll be around and participate in the development of MyFaces. I'll continue to work on Html5 support too. There are great stuff I cannot find time to work on during 3 month GSoC period. I want to thank all of you for your help and feedback during GSoC. Special thanks to my mentor, Matthias, for his guidance and help. Best wishes, Ali -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSoC] where to commit ?
Great! Thanks! Matthias On Sat, Jul 31, 2010 at 12:42 AM, Ali Ok al...@aliok.com.tr wrote: Hi, I just created the folder http://svn.apache.org/repos/asf/myfaces/gsoc and put Html5 project into http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/trunk/ Greetings, Ali On Wed, Jul 28, 2010 at 3:54 PM, Matthias Wessendorf mat...@apache.org wrote: Ok, Ali feel free to create the mentioned folder and your code to it! -Matthias On Mon, Jul 26, 2010 at 4:11 PM, Ali Ok al...@aliok.com.tr wrote: +1 On Mon, Jul 26, 2010 at 5:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/26 Matthias Wessendorf mat...@apache.org On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSOC] State saving status after first improvements
Hi guys, stateHelper.remove() doesn't remove the value but replaces it with null. And also, as I understand, saving the null values in the state helper can't be removed. why is this? best regards, Martin On Fri, Jul 23, 2010 at 1:27 PM, Martin Marinschek mmarinsc...@apache.orgwrote: +1! tell us how much this changes... best regards, Martin On Fri, Jul 23, 2010 at 12:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, These values are written by default in the processDecodes() and updateModel() methods. This is before the state is written. One thing that we could do is in the saveState method to check whether the values for the attributes are the default ones and remove them from the StateHelper, so that they don't get saved. Upon restore, we look if the values are in the state and if not, initialize them with the default values. Regards, Marius On Fri, Jul 23, 2010 at 11:01 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius, The state of a typical input text contains the following 4 attributes (both the keys and the values): valid, value, localValueSet and submittedValue. Value and submittedValue may be null, in this case only the keys are contained in the state. Valid and localValueSet are boolean properties. I measured the state of an input text to be approximately 300 B. If this is in a table, you need to multiply it by the number of rows in that table. why are the keys contained in the state if the thing is null? null is the default value, we should probably not state save this case. Same with the default values of valid and localValueSet... best regards, Martin On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi guys, Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. Leonardo is right - I don´t see a way to do this either. Additionally, I don´t think changing the location will buy any major reductions. For the state of a normal input text - what exactly does it consist of, highlight the size of each of the parts. best regards, Martin On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I
Re: [GSoC] where to commit ?
Hi, I just created the folder http://svn.apache.org/repos/asf/myfaces/gsoc and put Html5 project into http://svn.apache.org/repos/asf/myfaces/gsoc/html5-comp-lib/trunk/ Greetings, Ali On Wed, Jul 28, 2010 at 3:54 PM, Matthias Wessendorf mat...@apache.orgwrote: Ok, Ali feel free to create the mentioned folder and your code to it! -Matthias On Mon, Jul 26, 2010 at 4:11 PM, Ali Ok al...@aliok.com.tr wrote: +1 On Mon, Jul 26, 2010 at 5:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/26 Matthias Wessendorf mat...@apache.org On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] where to commit ?
Ok, Ali feel free to create the mentioned folder and your code to it! -Matthias On Mon, Jul 26, 2010 at 4:11 PM, Ali Ok al...@aliok.com.tr wrote: +1 On Mon, Jul 26, 2010 at 5:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/26 Matthias Wessendorf mat...@apache.org On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] where to commit ?
On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] where to commit ?
+1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/26 Matthias Wessendorf mat...@apache.org On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] where to commit ?
+1 On Mon, Jul 26, 2010 at 5:03 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/26 Matthias Wessendorf mat...@apache.org On Sat, Jul 24, 2010 at 3:49 PM, Mike Kienenberger mkien...@gmail.com wrote: I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. +1 On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] where to commit ?
I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.orgwrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSoC] where to commit ?
I guess it depends on the goal. If the goal is to incorporate new code into MyFaces, then it is much easier to do it from the start as part of the on-going MyFaces project rather than as a code drop at the end. If the goal is to train the student up as an Apache committer, then it is much easier to do it when they are interacting with the code in our peer-reviewed environment. As we saw in the last vote thread, there's already a process in place to temporarily grant commit rights to GSoC students. To me, all the advantages are on the side of a GSoC folder here rather than a project located somewhere else. On Sat, Jul 24, 2010 at 5:46 AM, Jakob Korherr jakob.korh...@gmail.com wrote: I don't know if this is really necessary. Most of our students already have google code projects and if we would create the GSoC folder, they all would need commit rights for it. Furthermore everyone can access those google-code-projects and we can discuss the proper location for each gsoc project after GSoC ends. Then the mentors (or mentees, if they have commit rights, like e.g. Ali) can migrate the code into our codebase to the proper location. Regards, Jakob 2010/7/23 Ali Ok al...@aliok.com.tr +1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.org wrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at
Re: [GSOC] State saving status after first improvements
Hi Martin, The state of a typical input text contains the following 4 attributes (both the keys and the values): valid, value, localValueSet and submittedValue. Value and submittedValue may be null, in this case only the keys are contained in the state. Valid and localValueSet are boolean properties. I measured the state of an input text to be approximately 300 B. If this is in a table, you need to multiply it by the number of rows in that table. Regards, Marius On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi guys, Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. Leonardo is right - I don´t see a way to do this either. Additionally, I don´t think changing the location will buy any major reductions. For the state of a normal input text - what exactly does it consist of, highlight the size of each of the parts. best regards, Martin On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state
Re: [GSOC] State saving status after first improvements
Hi Marius, The state of a typical input text contains the following 4 attributes (both the keys and the values): valid, value, localValueSet and submittedValue. Value and submittedValue may be null, in this case only the keys are contained in the state. Valid and localValueSet are boolean properties. I measured the state of an input text to be approximately 300 B. If this is in a table, you need to multiply it by the number of rows in that table. why are the keys contained in the state if the thing is null? null is the default value, we should probably not state save this case. Same with the default values of valid and localValueSet... best regards, Martin On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi guys, Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. Leonardo is right - I don´t see a way to do this either. Additionally, I don´t think changing the location will buy any major reductions. For the state of a normal input text - what exactly does it consist of, highlight the size of each of the parts. best regards, Martin On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData
Re: [GSOC] State saving status after first improvements
+1! tell us how much this changes... best regards, Martin On Fri, Jul 23, 2010 at 12:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, These values are written by default in the processDecodes() and updateModel() methods. This is before the state is written. One thing that we could do is in the saveState method to check whether the values for the attributes are the default ones and remove them from the StateHelper, so that they don't get saved. Upon restore, we look if the values are in the state and if not, initialize them with the default values. Regards, Marius On Fri, Jul 23, 2010 at 11:01 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius, The state of a typical input text contains the following 4 attributes (both the keys and the values): valid, value, localValueSet and submittedValue. Value and submittedValue may be null, in this case only the keys are contained in the state. Valid and localValueSet are boolean properties. I measured the state of an input text to be approximately 300 B. If this is in a table, you need to multiply it by the number of rows in that table. why are the keys contained in the state if the thing is null? null is the default value, we should probably not state save this case. Same with the default values of valid and localValueSet... best regards, Martin On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi guys, Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. Leonardo is right - I don´t see a way to do this either. Additionally, I don´t think changing the location will buy any major reductions. For the state of a normal input text - what exactly does it consist of, highlight the size of each of the parts. best regards, Martin On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is
Re: [GSoC] where to commit ?
+1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] where to commit ?
On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf
Re: [GSoC] where to commit ?
+1 from me too. /gsoc folder can also be used for next years. On Fri, Jul 23, 2010 at 9:44 PM, Matthias Wessendorf mat...@apache.orgwrote: On Fri, Jul 23, 2010 at 8:22 PM, Gerhard Petracek gerhard.petra...@gmail.com wrote: +1 for #1 (https://svn.apache.org/repos/asf/myfaces/gsoc/*) @relocation after gsoc finished: some time ago we decided that we won't add a lot of top-level modules. - imo we should decide about the final location of every gsoc-project later on. +1 that's totally my point. I don't care, right now, where they may end up ;-) regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/23 Matthias Wessendorf mat...@apache.org Hey, I though about a proper location for the Google Summer of Code projects. What about this: https://svn.apache.org/repos/asf/myfaces/gsoc/projectXYZ/trunk/ Once the code is ready (stable) we can also relocate it, IMO. Like: https://svn.apache.org/repos/asf/myfaces/html5-lib/... https://svn.apache.org/repos/asf/myfaces/mab/... Any thoughts? -Matthias -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSoC] MAB Project
Hi, On Wed, Jul 21, 2010 at 18:32, Gerhard Petracek gerhard.petra...@gmail.com wrote: ok - you mean a plugin for mab which generates pom files (and not a plugin for maven). - +1 of course, sorry, should have been more precise. Cheers, Tobias
Re: [GSOC] State saving status after first improvements
Hello, So, for MyFaces, the state sizes of the basic components are: - without partial state saving: - HtmlOutputLabel: 760 B - HtmlInputText: 582 B - HtmlCommandButton: 1057 B - UIDebug: 606 B - HtmlDataTable: 1275 B (regardless of the number of lines the table has) - UIColumn: 524 B - HtmlInputText in table: 1176 B - HtmlOutputText in table: 663 B - with partial state saving, after a submit has been done: - HtmlInputText: 351 B (including the InputText components in the table) Using Leonardo's patch from the issue https://issues.apache.org/jira/browse/MYFACES-2616, for a table with 1000 lines that contains 2 columns: one with input elements and the other with output components, the size of the saved state is 158000 B. Also, the state for the input component is 340 B. My suggestion would be (and I don't know what that implies) that state attributes common for all rows (such as the valid attribute, which is present in the state saved for all rows) to be saved directly as state of the child component. This is the only way I can think of to reduce the state of the UIData component. Regards, Marius On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The
Re: [GSOC] State saving status after first improvements
Hi Marius 2010/7/22 Marius Petoi marius.pe...@codebeat.ro Hello, So, for MyFaces, the state sizes of the basic components are: - without partial state saving: - HtmlOutputLabel: 760 B - HtmlInputText: 582 B - HtmlCommandButton: 1057 B - UIDebug: 606 B - HtmlDataTable: 1275 B (regardless of the number of lines the table has) - UIColumn: 524 B - HtmlInputText in table: 1176 B - HtmlOutputText in table: 663 B - with partial state saving, after a submit has been done: - HtmlInputText: 351 B (including the InputText components in the table) Using Leonardo's patch from the issue https://issues.apache.org/jira/browse/MYFACES-2616, for a table with 1000 lines that contains 2 columns: one with input elements and the other with output components, the size of the saved state is 158000 B. Also, the state for the input component is 340 B. My suggestion would be (and I don't know what that implies) that state attributes common for all rows (such as the valid attribute, which is present in the state saved for all rows) to be saved directly as state of the child component. This is the only way I can think of to reduce the state of the UIData component. Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. regards, Leonardo Regards, Marius On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for
Re: [GSOC] State saving status after first improvements
Hi guys, Unfortunately, try to save the state directly on the child components is not possible. The problem is the datatable is the one who know about the rows, so the right place for save this information (at least the delta information) is there. But the initial state could be saved on the children if some additional methods are provided. I don't know if it is worth to add those methods, because the only one interested to save the initial state is the datatable (things are different if the children could use that information to reset the current state, maybe a method called resetInitialState). My first solution for partial state saving used a protected variable to save the initial state on the children, but after look the latest solution I'm inclined to implement the latest one. Leonardo is right - I don´t see a way to do this either. Additionally, I don´t think changing the location will buy any major reductions. For the state of a normal input text - what exactly does it consist of, highlight the size of each of the parts. best regards, Martin On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi guys, I didn´t follow this in absolute detail anymore right now, but: I do not think we should think about serializing MethodExpressions or ValueExpressions - IMHO, MethodExpressions or ValueExpressions should never be part of the partial state, cause a user will never change them programmatically (well, maybe in a very obscure corner case, but not generally). Additionally, ValueExpression and MethodExpression are not implemented by us, so how can you implement StateHolder in this classes? Only in classes containing ValueExpressions, right? best regards, Martin
Re: [GSOC] State saving status after first improvements
Hi Martin, On Tue, Jul 20, 2010 at 6:03 PM, Martin Marinschek mmarinsc...@apache.orgwrote: For me, the UIData and UIRepeat need to descend from the same component - and this is actually something which is being discussed on the EG right now. -- Right now, UIRepeat does not have the partial state implemented in UIData. There is a HashMap containing the state for all children and not only the ones that are different from the initial state (like in UIData). When we have this, the solution should be the same. Marius, can you go in the profiling mode again, and share with us the state sizes for a typical page - full state saving, partial state saving MyFaces, partial state saving Mojarra, with and without data tables on them? -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Regards, Marius best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to
Re: [GSOC] State saving status after first improvements
Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks
Re: [GSOC] State saving status after first improvements
Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Martin, On Wed, Jul 21, 2010 at 10:58 AM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi guys, I didn´t follow this in absolute detail anymore right now, but: I do not think we should think about serializing MethodExpressions or ValueExpressions - IMHO, MethodExpressions or ValueExpressions should never be part of the partial state, cause a user will never change them programmatically (well, maybe in a very obscure corner case, but not generally). -- Take for instance MethodExpressionActionListener. This is an example where a MethodExpression is part of the state. Additionally, ValueExpression and MethodExpression are not implemented by us, so how can you implement StateHolder in this classes? Only in classes containing ValueExpressions, right? -- There are some implementations of MethodExpression and ValueExpression in MyFaces, such as TagMethodExpression, which implement Externalizable. These were the classes I was referring to earlier. best regards, Martin
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Marius, -- Take for instance MethodExpressionActionListener. This is an example where a MethodExpression is part of the state. then this should (and needs to be changed), right? Additionally, ValueExpression and MethodExpression are not implemented by us, so how can you implement StateHolder in this classes? Only in classes containing ValueExpressions, right? -- There are some implementations of MethodExpression and ValueExpression in MyFaces, such as TagMethodExpression, which implement Externalizable. These were the classes I was referring to earlier. ok, but even then, the underlying value-expression will not be touched by this changes. So your changes are only applying to a thin wrapper. So this should be negligible. best regards, Martin -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving status after first improvements
Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards,
Re: [GSoC] MAB Project
hi tobias, ok - you mean a plugin for mab which generates pom files (and not a plugin for maven). - +1 regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/21 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi, On Thu, Jul 15, 2010 at 21:54, Gerhard Petracek gerhard.petra...@gmail.com wrote: it would be nice to get more details on the planned maven plugin. well, since maven is pretty much the basis of everything else, the maven plugin will support basic features like name, artifactid, groupid, dependencies, maven plugins, repositories, and arbitrary properties. This will enable the user to easily create maven configs but, probably more important, other plugins are also able to tailor maven configs specific to their needs (by passing necessary config options to the mab maven plugin.) Do you have a suggestion for some advanced options I should include? Cheers, Tobias
Re: [GSOC] State saving status after first improvements
Hi Marius, Martin Yes, it is a bug. The problem is related to some changes done on MYFACES-2754. I think that this changes was tested against jsp but not against facelets. I reverted the changes so you can test now. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, ok, Leonardo will hopefully take a look - for you to continue: just post the partial state values for typical pages right now (you can also take the pages of the sample as a base if you want). best regards, Martin On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, As I see, in JspStateManagerImpl.saveSerializedView (actually in the isWritingState() method), there is a check whether the JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this attribute is set in ViewHandlerImpl.setWritingState() if there is no StateWriter defined (if the current view is a jsp). So, in my opinion, the verification in the JspStateManagerImpl.isWritingState() should also include the verification of the StateWriter. Otherwise, full state saving will work only for JSP-s. Regards, Marius On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius -- Full state saving means setting the context parameter javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've noticed that just by doing this, the xhtml pages don't work anymore...only the jsp-s. There is no state saved in xhtml-s. Am I missing something? Oh my. That´s a bug then. Leonardo, can you look into this (not that I desperately need full state saving, but some users might need it)? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Marius It seems the optimization for ValueExpression / MethodExpression or ValueBinding / MethodBinding is not worth. The test data you provided shows a small improvement, but it does not take into account PartialStateHolder instances needs to be wrapped before save, so in the end the performance will be almost the same. regards, Leonardo Uribe 2010/7/21 Martin Marinschek mmarinsc...@apache.org Hi Marius, -- Take for instance MethodExpressionActionListener. This is an example where a MethodExpression is part of the state. then this should (and needs to be changed), right? Additionally, ValueExpression and MethodExpression are not implemented by us, so how can you implement StateHolder in this classes? Only in classes containing ValueExpressions, right? -- There are some implementations of MethodExpression and ValueExpression in MyFaces, such as TagMethodExpression, which implement Externalizable. These were the classes I was referring to earlier. ok, but even then, the underlying value-expression will not be touched by this changes. So your changes are only applying to a thin wrapper. So this should be negligible. best regards, Martin -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] Html5 Support - Snapshot and Live Showcase
Hi all, I fixed some of the problems (like the NPE in DnD components) and updated dependencies to use latest MyFaces Core and subprojects. Here is the new snapshot : http://wiki.apache.org/myfaces/GSoC2010_HTML5?action=AttachFiledo=viewtarget=myfaces-html5-comp-lib-0.0.2-SNAPSHOT.zip Cheers, Ali On Thu, Jul 8, 2010 at 12:53 AM, Ali Ok al...@aliok.com.tr wrote: Hi, I've prepared some Html5 enabled components. Here is the source code of the component library project, and showcase project: http://wiki.apache.org/myfaces/GSoC2010_HTML5?action=AttachFiledo=viewtarget=myfaces-html5-comp-lib.zip http://wiki.apache.org/myfaces/GSoC2010_HTML5?action=AttachFiledo=viewtarget=myfaces-html5-comp-lib.zipI also deployed the showcase application on Google App Engine, but there are some problems(ie. the showcase servlet cannot display the page source) in the application running on it. Please just ignore them for now. http://html5-comp-lib-showcase-snapshot.latest.aliok-com-tr-test.appspot.com/index.jsf There should be no problem in building the mavenized source and doing a jetty:run on showcase application. Thanks in advance for your feedback. -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr -- My Blog: http://blog.aliok.com.tr Twitter: http://twitter.com/aliok_tr
Re: [GSOC] State saving status after first improvements
Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one
Re: [GSOC] State saving status after first improvements
For me, the UIData and UIRepeat need to descend from the same component - and this is actually something which is being discussed on the EG right now. When we have this, the solution should be the same. Marius, can you go in the profiling mode again, and share with us the state sizes for a typical page - full state saving, partial state saving MyFaces, partial state saving Mojarra, with and without data tables on them? best regards, Martin On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Leonardo, So you are working on UIData at the moment. What about UIRepeat? I see that partial state saving is not implemented in UIRepeat components. We could improve the _childState table (which is included in the saved state) to save only the states which are different from an initial state (like in UIData components). Regards, Marius On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that
Re: [GSOC] State saving status after first improvements
Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one submit. Do you have other suggestions about what else could be improved in partial state saving? Regards, Marius -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving status after first improvements
Hi Marius Right now I'm working on MYFACES-2616 Fix UIData state saving model (spec issue 153). I hope to attach some new patches, a example and a better documentation in that issue soon, so we can review it and make comments. regards, Leonardo Uribe 2010/7/19 Marius Petoi marius.pe...@codebeat.ro Hi Martin, Regarding state saving in tables, here are my observations and comments: - there is no state saved in relation to the UIData objects. - the states saved for the children of the UIData objects (the components in the tables) are irrelevant. They are not used afterwards, as the components are initialized at each request with default values and the state saved corresponds to the last modifications of the component (to the row which was last set via the setRowIndex() method). - every time the setRowIndex() method is invoked with the -1 parameter, _initialDescendantComponentState is initialized. This will no longer be necessary, as the initial state will be restored from the previously saved state. - the _rowStates array of states is constructed using partial state. This means that only states for the rows which are different from the template are saved in this array. In my opinion, this is what needs to be saved for the UIData. The children component of the UIData should have no state saved (at least not in the first phase - we could think that if something appears in all the rows of _rowStates for a componentt, then we could move this down to the component state). These are just some basic observations about state saving in tables. What do you think? Regards, Marius On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek mmarinsc...@apache.org wrote: Ok, so you actually checked it - perfect! Next step: is there any component where this is different? UIInput is ok - all the other standard components are ok as well? When we have finished this, take a look at what Leonardo has done for partial state saving in data-tables. We will need to work out a proposal for an API in JSF 2.1 - and, I guess, alsongside our implementation, also an implementation for Mojarra, cause the RI team will not be able to get this done. best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: I placed a breakpoint in DefaultFaceletsManagementStrategy.saveStateOnMap, in the point where saveState is called for each component. That is the point where the state to be saved is retrieved. That is where I got the information on the first place. I looked at each component and at the returned value of saveState. On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one submit. Do you have other suggestions about what else could be improved in partial state saving? Regards, Marius -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Leonardo, On Thu, Jul 15, 2010 at 8:38 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius 2010/7/13 Marius Petoi marius.pe...@codebeat.ro Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments and questions: On Sun, Jul 11, 2010 at 3:57 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Sorry for the late response, but I was looking other important issues (I usually review issues with JSR-314 component first). I reviewed your patches and I committed some of them, and made comments on the others. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. To save ValueExpressions, javax.faces.component._DeltaStateHelper uses an InternalMap, but that one does not take into account PartialStateHolder interface. So in this case does not apply. In MethodExpression it is possible, but to do that, we need to solve two questions: - If we have an immutable object that implements Serializable interface and a similar one that implements PartialStateHolder, which one is saved / restored faster? which one has bigger state size? It is worth to implement PartialStateHolder or keep it as Serializable?. To solve that we need to try some simple performance tests with possible candidates. -- Ok. How should I do that. This meaning do you have any suggestions for objects or should I create some mock objects with identical data and then compare the two strategies (in time and state size)? Yes, it is a simple check but the important here is to know if the optimization is valuable or not. -- I designed two simple classes: one implementing Serializable and the other one implementing PartialStateHolder. The first class contains an ArrayList of Strings. The other one a _DeltaList of Strings. I serialized one object of each type to a byte array and measured the time necessary for the serialization as well as the size of the resulting array. I varied the number of elements in the list to 100, 1000, 1. In both cases, the time and size is proportional to the number of elements. So I will present only the results for the 1 elements list: in case serialization is used, the size of the byte array is 50320 bytes, while for the _DeltaList it is 50055 bytes, so approximately the same. This is when the state consists of the entire object, so no partial state was taken into consideration. The time taken for the serialization of the list of 1 Strings is 47 ms, while the saveState method of the _DeltaList took 25 ms to execute. So the time taken for the serialization is about 2 times bigger than in the case of the same element designed using a PartialStateHolder (_DeltaList). I don't know how general this example is...basically I compared the serialization of a Java object (ArrayList) with the state saving of an object implementing PartialStateHolder (_DeltaList) and in this case serialization is not better. - Does all methods that store MethodExpression variables ( UICommand.actionExpression) should handle PartialStateHolder interfaces? In theory yes (I add this support before but then I revert it to the current behavior because there is no evidence why use PartialStateHolder in this case), but if we don't expect MethodExpression implementations implements PartialStateHolder, just let it as is. -- By this you mean classes with MethodExpressions that use also serialization and not implements PartialStateHolder. I've found a couple of such classes: EventHandler.Listener and LegacyMethodBinding. Yes. Note here to implement PartialStateHolder the target property that will use the MethodExpression should know how to deal with it. But this is worth only if the first idea is also true ( implement PartialStateHolder instead Serializable ). -- Ok.So there are two classes that do not implement PartialStateHolder, but have a MethodExpression field, so this is not ok. Look this class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler . It has a inner class called SetPropertyListener that implements Serializable. javax.faces.component._DeltaList is used to store FacesListeners and that one handles PartialStateHolder instances. That one is other valid case. -- Ok. So should I transform this class into one implementing PartialStateHolder? In this case you should evaluate if it is worth this class implements PartialStateHolder. -- It has two ValueExpression fields.
Re: [GSoC] MAB Project
Hi Gerhard, On Mon, Jul 12, 2010 at 11:35, Gerhard Petracek gerhard.petra...@gmail.com wrote: - imo it's a good idea to define the schedule for the next 4-6 weeks. My last exam is on the 20th, so based on that, I think the schedule for the remaining weeks is going to be: 21.7.-25.7. Work on the code generation, Maven plugin 26.7.-1.8. MyFaces-Core Config and MyFaces Component Lib plugins 2.8.-9.8. MyFaces Extension and Codi plugins 9.8.-15.8. According to the GSoC timeline: Scrub code, write tests, improve documentation, etc. Cheers, Tobias
Re: [GSoC] MAB Project
hi, it would be nice to get more details on the planned maven plugin. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/15 Tobіas Ullrіch ullr...@dump.netvanced.eu Hi Gerhard, On Mon, Jul 12, 2010 at 11:35, Gerhard Petracek gerhard.petra...@gmail.com wrote: - imo it's a good idea to define the schedule for the next 4-6 weeks. My last exam is on the 20th, so based on that, I think the schedule for the remaining weeks is going to be: 21.7.-25.7. Work on the code generation, Maven plugin 26.7.-1.8. MyFaces-Core Config and MyFaces Component Lib plugins 2.8.-9.8. MyFaces Extension and Codi plugins 9.8.-15.8. According to the GSoC timeline: Scrub code, write tests, improve documentation, etc. Cheers, Tobias
Re: [GSOC] State saving status after first improvements
Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one submit. Do you have other suggestions about what else could be improved in partial state saving? Regards, Marius -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving status after first improvements
Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one submit. Do you have other suggestions about what else could be improved in partial state saving? Regards, Marius -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving status after first improvements
Hi Marius, as I see means you see it, or you think it is like this ;) ? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hi Martin, I think you mean for the attributes that I say are added before the call to markInitialState(). So, as I see, the org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter, renderKitId, rendererType are not present in the partial state at the end of the lifecycle, although they are in the StateHelper. The reason for this is that they are added there before the call to markInitialState(). So, they will never be in the partial state. Regards, Marius On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, you are sounding a bit unsure about this - did you really check what is in the partial state at the end of the lifecycle? best regards, Martin On 7/14/10, Marius Petoi marius.pe...@codebeat.ro wrote: Hello, After the improvements we discussed in previous threads, here is what the state looks like for some of the components: - the org.apache.myfaces.view.facelets.MARK_ID (ComponentSupport.MARK_CREATED) attribute is present in almost all the components, but that is put in the attributes map before the initial state is marked, so I think it does not affect partial state saving - same goes for locale, uniqueIdCounter, renderKitId, rendererType, which are also attributes in the StateHelper, but are added before the call to markInitialState(). So they also shouldn't be included in the partial state. - for UIInput, the partial state contains the value, localValueSet, submittedValue and valid properties. This is the partial state which is stored after one submit. Do you have other suggestions about what else could be improved in partial state saving? Regards, Marius -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Marius 2010/7/13 Marius Petoi marius.pe...@codebeat.ro Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments and questions: On Sun, Jul 11, 2010 at 3:57 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Sorry for the late response, but I was looking other important issues (I usually review issues with JSR-314 component first). I reviewed your patches and I committed some of them, and made comments on the others. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. To save ValueExpressions, javax.faces.component._DeltaStateHelper uses an InternalMap, but that one does not take into account PartialStateHolder interface. So in this case does not apply. In MethodExpression it is possible, but to do that, we need to solve two questions: - If we have an immutable object that implements Serializable interface and a similar one that implements PartialStateHolder, which one is saved / restored faster? which one has bigger state size? It is worth to implement PartialStateHolder or keep it as Serializable?. To solve that we need to try some simple performance tests with possible candidates. -- Ok. How should I do that. This meaning do you have any suggestions for objects or should I create some mock objects with identical data and then compare the two strategies (in time and state size)? Yes, it is a simple check but the important here is to know if the optimization is valuable or not. - Does all methods that store MethodExpression variables ( UICommand.actionExpression) should handle PartialStateHolder interfaces? In theory yes (I add this support before but then I revert it to the current behavior because there is no evidence why use PartialStateHolder in this case), but if we don't expect MethodExpression implementations implements PartialStateHolder, just let it as is. -- By this you mean classes with MethodExpressions that use also serialization and not implements PartialStateHolder. I've found a couple of such classes: EventHandler.Listener and LegacyMethodBinding. Yes. Note here to implement PartialStateHolder the target property that will use the MethodExpression should know how to deal with it. But this is worth only if the first idea is also true ( implement PartialStateHolder instead Serializable ). Look this class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler . It has a inner class called SetPropertyListener that implements Serializable. javax.faces.component._DeltaList is used to store FacesListeners and that one handles PartialStateHolder instances. That one is other valid case. -- Ok. So should I transform this class into one implementing PartialStateHolder? In this case you should evaluate if it is worth this class implements PartialStateHolder. regards, Leonardo best regards, Leonardo Uribe Regards, Marius
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments and questions: On Sun, Jul 11, 2010 at 3:57 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Sorry for the late response, but I was looking other important issues (I usually review issues with JSR-314 component first). I reviewed your patches and I committed some of them, and made comments on the others. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. To save ValueExpressions, javax.faces.component._DeltaStateHelper uses an InternalMap, but that one does not take into account PartialStateHolder interface. So in this case does not apply. In MethodExpression it is possible, but to do that, we need to solve two questions: - If we have an immutable object that implements Serializable interface and a similar one that implements PartialStateHolder, which one is saved / restored faster? which one has bigger state size? It is worth to implement PartialStateHolder or keep it as Serializable?. To solve that we need to try some simple performance tests with possible candidates. -- Ok. How should I do that. This meaning do you have any suggestions for objects or should I create some mock objects with identical data and then compare the two strategies (in time and state size)? - Does all methods that store MethodExpression variables ( UICommand.actionExpression) should handle PartialStateHolder interfaces? In theory yes (I add this support before but then I revert it to the current behavior because there is no evidence why use PartialStateHolder in this case), but if we don't expect MethodExpression implementations implements PartialStateHolder, just let it as is. -- By this you mean classes with MethodExpressions that use also serialization and not implements PartialStateHolder. I've found a couple of such classes: EventHandler.Listener and LegacyMethodBinding. Look this class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler . It has a inner class called SetPropertyListener that implements Serializable. javax.faces.component._DeltaList is used to store FacesListeners and that one handles PartialStateHolder instances. That one is other valid case. -- Ok. So should I transform this class into one implementing PartialStateHolder? best regards, Leonardo Uribe Regards, Marius
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Sorry for the late response, but I was looking other important issues (I usually review issues with JSR-314 component first). I reviewed your patches and I committed some of them, and made comments on the others. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. To save ValueExpressions, javax.faces.component._DeltaStateHelper uses an InternalMap, but that one does not take into account PartialStateHolder interface. So in this case does not apply. In MethodExpression it is possible, but to do that, we need to solve two questions: - If we have an immutable object that implements Serializable interface and a similar one that implements PartialStateHolder, which one is saved / restored faster? which one has bigger state size? It is worth to implement PartialStateHolder or keep it as Serializable?. To solve that we need to try some simple performance tests with possible candidates. - Does all methods that store MethodExpression variables ( UICommand.actionExpression) should handle PartialStateHolder interfaces? In theory yes (I add this support before but then I revert it to the current behavior because there is no evidence why use PartialStateHolder in this case), but if we don't expect MethodExpression implementations implements PartialStateHolder, just let it as is. Look this class: org.apache.myfaces.view.facelets.tag.jsf.core.SetPropertyActionListenerHandler . It has a inner class called SetPropertyListener that implements Serializable. javax.faces.component._DeltaList is used to store FacesListeners and that one handles PartialStateHolder instances. That one is other valid case. best regards, Leonardo Uribe
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hello, I created a JIRA ticket with a patch that removes the CompositeComponentResourceTagH andler.ATTACHED_OBJECT_HADLERS_KEY from the component attributes map. Instead it creates a map with the attached object handlers indexed by the component reference. The JIRA ticket is: https://issues.apache.org/jira/browse/MYFACES-2802 Please have a look over it and see whether it is ok. Regards, Marius On Tue, Jul 6, 2010 at 5:38 PM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, So, I am not sure what you mean by map with the Reference of the component as the key...is it a map in which the keys are java.lang.ref.Reference objects? And if so, what kind of references should I use? I meant you just put the component itself as a key there. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. best regards, Martin On Tue, Jul 6, 2010 at 10:46 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius, problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over one request, the reference is stable enough! Yes, it is possible. Just we have to take care about ClientBehaviorRedirectEventComponentWrapper, because this class is used as a wrapper to redirect client behavior events. Note that CompositeComponentResourceTagHandler.ATTACHED_OBJECT_HADLERS_KEY list is not saved on the state, but since we use the component attribute map, the key and the null value is saved on the state. If we don't use the component attribute map, we don't have that trace on the state and it will be lower. any update on this? best regards, Martin -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hello, So, I am not sure what you mean by map with the Reference of the component as the key...is it a map in which the keys are java.lang.ref.Reference objects? And if so, what kind of references should I use? On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. Regards, Marius On Tue, Jul 6, 2010 at 10:46 AM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi Marius, problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over one request, the reference is stable enough! Yes, it is possible. Just we have to take care about ClientBehaviorRedirectEventComponentWrapper, because this class is used as a wrapper to redirect client behavior events. Note that CompositeComponentResourceTagHandler.ATTACHED_OBJECT_HADLERS_KEY list is not saved on the state, but since we use the component attribute map, the key and the null value is saved on the state. If we don't use the component attribute map, we don't have that trace on the state and it will be lower. any update on this? best regards, Martin
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Marius, So, I am not sure what you mean by map with the Reference of the component as the key...is it a map in which the keys are java.lang.ref.Reference objects? And if so, what kind of references should I use? I meant you just put the component itself as a key there. On the other hand, regarding serialization vs implements PartialStateHolder, I've looked for some more externalizable objects: the TagMethodExpression class is used in the MethodExpressionValueChangeListener, which implements StateHolder and PartialMethodExpressionValueChangeListener, which implements PartialStateHolder. So maybe instead of being Externalizable, TagMethodExpression should also implement PartialStateHolder. There is a similar situation with TagValueExpression. I guess - Leonardo should clarify. best regards, Martin On Tue, Jul 6, 2010 at 10:46 AM, Martin Marinschek mmarinsc...@apache.org wrote: Hi Marius, problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over one request, the reference is stable enough! Yes, it is possible. Just we have to take care about ClientBehaviorRedirectEventComponentWrapper, because this class is used as a wrapper to redirect client behavior events. Note that CompositeComponentResourceTagHandler.ATTACHED_OBJECT_HADLERS_KEY list is not saved on the state, but since we use the component attribute map, the key and the null value is saved on the state. If we don't use the component attribute map, we don't have that trace on the state and it will be lower. any update on this? best regards, Martin -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Sent from my phone, so very short: problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over one request, the reference is stable enough! Best regards, Martin
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi In some parts, facelets uses objects like the one before that are serialized instead implements StateHolder or PartialStateHolder. It could be good to know which strategy is better (serialization or implements PartialStateHolder) and check in which cases it is worth to do it. One example is CompositeComponentBeanInfo, but it could be others as well. So what you are saying is that in this case it is better to use implements PartialStateHolder than serialization? I'll look for more situations where serialization is used and we shall discuss whether it is better to use PartialStateHolder instead. Theorically, the advantage of use PartialStateHolder over serialization, is that serialization needs to be saved and restored between requests, but PartialStateHolder objects do not if the inner state is not changed, and if so, it is necessary to save only the delta. Since in jsf we have StateHolder and PartialStateHolder, we are assuming serializable instances are immutable, so in most cases it is ok to use it. I checked the code and we are not taking advantage of this assumption on several places. For example: UIOutput.converter property. Maybe in this place: else if (_isSetConverter() || _converter != null) { //Full converterSaved = saveAttachedState(facesContext,_converter); nullDelta = false; } we can do this: else if (_isSetConverter() || (_converter != null !(_converter instanceof Serializable) )) { //Full converterSaved = saveAttachedState(facesContext,_converter); nullDelta = false; } but I haven't tested it fully yet. In conclusion, in most cases both strategies are equivalent. But in this time we don't know which strategy is faster. For example, let's take the case of CompositeComponentBeanInfo. In theory, after this object is initialized it does not change between requests (I mean after the object is returned by vdl.getComponentMetadata(FacesContext, Resource) ). In theory, PSS algorithm should not save it on the state, so on each request we are setting it on the first request build. The only case we have is if we are not using PSS on the current view or on that specific part of the view by the effect of c:if tag. In that case we are saving/restoring this value and the only relevant criteria to use PartialStateHolder or serialization is speed. problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over one request, the reference is stable enough! Yes, it is possible. Just we have to take care about ClientBehaviorRedirectEventComponentWrapper, because this class is used as a wrapper to redirect client behavior events. Note that CompositeComponentResourceTagHandler.ATTACHED_OBJECT_HADLERS_KEY list is not saved on the state, but since we use the component attribute map, the key and the null value is saved on the state. If we don't use the component attribute map, we don't have that trace on the state and it will be lower. best regards, Leonardo
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hi Leonardo, Thank you again for your response! On Mon, Jun 28, 2010 at 11:15 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius 2010/6/28 Marius Petoi marius.pe...@codebeat.ro Hello, After looking more to the attributes of the components, here's what I've found regarding state saving: ErrorPageWriter.VISITED_FACET_COUNT - used in the debug page for displaying facet components. It is recalculated at each request, so it is not necessary in the state. My suggestion would be to introduce a map in ErrorPageWriter with number of visited facets for every component Yes, sounds good. Then I shall do it like this. CompositeComponentResourceTagHandler.ATTACHED_OBJECT_HADLERS_KEY - saved in partial state as an attribute. The object is an ArrayList, but my suggestion would be to use instead _DeltaList This list is not saved on the state, instead, it is removed on CompositeComponentResourceTagHandler.applyNextHandler, because the purpose is use it on vdl.retargetAttachedObjects method to apply each of the handlers related to the current composite component. The problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here is not possible. The solution is have a transient property map for each component, but we can't do that without a change in the spec. OK. So this is not a problem, if you say that it is not saved in the state. ValidatorTagHandlerDelegate.VALIDATOR_ID_EXCLUSION_LIST_KEY - saved in partial state as an attribute. This object is also an ArrayList, that I think should be a _DeltaList instead. Yes, it is possible. InsertChildrenTag.INSERT_CHILDREN_USED, InsertFacetTag.INSERT_FACET_USED - saved in bean if the build is for composite component metadata. Otherwise, saved as a component parameter. When used, these parameters are taken only from the bean. So practically, the value saved in the attribute map is never used...and it is included in the saved state Good catch!. It is a mistake. At start InsertChildrenTag.INSERT_CHILDREN_USED and InsertFacetTag.INSERT_FACET_USED were used to save that information on component state, but that strategy was moved to beanDescriptor to allow apply some facelet tags inside a composite component first and then the ones inside cc:implementation. I'll remove those lines. OK. Also the list parameters saved in the BeanDescriptor objects in the CompositeComponentBeanInfo are ArrayList-s. But as they are included in the saved state, my suggestion would be to make them _DeltaList-s. Note that CompositeComponentBeanInfo implements Externalizable. That means this object is serialized, so first that object should implement PartialStateHolder. In theory the algorithm we have, try to cache this object and use it across composite components, but this object is serialized/deserialized on each save/restore cycle. I think it has sense this object implements PartialStateHolder interface. Thinking about this stuff, I remember one small enhancement I did on org.apache.myfaces.view.facelets.tag.jsf.ActionSourceRule. The relevant code is this: public void applyMetadata(FaceletContext ctx, Object instance) { final MethodExpression methodExpressionOneArg = _attr.getMethodExpression(ctx, null, ActionSourceRule.ACTION_LISTENER_SIG); final MethodExpression methodExpressionZeroArg = _attr.getMethodExpression(ctx, null, ActionSourceRule.ACTION_SIG); if (FaceletCompositionContext.getCurrentInstance(ctx).isUsingPSSOnThisView()) { ((ActionSource2) instance).addActionListener( new PartialMethodExpressionActionListener(methodExpressionOneArg, methodExpressionZeroArg)); } else { ((ActionSource2) instance).addActionListener( new MethodExpressionActionListener(methodExpressionOneArg, methodExpressionZeroArg)); } } In this case MethodExpressionActionListener implements StateHolder, but PartialMethodExpressionActionListener extends MethodExpressionActionListener and implements PartialStateHolder. In theory if PSS is used, PartialMethodExpressionActionListener is better because it reduce the state size. In some parts, facelets uses objects like the one before that are serialized instead implements StateHolder or PartialStateHolder. It could be good to know which strategy is better (serialization or implements PartialStateHolder) and check in which cases it is worth to do it. One example is CompositeComponentBeanInfo, but it could be others as well. So what you are saying is that in this case it is better to use implements PartialStateHolder than serialization? I'll look for more situations where serialization is used and we shall discuss whether it is better to
Re: [GSOC] State saving performance improvements in MyFaces 2.0
Hello, I created a ticket and attached a patch for removing the MARK_DELETED attribute from the component. The JIRA ticket is: https://issues.apache.org/jira/browse/MYFACES-2774. Please have a look over it and tell me whether I should modify anything. Regards, Marius On Fri, Jun 25, 2010 at 2:12 PM, Marius Petoi marius.pe...@codebeat.rowrote: Hello, Thank you for the explanations! So, as I see here, it is ok to remove the org.apache.myfaces.view.facelets.MARK_DELETED attribute from the partial state and include it in the FaceletContext (as a list of components that are marked for deletion). Regards, Marius On Fri, Jun 25, 2010 at 2:20 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Martin 2010/6/24 Martin Marinschek mmarinsc...@apache.org Hi Leonardo, The param org.apache.myfaces.view.facelets.APPLIED is used with the web config param javax.faces.FACELETS_REFRESH_PERIOD, to detect changes on the template files. If you set this param to 0, facelets stops to add it and your state size is reduced, so that configuration must be used in production environments. so that is in all components? and it is only for reloading? wouldn't it be enough to have this once per view? In the view-root attributes map? then, if any of the files which are loaded are younger than this param, we drop the whole thing and reload? I thought the MARK_APPLIED was for something else, but I don't remember too well... I am concerned even about polluting the state while development - it makes the debugging harder. MM so that is in all components? It is applied by DefaultFacelet to the component instance that contains a reference to a template. There are three cases: - When the first facelet is applied (call to Facelet.apply(FacesContext facesContext, UIComponent parent) ) - When a composite component template is applied (call to DefaultFacelet.applyCompositeComponent(AbstractFaceletContext ctx, UIComponent parent, Resource resource) ) - When a template is included (call to DefaultFacelet.include(AbstractFaceletContext ctx, UIComponent parent, URL url) ) So it appears based on how the page use templates or composite components. MM and it is only for reloading? Yes. MM wouldn't it be enough to have this once per view? In the view-root attributes map? If we let it just once per view and it is changed a child template, the current view will not be updated because it contains the update time of the base template. It seems possible to use this attribute just once, but to do that it is necessary to change the whole algorithm. MM if any of the files which are loaded are younger than this param, we drop the whole thing and reload? Looking in deep the current algorithm is not using file modification times as I was expecting (so it does not look for changes), instead it is using as base time the creation time of the Facelet object. So, the algorithm just refresh the templates at specified intervals. It seems we can do something more simple here and do not pollute the state. I think it is possible to do something about ComponentSupport.MARK_DELETED. The algorithm used to refresh a view by facelets uses this param to indicate when a component should be deleted, but I think we can rewrite the algorithm to do not use the component attribute map to save this information, because it is only relevant for the current request. For even less, right? It should really be valid only for one building of the view - can we keep it in some facelet-context attribute, keyed by the component instance (so that the lookup is fast)? Yes, that's the idea. best regards, Leonardo Maybe we should change the keys for example from org.apache.myfaces.view.facelets.MARK_DELETED to something smaller like oam.facelets.MARK_DELETED to save some bytes. ah well, it should go completely. Everything else is only half the rent. best regards, Martin 2010/6/24 Marius Petoi marius.pe...@codebeat.ro Hello, As you said, Martin, the attribute org.apache.myfaces.view.facelets.APPLIED is included in the partial state. This, as well as all the other attributes of the components, as the attributeMap in the UIComponentBase is a _ComponentAttributesMap. The put method of this map calls afterwards the method in the _DeltaStateHelper. This method includes everything in the partial state (as long as the initial state is marked). This means that all the attributes of a component will be included in the partial state. I suppose that there are other attributes as facelets.APPLIED, which don't need to be included in the partial state. So my suggestion at first would be to add flags to the put methods of the _DeltaStateHelper, in which to decide whether the value added needs to be in the partial state (and therefore added in the _deltas map), or not (in which case it will be added only in the _fullstate map). Afterwards, we