Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
11603b8
Initial implementation of tiny_teamsmeeting plugin for Moodle 4.1+
weilai-irl Nov 21, 2023
8ac86ae
Update README screenshots
weilai-irl Nov 21, 2023
5d43736
bug fix in relation to web service function definitions
weilai-irl Nov 21, 2023
3af0e2c
Error handling in edit_meeting web service function
weilai-irl Dec 7, 2023
30fb7e9
Update plugin release
weilai-irl Dec 7, 2023
f0ce313
Add missing file requires used to encode URL
weilai-irl Dec 7, 2023
51131f1
Setting correct WS parameter, resolves #2
lucaboesch Jan 31, 2024
ed06411
Capability tiny/teamsmeeting:add added resolves #4.
weilai-irl Jun 6, 2024
fb1c73f
Add Moodle plugin CI
weilai-irl Jun 6, 2024
c4008d9
Update version for v1.3 release
weilai-irl Jun 11, 2024
a817a17
Add language string for the new capability
weilai-irl Jun 11, 2024
3c34c4f
Update Moodle plugin CI configuration for Moodle 5.0 upgrade
weilai-irl Aug 15, 2025
6692b2a
Enhance security and context handling
kkrzyzaniak Sep 26, 2025
531e387
Change preview param type to allow options URL to be parsed
weilai-irl Oct 2, 2025
59267da
Update plugin version for 1.4 release
weilai-irl Oct 2, 2025
f97325e
add additional validation on options link URL
weilai-irl Oct 2, 2025
75c32de
Enhance security, upgrade web service function to avoid confusion
weilai-irl Oct 6, 2025
6841a57
bug fix in error display and situation where an event cannot be found
weilai-irl Oct 6, 2025
b575722
update action name to avoid confusion
weilai-irl Oct 6, 2025
8f3d9e3
Update how teams meeting links are toggled in inserted content to pre…
weilai-irl Mar 30, 2026
8a5af79
Add tiny_teamsmeeting plugin under lib/editor/tiny/plugins/teamsmeeting
weilai-irl May 26, 2026
b00e52b
Update Moodle plugin CI config files for tiny_teamsmeeting plugin
weilai-irl May 26, 2026
f1ad1fd
Fix Moodle plugin CI errors
weilai-irl May 26, 2026
a3b5da2
various bug fixes and improvements
weilai-irl May 27, 2026
eedd3e8
Update documentation
weilai-irl May 27, 2026
f2a956e
Update version for 5.1.2 release of tiny_teamsmeeting
weilai-irl May 27, 2026
94acfdf
Remove behat test
weilai-irl May 27, 2026
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
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
strategy:
fail-fast: false
matrix:
folder: [auth/oidc, blocks/microsoft, local/o365, local/office365, local/onenote, repository/office365, theme/boost_o365teams, mod/assign/feedback/onenote, mod/assign/submission/onenote]
folder: [auth/oidc, blocks/microsoft, local/o365, local/office365, local/onenote, repository/office365, theme/boost_o365teams, mod/assign/feedback/onenote, mod/assign/submission/onenote, lib/editor/tiny/plugins/teamsmeeting]
moodle-branch: ['MOODLE_501_STABLE']
php: [8.2, 8.3, 8.4]
database: [pgsql, mariadb]
Expand All @@ -59,6 +59,7 @@ jobs:
internal-deps: "local/onenote"
- folder: mod/assign/submission/onenote
internal-deps: "local/onenote"
- folder: lib/editor/tiny/plugins/teamsmeeting

steps:
- name: Check out sub repository code
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
*** PLEASE DO NOT OPEN PULL REQUESTS IN THIS REPO ***

This is a read-only repository for Moodle plugins directory release process. All developments are carried out in the main project repository at https://github.com/microsoft/o365-moodle. Please create your pull requests there.

Thank you.

--
126 changes: 126 additions & 0 deletions lib/editor/tiny/plugins/teamsmeeting/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: Moodle Plugin CI for tiny_teamsmeeting

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches:
- 'MOODLE_*_STABLE'
pull_request:

jobs:
check:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:15
env:
POSTGRES_USER: 'postgres'
POSTGRES_HOST_AUTH_METHOD: 'trust'
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3

mariadb:
image: mariadb:10.11
env:
MYSQL_USER: 'root'
MYSQL_ALLOW_EMPTY_PASSWORD: "true"
MYSQL_CHARACTER_SET_SERVER: "utf8mb4"
MYSQL_COLLATION_SERVER: "utf8mb4_unicode_ci"
MYSQL_INNODB_FILE_PER_TABLE: "1"
MYSQL_INNODB_FILE_FORMAT: "Barracuda"
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3

strategy:
fail-fast: false
matrix:
moodle-branch: ['MOODLE_501_STABLE']
php: [8.2, 8.3, 8.4]
database: [pgsql, mariadb]

steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
path: plugin

- name: Setup PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
ini-values: max_input_vars=5000
coverage: none

- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
sudo locale-gen en_AU.UTF-8
echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV

- name: Install moodle-plugin-ci
run: |
moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1
env:
DB: ${{ matrix.database }}
MOODLE_BRANCH: ${{ matrix.moodle-branch }}
SHELLOPTS: errexit:nounset:xtrace

- name: PHP Lint
if: ${{ !cancelled() }}
run: moodle-plugin-ci phplint

- name: PHP Mess Detector
continue-on-error: true
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpmd

- name: Moodle Code Checker
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpcs --max-warnings 0

- name: Moodle PHPDoc Checker
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpdoc --max-warnings 0

- name: Validating
if: ${{ !cancelled() }}
run: moodle-plugin-ci validate

- name: Check upgrade savepoints
if: ${{ !cancelled() }}
run: moodle-plugin-ci savepoints

- name: Mustache Lint
if: ${{ !cancelled() }}
run: moodle-plugin-ci mustache

- name: Grunt
if: ${{ !cancelled() }}
run: moodle-plugin-ci grunt --max-lint-warnings 0

- name: PHPUnit tests
if: ${{ !cancelled() }}
run: moodle-plugin-ci phpunit

- name: Behat features
id: behat
if: ${{ !cancelled() }}
run: moodle-plugin-ci behat --profile chrome

- name: Cleanup after behat
if: ${{ always() }}
run: |
sudo pkill -f chrome
sudo pkill -f chromedriver

- name: Mark cancelled jobs as failed.
if: ${{ cancelled() }}
run: exit 1
96 changes: 96 additions & 0 deletions lib/editor/tiny/plugins/teamsmeeting/.gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
services:
- name: selenium/standalone-chrome:4
alias: behat
- name: mysql:8.4
alias: db
command:
- '--character-set-server=utf8mb4'
- '--collation-server=utf8mb4_unicode_ci'
- '--innodb_file_per_table=On'
- '--wait-timeout=28800'
- '--skip-log-bin'

cache:
paths:
- .cache

variables:
DEBIAN_FRONTEND: 'noninteractive'
COMPOSER_ALLOW_SUPERUSER: 1
COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/.cache/composer"
NPM_CONFIG_CACHE: "$CI_PROJECT_DIR/.cache/npm"
CI_BUILD_DIR: '/tmp/plugin'
MOODLE_BRANCH: 'MOODLE_501_STABLE'
MOODLE_BEHAT_WWWROOT: 'http://localhost'
MOODLE_BEHAT_WDHOST: 'http://behat:4444/wd/hub'
MOODLE_START_BEHAT_SERVERS: 'no'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
DB: 'mysqli'

stages:
- moodle-plugin-ci

.setupandruncheck: &setupandruncheck
stage: moodle-plugin-ci
before_script:
- mkdir -pv "$CI_BUILD_DIR"
- cp -ru "$CI_PROJECT_DIR/"* "$CI_BUILD_DIR"
- mkdir -p /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man7
- apt-get -qq update
- apt-get -yqq install --no-install-suggests default-jre-headless default-mysql-client
- 'curl -sS https://raw.githubusercontent.com/creationix/nvm/v0.39.3/install.sh | bash'
- . ~/.bashrc
- nvm install --default --latest-npm lts/gallium
- 'curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer'
- composer create-project -n --no-dev --no-progress --no-ansi moodlehq/moodle-plugin-ci /opt/mci ^4
- export PATH="/opt/mci/bin:/opt/mci/vendor/bin:$PATH"
- export CONTAINER_IP=$(hostname -I | awk '{print $1}')
- export MOODLE_BEHAT_WWWROOT="http://${CONTAINER_IP}"
- moodle-plugin-ci install --db-host db --db-name moodle
- >
MOODLE_WEBROOT="$CI_PROJECT_DIR/moodle";
[ -d "${MOODLE_WEBROOT}/public" ] && MOODLE_WEBROOT="${MOODLE_WEBROOT}/public";
{ php -S 0.0.0.0:8000 -t "${MOODLE_WEBROOT}" >/dev/null 2>&1 & }
- >
for i in $(seq 1 30); do
curl -sf http://localhost:8000 >/dev/null 2>&1 && break;
echo "Waiting for PHP server... ($i/30)";
sleep 1;
done
- TXT_RED="\e[31m"

script:
- errors=()
- moodle-plugin-ci phplint || errors+=("phplint")
- moodle-plugin-ci phpmd || errors+=("phpmd")
- moodle-plugin-ci codechecker --max-warnings 0 || errors+=("codechecker")
- moodle-plugin-ci phpdoc --max-warnings 0 || errors+=("phpdoc")
- moodle-plugin-ci validate || errors+=("validate")
- moodle-plugin-ci savepoints || errors+=("savepoints")
- moodle-plugin-ci mustache || errors+=("mustache")
- moodle-plugin-ci grunt --max-lint-warnings 0 || errors+=("grunt")
- moodle-plugin-ci phpunit || errors+=("phpunit")
- moodle-plugin-ci behat --auto-rerun 1 --profile chrome || errors+=("behat")
- |-
if [ ${#errors[@]} -ne 0 ]; then
echo -e "${TXT_RED}Check errors: ${errors[@]}";
exit 1;
fi

php82:
tags:
- docker
image: moodlehq/moodle-php-apache:8.2
<<: *setupandruncheck

php83:
tags:
- docker
image: moodlehq/moodle-php-apache:8.3
<<: *setupandruncheck

php84:
tags:
- docker
image: moodlehq/moodle-php-apache:8.4
<<: *setupandruncheck
10 changes: 10 additions & 0 deletions lib/editor/tiny/plugins/teamsmeeting/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).

Resources:

- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)
Loading