-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Contribute to Drupal.
Types of contribution
- Code (modules, themes, patches, code reviews etc)
- Supporter (donation, Partner programs, Sponsor Drupalcon etc)
- Documentation (write or optimize docs etc)
- Blog posts (eg on Drupal Planet)
- Mentoring, Workshops (eg answer on D.O. Slack or StackExchange questions)
- Presentations, Local events
- Showcases (eg on Drupal.org Case Studies)
- Translations of core or contributed modules
- Lists of resources, tips etc (eg eworx-org/drupal-js)
- Social promoting of Drupal
Projects anatomy on Drupal.org
- Explore a project anatomy (example: scrollbar)
- Sandbox project
- Best practices (code linting - drupal coder, local instance, easy to follow documentation)
Project issues: General
- anatomy
- search
- status
- GitLab issue forks
- GitLab merge requests
Project issues: Testing patches
- drupalci
- gitlab-ci
- Tugboat live previews
Project issues: credits
- https://www.drupal.org/drupalorg/contribution-credit
- https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquette/granting-credit-to-issue-contributors
- https://www.drupal.org/docs/develop/issues/fields-and-other-parts-of-an-issue/getting-credit-for-work-on-issues
Generate patches
- GitLab Web IDE
- git
Apply patches - propose code changes
See https://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal
- git (on custom module)
git clone XXX
cd XXX
...
git diff > [description]-[issue-number]-[comment-number].patch
- composer (with a remote patch)
composer require cweagans/composer-patches
// composer.json
"extra": {
"patches": {
"drupal/homebox": {
"Drupal 9 compatibility for Homebox, https://dgo.to/3146462": "https://www.drupal.org/files/issues/2020-06-05/3146462-2.patch"
}
}
}
OR using the Merge Request diff:
// composer.json
"extra": {
"patches": {
"drupal/homebox": {
"Drupal 9 compatibility for Homebox, https://dgo.to/3146462": "https://git.drupalcode.org/project/homebox/-/merge_requests/2.diff"
}
}
}
- composer (with a VCS repository, see Docs on 3345711)
// composer.json
{
"repositories": {
"drupal": {
"type": "composer",
"url": "https://packages.drupal.org/8",
"exclude": [
"drupal/homebox"
]
},
"drupal/homebox": {
"type": "git",
"url": "[email protected]:issue/homebox-3146462.git",
"reference": "3146462-drupal-9-compatibility"
}
}
}
Publish a new module
- How to publish (process)
- What about Customer permission and code licenses?
- Code on GitHub
- How to make a module generic
Ideas for contributions
- Integrations (eg Mautic, Matomo, Moodle etc)
- Migration plugins (source, process)
- EU Webtools JS widgets (there are none on D.O.)
- Patches on Distributions (social, opigno etc)
- Special modules (eg Word to PDF, Soft Onbarding, Personalization etc)
Useful tools
- https://docs.gitlab.com/ee/user/project/web_ide
- https://www.tugboatqa.com
- https://github.com/mglaman/drupalorg-cli
- https://github.com/shaal/DrupalPod
- https://github.com/joachim-n/dorgflow
- https://github.com/lando/drupal-contributions
- https://www.gitpod.io
See also
- https://www.drupalcontribution.org
- https://www.drupal.org/docs/develop/git/using-git-to-contribute-to-drupal
- https://www.specbee.com/blogs/guide-to-start-your-drupal-contribution
- https://www.slideshare.net/RakeshJames/drupal-contribution-72805210
Tools used for this presentation
- https://github.com/ohmyzsh/ohmyzsh
- https://ddev.readthedocs.io
- PHPStorm
- Ubuntu 22.04
Metadata
Metadata
Assignees
Labels
No labels