<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WTP PMC Agenda/Minutes for April 22, 2008 Conference Call</title>
</head>
<body>
<h1>WTP PMC Agenda/Minutes for April 22, 2008 Conference Call</h1>
<h2>Call Info</h2>
<p>Tollfree in the US: 877-421-0030 <br />
Alternate: 770-615-1247<br />
Access code: 800388# <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=10
&amp;day=16
&amp;year=2007
&amp;hour=11
&amp;min=0&amp;sec=0&amp;p1=207">Call
Time: 1500 UTC</a></p>
<h2>Attendees</h2>
<p>I was 10 minutes late, greatest apologies, so effectivley had no meeting, though did have brief chat with Tim,
and will follow up with emails where needed.</p>
<!-- 
<h3>PMC Members</h3>
<ul>
    <li>David Williams: Y</li>
    <li>Naci Dai: N (Regrets)</li>
    <li>Raghunathan Srinivasan: Y</li>
    <li>Neil Hauge: Y</li>
    <li>Tim deBoer: Y</li>
    <li>Kaloyan Raev N (Regrets)</li>
</ul>
-->
<!-- 
<h3>Invited Guests</h3>
<ul> 
<li>Philippe Ombredanne (ATF): N</li> 
</ul> 
-->
<!-- 
<h2>Announcements</h2>
<ul>
    <li></li>
</ul>
 -->
<h2>Reports, Actions, Issues</h2>
<h3>Architecture: Tim deBoer</h3>
<ul>
    <li>* Tim will draft and send inner-api policy soon. <br />
    Done. Please review new section <a href="http://wiki.eclipse.org/WTP_API_Policy">WTP_API_Policy</a></li>
    <li>* Tim will find out specific "advise to give developers (and auto-test teams)" to implement the WTP API
    policy (which tools/build reports to use).</li>
    <li>* Tim to implement "Java Doc Builds" for server tools, and make recommendations to other projects on how to
    implement.</li>
</ul>
<dl>
    <dt>Notes:</dt>
    <dd>
    <ul>
        <li>Recommended to restart the protected non-api scans.</li>
        <li>Will not accept new data, for now, but if tooling could be improved to detect/remove additional
        (non-protected) data, then perhaps it'd be useful to show non-api use going down.</li>
        <li>** But, an update: Have discovered that current ones are nearly meaningless, since so much as changed,
        so scan's show us as "changing protected API", but it's not protected API any longer.</li>
    </ul>
    </dd>
</dl>
<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>
<h3>Requirements: Raghu Srinivasan</h3>
<ul>
    <li><a href="http://dev.eclipse.org/mhonarc/lists/wtp-pmc/msg01399.html">Draft release plan for the next
    release by June?</a></li>
    <li>** An Update on "standard plan format by June" ... <br />
    Rumor has it that the June deadline was to have a standard format decided, and the "infrastructure" in place to roll
    them up into a single roadmap document. The "real" plan is expected by September. My understanding was there would
    be a new note to this effect to "project leads list", but haven't seen it yet. But, suggest we ... Raghu? ... sort
    through the standard project plan format to see what we can/should do. I think the only question is if we want to
    have one WTP plan, and then produce the standard format from that (which would be my first thought) or literally
    have just one plan that happens to satisfy both needs.</li>
</ul>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Requirements_Lead">WTP Requirements Lead Role</a></li>
</ul>
<h3>Education: Naci Dai (meeting conflict till May)</h3>
<p>** Need stauts update</p>
<ul>
    <li>Phase 1, orgainize what we have, done by end January.</li>
    <li>Phase 2, self guided new materials. some available by EclipseCon.</li>
    <li>phase 3, shutdown .. scenerios</li>
</ul>
<dl>
    <dt>Notes:</dt>
    <dd>Orgainizing "current" now, should be ready by EclipseCon.</dd>
    <dd>Will be organized better for narrowing selection and sorting.</dd>
    <dd>For now, the "database" will be one XML file, with various attributes/qualities to search and sort on.</dd>
</dl>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Education_Lead">WTP Education Lead</a></li>
</ul>
<h3>Planning: David Williams</h3>
<ul>
    <li>We may need <b>another</b> 2.0.2 patch -- need to get developers to respond to JBoss use-case problems.
    (And, I've asked Naci to get involved.)
    <ul>
        <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=222531">222531</a> Regression (?) between wtp
        2.0.1 and 2.0.2 in J2EEFlexProjDeployable</li>
        <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=201318">201318</a> [hotbug] EAR Libraries
        container fails to initalize for 2.5 web project</li>
    </ul>
    </li>
    <li>Beginning Review Materials
    <ul>
        <li>IP Logs: third party code, list of committers, contributors</li>
        <li>Who's to do API statements, deprecated statemetns?</li>
    </ul>
    </li>
</ul>
<h3>Quality: Neil Hauge</h3>
<ul>
    <li>We will no longer have "old bug" focus items in status meetings, as we end this release, but will restart
    after the June release.</li>
    <li>Will now focus on "rampdown quality" in status meetings.</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>
<h4>Reference</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_Planning_Lead">WTP Planning Role</a></li>
    <li><a href="http://wiki.eclipse.org/WTP_Patches_for_Release_2.0.2">patch process document</a></li>
</ul>
<h3>WTP User Experience Lead: Kaloyan Raev</h3>
<ul>
    <li>Review "Role Document"</li>
</ul>
<dl>
    <dt>Notes:</dt>
    <dd>
    <ul>
        <li>Working on "use cases" document, for novice user. Should be ready for public review and comments in a
        few weeks.</li>
        <li>Will be attending the UA Walkthrough meetings, and may propose a WTP one in future (perhaps on facets
        UI).</li>
    </ul>
    </dd>
</dl>
<h4>References</h4>
<ul>
    <li><a href="http://wiki.eclipse.org/WTP_User_Experience_Lead">WTP User Experience Lead</a></li>
</ul>
<h2>General business?</h2>
<ul>
    <li>Two PMC approvals waiting ... Kiril Mitov, Dimitar Giormov, each for both ejbtools, jeetools<br />
    Done. Approved (via emails and IM)</li>
    <li>* WTP Policy on "Committer Emeritus"?</li>
    <li>Other projects to watch
    <ul>
        <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>
    </li>
    <li>Potential resource issues?
    <ul>
        <li>Product plugin for EPP and welcome screen</li>
        <li>Refactoring Doc features (and moving to appropriate sub-projects).</li>
        <li>Refactoring SDK (source and JavaDoc) features/bundles (and moving to appropriate sub-projects)</li>
        <li>Platform/OS coverage for testing and support? -- probably suffices to simply record coverage. Perhaps
        ask for community help.</li>
        <li>Performance Tests -- Kayolan making some progress.</li>
        <li>Needs some JSF features, at least for build</li>
    </ul>
    <dl>
        <dt>Notes:</dt>
        <dd>
        <ul>
            <li>No obvious resouce solutions.</li>
        </ul>
        </dd>
    </dl>
    </li>
</ul>
<h2>Action Items</h2>
<h3>To Do</h3>
<ol>
    <li>Raghu: create a wiki page: a checklist for how to lower the barrier to participation for all projects</li>
    <li>David: create wiki page for 3rd-party requirements</li>
    <li>Naci (changed from David): post instructions and reminders for our "community resources" and presentations
    page, especially, even, for eclipseCon 2007, and Eclipse Summit</li>
</ol>
<h3>Done</h3>
<ol>
    <li>Bob Frasher, all: WTP Refactor followup: Need to update website. Project Leads will need to take ownership
    of their own pages. See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=201331">bug 201331</a></li>
    <li>David: Reorg CVS. See <a href="http://wiki.eclipse.org/WTP_CVS_Restructuring">CVS Restructuring
    Proposal</a></li>
    <li>David: update our "planning" documents with dates for both Ganymede and Winter maintenance.</li>
    <li>David: Resolved <a href="http://wiki.eclipse.org/WTP_Policy_on_Package_Visibility">WTP Policy on
    Package Visibility</a></li>
</ol>
<h2>PMC Calendar</h2>
<ul>
    <li>* Eclipse World deadline has passed (though they sometimes accept late submissions). Who has submitted?</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>
