{"id":19637249,"url":"https://github.com/os2forms/os2forms_docs","last_synced_at":"2025-06-30T13:32:56.242Z","repository":{"id":41050786,"uuid":"224602285","full_name":"OS2Forms/os2forms_docs","owner":"OS2Forms","description":"OS2Forms general documentation","archived":false,"fork":false,"pushed_at":"2025-04-24T08:45:04.000Z","size":327,"stargazers_count":1,"open_issues_count":9,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-24T09:25:27.137Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OS2Forms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE RAPPORT.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-11-28T08:12:12.000Z","updated_at":"2025-04-24T08:45:07.000Z","dependencies_parsed_at":"2024-04-17T01:50:07.915Z","dependency_job_id":"b48efd61-7c15-4102-864d-b68b5f52e4ac","html_url":"https://github.com/OS2Forms/os2forms_docs","commit_stats":null,"previous_names":["os2forms/os2forms_docs","os2forms/docs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OS2Forms/os2forms_docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OS2Forms%2Fos2forms_docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OS2Forms%2Fos2forms_docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OS2Forms%2Fos2forms_docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OS2Forms%2Fos2forms_docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OS2Forms","download_url":"https://codeload.github.com/OS2Forms/os2forms_docs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OS2Forms%2Fos2forms_docs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262783404,"owners_count":23363541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T12:33:49.567Z","updated_at":"2025-06-30T13:32:56.217Z","avatar_url":"https://github.com/OS2Forms.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# OS2Forms\n\n## Table of contents\n\n* [Description](#description)\n* [License](#license)\n* [Testing and CI](#testing-and-ci)\n* [Git guideline](#git-guideline)\n* [Code review](#code-review)\n* [Patching principles](#patching-principles)\n* [Code of Conduct](#coc)\n* [Links](#links)\n\n## Table of files\n\n* [List of modules to maintain](https://github.com/OS2Forms/os2forms_docs/raw/refs/heads/master/files/OS2forms%20-%20moduloversigt%20(sammenligning).xlsx)\n\n\u003ca name=\"description\"\u003e\u003c/a\u003e\n## Description\n\n__OS2Forms__ is a drupal based solution for creating advanced webform functionality for Danish Municipalities.\n\nSolution main repositories:\n* Drupal core incl. installatioj profile: https://github.com/OS2Forms/os2forms8\n* OS2Forms forløb profile: https://github.com/OS2Forms/os2forms_forloeb_profile\n* OS2Forms main Drupal module https://github.com/OS2Forms/os2forms\n\n\u003ca name=\"license\"\u003e\u003c/a\u003e\n## License\nAll OS2Forms projects are using [EUPL v1.2 License](https://opensource.org/licenses/EUPL-1.2).\n\n\u003ca name=\"testing-and-ci\"\u003e\u003c/a\u003e\n## Testing and CI\nEvery OS2Forms drupal project should have continuous integration builds are performing by [Travis CI](https://travis-ci.org).\nTo improve code quality and integration possibilities there are using set of following tools:\n * [PHP_CodeSniffer]() with [Drupal coding standards](https://www.drupal.org/docs/develop/standards/coding-standards) and best practices defined in [Coder module](https://www.drupal.org/project/coder).\n * [ESLint](https://eslint.org/) with [Drupal ESLint rules set](https://www.drupal.org/node/1955232).\n * [Stylelint](https://stylelint.io/) with rules set defined for Drupal core.\n * [Twigcs](https://github.com/friendsoftwig/twigcs) with standard set of rules\n  for twig templates.\n * [Drupal-check](https://github.com/mglaman/drupal-check) to check project\n readiness to Drupal 9 via checking of deprecated code usage.\n * @TODO [PHPUnit](https://phpunit.de/) test to check key contrib modules tests.\n\nFor more details about travis-ci continuous integration builds\nsee `.travis-ci.yml` file in project git repository.\n\nNOTE: Some projects couldn't have its own PHPUnit test. This is a part of future\ndevelopment scope.\n\n\u003ca name=\"git-guideline\"\u003e\u003c/a\u003e\n## Git guideline\nProject use default approach for branch naming.\n\n### Bracnhes\n* `develop` - general development branch (Default).\n* `develop-2.x` - development branch for version 2.x. (if requires)\n* `master` - stable version of code.\n\nThere are no specific rules for feature branch names. However we recommend\nuse [OS2Forms JIRA](https://os2web.atlassian.net/browse/OS2FORMS) or\n[github issue](https://github.com/OS2Forms/os2forms/issues) ticket number\nas prefix for your branch name.\n\n### Tags\nRelease tags should be created from related branches. Tag name space should\n follow [Semantic Versioning](https://semver.org/) rules. \nGiven a version number MAJOR.MINOR.PATCH, increment the:\n\n* MAJOR version when you make incompatible API changes,\n* MINOR version when you add functionality in a backwards compatible manner, and\n* PATCH version when you make backwards compatible bug fixes.\n\n#### Outdated approach\nSince OS2Forms projects are Drupal friendly, there was used drupal-friendly\ngit branch/tag names like 8.x, 8.x-2.x. Please keep use it or ask about changes\nin case this names are not compatible with changes you have.\n\nFor new repositories it was decided to switch back to github,\ncomposer way to for branch names.\n\n\u003ca name=\"code-review\"\u003e\u003c/a\u003e\n## Code review\nNew changes or bugfixes in existing codebase have to be added to repository\nthrough general [code review process](https://github.com/features/code-review/).\nTo request a code review, use the following process:\n1. Add Github pull request from the feature/bugfix branch to 8.x or other related dev branch.\n2. Request code review from internal department\n3. Test features with customer on test setting\n4. Fix bugs or get approval from customer\n5. Request code review from one of project contributor (other department/company).\n6. Reviewer approves, requests changes or rejects pull request.\n7. Discuss/Add requested changes or merge approved pull request.\n\nNOTE: There are preconditions that have to be met before accepting a pull request:\n- All requested changes have to be done\n- All discussion have to be resolved\n- Pull request should have green Travis CI build status.\n\n\u003ca name=\"patching-principles\"\u003e\u003c/a\u003e\n## Patching principles\nTo patch a drupal composer project see:\nhttps://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal/working-with-patches/applying-a-patch-in-a-feature-branch#s-composer\n\n- Composer based projects in os2forms should always use [cweagans/composer-patches](https://github.com/cweagans/composer-patches) package to patch extensions.\n- To allow patching of project dependencies add \"enable-patching\" to your composer file configuration:\n```\n  \"extra\": {\n      \"enable-patching\": true\n  }\n```\n- Patching should only be used for drupal contributed modules, drupal core and other packages maintained outside os2forms organisation.\n- Patching should be handled by the os2forms project that introduces the externally maintained code.\n- Patches should include a link reference to the issue it addresses, if any exist.\n- If an external package(1) introduces another external package(2) the patch should be handled by the project that introduced package 1.\n\nExample:\n\nGiven the following dependency tree:\n```\ncomposer why drupal/dynamic_entity_reference -r\n\ndrupal/recommended-project        -                    requires os2forms/os2forms_forloeb_profile (dev-composer_cleanup)  \ndrupal/recommended-project        -                    requires os2forms/os2forms_forloeb (dev-composer_cleanup as 2.5.0) \nos2forms/os2forms_forloeb_profile dev-composer_cleanup requires os2forms/os2forms_forloeb (^2.5)                          \nos2forms/os2forms_forloeb         dev-composer_cleanup requires drupal/workflow_participants (^2.4)                       \ndrupal/workflow_participants      2.6.0                requires drupal/dynamic_entity_reference (^2.0) \n```\n...the os2forms/os2forms_forloeb project is responsible for patching drupal/dynamic_entity_reference contributed module.\nLeave a comment about why the patch belongs here.\n```\n\"patches\": {\n  \"//\": \"Note: drupal/dynamic_entity_reference is required by drupal/workflow_participants\",\n  \"drupal/dynamic_entity_reference\": {\n    \"entityQuery reference JOINs should specify target_type (https://www.drupal.org/project/dynamic_entity_reference/issues/3120952#comment-14141038)\": \"https://www.drupal.org/files/issues/2021-06-22/entityquery-reference-joins-should-specify-target_type-3120952-24.patch\"\n  }\n```\n\n\n\u003ca name=\"coc\"\u003e\u003c/a\u003e\n## Code of Conduct\nSee [Drupal community code of Conduct](https://www.drupal.org/dcoc)\n\n\u003ca name=\"links\"\u003e\u003c/a\u003e\n## Links\n* [Drupal code standards](https://www.drupal.org/docs/develop/standards)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fos2forms%2Fos2forms_docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fos2forms%2Fos2forms_docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fos2forms%2Fos2forms_docs/lists"}