Getting started to contribute to MyFaces

2011-01-31 Thread Thiwanka Somasiri
Hi,
  I am a newbie to the MyFaces project and I need to know from which
point I should start contributing to the project. Can anyone tell me what I
should do first?
thanks.

-- 

Regards

A.S.Thiwanka Somasiri

Skype : executionerwild
MSN   : thi...@ymail.com
thi...@ymail.com


Re: Getting started to contribute to MyFaces

2011-01-31 Thread Jan-Kees van Andel
Hi,

There are several ways to contribute:
- On the mailinglists, participating in discussions and answering questions.
- By contributing bugfixes for issues in the Jira (
https://issues.apache.org/jira/browse/MYFACES), but this might be difficult,
since most bugs have specification implications or
other subtle consequences. Fixing one bug might cause other bugs. O.t.o.h.
it's a good way to get to know the codebase.
- By contributing new features, for example in CODI.
- By contributing documentation enhancements.

It all depends on where your interests are. I.e. do you like working on the
core or are you more into the extensions?

Regards,
Jan-Kees


2011/2/1 Thiwanka Somasiri asthiwa...@gmail.com

 Hi,
   I am a newbie to the MyFaces project and I need to know from which
 point I should start contributing to the project. Can anyone tell me what I
 should do first?
 thanks.

 --

 Regards

 A.S.Thiwanka Somasiri

 Skype : executionerwild
 MSN   : thi...@ymail.com
 thi...@ymail.com





Re: best way to contribute?

2009-01-06 Thread Matthias Wessendorf
Hi Jondean,

best would be a JIRA ticket (+ patch).
The discussion of the issue (and the patch) should be done here, on
the DEV list.

-Matthias

On Sun, Jan 4, 2009 at 12:16 AM, Jondean Haley jondeanha...@gmail.com wrote:
 Hi,

 I just joined this d-list.  What is the preferred way to raise bugs
 discovered in reading the code?  Do you wish to have a JIRA ticket opened or
 a note sent to this d-list?

 Issue in 1.2.5:   LifeCycleFactoryImpl is not thread-safe.   _lifecycles Map
 must be locked for all read and write accesses and a race condition exists
 due to failure to lock in getLifecycleIds and purgeLifecycle.

 Similarly, 1.2.5 FactoryFinder is not thread-safe - the binary predicate on
 the 2 instance variables should be documented as below, and requires lock
 protection which the synch on either variable alone does not provide.

 /*
  * //JAH: _registeredFactoryNames and _factories are the only non-final
 instance variables and share a binary predicate:
  * The former is a map (classloader object, (string factoryname, List of
 strings of factory class names))
  * The latter is a map (classloader object, (string factoryname, List of
 instances of the factory classes))
  * The predicate is For each string factory class name in
 _registeredFactoryNames, there exists, at the same index in its list as the
 name, an instance of the
  * class in _factories.  This binary predicate is in addition to the
 standard requirement to synch all read/writes to the non-threadsafe
 HashMaps.
  * Every predicate requires a unique lock for thread safety.  Since these 2
 instance variables are the ONLY mutable state of the object, all reads and
 writes can
  * be synch'd via the object monitor - use synchronized methods on all
 methods reading or writing from either variable, thereby making the object
 monitor the lock
  * for protection of all 3 predicates.
  */
 A simple solution is to synchronize all 3 public methods: getFactory,
 setFactory and releaseFactories, then document the binary predicate over the
 instance variable and ensure the code is correctly honoring the predicate
 within the synch'd methods.



 Thanks in advance,
 Jondean.







-- 
Matthias Wessendorf

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


best way to contribute?

2009-01-03 Thread Jondean Haley
Hi,

I just joined this d-list.  What is the preferred way to raise bugs
discovered in reading the code?  Do you wish to have a JIRA ticket opened or
a note sent to this d-list?

Issue in 1.2.5:   LifeCycleFactoryImpl is not thread-safe.   _lifecycles Map
must be locked for all read and write accesses and a race condition exists
due to failure to lock in getLifecycleIds and purgeLifecycle.

Similarly, 1.2.5 FactoryFinder is not thread-safe - the binary predicate on
the 2 instance variables should be documented as below, and requires lock
protection which the synch on either variable alone does not provide.

/*
 * //JAH: _registeredFactoryNames and _factories are the only non-final
instance variables and share a binary predicate:
 * The former is a map (classloader object, (string factoryname, List of
strings of factory class names))
 * The latter is a map (classloader object, (string factoryname, List of
instances of the factory classes))
 * The predicate is For each string factory class name in
_registeredFactoryNames, there exists, at the same index in its list as the
name, an instance of the
 * class in _factories.  This binary predicate is in addition to the
standard requirement to synch all read/writes to the non-threadsafe
HashMaps.
 * Every predicate requires a unique lock for thread safety.  Since these 2
instance variables are the ONLY mutable state of the object, all reads and
writes can
 * be synch'd via the object monitor - use synchronized methods on all
methods reading or writing from either variable, thereby making the object
monitor the lock
 * for protection of all 3 predicates.
 */
A simple solution is to synchronize all 3 public methods: getFactory,
setFactory and releaseFactories, then document the binary predicate over the
instance variable and ensure the code is correctly honoring the predicate
within the synch'd methods.



Thanks in advance,
Jondean.


Contribute

2007-07-27 Thread Santiago Gil
Hello everyone, 

 

I’m (very) new to the list, …

Just wanted to ask, How can I contribute to the myfaces project.. have
looked around but haven’t found the right link.. 

 

thanks

 

 

 


Santiago Gil 



 

Estudiante de Maestría

Ingeniería de Sistemas y Computación

Universidad de Los Andes

 

Teléfonos:

  (+57 1) 2745263 (Bogotá)
  (+57) 310 800 1393 (Móvil)

 

E-mails:

  [EMAIL PROTECTED] (MSN)

   mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

 

 



--
Get a free email address with REAL anti-spam protection.
http://www.bluebottle.com/tag/1



Re: Contribute

2007-07-27 Thread Leonardo Uribe
Hello Santiago

I'm from Colombia too!. Is good to see people from my country work in this.

I'm doing a work as part of Google Summer of Code with myfaces, but that is
another history.

You can start seeing the wiki page

http://wiki.apache.org/myfaces

Specially this pages:

http://wiki.apache.org/myfaces/Building_With_Maven
http://wiki.apache.org/myfaces/MyFaces_Developer_Notes
http://wiki.apache.org/myfaces/Contributing_Patches
http://wiki.apache.org/myfaces/How_to_Help
http://wiki.apache.org/myfaces/Help_Wanted

The issue tracker for myfaces is this.

https://issues.apache.org/jira/secure/Dashboard.jspa

You can register and take a look in myfaces projects.

regards.

Att: Leonardo Uribe
Ingeniero de Sistemas
Pontificia Universidad Javeriana
Ingeniero Electronico
Universidad Nacional de Colombia


Can I contribute to project ?

2005-08-02 Thread Alexandr J. Smirnov
I have worked ( as alpha-alpha-alpha .. ) set of custom components for
create AJAX-like user interfaces for Java Server Faces Applications. Main
idea - in faces lifecicle, ve have view tree on server side and DOM tree in
client browser ( at present, saving tree on client side don't used ). For
ajax request, client send all user input of current form ( as normal submit
request ). Request phases work as usual, but on render responce phase server
send ONLY CHANGED parts of view ( i don't create full compare, but send only
fo pre-defined parts, or submitted form ). For this I created special
AjaxContainer component, wich render it's children ( or part of children )
components. List of clientId's for rendered components included in response
for client-side part of framework.
For other cases ( for example, such will work in-page Jabber client  )
component can render updated xml in custom Listener, and set
responseComplete  to FacesContext.

On client side, JavaScript get list of rendered parts and update page DOM
Tree.
In result, we have two-way communications between client browser and JSF
view, and have sync tree's on client and server side. It's work like common
desctop applications.
 Such arch don't need create special RenderKit or change most of
components - for example, at present, I have only custom tag's-renderers for
UICommand ( link  Button ) components, and have worked all standart and
most of custom ( tree2 and any other Myfaces components ) as AJAX ... On
other hand, custom renderers  based on usual Html renderers, and work also
in non-JavaScript environment as simple html...

For client side script use XMLHttpRequest object, and, if it don't exist,
special JavaScriptHttpRequest. It's worked same as XMLHttpRequest (
designed with same properies and methods ), but use other idea. For perform
request, It appended to page script tag. Browser load script ( url maked
from form action url with query string as normal GET request ), but script
produced by special Filter on server from Html code of JSF Response - as
pseudo-Dom tree of objects. Loaded script call handler function for update
page - same as XMLHttpRequest. Not need any iframe or other incompatible
technologies for non XMLHttpRequest browsers.
 It can work in wide range of browsers, even in 4+ IE  Netscape  ???
( in theory. At present tested with Mozilla Firefox and IE 5.5+ browsers. I
need help for make JavaScript compatible with others. )
At present, XMLHttpRequest work only in Mozilla. Code for MS ActiveX was
disabled since I don't can get any functionality of XML part for microsoft
object ! Xml parsed withowt errors. ( For xml request, i use in servlet
Filter nekkohtml parser, and make valid xml, with all declarations and
mime-type headers ). It make responseXML Tree, but any methods for
navigate/manipulate don't worked ! Also, elements from responseXML can't be
inserted to page, don't produce event handlers etc.
Current view of code repository -
http://svn.demi.spb.ru/repository/myfaces-ajax/ Project created in Eclipse.
Sorry for possible mistakes - my native language is Russian.

Alexander J. Smirnov



Re: Can I contribute to project ?

2005-08-02 Thread Martin Marinschek
Do you have a demo of this technology up and running?

Can you start a discussion with code snippets on the mailing list how you implemented that? 

How many changes would it take to get MyFaces to use your approach?

regards,

MartinOn 8/2/05, Alexandr J. Smirnov [EMAIL PROTECTED] wrote:
I have worked ( as alpha-alpha-alpha .. ) set of custom components forcreate AJAX-like user interfaces for Java Server Faces Applications. Mainidea - in faces lifecicle, ve have view tree on server side and DOM tree in
client browser ( at present, saving tree on client side don't used ). Forajax request, client send all user input of current form ( as normal submitrequest ). Request phases work as usual, but on render responce phase server
send ONLY CHANGED parts of view ( i don't create full compare, but send onlyfo pre-defined parts, or submitted form ). For this I created specialAjaxContainer component, wich render it's children ( or part of children )
components. List of clientId's for rendered components included in responsefor client-side part of framework.For other cases ( for example, such will work in-page Jabber client)component can render updated xml in custom Listener, and set
responseCompleteto FacesContext.On client side, _javascript_ get list of rendered parts and update page DOMTree.In result, we have two-way communications between client browser and JSFview, and have sync tree's on client and server side. It's work like common
desctop applications. Such arch don't need create special RenderKit or change most ofcomponents - for example, at present, I have only custom tag's-renderers forUICommand ( link  Button ) components, and have worked all standart and
most of custom ( tree2 and any other Myfaces components ) as AJAX ... Onother hand, custom renderersbased on usual Html renderers, and work alsoin non-_javascript_ environment as simple html...For client side script use XMLHttpRequest object, and, if it don't exist,
special _javascript_HttpRequest. It's worked same as XMLHttpRequest (designed with same properies and methods ), but use other idea. For performrequest, It appended to page script tag. Browser load script ( url maked
from form action url with query string as normal GET request ), but scriptproduced by special Filter on server from Html code of JSF Response - aspseudo-Dom tree of objects. Loaded script call handler function for update
page - same as XMLHttpRequest. Not need any iframe or other incompatibletechnologies for non XMLHttpRequest browsers. It can work in wide range of browsers, even in 4+ IE  Netscape???( in theory. At present tested with Mozilla Firefox and IE 
5.5+ browsers. Ineed help for make _javascript_ compatible with others. )At present, XMLHttpRequest work only in Mozilla. Code for MS ActiveX wasdisabled since I don't can get any functionality of XML part for microsoft
object ! Xml parsed withowt errors. ( For xml request, i use in servletFilter nekkohtml parser, and make valid xml, with all declarations andmime-type headers ). It make responseXML Tree, but any methods for
navigate/manipulate don't worked ! Also, elements from responseXML can't beinserted to page, don't produce event handlers etc.Current view of code repository -
http://svn.demi.spb.ru/repository/myfaces-ajax/ Project created in Eclipse.Sorry for possible mistakes - my native language is Russian.Alexander J. Smirnov



Re: Can I contribute to project ?

2005-08-02 Thread [EMAIL PROTECTED]
this all sounds very interesing, iwe're too working on an ajaxcomponent 
right now (datatable) and we were also thinking in making this a global 
attribute for all components. maybe have a look at the custom examples 
in the sandbox folder. we used a special javascript library (i think 
from ruby on rails) called prototype.js. and it is really very neat, it 
does a lot of the work for you and seems to have no compatibility 
problems. also we already defind an ajaxPhaseListener, which looks if an 
ajaxcomponent is to be rendered and then jumps out of the life-cycle. 
have a look, im sure it is of interest to you


best wishes joerg


I have worked ( as alpha-alpha-alpha .. ) set of custom components for
create AJAX-like user interfaces for Java Server Faces Applications. Main
idea - in faces lifecicle, ve have view tree on server side and DOM tree in
client browser ( at present, saving tree on client side don't used ). For
ajax request, client send all user input of current form ( as normal submit
request ). Request phases work as usual, but on render responce phase server
send ONLY CHANGED parts of view ( i don't create full compare, but send only
fo pre-defined parts, or submitted form ). For this I created special
AjaxContainer component, wich render it's children ( or part of children )
components. List of clientId's for rendered components included in response
for client-side part of framework.
For other cases ( for example, such will work in-page Jabber client  )
component can render updated xml in custom Listener, and set
responseComplete  to FacesContext.

On client side, JavaScript get list of rendered parts and update page DOM
Tree.
In result, we have two-way communications between client browser and JSF
view, and have sync tree's on client and server side. It's work like common
desctop applications.
Such arch don't need create special RenderKit or change most of
components - for example, at present, I have only custom tag's-renderers for
UICommand ( link  Button ) components, and have worked all standart and
most of custom ( tree2 and any other Myfaces components ) as AJAX ... On
other hand, custom renderers  based on usual Html renderers, and work also
in non-JavaScript environment as simple html...

For client side script use XMLHttpRequest object, and, if it don't exist,
special JavaScriptHttpRequest. It's worked same as XMLHttpRequest (
designed with same properies and methods ), but use other idea. For perform
request, It appended to page script tag. Browser load script ( url maked
from form action url with query string as normal GET request ), but script
produced by special Filter on server from Html code of JSF Response - as
pseudo-Dom tree of objects. Loaded script call handler function for update
page - same as XMLHttpRequest. Not need any iframe or other incompatible
technologies for non XMLHttpRequest browsers.
It can work in wide range of browsers, even in 4+ IE  Netscape  ???
( in theory. At present tested with Mozilla Firefox and IE 5.5+ browsers. I
need help for make JavaScript compatible with others. )
At present, XMLHttpRequest work only in Mozilla. Code for MS ActiveX was
disabled since I don't can get any functionality of XML part for microsoft
object ! Xml parsed withowt errors. ( For xml request, i use in servlet
Filter nekkohtml parser, and make valid xml, with all declarations and
mime-type headers ). It make responseXML Tree, but any methods for
navigate/manipulate don't worked ! Also, elements from responseXML can't be
inserted to page, don't produce event handlers etc.
Current view of code repository -
http://svn.demi.spb.ru/repository/myfaces-ajax/ Project created in Eclipse.
Sorry for possible mistakes - my native language is Russian.

Alexander J. Smirnov



 






RE: Can I contribute to project ?

2005-08-02 Thread Alexandr J. Smirnov

Do you have a demo of this technology up and running?

Yes. I need any time to allow access from internet to my test server.

Can you start a discussion with code snippets on the mailing list how you
implemented that?

Yes , of cource.

How many changes would it take to get MyFaces to use your approach?

No changes. Work with My Faces  JSF RI without modifications.
regards,

Martin





RE: Can I contribute to project ?

2005-08-02 Thread Alexandr J. Smirnov


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 02, 2005 3:11 PM
 To: MyFaces Development
 Subject: Re: Can I contribute to project ?


 this all sounds very interesing, iwe're too working on an ajaxcomponent
 right now (datatable) and we were also thinking in making this a global
 attribute for all components.
Main difference with sundbox : you  create custom components with own
lifecycle. My system support FULL JSF process, can use ALL standart and most
of custom components.
 maybe have a look at the custom examples
 in the sandbox folder. we used a special javascript library (i think
 from ruby on rails) called prototype.js. and it is really very neat, it
It also use MS ActiveX XmlHttpRequest. As I was write, it have lot of
problem. Most important for me - trouble with manupulate with parts of
responce. It not such important for one component, but produce troubles in
my case, where I can get in response set of page parts to update.
Second - MSXML don't can parse JSF html ! Even it transformed to valid XML.
JSF use ':' as separator for ID's of components. MS XML parser don't allow
such symbols in XML #IMPLIED attributes !
Third - user can turn off support of ActiveX in browser for security reason.
the nearest example for me - my own company. ActiveX turn off by corporate
policy.
Forth - Opera,  very limited support for XMLHttp, Pocket 
...
 does a lot of the work for you and seems to have no compatibility
 problems. also we already defined an ajaxPhaseListener, which looks if an
 ajaxcomponent is to be rendered and then jumps out of the life-cycle.
Yes. It good idea for single component, but not implemented for support of
normal JSF life. Main target for me - lightweight internet client for
corporate ERP system, we want get access for clients to control of orders,
prices etc., and for sales managers with PocketPC communicators. ( Don't
tested, but by specifications my library can  work with Pocket PC 2003 ...)
In this case, create special component for any updatable part of page very
trouble ...
 have a look, im sure it is of interest to you

 best wishes joerg





Contribute a columns component to create crosstables

2005-03-23 Thread Brökelmann, Mathias
Hi,

I have developed a jsf component which allows to have n-columns in a datatable 
to make cross tables. That component is currently implemented using the myfaces 
components as a base which is working fine.

The component is working like this:

x:dataTable value=#{data.rows} var=row 
  !-- just a column --
  h:column
f:facet name=header
h:outputText value=fixed column /
/f:facet
h:outputText value=#{row.attributeName} /
  /h:column
  !-- new columns component renders a column for each element in data.columns 
--
  x:columns value=#{data.columns} var=column
f:facet name=header
!-- row is not available! --
h:outputText value=#{column.label} /
/f:facet
!-- row is also available --
h:outputText value=#{data.columnValue} /
f:facet name=footer
!-- row is not available! --
h:outputText value=#{column.footer} /
/f:facet
  /x:columns
/x:dataTable

The x:columns component is based on UIData. The parent datatable must have a 
fixed count of columns so it is not possible to use x:columns 
value=#{row.columns} var=column.
To get the value for the column in the row a managed bean must be used which 
calls DataModel.getRowData() from the rows datamodel and the columns datamodel 
to determine the current row and column.

I would like to contribute this component to myfaces.

Now to the tricky part which is the reason why I've not contributed the 
component yet.

Currently the parent datatable component (which is doing the most work) 
contains a lot of code copied from the UIData class which handles the 
processing of the columns through private methods. The best place to integrate 
the new columns component would be the UIData class but that would generate 
dependencies to non standard components. I've also noticed that die myfaces 
HtmlDataTable uses a HtmlDataTableHack class which copies the code from UIData 
to make extended components work. I do not think that copying code is the best 
solution since the last change in UIData was not applied to HtmlDataTableHack. 

To prevent inconsistent code I suggest to introduce an abstract UIDataBase 
class in share which contains the implementation of UIData and make the private 
methods protected. UIData extends the UIDataBase with an empty implementation. 
Some of the renderers do that already. I don't think it violates the spec.

Mathias