You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-__For cross-product alignments__ the Catena-X Association is currently preparing various committees to support the
30
30
coordination of the open-source products and repositories. The goal of a committee is to discuss, define and create a
31
31
common vision, roadmap, standards, architecture, KITs, etc.
32
+
33
+
## How to Create Open Meetings
34
+
35
+
You can add new meetings to the [Open Meetings](/community/open-meetings) calendar by editing the meeting data file. All meetings are displayed with timezone conversion support and appear in both the interactive calendar and the categorized lists.
36
+
37
+
:::tip Quick Start
38
+
39
+
To add a new meeting, edit the `src/data/meetings.js` file and add a new meeting object to the `meetings` array. The meeting will automatically appear in both the calendar and the list on the [Open Meetings page](/community/open-meetings).
40
+
41
+
:::
42
+
43
+
### Meeting Structure
44
+
45
+
Each meeting is defined as a JavaScript object with the following properties:
46
+
47
+
:::note Required Fields
48
+
49
+
-**`id`** (string): Unique identifier for the meeting (use kebab-case, e.g., `'my-new-meeting'`)
50
+
-**`title`** (string): Display name of the meeting
51
+
-**`category`** (string): Use `MEETING_CATEGORIES.GENERAL`, `MEETING_CATEGORIES.PRODUCT`, or `MEETING_CATEGORIES.ONE_TIME`
52
+
-**`description`** (string): Brief description of the meeting's purpose
53
+
-**`contact`** (string): Email address of the meeting organizer
54
+
55
+
:::
56
+
57
+
:::note Optional Fields
58
+
59
+
-**`sessionLink`** (string): URL to join the meeting (Teams, Zoom, etc.)
60
+
-**`additionalLinks`** (array): Additional resources like taskboards, repositories, or documentation
61
+
- Each link is an object with `title` and `url` properties
62
+
-**`recurrence`** (object): Meeting schedule rules (set to `null` for on-demand meetings)
63
+
64
+
:::
65
+
66
+
### Recurrence Patterns
67
+
68
+
The `recurrence` object defines when and how often a meeting occurs:
69
+
70
+
:::info Weekly Meetings
71
+
72
+
```javascript
73
+
recurrence: {
74
+
frequency:'weekly',
75
+
interval:1, // Every week (use 2 for bi-weekly, 3 for tri-weekly, etc.)
76
+
daysOfWeek: ['monday'], // Can be multiple days: ['monday', 'wednesday']
77
+
startTime:'10:00', // 24-hour format in Europe/Berlin timezone
78
+
endTime:'11:00',
79
+
validFrom:'2025-01-01', // Optional: when this schedule starts
80
+
validUntil:'2025-12-31', // Optional: when this schedule ends
81
+
}
82
+
```
83
+
84
+
:::
85
+
86
+
:::info Daily Meetings
87
+
88
+
```javascript
89
+
recurrence: {
90
+
frequency:'daily',
91
+
interval:1,
92
+
daysOfWeek: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'], // Weekdays only
93
+
startTime:'09:00',
94
+
endTime:'09:30',
95
+
validFrom:'2025-11-04',
96
+
validUntil:'2025-11-21',
97
+
}
98
+
```
99
+
100
+
:::
101
+
102
+
:::info One-Time Meetings
103
+
104
+
```javascript
105
+
recurrence: {
106
+
frequency:'once',
107
+
startDate:'2025-12-15', // ISO format: YYYY-MM-DD
108
+
startTime:'14:00',
109
+
endTime:'15:30',
110
+
}
111
+
```
112
+
113
+
:::
114
+
115
+
:::info On-Demand Meetings
116
+
117
+
For meetings without a fixed schedule, set `recurrence` to `null`. These meetings will appear in the list but not in the calendar.
118
+
119
+
```javascript
120
+
recurrence:null
121
+
```
122
+
123
+
:::
124
+
125
+
### Complete Example
126
+
127
+
Here's a complete example of adding a new weekly product meeting:
128
+
129
+
```javascript
130
+
{
131
+
id:'my-product-weekly',
132
+
title:'My Product Weekly Sync',
133
+
category:MEETING_CATEGORIES.PRODUCT,
134
+
description:'Weekly synchronization meeting for My Product development team. We discuss progress, blockers, and upcoming features.',
All meeting times in `src/data/meetings.js` must be specified in **Europe/Berlin timezone** (CET/CEST). The system will automatically convert these times to the user's selected timezone for display.
165
+
166
+
- Winter time (CET): UTC+1
167
+
- Summer time (CEST): UTC+2
168
+
169
+
:::
170
+
171
+
### Step-by-Step Guide
172
+
173
+
1.**Open the file**: `src/data/meetings.js`
174
+
2.**Choose the appropriate section**: Add your meeting to the `// General Office Hours`, `// Product Regular Meetings`, or `// One-time meetings` section
175
+
3.**Copy an existing meeting** as a template
176
+
4.**Update all fields** with your meeting information
177
+
5.**Set the correct category** using `MEETING_CATEGORIES.*`
178
+
6.**Define the recurrence** pattern or set to `null`
179
+
7.**Save the file** and build the project to verify
180
+
8.**Create a pull request** with your changes
181
+
182
+
:::caution Testing Your Changes
183
+
184
+
After adding a meeting, run the following commands to verify:
185
+
186
+
```bash
187
+
npm run build
188
+
npm run serve
189
+
```
190
+
191
+
Then navigate to `/community/open-meetings` and verify:
192
+
- ✅ Meeting appears in the correct category section
193
+
- ✅ Meeting shows in the calendar (if it has a recurrence)
194
+
- ✅ Times display correctly when switching timezones
0 commit comments