<html>
<head>
<title>WTP PMC Minutes for March 14, 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 - March 14, 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],
		Raghunathan Srinivasan [RS],
		Jochen Krause [JK],
		David Williams [DW],
		Naci Dai [ND]
		
		<P>PMC Member Regrets: Arthur Ryman (Jeffrey Liu attending)
		
		<P>Invited Guests:
		Craig Becker

        <P>Others:
        Lawrence Mandel [LM]		

<!--PMC MEMBERS NOT PRESENT ON THIS CALL:
		Arthur Ryman [AR],
-->

<h1>WTP PMC Minutes for March 14, 2006 Conference Call</h1>

<h2>Community Update [LM] </h2>
<ul>
  <li>Logo finalized and contrib quest submitted. Will begin using logo.
  <li>Project sprint - requesting Monday 6-8pm and a room with 75-100 capacity.
      Most components have identified a speaker and Arthur will summarize
      his presentation ("New and Noteworthy") for the sprint.
  <li>Committer nomination for Kate Price opened.
<!--  <li>RSS feed being tested; planned to go live along with Phoenix conversion. -->
</ul>

<h2>Procedural [TW] </h2>
<ul>
  <li>ATF creation review completed successfully; ATF now being provisioned as a sub-project
      of WTP
  <li>IP update (see agenda for written status report)
  <li>David to investigate granting releng access to Dali committers to enable build
      and release coordination for 1.5.
</ul>

<h2>1.0.2 Status </h2>
<ul>
  <li>Base builder updated to M5 version; no regressions noted.
  <li>Builds proceeding; JUnit issues with eclipse.org servers (possible mix of test issues
      and product issues).
  <li>Hot list cutoff will be this Friday (3/17).
  <li>If platform releases a 3.1.3, we want to coordinate the 1.0.2 release if possible.
</ul>

<h2>Callisto / 1.5 Status </h2>
<ul>
  <li>Bjorn's email contains the Callisto update manager link.
  <li>Will ask component teams to test against Callisto at milestones.
  <li>Need to bump our version numbers to 1.5.
  <li>Request to keep (previous) tabbed property code received; we will leave
      the code in until the next major release (June 2007).
</ul>

<h2>Architecture [DW] </h2>
<ul>
  <li>Conversations around facets/server runtimes continuing on the mailing list.
</ul>

<h2>Requirements [JK] </h2>
<ul>
  <li>Next release number: use 1.6 for planning purposes.
</ul>

<h2>JSF Status [RS] </h2>
<ul>
  <li>Model integration with Sybase faces editor.
  <li>Preparing demos for EclipseCon.
  <li>Limited progress on build integration issues; will make this a priority this week.
</ul>

<h2>Hot (Adopter) Bug List Process Proposal [Jeffrey Liu on behalf of AR] </h2>
<ul>
  <li>Goal: Generate hot list from Bugzilla query, control promotion of hot bug request
      to actual hot bug, enable self subscription for requests and simultaneously
      minimize "wtp-dev" noise.
  <li>See proposal text at 
      <a href="http://www.eclipse.org/webtools/adopters/hot_bug_process.html">
       http://www.eclipse.org/webtools/adopters/hot_bug_process.html</a>.
      PMC members should review and be prepared to move on the process vote next week.
</ul>

<h2>Action Items </h2>
<ul>
  <li>[DW] Work with webmaster to see if we can get Dali access to the releng component
      of WTP.
  <li>[RS] Track Dali progress on builds and release review for the PMC.
  <li>[TW] Awaiting response from Bjorn on whether we can provide an ATF contribution
           download.
  <li>[DW] Feature decomposition plan for 1.5 (EJB and Web, Core and UI intermingling) - need to
      either revive old bug or open new one for tracking purposes
  <li>[DW] Provide prioritized list from architecture group
</ul>

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