You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ossie.apache.org by jb...@apache.org on 2026/10/14 07:40:57 UTC

(ossie-website) branch main updated: Refresh working groups on the Community page (#42)

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ossie-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 836ae84  Refresh working groups on the Community page (#42)
836ae84 is described below

commit 836ae84b2d3090f9a827e5b817cca10fbba6eb06
Author: Chris Eubank <10...@users.noreply.github.com>
AuthorDate: Wed Oct 14 00:40:51 2026 -0700

    Refresh working groups on the Community page (#42)
    
    Rework the Community page's working-groups area so it reflects the
    groups that are active and makes each one easy to find and join.
    
    - Remove two groups that are no longer active: Composability, and Model
      Converters & Developer Tools.
    - Rename "Advanced Metrics & Expression Language" to "Metrics and
      Querying" with a byline describing portable model representations and
      query semantics.
    - Combine the working groups and the monthly all-community sync into one
      "Meetings and Working Groups" section. Each entry is a card with its
      schedule (including the date a recurring series started), a Join call
      link, meeting Notes, and — for working groups — a Slack channel.
    - Add a short note that all meetings are open to everyone and the Google
      Calendar holds the authoritative times, and that working groups are
      for discussion, not decisions: following the Apache Way, decisions
      happen in the open on the dev@ mailing list.
    
    Content is data-driven: the `meetings` list in data/community.yml drives
    the section, and overrides/community.html plus home.css render it. Adding
    a recurring meeting is one more list entry.
    
    Co-authored-by: Isaac <no...@databricks.com>
---
 data/community.yml               | 45 ++++++++++++++++++++-------
 docs/assets/stylesheets/home.css | 66 ++++++++++++++++++++++++++++++++++++++++
 overrides/community.html         | 51 +++++++++++++++++++++----------
 3 files changed, 135 insertions(+), 27 deletions(-)

diff --git a/data/community.yml b/data/community.yml
index 0579424..938101b 100644
--- a/data/community.yml
+++ b/data/community.yml
@@ -19,10 +19,15 @@
 # Community Page Content
 # =============================================================================
 # Drives the Community page (docs/community.md).
-# Edit this file to update get-involved links and working groups.
+# Edit this file to update get-involved links, the community meeting, and
+# working groups.
 # =============================================================================
 
 community_page:
+  # Shared community Google Calendar. This is the source of truth for all
+  # meeting times, so every "schedule" link on the page points here.
+  calendar_url: "https://calendar.google.com/calendar/u/0?cid=YTM0ZjAxM2U4ZDhmOWNkYTQxOWM2NmFmODlhYjQ3NDg4NjQ0ZDczNWZkZmUzYjBjYjJjZWQ5MGE4ODBhMmE5NUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t"
+
   get_involved:
     heading: "Get Involved"
     description: >-
@@ -51,20 +56,38 @@ community_page:
         url: "https://calendar.google.com/calendar/u/0?cid=YTM0ZjAxM2U4ZDhmOWNkYTQxOWM2NmFmODlhYjQ3NDg4NjQ0ZDczNWZkZmUzYjBjYjJjZWQ5MGE4ODBhMmE5NUBncm91cC5jYWxlbmRhci5nb29nbGUuY29t"
         description: "Subscribe to community meetings and events."
 
-  working_groups:
-    heading: "Working Groups"
-    description: "The initiative is organized into focused groups, each tackling a specific area of the specification."
-    groups:
-      - name: "Advanced Metrics & Expression Language"
-        focus: "Complex metric calculations and a portable expression syntax"
+  # Recurring meetings, rendered as cards. `type` drives the label: a
+  # "working_group" entry gets " Working Group" appended to its name; a
+  # "community" entry shows its name as-is. Add a new recurring meeting by
+  # appending an entry here — no template change needed.
+  meetings:
+    heading: "Meetings and Working Groups"
+    # Keep this key as "entries", not "items": Jinja resolves `.items` to the
+    # dict's built-in method, so an "items" key would be shadowed.
+    entries:
+      - name: "Community Meeting"
+        type: "community"
+        focus: "Project-wide updates and discussions"
+        schedule: "Last Monday of each month · 9:30–10:30am PST"
+        vc_url: "https://meet.google.com/wmk-uodp-pxy"
+        notes_url: "https://docs.google.com/document/d/18lgmRAB4OOtVUPmQ5fFVpxqFS1oXRgQJTceZ0A_v8pw/edit?tab=t.0#heading=h.zgpqdat5gr0p"
+      - name: "Metrics and Querying"
+        type: "working_group"
+        focus: "Defining portable model representations and query semantics"
+        schedule: "Alternating Wednesdays · 9:00am PST (from Mar 25, 2026) · 4:00pm PST (from Apr 1, 2026)"
+        vc_url: "https://meet.google.com/nkp-qdpn-vyr"
+        notes_url: "https://docs.google.com/document/d/1J4MvDvdMsOGB9DQXUpco_iN8E5Forrt5oZppJZTKB7k/edit?tab=t.0#heading=h.toksa7exn8pl"
         slack_url: "https://apache-ossie.slack.com/archives/C0ADR49SBEK"
-      - name: "Composability"
-        focus: "Enabling semantic models to reference and extend one another"
       - name: "Catalog Integration"
+        type: "working_group"
         focus: "Bridging Apache Ossie models with data catalog and governance platforms"
+        schedule: "Monthly on the 24th · 9:30–10:30am PST"
+        vc_url: "https://meet.google.com/wib-nhtq-mtf"
         slack_url: "https://apache-ossie.slack.com/archives/C0B8N5VQG1Y"
       - name: "Ontology Representation"
+        type: "working_group"
         focus: "Mapping Apache Ossie concepts to formal ontology standards"
+        schedule: "Every 2 weeks on Tuesday · 10:00–10:30am PST (from Sep 1, 2026)"
+        vc_url: "https://relationalai.zoom.us/j/98467672408?pwd=UoVS6GHfSssQHtNUvdBQEPdZFt4Sut.1"
+        notes_url: "https://docs.google.com/document/d/1u4DYy6_0U-YwRHLgHi-cOCUfvCp1RMB7iZNN_HZP0YE/edit?tab=t.0#heading=h.vgq6gsk6el5e"
         slack_url: "https://apache-ossie.slack.com/archives/C0ACQJVFVRN"
-      - name: "Model Converters & Developer Tools"
-        focus: "Tooling for importing, exporting, and validating Apache Ossie models"
diff --git a/docs/assets/stylesheets/home.css b/docs/assets/stylesheets/home.css
index 1934b0c..e4688e2 100644
--- a/docs/assets/stylesheets/home.css
+++ b/docs/assets/stylesheets/home.css
@@ -514,6 +514,8 @@
   padding: 1rem 1.25rem;
   transition: all 0.2s ease;
   height: 100%;
+  display: flex;
+  flex-direction: column;
 }
 
 .ossie-wg-card:hover {
@@ -535,6 +537,70 @@
   line-height: 1.5;
 }
 
+/* Meeting meta (schedule + notes/call links) pinned to the bottom of the card
+   so the links line up across a row of cards with uneven focus text. */
+.ossie-wg-card__meta {
+  margin-top: auto;
+  padding-top: 0.75rem;
+}
+
+.ossie-wg-card__schedule {
+  display: block;
+  font-size: 0.68rem;
+  color: var(--ossie-gray-600);
+  text-decoration: none;
+  margin-bottom: 0.4rem;
+}
+
+.ossie-wg-card__schedule:hover {
+  color: var(--ossie-primary-blue);
+}
+
+.ossie-wg-card__links {
+  display: flex;
+  flex-wrap: wrap;
+  gap: 0.4rem;
+}
+
+.ossie-wg-card__link {
+  font-size: 0.68rem;
+  font-weight: 600;
+  color: var(--ossie-primary-blue);
+  background: var(--ossie-gray-50);
+  border: 1px solid var(--ossie-gray-200);
+  border-radius: 0.3rem;
+  padding: 0.15rem 0.6rem;
+  text-decoration: none !important;
+  transition: all 0.2s ease;
+}
+
+.ossie-wg-card__link:hover {
+  border-color: var(--ossie-primary-blue);
+  background: var(--ossie-light-blue);
+}
+
+/* Meeting notes: calendar source-of-truth + Apache Way governance. */
+.ossie-wg-notes {
+  max-width: 760px;
+}
+
+.ossie-wg-note {
+  font-size: 0.72rem;
+  color: var(--ossie-gray-600);
+  line-height: 1.6;
+  text-align: center;
+  margin: 0 0 0.5rem;
+}
+
+.ossie-wg-note:last-child {
+  margin-bottom: 0;
+}
+
+.ossie-wg-note a {
+  color: var(--ossie-primary-blue);
+  font-weight: 600;
+}
+
 
 /* ==========================================================================
    Community Bar (Get Involved)
diff --git a/overrides/community.html b/overrides/community.html
index 9b7297c..6c3559f 100644
--- a/overrides/community.html
+++ b/overrides/community.html
@@ -18,7 +18,7 @@
 
   community.html — Community page template.
 
-  Renders the Get Involved bar and Working Groups sections.
+  Renders the Get Involved bar and the Meetings & Working Groups section.
   Content is data-driven via data/community.yml.
 #}
 {% extends "main.html" %}
@@ -77,29 +77,48 @@
 
 
   <!-- =====================================================================
-       WORKING GROUPS SECTION
+       MEETINGS & WORKING GROUPS
        ===================================================================== -->
   <section class="ossie-members-section py-5">
     <div class="container">
-      <div class="text-center mb-4">
-        <h2 class="ossie-section-heading">{{ community_page.working_groups.heading }}</h2>
-        <p class="ossie-section-subtitle">{{ community_page.working_groups.description }}</p>
+      <div class="text-center mb-3">
+        <h2 class="ossie-section-heading">{{ community_page.meetings.heading }}</h2>
       </div>
+
+      <div class="ossie-wg-notes mx-auto mb-4">
+        <p class="ossie-wg-note">
+          All meetings are open to everyone, and times live on the
+          <a href="{{ community_page.calendar_url }}" target="_blank" rel="noopener">community Google Calendar</a>.
+          Working groups are for discussion, not decisions — those happen in the open on the
+          <a href="mailto:dev-subscribe@ossie.apache.org">dev@ mailing list</a>, per the Apache Way.
+        </p>
+      </div>
+
       <div class="row g-3">
-        {% for wg in community_page.working_groups.groups %}
+        {% for item in community_page.meetings.entries %}
           <div class="col-md-6 col-lg-4">
             <div class="ossie-wg-card">
-              <strong class="ossie-wg-card__name">
-                {% if wg.slack_url %}
-                  <a href="{{ wg.slack_url }}" target="_blank" rel="noopener" style="text-decoration:none; color:inherit; display:inline-flex; align-items:center; gap:0.35em">
-                    {{ wg.name }}
-                    <span style="width:1em; height:1em; display:inline-flex; opacity:0.7">{% include ".icons/fontawesome/brands/slack.svg" %}</span>
-                  </a>
-                {% else %}
-                  {{ wg.name }}
+              <strong class="ossie-wg-card__name">{{ item.name }}{% if item.type == 'working_group' %} Working Group{% endif %}</strong>
+              <p class="ossie-wg-card__focus">{{ item.focus }}</p>
+
+              <div class="ossie-wg-card__meta">
+                {% if item.schedule %}
+                  <a class="ossie-wg-card__schedule" href="{{ community_page.calendar_url }}" target="_blank" rel="noopener">{{ item.schedule }}</a>
+                {% endif %}
+                {% if item.vc_url or item.notes_url or item.slack_url %}
+                  <div class="ossie-wg-card__links">
+                    {% if item.vc_url %}
+                      <a href="{{ item.vc_url }}" target="_blank" rel="noopener" class="ossie-wg-card__link">Join call</a>
+                    {% endif %}
+                    {% if item.notes_url %}
+                      <a href="{{ item.notes_url }}" target="_blank" rel="noopener" class="ossie-wg-card__link">Notes</a>
+                    {% endif %}
+                    {% if item.slack_url %}
+                      <a href="{{ item.slack_url }}" target="_blank" rel="noopener" class="ossie-wg-card__link">Slack</a>
+                    {% endif %}
+                  </div>
                 {% endif %}
-              </strong>
-              <p class="ossie-wg-card__focus">{{ wg.focus }}</p>
+              </div>
             </div>
           </div>
         {% endfor %}