<html><head><style>
p, table, td, th {  font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
pre {  font-family: "Courier New", Courier, mono; font-size: 10pt}
h2 { font-family: verdana, arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
code {  font-family: "Courier New", Courier, mono; font-size: 10pt}
sup {  font-family: verdana, arial, helvetica, geneva; font-size: 10px}
h3 {  font-family: verdana, arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
li {  font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
h1 {  font-family: verdana, arial, helvetica, geneva; font-size: 24pt; font-weight: bold}
body {  font-family: verdana, arial, helvetica, geneva; font-size: 10pt; margin-top: 5mm; margin-left: 3mm}
.indextop { font-size: x-large; font-family: verdana, arial, helvetica, sans-serif; font-weight: bold}
.indexsub { font-size: xx-small; font-family: verdana, arial, helvetica, sans-serif; color: #8080FF}
a.bar:link {  text-decoration: none; color: #FFFFFF}
a.bar:visited {  color: #FFFFFF; text-decoration: none}
a.bar:hover {  color: #FFFFFF; text-decoration: underline}
a.bar {  color: #FFFFFF}
</style></head><body><h1>Dash M1 - New and Noteworthy</h1>
<p>This is our first combined Dash + Portal + IPZilla New &amp; Noteworthy.
  Here are some of the more noteworthy things available in milestone M1 (April 30, 2008) 
  which is, as always, live on the servers.</p>

<table border="0" cellpadding="10" cellspacing="0" width="80%">
<tbody><tr>
    <td colspan="2"><hr>
      <h2 style="">Manage Committers</h2>
      </td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Portal interface for removing a committer</b></td>

    <td valign="top" width="70%">Project
leads and PMC members have a new portal box that provides a way to
remove inactive committers. The box currently shows (for each
committer) activity information from the commits explorer, election
participation, and the length of time the person has been a committer.
Inactive committers can be de-committerized or, if they are active but
for some reason not showing as active, marked-as-active. <em>(<a href="http://bugs.eclipse.org/199502">199502</a>)</em>
          <p><img src="M1_files/attachment_002.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>"Committer Emeritus" status</b></td>

    <td valign="top" width="70%">Former
Committers who have made significant contributions to the long term
success of Eclipse can now be nominated and listed as <a href="http://www.eclipse.org/projects/committers-emeritus.php">Committers Emeritus</a>.    <em>(<a href="http://bugs.eclipse.org/222350">222350</a>)</em>
          <p><img src="M1_files/attachment_005.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Nominations should require known address</b></td>

    <td valign="top" width="70%">When
a candidate is nominated for committer status, we now require that the
email address used correspond either to a known committer or an
existing Bugzilla account. Requiring a known account address solves a
number of problems in the election process where we didn't know who a
person was. For brand new <em>(<a href="http://bugs.eclipse.org/229120">229120</a>)</em>
          <p><img src="M1_files/attachment_006.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
<tr>
    <td colspan="2"><hr>
      <h2 style="">Make The Portal More Of A Home</h2>
      </td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Links to project resources</b></td>

    <td valign="top" width="70%">From bug 206256
- easy way to access the mailing list/newsgroups archives for the projects on which they are committers
- access to the project/component pages to which they are a committer
- link to the standard project information page of the project    <em>(<a href="http://bugs.eclipse.org/227227">227227</a>)</em>
          <p><img src="M1_files/attachment_004.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Rounded corners on portal boxes</b></td>

    <td valign="top" width="70%">A slightly more modern look with rounded corners on the boxes.    <em>(<a href="http://bugs.eclipse.org/227862">227862</a>)</em>
          <p><img src="M1_files/attachment.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
<tr>
    <td colspan="2"><hr>
      <h2 style="">Clean the Graffiti</h2>
      </td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Reminders for out of date meta-data addresses to project leads</b></td>

    <td valign="top" width="70%">The email should still go to the dev mailing list, but the email should be addressed to the project lead(s), e.g.,

Tod, Heather,
The meta-data for project foo.bar is out of date...

Just a nicer personalization and it will also make it clearer who the responsible parties are.    <em>(<a href="http://bugs.eclipse.org/227859">227859</a>)</em>
          <p><img src="M1_files/attachment_003.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
  <tr>
    <td align="left" valign="top" width="30%"><b>Commits explorer driven by project meta-data</b></td>

    <td valign="top" width="70%">The <a href="http://dash.eclipse.org/dash/commits/web-app/">commits explorer</a>
used to be driven by hidden internal files; it is now driven by the
project meta-data from the portal (and maintained by the project teams
themselves). If the commits explorer data is incorrect, first check
your meta-data: does it list all the CVS and SVN directories? <em>(<a href="http://bugs.eclipse.org/206881">206881</a>)</em>
          <p><img src="M1_files/attachment_007.gif" border="0"></p>
          </td>
  </tr>
  <tr>
    <td colspan="2"><p style="">
    </p></td>
  </tr>
</tbody></table>
</body></html>