diff --git a/files/issue-template/session.yml b/files/issue-template/breakouts-day.yml similarity index 83% rename from files/issue-template/session.yml rename to files/issue-template/breakouts-day.yml index 46e2cd4..4f77840 100644 --- a/files/issue-template/session.yml +++ b/files/issue-template/breakouts-day.yml @@ -38,18 +38,6 @@ body: validations: required: false - - type: dropdown - id: attendance - attributes: - label: Who can attend - description: | - TPAC breakouts sessions are usually open to the public (including remote attendees). Please only select “Restricted” if there is a compelling reason why the session should only be open to TPAC registrants. - options: - - Anyone may attend (Default) - - Restricted to TPAC registrants - validations: - required: true - - type: markdown attributes: value: | @@ -89,7 +77,7 @@ body: attributes: label: Instructions for meeting planners (Optional) description: | - Any information for the meeting planners, including [timing constraints](https://github.com/w3c/tpac2024-breakouts/wiki/Breakout%E2%80%90time%E2%80%90slots) or groups not yet registered where overlap should be avoided. This information will not be exported to the event site or calendar. + Any information for the meeting planners, including timing constraints or groups not yet registered where overlap should be avoided. This information will not be exported to the event site or calendar. validations: required: false diff --git a/files/issue-template/meeting.yml b/files/issue-template/groups.yml similarity index 100% rename from files/issue-template/meeting.yml rename to files/issue-template/groups.yml diff --git a/files/issue-template/tpac-breakouts.yml b/files/issue-template/tpac-breakouts.yml new file mode 100644 index 0000000..918f72a --- /dev/null +++ b/files/issue-template/tpac-breakouts.yml @@ -0,0 +1,112 @@ +name: Session proposal +description: Propose to chair a breakout session +labels: ["session"] +body: +# This repo includes code that validates instances of the data below. +# The validation code parses this file and uses "id" for some aspects of validation. +# One implication is that labels below can be changed without disrupting some of the validation code. +# However, the validation code in some cases also matches on values of "options" below, so if those change, +# you will need to change the validation code as well. + + - type: markdown + attributes: + value: | + Thank you for proposing to chair a TPAC breakout session. Please ensure that the session is [in scope for a breakout](https://github.com/w3c/tpac-breakouts/wiki/Policies#session-scope) and review the [good practices for session chairs](https://github.com/w3c/tpac-breakouts/wiki/Good-Practices-for-Session-Chairs), which includes information about [how you can later update your session](https://github.com/w3c/tpac-breakouts/wiki/Good-Practices-for-Session-Chairs#how-to-update-a-session). + + - type: textarea + id: description + attributes: + label: Session description + description: | + Simple markdown only please (inline formatting, links, lists). + validations: + required: true + + - type: input + id: goal + attributes: + label: Session goal + validations: + required: true + + - type: textarea + id: chairs + attributes: + label: Additional session chairs (Optional) + description: | + GitHub identities of additional session chairs other than you (e.g., `@tidoust, @ianbjacobs`). Space- or comma-separated list. + validations: + required: false + + - type: dropdown + id: attendance + attributes: + label: Who can attend + description: | + TPAC breakouts sessions are usually open to the public (including remote attendees). Please only select “Restricted” if there is a compelling reason why the session should only be open to TPAC registrants. + options: + - Anyone may attend (Default) + - Restricted to TPAC registrants + validations: + required: true + + - type: markdown + attributes: + value: | + ## Logistics + + - type: markdown + attributes: + value: | + > [!Note] + The meeting planners will provide additional logistics information automatically, including calendar information. + + - type: input + id: shortname + attributes: + label: IRC channel (Optional) + description: | + Shortname for the irc.w3.org channel (e.g., `#my-fav-session`). If not provided, shortname will be generated from title. + validations: + required: false + + - type: markdown + attributes: + value: | + ## Preferences + + - type: textarea + id: conflicts + attributes: + label: Other sessions where we should avoid scheduling conflicts (Optional) + description: | + Identify sessions by their issue number in this GitHub repo (e.g., `#32, #18`). Please do not use links, just '#' followed by an issue number. Space- or comma-separated list. Note: When someone chairs 2 or more sessions, we automatically do not schedule those sessions in the same slots, so there is no need to note those conflicts there. + validations: + required: false + + - type: textarea + id: comments + attributes: + label: Instructions for meeting planners (Optional) + description: | + Any information for the meeting planners, including timing constraints or groups not yet registered where overlap should be avoided. This information will not be exported to the event site or calendar. + validations: + required: false + + - type: markdown + attributes: + value: | + ## Agenda + + - type: textarea + id: agenda + attributes: + label: Agenda for the meeting. + description: | + This part may be completed closer to the meeting. As the agenda becomes available, you will be able to update your session description in markdown to **detail the agenda or link to an external agenda**. Agenda information will be pushed to the calendar. + + - type: markdown + attributes: + value: | + > [!Note] + After the meeting, the meeting planners will add a section to the session description for meeting materials such as links to minutes, presentations, and any recordings. diff --git a/tools/appscript/project.mjs b/tools/appscript/project.mjs index b897a51..4129c42 100644 --- a/tools/appscript/project.mjs +++ b/tools/appscript/project.mjs @@ -156,10 +156,21 @@ export function getProject(spreadsheet) { }); } + const eventType = getSetting('Type', 'TPAC breakouts'); + let projectType; + if (eventType === 'TPAC group meetings') { + projectType = 'groups'; + } + else if (eventType === 'TPAC breakouts') { + projectType = 'tpac-breakouts'; + } + else { + projectType = 'breakouts-day'; + } const project = { title: spreadsheet.getName(), metadata: { - type: getSetting('Type', 'breakouts'), + type: projectType, timezone: getSetting('Timezone', 'Etc/UTC'), calendar: getSetting('Sync with W3C calendar', 'no'), rooms: getSetting('Show rooms in calendar') === 'no' ? 'hide' : 'show', diff --git a/tools/node/create-event.mjs b/tools/node/create-event.mjs index cedd212..6e4e01b 100644 --- a/tools/node/create-event.mjs +++ b/tools/node/create-event.mjs @@ -124,8 +124,7 @@ export default async function (jsonfile, options) { const templateDest = path.join(repo.name, '.github', 'ISSUE_TEMPLATE'); await fs.mkdir(templateDest, { recursive: true }); await fs.copyFile( - path.join(templateSource, - project.metadata.type === 'group' ? 'meeting.yml' : 'session.yml'), + path.join(templateSource, project.metadata.type + '.yml'), path.join(templateDest, 'session.yml') );