you are right Mike, that's the point.

On 9/22/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
The problem with this approach is that the developer doesn't care if
it's in the release notes, but end users do, as do other developers.
When someone upgrades, any change that might affect them should be in
the notes.  There shouldn't be any need to go to the wiki, search the
mailing lists, or even search the issue tracker.

Non-trivial changes should have Jira issues.   Almost all changes are
non-trivial.  Adding a new attribute is definitely non-trivial.

I've worked with projects that went both ways -- the ones that do a
good job with releases document every change in Jira :-)

On 9/22/06, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> I think we should let the developer decide if he wants a trivial
> change (and adding an attribute might be trivial) to show up in the
> release notes.
>
> As the tabbed-pane is a major component, I'd love to have an
> additional attribute in the relase-notes, though.
>
> If the developer decides for no, it can still be the community which
> opens a jira-issue and attaches the commit log there.
>
> regards,
>
> Martin
>
> On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
> > Is an additional attribute always a non-trivial change? In the
> > specific case it was a trivial change from my point of view. How
> > should we handle this in the future?
> >
> > On 9/22/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > Hey Thomas,
> > >
> > > We're now opening jira issues for any non-trivial change change to
> > > Core or Tomahawk (Sandbox is still optional although recommended).
> > >
> > > This is how we're generating change-logs, release notes for new releases.
> > >
> > > On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
> > > > Hi Mike,
> > > >
> > > > no need to feel bad. I thought we open  jira issues for important
> > > > changes, like new components or changes to MyFaces core. I did not
> > > > knew that we have to open a jira issue for new component attributes. I
> > > > will consider this in the future.
> > > >
> > > > -Thomas
> > > >
> > > > On 9/20/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > Thomas,
> > > > >
> > > > > I hate to keep picking on you, but where's the JIRA issue for this?
> > > > > We'll also want to update the commit log message to point to that
> > > > > issue (Martin and Wendy talked about how to do that in the last couple
> > > > > of weeks when Martin forgot to add a JIRA issue).
> > > > >
> > > > > On 9/20/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > > > > Author: tomsp
> > > > > > Date: Wed Sep 20 04:50:22 2006
> > > > > > New Revision: 448171
> > > > > >
> > > > > > URL: http://svn.apache.org/viewvc?view=rev&rev=448171
> > > > > > Log:
> > > > > > new attribute "activePanelTabVar" for HtmlPanelTabbedPane
> > > > > >
> > > > > > Modified:
> > > > > >     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
> > > > > >     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
> > > > > >     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
> > > > > >     
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
> > > > > >     
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
> > > > > >
> > > > > > Modified: 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
> > > > > > URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > > > 
==============================================================================
> > > > > > --- 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
 (original)
> > > > > > +++ 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
 Wed Sep 20 04:50:22 2006
> > > > > > @@ -161,6 +161,7 @@
> > > > > >      private String _inactiveSubStyleClass = null;
> > > > > >      private String _tabContentStyleClass = null;
> > > > > >      private Boolean _serverSideTabSwitch = null;
> > > > > > +    private String _activePanelTabVar;
> > > > > >
> > > > > >      public HtmlPanelTabbedPane()
> > > > > >      {
> > > > > > @@ -172,6 +173,17 @@
> > > > > >          return COMPONENT_FAMILY;
> > > > > >      }
> > > > > >
> > > > > > +    public String getActiveTabVar() {
> > > > > > +        if (_activePanelTabVar != null) return _activePanelTabVar;
> > > > > > +        ValueBinding vb = getValueBinding("activeTabVar");
> > > > > > +        return vb != null ? 
_ComponentUtils.getStringValue(getFacesContext(), vb) : null;
> > > > > > +    }
> > > > > > +
> > > > > > +    public void setActiveTabVar(String activeTabVar) {
> > > > > > +        _activePanelTabVar = activeTabVar;
> > > > > > +    }
> > > > > > +
> > > > > > +
> > > > > >      public void setSelectedIndex(int selectedIndex)
> > > > > >      {
> > > > > >          _selectedIndex = new Integer(selectedIndex);
> > > > > > @@ -284,7 +296,7 @@
> > > > > >
> > > > > >      public Object saveState(FacesContext context)
> > > > > >      {
> > > > > > -        Object values[] = new Object[11];
> > > > > > +        Object values[] = new Object[12];
> > > > > >          values[0] = super.saveState(context);
> > > > > >          values[1] = _selectedIndex;
> > > > > >          values[2] = _bgcolor;
> > > > > > @@ -296,6 +308,7 @@
> > > > > >          values[8] = _tabContentStyleClass;
> > > > > >          values[9] = _disabledTabStyleClass;
> > > > > >          values[10] = _serverSideTabSwitch;
> > > > > > +        values[11] = _activePanelTabVar;
> > > > > >          return ((Object) (values));
> > > > > >      }
> > > > > >
> > > > > > @@ -313,6 +326,7 @@
> > > > > >          _tabContentStyleClass = (String)values[8];
> > > > > >          _disabledTabStyleClass = (String)values[9];
> > > > > >          _serverSideTabSwitch = (Boolean) values[10];
> > > > > > +        _activePanelTabVar = (String) values[11];
> > > > > >      }
> > > > > >      //------------------ GENERATED CODE END 
---------------------------------------
> > > > > >  }
> > > > > >
> > > > > > Modified: 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
> > > > > > URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > > > 
==============================================================================
> > > > > > --- 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
 (original)
> > > > > > +++ 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
 Wed Sep 20 04:50:22 2006
> > > > > > @@ -63,6 +63,7 @@
> > > > > >      private String _inactiveSubStyleClass;
> > > > > >      private String _tabContentStyleClass;
> > > > > >      private String _serverSideTabSwitch;
> > > > > > +    private String _activePanelTabVar;
> > > > > >      // User Role support --> already handled by HtmlPanelGroupTag
> > > > > >
> > > > > >
> > > > > > @@ -91,6 +92,7 @@
> > > > > >          setStringProperty(component, "inactiveSubStyleClass", 
_inactiveSubStyleClass);
> > > > > >          setStringProperty(component, "tabContentStyleClass", 
_tabContentStyleClass);
> > > > > >          setBooleanProperty(component, "serverSideTabSwitch", 
_serverSideTabSwitch);
> > > > > > +        setStringProperty(component, "activePanelTabVar", 
_activePanelTabVar);
> > > > > >      }
> > > > > >
> > > > > >
> > > > > > @@ -116,6 +118,7 @@
> > > > > >          _inactiveSubStyleClass = null;
> > > > > >          _tabContentStyleClass = null;
> > > > > >          _serverSideTabSwitch = null;
> > > > > > +        _activePanelTabVar = null;
> > > > > >      }
> > > > > >
> > > > > >      public void setServerSideTabSwitch(String serverSideTabSwitch)
> > > > > > @@ -222,4 +225,7 @@
> > > > > >          _disabledTabStyleClass = disabledTabStyleClass;
> > > > > >      }
> > > > > >
> > > > > > +    public void setActivePanelTabVar(String activePanelTabVar) {
> > > > > > +        _activePanelTabVar = activePanelTabVar;
> > > > > > +    }
> > > > > >  }
> > > > > >
> > > > > > Modified: 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
> > > > > > URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java?view=diff&rev=448171&r1=448170&r2=448171
> > > > > > 
==============================================================================
> > > > > > --- 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
 (original)
> > > > > > +++ 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
 Wed Sep 20 04:50:22 2006
> > > > > > @@ -220,7 +220,7 @@
> > > > > >          String tabContentStyleClass = 
tabbedPane.getTabContentStyleClass();
> > > > > >          writer.writeAttribute(HTML.CLASS_ATTR, 
TAB_PANE_CLASS+(tabContentStyleClass==null ? "" : " "+tabContentStyleClass), null);
> > > > > >
> > > > > > -        writeTabsContents(writer,  facesContext, tabbedPane, 
selectedIndex);
> > > > > > +        writeTabsContents(writer, facesContext, tabbedPane, 
selectedIndex);
> > > > > >
> > > > > >          writer.endElement(HTML.TD_ELEM);
> > > > > >          writer.endElement(HTML.TR_ELEM);
> > > > > > @@ -514,28 +514,38 @@
> > > > > >
> > > > > >      protected void writeTabsContents(ResponseWriter writer, 
FacesContext facesContext, HtmlPanelTabbedPane tabbedPane,
> > > > > >                                       int selectedIndex) throws 
IOException {
> > > > > > -       HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> > > > > > +        HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> > > > > > +
> > > > > > +        int tabIdx = 0;
> > > > > > +        List children = tabbedPane.getChildren();
> > > > > > +        for (int i = 0, len = children.size(); i < len; i++) {
> > > > > > +            UIComponent child = getUIComponent((UIComponent) 
children.get(i));
> > > > > > +            if (child instanceof HtmlPanelTab) {
> > > > > > +                String activeTabVar = tabbedPane.getActiveTabVar();
> > > > > > +                if (activeTabVar != null) {
> > > > > > +                    Map requestMap = 
facesContext.getExternalContext().getRequestMap();
> > > > > > +                    requestMap.put(activeTabVar, 
Boolean.valueOf(tabIdx == selectedIndex));
> > > > > > +                }
> > > > > >
> > > > > > -       int tabIdx = 0;
> > > > > > -       List children = tabbedPane.getChildren();
> > > > > > -       for (int i = 0, len = children.size(); i < len; i++) {
> > > > > > -           UIComponent child = getUIComponent((UIComponent) 
children.get(i));
> > > > > > -           if (child instanceof HtmlPanelTab) {
> > > > > > -               HtmlPanelTab tab = (HtmlPanelTab)child;
> > > > > > -               writer.startElement(HTML.DIV_ELEM, tabbedPane);
> > > > > > -               writer.writeAttribute(HTML.ID_ATTR, 
tab.getClientId(facesContext), null);
> > > > > > -               // the inactive tabs are hidden with a div-tag
> > > > > > -               if (tabIdx != selectedIndex) {
> > > > > > -                   writer.writeAttribute(HTML.STYLE_ATTR, 
"display:none", null);
> > > > > > -               }
> > > > > > -               RendererUtils.renderChild(facesContext, child);
> > > > > > -               writer.endElement(HTML.DIV_ELEM);
> > > > > > -
> > > > > > -               tabIdx++;
> > > > > > -           } else {
> > > > > > -               RendererUtils.renderChild(facesContext, child);
> > > > > > -           }
> > > > > > -       }
> > > > > > +                HtmlPanelTab tab = (HtmlPanelTab)child;
> > > > > > +                writer.startElement(HTML.DIV_ELEM, tabbedPane);
> > > > > > +                writer.writeAttribute(HTML.ID_ATTR, 
tab.getClientId(facesContext), null);
> > > > > > +                // the inactive tabs are hidden with a div-tag
> > > > > > +                if (tabIdx != selectedIndex) {
> > > > > > +                    writer.writeAttribute(HTML.STYLE_ATTR, 
"display:none", null);
> > > > > > +                }
> > > > > > +                RendererUtils.renderChild(facesContext, child);
> > > > > > +                writer.endElement(HTML.DIV_ELEM);
> > > > > > +
> > > > > > +                tabIdx++;
> > > > > > +                if (activeTabVar != null) {
> > > > > > +                    Map requestMap = 
facesContext.getExternalContext().getRequestMap();
> > > > > > +                    
requestMap.remove(tabbedPane.getActiveTabVar());
> > > > > > +                }
> > > > > > +            } else {
> > > > > > +                RendererUtils.renderChild(facesContext, child);
> > > > > > +            }
> > > > > > +        }
> > > > > >     }
> > > > > >
> > > > > >      private UIComponent getUIComponent(UIComponent uiComponent)
> > > > > >
> > > > > > Modified: 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
> > > > > > URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml?view=diff&rev=448171&r1=448170&r2=448171
> > > > > > 
==============================================================================
> > > > > > --- 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
 (original)
> > > > > > +++ 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
 Wed Sep 20 04:50:22 2006
> > > > > > @@ -45,4 +45,8 @@
> > > > > >          <name>tabContentStyleClass</name>
> > > > > >          <type>java.lang.String</type>
> > > > > >      </field>
> > > > > > +    <field>
> > > > > > +        <name>activePanelTabVar</name>
> > > > > > +        <type>java.lang.String</type>
> > > > > > +    </field>
> > > > > >  </component>
> > > > > >
> > > > > > Modified: 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
> > > > > > URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml?view=diff&rev=448171&r1=448170&r2=448171
> > > > > > 
==============================================================================
> > > > > > --- 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
 (original)
> > > > > > +++ 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
 Wed Sep 20 04:50:22 2006
> > > > > > @@ -62,3 +62,12 @@
> > > > > >                  Toggle client-side/server-side tab switches.
> > > > > >              </description>
> > > > > >          </attribute>
> > > > > > +        <attribute>
> > > > > > +            <name>_activePanelTabVar</name>
> > > > > > +            <required>false</required>
> > > > > > +            <rtexprvalue>false</rtexprvalue>
> > > > > > +            <description>
> > > > > > +                Boolean Variable that is set in request scope when 
rendering a panelTab. True means that the currently rendered
> > > > > > +                panelTab is active.
> > > > > > +            </description>
> > > > > > +        </attribute>
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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
>



--
http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Reply via email to