Author: hboutemy
Date: Sat Jun  7 17:27:58 2025
New Revision: 1926217

URL: http://svn.apache.org/viewvc?rev=1926217&view=rev
Log:
COMDEV-560 add no-tlp-doap projects to projects.json

instead of creating in-memory in browser UI js

Modified:
    comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
    comdev/projects.apache.org/trunk/site/js/projects.js
    comdev/projects.apache.org/trunk/site/json/foundation/projects.json

Modified: comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
URL: 
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py 
(original)
+++ comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py Sat Jun  
7 17:27:58 2025
@@ -6,6 +6,7 @@ Reads:
 ../../data/projects.xml
 parseprojects-failures.xml (if exists)
 ../../site/json/foundation/committees-retired.json
+../../site/json/foundation/committees.json
 
 Writes:
 ../../site/json/foundation/projects.json
@@ -188,6 +189,19 @@ retired = []
 for r in committeesRetired:
     retired.append(r['id'])
 
+with open("../../site/json/foundation/committees.json", "r", encoding='utf-8') 
as f:
+    committees = json.loads(f.read())
+    f.close()
+committeesWithoutProject = {}
+for c in committees:
+    pjson = {
+        'name': c['name'],
+        'homepage': c['homepage'],
+        'pmc': c['id'],
+        'category': "no-tlp-doap"
+    }
+    committeesWithoutProject[c['id']] = pjson
+
 projects = {}
 failures = []
 
@@ -377,6 +391,8 @@ for s in itemlist :
             validate(pjson, 'category', VALID_CATS, projectid, url)
             validate(pjson, 'programming-language', VALID_LANG, projectid, url)
             projects[projectJsonFilename] = pjson
+            if committeeId in committeesWithoutProject:
+                del committeesWithoutProject[committeeId]
             #for e in add:
             #    pjson[e] = add[e]
             name = "%s.json" % projectJsonFilename
@@ -423,6 +439,16 @@ for s in itemlist :
                 f.write(rdf)
                 f.close()
 
+for c in committeesWithoutProject:
+    print("WARN: adding no-tlp-doap %s " % c)
+    pjson = {
+        'name': "Apache %s" % c.capitalize(),
+        'homepage': "https://%s.apache.org"; % c,
+        'pmc': c,
+        'category': "no-tlp-doap"
+    }
+    projects[c] = pjson
+
 if save:
     print("Writing foundation/projects.json...")
     with open ("../../site/json/foundation/projects.json", "w", 
encoding='utf-8') as f:

Modified: comdev/projects.apache.org/trunk/site/js/projects.js
URL: 
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/site/js/projects.js?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/site/js/projects.js (original)
+++ comdev/projects.apache.org/trunk/site/js/projects.js Sat Jun  7 17:27:58 
2025
@@ -1523,19 +1523,6 @@ function weaveInRetiredCommittees(json)
     for (p in projects) {
         projectsPmcs[projects[p].pmc] = p;
     }
-    var c;
-    for (c in committees) {
-        c = committees[c];
-        if (!projectsPmcs[c.id] && c.id != 'attic') {
-            // no DOAP file written by the PMC: creating default content
-            projects[c.id] = {
-                'name': c.name,
-                'homepage': c.homepage,
-                'pmc': c.id,
-                'category': "no-tlp-doap"
-            }
-        }
-    }
 }
 
 function setCommittees(json, state) {

Modified: comdev/projects.apache.org/trunk/site/json/foundation/projects.json
URL: 
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/site/json/foundation/projects.json?rev=1926217&r1=1926216&r2=1926217&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/site/json/foundation/projects.json 
(original)
+++ comdev/projects.apache.org/trunk/site/json/foundation/projects.json Sat Jun 
 7 17:27:58 2025
@@ -384,6 +384,12 @@
 ],
 "shortdesc": "Hadoop cluster management"
 },
+"answer": {
+"category": "no-tlp-doap",
+"homepage": "https://answer.apache.org";,
+"name": "Apache Answer",
+"pmc": "answer"
+},
 "ant": {
 "bug-database": "http://issues.apache.org/bugzilla/buglist.cgi?product=Ant";,
 "category": "build-management",
@@ -885,6 +891,12 @@
 ],
 "shortdesc": "Microsoft Visual Source Safe support for Apache Ant."
 },
+"apisix": {
+"category": "no-tlp-doap",
+"homepage": "https://apisix.apache.org";,
+"name": "Apache Apisix",
+"pmc": "apisix"
+},
 "apr-portable_runtime": {
 "bug-database": "https://issues.apache.org/bugzilla/";,
 "category": "library",
@@ -994,6 +1006,18 @@
 ],
 "shortdesc": "Apache Arrow is the universal columnar format and multi-language 
toolbox for fast data interchange and in-memory analytics."
 },
+"asterixdb": {
+"category": "no-tlp-doap",
+"homepage": "https://asterixdb.apache.org";,
+"name": "Apache Asterixdb",
+"pmc": "asterixdb"
+},
+"atlas": {
+"category": "no-tlp-doap",
+"homepage": "https://atlas.apache.org";,
+"name": "Apache Atlas",
+"pmc": "atlas"
+},
 "attic-any23": {
 "bug-database": "https://issues.apache.org/jira/browse/ANY23";,
 "category": "retired, content",
@@ -4249,6 +4273,12 @@
 ],
 "shortdesc": "An industrial-grade RPC framework for building reliable and 
high-performance services."
 },
+"buildstream": {
+"category": "no-tlp-doap",
+"homepage": "https://buildstream.apache.org";,
+"name": "Apache Buildstream",
+"pmc": "buildstream"
+},
 "bval": {
 "bug-database": "http://issues.apache.org/jira/browse/BVAL";,
 "category": "javaee, library",
@@ -5109,6 +5139,12 @@
 ],
 "shortdesc": "User-friendly Java ORM with tools"
 },
+"celeborn": {
+"category": "no-tlp-doap",
+"homepage": "https://celeborn.apache.org";,
+"name": "Apache Celeborn",
+"pmc": "celeborn"
+},
 "celix": {
 "bug-database": "https://github.com/apache/celix/issues";,
 "category": "network-server",
@@ -9072,6 +9108,12 @@
 ],
 "shortdesc": "The Eclipse based LDAP browser and directory client"
 },
+"dolphinscheduler": {
+"category": "no-tlp-doap",
+"homepage": "https://dolphinscheduler.apache.org";,
+"name": "Apache Dolphinscheduler",
+"pmc": "dolphinscheduler"
+},
 "doris": {
 "bug-database": "https://github.com/apache/doris/issues";,
 "category": "database",
@@ -9136,6 +9178,12 @@
 "programming-language": "Java",
 "shortdesc": "High performance, real-time analytics database for sub-second 
queries at scale and under load."
 },
+"dubbo": {
+"category": "no-tlp-doap",
+"homepage": "https://dubbo.apache.org";,
+"name": "Apache Dubbo",
+"pmc": "dubbo"
+},
 "echarts": {
 "bug-database": "https://github.com/apache/echarts/issues";,
 "category": "library, data-visualization",
@@ -9274,6 +9322,12 @@
 ],
 "shortdesc": "Core bank processing and lending "
 },
+"flagon": {
+"category": "no-tlp-doap",
+"homepage": "https://flagon.apache.org";,
+"name": "Apache Flagon",
+"pmc": "flagon"
+},
 "flex": {
 "bug-database": "https://issues.apache.org/jira/browse/FLEX";,
 "category": "web-framework",
@@ -9667,6 +9721,18 @@
 ],
 "shortdesc": "Distributed data integration framework"
 },
+"gravitino": {
+"category": "no-tlp-doap",
+"homepage": "https://gravitino.apache.org";,
+"name": "Apache Gravitino",
+"pmc": "gravitino"
+},
+"griffin": {
+"category": "no-tlp-doap",
+"homepage": "https://griffin.apache.org";,
+"name": "Apache Griffin",
+"pmc": "griffin"
+},
 "groovy": {
 "bug-database": "https://issues.apache.org/jira/browse/GROOVY";,
 "category": "library",
@@ -11342,6 +11408,12 @@
 ],
 "shortdesc": "Pure Java application for load and functional testing"
 },
+"johnzon": {
+"category": "no-tlp-doap",
+"homepage": "https://johnzon.apache.org";,
+"name": "Apache Johnzon",
+"pmc": "johnzon"
+},
 "jspwiki": {
 "category": "content",
 "description": "\n        Apache JSPWiki is a feature-rich and extensible 
WikiWiki engine built around the standard JEE \n        components (Java, 
servlets, JSP). It features:\n        - WikiMarkup/Structured Text\n        - 
File attachments \n        - Templates support\n        - Data storage through 
2 WikiPage Providers, with the capability to plug new ones\n        - Security: 
Authorization and authentication fine grain control\n        - Easy plugin and 
page filter interfaces\n        - UTF-8 support\n        - JSP-based\n        - 
Easy-ish installation\n        - Page locking to prevent editing conflicts\n    
    - Support for Multiple Wikis\n        - Custom User Preferences\n    ",
@@ -11359,6 +11431,12 @@
 "shortdesc": "A feature-rich and extensible WikiWiki engine built around the 
standard \n        JEE components (Java, servlets, JSP).",
 "shortname": "jspwiki"
 },
+"juneau": {
+"category": "no-tlp-doap",
+"homepage": "https://juneau.apache.org";,
+"name": "Apache Juneau",
+"pmc": "juneau"
+},
 "kafka": {
 "bug-database": "https://issues.apache.org/jira/browse/KAFKA";,
 "category": "big-data",
@@ -11567,6 +11645,12 @@
 ],
 "shortdesc": "Columnar storage manager"
 },
+"kvrocks": {
+"category": "no-tlp-doap",
+"homepage": "https://kvrocks.apache.org";,
+"name": "Apache Kvrocks",
+"pmc": "kvrocks"
+},
 "kylin": {
 "bug-database": "https://issues.apache.org/jira/projects/KYLIN/issues";,
 "category": "big-data",
@@ -11597,6 +11681,12 @@
 ],
 "shortdesc": "Apache Kylin is an open source, distributed Analytical Data 
Warehouse for Big Data."
 },
+"kyuubi": {
+"category": "no-tlp-doap",
+"homepage": "https://kyuubi.apache.org";,
+"name": "Apache Kyuubi",
+"pmc": "kyuubi"
+},
 "libcloud": {
 "bug-database": "https://issues.apache.org/jira/browse/LIBCLOUD";,
 "category": "cloud, library",
@@ -12118,6 +12208,12 @@
 "shortdesc": "Apache log4php is a logging framework for PHP.",
 "shortname": "log4php"
 },
+"logodev": {
+"category": "no-tlp-doap",
+"homepage": "https://logodev.apache.org";,
+"name": "Apache Logodev",
+"pmc": "logodev"
+},
 "lucene-core": {
 "bug-database": "https://github.com/apache/lucene/issues";,
 "category": "database, library, search",
@@ -13278,6 +13374,12 @@
 ],
 "shortdesc": "Lucene.Net is a port of the Lucene search engine library, 
written in C# and targeted at .NET runtime users."
 },
+"madlib": {
+"category": "no-tlp-doap",
+"homepage": "https://madlib.apache.org";,
+"name": "Apache Madlib",
+"pmc": "madlib"
+},
 "mahout": {
 "bug-database": "https://issues.apache.org/jira/browse/MAHOUT";,
 "category": "library",
@@ -14680,6 +14782,12 @@
 ],
 "shortdesc": "Apache Nutch is an open source web crawler software project."
 },
+"nuttx": {
+"category": "no-tlp-doap",
+"homepage": "https://nuttx.apache.org";,
+"name": "Apache Nuttx",
+"pmc": "nuttx"
+},
 "ofbiz": {
 "bug-database": "https://issues.apache.org/jira/browse/OFBIZ";,
 "category": "web-framework, database, network-server, xml, http, content, 
geospatial",
@@ -15139,6 +15247,12 @@
 ],
 "shortdesc": "Dependency Injection Platform."
 },
+"openwhisk": {
+"category": "no-tlp-doap",
+"homepage": "https://openwhisk.apache.org";,
+"name": "Apache Openwhisk",
+"pmc": "openwhisk"
+},
 "orc": {
 "bug-database": "https://issues.apache.org/jira/browse/orc";,
 "category": "big-data, database, hadoop, library",
@@ -15206,6 +15320,12 @@
 ],
 "shortdesc": "A highly scalable, distributed storage for Analytics, Big data 
and Cloud Native applications."
 },
+"paimon": {
+"category": "no-tlp-doap",
+"homepage": "https://paimon.apache.org";,
+"name": "Apache Paimon",
+"pmc": "paimon"
+},
 "parquet": {
 "bug-database": "https://issues.apache.org/jira/browse/PARQUET";,
 "category": "big-data",
@@ -15634,6 +15754,12 @@
 ],
 "shortdesc": "The Apache PDFBox library is an open source Java tool for 
working with PDF documents."
 },
+"pekko": {
+"category": "no-tlp-doap",
+"homepage": "https://pekko.apache.org";,
+"name": "Apache Pekko",
+"pmc": "pekko"
+},
 "perl-mod_perl": {
 "bug-database": "http://perl.apache.org/bugs/";,
 "category": "httpd-module",
@@ -16384,6 +16510,18 @@
 ],
 "shortdesc": "Provide authorization framework across multiple datasources and 
have a single glass of pane for Security & Governance."
 },
+"ratis": {
+"category": "no-tlp-doap",
+"homepage": "https://ratis.apache.org";,
+"name": "Apache Ratis",
+"pmc": "ratis"
+},
+"rocketmq": {
+"category": "no-tlp-doap",
+"homepage": "https://rocketmq.apache.org";,
+"name": "Apache Rocketmq",
+"pmc": "rocketmq"
+},
 "roller": {
 "bug-database": "https://issues.apache.org/jira/browse/ROL";,
 "category": "content",
@@ -16437,6 +16575,12 @@
 ],
 "shortdesc": "Compiles programs written in ActionScript and MXML into 
JavaScript and HTML that can run wherever JavaScript runs."
 },
+"rya": {
+"category": "no-tlp-doap",
+"homepage": "https://rya.apache.org";,
+"name": "Apache Rya",
+"pmc": "rya"
+},
 "samza": {
 "bug-database": "https://issues.apache.org/jira/browse/SAMZA";,
 "category": "big-data",
@@ -16529,6 +16673,12 @@
 ],
 "shortdesc": "Library implementing XML Digital Signature Specification & XML 
Encryption Specification"
 },
+"sdap": {
+"category": "no-tlp-doap",
+"homepage": "https://sdap.apache.org";,
+"name": "Apache Sdap",
+"pmc": "sdap"
+},
 "seatunnel": {
 "bug-database": "https://github.com/apache/seatunnel/issues";,
 "category": "big-data",
@@ -16547,6 +16697,12 @@
 ],
 "shortdesc": "SeaTunnel is a next-generation super high-performance, 
distributed, massive data integration tool."
 },
+"sedona": {
+"category": "no-tlp-doap",
+"homepage": "https://sedona.apache.org";,
+"name": "Apache Sedona",
+"pmc": "sedona"
+},
 "serf": {
 "bug-database": "https://issues.apache.org/jira/browse/SERF/";,
 "category": "library",
@@ -16572,6 +16728,12 @@
 ],
 "shortdesc": "High performance C-based HTTP client library built upon the 
Apache Portable Runtime (APR) library."
 },
+"servicecomb": {
+"category": "no-tlp-doap",
+"homepage": "https://servicecomb.apache.org";,
+"name": "Apache Servicecomb",
+"pmc": "servicecomb"
+},
 "servicemix": {
 "bug-database": "http://issues.apache.org/activemq/browse/SM";,
 "category": "network-client, network-server, xml, osgi",
@@ -16605,6 +16767,18 @@
 ],
 "shortdesc": "Apache ServiceMix is an open source ESB providing routing and 
mediation features."
 },
+"shardingsphere": {
+"category": "no-tlp-doap",
+"homepage": "https://shardingsphere.apache.org";,
+"name": "Apache Shardingsphere",
+"pmc": "shardingsphere"
+},
+"shenyu": {
+"category": "no-tlp-doap",
+"homepage": "https://shenyu.apache.org";,
+"name": "Apache Shenyu",
+"pmc": "shenyu"
+},
 "shiro": {
 "bug-database": "https://issues.apache.org/jira/browse/SHIRO";,
 "category": "library, web-framework",
@@ -16869,6 +17043,12 @@
 "shortdesc": "A simple to use Java Security Framework.",
 "vendor": "The Apache Software Foundation"
 },
+"singa": {
+"category": "no-tlp-doap",
+"homepage": "https://singa.apache.org";,
+"name": "Apache Singa",
+"pmc": "singa"
+},
 "sis-spatial_information_system": {
 "bug-database": "http://issues.apache.org/jira/browse/SIS";,
 "category": "geospatial, library",
@@ -17922,6 +18102,24 @@
 ],
 "shortdesc": "Apache Storm is a distributed real-time computation system."
 },
+"stormcrawler": {
+"category": "no-tlp-doap",
+"homepage": "https://stormcrawler.apache.org";,
+"name": "Apache Stormcrawler",
+"pmc": "stormcrawler"
+},
+"streampark": {
+"category": "no-tlp-doap",
+"homepage": "https://streampark.apache.org";,
+"name": "Apache Streampark",
+"pmc": "streampark"
+},
+"streampipes": {
+"category": "no-tlp-doap",
+"homepage": "https://streampipes.apache.org";,
+"name": "Apache Streampipes",
+"pmc": "streampipes"
+},
 "struts": {
 "bug-database": "https://issues.apache.org/jira/browse/WW/";,
 "category": "web-framework",
@@ -18084,6 +18282,12 @@
 ],
 "shortdesc": "Apache Syncope is an Open Source system for managing digital 
identities in enterprise environments."
 },
+"systemds": {
+"category": "no-tlp-doap",
+"homepage": "https://systemds.apache.org";,
+"name": "Apache Systemds",
+"pmc": "systemds"
+},
 "tapestry": {
 "bug-database": "https://issues.apache.org/jira/browse/TAP5";,
 "category": "web-framework",
@@ -18720,6 +18924,12 @@
 ],
 "shortdesc": "The Apache Tika toolkit detects and extracts metadata and 
structured \n    text content from various documents using existing parser 
libraries. \n    "
 },
+"tinkerpop": {
+"category": "no-tlp-doap",
+"homepage": "https://tinkerpop.apache.org";,
+"name": "Apache Tinkerpop",
+"pmc": "tinkerpop"
+},
 "tomcat": {
 "bug-database": "http://tomcat.apache.org/bugreport.html";,
 "category": "network-server, http, javaee",
@@ -19087,6 +19297,12 @@
 "shortdesc": "Annotator components and a\n      scalable integration and 
deployment framework for\n      Unstructured Information analysis",
 "shortname": "UIMA"
 },
+"uniffle": {
+"category": "no-tlp-doap",
+"homepage": "https://uniffle.apache.org";,
+"name": "Apache Uniffle",
+"pmc": "uniffle"
+},
 "unomi": {
 "bug-database": "https://issues.apache.org/jira/projects/UNOMI/";,
 "category": "search",


Reply via email to