Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,9 @@ npm/npmjs/-/d3-transition/3.0.1, ISC, approved, clearlydefined
npm/npmjs/-/d3-zoom/3.0.0, ISC, approved, clearlydefined
npm/npmjs/-/d3/7.9.0, ISC, approved, #14261
npm/npmjs/-/dagre-d3-es/7.0.11, MIT, approved, clearlydefined
npm/npmjs/-/date-arithmetic/4.1.0, MIT, approved, clearlydefined
npm/npmjs/-/date-fns-tz/3.2.0, MIT, approved, clearlydefined
npm/npmjs/-/date-fns/4.1.0, MIT, approved, clearlydefined
npm/npmjs/-/dayjs/1.11.18, MIT, approved, #9149
npm/npmjs/-/debounce/1.2.1, MIT, approved, clearlydefined
npm/npmjs/-/debug/2.6.9, MIT, approved, clearlydefined
Expand Down Expand Up @@ -319,6 +322,7 @@ npm/npmjs/-/glob-parent/6.0.2, ISC, approved, clearlydefined
npm/npmjs/-/glob-to-regex.js/1.1.0, Apache-2.0, approved, #23915
npm/npmjs/-/glob-to-regexp/0.4.1, BSD-2-Clause, approved, clearlydefined
npm/npmjs/-/global-dirs/3.0.1, MIT, approved, clearlydefined
npm/npmjs/-/globalize/0.1.1, (BSD-3-Clause OR GPL-2.0-only OR MIT) AND (GPL-2.0-only OR MIT), approved, #20658
npm/npmjs/-/globals/15.15.0, MIT, approved, clearlydefined
npm/npmjs/-/globby/11.1.0, MIT, approved, clearlydefined
npm/npmjs/-/globby/13.1.2, MIT, approved, #5753
Expand Down Expand Up @@ -482,6 +486,7 @@ npm/npmjs/-/loose-envify/1.4.0, MIT, approved, clearlydefined
npm/npmjs/-/lower-case/2.0.2, MIT, approved, clearlydefined
npm/npmjs/-/lowercase-keys/3.0.0, MIT, approved, clearlydefined
npm/npmjs/-/lru-cache/5.1.1, ISC, approved, clearlydefined
npm/npmjs/-/luxon/3.7.2, MIT, approved, clearlydefined
npm/npmjs/-/markdown-extensions/2.0.0, MIT, approved, clearlydefined
npm/npmjs/-/markdown-it/13.0.1, MIT, approved, clearlydefined
npm/npmjs/-/markdown-table/2.0.0, MIT, approved, clearlydefined
Expand Down Expand Up @@ -514,6 +519,7 @@ npm/npmjs/-/mdn-data/2.0.30, CC0-1.0, approved, clearlydefined
npm/npmjs/-/mdurl/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/media-typer/0.3.0, MIT, approved, clearlydefined
npm/npmjs/-/memfs/4.48.1, Apache-2.0, approved, #23929
npm/npmjs/-/memoize-one/6.0.0, MIT, approved, clearlydefined
npm/npmjs/-/merge-descriptors/1.0.3, MIT, approved, clearlydefined
npm/npmjs/-/merge-stream/2.0.0, MIT, approved, clearlydefined
npm/npmjs/-/merge2/1.4.1, MIT, approved, clearlydefined
Expand Down Expand Up @@ -577,6 +583,8 @@ npm/npmjs/-/minimalistic-assert/1.0.1, ISC, approved, clearlydefined
npm/npmjs/-/minimatch/3.1.2, ISC, approved, clearlydefined
npm/npmjs/-/minimist/1.2.8, MIT, approved, #5886
npm/npmjs/-/mlly/1.8.0, MIT, approved, #22998
npm/npmjs/-/moment-timezone/0.5.48, MIT, approved, CQ20043
npm/npmjs/-/moment/2.30.1, MIT, approved, clearlydefined
npm/npmjs/-/mrmime/2.0.1, MIT, approved, clearlydefined
npm/npmjs/-/ms/2.0.0, MIT, approved, clearlydefined
npm/npmjs/-/ms/2.1.3, MIT, approved, #5895
Expand Down Expand Up @@ -734,12 +742,15 @@ npm/npmjs/-/range-parser/1.2.0, MIT, approved, clearlydefined
npm/npmjs/-/range-parser/1.2.1, MIT, approved, clearlydefined
npm/npmjs/-/raw-body/2.5.2, MIT, approved, clearlydefined
npm/npmjs/-/rc/1.2.8, BSD-2-Clause OR (MIT OR Apache-2.0), approved, #1023
npm/npmjs/-/react-big-calendar/1.19.4, MIT AND (BSD-3-Clause AND MIT), approved, #24522
npm/npmjs/-/react-dom/18.3.1, MIT, approved, clearlydefined
npm/npmjs/-/react-fast-compare/3.2.2, MIT, approved, clearlydefined
npm/npmjs/-/react-is/16.13.1, MIT, approved, clearlydefined
npm/npmjs/-/react-is/19.2.0, MIT, approved, clearlydefined
npm/npmjs/-/react-json-view-lite/2.5.0, MIT, approved, #23927
npm/npmjs/-/react-lifecycles-compat/3.0.4, MIT, approved, clearlydefined
npm/npmjs/-/react-loadable-ssr-addon-v5-slorber/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/react-overlays/5.2.1, MIT, approved, clearlydefined
npm/npmjs/-/react-router-config/5.1.1, MIT, approved, clearlydefined
npm/npmjs/-/react-router-dom/5.3.4, MIT AND BSD-3-Clause, approved, #3023
npm/npmjs/-/react-router/5.3.4, MIT AND BSD-3-Clause AND CC-BY-4.0, approved, #3024
Expand Down Expand Up @@ -900,6 +911,7 @@ npm/npmjs/-/type-is/1.6.18, MIT, approved, clearlydefined
npm/npmjs/-/typedarray-to-buffer/3.1.5, MIT, approved, clearlydefined
npm/npmjs/-/uc.micro/1.0.6, MIT, approved, #1022
npm/npmjs/-/ufo/1.6.1, MIT, approved, clearlydefined
npm/npmjs/-/uncontrollable/7.2.1, MIT AND BSD-3-Clause, approved, #3025
npm/npmjs/-/undici-types/7.13.0, MIT, approved, clearlydefined
npm/npmjs/-/unicode-canonical-property-names-ecmascript/2.0.1, MIT, approved, #19200
npm/npmjs/-/unicode-emoji-modifier-base/1.0.0, MIT, approved, clearlydefined
Expand Down Expand Up @@ -938,6 +950,7 @@ npm/npmjs/-/vscode-languageserver-textdocument/1.0.12, MIT, approved, #2677
npm/npmjs/-/vscode-languageserver-types/3.17.5, MIT, approved, #2564
npm/npmjs/-/vscode-languageserver/9.0.1, MIT AND LGPL-2.1-or-later, approved, #10662
npm/npmjs/-/vscode-uri/3.0.8, MIT, approved, #5741
npm/npmjs/-/warning/4.0.3, MIT, approved, CQ22359
npm/npmjs/-/watchpack/2.4.4, MIT, approved, clearlydefined
npm/npmjs/-/wbuf/1.7.3, MIT, approved, clearlydefined
npm/npmjs/-/web-namespaces/2.0.1, MIT, approved, clearlydefined
Expand Down Expand Up @@ -1258,6 +1271,7 @@ npm/npmjs/@pnpm/network.ca-file/1.0.2, MIT, approved, clearlydefined
npm/npmjs/@pnpm/npm-conf/2.3.1, MIT AND ISC, approved, #16190
npm/npmjs/@polka/url/1.0.0-next.29, MIT, approved, #16183
npm/npmjs/@popperjs/core/2.11.8, MIT, approved, clearlydefined
npm/npmjs/@restart/hooks/0.4.16, MIT, approved, #7049
npm/npmjs/@rspack/binding-darwin-arm64/1.5.8, MIT, approved, #23001
npm/npmjs/@rspack/binding-darwin-x64/1.5.8, MIT, approved, #23019
npm/npmjs/@rspack/binding-linux-arm64-gnu/1.5.8, MIT, approved, #23023
Expand Down Expand Up @@ -1401,6 +1415,7 @@ npm/npmjs/@types/sockjs/0.3.36, MIT, approved, #10984
npm/npmjs/@types/trusted-types/2.0.7, MIT, approved, clearlydefined
npm/npmjs/@types/unist/2.0.11, MIT, approved, clearlydefined
npm/npmjs/@types/unist/3.0.3, MIT, approved, clearlydefined
npm/npmjs/@types/warning/3.0.3, MIT, approved, #10988
npm/npmjs/@types/ws/8.18.1, MIT, approved, #19981
npm/npmjs/@types/yargs-parser/21.0.3, MIT, approved, clearlydefined
npm/npmjs/@types/yargs/17.0.33, MIT, approved, #7054
Expand Down
166 changes: 166 additions & 0 deletions community/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,169 @@ our [contributing guide](https://eclipse-tractusx.github.io/docs/oss/how-to-cont
- __For cross-product alignments__ the Catena-X Association is currently preparing various committees to support the
coordination of the open-source products and repositories. The goal of a committee is to discuss, define and create a
common vision, roadmap, standards, architecture, KITs, etc.

## How to Create Open Meetings

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.

:::tip Quick Start

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).

:::

### Meeting Structure

Each meeting is defined as a JavaScript object with the following properties:

:::note Required Fields

- **`id`** (string): Unique identifier for the meeting (use kebab-case, e.g., `'my-new-meeting'`)
- **`title`** (string): Display name of the meeting
- **`category`** (string): Use `MEETING_CATEGORIES.GENERAL`, `MEETING_CATEGORIES.PRODUCT`, or `MEETING_CATEGORIES.ONE_TIME`
- **`description`** (string): Brief description of the meeting's purpose
- **`contact`** (string): Email address of the meeting organizer

:::

:::note Optional Fields

- **`sessionLink`** (string): URL to join the meeting (Teams, Zoom, etc.)
- **`additionalLinks`** (array): Additional resources like taskboards, repositories, or documentation
- Each link is an object with `title` and `url` properties
- **`recurrence`** (object): Meeting schedule rules (set to `null` for on-demand meetings)

:::

### Recurrence Patterns

The `recurrence` object defines when and how often a meeting occurs:

:::info Weekly Meetings

```javascript
recurrence: {
frequency: 'weekly',
interval: 1, // Every week (use 2 for bi-weekly, 3 for tri-weekly, etc.)
daysOfWeek: ['monday'], // Can be multiple days: ['monday', 'wednesday']
startTime: '10:00', // 24-hour format in Europe/Berlin timezone
endTime: '11:00',
validFrom: '2025-01-01', // Optional: when this schedule starts
validUntil: '2025-12-31', // Optional: when this schedule ends
}
```

:::

:::info Daily Meetings

```javascript
recurrence: {
frequency: 'daily',
interval: 1,
daysOfWeek: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'], // Weekdays only
startTime: '09:00',
endTime: '09:30',
validFrom: '2025-11-04',
validUntil: '2025-11-21',
}
```

:::

:::info One-Time Meetings

```javascript
recurrence: {
frequency: 'once',
startDate: '2025-12-15', // ISO format: YYYY-MM-DD
startTime: '14:00',
endTime: '15:30',
}
```

:::

:::info On-Demand Meetings

For meetings without a fixed schedule, set `recurrence` to `null`. These meetings will appear in the list but not in the calendar.

```javascript
recurrence: null
```

:::

### Complete Example

Here's a complete example of adding a new weekly product meeting:

```javascript
{
id: 'my-product-weekly',
title: 'My Product Weekly Sync',
category: MEETING_CATEGORIES.PRODUCT,
description: 'Weekly synchronization meeting for My Product development team. We discuss progress, blockers, and upcoming features.',
contact: '[email protected]',
sessionLink: 'https://teams.microsoft.com/l/meetup-join/...',
additionalLinks: [
{ title: 'Product Roadmap', url: 'https://github.com/org/project/roadmap' },
{ title: 'Issue Tracker', url: 'https://github.com/org/project/issues' },
{ title: 'Documentation', url: 'https://docs.example.com/my-product' },
],
recurrence: {
frequency: 'weekly',
interval: 1,
daysOfWeek: ['thursday'],
startTime: '15:00',
endTime: '16:00',
},
}
```

### Category Colors

Meetings are color-coded in the calendar based on their category:

- 🔵 **General Office Hours** (`MEETING_CATEGORIES.GENERAL`) - Blue
- 🟢 **Product Meetings** (`MEETING_CATEGORIES.PRODUCT`) - Green
- 🟠 **One-time Meetings** (`MEETING_CATEGORIES.ONE_TIME`) - Orange

### Timezone Information

:::warning Important

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.

- Winter time (CET): UTC+1
- Summer time (CEST): UTC+2

:::

### Step-by-Step Guide

1. **Open the file**: `src/data/meetings.js`
2. **Choose the appropriate section**: Add your meeting to the `// General Office Hours`, `// Product Regular Meetings`, or `// One-time meetings` section
3. **Copy an existing meeting** as a template
4. **Update all fields** with your meeting information
5. **Set the correct category** using `MEETING_CATEGORIES.*`
6. **Define the recurrence** pattern or set to `null`
7. **Save the file** and build the project to verify
8. **Create a pull request** with your changes

:::caution Testing Your Changes

After adding a meeting, run the following commands to verify:

```bash
npm run build
npm run serve
```

Then navigate to `/community/open-meetings` and verify:
- ✅ Meeting appears in the correct category section
- ✅ Meeting shows in the calendar (if it has a recurrence)
- ✅ Times display correctly when switching timezones
- ✅ All links work correctly

:::
Loading