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
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Development-only paths are stripped from the released package produced by
# `git archive` (the zip the Moodle Plugins Directory builds). They are kept in
# the repository for CI and contributors, but are not part of the shipped plugin.
#
# tests/ is deliberately NOT excluded: Moodle plugins ship their tests so a site
# can run them under its own PHPUnit/Behat, matching core convention.
/.github/ export-ignore
/.claude/ export-ignore
/docs/ export-ignore
/tools/ export-ignore
/.gitignore export-ignore
/.gitattributes export-ignore
28 changes: 26 additions & 2 deletions .github/workflows/moodle-plugin-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,27 @@ jobs:
--health-timeout=5s
--health-retries=3

postgres:
image: postgres:14
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

strategy:
fail-fast: false
matrix:
php: ['8.1', '8.2', '8.3']
moodle-branch: ['MOODLE_405_STABLE']
database: ['mariadb']
# Both engines are exercised: a PostgreSQL failure is a Plugins-directory
# approval blocker, so it must run in CI, not just MariaDB.
database: ['mariadb', 'pgsql']

steps:
- name: Check out plugin
Expand All @@ -46,6 +61,13 @@ jobs:
ini-values: max_input_vars=5000
coverage: pcov

# Moodle 4.5's Grunt toolchain requires Node 22; needed for the grunt step
# (rebuilds amd/src -> amd/build and fails if the committed artifacts differ).
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'

- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist \
Expand Down Expand Up @@ -130,6 +152,8 @@ jobs:
run: moodle-plugin-ci behat --profile chrome

- name: Coverage gate (overall 85% / get_my_videos 90%)
if: ${{ !cancelled() && matrix.php == '8.3' }}
# One representative job only — coverage is DB-independent, so it need
# not run on every (php, database) combination.
if: ${{ !cancelled() && matrix.php == '8.3' && matrix.database == 'mariadb' }}
working-directory: plugin
run: bash tools/coverage.sh
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
All notable changes to **tiny_fastpix** (FastPix video for TinyMCE) are documented
here. This project follows [Semantic Versioning](https://semver.org/).

## Unreleased

### Added
- **Search box in the picker.** The modal now has a search field that filters the
listed videos by title as you type. It is a client-side filter over the
already-loaded, course-scoped list — no extra web service call.
- **Usage events.** The picker now records two Moodle events for the site log:
`\tiny_fastpix\event\picker_opened` (fired when the picker loads its list) and
`\tiny_fastpix\event\shortcode_inserted` (fired when an author inserts a
shortcode, via the new `tiny_fastpix_log_shortcode_inserted` web service).
- **`.gitattributes`** to keep CI/dev scaffolding out of the released package.

## 1.1.0 — 2026-06-10

### Changed
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,15 @@ Also: Moodle 4.5 LTS or newer with the TinyMCE editor, and PHP 8.1+ (tested to
8.3). The picker itself adds no tables, holds no FastPix credentials, and pulls in
no Composer packages.

**FastPix account & credentials.** Using FastPix requires a FastPix account and a
FastPix **API Key** (created in the FastPix Dashboard under *Settings → API Keys*;
see [Activate your account](https://fastpix.com/docs/getting-started/activate-your-account)).
This picker never asks for or stores the key — it is configured **once** in
`local_fastpix` under *Site administration → Plugins → Local plugins → FastPix*,
and every plugin in the suite (including this one) reads through `local_fastpix`
from there. If listings aren't working, check the credentials in `local_fastpix`
first.

**Install it** the usual Moodle way — upload the ZIP under *Site administration →
Plugins → Install plugins*, or drop the folder at
`lib/editor/tiny/plugins/fastpix/` and finish the upgrade at *Notifications*.
Expand Down
2 changes: 1 addition & 1 deletion amd/build/ui.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading