<html>
<head>
<title>WTP PMC Minutes for November 22, 2005 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 - November 22, 2005</font></b></td>

  </tr>
  </tbody></table>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td> 
		Attending:
		Tim Wagner [TW],
		Jochen Krause [JK],
		Arthur Ryman [AR]
		David Williams [DW],
		Lawrence Mandel [LM],
        Naci Dai [ND],
		Christophe Ney [CN]

<!--PMC MEMBERS NOT PRESENT ON THIS CALL:
		Raghunathan Srinivasan [RS],
-->

<h1>WTP PMC Minutes for November 22, 2005 Conference Call</h1>

<h2>Community Update [LM] </h2>
<ul>
  <li>EclipseCon - three tutorials accepted (one user, two extension/API talks). Very
      good coverage for WTP as a percentage of tutorials. Remaining tutorial
      program should be completed this week or next.
  <li>Doc support back in the build; ISV docs still need work to get to completeness level of
      platform, qualify internal extension points
</ul>

<h2>Procedural </h2>
<ul>
  <li>WTP release review passed by EMO assuming no redist of Cactus jars.
  <li>Janet continues IP due diligence on cactus in case there's time to
      reconsider this for 1.0; otherwise it will slip into 1.5.
  <li>Will pursue update manager at Cactus site to make this easier
</ul>

<h2>Build Issues </h2>
<ul>
  <li>Denis offered EMO-hosted machine in Ottawa for WTP builds; this machine would be closer
      to CVS and administered by EMO personnel
  <li>Bug currently open to take build requirements
  <li>We'll still keep machine in Turkey going as a parallel / backup solution; will improve our
      capacity especially as we need to engage in parallel development
  <li>Problems with reverse DNS lookup in our native build machine should be fixed, but
      CVS connectivity issues remain and are still being investigated
</ul>

<h2>1.0 Status </h2>
<ul>
  <li>M9 status: on track for release tomorrow (Wednesday, November 23rd)
  <li>Defect outlook / adoption readiness: Discussed synchronization issues as a class; a number
      of these have arisen in 1.0 and have been problematic for adopters.
      Discussed a "model lock" approach as a possible solution for serializing update,
      although performance considerations would apply. Will work to improve documentation
      in 1.0, discuss architectural solutions for 1.5, and improve low-level JUnit
      testing to expose these defects earlier.
      Line-level review of high severity defects will occur in the status call
      tomorrow (note date change). There are two blocking and four critical defects and
      one P1 listed at the moment.
  <li>API status: Will review scan results from M9 next week. If documentation and/or testing
      is lacking, then we will need to pull APIs from 1.0.
  <li>Update site available only for release, not for M9. Recommendation is to use a fresh
      install for M9; overlay on top of 0.7 may have problems.
</ul>

<h2>Requirements Update </h2>
<ul>
  <li>Updating "Supported Platforms" section of WTP requirements; plan is to support
      same configurations supported by the Eclipse platform.
  <li>Need to improve planning process for 1.5; there have been some complaints from the community
      about the planning documents not being consistent.
</ul>

<h2>JSF Update </h2>
<ul>
  <li>Demo of faces visual editor by Sybase and some discussion of architecture
      and proposed integration occurred yesterday.
  <li>David Williams and others have been helping out with PDE builds and related issues.
</ul>

<h2>Action Items</h2>
<ul>
  <li>[all] Follow up with people who have high severity/priority bugs assigned to them.
</ul>

<small>Minutes taken by Tim Wagner, November 22, 2005</small>
</tr>
</tbody></table>
</html>
