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 %}