<html>
<head>
<title>WTP PMC Agenda/Minutes for December 19, 2006 Conference
Call</title>
</head>

<body>


<h1>WTP PMC Agenda/Minutes for December 19, 2006 Conference Call</h1>


<h2>Call Info</h2>
<p>Tollfree in the US: 866-214-3176 <br />
Alternate: 404-827-9098 <br />
Access code: 8870689# <br />
<br />
<a href="http://www.timeanddate.com/">Call Time: 7am PDT / 10am PDT</a>
</p>
<h2>Attendees</h2>
<h3>PMC Members</h3>
<ul>
	<li>Tim Wagner: Regrets</li>
	<li>David Williams: Y</li>
	<li>Naci Dai: Y</li>
	<li>Raghunathan Srinivasan: Y</li>
	<li>Jochen Krause: N</li>
	<li>Arthur Ryman: Y</li>
</ul>

<h3>Invited Guests</h3>
<ul>
	<li>Pieter Humphrey: N</li>
	<li>Neil Hauge (JPA/Dali): Regrets</li>
	<li>Bob Goodman (ATF): Regrets</li>
</ul>

<h2>Community</h2>
<ul>
	<li>Ongoing AI: Tim and Pieter: Work on adopter/contributor list.
	Update: Tim working with IP sub-committee and EMO this week to get
	update on approval status.
	<li>Ongoing AI: Phoenix conversion: Nathan Gervais helping Bob
	Fraser work on converting home page; hope to have something for preview
	before the holiday break.
	<li>EclipseCon panel and long talk decisions. In previous
	meetings, accepted 3832 as the panel talk and 3683, 3817, 3799, and
	3820 as long talks. In this meeting we accepted <br />
	<a href="http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=3752">Matt
	Kent, RadRails 1.0</a> <br />
	as our final 5th long talk. And we picked, in order, two "runners up",
	in case there are more slots that open soon: <br />
	<a href="http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=3637">Raghu
	Srinivasan, Extending the JavaServer Faces Tools Project</a><br />
	<a href="http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=3869">Craig
	Salter, XML Development Tools in Eclipse WTP and Beyond</a>
</ul>

<h2>Process</h2>
<ul>
	<li>Ongoing AI: Tim has outstanding note to Janet regarding MIME
	IP update. (carried over; no update yet)
	<li>Ongoing AI: 2/21 targeted for incubation exit (aka validation)
	reviews for Dali and JSF (ATF date TBD).
</ul>

<h2>JEE and 2.0 Planning</h2>
<ul>
	<li>See <a href="http://wiki.eclipse.org/index.php/JEE_5_Support">JEE
	Wiki</a> for summary.
	<p>Naci reports all is "going well" for JEE effort.
	<ul>
    <li>plans for EE5 facets, projects, compatible NS</li>
    <li>no annotaiton support (beyond automatic JDT stuff)</li> 
    <li>some minimal model support </li>
    <li>SAP to prepare design doc for extension points</li>
    <li>Post 2.0 would be more annotation support</li>
    </ul>
</ul>

<h2>Build Status (David)</h2>
<ul>
	<li>1.5.3 on track.</li>
	<li>Several issues hit moving up to latest platform, and latest
	EMF. In particular, will need to update JEM to work with latest EMF,
	and that project is "on vacation" until Jan. 2 .... so, hard to confirm
	plans. That is, there is some risk this will impact our M4 deliverable,
	or timing. I'm currently trying to work issues with JEM team, and I
	think the worst case it we'll have a "patched JEM" for our M4.
</ul>

<h2>JSF (Raghu)</h2>
<ul>
	<li>Reports the Page Designer is in M4 builds.</li>
</ul>

<h2>ATF (Bob)</h2>
<ul>
	<li>Ongoing AI: We, PMC, need to discuss, in January, the means
	and methods of creating new JavaScript component.
</ul>

<h2>Dali (Neil)</h2>
<ul>
	<li>Wrapping up code and build for next milestone (M4) .... SDK
	builds are in sight :) /li>
</ul>

<P><small>Agenda/Minutes by David Williams, December 19,
2006. Please send any corrections needed. </small>
</body>
</html>
