Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 3.16 KB

File metadata and controls

71 lines (49 loc) · 3.16 KB

Page Forms

CI Codecov

Note

Fork of the MediaWiki extension PageForms, aimed at simplifying contributions by hosting on GitHub instead of Gerrit, improving quality through better test coverage and continuous integration. From time to time, changes in the upstream repository may be cherry-picked and integrated.

Page Forms, previously known as Semantic Forms, is a MediaWiki extension aimed at simplifying data management through forms. In essence, Page Forms allows users to create, edit, and query data on a wiki without the need for coding. The central feature of Page Forms is the form definition pages, located in the 'Form:' namespace. These pages utilize markup code to define forms, empowering users to create and modify forms without requiring programming knowledge. Forms populate predefined templates and page sections, facilitating data storage and querying, especially when used with Semantic MediaWiki.

Local testing notes

PHP integration tests (PHPUnit/JSONScript)

For focused test runs (for example autocomplete-related API tests), use:

make install composer-phpunit COMPOSER_PARAMS="-- --filter=autocomplete"

After the first run, you can use this faster variant for repeated runs:

make composer-phpunit COMPOSER_PARAMS="-- --filter=autocomplete"

JavaScript tests (Node QUnit)

Run the default JS test pipeline (ESLint + i18n + Node QUnit):

make npm-test

Run only Node QUnit tests (faster feedback loop):

docker compose -f build/docker-compose.yml --project-name pageforms-mysql --profile mysql exec -T wiki bash -lc "cd /var/www/html/extensions/PageForms && ./node_modules/.bin/qunit --require ./tests/node-qunit/setup.js 'tests/node-qunit/**/*.test.js'"

Run one specific JS test file:

docker compose -f build/docker-compose.yml --project-name pageforms-mysql --profile mysql exec -T wiki bash -lc "cd /var/www/html/extensions/PageForms && ./node_modules/.bin/qunit --require ./tests/node-qunit/setup.js tests/node-qunit/simpleupload.test.js"

New or renamed test files are copied into the Docker image at build time. After changing test files, run commands via make install …​ at least once, then you can use make composer-phpunit …​, make npm-test, or direct qunit runs in the container for repeated runs.


This extension is part of semantic::core - Enterprise Class MediaWiki distribution.

.