incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r705975 - in /incubator/public/trunk: clutch.py site-author/clutch.txt site-author/clutch.xml site-author/style/style.css site-publish/clutch.html site-publish/clutch.txt site-publish/sitemap.html site-publish/style/style.css
Date Sun, 19 Oct 2008 10:32:02 GMT
Author: crossley
Date: Sun Oct 19 03:32:01 2008
New Revision: 705975

URL: http://svn.apache.org/viewvc?rev=705975&view=rev
Log:
Add tool "clutch" to gather details about projects currently in incubation.
Issue: INCUBATOR-78

Added:
    incubator/public/trunk/clutch.py   (with props)
    incubator/public/trunk/site-author/clutch.txt   (with props)
    incubator/public/trunk/site-author/clutch.xml   (with props)
    incubator/public/trunk/site-publish/clutch.html   (with props)
    incubator/public/trunk/site-publish/clutch.txt   (with props)
Modified:
    incubator/public/trunk/site-author/style/style.css
    incubator/public/trunk/site-publish/sitemap.html
    incubator/public/trunk/site-publish/style/style.css

Added: incubator/public/trunk/clutch.py
URL: http://svn.apache.org/viewvc/incubator/public/trunk/clutch.py?rev=705975&view=auto
==============================================================================
--- incubator/public/trunk/clutch.py (added)
+++ incubator/public/trunk/clutch.py Sun Oct 19 03:32:01 2008
@@ -0,0 +1,528 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+'''
+Purpose: Clutch gathers details about projects currently in incubation.
+
+The core resource is the ReportingSchedule wiki page. As soon as a project is
+accepted into incubation, please add its entry. This script reads that page,
+and the i.a.o/projects table, and other resources. The assembled metadata is
+stored in various data files.
+
+See further explanation at http://incubator.apache.org/clutch.html
+
+Note: Please keep the dependencies as minimal as possible, so this script can
+be operated by any Incubator committer. It uses only standard modules.
+For example, if they are not really into python then the default version on
+Mac OSX Tiger is still python-2.3.5
+
+Note: The 'svn log' queries will only run on UNIX.
+'''
+
+# FIXME: Perhaps send some error reporting to a log file:
+#        - validate the dates.
+#        - detect short description, e.g. Hama = Hama
+# FIXME: Better/more exception handling.
+# FIXME: Need various output formats:
+#        - source docs xml file in site-author/clutch.xml (done)
+#        - simple text list of project names (done: clutch.txt)
+#        - Notation3 or DOAP or some such?
+#        - python pickle?
+# FIXME: Parse Robert's "audit" stuff.
+# FIXME: Add option "--verbose".
+
+import commands
+import datetime
+import os.path
+import pickle
+import re
+import urllib2
+import xml.dom.minidom
+
+projects = {}
+gatherDate = datetime.datetime.utcnow()
+gatherDateString = datetime.datetime.utcnow().ctime()
+
+commentsRE = re.compile("(.*) *\(([^)]+)\)")
+startDateRE = re.compile("([0-9]+)-0?([0-9]+)-?0?([0-9]+)?")
+statusLogRE = re.compile("^([0-9]+)-0?([0-9]+)-0?([0-9]+)")
+
+# Parse the wiki ReportingSchedule to gather project details
+req = urllib2.Request(url='http://wiki.apache.org/incubator/ReportingSchedule?action=raw')
+text = urllib2.urlopen(req).read()
+tokens = re.findall('\*.+', text)
+for token in tokens:
+  token = token.strip() # strip whitespace
+  token = token.replace('* ', '') # strip bullet symbol
+  token = token.replace('!', '') # strip wiki markup
+  if re.match('Monthly', token):
+    group = 'month'
+    continue
+  if re.match('January, ', token):
+    group = 'group-1'
+    continue
+  if re.match('February, ', token):
+    group = 'group-2'
+    continue
+  if re.match('March, ', token):
+    group = 'group-3'
+    continue
+
+#  print '%(1)s: %(2)s' % {'1': group, '2': token}
+
+  match = re.search(commentsRE, token)
+  reportingCommments = ""
+  if match:
+    name = match.group(1).strip()
+    reportingComments = match.group(2).strip()
+  else:
+    name = token
+
+  id = name.lower()
+
+  try:
+    projects[id]
+  except KeyError:
+    projects[id] = {}
+    projects[id]['name'] = name
+    # Set some defaults
+    projects[id]['reportingMonthly'] = False
+    projects[id]['reportingComments'] = ""
+    projects[id]['hasReportingGroup'] = True
+    projects[id]['hasStatusEntry'] = True
+    projects[id]['statusFileName'] = ""
+    projects[id]['statusLastUpdated'] = ""
+    projects[id]['statusAge'] = 0
+    projects[id]['statusUpdateCounts'] = ""
+    projects[id]['url'] = ""
+    projects[id]['dist'] = ""
+    projects[id]['hasEntryIssues'] = False
+    projects[id]['description'] = ""
+    projects[id]['sponsor'] = "? not known"
+    projects[id]['mentors'] = ""
+    projects[id]['startDate'] = ""
+    projects[id]['elapsedDays'] = 0
+    # Is it reporting monthly?
+    if group.find('month') >= 0:
+      projects[id]['reportingMonthly'] = True
+      projects[id]['reportingComments'] = reportingComments
+      projects[id]['hasEntryIssues'] = True
+
+  # Add their group.
+  # If this still equals "month" at end, then there is a schedule error.
+  projects[id]['reportingGroup'] = group
+
+# End of processing the ReportingSchedule wiki page
+
+def ignorecasecmp(left, right):
+  return cmp(left.upper(), right.upper())
+
+# Process the reporting schedule data, detect some potential issues.
+projectNames = projects.keys()
+projectNames.sort(ignorecasecmp)
+for k in projectNames:
+  # print '%(name)s ... group: %(group)s' % {'name': k, 'group': projects[k]['reportingGroup']}
+  if projects[k]['reportingGroup'].find('month') >= 0:
+    print 'ERROR: %s: missing group' % k
+    projects[k]['hasReportingGroup'] = False
+
+# Parse the projects table, ensure each is present, grab more details
+
+projectsTable = {}
+
+def getText(nodelist):
+  """http://www.python.org/doc/2.5.2/lib/minidom-example.txt"""
+  rc = ""
+  for node in nodelist:
+    if node.nodeType == node.TEXT_NODE:
+      rc = rc + node.data
+  return rc
+
+dom = xml.dom.minidom.parse("site-author/projects/index.xml")
+# FIXME: dom.getElementById("current") ?
+table = dom.getElementsByTagName("table")[0]
+for row in table.getElementsByTagName("tr")[1:]:
+  # FIXME: surely this can be improved
+  name = getText(row.getElementsByTagName("td")[0].childNodes[1].childNodes)
+  id = name.lower()
+  # print "Name: %s" % name
+  statusFileStr = row.getElementsByTagName("td")[0].childNodes[1].attributes["href"].value
+  (dirName, fileName) = os.path.split(statusFileStr)
+  (fileBaseName, fileExtension) = os.path.splitext(fileName)
+  values = [getText(td.childNodes) for td in row.getElementsByTagName("td")[1:]]
+  description, sponsor, mentors, startDate = values[:4]
+
+  try:
+    projectsTable[id]
+  except KeyError:
+    projectsTable[id] = {}
+    # FIXME: surely this can be improved
+    projectsTable[id]['name'] = name
+    projectsTable[id]['description'] = description
+    projectsTable[id]['sponsor'] = sponsor
+    projectsTable[id]['mentors'] = mentors
+    projectsTable[id]['startDate'] = startDate
+    projectsTable[id]['statusFileName'] = fileBaseName
+  else:
+    print 'ERROR: %s: row exists' % id
+
+dom.unlink()
+
+# Process the incubation table data, detect some potential issues.
+print "-"*50
+projectNames = projectsTable.keys()
+projectNames.sort(ignorecasecmp)
+for k in projectNames:
+  try:
+    projects[k]
+  except KeyError:
+    print 'ERROR: %s: Missing from reporting schedule' % k
+
+  if projects[k]['name'] != projectsTable[k]['name']:
+    print "WARN: Name '%(name1)s' differs from reporting schedule '%(name2)s'" % {'name1': projects[k]['name'], 'name2': projectsTable[k]['name']}
+
+# Process the reporting schedule data, correlate and ensure each exists in the
+# incubation projects table, add more details to the data store.
+print "-" * 50
+projectNames = projects.keys()
+projectNames.sort(ignorecasecmp)
+for k in projectNames:
+  # print "Name: %s" % k
+  try:
+    projectsTable[k]
+  except KeyError:
+    print 'ERROR: %s: Missing from incubation table' % k
+    projects[k]['hasStatusEntry'] = False
+    continue
+
+  projects[k]['description'] = projectsTable[k]['description']
+  projects[k]['sponsor'] = projectsTable[k]['sponsor']
+  projects[k]['mentors'] = projectsTable[k]['mentors']
+  projects[k]['startDate'] = projectsTable[k]['startDate']
+  projects[k]['statusFileName'] = projectsTable[k]['statusFileName']
+
+  match = re.search(startDateRE, projects[k]['startDate'])
+  if match:
+    try:
+      # FIXME: Deal with optional "day", e.g. Thrift "2008-05"
+      #        - use "if-then-else" expression (ternary)
+      entryDate = datetime.datetime(int(match.group(1)), int(match.group(2)), 1)
+      projects[k]['elapsedDays'] = (gatherDate-entryDate).days
+    except ValueError:
+      print 'ERROR: %s: ValueError with date' % k
+
+  # See if they have a website yet.
+  url = "http://incubator.apache.org/%s/" % projects[k]['statusFileName']
+  if url != "":
+    try:
+      urllib2.urlopen(url)
+    except IOError:
+      print 'INFO: %s: Does not yet have a website' % k
+    else:
+      projects[k]['url'] = url
+
+  # See if they have a distribution yet.
+  # Probably need to instead get info from roberts's "audit" data.
+  url = "http://www.apache.org/dist/incubator/%s/" % projects[k]['statusFileName']
+  if url != "":
+    try:
+      urllib2.urlopen(url)
+    except IOError:
+      print 'INFO: %s: Does not yet have a distribution' % k
+    else:
+      projects[k]['dist'] = url
+
+  # Gather recent updates to their status page.
+  # FIXME: Perhaps this operation could be improved. Use "subprocess" module.
+  # On this older Mac still python-2.3.5, so no. See notes at top.
+  command = "svn log --xml site-author/projects/%s.xml" % projects[k]['statusFileName']
+  dom = xml.dom.minidom.parseString(commands.getoutput(command))
+  delta = datetime.timedelta(days=61)
+  recordDate1 = gatherDate - delta
+  delta = datetime.timedelta(days=122)
+  recordDate2 = gatherDate - delta
+  delta = datetime.timedelta(days=273)
+  recordDate3 = gatherDate - delta
+  rowCounter = 0
+  count1 = 0
+  count2 = 0
+  count3 = 0
+  for row in dom.getElementsByTagName("date")[0:]:
+    rowCounter += 1
+    date = getText(row.childNodes)
+    matchSvn = re.search(statusLogRE, date)
+    thisDate = "%(a)4d-%(b)02d-%(c)02d" % {'a': int(matchSvn.group(1)), 'b': int(matchSvn.group(2)), 'c': int(matchSvn.group(3))}
+    thisDate = datetime.datetime(int(matchSvn.group(1)), int(matchSvn.group(2)), int(matchSvn.group(3)))
+    if rowCounter == 1:
+      projects[k]['statusLastUpdated'] = "%(a)4d-%(b)02d-%(c)02d" % {'a': int(matchSvn.group(1)), 'b': int(matchSvn.group(2)), 'c': int(matchSvn.group(3))}
+      projects[k]['statusAge'] = (gatherDate-thisDate).days
+      if projects[k]['statusAge'] == 0:
+        # FIXME: Could be improved
+        projects[k]['statusAge'] += 1 # edited today
+    if thisDate > recordDate1:
+      count1 += 1
+    if thisDate > recordDate2:
+      count2 += 1
+    if thisDate > recordDate3:
+      # FIXME: Need to detect if this is before their entry and not show total
+      count3 += 1
+  projects[k]['statusUpdateCounts'] = "%(a)d,%(b)d,%(c)d" % {'a': count1, 'b': count2, 'c': count3}
+
+  dom.unlink()
+
+# end of processing
+
+# Output the data
+# FIXME: to various formats storage
+print "-" * 50
+# FIXME: Use an xmlwriter?
+fileXml = open('site-author/clutch.xml', 'w')
+fileList = open('site-author/clutch.txt', 'w')
+headerXml = """<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Status of the clutch</title>
+  </properties>
+  <body>
+    <section id="current">
+      <title>Status of the clutch currently in incubation</title>
+      <p>
+        Clutch is a tool which gathers details about projects currently in
+        incubation. See <a href="#notes">notes</a> below regarding purpose and
+        interpretation.
+      </p>
+      <ul>
+        <li>
+          A: startDate
+        </li>
+        <li>
+          B: elapsedDays
+          - <span class="cool1">&lt;9</span>
+            <span class="cool2">&lt;18</span>
+            <span class="cool3">&lt;27</span>
+            <span class="cool4">&gt;27</span> months
+        </li>
+        <li>
+          C: reportingMonthly in
+          <a href="http://wiki.apache.org/incubator/ReportingSchedule">w.a.o/incubator/ReportingSchedule</a>
+        </li>
+        <li>
+          D: reportingGroup - in which set of months do they report
+        </li>
+        <li>
+          E: hasReportingGroup - did podling remember to choose a group
+        </li>
+        <li>
+          F: hasStatusEntry in <a href="projects/">i.a.o/projects</a>
+        </li>
+        <li>
+          G: statusUpdateDate - the status page was last updated
+        </li>
+        <li>
+          H: statusAge - days since the SVN status page was last updated
+          - <span class="cool1">&lt;2</span>
+            <span class="cool2">&lt;4</span>
+            <span class="cool3">&lt;9</span>
+            <span class="cool4">&gt;9</span> months
+        </li>
+        <li>
+          I: statusUpdateCounts - number of commits to status file in the
+          previous 2,4,9 months
+        </li>
+        <li>
+          J: hasWebSite
+        </li>
+        <li>
+          K: hasDistribution - has w.a.o/dist/incubator/...
+        </li>
+        <li>
+          <span class="care">extra care</span>
+          - needs extra care, e.g. new to incubation, on monthly roster
+        </li>
+        <li>
+          <span class="issue">has issues</span>
+          - has some issues, e.g. with their entry into incubation
+        </li>
+      </ul>
+      <p>
+        Clutch last gathered: %(gatherDate)s UTC.<br />
+        Number of podlings in incubation: %(numProjects)s
+      </p>
+      <table id="clutch">
+        <tr>
+          <th>Project</th>
+          <th>Sponsor</th>
+          <th>A</th>
+          <th>B</th>
+          <th>C</th>
+          <th>D</th>
+          <th>E</th>
+          <th>F</th>
+          <th>G</th>
+          <th>H</th>
+          <th>I</th>
+          <th>J</th>
+          <th>K</th>
+        </tr>
+""" % {'gatherDate': gatherDateString,
+       'numProjects': len(projects)
+      }
+fileXml.write(headerXml)
+for k in projectNames:
+  fileXml.write('        <tr>\n')
+  fileXml.write('          <td>%s</td>\n' % projects[k]['name'])
+
+  if projects[k]['sponsor'].find("?") >= 0:
+    fileXml.write('          <td class="issue">%s</td>\n' % projects[k]['sponsor'])
+  else :
+    fileXml.write('          <td>%s</td>\n' % projects[k]['sponsor'])
+
+  fileXml.write('          <td>%s</td>\n' % projects[k]['startDate'])
+
+  if projects[k]['elapsedDays'] == 0:
+    fileXml.write('          <td class="issue">%s</td>\n' % projects[k]['elapsedDays'])
+  elif projects[k]['elapsedDays'] < 273: # 9 months
+    fileXml.write('          <td class="cool1">%s</td>\n' % projects[k]['elapsedDays'])
+  elif projects[k]['elapsedDays'] < 547: # 18 months
+    fileXml.write('          <td class="cool2">%s</td>\n' % projects[k]['elapsedDays'])
+  elif projects[k]['elapsedDays'] < 820: # 27 months
+    fileXml.write('          <td class="cool3">%s</td>\n' % projects[k]['elapsedDays'])
+  else:
+    fileXml.write('          <td class="cool4">%s</td>\n' % projects[k]['elapsedDays'])
+
+  if not projects[k]['reportingMonthly']:
+    fileXml.write('          <td>%s</td>\n' % projects[k]['reportingMonthly'])
+  else :
+    fileXml.write('          <td class="care">%s</td>\n' % projects[k]['reportingMonthly'])
+  fileXml.write('          <td>%s</td>\n' % projects[k]['reportingGroup'])
+
+  if projects[k]['hasReportingGroup']:
+    fileXml.write('          <td>%s</td>\n' % projects[k]['hasReportingGroup'])
+  else :
+    fileXml.write('          <td class="issue">%s</td>\n' % projects[k]['hasReportingGroup'])
+
+  if projects[k]['hasStatusEntry']:
+    fileXml.write('          <td><a href="/projects/%(name)s.html">%(entry)s</a></td>\n' % {'name': projects[k]['statusFileName'], 'entry': projects[k]['hasStatusEntry']})
+  else :
+    fileXml.write('          <td class="issue">%s</td>\n' % projects[k]['hasStatusEntry'])
+
+  fileXml.write('          <td>%s</td>\n' % projects[k]['statusLastUpdated'])
+
+  if projects[k]['statusAge'] == 0:
+    fileXml.write('          <td class="issue">%s</td>\n' % projects[k]['statusAge'])
+  elif projects[k]['statusAge'] < 61: # 2 months
+    fileXml.write('          <td class="cool1">%s</td>\n' % projects[k]['statusAge'])
+  elif projects[k]['statusAge'] < 122: # 4 months
+    fileXml.write('          <td class="cool2">%s</td>\n' % projects[k]['statusAge'])
+  elif projects[k]['statusAge'] < 273: # 9 months
+    fileXml.write('          <td class="cool3">%s</td>\n' % projects[k]['statusAge'])
+  else:
+    fileXml.write('          <td class="cool4">%s</td>\n' % projects[k]['statusAge'])
+
+  fileXml.write('          <td>%s</td>\n' % projects[k]['statusUpdateCounts'])
+
+  if projects[k]['url']:
+    fileXml.write('          <td class="cool1"><a href="%s">True</a></td>\n' % projects[k]['url'])
+  else :
+    fileXml.write('          <td>False</td>\n')
+
+  if projects[k]['dist']:
+    fileXml.write('          <td class="cool1"><a href="%s">True</a></td>\n' % projects[k]['dist'])
+  else :
+    fileXml.write('          <td>False</td>\n')
+
+  fileXml.write('        </tr>\n')
+
+  fileList.write('%s\n' % projects[k]['name'])
+
+footerXml = """      </table>
+    </section>
+    <section id="notes">
+      <title>Notes</title>
+      <p>
+        Any Incubator committer can run 'clutch'. In the top-level of the
+        "incubator" SVN, do: '<code>python clutch.py</code>' which will
+        generate a source xml file in "site-author" directory.
+        Then build and deploy the site as normal.
+      </p>
+      <p>
+        It reads the Wiki page at
+        <a href="http://wiki.apache.org/incubator/ReportingSchedule">ReportingSchedule</a>
+        then builds a list of projects, adds some attributes, does some
+        validation. Then it reads the source file for the
+        "<a href="projects/">projects currently in incubation</a>" table,
+        ensures that each new project has an entry, adds some more attributes.
+      </p>
+      <p>
+        The <a href="http://en.wikipedia.org/wiki/Clutch_(eggs)">clutch</a> is
+        the set of eggs which have been laid. The mother hen (our Incubator PMC)
+        needs to continually gather them, to ensure that none have rolled from
+        the nest or moved to the outside, being forgotten or becoming cold.
+        Clutch also means to grasp eagerly.
+      </p>
+      <p>
+        So please interpret this table from the point-of-view of encouragement
+        and nurture.
+      </p>
+      <p>
+        Anything <span class="issue">red</span> is an issue that should be
+        addressed ASAP. The <span class="care">orange</span> means that they
+        are new and on the monthly reporting schedule. Otherwise we are looking
+        for healthy <span class="cool1">gold</span> yolks. Cooling off into the
+        <span class="cool4">murk</span> also needs attention.
+      </p>
+      <p>
+        Data files are also generated so that other tools can easily re-use the
+        metadata for the set of projects currently in incubation. 
+      </p>
+      <ul>
+        <li>
+          <code><a href="clutch.txt">clutch.txt</a></code>
+          - list of project names, one per line.
+        </li>
+        <li>
+          Structured list of various details. Not yet happening - need to
+          decide which format (N3, DOAP, etc.) and which attributes to be
+          stored.
+        </li>
+      </ul>
+    </section>
+  </body>
+</document>
+"""
+fileXml.write(footerXml)
+fileXml.close()
+fileList.close()
+
+# dump the data
+#print "-"*50
+#data = pickle.dumps(projects)
+#print pickle.loads(data)

Propchange: incubator/public/trunk/clutch.py
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/public/trunk/clutch.py
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/public/trunk/site-author/clutch.txt
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-author/clutch.txt?rev=705975&view=auto
==============================================================================
--- incubator/public/trunk/site-author/clutch.txt (added)
+++ incubator/public/trunk/site-author/clutch.txt Sun Oct 19 03:32:01 2008
@@ -0,0 +1,36 @@
+Abdera
+BlueSky
+Buildr
+Click
+Composer
+CouchDB
+Droids
+Empire-db
+Etch
+Hama
+Imperius
+JSecurity
+JSPWiki
+log4php
+Lokahi
+Lucene.Net
+NMaven
+Olio
+PDFBox
+PhotArk
+Pig
+Qpid
+RAT
+RCF
+River
+Sanselan
+Shindig
+Sling
+Tashi
+Thrift
+Tika
+TripleSoup
+UIMA
+VCL
+WSRP4J
+XAP

Propchange: incubator/public/trunk/site-author/clutch.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/public/trunk/site-author/clutch.xml
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-author/clutch.xml?rev=705975&view=auto
==============================================================================
--- incubator/public/trunk/site-author/clutch.xml (added)
+++ incubator/public/trunk/site-author/clutch.xml Sun Oct 19 03:32:01 2008
@@ -0,0 +1,696 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<document>
+  <properties>
+    <title>Status of the clutch</title>
+  </properties>
+  <body>
+    <section id="current">
+      <title>Status of the clutch currently in incubation</title>
+      <p>
+        Clutch is a tool which gathers details about projects currently in
+        incubation. See <a href="#notes">notes</a> below regarding purpose and
+        interpretation.
+      </p>
+      <ul>
+        <li>
+          A: startDate
+        </li>
+        <li>
+          B: elapsedDays
+          - <span class="cool1">&lt;9</span>
+            <span class="cool2">&lt;18</span>
+            <span class="cool3">&lt;27</span>
+            <span class="cool4">&gt;27</span> months
+        </li>
+        <li>
+          C: reportingMonthly in
+          <a href="http://wiki.apache.org/incubator/ReportingSchedule">w.a.o/incubator/ReportingSchedule</a>
+        </li>
+        <li>
+          D: reportingGroup - in which set of months do they report
+        </li>
+        <li>
+          E: hasReportingGroup - did podling remember to choose a group
+        </li>
+        <li>
+          F: hasStatusEntry in <a href="projects/">i.a.o/projects</a>
+        </li>
+        <li>
+          G: statusUpdateDate - the status page was last updated
+        </li>
+        <li>
+          H: statusAge - days since the SVN status page was last updated
+          - <span class="cool1">&lt;2</span>
+            <span class="cool2">&lt;4</span>
+            <span class="cool3">&lt;9</span>
+            <span class="cool4">&gt;9</span> months
+        </li>
+        <li>
+          I: statusUpdateCounts - number of commits to status file in the
+          previous 2,4,9 months
+        </li>
+        <li>
+          J: hasWebSite
+        </li>
+        <li>
+          K: hasDistribution - has w.a.o/dist/incubator/...
+        </li>
+        <li>
+          <span class="care">extra care</span>
+          - needs extra care, e.g. new to incubation, on monthly roster
+        </li>
+        <li>
+          <span class="issue">has issues</span>
+          - has some issues, e.g. with their entry into incubation
+        </li>
+      </ul>
+      <p>
+        Clutch last gathered: Sun Oct 19 10:26:06 2008 UTC.<br />
+        Number of podlings in incubation: 36
+      </p>
+      <table id="clutch">
+        <tr>
+          <th>Project</th>
+          <th>Sponsor</th>
+          <th>A</th>
+          <th>B</th>
+          <th>C</th>
+          <th>D</th>
+          <th>E</th>
+          <th>F</th>
+          <th>G</th>
+          <th>H</th>
+          <th>I</th>
+          <th>J</th>
+          <th>K</th>
+        </tr>
+        <tr>
+          <td>Abdera</td>
+          <td>Incubator</td>
+          <td>2006-06-06</td>
+          <td class="cool4">871</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/abdera.html">True</a></td>
+          <td>2008-04-14</td>
+          <td class="cool3">188</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/abdera/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/abdera/">True</a></td>
+        </tr>
+        <tr>
+          <td>BlueSky</td>
+          <td>Incubator</td>
+          <td>2008-01-12</td>
+          <td class="cool2">292</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/bluesky.html">True</a></td>
+          <td>2008-07-22</td>
+          <td class="cool2">89</td>
+          <td>0,7,9</td>
+          <td class="cool1"><a href="http://incubator.apache.org/bluesky/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Buildr</td>
+          <td>Incubator</td>
+          <td>2007-11-01</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/buildr.html">True</a></td>
+          <td>2008-10-18</td>
+          <td class="cool1">1</td>
+          <td>2,2,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/buildr/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/buildr/">True</a></td>
+        </tr>
+        <tr>
+          <td>Click</td>
+          <td>Incubator</td>
+          <td>2008-07-21</td>
+          <td class="cool1">110</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/click.html">True</a></td>
+          <td>2008-08-16</td>
+          <td class="cool2">64</td>
+          <td>0,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/click/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Composer</td>
+          <td>Incubator</td>
+          <td>2007-11-17</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/composer.html">True</a></td>
+          <td>2008-10-09</td>
+          <td class="cool1">10</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/composer/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>CouchDB</td>
+          <td>Incubator</td>
+          <td>2008-02-12</td>
+          <td class="cool1">261</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/couchdb.html">True</a></td>
+          <td>2008-04-01</td>
+          <td class="cool3">201</td>
+          <td>0,0,4</td>
+          <td class="cool1"><a href="http://incubator.apache.org/couchdb/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/couchdb/">True</a></td>
+        </tr>
+        <tr>
+          <td>Droids</td>
+          <td class="issue">? not known</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td class="care">True</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td class="issue">False</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td></td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Empire-db</td>
+          <td>Incubator</td>
+          <td>2008-07-08</td>
+          <td class="cool1">110</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/empire-db.html">True</a></td>
+          <td>2008-08-06</td>
+          <td class="cool2">74</td>
+          <td>0,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/empire-db/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Etch</td>
+          <td>Incubator</td>
+          <td>2008-09-02</td>
+          <td class="cool1">48</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/etch.html">True</a></td>
+          <td>2008-09-24</td>
+          <td class="cool1">25</td>
+          <td>1,1,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Hama</td>
+          <td>Incubator</td>
+          <td>2008-05-20</td>
+          <td class="cool1">171</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/hama.html">True</a></td>
+          <td>2008-09-24</td>
+          <td class="cool1">25</td>
+          <td>1,2,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/hama/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Imperius</td>
+          <td>Incubator</td>
+          <td>2007-11-10</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/imperius.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/imperius/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>JSecurity</td>
+          <td>Incubator</td>
+          <td>2008-05-20</td>
+          <td class="cool1">171</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/jsecurity.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,2,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/jsecurity/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>JSPWiki</td>
+          <td>Incubator</td>
+          <td>2007-09-17</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/jspwiki.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/jspwiki/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>log4php</td>
+          <td>Logging Services</td>
+          <td>2004-01-31</td>
+          <td class="cool4">1753</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/log4php.html">True</a></td>
+          <td>2007-07-18</td>
+          <td class="cool4">459</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/log4php/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Lokahi</td>
+          <td>Incubator</td>
+          <td>2006-03-01</td>
+          <td class="cool4">963</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/lokahi.html">True</a></td>
+          <td>2006-11-28</td>
+          <td class="cool4">691</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/lokahi/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Lucene.Net</td>
+          <td>Lucene</td>
+          <td>2006-03-15</td>
+          <td class="cool4">963</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/lucene.net.html">True</a></td>
+          <td>2006-11-11</td>
+          <td class="cool4">708</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/lucene.net/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>NMaven</td>
+          <td>Maven</td>
+          <td>2006-11-17</td>
+          <td class="cool3">718</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/nmaven.html">True</a></td>
+          <td>2008-05-29</td>
+          <td class="cool3">143</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/nmaven/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/nmaven/">True</a></td>
+        </tr>
+        <tr>
+          <td>Olio</td>
+          <td>Incubator</td>
+          <td>2008-09-29</td>
+          <td class="cool1">48</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/olio.html">True</a></td>
+          <td>2008-09-29</td>
+          <td class="cool1">20</td>
+          <td>2,2,2</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>PDFBox</td>
+          <td>Incubator</td>
+          <td>2008-02-07</td>
+          <td class="cool1">261</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/pdfbox.html">True</a></td>
+          <td>2008-04-14</td>
+          <td class="cool3">188</td>
+          <td>0,0,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/pdfbox/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>PhotArk</td>
+          <td>Incubator</td>
+          <td>2008-08-19</td>
+          <td class="cool1">79</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/photark.html">True</a></td>
+          <td>2008-09-07</td>
+          <td class="cool1">42</td>
+          <td>3,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/photark/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Pig</td>
+          <td>Incubator</td>
+          <td>2007-10-02</td>
+          <td class="cool2">384</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/pig.html">True</a></td>
+          <td>2008-10-03</td>
+          <td class="cool1">16</td>
+          <td>1,1,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/pig/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/pig/">True</a></td>
+        </tr>
+        <tr>
+          <td>Qpid</td>
+          <td>Incubator</td>
+          <td>2006-08-27</td>
+          <td class="cool3">810</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/qpid.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>3,3,6</td>
+          <td class="cool1"><a href="http://incubator.apache.org/qpid/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/qpid/">True</a></td>
+        </tr>
+        <tr>
+          <td>RAT</td>
+          <td>Incubator</td>
+          <td>2008-01-06</td>
+          <td class="cool2">292</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/rat.html">True</a></td>
+          <td>2008-02-03</td>
+          <td class="cool3">259</td>
+          <td>0,0,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/rat/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>RCF</td>
+          <td>MyFaces</td>
+          <td>2007-04-06</td>
+          <td class="cool3">567</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/rcf.html">True</a></td>
+          <td>2008-04-16</td>
+          <td class="cool3">186</td>
+          <td>0,0,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>River</td>
+          <td>Incubator</td>
+          <td>2006-12-26</td>
+          <td class="cool3">688</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/river.html">True</a></td>
+          <td>2007-05-15</td>
+          <td class="cool4">523</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/river/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/river/">True</a></td>
+        </tr>
+        <tr>
+          <td>Sanselan</td>
+          <td>Incubator</td>
+          <td>2007-09-09</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/sanselan.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,4,4</td>
+          <td class="cool1"><a href="http://incubator.apache.org/sanselan/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/sanselan/">True</a></td>
+        </tr>
+        <tr>
+          <td>Shindig</td>
+          <td>Incubator</td>
+          <td>2007-12-03</td>
+          <td class="cool2">323</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/shindig.html">True</a></td>
+          <td>2008-06-10</td>
+          <td class="cool3">131</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/shindig/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Sling</td>
+          <td>Jackrabbit</td>
+          <td>2007-09-09</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/sling.html">True</a></td>
+          <td>2008-06-27</td>
+          <td class="cool2">114</td>
+          <td>0,1,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/sling/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/sling/">True</a></td>
+        </tr>
+        <tr>
+          <td>Tashi</td>
+          <td class="issue">? not known</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td class="issue">False</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td></td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Thrift</td>
+          <td>Lucene</td>
+          <td>2008-05</td>
+          <td class="cool1">171</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/thrift.html">True</a></td>
+          <td>2008-09-02</td>
+          <td class="cool1">47</td>
+          <td>1,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/thrift/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Tika</td>
+          <td>Lucene</td>
+          <td>2007-03-22</td>
+          <td class="cool3">598</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/tika.html">True</a></td>
+          <td>2008-10-16</td>
+          <td class="cool1">3</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/tika/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/tika/">True</a></td>
+        </tr>
+        <tr>
+          <td>TripleSoup</td>
+          <td class="issue">? not known</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td class="issue">False</td>
+          <td></td>
+          <td class="issue">0</td>
+          <td></td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>UIMA</td>
+          <td>Incubator</td>
+          <td>2006-10-23</td>
+          <td class="cool3">749</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/uima.html">True</a></td>
+          <td>2007-02-23</td>
+          <td class="cool4">604</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/uima/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/uima/">True</a></td>
+        </tr>
+        <tr>
+          <td>VCL</td>
+          <td>Incubator</td>
+          <td>2008-10-06</td>
+          <td class="cool1">18</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/vcl.html">True</a></td>
+          <td>2008-10-01</td>
+          <td class="cool1">18</td>
+          <td>1,1,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>WSRP4J</td>
+          <td>Portals</td>
+          <td>2003-09-03</td>
+          <td class="cool4">1875</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/wsrp4j.html">True</a></td>
+          <td>2006-01-31</td>
+          <td class="cool4">992</td>
+          <td>0,0,0</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>XAP</td>
+          <td>Incubator</td>
+          <td>2006-05-22</td>
+          <td class="cool4">902</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/xap.html">True</a></td>
+          <td>2006-06-20</td>
+          <td class="cool4">852</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/xap/">True</a></td>
+          <td>False</td>
+        </tr>
+      </table>
+    </section>
+    <section id="notes">
+      <title>Notes</title>
+      <p>
+        Any Incubator committer can run 'clutch'. In the top-level of the
+        "incubator" SVN, do: '<code>python clutch.py</code>' which will
+        generate a source xml file in "site-author" directory.
+        Then build and deploy the site as normal.
+      </p>
+      <p>
+        It reads the Wiki page at
+        <a href="http://wiki.apache.org/incubator/ReportingSchedule">ReportingSchedule</a>
+        then builds a list of projects, adds some attributes, does some
+        validation. Then it reads the source file for the
+        "<a href="projects/">projects currently in incubation</a>" table,
+        ensures that each new project has an entry, adds some more attributes.
+      </p>
+      <p>
+        The <a href="http://en.wikipedia.org/wiki/Clutch_(eggs)">clutch</a> is
+        the set of eggs which have been laid. The mother hen (our Incubator PMC)
+        needs to continually gather them, to ensure that none have rolled from
+        the nest or moved to the outside, being forgotten or becoming cold.
+        Clutch also means to grasp eagerly.
+      </p>
+      <p>
+        So please interpret this table from the point-of-view of encouragement
+        and nurture.
+      </p>
+      <p>
+        Anything <span class="issue">red</span> is an issue that should be
+        addressed ASAP. The <span class="care">orange</span> means that they
+        are new and on the monthly reporting schedule. Otherwise we are looking
+        for healthy <span class="cool1">gold</span> yolks. Cooling off into the
+        <span class="cool4">murk</span> also needs attention.
+      </p>
+      <p>
+        Data files are also generated so that other tools can easily re-use the
+        metadata for the set of projects currently in incubation. 
+      </p>
+      <ul>
+        <li>
+          <code><a href="clutch.txt">clutch.txt</a></code>
+          - list of project names, one per line.
+        </li>
+        <li>
+          Structured list of various details. Not yet happening - need to
+          decide which format (N3, DOAP, etc.) and which attributes to be
+          stored.
+        </li>
+      </ul>
+    </section>
+  </body>
+</document>

Propchange: incubator/public/trunk/site-author/clutch.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/public/trunk/site-author/style/style.css
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-author/style/style.css?rev=705975&r1=705974&r2=705975&view=diff
==============================================================================
--- incubator/public/trunk/site-author/style/style.css (original)
+++ incubator/public/trunk/site-author/style/style.css Sun Oct 19 03:32:01 2008
@@ -70,3 +70,48 @@
     border: 2px solid #bbbbbb;
     white-space: pre;
 }
+#clutch td {
+  padding: 0.2em;
+}
+#clutch td.issue {
+  background-color: #ff3333;
+}
+#clutch td.care {
+  background-color: #ff6600;
+}
+#clutch td.cool1 {
+  background-color: #ffcc00;
+}
+#clutch td.cool2 {
+  background-color: #ffff66;
+}
+#clutch td.cool3 {
+  background-color: #cccc33;
+}
+#clutch td.cool4 {
+  background-color: #999900;
+}
+span.issue {
+  background-color: #ff3333;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.care {
+  background-color: #ff6600;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool1 {
+  background-color: #ffcc00;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool2 {
+  background-color: #ffff66;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool3 {
+  background-color: #cccc33;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool4 {
+  background-color: #999900;
+  padding: 0em 0.1em 0em 0.1em;
+}

Added: incubator/public/trunk/site-publish/clutch.html
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-publish/clutch.html?rev=705975&view=auto
==============================================================================
--- incubator/public/trunk/site-publish/clutch.html (added)
+++ incubator/public/trunk/site-publish/clutch.html Sun Oct 19 03:32:01 2008
@@ -0,0 +1,845 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<html>
+ <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+  <link rel="stylesheet" href="./style/style.css" type="text/css" />
+        <title>Status of the clutch - Apache Incubator</title>
+ </head>
+ <body>        
+  <table border="0" width="100%" cellspacing="0">
+   <tr><!-- SITE BANNER AND PROJECT IMAGE -->
+    <td align="left" valign="top">
+<a href="http://www.apache.org/"><img src="http://www.apache.org/images/asf_logo_wide.gif" alt="The Apache Software Foundation" border="0"/></a>
+</td>
+<td align="right">
+<a href="http://incubator.apache.org/"><img src="./images/apache-incubator-logo.png" alt="Apache Incubator" border="0"/></a>
+</td>
+   </tr>
+  </table>
+  <table border="0" width="100%" cellspacing="4">
+   <tr><td colspan="3"><hr noshade="noshade" size="1"/></td></tr>
+   <tr>
+    <!-- LEFT SIDE NAVIGATION -->
+    <td valign="top" nowrap="nowrap" class="navleft">
+           <div class="menuheader"><a 
+href="http://www.apache.org/foundation/glossary.html#Podling">Podlings (What's that?)</a></div> 
+    <menu compact="compact">
+          <li><a href="/incubation/Incubation_Policy.html">How? (Policy)</a></li> 
+          <li><a href="/incubation/Roles_and_Responsibilities.html">Who? (Roles)</a></li> 
+          <li><a href="/incubation/Process_Description.html">When? (Process)</a></li> 
+            </menu>
+      <div class="menuheader"><a 
+href="/guides/index.html">Entry Guides</a></div> 
+    <menu compact="compact">
+          <li><a href="/guides/proposal.html">Proposal Guide</a></li> 
+            </menu>
+      <div class="menuheader"><a 
+href="/guides/index.html">Podling Guides</a></div> 
+    <menu compact="compact">
+          <li><a href="/guides/committer.html">Podling Committers</a></li> 
+          <li><a href="/guides/ppmc.html">Podling PMC (PPMC)</a></li> 
+          <li><a href="/guides/mentor.html">Podling Mentor</a></li> 
+          <li><a href="/guides/releasemanagement.html">Podling Releases</a></li> 
+          <li><a href="/guides/branding.html">Podling Branding</a></li> 
+          <li><a href="/guides/sites.html">Podling Websites</a></li> 
+          <li><a href="/guides/graduation.html">Graduation</a></li> 
+            </menu>
+      <div class="menuheader"><a 
+href="/ip-clearance/index.html">IP Clearance</a></div> 
+    <menu compact="compact">
+            </menu>
+      <div class="menuheader"><a 
+href="/whoweare.html">Who We Are</a></div> 
+    <menu compact="compact">
+            </menu>
+      <div class="menuheader"><a 
+href="/sitemap.html">Site Map</a></div> 
+    <menu compact="compact">
+            </menu>
+      <div class="menuheader"><a 
+href="http://www.apache.org">ASF</a></div> 
+    <menu compact="compact">
+          <li><a href="http://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li> 
+          <li><a href="http://www.apache.org/dev/">Developer Documentation</a></li> 
+          <li><a href="http://www.apache.org/foundation/">Foundation</a></li> 
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsor Apache</a></li> 
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> 
+            </menu>
+      <div class="menuheader">Other Guides</div>
+    <menu compact="compact">
+          <li><a href="/guides/participation.html">Participation</a></li> 
+          <li><a href="/faq.html">General FAQ</a></li> 
+          <li><a href="/guides/pmc.html">PMC</a> (<a href="/guides/chair.html">Chair</a>)</li> 
+          <li><a href="/guides/lists.html">Mailing Lists</a></li> 
+          <li><a href="/guides/website.html">Incubator Website</a></li> 
+            </menu>
+      <div class="menuheader"><a 
+href="http://wiki.apache.org/incubator">Wiki</a></div> 
+    <menu compact="compact">
+            </menu>
+
+    <!-- start Ads Server -->
+    <iframe src="http://www.apache.org/ads/buttonbar.html"
+        style="border-width:0; float: left" frameborder="0" scrolling="no"
+        width="135" height="265"></iframe>
+    <!-- end Ads Server -->
+    </td>
+    <!-- CONTENT -->
+    <td align="left" valign="top" class="content">
+                <h2><img src="./images/redarrow.gif" />
+   <a name="current">Status of the clutch currently in incubation</a>
+</h2>
+<div class="section-content">
+<p>
+        Clutch is a tool which gathers details about projects currently in
+        incubation. See <a href="#notes">notes</a> below regarding purpose and
+        interpretation.
+      </p>
+<ul>
+        <li>
+          A: startDate
+        </li>
+        <li>
+          B: elapsedDays
+          - <span class="cool1">&lt;9</span>
+            <span class="cool2">&lt;18</span>
+            <span class="cool3">&lt;27</span>
+            <span class="cool4">&gt;27</span> months
+        </li>
+        <li>
+          C: reportingMonthly in
+          <a href="http://wiki.apache.org/incubator/ReportingSchedule">w.a.o/incubator/ReportingSchedule</a>
+        </li>
+        <li>
+          D: reportingGroup - in which set of months do they report
+        </li>
+        <li>
+          E: hasReportingGroup - did podling remember to choose a group
+        </li>
+        <li>
+          F: hasStatusEntry in <a href="projects/">i.a.o/projects</a>
+        </li>
+        <li>
+          G: statusUpdateDate - the status page was last updated
+        </li>
+        <li>
+          H: statusAge - days since the SVN status page was last updated
+          - <span class="cool1">&lt;2</span>
+            <span class="cool2">&lt;4</span>
+            <span class="cool3">&lt;9</span>
+            <span class="cool4">&gt;9</span> months
+        </li>
+        <li>
+          I: statusUpdateCounts - number of commits to status file in the
+          previous 2,4,9 months
+        </li>
+        <li>
+          J: hasWebSite
+        </li>
+        <li>
+          K: hasDistribution - has w.a.o/dist/incubator/...
+        </li>
+        <li>
+          <span class="care">extra care</span>
+          - needs extra care, e.g. new to incubation, on monthly roster
+        </li>
+        <li>
+          <span class="issue">has issues</span>
+          - has some issues, e.g. with their entry into incubation
+        </li>
+      </ul>
+<p>
+        Clutch last gathered: Sun Oct 19 10:26:06 2008 UTC.<br />
+        Number of podlings in incubation: 36
+      </p>
+<table id="clutch" class="colortable" width="100%">
+        <tr>
+          <th>Project</th>
+          <th>Sponsor</th>
+          <th>A</th>
+          <th>B</th>
+          <th>C</th>
+          <th>D</th>
+          <th>E</th>
+          <th>F</th>
+          <th>G</th>
+          <th>H</th>
+          <th>I</th>
+          <th>J</th>
+          <th>K</th>
+        </tr>
+        <tr>
+          <td>Abdera</td>
+          <td>Incubator</td>
+          <td>2006-06-06</td>
+          <td class="cool4">871</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/abdera.html">True</a></td>
+          <td>2008-04-14</td>
+          <td class="cool3">188</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/abdera/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/abdera/">True</a></td>
+        </tr>
+        <tr>
+          <td>BlueSky</td>
+          <td>Incubator</td>
+          <td>2008-01-12</td>
+          <td class="cool2">292</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/bluesky.html">True</a></td>
+          <td>2008-07-22</td>
+          <td class="cool2">89</td>
+          <td>0,7,9</td>
+          <td class="cool1"><a href="http://incubator.apache.org/bluesky/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Buildr</td>
+          <td>Incubator</td>
+          <td>2007-11-01</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/buildr.html">True</a></td>
+          <td>2008-10-18</td>
+          <td class="cool1">1</td>
+          <td>2,2,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/buildr/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/buildr/">True</a></td>
+        </tr>
+        <tr>
+          <td>Click</td>
+          <td>Incubator</td>
+          <td>2008-07-21</td>
+          <td class="cool1">110</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/click.html">True</a></td>
+          <td>2008-08-16</td>
+          <td class="cool2">64</td>
+          <td>0,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/click/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Composer</td>
+          <td>Incubator</td>
+          <td>2007-11-17</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/composer.html">True</a></td>
+          <td>2008-10-09</td>
+          <td class="cool1">10</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/composer/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>CouchDB</td>
+          <td>Incubator</td>
+          <td>2008-02-12</td>
+          <td class="cool1">261</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/couchdb.html">True</a></td>
+          <td>2008-04-01</td>
+          <td class="cool3">201</td>
+          <td>0,0,4</td>
+          <td class="cool1"><a href="http://incubator.apache.org/couchdb/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/couchdb/">True</a></td>
+        </tr>
+        <tr>
+          <td>Droids</td>
+          <td class="issue">? not known</td>
+          <td />
+          <td class="issue">0</td>
+          <td class="care">True</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td class="issue">False</td>
+          <td />
+          <td class="issue">0</td>
+          <td />
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Empire-db</td>
+          <td>Incubator</td>
+          <td>2008-07-08</td>
+          <td class="cool1">110</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/empire-db.html">True</a></td>
+          <td>2008-08-06</td>
+          <td class="cool2">74</td>
+          <td>0,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/empire-db/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Etch</td>
+          <td>Incubator</td>
+          <td>2008-09-02</td>
+          <td class="cool1">48</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/etch.html">True</a></td>
+          <td>2008-09-24</td>
+          <td class="cool1">25</td>
+          <td>1,1,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Hama</td>
+          <td>Incubator</td>
+          <td>2008-05-20</td>
+          <td class="cool1">171</td>
+          <td class="care">True</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/hama.html">True</a></td>
+          <td>2008-09-24</td>
+          <td class="cool1">25</td>
+          <td>1,2,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/hama/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Imperius</td>
+          <td>Incubator</td>
+          <td>2007-11-10</td>
+          <td class="cool2">353</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/imperius.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/imperius/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>JSecurity</td>
+          <td>Incubator</td>
+          <td>2008-05-20</td>
+          <td class="cool1">171</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/jsecurity.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,2,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/jsecurity/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>JSPWiki</td>
+          <td>Incubator</td>
+          <td>2007-09-17</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/jspwiki.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/jspwiki/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>log4php</td>
+          <td>Logging Services</td>
+          <td>2004-01-31</td>
+          <td class="cool4">1753</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/log4php.html">True</a></td>
+          <td>2007-07-18</td>
+          <td class="cool4">459</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/log4php/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Lokahi</td>
+          <td>Incubator</td>
+          <td>2006-03-01</td>
+          <td class="cool4">963</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/lokahi.html">True</a></td>
+          <td>2006-11-28</td>
+          <td class="cool4">691</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/lokahi/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Lucene.Net</td>
+          <td>Lucene</td>
+          <td>2006-03-15</td>
+          <td class="cool4">963</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/lucene.net.html">True</a></td>
+          <td>2006-11-11</td>
+          <td class="cool4">708</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/lucene.net/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>NMaven</td>
+          <td>Maven</td>
+          <td>2006-11-17</td>
+          <td class="cool3">718</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/nmaven.html">True</a></td>
+          <td>2008-05-29</td>
+          <td class="cool3">143</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/nmaven/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/nmaven/">True</a></td>
+        </tr>
+        <tr>
+          <td>Olio</td>
+          <td>Incubator</td>
+          <td>2008-09-29</td>
+          <td class="cool1">48</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/olio.html">True</a></td>
+          <td>2008-09-29</td>
+          <td class="cool1">20</td>
+          <td>2,2,2</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>PDFBox</td>
+          <td>Incubator</td>
+          <td>2008-02-07</td>
+          <td class="cool1">261</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/pdfbox.html">True</a></td>
+          <td>2008-04-14</td>
+          <td class="cool3">188</td>
+          <td>0,0,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/pdfbox/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>PhotArk</td>
+          <td>Incubator</td>
+          <td>2008-08-19</td>
+          <td class="cool1">79</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td><a href="/projects/photark.html">True</a></td>
+          <td>2008-09-07</td>
+          <td class="cool1">42</td>
+          <td>3,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/photark/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Pig</td>
+          <td>Incubator</td>
+          <td>2007-10-02</td>
+          <td class="cool2">384</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/pig.html">True</a></td>
+          <td>2008-10-03</td>
+          <td class="cool1">16</td>
+          <td>1,1,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/pig/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/pig/">True</a></td>
+        </tr>
+        <tr>
+          <td>Qpid</td>
+          <td>Incubator</td>
+          <td>2006-08-27</td>
+          <td class="cool3">810</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/qpid.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>3,3,6</td>
+          <td class="cool1"><a href="http://incubator.apache.org/qpid/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/qpid/">True</a></td>
+        </tr>
+        <tr>
+          <td>RAT</td>
+          <td>Incubator</td>
+          <td>2008-01-06</td>
+          <td class="cool2">292</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/rat.html">True</a></td>
+          <td>2008-02-03</td>
+          <td class="cool3">259</td>
+          <td>0,0,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/rat/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>RCF</td>
+          <td>MyFaces</td>
+          <td>2007-04-06</td>
+          <td class="cool3">567</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/rcf.html">True</a></td>
+          <td>2008-04-16</td>
+          <td class="cool3">186</td>
+          <td>0,0,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>River</td>
+          <td>Incubator</td>
+          <td>2006-12-26</td>
+          <td class="cool3">688</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/river.html">True</a></td>
+          <td>2007-05-15</td>
+          <td class="cool4">523</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/river/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/river/">True</a></td>
+        </tr>
+        <tr>
+          <td>Sanselan</td>
+          <td>Incubator</td>
+          <td>2007-09-09</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/sanselan.html">True</a></td>
+          <td>2008-09-28</td>
+          <td class="cool1">21</td>
+          <td>1,4,4</td>
+          <td class="cool1"><a href="http://incubator.apache.org/sanselan/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/sanselan/">True</a></td>
+        </tr>
+        <tr>
+          <td>Shindig</td>
+          <td>Incubator</td>
+          <td>2007-12-03</td>
+          <td class="cool2">323</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td><a href="/projects/shindig.html">True</a></td>
+          <td>2008-06-10</td>
+          <td class="cool3">131</td>
+          <td>0,0,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/shindig/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Sling</td>
+          <td>Jackrabbit</td>
+          <td>2007-09-09</td>
+          <td class="cool2">414</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/sling.html">True</a></td>
+          <td>2008-06-27</td>
+          <td class="cool2">114</td>
+          <td>0,1,2</td>
+          <td class="cool1"><a href="http://incubator.apache.org/sling/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/sling/">True</a></td>
+        </tr>
+        <tr>
+          <td>Tashi</td>
+          <td class="issue">? not known</td>
+          <td />
+          <td class="issue">0</td>
+          <td class="care">True</td>
+          <td>month</td>
+          <td class="issue">False</td>
+          <td class="issue">False</td>
+          <td />
+          <td class="issue">0</td>
+          <td />
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Thrift</td>
+          <td>Lucene</td>
+          <td>2008-05</td>
+          <td class="cool1">171</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/thrift.html">True</a></td>
+          <td>2008-09-02</td>
+          <td class="cool1">47</td>
+          <td>1,3,3</td>
+          <td class="cool1"><a href="http://incubator.apache.org/thrift/">True</a></td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>Tika</td>
+          <td>Lucene</td>
+          <td>2007-03-22</td>
+          <td class="cool3">598</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/tika.html">True</a></td>
+          <td>2008-10-16</td>
+          <td class="cool1">3</td>
+          <td>1,1,1</td>
+          <td class="cool1"><a href="http://incubator.apache.org/tika/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/tika/">True</a></td>
+        </tr>
+        <tr>
+          <td>TripleSoup</td>
+          <td class="issue">? not known</td>
+          <td />
+          <td class="issue">0</td>
+          <td>False</td>
+          <td>group-3</td>
+          <td>True</td>
+          <td class="issue">False</td>
+          <td />
+          <td class="issue">0</td>
+          <td />
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>UIMA</td>
+          <td>Incubator</td>
+          <td>2006-10-23</td>
+          <td class="cool3">749</td>
+          <td>False</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/uima.html">True</a></td>
+          <td>2007-02-23</td>
+          <td class="cool4">604</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/uima/">True</a></td>
+          <td class="cool1"><a href="http://www.apache.org/dist/incubator/uima/">True</a></td>
+        </tr>
+        <tr>
+          <td>VCL</td>
+          <td>Incubator</td>
+          <td>2008-10-06</td>
+          <td class="cool1">18</td>
+          <td class="care">True</td>
+          <td>group-1</td>
+          <td>True</td>
+          <td><a href="/projects/vcl.html">True</a></td>
+          <td>2008-10-01</td>
+          <td class="cool1">18</td>
+          <td>1,1,1</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>WSRP4J</td>
+          <td>Portals</td>
+          <td>2003-09-03</td>
+          <td class="cool4">1875</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/wsrp4j.html">True</a></td>
+          <td>2006-01-31</td>
+          <td class="cool4">992</td>
+          <td>0,0,0</td>
+          <td>False</td>
+          <td>False</td>
+        </tr>
+        <tr>
+          <td>XAP</td>
+          <td>Incubator</td>
+          <td>2006-05-22</td>
+          <td class="cool4">902</td>
+          <td>False</td>
+          <td>group-2</td>
+          <td>True</td>
+          <td><a href="/projects/xap.html">True</a></td>
+          <td>2006-06-20</td>
+          <td class="cool4">852</td>
+          <td>0,0,0</td>
+          <td class="cool1"><a href="http://incubator.apache.org/xap/">True</a></td>
+          <td>False</td>
+        </tr>
+      </table>
+</div>
+           <h2><img src="./images/redarrow.gif" />
+   <a name="notes">Notes</a>
+</h2>
+<div class="section-content">
+<p>
+        Any Incubator committer can run 'clutch'. In the top-level of the
+        "incubator" SVN, do: '<code>python clutch.py</code>' which will
+        generate a source xml file in "site-author" directory.
+        Then build and deploy the site as normal.
+      </p>
+<p>
+        It reads the Wiki page at
+        <a href="http://wiki.apache.org/incubator/ReportingSchedule">ReportingSchedule</a>
+        then builds a list of projects, adds some attributes, does some
+        validation. Then it reads the source file for the
+        "<a href="projects/">projects currently in incubation</a>" table,
+        ensures that each new project has an entry, adds some more attributes.
+      </p>
+<p>
+        The <a href="http://en.wikipedia.org/wiki/Clutch_(eggs)">clutch</a> is
+        the set of eggs which have been laid. The mother hen (our Incubator PMC)
+        needs to continually gather them, to ensure that none have rolled from
+        the nest or moved to the outside, being forgotten or becoming cold.
+        Clutch also means to grasp eagerly.
+      </p>
+<p>
+        So please interpret this table from the point-of-view of encouragement
+        and nurture.
+      </p>
+<p>
+        Anything <span class="issue">red</span> is an issue that should be
+        addressed ASAP. The <span class="care">orange</span> means that they
+        are new and on the monthly reporting schedule. Otherwise we are looking
+        for healthy <span class="cool1">gold</span> yolks. Cooling off into the
+        <span class="cool4">murk</span> also needs attention.
+      </p>
+<p>
+        Data files are also generated so that other tools can easily re-use the
+        metadata for the set of projects currently in incubation. 
+      </p>
+<ul>
+        <li>
+          <code><a href="clutch.txt">clutch.txt</a></code>
+          - list of project names, one per line.
+        </li>
+        <li>
+          Structured list of various details. Not yet happening - need to
+          decide which format (N3, DOAP, etc.) and which attributes to be
+          stored.
+        </li>
+      </ul>
+</div>
+         </td>
+    <!-- RIGHT SIDE NAVIGATION -->
+    <td valign="top" nowrap="nowrap" class="navright">
+           <div class="menuheader"><a 
+href="http://www.apache.org/foundation/sponsorship.html">Thanks</a></div>
+    <menu compact="compact">
+          <li><a href="http://www.apache.org/foundation/thanks.html">Apache sponsors</a></li> 
+        </menu>
+      <div class="menuheader"><a 
+href="/projects/index.html">Projects</a></div>
+    <menu compact="compact">
+          <li><a href="/projects/abdera.html">Abdera</a></li> 
+          <li><a href="/projects/bluesky.html">Bluesky</a></li> 
+          <li><a href="/projects/buildr.html">Buildr</a></li> 
+          <li><a href="/projects/click.html">Click</a></li> 
+          <li><a href="/projects/composer.html">Composer</a></li> 
+          <li><a href="/projects/couchdb.html">CouchDB</a></li> 
+          <li><a href="/projects/empire-db.html">Empire-db</a></li> 
+          <li><a href="/projects/etch.html">Etch</a></li> 
+          <li><a href="/projects/hama.html">Hama</a></li> 
+          <li><a href="/projects/imperius.html">Imperius</a></li> 
+          <li><a href="/projects/jsecurity.html">JSecurity</a></li> 
+          <li><a href="/projects/jspwiki.html">JSPWiki</a></li> 
+          <li><a href="/projects/log4php.html">Log4php</a></li> 
+          <li><a href="/projects/lokahi.html">Lokahi</a></li> 
+          <li><a href="/projects/lucene.net.html">Lucene.Net</a></li> 
+          <li><a href="/projects/nmaven.html">NMaven</a></li> 
+          <li><a href="/projects/olio.html">Olio</a></li> 
+          <li><a href="/projects/pdfbox.html">PDFBox</a></li> 
+          <li><a href="/projects/photark.html">PhotArk</a></li> 
+          <li><a href="/projects/pig.html">Pig</a></li> 
+          <li><a href="/projects/qpid.html">Qpid</a></li> 
+          <li><a href="/projects/rat.html">RAT</a></li> 
+          <li><a href="/projects/rcf.html">RCF</a></li> 
+          <li><a href="/projects/river.html">River</a></li> 
+          <li><a href="/projects/sanselan.html">Sanselan</a></li> 
+          <li><a href="/projects/shindig.html">Shindig</a></li> 
+          <li><a href="/projects/sling.html">Sling</a></li> 
+          <li><a href="/projects/thrift.html">Thrift</a></li> 
+          <li><a href="/projects/tika.html">Tika</a></li> 
+          <li><a href="/projects/uima.html">UIMA</a></li> 
+          <li><a href="/projects/vcl.html">VCL</a></li> 
+          <li><a href="/projects/wsrp4j.html">WSRP4J</a></li> 
+          <li><a href="/projects/xap.html">XAP</a></li> 
+        </menu>
+
+<form action="http://www.google.com/search" method="get">
+    <input value="incubator.apache.org" name="sitesearch" type="hidden"/>
+    <input size="8" name="q" id="query" type="text" value="search..."
+        onclick="if(this.value == 'search...') {this.value = ''}"/>
+    <input name="Search" value="Go" type="submit"/>
+</form>
+    </td>     
+   </tr>
+   <!-- FOOTER -->
+   <tr><td colspan="3"><hr noshade="noshade" size="1"/></td></tr>
+   <tr><td colspan="3" class="footer">
+         Copyright &#169; 2008 The Apache Software Foundation<br />
+Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+       </td>
+   </tr>
+  </table>
+ </body>
+</html>

Propchange: incubator/public/trunk/site-publish/clutch.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/public/trunk/site-publish/clutch.txt
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-publish/clutch.txt?rev=705975&view=auto
==============================================================================
--- incubator/public/trunk/site-publish/clutch.txt (added)
+++ incubator/public/trunk/site-publish/clutch.txt Sun Oct 19 03:32:01 2008
@@ -0,0 +1,36 @@
+Abdera
+BlueSky
+Buildr
+Click
+Composer
+CouchDB
+Droids
+Empire-db
+Etch
+Hama
+Imperius
+JSecurity
+JSPWiki
+log4php
+Lokahi
+Lucene.Net
+NMaven
+Olio
+PDFBox
+PhotArk
+Pig
+Qpid
+RAT
+RCF
+River
+Sanselan
+Shindig
+Sling
+Tashi
+Thrift
+Tika
+TripleSoup
+UIMA
+VCL
+WSRP4J
+XAP

Propchange: incubator/public/trunk/site-publish/clutch.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/public/trunk/site-publish/sitemap.html
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-publish/sitemap.html?rev=705975&r1=705974&r2=705975&view=diff
==============================================================================
--- incubator/public/trunk/site-publish/sitemap.html (original)
+++ incubator/public/trunk/site-publish/sitemap.html Sun Oct 19 03:32:01 2008
@@ -123,6 +123,17 @@
 <ul>
 
 <li>
+<a href="clutch.html">Status of the clutch</a>
+<ul>
+<li>
+<a href="clutch.html#current">Status of the clutch currently in incubation</a>
+</li>
+<li>
+<a href="clutch.html#notes">Notes</a>
+</li>
+</ul>
+</li>
+<li>
 <a href="faq.html">Frequently Asked Questions</a>
 <ul>
 <li>

Modified: incubator/public/trunk/site-publish/style/style.css
URL: http://svn.apache.org/viewvc/incubator/public/trunk/site-publish/style/style.css?rev=705975&r1=705974&r2=705975&view=diff
==============================================================================
--- incubator/public/trunk/site-publish/style/style.css (original)
+++ incubator/public/trunk/site-publish/style/style.css Sun Oct 19 03:32:01 2008
@@ -70,3 +70,48 @@
     border: 2px solid #bbbbbb;
     white-space: pre;
 }
+#clutch td {
+  padding: 0.2em;
+}
+#clutch td.issue {
+  background-color: #ff3333;
+}
+#clutch td.care {
+  background-color: #ff6600;
+}
+#clutch td.cool1 {
+  background-color: #ffcc00;
+}
+#clutch td.cool2 {
+  background-color: #ffff66;
+}
+#clutch td.cool3 {
+  background-color: #cccc33;
+}
+#clutch td.cool4 {
+  background-color: #999900;
+}
+span.issue {
+  background-color: #ff3333;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.care {
+  background-color: #ff6600;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool1 {
+  background-color: #ffcc00;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool2 {
+  background-color: #ffff66;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool3 {
+  background-color: #cccc33;
+  padding: 0em 0.1em 0em 0.1em;
+}
+span.cool4 {
+  background-color: #999900;
+  padding: 0em 0.1em 0em 0.1em;
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message