diff --git a/CODEOWNERS b/CODEOWNERS index 5a6eb35e9..a46536b99 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -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 diff --git a/data/wp_versions.json b/data/workplace/versions.json similarity index 99% rename from data/wp_versions.json rename to data/workplace/versions.json index f6f2c944d..5532e6ca5 100644 --- a/data/wp_versions.json +++ b/data/workplace/versions.json @@ -1,5 +1,5 @@ { - "$schema": "../static/schema/wp_versions.json", + "$schema": "../static/schema/workplace/versions.json", "versions": [ { "name": "5.1", diff --git a/general/_wp_releases/1680px-workplace_releases_timeline.png b/general/workplace/releases/_index/1680px-workplace_releases_timeline.png similarity index 100% rename from general/_wp_releases/1680px-workplace_releases_timeline.png rename to general/workplace/releases/_index/1680px-workplace_releases_timeline.png diff --git a/general/wp_releases.md b/general/workplace/releases/index.md similarity index 68% rename from general/wp_releases.md rename to general/workplace/releases/index.md index 33ac75761..6e8e8b169 100644 --- a/general/wp_releases.md +++ b/general/workplace/releases/index.md @@ -7,8 +7,7 @@ tags: -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. @@ -24,7 +23,7 @@ These are the target dates for releases. These dates may vary slightly due to un Release - + Moodle Workplace @@ -34,15 +33,15 @@ These are the target dates for releases. These dates may vary slightly due to un Release type Frequency - Release - Includes + Release + Includes Release Includes - [Major](./development/process.md#major-release-cycles) (eg. 3.x) + [Major](../../development/process.md#major-release-cycles) (eg. 3.x) 6 monthly 3-4 weeks after Moodle LMS major New features, improvements and bug fixes (Moodle LMS and Workplace) @@ -50,7 +49,7 @@ These are the target dates for releases. These dates may vary slightly due to un New features, Improvements and fixes - [Minor](./development/process.md#stable-maintenance-cycles) (Point) (eg. 3.x.y) + [Minor](../../development/process.md#stable-maintenance-cycles) (Point) (eg. 3.x.y) 2 monthly 1 day after Moodle LMS minor Workplace new features, improvements and bug fixes and Moodle LMS fixes @@ -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 - +
## Moodle Workplace 5.1 Rolling - +
## Moodle Workplace 5.1 - +
## Moodle Workplace 5.0 Rolling - +
## Moodle Workplace 5.0 - +
## Moodle Workplace 4.5 Rolling - +
## Moodle Workplace 4.5 (LTS) - +
## Moodle Workplace 4.4 Rolling - +
## Moodle Workplace 4.4 - +
## Moodle Workplace 4.3 Rolling - +
## Moodle Workplace 4.3 - +
## Moodle Workplace 4.2 Rolling - +
## Moodle Workplace 4.2 - +
## Moodle Workplace 4.1 Rolling - +
## Moodle Workplace 4.1 (LTS) - +
## Moodle Workplace 4.0 - +
## Moodle Workplace 3.11 - +
## Moodle Workplace 3.10 - +
## Moodle Workplace 3.9 - +
## Moodle Workplace 3.8 - +
## Moodle Workplace 3.7 - + diff --git a/scripts/wp_version.mjs b/scripts/wp_version.mjs index 3be1daed2..84217ab7d 100644 --- a/scripts/wp_version.mjs +++ b/scripts/wp_version.mjs @@ -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, @@ -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', { @@ -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 = ''; const newRelease = content.replace( pointer, - `${pointer}\n
\n## ${releaseName}\n\n`, + `${pointer}\n
\n## ${releaseName}\n\n`, ); - await writeFile('./general/wp_releases.md', newRelease, 'utf8'); + await writeFile('./general/workplace/releases/index.md', newRelease, 'utf8'); }; const addMajorRelease = async ( diff --git a/sidebars/general.js b/sidebars/general.js index 4ad9ea3de..6df2214bf 100644 --- a/sidebars/general.js +++ b/sidebars/general.js @@ -201,7 +201,7 @@ const sidebars = { }, { type: 'doc', - id: 'wp_releases', + id: 'workplace/releases/index', label: 'Moodle Workplace Releases', }, ], diff --git a/src/components/ReleaseTableWP/index.tsx b/src/components/Workplace/ReleaseTable/index.tsx similarity index 95% rename from src/components/ReleaseTableWP/index.tsx rename to src/components/Workplace/ReleaseTable/index.tsx index e55f79460..e25ee2141 100755 --- a/src/components/ReleaseTableWP/index.tsx +++ b/src/components/Workplace/ReleaseTable/index.tsx @@ -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'; @@ -54,7 +54,7 @@ const releaseNoteLink = ( return {label}; }; -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; diff --git a/src/components/SupportedReleasesWP/index.tsx b/src/components/Workplace/SupportedReleases/index.tsx similarity index 96% rename from src/components/SupportedReleasesWP/index.tsx rename to src/components/Workplace/SupportedReleases/index.tsx index b1fc29167..1363488f5 100644 --- a/src/components/SupportedReleasesWP/index.tsx +++ b/src/components/Workplace/SupportedReleases/index.tsx @@ -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) => { diff --git a/src/components/SupportedReleasesWP/styles.module.css b/src/components/Workplace/SupportedReleases/styles.module.css similarity index 100% rename from src/components/SupportedReleasesWP/styles.module.css rename to src/components/Workplace/SupportedReleases/styles.module.css diff --git a/src/components/Workplace/index.tsx b/src/components/Workplace/index.tsx new file mode 100644 index 000000000..85adb936f --- /dev/null +++ b/src/components/Workplace/index.tsx @@ -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 . + */ + +export { default as ReleaseTable } from './ReleaseTable'; +export { default as SupportedReleases, styles as SupportedReleasesStyles } from './SupportedReleases'; diff --git a/src/utils/SupportedReleasesWP.ts b/src/utils/Workplace/SupportedReleases.ts similarity index 98% rename from src/utils/SupportedReleasesWP.ts rename to src/utils/Workplace/SupportedReleases.ts index 95886e13f..4c9d7aee1 100644 --- a/src/utils/SupportedReleasesWP.ts +++ b/src/utils/Workplace/SupportedReleases.ts @@ -15,7 +15,7 @@ * along with Moodle. If not, see . */ -import VersionData from '@site/data/wp_versions.json'; +import VersionData from '@site/data/workplace/versions.json'; const Versions = VersionData.versions; const today = new Date(); diff --git a/static/schema/wp_versions.json b/static/schema/workplace/versions.json similarity index 98% rename from static/schema/wp_versions.json rename to static/schema/workplace/versions.json index 5a2a23e3c..cebbde213 100644 --- a/static/schema/wp_versions.json +++ b/static/schema/workplace/versions.json @@ -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": {