際際滷

際際滷Share a Scribd company logo
息 Groupe CGI inc. CONFIDENTIEL
How to contribute projects to drupal.org?
Level: Beginners
Adrian Cid Almaguer
Drupal North Toronto 2018
Adrian Cid Almaguer (adriancid)
2
https://www.drupal.org/u/adriancid
https://github.com/adrian-cid/
@adriancid
Drupaling for 6 years 2 months
The Drupal Association is
dedicated to fostering and
supporting the Drupal software
project, the community and its
growth. You can help being
member.
https://www.drupal.org/project/contribute
Some concepts ...
Contribute:
3
to give (money, time, knowledge, assistance, etc.) to a common supply, fund, etc.,
as for charitable purposes.
Can you contribute to Drupal?
Example:
Can you contribute to buy my ticket for the DrupalCon?
We will talk about:
 How to create a Drupal project
 How to work with the issue queue
 Simple tasks for your first contributions
 Some commons project issues
 Drupal standards
 The project page
 Release the project
4
You say: How to contribute projects to drupal.org? Thats so easy
https://www.drupal.org/node/1068942
https://www.drupal.org/node/add/project-project
5
1.Visit the Create project page.
2.Fill out the form.
3.Enter a project shortname.
4.Click the Save button.
5.Click the Version control tab for
instructions on how to start committing.
You can run but this don't
make you a runner.
Don't applaud, just throw money.
HARD
1. Visit the Create project page
https://www.drupal.org/node/add/project-project
6
The presentation will be focused in module projects but is applicable in 90% to all the
other project types. All the code is based in Drupal 8, you must discover if it works for
Drupal 7 :-)
2. Fill out the form
3. Enter a project
shortname
https://www.drupal.org/node/add/project-module
7
4. Click the Save button
https://www.drupal.org/node/add/project-module
https://www.drupal.org/node/23789
8
Before creating a new full project, please consider whether your project might be better
suited as a feature addition or patch to an existing project, as opposed to a brand new
module.
Drupal Community
promotes collaboration
rather than competition
5. Click the Version control tab for instructions on how to start
committing
9
Now we have a Drupal
project and we can start
having fun.
Our battlefield
Alors je vais pouvoir migrer mon module
avec les conseils que vous allez donner ici?
10
The issue queue!
Issue queue
When you create a new project the
issue queue is activated by default,
but if you dont find it or want to
disable it for some reason this is
possible editing the project page.
11
https://www.drupal.org/project/drush_help
In the Issues tab you have the option
Issue queue
12
https://www.drupal.org/project/drush_help
This is the project page for the Drush Help module, in the left side some
informations about the project issues. Pay attention to the guidelines!
Creating an issue
(Asana module)
13
You can configure this text
editing the project page
Have you read (dont see) this text?
Creating an issue
(Webform module)
14
Usually we maintain
projects in our free
time, so please help
us in this task.
A well described
issue help a lot.
Ok, I get the point, lets create our First Issue!
15
(This is a real issue in the onlyone module)
Problems
Even if drupal.org add a message when youre
adding a new issue and you add another,
nobody read this section.
Have you read the message with the blue
background anytime?
Buddy we need to organize our job, its free but
take our time.
16
(This is a real issue in the onlyone module) We live in many different countries and speak
many different languages, so, in Drupal we need
to use English to allow the communication. I
know is hard. Im a good example of this.
But, we have tools like Google Translate.
Applause for Google Translate, without it this
presentation would not have been possible ;-)
Problems
I recommend Grammarly (www.grammarly.com)
Works with Firefox and Chrome with a free plan
and will help you a lot improving your messages
in the issue queue.
Ok, I get the point, lets create our First Issue!
17
(This is a real issue in the onlyone module)
Problems
Thats what the Issue Summary Template says.
Sometimes even if you described the problem
without the steps to reproduce is hard to see
the problem and try to fix it.
Ok, I get the point, lets create our First Issue!
(This is a real issue in the onlyone module)
18
Be polite
Remember, you started like a baby, then
you made some steps, then you walked
and then you run. We need to teach others
in the correct way.
The Force you must
feel in your heart my
Padawan, the Dark
Side it should not
take.
https://www.drupal.org/about/values-and-principles
Ok, I get the point, lets create our First Issue!
Then how a correct issue should look like?
19https://www.drupal.org/project/drupal/issues/2925972
Master, this only happens
in core.
Wrong are you, my boy.
Master, whats this blue
button that I never see
before?
Patience you must be, all
the secrets will be shown
to you if you remain at
pace.
http://test.drupalskills.org/
Fight like a Jedi in the Issue Queue with DrEditor.
DrEditor
An extension for Drupal.org that enhances user experience and functionality.
Features:
20
https://dreditor.unicorn.fail/
https://chrome.google.com/webstore/detail/dreditor/dhdpoembhlojpmehepeadblhglloobao
https://www.millwoodonline.co.uk/sites/default/files/2018-03/dreditor.xpi
https://drupalize.me/videos/installing-and-using-dreditor
 Template insertion
 Patch reviewer
 Auto-completion
 Image attachment embedder
No boy, there is no more dark
age in the Issue queue.
No more excuses to dont
review a patch, no more
excuses about not using the
Issue Summary Template.
SHOW ME PLEASE !!!!!
DrEditor. Template insertion
21
With DrEditor
Master, why you dont
show me this in my first
Drupal days?
My Padawan, an evolution
path is the suffering, is hard,
but is a path. Now follow me if
in the darkness you dont want
to remain.
DrEditor. Patch reviewer
22
Without DrEditor
https://www.drupal.org/project/node_revision_delete/issues/2911844
With DrEditor
DrEditor. Patch reviewer
23
With DrEditor
Master. whats this blue site?
My little Padawan, you are kidding
me?
https://simplytest.me/
Master, I wish but it seems that I
been stucked in the past.
Wake up you must, the future is
this.
simplytest.me helps you to find
the module, theme or
distribution that fits your needs.
It provides sandbox
environments for testing the
functionality of any project
before even downloading it.
How many times I have installed Drupal to test something
DrEditor. Patch reviewer
24
With DrEditor
Select lines in the diff to enter a patch review comment.
Select further lines if the same comment pertains to other
lines as well. Press "Save" to store a comment.
Press "Paste" to insert all comments including selected
lines into the issue.
Use the jump menu in the sidebar to quickly jump to
individual files or hunks in files.
Little Padawan, Review
patches was never so easy.
See you more frequently
contributing to Drupal I hope.
DrEditor. Auto-completion
25
With DrEditor
Pressing the TAB key after certain character sequences automatically completes or converts the entered characters
into a full string, and moves the cursor to the next best input position.
 HTML: Type <ul to get <ul></ul>, <block to get <blockquote></blockquote>, etc.
 Usernames: Type @s to get @sun, @sl to get @slantview, etc. Only usernames contained on the current page
are available. No more copy and paste!
 Comment #IDs: Type #42 and hit TAB to convert it into a link to the corresponding issue comment. #0 links to the
OP. No more copy and paste!
 Issue URLs: Paste http://drupal.org/node/123456 and hit TAB to get [#123456].
Tip: use [#nnn] syntax and
Drupal.org will automatically link to
the issues and show their current
status.
DrEditor. Image attachment embedder
26
With DrEditor
No more problems adding images to your
issue summary
My Padawan, the weapons
to fight in the issue queue
you have.
Now go out and conquer the
Drupal world.
27
Simple tasks for your
first contributions.
Let Drupal 8 know about your module with an .info.yml file
Thats what you need to
bring your creation to life.
28
https://www.drupal.org/node/2000204
https://www.drupal.org/project/asana/issues/2941097
Let Drupal 8 know about your module with an .info.yml file
29
https://www.drupal.org/node/2000204
https://www.drupal.org/project/asana/issues/2941097
In Drupal there is module for anything, but what we can do with it?
30
https://www.drupal.org/docs/develop/documenting-your-project/readme-template
https://www.drupal.org/node/632280
31
https://www.drupal.org/node/2181737
https://www.drupal.org/node/632280
In Drupal there is module for anything, but what we can do with it?
32
https://www.drupal.org/docs/develop/documenting-your-project/readme-template
https://www.drupal.org/node/632280
In Drupal there is module for anything, but what we can do with it?
33
https://www.drupal.org/node/2514612
https://getcomposer.org/doc/04-schema.md#keywords
I need a library for my module, what I can do?
Padawan a secret I
need to show you.
Have you hear about
Composer before?
Master, are you
coming today with
many strange words.
This word you must not forget, many
nightmares will provide you in the future.
34
https://www.drupal.org/node/2514612
https://getcomposer.org/doc/04-schema.md#keywords
I need a library for my module, what I can do?
35
Keep the record of your changes.
Padawan a records of
your changes you
must keep.
In Drupal a standard
we have even for go
to the bathroom. My
time dont make me
waste.
Master, what about
the git log
command?
https://www.drupal.org/project/issues/ideas
And if there is not a standard for wherever
you want to do, the Drupal core ideas
issue queue you must visit and a good
issue requesting it you must write.
36
https://www.drupal.org/node/52287
Keep the record of your changes.
37
Keep the record of your changes.
Master but I will need
to take each commit
message and write
this file, I will feel like
my first day in the Jedi
Academy.
Strong our community
is, a tool we have to
create this file.
38
https://www.drupal.org/node/52287
https://www.drupal.org/project/grn
Keep the record of your changes.
drush rn - - changelog
39
Your form elements follow the Drupal user interface standard?
https://www.drupal.org/docs/develop/user-interface-standards
https://www.drupal.org/node/632280
Read the links,
you will be
surprised.
Coding standards
40
https://www.drupal.org/project/coder
https://chromatichq.com/blog/drupal-code-standards-what-are-they
41
The project page.
Little Padawan, now
that we have a Drupal
module, the project
page we must write.
Master, we only have
4 insignificant issues,
how you can says that
we have a module?
Padawan are you
really listen to me?
A Drupal module we have created a few
minutes ago! You dont remember this?
Remember, this is all you need! an info.yml file
42
Tips for a great project page
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
Project pages should be helpful; there are literally thousands of modules, themes and installation profiles and
site builders need a clear way to understand what your project does.
 Synopsis
 Requirements
 Recommended modules
 Known problems
 Similar projects and how they are different
 Dependencies
 Restrictions
 Resources
43
Tips for a great project page. Synopsis
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
What does the project do? What problem does it
solve? Who is the intended audience? You may
want to provide a bulleted list of features to help
people quickly figure out if it's useful to them.
Project page
Module help page
44
Tips for a great project page. Requirements
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
Link to required modules and any other extraordinary items or steps needed to install or use. Mention and
link to all required external libraries.
Project pageModule README.txt file
Module README.txt file
45
Tips for a great project page. Recommended modules
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
You should list any modules that is not explicitly required, but will, if enabled, enhance the usefulness or user
experience of the project.
Project page
Project issue queue
46
Tips for a great project page. Known problems
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
Be upfront about any known problems, bugs, etc. Link to active issues regarding those problems.
Project page
47
Tips for a great project page. Similar projects and how they are different
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
Your project page should make an effort to inform users about alternatives to your module if they exist. This
will allow the community to make more informed decisions about what modules to use.
Project page
Drupal search
This is hard to do, you need to find the modules, test it,
study the code and find the differences.
48
https://www.drupal.org/node/997024
http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful
Tips for a great project page. Resources
The template for your project page has a tab labeled "Resources" near the bottom.
This information will be visible in the project page in the left side under Documentation and Resources
49
Stay tuned. Follow the change records for Drupal core!
@drupal8changes is a bot that tweets published Drupal core change records
https://www.drupal.org/list-changes/drupal
50
Managing core changes in our modules
Remember the
Issue Summary Template
Inform your users about the changes
51
Write guides for your project
https://www.drupal.org/docs/8/modules/allow-a-content-type-only-once-only-one
Write guides for your project
https://www.drupal.org/docs/8/modules/allow-a-content-type-only-once-only-one
54
https://www.drupal.org/node/1068944
https://www.drupal.org/project/admin_toolbar/git-instructions
Return to the main project page,
and click the Add new release link
at the bottom of the page.
Select your branch, such as 8.x-1.x,
and save the form.
Select the terms that correspond to
the nature of the release (Features,
Bug fixes) and fill out release notes.
Using Git Release Notes for Drush
drush rn
Release Notes
https://www.drupal.org/project/grn
https://glamanate.com/blog/creating-better-drupal-module-release-notes
Using Drupal.org CLI
drupalorg maintainer:release-notes
56
Getting help
57
Keep in mind!
Learn how to contribute to Drupal
take me years, and I'm still learning,
so dont think this presentation is a
magic wand, I cant teach you all the
tricks in 1 hour, but at least I can
push your mind to start the long way
to the coronation.
58
Some modules that I maintain:
1.Admin Toolbar
2.Allow a content type only once (Only One)
3.Drush Help
4.Modules weight.
5.Node Revision Delete
For the full list: https://www.drupal.org/u/adriancid
If you feel that this presentation was useful for you,
please clap your hands, if it wasn't, don't worry my boss
is paying me to be here with you.
Thank you for your attention
60
Little Padawan, many things you have see for
the moment, time to take a break is. I hope
you're still awake and have not fallen asleep.
Yes master, Im still awake
And sorry for my english, next time will
be in Spanish and you will enjoy it.
How to contribute projects to drupal.org?   2018 drupal north

More Related Content

Similar to How to contribute projects to drupal.org? 2018 drupal north (20)

Enable the Community to improve usability
Enable the Community to improve usabilityEnable the Community to improve usability
Enable the Community to improve usability
B竪r Kessels
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
Geshan Manandhar
Sample You Tube tutorial for Drupal
Sample You Tube tutorial for DrupalSample You Tube tutorial for Drupal
Sample You Tube tutorial for Drupal
sivaprasad balamara
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
Lakshmi Narasimhan Parthasarathy
Drupal 7: More than a simple CMS
Drupal 7: More than a simple CMSDrupal 7: More than a simple CMS
Drupal 7: More than a simple CMS
Commit Software Sh.p.k.
Drupal theming training
Drupal theming trainingDrupal theming training
Drupal theming training
dropsolid
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupal
marcingy
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
Philip Norton
Drupal Blogs from February
Drupal Blogs from FebruaryDrupal Blogs from February
Drupal Blogs from February
AGILEDROP
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Promet Source
Why Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPressWhy Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPress
Jen Lampton
Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.
Ovadiah Myrgorod
Drupal 7 UX
Drupal 7 UX  Drupal 7 UX
Drupal 7 UX
Roy Scholten
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
Luc B辿zier
Intro to Drupal 際際滷s - DrupalCampSC 2014
Intro to Drupal 際際滷s - DrupalCampSC 2014Intro to Drupal 際際滷s - DrupalCampSC 2014
Intro to Drupal 際際滷s - DrupalCampSC 2014
Sarah Shealy
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
Phase2
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
Emma Jane Hogbin Westby
Continuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with DrupalContinuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with Drupal
gstupar
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Acquia
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Jake Borr
Enable the Community to improve usability
Enable the Community to improve usabilityEnable the Community to improve usability
Enable the Community to improve usability
B竪r Kessels
Sample You Tube tutorial for Drupal
Sample You Tube tutorial for DrupalSample You Tube tutorial for Drupal
Sample You Tube tutorial for Drupal
sivaprasad balamara
Drupal theming training
Drupal theming trainingDrupal theming training
Drupal theming training
dropsolid
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupal
marcingy
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
Philip Norton
Drupal Blogs from February
Drupal Blogs from FebruaryDrupal Blogs from February
Drupal Blogs from February
AGILEDROP
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Why and When to use Drupal by Luc Bezier - Drupalcamp Cebu 2018
Promet Source
Why Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPressWhy Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPress
Jen Lampton
Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.Open source and You. DrupalForum ZP.
Open source and You. DrupalForum ZP.
Ovadiah Myrgorod
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
Luc B辿zier
Intro to Drupal 際際滷s - DrupalCampSC 2014
Intro to Drupal 際際滷s - DrupalCampSC 2014Intro to Drupal 際際滷s - DrupalCampSC 2014
Intro to Drupal 際際滷s - DrupalCampSC 2014
Sarah Shealy
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
Phase2
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
Emma Jane Hogbin Westby
Continuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with DrupalContinuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with Drupal
gstupar
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Acquia
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Drupal Console Deep Dive: How to Develop Faster and Smarter on Drupal 8
Jake Borr

Recently uploaded (20)

IETF 122: draft-ietf-regext-rdap-rir-search-16
IETF 122: draft-ietf-regext-rdap-rir-search-16IETF 122: draft-ietf-regext-rdap-rir-search-16
IETF 122: draft-ietf-regext-rdap-rir-search-16
APNIC
Amazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
Amazon Sidewalk: A Global Wake-Up Call for the Telecom IndustryAmazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
Amazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
David Swift
Mdf Board manufacturer in india.........
Mdf Board manufacturer in india.........Mdf Board manufacturer in india.........
Mdf Board manufacturer in india.........
veerseo13
D 1.2 TYPES OF NETWORKS.ppt. for computer
D 1.2 TYPES OF NETWORKS.ppt. for computerD 1.2 TYPES OF NETWORKS.ppt. for computer
D 1.2 TYPES OF NETWORKS.ppt. for computer
ramniwaskukna874
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh ThakurComplete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Hackopedia Utkarsh Thakur
Shopify Store Setup_ Database Management for Large Stores.pdf
Shopify Store Setup_ Database Management for Large Stores.pdfShopify Store Setup_ Database Management for Large Stores.pdf
Shopify Store Setup_ Database Management for Large Stores.pdf
CartCoders
Odoo demo .pdf
Odoo demo                           .pdfOdoo demo                           .pdf
Odoo demo .pdf
dela33martin33
howtogetthebestdatascientistcertification-250311104155-e239704a.pdf
howtogetthebestdatascientistcertification-250311104155-e239704a.pdfhowtogetthebestdatascientistcertification-250311104155-e239704a.pdf
howtogetthebestdatascientistcertification-250311104155-e239704a.pdf
pavan2233chunduru
Hire Odoo Consultant .pdf
Hire Odoo Consultant                .pdfHire Odoo Consultant                .pdf
Hire Odoo Consultant .pdf
dela33martin33
Measuring ECN, presented by Geoff Huston at IETF 122
Measuring ECN, presented by Geoff Huston at IETF 122Measuring ECN, presented by Geoff Huston at IETF 122
Measuring ECN, presented by Geoff Huston at IETF 122
APNIC
Odoo Warehouse Management .pdf
Odoo Warehouse Management           .pdfOdoo Warehouse Management           .pdf
Odoo Warehouse Management .pdf
dela33martin33
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdfChapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
hamsalubekana
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdfThe-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
makelinkak002
APNIC and Policy Development Process (PDP)
APNIC and Policy Development Process (PDP)APNIC and Policy Development Process (PDP)
APNIC and Policy Development Process (PDP)
APNIC
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
treyka
Introduction to WordPress Basics - WP 101
Introduction to WordPress Basics - WP 101Introduction to WordPress Basics - WP 101
Introduction to WordPress Basics - WP 101
Joe Querin
Expert Odoo support services (1).pdf
Expert Odoo support services     (1).pdfExpert Odoo support services     (1).pdf
Expert Odoo support services (1).pdf
dela33martin33
MiniTool Power Data Recovery Crack Latest
MiniTool Power Data Recovery Crack  LatestMiniTool Power Data Recovery Crack  Latest
MiniTool Power Data Recovery Crack Latest
adreeskhan14780
Chapter 6-firewalls-whitman-information security.ppt
Chapter 6-firewalls-whitman-information security.pptChapter 6-firewalls-whitman-information security.ppt
Chapter 6-firewalls-whitman-information security.ppt
ayeshabatool947681
DT Presentation[1].pptxeffsffewfwefewfewefefeef
DT Presentation[1].pptxeffsffewfwefewfewefefeefDT Presentation[1].pptxeffsffewfwefewfewefefeef
DT Presentation[1].pptxeffsffewfwefewfewefefeef
dipanshu1721
IETF 122: draft-ietf-regext-rdap-rir-search-16
IETF 122: draft-ietf-regext-rdap-rir-search-16IETF 122: draft-ietf-regext-rdap-rir-search-16
IETF 122: draft-ietf-regext-rdap-rir-search-16
APNIC
Amazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
Amazon Sidewalk: A Global Wake-Up Call for the Telecom IndustryAmazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
Amazon Sidewalk: A Global Wake-Up Call for the Telecom Industry
David Swift
Mdf Board manufacturer in india.........
Mdf Board manufacturer in india.........Mdf Board manufacturer in india.........
Mdf Board manufacturer in india.........
veerseo13
D 1.2 TYPES OF NETWORKS.ppt. for computer
D 1.2 TYPES OF NETWORKS.ppt. for computerD 1.2 TYPES OF NETWORKS.ppt. for computer
D 1.2 TYPES OF NETWORKS.ppt. for computer
ramniwaskukna874
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh ThakurComplete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Complete Nmap Scanning Commands CheatSheet by Hackopedia Utkarsh Thakur
Hackopedia Utkarsh Thakur
Shopify Store Setup_ Database Management for Large Stores.pdf
Shopify Store Setup_ Database Management for Large Stores.pdfShopify Store Setup_ Database Management for Large Stores.pdf
Shopify Store Setup_ Database Management for Large Stores.pdf
CartCoders
howtogetthebestdatascientistcertification-250311104155-e239704a.pdf
howtogetthebestdatascientistcertification-250311104155-e239704a.pdfhowtogetthebestdatascientistcertification-250311104155-e239704a.pdf
howtogetthebestdatascientistcertification-250311104155-e239704a.pdf
pavan2233chunduru
Hire Odoo Consultant .pdf
Hire Odoo Consultant                .pdfHire Odoo Consultant                .pdf
Hire Odoo Consultant .pdf
dela33martin33
Measuring ECN, presented by Geoff Huston at IETF 122
Measuring ECN, presented by Geoff Huston at IETF 122Measuring ECN, presented by Geoff Huston at IETF 122
Measuring ECN, presented by Geoff Huston at IETF 122
APNIC
Odoo Warehouse Management .pdf
Odoo Warehouse Management           .pdfOdoo Warehouse Management           .pdf
Odoo Warehouse Management .pdf
dela33martin33
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdfChapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
Chapter 1 Handoutfffffffffffffffffffffffffffffffffffff.pdf
hamsalubekana
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdfThe-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
The-Power-of-Digital-Marketing-Fueling-Business-Growth.pdf
makelinkak002
APNIC and Policy Development Process (PDP)
APNIC and Policy Development Process (PDP)APNIC and Policy Development Process (PDP)
APNIC and Policy Development Process (PDP)
APNIC
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
Epochalypse 2038 - Remediating the 32-bit Timestamp Risk at Global Scale (Pub...
treyka
Introduction to WordPress Basics - WP 101
Introduction to WordPress Basics - WP 101Introduction to WordPress Basics - WP 101
Introduction to WordPress Basics - WP 101
Joe Querin
Expert Odoo support services (1).pdf
Expert Odoo support services     (1).pdfExpert Odoo support services     (1).pdf
Expert Odoo support services (1).pdf
dela33martin33
MiniTool Power Data Recovery Crack Latest
MiniTool Power Data Recovery Crack  LatestMiniTool Power Data Recovery Crack  Latest
MiniTool Power Data Recovery Crack Latest
adreeskhan14780
Chapter 6-firewalls-whitman-information security.ppt
Chapter 6-firewalls-whitman-information security.pptChapter 6-firewalls-whitman-information security.ppt
Chapter 6-firewalls-whitman-information security.ppt
ayeshabatool947681
DT Presentation[1].pptxeffsffewfwefewfewefefeef
DT Presentation[1].pptxeffsffewfwefewfewefefeefDT Presentation[1].pptxeffsffewfwefewfewefefeef
DT Presentation[1].pptxeffsffewfwefewfewefefeef
dipanshu1721

How to contribute projects to drupal.org? 2018 drupal north

  • 1. 息 Groupe CGI inc. CONFIDENTIEL How to contribute projects to drupal.org? Level: Beginners Adrian Cid Almaguer Drupal North Toronto 2018
  • 2. Adrian Cid Almaguer (adriancid) 2 https://www.drupal.org/u/adriancid https://github.com/adrian-cid/ @adriancid Drupaling for 6 years 2 months The Drupal Association is dedicated to fostering and supporting the Drupal software project, the community and its growth. You can help being member. https://www.drupal.org/project/contribute
  • 3. Some concepts ... Contribute: 3 to give (money, time, knowledge, assistance, etc.) to a common supply, fund, etc., as for charitable purposes. Can you contribute to Drupal? Example: Can you contribute to buy my ticket for the DrupalCon?
  • 4. We will talk about: How to create a Drupal project How to work with the issue queue Simple tasks for your first contributions Some commons project issues Drupal standards The project page Release the project 4
  • 5. You say: How to contribute projects to drupal.org? Thats so easy https://www.drupal.org/node/1068942 https://www.drupal.org/node/add/project-project 5 1.Visit the Create project page. 2.Fill out the form. 3.Enter a project shortname. 4.Click the Save button. 5.Click the Version control tab for instructions on how to start committing. You can run but this don't make you a runner. Don't applaud, just throw money. HARD
  • 6. 1. Visit the Create project page https://www.drupal.org/node/add/project-project 6 The presentation will be focused in module projects but is applicable in 90% to all the other project types. All the code is based in Drupal 8, you must discover if it works for Drupal 7 :-)
  • 7. 2. Fill out the form 3. Enter a project shortname https://www.drupal.org/node/add/project-module 7
  • 8. 4. Click the Save button https://www.drupal.org/node/add/project-module https://www.drupal.org/node/23789 8 Before creating a new full project, please consider whether your project might be better suited as a feature addition or patch to an existing project, as opposed to a brand new module. Drupal Community promotes collaboration rather than competition
  • 9. 5. Click the Version control tab for instructions on how to start committing 9 Now we have a Drupal project and we can start having fun.
  • 10. Our battlefield Alors je vais pouvoir migrer mon module avec les conseils que vous allez donner ici? 10 The issue queue!
  • 11. Issue queue When you create a new project the issue queue is activated by default, but if you dont find it or want to disable it for some reason this is possible editing the project page. 11 https://www.drupal.org/project/drush_help In the Issues tab you have the option
  • 12. Issue queue 12 https://www.drupal.org/project/drush_help This is the project page for the Drush Help module, in the left side some informations about the project issues. Pay attention to the guidelines!
  • 13. Creating an issue (Asana module) 13 You can configure this text editing the project page Have you read (dont see) this text?
  • 14. Creating an issue (Webform module) 14 Usually we maintain projects in our free time, so please help us in this task. A well described issue help a lot.
  • 15. Ok, I get the point, lets create our First Issue! 15 (This is a real issue in the onlyone module) Problems Even if drupal.org add a message when youre adding a new issue and you add another, nobody read this section. Have you read the message with the blue background anytime? Buddy we need to organize our job, its free but take our time.
  • 16. 16 (This is a real issue in the onlyone module) We live in many different countries and speak many different languages, so, in Drupal we need to use English to allow the communication. I know is hard. Im a good example of this. But, we have tools like Google Translate. Applause for Google Translate, without it this presentation would not have been possible ;-) Problems I recommend Grammarly (www.grammarly.com) Works with Firefox and Chrome with a free plan and will help you a lot improving your messages in the issue queue. Ok, I get the point, lets create our First Issue!
  • 17. 17 (This is a real issue in the onlyone module) Problems Thats what the Issue Summary Template says. Sometimes even if you described the problem without the steps to reproduce is hard to see the problem and try to fix it. Ok, I get the point, lets create our First Issue!
  • 18. (This is a real issue in the onlyone module) 18 Be polite Remember, you started like a baby, then you made some steps, then you walked and then you run. We need to teach others in the correct way. The Force you must feel in your heart my Padawan, the Dark Side it should not take. https://www.drupal.org/about/values-and-principles Ok, I get the point, lets create our First Issue!
  • 19. Then how a correct issue should look like? 19https://www.drupal.org/project/drupal/issues/2925972 Master, this only happens in core. Wrong are you, my boy. Master, whats this blue button that I never see before? Patience you must be, all the secrets will be shown to you if you remain at pace. http://test.drupalskills.org/
  • 20. Fight like a Jedi in the Issue Queue with DrEditor. DrEditor An extension for Drupal.org that enhances user experience and functionality. Features: 20 https://dreditor.unicorn.fail/ https://chrome.google.com/webstore/detail/dreditor/dhdpoembhlojpmehepeadblhglloobao https://www.millwoodonline.co.uk/sites/default/files/2018-03/dreditor.xpi https://drupalize.me/videos/installing-and-using-dreditor Template insertion Patch reviewer Auto-completion Image attachment embedder No boy, there is no more dark age in the Issue queue. No more excuses to dont review a patch, no more excuses about not using the Issue Summary Template. SHOW ME PLEASE !!!!!
  • 21. DrEditor. Template insertion 21 With DrEditor Master, why you dont show me this in my first Drupal days? My Padawan, an evolution path is the suffering, is hard, but is a path. Now follow me if in the darkness you dont want to remain.
  • 22. DrEditor. Patch reviewer 22 Without DrEditor https://www.drupal.org/project/node_revision_delete/issues/2911844 With DrEditor
  • 23. DrEditor. Patch reviewer 23 With DrEditor Master. whats this blue site? My little Padawan, you are kidding me? https://simplytest.me/ Master, I wish but it seems that I been stucked in the past. Wake up you must, the future is this. simplytest.me helps you to find the module, theme or distribution that fits your needs. It provides sandbox environments for testing the functionality of any project before even downloading it. How many times I have installed Drupal to test something
  • 24. DrEditor. Patch reviewer 24 With DrEditor Select lines in the diff to enter a patch review comment. Select further lines if the same comment pertains to other lines as well. Press "Save" to store a comment. Press "Paste" to insert all comments including selected lines into the issue. Use the jump menu in the sidebar to quickly jump to individual files or hunks in files. Little Padawan, Review patches was never so easy. See you more frequently contributing to Drupal I hope.
  • 25. DrEditor. Auto-completion 25 With DrEditor Pressing the TAB key after certain character sequences automatically completes or converts the entered characters into a full string, and moves the cursor to the next best input position. HTML: Type <ul to get <ul></ul>, <block to get <blockquote></blockquote>, etc. Usernames: Type @s to get @sun, @sl to get @slantview, etc. Only usernames contained on the current page are available. No more copy and paste! Comment #IDs: Type #42 and hit TAB to convert it into a link to the corresponding issue comment. #0 links to the OP. No more copy and paste! Issue URLs: Paste http://drupal.org/node/123456 and hit TAB to get [#123456]. Tip: use [#nnn] syntax and Drupal.org will automatically link to the issues and show their current status.
  • 26. DrEditor. Image attachment embedder 26 With DrEditor No more problems adding images to your issue summary My Padawan, the weapons to fight in the issue queue you have. Now go out and conquer the Drupal world.
  • 27. 27 Simple tasks for your first contributions.
  • 28. Let Drupal 8 know about your module with an .info.yml file Thats what you need to bring your creation to life. 28 https://www.drupal.org/node/2000204 https://www.drupal.org/project/asana/issues/2941097
  • 29. Let Drupal 8 know about your module with an .info.yml file 29 https://www.drupal.org/node/2000204 https://www.drupal.org/project/asana/issues/2941097
  • 30. In Drupal there is module for anything, but what we can do with it? 30 https://www.drupal.org/docs/develop/documenting-your-project/readme-template https://www.drupal.org/node/632280
  • 33. 33 https://www.drupal.org/node/2514612 https://getcomposer.org/doc/04-schema.md#keywords I need a library for my module, what I can do? Padawan a secret I need to show you. Have you hear about Composer before? Master, are you coming today with many strange words. This word you must not forget, many nightmares will provide you in the future.
  • 35. 35 Keep the record of your changes. Padawan a records of your changes you must keep. In Drupal a standard we have even for go to the bathroom. My time dont make me waste. Master, what about the git log command? https://www.drupal.org/project/issues/ideas And if there is not a standard for wherever you want to do, the Drupal core ideas issue queue you must visit and a good issue requesting it you must write.
  • 37. 37 Keep the record of your changes. Master but I will need to take each commit message and write this file, I will feel like my first day in the Jedi Academy. Strong our community is, a tool we have to create this file.
  • 39. 39 Your form elements follow the Drupal user interface standard? https://www.drupal.org/docs/develop/user-interface-standards https://www.drupal.org/node/632280 Read the links, you will be surprised.
  • 41. 41 The project page. Little Padawan, now that we have a Drupal module, the project page we must write. Master, we only have 4 insignificant issues, how you can says that we have a module? Padawan are you really listen to me? A Drupal module we have created a few minutes ago! You dont remember this? Remember, this is all you need! an info.yml file
  • 42. 42 Tips for a great project page https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful Project pages should be helpful; there are literally thousands of modules, themes and installation profiles and site builders need a clear way to understand what your project does. Synopsis Requirements Recommended modules Known problems Similar projects and how they are different Dependencies Restrictions Resources
  • 43. 43 Tips for a great project page. Synopsis https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful What does the project do? What problem does it solve? Who is the intended audience? You may want to provide a bulleted list of features to help people quickly figure out if it's useful to them. Project page Module help page
  • 44. 44 Tips for a great project page. Requirements https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful Link to required modules and any other extraordinary items or steps needed to install or use. Mention and link to all required external libraries. Project pageModule README.txt file
  • 45. Module README.txt file 45 Tips for a great project page. Recommended modules https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful You should list any modules that is not explicitly required, but will, if enabled, enhance the usefulness or user experience of the project. Project page
  • 46. Project issue queue 46 Tips for a great project page. Known problems https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful Be upfront about any known problems, bugs, etc. Link to active issues regarding those problems. Project page
  • 47. 47 Tips for a great project page. Similar projects and how they are different https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful Your project page should make an effort to inform users about alternatives to your module if they exist. This will allow the community to make more informed decisions about what modules to use. Project page Drupal search This is hard to do, you need to find the modules, test it, study the code and find the differences.
  • 48. 48 https://www.drupal.org/node/997024 http://drupalsun.com/lisa/2010/12/13/module-owners-how-make-your-module-description-useful Tips for a great project page. Resources The template for your project page has a tab labeled "Resources" near the bottom. This information will be visible in the project page in the left side under Documentation and Resources
  • 49. 49 Stay tuned. Follow the change records for Drupal core! @drupal8changes is a bot that tweets published Drupal core change records https://www.drupal.org/list-changes/drupal
  • 50. 50 Managing core changes in our modules Remember the Issue Summary Template
  • 51. Inform your users about the changes 51
  • 52. Write guides for your project https://www.drupal.org/docs/8/modules/allow-a-content-type-only-once-only-one
  • 53. Write guides for your project https://www.drupal.org/docs/8/modules/allow-a-content-type-only-once-only-one
  • 54. 54 https://www.drupal.org/node/1068944 https://www.drupal.org/project/admin_toolbar/git-instructions Return to the main project page, and click the Add new release link at the bottom of the page. Select your branch, such as 8.x-1.x, and save the form. Select the terms that correspond to the nature of the release (Features, Bug fixes) and fill out release notes.
  • 55. Using Git Release Notes for Drush drush rn Release Notes https://www.drupal.org/project/grn https://glamanate.com/blog/creating-better-drupal-module-release-notes Using Drupal.org CLI drupalorg maintainer:release-notes
  • 57. 57 Keep in mind! Learn how to contribute to Drupal take me years, and I'm still learning, so dont think this presentation is a magic wand, I cant teach you all the tricks in 1 hour, but at least I can push your mind to start the long way to the coronation.
  • 58. 58 Some modules that I maintain: 1.Admin Toolbar 2.Allow a content type only once (Only One) 3.Drush Help 4.Modules weight. 5.Node Revision Delete For the full list: https://www.drupal.org/u/adriancid If you feel that this presentation was useful for you, please clap your hands, if it wasn't, don't worry my boss is paying me to be here with you.
  • 59. Thank you for your attention
  • 60. 60 Little Padawan, many things you have see for the moment, time to take a break is. I hope you're still awake and have not fallen asleep. Yes master, Im still awake
  • 61. And sorry for my english, next time will be in Spanish and you will enjoy it.