<html>
<head>
<title>WTP PMC Minutes for February 28, 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 - February 28, 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],
		Naci Dai [ND],
		Raghunathan Srinivasan [RS],
		David Williams [DW],
		Jochen Krause [JK]
		
		<P>PMC Member Regrets: None
		
		<P>Invited Guests:
		None

        <P>Others:
        Lawrence Mandel [LM]		

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

<h1>WTP PMC Minutes for February 28, 2006 Conference Call</h1>

<h2>Community Update [LM] </h2>
<ul>
  <li>Logo vote: Arthur: gears; Lawrence: gears; David: wrench; Naci: gears;
      Jochen: gears; Raghu: gears; Tim: gears.
  <li>Website conversion occurring slowly; process is manual (rather than "single page translation"
      schema, which has proven to be a security risk).
<!--  <li>RSS feed being tested; planned to go live along with Phoenix conversion. -->
</ul>

<h2>Procedural [TW] </h2>
<ul>
  <li>ATF project discussions with the EMO in progress over the location of that project
      versus the WTP charter.
</ul>

<h2>Planning </h2>
<ul>
  <li>Need to update web front page to replace 1.0 link with 1.5 (Arthur to update).
</ul>

<h2>1.0.1 Status </h2>
<ul>
  <li>Update site: live and working; previous issues were internal to a specific mirror. Minimal
      testing has been successful.
  <li>All-in-one packaging is present and working.
  <li>Web site links: our front page (still says release candidate), link from project page,
      metadata in project directory, etc.
</ul>

<h2>1.0.2 Status </h2>
<ul>
  <li>Builds are in place, and work is beginning; smoke tests will begin next week.
  <li>Documentation bugs approved.
</ul>

<h2>Callisto / 1.5 Status </h2>
<ul>
  <li>M5 build nearly complete; concern over level of testing it's received to date
      (5 blocking defects targeted for M5 still open)
  <li>Update site in progress; preliminary tests starting today in preparation for Friday's release
  <li>Prereq status: platform, EMF, and GEF all ready and presumed working; need to investigate JEM
      final build status
  <li>JSF is already finished with work targeted for/with M5
</ul>

<h2>Architecture [DW] </h2>
<ul>
  <li>Architectural overview went out in email this week; if you discover any errors or
      have comments, forward them to David. The diagram is designed for inclusion in the
      overall Eclipse Architecture Council presentation to the Board.
  <li>Ted Bashor hosted a call this week on the architecture of facets and server/runtime
      frameworks.
  <li>Another JSF editing call is scheduled for this Friday.
</ul>

<h2>Requirements [JK] </h2>
<ul>
  <li>Group call will occur today.
</ul>

<h2>JSF Status [RS] </h2>
<ul>
  <li>IBM contribution has arrived and contribution quest. is in flight.
  <li>Primary challenge is to integrate the Sybase and IBM contribs.
  <li>Design/arch calls with SSE team continue (see above).
  <li>Intending to showcase features at EclipseCon.
</ul>

<h2>Hotlist Process </h2>
<ul>
  <li>Short discussion of need to moderate the incoming list; process detail discussion
      tabled pending feedback from Jeffrey Liu and AR
</ul>

<h2>Action Items </h2>
<ul>
  <li>[DW] M5 blocker email sent to owners of these bugs
  <li>[TW] to talk to Lawrence about converting WTP web pages (starting with PMC notes and IP log)
  <li>[AR] Supply high quality version of "gears" logo via logo bug
  <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, February 28, 2006. Please notify me of any corrections needed.
</small>
</tr>
</tbody></table>
</html>
