<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Eclipse Web Tools Platform Project Development</title>

<link rel="stylesheet" href="../../../default_style.css" type="text/css">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></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 - October 
    26, 
    2004</font></b></td>

  </tr>
  </tbody></table>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td> 
      <p>Attending: David Williams, Mitch Sonies, Naci Dai, Christophe Ney, Dominique De Vito</p>
      
      
      <p><b>Planning Comittee Status</b> by Dominique</p>
      
      <ul>

        <li>Good news about the new infrastructure: the new webmaster is very helpful and quick to reply !</li>
        <li>Our 2 new committers, Valeriy Pelyushenko and Gorkem Ercan, have now their committer rights</li>
        <li>According to email exchanges with some OSS Eclipse plugins' teams, the WTP project appears now more attractive to new contributors</li>
        <li>We are waiting the Bjorn's return about the contact with Alex Fitzpatrick from the OSS <a href="http://sourceforge.net/projects/jseditor/">JSEditor</a> Eclipse plugin</li>
        <li>Uwe Voigt, of the <a href="http://sourceforge.net/projects/dbedit">DbEdit</a> plugin, would be interested in bringing
his experience and knowledge into the WTP project</li>
        <li>Ed Merks, from the <a href="http://www.eclipse.org/xsd/">XSD</a> Eclipse technology project, seems interested to work on WTP schema capabilities. To confirm.</li>
        <li>Exchange of emails with <a href="http://www.eclipse.org/pollinate/">Pollinate</a> for a better WTP/Pollinate synchronization and a better WTP milestones planification. In short term, Pollinate 
            is interested in JSP editor and flexible project layout. In a longer term, Pollinate is interested in
            Web Services support (not before Q2 2005).</li>
        <li>Dominique to post M4-M5 draft, this evening, on wtp-pmc, for first comments and then, on eclipse.org for community comments</li>
      </ul>
   
      
      <p><b>Charter</b> by Christophe</p>
      
      <ul>
        <li>To resolve a potential ambiguity in the charter about committer vote approval, we have voted
        'yes' for the <a href="./2004-10-19.html">charter change proposal</a> of the previous week.</li>
        <li>The committer vote approval for Jens Lukowski is still on-going. Due to the charter change, the time counter is reset
            to zero and this vote process will last no more than 7 days, starting from now</li>
      </ul>
      
      
      <p><b>Milestone Dates</b> by David </p>
      
      <ul>
        <li>David mentionned WTP M2 should be based on Eclipse 3.1M4, not on 3.1M3 as stated by the current milestone plan. Everyone agrees.
        <li>Dominique to do the correction of that mistake on eclipse.org</li>
      </ul>
     
      
      
      <p><b>Adoption Rate of Contributed Code</b> by Naci</p>
      
      <ul>
        <li>Continued discussion of how quickly to put the contributed code into CVS.</li>
        <li>Naci brings the idea of an incubator, a space for code under review, before putting it into CVS.</li>
        <li>Should we define a workflow for acceptation of code in main stream WTP codebase !?</li>
        <li>David proposed the idea to put code into CVS, that may be, or not upon status, part of the builds.</li>
        <li>We need to formalize better, to write down somes notes about the review process and the CVS acceptance</li>
        <li>David is going to check the Eclipse development process and to highlight that process to look for guidelines</li>
      </ul>
     

      
      <p><b>On the Queue for Next Week</b></p>

      <ul>
        <li>Discussion the WebDAV component (reflexion in progress)</li>
        <li>'Making noise' by Mitch</li>
      </ul>
      
      
      
      
      
      
      <p><font size="-1"><i>Minutes taken by Christophe Ney, October 26, 2004, and posted by 
      Dominique De Vito, the following day</i></font></p>
    </td>

  </tr>
  </tbody></table>
      
</body></html>