<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
    http-equiv="Content-Type"
    content="text/html; charset=ISO-8859-1" />
<title>WTP PMC Agenda/Minutes for March 31, 2009 Conference Call</title>
</head>
<body>
<h1>WTP PMC Agenda/Minutes for March 31, 2009 Conference Call</h1>
<h2>Call Info</h2>
<p>Tollfree in the US: 877-421-0030 <br />
Alternate: 770-615-1247<br />
Access code: 173098# <br />
<a href="http://wiki.eclipse.org/images/f/f6/WTP_status_phone_access.pdf">Full list of phone numbers</a><br />
<br />
<a
    href="http://www.timeanddate.com/worldclock/custom.html?cities=224,207,1440,107
&amp;month=03
&amp;day=31
&amp;year=2009
&amp;hour=11
&amp;min=0&amp;sec=0&amp;p1=207">Call
Time: 1500 UTC</a></p>
<h2>Attendees</h2>
<h3>PMC Members</h3>
<ul>
    <li>David Williams: Y</li>
    <li>Naci Dai: Y</li>
    <li>Raghunathan Srinivasan: Y</li>
    <li>Neil Hauge: Y</li>
    <li>Tim deBoer: R</li>
    <li>Kaloyan Raev: Y</li>
</ul>
<h2>Announcements and General Business</h2>
<ul>
    <li>EclipseCon</li>
    <ul>
        <li>I enjoyed it, and appreciate the effort everyone put into tutorials, talks, etc.
        <p>Others comments:</p>
        <p>Some sessions, e.g. some "universal topics" (e.g. common navigator, e4, and p2) were not well planned: in
        rooms that were too small.</p>
        <p>Even though many in attendance were "first time attendees", there still seemed to be less than expected
        interest in "how to use" Eclipse.</p>
        </li>
        <li>Didn't hear final numbers, but attendance down about 30% (which is good for conferences test days.)</li>
        <li>Some stats coming in on ratings/attendance of individual sessions.
    </ul>
    <li>I believe we do (still) need termination review for ATF. There is some interest in project, but I believe
    we need new PL to make progress. Comments?
    <p>Agreement as long as positive, clear attempt to reset/restart</p>
    </li>
    <li>Accessibility: need attention to some JSF bugs. Does Oracle plan to participate?
    <p>Ans: no, not a priority. But will try to look at some.</p>
    </li>
    <li>How was JAX-WS Demo?
    <p>Good demo. Was interest. Exact timing not specified</p>
    </li>
    <li>Naci announced new (potential) WS tutorials from ?Open University?</li>
    <li>Naci agreed to post news item on Amazon's WS's use of WTP</li>
    <li>On Spec slip: we'll still try for bare minimum Java EE, mostly to support JPA 2.0. JSF 2.0 not as clear.
    Will keep an eye on status/spec's, especially around June and reevaluate as needed.</li>
    <li>Pending items:
    <ul>
        <li>CQ PMC notification
        <p>It has been going to "webtools-pmc" instead of "wtp-pmc" so they need to "hack their software".</p>
        <p>Not sure if fixed yet. Waiting for "test" to occur.</p>
        </li>
    </ul>
</ul>
<!-- 

Reports, Actions, Issues

 -->
<h2>Reports, Actions, Issues</h2>
<!-- 

    Rotate topics by taking last one and putting it on top 
    
-->
<!-- 

    Planning
 
 -->
<h3>Planning: David Williams</h3>
<ul>
    <li>M7</li>
</ul>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Planning_Lead">WTP Planning Role</a></li>
</ul>
<!-- 

    User Experience

 -->
<h3>WTP User Experience Lead: Kaloyan Raev</h3>
<ul>
    <li>?</li>
</ul>
<h4>References</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_User_Experience_Lead">WTP User Experience Lead</a></li>
</ul>
<!-- 

    Quality

 -->
<h3>Quality: Neil Hauge</h3>
<ul>
    <li></li>
</ul>
<h4>Reference:</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Quality_Lead">WTP Quality Lead</a></li>
    <li>See also <a href="http://wiki.eclipse.org/WTP_Quality">Quality Page</a></li>
</ul>
<!-- 

    Architecture

 -->
<h3>Architecture: Tim deBoer</h3>
<ul>
    <li>
    <p>Tim still owes writeup of tips on how to get started.</p>
    </li>
</ul>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Architecture_Lead">WTP Architecture Lead Role</a></li>
    <li>Tracking meetings and work at <a href="http://wiki.eclipse.org/WTP_Architecture_Working_Group">WTP
    Architecture Working Group</a></li>
</ul>
<!-- 

    Education

 -->
<h3>Education: Naci Dai</h3>
<p>Naci reports web pages for education materials are about ready. He is writing article, as deadline is in
December. Raghu was only response he got for being interested in contributing too.</p>
<p>Please review: <a href="http://www.eclipse.org/webtools/community/resources/">Resource Page Proposal</a></p>
<p>Naci Reports continuing to work on articles</p>
<p>Working with Ian to do a press release on education materials. Prior or concurrent with EclipseCon</p>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Education_Lead">WTP Education Lead</a></li>
</ul>
<!-- 

    Requirements

 -->
<h3>Requirements: Raghu Srinivasan</h3>
<p>Raghu noted we should remind PLs to update plans every milestone.</p>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_3.1_Project_Plan">Planning Process Document</a> has been started.</li>
    <li>Eclipse-level dates and requirements have been clarified in a <a
        href="http://dev.eclipse.org/mhonarc/lists/eclipse.org-planning-council/msg01422.html">Planning Council
    message</a> (and elsewhere).</li>
    <li><a href="http://wiki.eclipse.org/WTP_Requirements_Lead">WTP Requirements Lead Role</a></li>
</ul>
<!-- 

General business

 -->
<h2>General business?</h2>
<h3>Other projects to watch:</h3>
<ul>
    <li><a href="http://www.eclipse.org/proposals/sca-tools/">SCA Tools</a></li>
    <li><a href="http://dev.eclipse.org/mhonarc/lists/wtp-pmc/msg01400.html">EMFT Texo project proposal</a></li>
    <li><a href="http://dev.eclipse.org/mhonarc/lists/wtp-dev/msg06011.html">Maven Integration</a></li>
</ul>
<h2>PMC Calendar</h2>
<ul>
    <li><a href="http://www.eclipsecon.org/2009/">EclipseCon 2009</a>.</li>
</ul>
<hr />
<p>Back to <a href="../index_pmc_call_notes.php">meeting list</a>.</p>
<p>Please send any additions or corrections to David Williams.</p>
</body>
</html>
