os2forms / os2forms
Drupal 10 OS2Form module provides advanced webform functionality for Danish Municipalities
Requires
- php: ^8.1
- ext-dom: *
- ext-soap: *
- cweagans/composer-patches: ^1.6.5
- dompdf/dompdf: ^2.0
- drupal/admin_toolbar: ^3.0
- drupal/advancedqueue: ^1.0
- drupal/cache_control_override: ^1.1 || ^2.0
- drupal/coc_forms_auto_export: ^3.0@alpha
- drupal/config_entity_revisions: 2.0.x-dev
- drupal/diff: ^1.0
- drupal/entity_print: ^2.1
- drupal/eu_cookie_compliance: ^1.8
- drupal/events_logging: ^2.0@beta
- drupal/gin: ^3.0-rc
- drupal/honeypot: ^2.0
- drupal/ldap: ^4.2
- drupal/leaflet: ^10.0
- drupal/leaflet_layers: ^1.1
- drupal/libraries: ^4.0
- drupal/maestro: ^3.1
- drupal/mailsystem: ^4.1
- drupal/masquerade: ^2.0@RC
- drupal/pathauto: ^1.5
- drupal/permissions_by_term: ^2.25 || ^3.1
- drupal/queue_mail: ^1.4
- drupal/r4032login: ^2.1
- drupal/redirect: ^1.4
- drupal/simplesamlphp_auth: ^4.0
- drupal/smtp: ^1.0@beta
- drupal/sodium: ^2.4
- drupal/switch_page_theme: ^4.0
- drupal/telephone_validation: ^2.2
- drupal/token: ^1.5
- drupal/ultimate_cron: ^2.0.0
- drupal/user_default_page: ^9.0
- drupal/webform: ^6.1
- drupal/webform_composite: ^1.0@RC
- drupal/webform_encrypt: ^2.0@alpha
- drupal/webform_node_element: ^1.2
- drupal/webform_remote_handlers: ^3.0
- drupal/webform_remote_select: ^1.0.6
- drupal/webform_rest: ^4.0.0-beta2
- drupal/webform_validation: ^2.0
- drupal/webform_views: ^5.0@alpha
- drupal/workflow_participants: ^3.0@RC
- fig/http-message-util: ^1.1
- http-interop/http-factory-guzzle: ^1.0.0
- itk-dev/beskedfordeler-drupal: ^1.0
- itk-dev/serviceplatformen: ^1.7.1
- mglaman/composer-drupal-lenient: ^1.0
- os2web/os2web_audit: ^1.0
- os2web/os2web_datalookup: ^3.0
- os2web/os2web_key: ^1.0
- os2web/os2web_nemlogin: ^1.0
- os2web/os2web_simplesaml: dev-master
- php-http/guzzle7-adapter: ^1.0
- phpoffice/phpword: ^0.18.2
- symfony/options-resolver: ^5.4 || ^6.0
- wsdltophp/packagebase: ^5.0
- zaporylie/composer-drupal-optimizations: ^1.2
Requires (Dev)
- dev-develop
- 5.0.0
- 4.1.0
- 4.0.0
- 3.22.2
- 3.22.1
- 3.22.0
- 3.21.2
- 3.21.1
- 3.21.0
- 3.20.1
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.2
- 3.16.1
- 3.16.0-beta1
- 3.15.8
- 3.15.7
- 3.15.6
- 3.15.5
- 3.15.4
- 3.15.3
- 3.15.2
- 3.15.1
- 3.15.0
- 3.14.1
- 3.14.0
- 3.13.3
- 3.13.2
- 3.13.1
- 3.13.0
- 3.12.2
- 3.12.1
- 3.12.0
- 3.11.0
- 3.10.0
- 3.9.0
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.4.0-rc7
- 3.4.0-rc6
- 3.4.0-rc5
- 3.4.0-rc4
- 3.4.0-rc3
- 3.4.0-rc2
- 3.4.0-rc1
- 3.3.0
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.10.0
- 2.9.2
- 2.9.1
- 2.9.0
- 2.8.3
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.1
- 2.7.0
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6
- 2.5
- 2.4
- 2.3.12
- 2.3.11
- 2.3.10
- 2.3.9
- 2.3.8
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2
- 2.1.1
- 2.1
- 2.0.9
- 2.0.8
- 2.0.7.1
- 2.0.7
- 2.0.6.2
- 2.0.6.1
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0
- dev-test/ci-verification
- dev-fix-ci-php83-safe
- dev-master
- dev-f/OS-110
- dev-hotfix/missing_cpr
- dev-f/d10_readiness
- dev-f/share_webform_nemlogin
This package is auto-updated.
Last update: 2026-04-01 06:46:55 UTC
README
Install
OS2Forms Drupal 10 module is available to download via composer.
composer require os2forms/os2forms drush pm:install os2forms
If you don't have Drupal installed on you server, you will to need install it first. Read more about how to install drupal core.
To get more benefits on your Drupal project we recommend you use OS2web as installation profile for Drupal.
You can easy download and install OS2web installation profile to your composer based Drupal project with commands:
composer require os2web/os2web
drush site:install os2web --db-url=mysql://db_user:db_pass@mysql_host/db_name --locale=da --site-name="OS2Forms" --account-pass=admin -y
Update
Updating process for OS2forms module is similar to usual Drupal 10 module. Use Composer's built-in command for listing packages that have updates available:
composer outdated os2forms/os2forms
Automated testing and code quality
See OS2Forms testing and CI information
Contribution
The OS2Forms project is open for new features and bugfixes. If you have any suggestion, or you found a bug in the project, you are very welcome to create an issue in github repository issue tracker. For issue description was ask that you will provide clear and sufficient information about your feature request or bug report.
Code review policy
See OS2Forms code review policy
Git name convention
See OS2Forms git name convention
Important notes
Webforms
Each webform, along with all its settings, is stored as configuration in the
database and can be exported as a yml file through Drupal's configuration
management system, making it trackable via git.
This means that webform settings in the Drupal database will be synchronized
(exported/imported) with the state defined in yml files located in the
configuration folder of your git repository. Without taking the appropriate
precautions, webforms may be deleted or reverted to the state captured in
those yml files during synchronization.
To prevent this, we recommend using the
Config ignore-module, which
allows you to exclude specific settings from the configuration management
export/import process.
Serviceplatformen plugins
Similar to webforms, settings for the CPR and CVR Serviceplatformen plugins
are stored as configuration in the database and can be exported as yml files
through Drupal's configuration management system, making them trackable via
git.
Note that if your git repository is publicly accessible, these plugin settings
— which may contain sensitive information — will be exposed. As with webforms,
we recommend using the Config ignore-module to exclude them from the
export/import process.
Other configuration
The two cases above are just some examples of configuration that may be
sensitive or subject to unintended changes during synchronization. In general,
any configuration that is environment-specific, contains sensitive data, or is
managed directly in the database rather than through code should be considered
for exclusion via the Config ignore-module.
Unstable features
Export submissions to Word
This feature is still not part of Webform and Entity print modules stable versions due to following issues:
- [Webform] Unlock possibility of using Entity print module export to Word feature
- [Entity Print] Add Export to Word Support
To get this functionality on drupal project there will be applied patches from issues above via Composer.
NOTE: If you are downloading os2forms module without using composer, be aware that you have apply those patches by yourself.
Coding standards
Our coding are checked by GitHub Actions (cf. .github/workflows/pr.yml). Use the commands below to run the checks locally.
PHP
docker compose pull
docker compose run --rm php composer install
# Fix (some) coding standards issues.
docker compose run --rm php composer coding-standards-apply
docker compose run --rm php composer coding-standards-check
Tip
If the composer install commands fails with
Unable to install module simplesamlphp/simplesamlphp-assets-base, package name must be on the form "VENDOR/simplesamlphp-module-MODULENAME".
you can remove the vendor folder and rerun the composer install command (cf.
https://www.drupal.org/project/simplesamlphp_auth/issues/3350773).
Markdown
docker compose pull docker compose run --rm markdownlint markdownlint '**/*.md' --fix docker compose run --rm markdownlint markdownlint '**/*.md'
Code analysis
We use PHPStan for static code analysis.
Running static code analysis on a standalone Drupal module is a bit tricky, so we use a helper script to run the analysis:
docker compose run --rm php ./scripts/code-analysis
Note: Currently the code analysis is only run on the os2forms_digital_post and os2forms_fbs_handler sub-modules
(cf. phpstan.neon).