<html>
<head>
<title>WTP PMC Minutes for June 13, 2006 Conference Call</title>
</head>

<body alink="#ff0000" bgcolor="#ffffff" link="#0000ee" text="#000000" vlink="#551a8b">
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b>
    <font color="#ffffff" face="Arial,Helvetica">PMC Conference Call - June 13, 2006</font></b></td>

  </tr>
  </tbody></table>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td> 
		PMC Members Attending:
		Tim Wagner [TW],
		David Williams [DW],
        Jochen Krause [JK]
		Raghunathan Srinivasan [RS],
		Arthur Ryman [AR]
		
		<P>PMC Member Regrets: none

		<P>Invited Guests: Neil Hauge (Dali)

        <P>Others:
        Lawrence Mandel [LM]



<!--NOT PRESENT ON THIS CALL:
        Naci Dai [ND]
--><h1>WTP PMC Minutes for June 13, 2006 Conference Call</h1>

<h2>Community Update [LM] </h2>
<ul>
  <li>WTP/TPTP webinar ("Creating and Profiling Web Services") happened yesterday, went
      very well. Attendance peaked at 60. Copy of presentation is already in the WTP
      archives; Ian Skerrett will announce availability of the recording.
  <li>Daryl Taft interview postoned
  <li>Still looking for OSCON volunteer(s)
  <li>Plan for 1.5 rollout going out today
<!--  <li>RSS feed being tested; planned to go live along with Phoenix conversion. -->
</ul>

<h2>Procedural [TW] </h2>
<ul>
  <li>Peter Moogk committership passed
  <li>Dali/JSF internal reviews passed, with followup meeting scheduled to
      continue planning for facets use by both projects
  <li>EMO review scheduled for next Wednesday, June 21st, at 8am PDT
  <li>1.5.1 change policy [TW to draft and send]
  <li>Committer list cleanup: PMC will send email to any committer without a checkin
      in the last 9 months. If the committer requests to stay, we will permit them.
      If they request removal, we will remove them. If we get no response after 4 weeks, then after
      1 year from last activity we will remove them.
</ul>

<h2>1.0.3 and 1.5 Status </h2>
<ul>
  <li>1.0.3 release target of 7/28/2006
  <li>1.5 shutdown schedule: tomorrow (6/14) is code stop.
      RC5 is on the 20th.
</ul>

<h2>Architecture [DW] </h2>
<ul>
  <li>Architecture council meeting in Chicago coming up in two weeks;
      pass questions and issues to David for that.
</ul>

<h2>JSF Status [RS] </h2>
<ul>
  <li>Yesterday's I-build was feature freeze; it also included the initial
      version of the user documentation plugin.
  <li>RC5 of WTP will be final code freeze.
  <li>David will work with team on update site support.
</ul>

<h2>Dali Status [NH] </h2>
<ul>
  <li>In bug fix mode. 23 open bugs remain for the 6/21 code freeze.
  <li>David will work with team on update site support.
</ul>

<h2>Action Items </h2>
<ul>
  <li>[DW] 1.5 shutdown announcement to wtp-dev
  <li>[TW] 1.5.1 change policy to wtp-dev [DONE]
  <li>[LM] 1.5 rollout support/announcement plan
  <li>[TW] Peter Moogk committership paperwork [in flight]
</ul>

<small>Minutes taken by Tim Wagner, June 13, 2006. Please notify me of any corrections needed.
</small>
</tr>
</tbody></table>
</html>
