Editorial Workflow & Assignments (EWA) module will be contributed to Drupal.org as a part of a broader Drupal Workflow contrib ecosystem.
Drupal.org now supports issue forks and branches, but the collaboration process still involves creation of patch files in order to support code merges. Even though development directly on Drupal.org is preferred, the process of code reviews and feedback is still poorly supported.
We will use a public GitHub repository for EWA development in order to streamline collaboration process.
https://github.com/agilesix/workflow_assignments
EWA module machine name is workflow_assignments and it is currently included
in the va.gov-cms codebase as drupal/workflow_assignments composer package.
Collaboration in GitHub vs. Drupal.org or in a custom module in va.gov-cms repo offers several advantages:
- feedback loops are streamlined and happen in the same channel that we use day-to-day - GitHub
- we don't spend extra time on managing the Drupal.org repository and issue queue. We'll start managing the Drupal.org repo once development slows down
- commit authors are preserved and once a stable version of the module is moved to Drupal.org, all committers will be credited automatically. Please ensure that your github user email is what you use on your DO profile in order to support work credits
- The
workflow_assignmentsmodule is included in the project codebase as a contrib module. When the time comes to pull it from Drupal.org, the namespace and files location will remain the same, so no additional effort is needed besides updating composer version/config.
contrib module directory
- ensure the latest version of
workflow_assignmentsis pulled on local development environmentddev composer install cd docroot/modules/contrib/workflow_assignmentsgit statuswill show current branch namegit remote -vshould showhttps://github.com/agilesix/workflow_assignments.gitas remote origin
cd docroot/modules/contrib/workflow_assignments- switch to a new branch within EWA module directory -
git checkout -b VACMS-1234-branch-name - add code changes and run
git statusin the same directory to verify your changes are detected - run PHP_CodeSniffer check locally before committing
cd ../../../../ddev composer va:test:php_codesniffer- address errors in
workflow_assignments, if any
cd docroot/modules/contrib/workflow_assignments- commit changes, push to
workflow_assignmentrepo -git push --set-upstream origin VACMS-1234-branch-nameand open a PR with QA instructions inhttps://github.com/agilesix/workflow_assignments
If your work is dependent on Drupal config that lives in va.gov-cms repo:
- open a separate PR with updated configuration in va.gov-cms repo
- link to corresponding PR from
https://github.com/agilesix/workflow_assignmentsin PR description and provide any specific instructions for your peer to review
- review related code and instructions in both github repos
https://github.com/agilesix/workflow_assignmentshttps://github.com/department-of-veterans-affairs/va.gov-cms
- test functionality locally:
cd docroot/modules/contrib/workflow_assignmentsgit fetchto fetch any new PR branchesgit checkout branch-name-to-review
- follow QA instructions in the PR, e.g. import new configuration, etc.
- IMPORTANT: once the work provided in
workflow_assignmentsrepo is reviewed and merged, the composer.json/.lock files in va.gov-cms repo should be updated to use latest version ofworkflow_assignmentsmodule.ddev composer update drupal/workflow_assignments- commit and merge to va.gov-cms
mainbranch