Issue Details (XML | Word | Printable)

Key: JAVASERVERFACES_SPEC_PUBLIC-781
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Major Major
Assignee: Unassigned
Reporter: lu4242
Votes: 1
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
javaserverfaces-spec-public

Expose TemplateClient api to make gracelets work with jsf 2.0

Created: 31/Mar/10 09:55 AM   Updated: 19/Dec/13 10:59 PM   Resolved: 19/Dec/13 10:59 PM
Component/s: Facelets/VDL
Affects Version/s: 2.0
Fix Version/s: 2.2

Time Tracking:
Not Specified

Environment:

Operating System: All
Platform: All


Issuezilla Id: 781
Status Whiteboard:

size_large importance_medium

Tags:
Participants: Ed Burns, lu4242 and rogerk


 Description  « Hide

This message is on behalf of Lewis Gass.

I am writing in relation to a particular use case which reveals that the
current JSF 2.0 public API is defficient. This is in relation the open
source project Gracelets (http://gracelets.sourceforge.net/) and the new
effort to integrate JSF 2.0 with Groovy. In order for people to use Groovy
as an alternative View Langauge they need
to have access to the all the Facelets tag libraries and participate in the
Templating framework that Facelets provides. Much of this is tied to the
TagLibrary and
TemplateClient API's. Before, with JSF 1.2, there was a single Facelets
"API" and/or implementation. So integrating with it was much simpler, as is
shown by previous Gracelets
versions. With JSF 2.0, part of the Facelets library was divided into public
API and another as JSF 2.0 specific implementation.

However, basic concepts such as Templating (TemplateClient and
TemplateManager) are not considered public API, which means that a
technology such as Gracelets
must rely on a per JSF implementation integration library which is volatile
in nature. The FaceletContext class is public API, but implementations are
not required to support
third party implementations of such, and there is no standard way to access
the TagLibrary used by facelets so that third part View Languages can
harness them.

Thus this message has the purpose of requesting such parts of the old
Facelets library, namely, the TagLibrary, TemplateClient and the related
FaceletContext methods (popClient(),
pushClient(), extendClient() and applyDefinition()) to be part of the public
JSF 2.0 API, while at the same time requiring JSF 2.0 implementors to
support third party implementations
of the same classes/API's.

Respectfully,
Lewis Gass
Gracelets Coder
sestechllc@gmail.com



lu4242 added a comment - 13/May/10 08:04 PM

Comments from this discussion: [jsr-314-open]
javax.faces.view.facelets.ResourceResolver cannot be fully overriden

Checking this issue on myfaces:

https://issues.apache.org/jira/browse/MYFACES-2628

It was notice there is a way to override the default ResourceResolver, used to
load facelets templates, but the algorithm related to ViewHandler (spec pdf
section 7.5.2) says that if the physical resource exists with the name
requestViewId let that value be viewId, otherwise return null. So, if some user
try to load templates from other sources, the ViewHandler just will not work.

The problem is there is no standard way to retrieve the current ResourceResolver
object, so the ViewHandler just can't find them. In myfaces, this one is
instantiated on facelets vdl object, when it is initialized.

One idea to solve this one could be expose this object through vdl interface
(maybe a public method called getResourceResolver()?).

Since this issue is related to other ones that requires expose facelets api
objects, I'll not create an issue on the spec jira, but if it is necessary I can
create it.


Ed Burns added a comment - 19/May/10 07:04 AM

Move to 2.1


Ed Burns added a comment - 08/Jun/10 01:11 PM

triage


Ed Burns added a comment - 22/Jun/10 09:02 PM

edburns


Ed Burns added a comment - 24/Jun/10 01:32 PM

Change target milestone.


rogerk added a comment - 27/Oct/10 02:15 PM

triage


kenaiadmin made changes - 25/Nov/10 06:44 PM
Field Original Value New Value
issue.field.bugzillaimportkey 781 20386
Ed Burns made changes - 08/Nov/13 09:15 PM
Assignee Ed Burns [ edburns ]
Ed Burns added a comment - 19/Dec/13 10:59 PM

We are considering extracting Facelets out of JSF for use outside of JSF as well as inside. This would have to be addressed in that case.


Ed Burns made changes - 19/Dec/13 10:59 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Won't Fix [ 2 ]