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
8 changes: 8 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@
# Design System
/general/designsystem/ @moodle/design-system

# Workplace team have complete autonomy over Workplace content.
/data/workplace/ @moodle/workplace
/general/workplace/ @moodle/workplace
/scripts/wp_version.mjs @moodle/workplace
/src/components/workplace/ @moodle/workplace
/src/utils/workplace/ @moodle/workplace
/static/schema/workplace/ @moodle/workplace

# Content Guideline Owners
/general/contentguidelines/ @moodle/content-authors

Expand Down
2 changes: 1 addition & 1 deletion data/wp_versions.json → data/workplace/versions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "../static/schema/wp_versions.json",
"$schema": "../static/schema/workplace/versions.json",
"versions": [
{
"name": "5.1",
Expand Down
57 changes: 28 additions & 29 deletions general/wp_releases.md → general/workplace/releases/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ tags:

<!-- markdownlint-disable no-inline-html -->

import SupportedReleasesWP, { styles as ReleaseStylesWP } from '@site/src/components/SupportedReleasesWP';
import ReleaseTableWP from '@site/src/components/ReleaseTableWP';
import { ReleaseTable, SupportedReleases, SupportedReleasesStyles } from '@site/src/components/Workplace';

This page lists all official releases of Moodle Workplace, grouped by branch in reverse chronological order.

Expand All @@ -24,7 +23,7 @@ These are the target dates for releases. These dates may vary slightly due to un
<th colSpan="2" scope="col">
Release
</th>
<th colSpan="2" scope="col" className={ReleaseStylesWP['moodle-workplace-release']}>
<th colSpan="2" scope="col" className={SupportedReleasesStyles['moodle-workplace-release']}>
Moodle Workplace
</th>
<th colSpan="2" scope="col">
Expand All @@ -34,23 +33,23 @@ These are the target dates for releases. These dates may vary slightly due to un
<tr>
<th scope="col"> Release type </th>
<th scope="col"> Frequency </th>
<th scope="col" className={ReleaseStylesWP['moodle-workplace-release']}> Release </th>
<th scope="col" className={ReleaseStylesWP['moodle-workplace-release']}> Includes </th>
<th scope="col" className={SupportedReleasesStyles['moodle-workplace-release']}> Release </th>
<th scope="col" className={SupportedReleasesStyles['moodle-workplace-release']}> Includes </th>
<th scope="col"> Release </th>
<th scope="col"> Includes</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Major](./development/process.md#major-release-cycles) (eg. 3.x)</td>
<td>[Major](../../development/process.md#major-release-cycles) (eg. 3.x)</td>
<td>6 monthly</td>
<td>3-4 weeks after Moodle LMS major</td>
<td>New features, improvements and bug fixes (Moodle LMS and Workplace)</td>
<td>April and October</td>
<td>New features, Improvements and fixes</td>
</tr>
<tr>
<td>[Minor](./development/process.md#stable-maintenance-cycles) (Point) (eg. 3.x.y)</td>
<td>[Minor](../../development/process.md#stable-maintenance-cycles) (Point) (eg. 3.x.y)</td>
<td>2 monthly</td>
<td>1 day after Moodle LMS minor</td>
<td>Workplace new features, improvements and bug fixes and Moodle LMS fixes</td>
Expand All @@ -65,89 +64,89 @@ Starting from 4.1 release, we package two Workplace versions in every release:
- **Standard version**: no new features in minor releases, this version is supported for bug fixes and security fixes while the corresponding version of LMS is supported
- **Rolling version**: features are added continuously up until the new major release of LMS, after that it has bug fixes for four more months and then support stops completely (which is approximately 3 months after the next Workplace major release).

![Release graph summarising the currently supported Workplace releases in a visual form](_wp_releases/1680px-workplace_releases_timeline.png)
![Release graph summarising the currently supported Workplace releases in a visual form](_index/1680px-workplace_releases_timeline.png)

### End-of-life dates for currently supported releases

<SupportedReleasesWP />
<SupportedReleases />

<!-- START RELEASES -->
<br />
## Moodle Workplace 5.1 Rolling
<ReleaseTableWP releaseName="5.1" isRolling/>
<ReleaseTable releaseName="5.1" isRolling/>

<br />
## Moodle Workplace 5.1
<ReleaseTableWP releaseName="5.1" />
<ReleaseTable releaseName="5.1" />

<br />
## Moodle Workplace 5.0 Rolling
<ReleaseTableWP releaseName="5.0" isRolling/>
<ReleaseTable releaseName="5.0" isRolling/>

<br />
## Moodle Workplace 5.0
<ReleaseTableWP releaseName="5.0" />
<ReleaseTable releaseName="5.0" />

<br />
## Moodle Workplace 4.5 Rolling
<ReleaseTableWP releaseName="4.5" isRolling/>
<ReleaseTable releaseName="4.5" isRolling/>

<br />
## Moodle Workplace 4.5 (LTS)
<ReleaseTableWP releaseName="4.5" />
<ReleaseTable releaseName="4.5" />

<br />
## Moodle Workplace 4.4 Rolling
<ReleaseTableWP releaseName="4.4" isRolling/>
<ReleaseTable releaseName="4.4" isRolling/>

<br />
## Moodle Workplace 4.4
<ReleaseTableWP releaseName="4.4" />
<ReleaseTable releaseName="4.4" />

<br />
## Moodle Workplace 4.3 Rolling
<ReleaseTableWP releaseName="4.3" isRolling/>
<ReleaseTable releaseName="4.3" isRolling/>

<br />
## Moodle Workplace 4.3
<ReleaseTableWP releaseName="4.3" />
<ReleaseTable releaseName="4.3" />

<br />
## Moodle Workplace 4.2 Rolling
<ReleaseTableWP releaseName="4.2" isRolling/>
<ReleaseTable releaseName="4.2" isRolling/>

<br />
## Moodle Workplace 4.2
<ReleaseTableWP releaseName="4.2"/>
<ReleaseTable releaseName="4.2"/>

<br />
## Moodle Workplace 4.1 Rolling
<ReleaseTableWP releaseName="4.1" isRolling/>
<ReleaseTable releaseName="4.1" isRolling/>

<br />
## Moodle Workplace 4.1 (LTS)
<ReleaseTableWP releaseName="4.1"/>
<ReleaseTable releaseName="4.1"/>

<br />
## Moodle Workplace 4.0
<ReleaseTableWP releaseName="4.0"/>
<ReleaseTable releaseName="4.0"/>

<br />
## Moodle Workplace 3.11
<ReleaseTableWP releaseName="3.11"/>
<ReleaseTable releaseName="3.11"/>

<br />
## Moodle Workplace 3.10
<ReleaseTableWP releaseName="3.10"/>
<ReleaseTable releaseName="3.10"/>

<br />
## Moodle Workplace 3.9
<ReleaseTableWP releaseName="3.9"/>
<ReleaseTable releaseName="3.9"/>

<br />
## Moodle Workplace 3.8
<ReleaseTableWP releaseName="3.8"/>
<ReleaseTable releaseName="3.8"/>

<br />
## Moodle Workplace 3.7
<ReleaseTableWP releaseName="3.7"/>
<ReleaseTable releaseName="3.7"/>
10 changes: 5 additions & 5 deletions scripts/wp_version.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { program } from 'commander';
import { readFile, writeFile } from 'fs/promises';
import inquirer from 'inquirer';

const versionData = JSON.parse(await readFile('./data/wp_versions.json'));
const versionData = JSON.parse(await readFile('./data/workplace/versions.json'));

const getMajorVersionFromData = (majorVersion, isRollingVersion) => versionData.versions.find(
(version) => version.name === majorVersion && version.isRolling === isRollingVersion,
Expand All @@ -43,7 +43,7 @@ const updateMinorVersionWithData = (majorVersion, minorVersion, data) => {
};

const persistVersionData = async () => {
await writeFile('./data/wp_versions.json', JSON.stringify(versionData, null, 4));
await writeFile('./data/workplace/versions.json', JSON.stringify(versionData, null, 4));
};

const getFormatter = (options = {}) => new Intl.DateTimeFormat('en-AU', {
Expand Down Expand Up @@ -410,13 +410,13 @@ const addReleaseMarkdown = async (name, isRolling, isLTS) => {
releaseName = `${releaseName} Rolling`;
isRollingRelease = 'isRolling';
}
const content = await readFile('./general/wp_releases.md', 'utf8');
const content = await readFile('./general/workplace/releases/index.md', 'utf8');
const pointer = '<!-- START RELEASES -->';
const newRelease = content.replace(
pointer,
`${pointer}\n<br />\n## ${releaseName}\n<ReleaseTableWP releaseName="${name}" ${isRollingRelease}/>\n`,
`${pointer}\n<br />\n## ${releaseName}\n<ReleaseTable releaseName="${name}" ${isRollingRelease}/>\n`,
);
await writeFile('./general/wp_releases.md', newRelease, 'utf8');
await writeFile('./general/workplace/releases/index.md', newRelease, 'utf8');
};

const addMajorRelease = async (
Expand Down
2 changes: 1 addition & 1 deletion sidebars/general.js
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ const sidebars = {
},
{
type: 'doc',
id: 'wp_releases',
id: 'workplace/releases/index',
label: 'Moodle Workplace Releases',
},
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import React from 'react';
import { MDXProvider } from '@mdx-js/react';
import {
getVersion, getVersionTitle, type versionInfo, getReleaseStatus,
} from '@site/src/utils/SupportedReleasesWP';
} from '@site/src/utils/Workplace/SupportedReleases';
import Link from '@docusaurus/Link';
import Admonition from '@theme/Admonition';

Expand Down Expand Up @@ -54,7 +54,7 @@ const releaseNoteLink = (
return <Link to={linkTo}>{label}</Link>;
};

export default function ReleaseTableWP({ releaseName, isRolling = false }: ReleaseTableProps): JSX.Element {
export default function ReleaseTable({ releaseName, isRolling = false }: ReleaseTableProps): JSX.Element {
const rows = getVersion(releaseName, isRolling);
const impAndNewFeatEndDate = isRolling ? rows.improvementsandnewfeaturesEndDate : rows.generalEndDate;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ import {
getLatestRelease,
getReleaseStatusLabel,
getVersionLabel,
} from '@site/src/utils/SupportedReleasesWP';
} from '@site/src/utils/Workplace/SupportedReleases';

export {
styles,
};

export default function SupportedReleasesWP(): JSX.Element {
export default function SupportedReleases(): JSX.Element {
const rows = getSupportedReleases()
.filter((versionData: majorVersionData) => versionData.hidden !== true)
.map((versionData: majorVersionData) => {
Expand Down
19 changes: 19 additions & 0 deletions src/components/Workplace/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
* Copyright (c) Moodle Pty Ltd.
*
* Moodle is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Moodle is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Moodle. If not, see <http://www.gnu.org/licenses/>.
*/

export { default as ReleaseTable } from './ReleaseTable';
export { default as SupportedReleases, styles as SupportedReleasesStyles } from './SupportedReleases';
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* along with Moodle. If not, see <http://www.gnu.org/licenses/>.
*/

import VersionData from '@site/data/wp_versions.json';
import VersionData from '@site/data/workplace/versions.json';

const Versions = VersionData.versions;
const today = new Date();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "JSON schema for the Moodle Workplace Release Data",
"$id": "https://moodledev.io/schema/wp_versions.json",
"$id": "https://moodledev.io/schema/workplace/versions.json",
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "object",
"properties": {
Expand Down
Loading