You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by hb...@apache.org on 2015/05/20 02:36:50 UTC
svn commit: r1680433 - in /comdev/projects.apache.org/site: committee.html
js/projects.js
Author: hboutemy
Date: Wed May 20 00:36:50 2015
New Revision: 1680433
URL: http://svn.apache.org/r1680433
Log:
move PMC info in committee.html and rephrase TLP to Committee
Added:
comdev/projects.apache.org/site/committee.html
- copied, changed from r1679869, comdev/projects.apache.org/site/project.html
Modified:
comdev/projects.apache.org/site/js/projects.js
Copied: comdev/projects.apache.org/site/committee.html (from r1679869, comdev/projects.apache.org/site/project.html)
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/site/committee.html?p2=comdev/projects.apache.org/site/committee.html&p1=comdev/projects.apache.org/site/project.html&r1=1679869&r2=1680433&rev=1680433&view=diff
==============================================================================
--- comdev/projects.apache.org/site/project.html (original)
+++ comdev/projects.apache.org/site/committee.html Wed May 20 00:36:50 2015
@@ -8,9 +8,9 @@
<script src="js/jquery.js" type="text/javascript"></script>
<script src="script.js"></script>
<script src="js/projects.js" charset="UTF-8"></script>
- <title>Apache Project Information</title>
+ <title>Apache Committee Information</title>
</head>
-<body onload="preloadEverything(buildProjectPage);">
+<body onload="preloadEverything(buildCommitteePage);">
<div id="logo"></div>
<div id='cssmenu'>
Modified: comdev/projects.apache.org/site/js/projects.js
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/site/js/projects.js?rev=1680433&r1=1680432&r2=1680433&view=diff
==============================================================================
--- comdev/projects.apache.org/site/js/projects.js (original)
+++ comdev/projects.apache.org/site/js/projects.js Wed May 20 00:36:50 2015
@@ -309,79 +309,25 @@ function renderProjectPage(project, proj
}
// Title + description
- var pt = "Top Level Project";
+ var pt = "";
if (isIncubating) {
pt = "Incubating";
} else if (project && !tlpsByName[project.name] && tlps[project.pmc]) {
- pt = (project.pmc == "attic") ? "in the Attic" : "Sub-project"
+ pt = (project.pmc == "attic") ? "in the Attic" : ""
} else {
isTLP = true
}
var name = (project && project.name) ? project.name : tlp.name;
- if (!name.match(/incubating/i)) {
+ if (!name.match(/incubating/i) && pt != "") {
name += " (" + pt + ")";
}
- obj.innerHTML = "<h1>" + name + "</h1>";
+ obj.innerHTML = "<h1>" + name + " <font size='-1'>(a project managed by <a href='committee.html?" + tlpId + "'>" + tlp.name + " Committee</a>)</font></h1>";
// project description
appendElementWithInnerHTML(obj,'p',description.replace(/([^\r\n]+)\r?\n\r?\n/g,function(a) { return "<p>"+a+"</p>"}));
var ul = document.createElement('ul');
- if (isTLP) {
- appendElementWithInnerHTML(obj,'h4',"Top Level Project data:");
-
- appendLiInnerHTML(ul, "<b>Website:</b> <a href='" + tlp.homepage + "' target='_blank'>" + tlp.homepage + "</a>");
-
- appendLiInnerHTML(ul, "<b>Project established:</b> " + tlp.established);
-
- // VP
- appendLiInnerHTML(ul, "<b>PMC Chair:</b> " + people[tlp.chair]);
-
- // Reporting cycle
- var cycles = [ "every month", "January, April, July, October", "February, May, August, November", "March, June, September, December" ];
- appendLiInnerHTML(ul, "<b>Reporting cycle:</b> " + cycles[tlp.reporting] + ", see <a href='https://whimsy.apache.org/board/minutes/" + camelCase(tlpId) + ".html'>minutes</a>");
-
- // PMC
- if (unixgroups[unixgroup+"-pmc"]) {
- var pmcl = [];
- var pmcgroup = unixgroups[unixgroup+"-pmc"];
- for (i in pmcgroup) {
- pmcl.push(linkCommitterIndex(pmcgroup[i]));
- }
- appendLiInnerHTML(ul, "<b>PMC Members (" + pmcgroup.length + "):</b> <blockquote>" + pmcl.join(", ") + "</blockqoute>");
- }
-
- // Committers
- if (unixgroups[unixgroup+"-pmc"]) {
- var commitl = [];
- var commitgroup = unixgroups[unixgroup];
- for (i in commitgroup) {
- commitl.push(linkCommitterIndex(commitgroup[i]));
- }
- appendLiInnerHTML(ul, "<b>Committers (" + commitgroup.length + "):</b> <blockquote>" + commitl.join(", ") + "</blockqoute>");
- }
-
- var subprojects = [];
- for (p in projects) {
- if (projects[p].pmc == tlpId) {
- subprojects.push(p);
- }
- }
- if (subprojects.length > 1) {
- var phtml = [];
- for (p in subprojects) {
- p = subprojects[p];
- phtml.push(projectLink(p));
- }
- appendLiInnerHTML(ul, "<b>Sub-projects (" + subprojects.length + "):</b> " + phtml.join(", "));
- }
-
- obj.appendChild(ul);
-
- ul = document.createElement('ul');
- }
-
// TLP Owner?
if (project.pmc) {
if (project.pmc.match(/http:\/\/([a-z0-9]+)/i)) {
@@ -492,6 +438,85 @@ function buildProjectPage() {
GetAsyncJSON("json/projects/" + projectId + ".json?" + Math.random(), projectId, renderProjectPage)
}
+function renderCommitteePage(committeeId) {
+ var obj = document.getElementById('contents');
+
+ if (!tlps[committeeId]) {
+ obj.innerHTML = "<h2>Sorry, I don't have any information available about this committee</h2>";
+ return;
+ }
+
+ var unixgroup = committeeId; // there are probably a few exceptions...
+ var tlp = tlps[committeeId];
+
+ obj.innerHTML = "<h1>" + tlp.name + " Committee</h1>";
+
+ var ul = document.createElement('ul');
+
+ appendElementWithInnerHTML(obj, 'h4', "Committee data:");
+
+ appendLiInnerHTML(ul, "<b>Website:</b> <a href='" + tlp.homepage + "' target='_blank'>" + tlp.homepage + "</a>");
+
+ appendLiInnerHTML(ul, "<b>Committee established:</b> " + tlp.established);
+
+ // VP
+ appendLiInnerHTML(ul, "<b>PMC Chair:</b> " + people[tlp.chair]);
+
+ // Reporting cycle
+ var cycles = ["every month", "January, April, July, October", "February, May, August, November", "March, June, September, December"];
+ appendLiInnerHTML(ul, "<b>Reporting cycle:</b> " + cycles[tlp.reporting] + ", see <a href='https://whimsy.apache.org/board/minutes/" + camelCase(committeeId) + ".html'>minutes</a>");
+
+ // PMC
+ if (unixgroups[unixgroup + "-pmc"]) {
+ var pmcl = [];
+ var pmcgroup = unixgroups[unixgroup + "-pmc"];
+ for (i in pmcgroup) {
+ pmcl.push(linkCommitterIndex(pmcgroup[i]));
+ }
+ appendLiInnerHTML(ul, "<b>PMC Members (" + pmcgroup.length + "):</b> <blockquote>" + pmcl.join(", ") + "</blockqoute>");
+ }
+
+ // Committers
+ if (unixgroups[unixgroup + "-pmc"]) {
+ var commitl = [];
+ var commitgroup = unixgroups[unixgroup];
+ for (i in commitgroup) {
+ commitl.push(linkCommitterIndex(commitgroup[i]));
+ }
+ appendLiInnerHTML(ul, "<b>Committers (" + commitgroup.length + "):</b> <blockquote>" + commitl.join(", ") + "</blockqoute>");
+ }
+
+ obj.appendChild(ul);
+
+ var subprojects = [];
+ for (p in projects) {
+ if (projects[p].pmc == committeeId) {
+ subprojects.push(p);
+ }
+ }
+ if ((subprojects.length == 0) && (committeeId != 'comdev') && (committeeId != 'labs')) {
+ // if a committee did not declare any project, consider there is a default one with the id of the committee
+ // only Labs and Community Development don't manage projects
+ subprojects.push({ 'id': committeeId, 'name': tlp.name, 'pmc': committeeId });
+ }
+ if (subprojects.length >= 1) {
+ appendElementWithInnerHTML(obj, 'h4', "Projects managed by this Committee:");
+
+ ul = document.createElement('ul');
+ var phtml = [];
+ for (p in subprojects) {
+ p = subprojects[p];
+ appendLiInnerHTML(ul, projectLink(p));
+ }
+ obj.appendChild(ul);
+ }
+}
+
+function buildCommitteePage() {
+ var committeeId = document.location.search.substr(1);
+ renderCommitteePage(committeeId);
+}
+
// ------------ Projects listing ------------\\
@@ -499,12 +524,17 @@ function camelCase(str) {
return str.replace(/^([a-z])(.+)$/, function(c,a,b) { return a.toUpperCase() + b.toLowerCase() } );
}
-function projectIcon(name) {
- if (isTLP(name)) {
- return "<img src='images/tlp.png' title='Top Level Project' style='vertical-align: middle; padding: 2px;'/> "
- } else {
- return "<img src='images/sub.png' title='Sub-project' style='vertical-align: middle; padding: 2px;'/> "
- }
+function committeeIcon() {
+ return "<img src='images/tlp.png' title='Committee' style='vertical-align: middle; padding: 2px;'/> ";
+}
+
+function projectIcon() {
+ return "<img src='images/sub.png' title='Project' style='vertical-align: middle; padding: 2px;'/> "
+}
+
+function committeeLink(id) {
+ var tlp = tlps[id];
+ return "<a href='committee.html?" + id + "'>" + tlp.name + "</a>";
}
function projectLink(id) {
@@ -688,7 +718,8 @@ function renderProjectsByDate() {
for (i in tlpsByName) {
i = tlpsByName[i];
if (i.established == date) {
- appendLiInnerHTML(cul, projectIcon(i.name) + projectLink(i.id));
+ //appendLiInnerHTML(cul, projectIcon(i.name) + projectLink(i.id));
+ appendLiInnerHTML(cul, committeeIcon() + committeeLink(i.id));
}
}
li.appendChild(cul);
@@ -749,27 +780,27 @@ function renderProjectsByPMC() {
obj.innerHTML = "";
var projectsSorted = sortProjects();
- var dcount = {};
+ var dcount = {};
for (tlp in tlps) {
dcount[tlp] = 0;
}
- for (project in projects) {
- project = projects[project];
- // Fix Incubating projects
- if (project.name.match("incubating", "i")) {
- project.pmc = 'incubator'
- }
- if (tlps[project.pmc]) {
- dcount[project.pmc]++;
- }
- }
+ for (project in projects) {
+ project = projects[project];
+ // Fix Incubating projects
+ if (project.name.match("incubating", "i")) {
+ project.pmc = 'incubator'
+ }
+ if (tlps[project.pmc]) {
+ dcount[project.pmc]++;
+ }
+ }
- // Construct pmc list
- var ul = document.createElement('ul');
-
- for (lpmc in tlps) {
+ // Construct pmc list
+ var ul = document.createElement('ul');
+
+ for (lpmc in tlps) {
var c = dcount[lpmc];
- var li = document.createElement('li');
+ var li = document.createElement('li');
var cul = document.createElement('ul');
if (c == 0) {
appendLiInnerHTML(cul, projectIcon(tlps[lpmc].name) + "<a href='project.html?" + lpmc + "'>" + tlps[lpmc].name + "</a>");
@@ -790,12 +821,12 @@ function renderProjectsByPMC() {
}
}
}
- li.innerHTML = "<h3><a id='" + lpmc + "'>" + tlps[lpmc].name + " (" + c + ")</a>" + (c>0?":": "") + "</h3>";
+ li.innerHTML = "<h3>" + committeeIcon() + "<a id='" + lpmc + "' href='committee.html?"+ lpmc + "'>" + tlps[lpmc].name + " PMC</a> (" + c + ")" + (c>0?":": "") + "</h3>";
li.appendChild(cul);
- ul.appendChild(li);
- }
-
- obj.appendChild(ul);
+ ul.appendChild(li);
+ }
+
+ obj.appendChild(ul);
if (location.hash.length > 1) {
setTimeout(function() { location.href = location.href;}, 250);