myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Blake Sullivan <blake.sulli...@oracle.com>
Subject Re: [jira] Created: (TRINIDAD-1930) Ability to easily create a meta tag
Date Mon, 04 Oct 2010 20:39:49 GMT
  They worked mostly like the Agents in Trinidad do, since that's where 
the Trinidad Agents come from.  I think that in this case, we actually 
had per-agent DocumentRenderer subclasses to handle agents that needed 
to output specific content.  However, at least for XHTML content, I 
think we either want to delegate the optional rendering of this content 
directly to the agent instance from the document renderer, or we want 
the Agent to cough up the name/value pairs for the DocumentRenderer to 
output.

-- Blake Sullivan


On 10/4/10 12:17 PM, Matt Cooper wrote:
> I'd like to learn more about configuring Agents in UIX, is there any 
> good documentation that you would recommend?  (My quick searches for 
> information about UIX or Trinidad Agent configuration has come up empty.)
>
> Thanks,
> Matt
>
> On Mon, Oct 4, 2010 at 12:43 PM, Blake Sullivan 
> <blake.sullivan@oracle.com <mailto:blake.sullivan@oracle.com>> wrote:
>
>     Trying again, since I got an error from the mail server.
>
>     -- Blake
>
>     On 10/4/10 11:25 AM, Blake Sullivan wrote:
>>     The document renderer should be delegating to the Agent
>>     implementation.  This is essentially what happened in UIX, which
>>     is where the idea of the metacontainer facet came from (in fact
>>     as part of handling exactly this problem, outputting meta tags
>>     for mobile devices, in that case for Palm)
>>
>>     -- Blake Sullivan
>>
>>
>>
>>     On 10/4/10 9:41 AM, Matt Cooper wrote:
>>>     Hi Blake,
>>>
>>>     How would you recommend exposing the configuration of the
>>>     viewport metadata since it is agent-specific to iOS, Android,
>>>     and Windows Mobile 7 agents?
>>>
>>>     Thanks,
>>>     Matt
>>>
>>>     On Mon, Oct 4, 2010 at 10:16 AM, Blake Sullivan
>>>     <blake.sullivan@oracle.com <mailto:blake.sullivan@oracle.com>>
>>>     wrote:
>>>
>>>          I'm not sure that I'm a fan of this approach.  Actually,
>>>         I'm not a fan at all.
>>>
>>>         1) Our first choice should be for any agent-specific meta
>>>         attributes to be generated by the document renderer
>>>         2) Any standard attributes that happen to be rendered as
>>>         meta attributes should be exposed as document attributes
>>>         3) Support for weird meta attributes should be tag children
>>>         of the document tag and should not require the use of a
>>>         tr:group.
>>>
>>>         -- Blake Sullivan
>>>
>>>
>>>
>>>
>>>         On 9/29/10 4:30 PM, Matt Cooper (JIRA) wrote:
>>>
>>>             Ability to easily create a meta tag
>>>             -----------------------------------
>>>
>>>                              Key: TRINIDAD-1930
>>>                              URL:
>>>             https://issues.apache.org/jira/browse/TRINIDAD-1930
>>>                          Project: MyFaces Trinidad
>>>                       Issue Type: Improvement
>>>                       Components: Components
>>>                 Affects Versions: 1.2.14-core ,  2.0.0.2-core
>>>                         Reporter: Matt Cooper
>>>                         Assignee: Matt Cooper
>>>
>>>
>>>             Ability to easily create a meta tag (e.g.
>>>             http://developer.apple.com/library/safari/#documentation/appleapplications/reference/safarihtmlref/articles/MetaTags.html
>>>             or
>>>             http://www.webmarketingnow.com/tips/meta-tags-uncovered.html
>>>             ) via a new trh:meta tag.
>>>
>>>             Currently it is quite tedious to create a meta tag out
>>>             of a component:
>>>
>>>             <tr:document ...>
>>>             <f:facet name="metaContainer">
>>>             <tr:group id="metaContainer">
>>>             <tr:outputText escape="false"
>>>                                  value='&lt;meta name="viewport"
>>>             content="width=device-width">'
>>>                                  id="metaTag1"/>
>>>             <tr:outputText escape="false"
>>>                                  value='&lt;meta
>>>             name="apple-mobile-web-app-capable" content="yes">'
>>>                                  id="metaTag2"/>
>>>             <tr:outputText escape="false"
>>>                                  value='&lt;meta
>>>             http-equiv="refresh" content="2;url=./test/index.jspx">'
>>>                                  id="metaTag3"/>
>>>             </tr:group>
>>>             </f:facet>
>>>             </tr:document>
>>>
>>>             It would be much better if we had a trh:meta component
>>>             that looked like this:
>>>
>>>             <tr:document ...>
>>>             <f:facet name="metaContainer">
>>>             <tr:group id="metaContainer">
>>>             <trh:meta name="viewport" content="width=device-width"/>
>>>             <trh:meta name="apple-mobile-web-app-capable"
>>>             content="yes"/>
>>>             <trh:meta name="refresh" nameType="http-equiv"
>>>             content="2;url=./test/index.jspx"/>
>>>             </tr:group>
>>>             </f:facet>
>>>             </tr:document>
>>>
>>>             So I would like to see a new trh:meta component that has
>>>             an API like this:
>>>
>>>             Tag name:<trh:meta>
>>>             UIComponent class:
>>>             org.apache.myfaces.trinidad.component.core.CoreMeta
>>>             Component type: org.apache.myfaces.trinidad.CoreMeta
>>>             The meta component generates an HTML meta tag and is
>>>             intended to be used inside either the trh:head tag or
>>>             the document component's metaContainer facet.
>>>
>>>             Events
>>>             Type    Phases  Description
>>>             org.apache.myfaces.trinidad.event.AttributeChangeEvent
>>>              Invoke Application, Apply Request Values        Event
>>>             delivered to describe an attribute change. Attribute
>>>             change events are not delivered for any programmatic
>>>             change to a property. They are only delivered when a
>>>             renderer changes a property without the application's
>>>             specific request. An example of an attribute change
>>>             events might include the width of a column that
>>>             supported client-side resizing.
>>>
>>>             Attributes
>>>             Name    Type    Supports EL?    Description
>>>             attributeChangeListener        
>>>             javax.el.MethodExpression       Only EL         a method
>>>             reference to an attribute change listener. Attribute
>>>             change events are not delivered for any programmatic
>>>             change to a property. They are only delivered when a
>>>             renderer changes a property without the application's
>>>             specific request. An example of an attribute change
>>>             events might include the width of a column that
>>>             supported client-side resizing.
>>>             binding        
>>>             org.apache.myfaces.trinidad.component.core.CoreMeta    
>>>             Only EL         an EL reference that will store the
>>>             component instance on a bean. This can be used to give
>>>             programmatic access to a component from a backing bean,
>>>             or to move creation of the component to a backing bean.
>>>             id      String  No      the identifier for the
>>>             component. The identifier must follow a subset of the
>>>             syntax allowed in HTML:
>>>
>>>                 * Must not be a zero-length String.
>>>                 * First character must be an ASCII letter (A-Za-z)
>>>             or an underscore ('_').
>>>                 * Subsequent characters must be an ASCII letter or
>>>             digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').
>>>
>>>             rendered        boolean         Yes     whether the
>>>             component is rendered. When set to false, no output will
>>>             be delivered for this component (the component will not
>>>             in any way be rendered, and cannot be made visible on
>>>             the client).
>>>             name    String  Yes     the name or http-equiv attribute
>>>             of the meta attribute (see nameType)
>>>             nameType        String  Yes     "name" or "http-equiv"
>>>             indicating which kind of name attribute is desired
>>>             ("name" is the most common attribute but some older meta
>>>             tags need "http-equiv")
>>>             content         String  Yes     the content of the meta
>>>             attribute
>>>
>>>
>>>
>>
>
>


Mime
View raw message