Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal のコア / モジュールへのコントリビュート方法について

GOTO Hayato
January 13, 2017

Drupal のコア / モジュールへのコントリビュート方法について

DrupalCamp Japan 2017 の資料です。

http://2017camp.drupaljapan.org/

GOTO Hayato

January 13, 2017
Tweet

More Decks by GOTO Hayato

Other Decks in Technology

Transcript

  1. ͜Μͳํ΁ • A. ίϯτϦϏϡʔτʹڵຯ͕͋Δ • ʮ Drupal ʹ΋ͬͱίϯτϦϏϡʔτ͍ͨ͠ʯ • B.

    ίϯτϦϏϡʔτʹϝϦοτΛײ͡ͳ͍ • ʮίϯτϦϏϡʔτͳ͊ɾɾɾ΍Γ͍ͨਓ͕΍Ε͹ʁʯ
  2. Drupal ΁ͷίϯτϦϏϡʔτํ๏ • 1. ίʔυ • 2. υΩϡϝϯτ • 3.

    αϙʔτ • 4. ίϛϡχςΟ • 5. ຋༁ • 6. ձһ/د෇
  3. d.o. Πγϡʔͷεςʔλε 1. ࡞ۀத • Active • Needs work •

    Needs review • Reviewed & tested by the community • Patch (to be ported)
  4. d.o. Πγϡʔͷεςʔλε 4. ऴྃ • Closed (duplicate) • Closed (won't

    fix) • Closed (works as designed) • Closed (cannot reproduce) • Closed (outdated) • Closed (fixed)
  5. d.o. Πγϡʔͷεςʔλε 1. ࡞ۀத • Active • Needs work •

    Needs review • Reviewed & tested by the community • Patch (to be ported)
  6. d.o. Πγϡʔͷεςʔλε 4. ऴྃ • Closed (duplicate) • Closed (won't

    fix) • Closed (works as designed) • Closed (cannot reproduce) • Closed (outdated) • Closed (fixed)
  7. 1. Լ४උ 3. ίϚϯυʢ͋Δͱศརʣ • ։ൃϦϙδτϦ͔Βͷμ΢ϯϩʔυ༻ͷؔ਺ function dgit { git

    clone "https://git.drupal.org/project/{$1}.git" } # ར༻ dgit views dgit ctools
  8. 1. Լ४උ ͦͷଞ • Dreditor - dreditor.org • d.o. ͷΠγϡʔϖʔδͷ

    UI վળͷ Chrome ֦ு • Coder - composer g require drupal/coder • ίʔσΟϯάελϯμʔυ४ڌνΣοΫ
  9. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  10. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  11. 2. ύονͷϨϏϡʔ: ಈ࡞໘ (1/6) ΠγϡʔΛબ୒ • d.o. ͷΠγϡʔҰཡΛ։͘ d.o./project/issues •

    ϨϏϡʔ͕ඞཁͳΠγϡʔʹߜΓࠐΈ Status: Needs review / Category: Bug report • ͞Βʹ Project ͰߜΓࠐΈ • Αͦ͞͏ͳΠγϡʔΛબ୒
  12. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  13. 2. ύονͷϨϏϡʔ: ಈ࡞໘ (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • αϚϦʔΛಡΉ: ໰୊͸ʁݪҼ͸ʁ࠶ݱखॱ͸ʁ • ίϝϯτΛಡΉ:

    αϚϦʔʹແ͍৘ใ͸ʁݱࡏͷ߹ҙࣄ߲͸ʁ • ରԠΛ൑அ: ରԠͰ͖ΔʁରԠ͍ͨ͠ʁ
  14. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  15. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  16. 2. ύονͷϨϏϡʔ: ಈ࡞໘ (4/6) ύονΛϨϏϡʔ • όά͕ղܾ͞ΕΔ͔ϒϥ΢βͰ֬ೝ • ☑ ໰୊͕ղܾ͞ΕΔʁ

    • ☑ ܯࠂ΍Τϥʔ͕ൃੜ͠ͳ͍ʁ • ☑ ͦͷଞࢥΘ͵෭࡞༻͸ͳ͍ʁ • ☑ ύονΛ໭͢ͱ໰୊͕෮ݩ͞ΕΔʁ
  17. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  18. 2. ύονͷϨϏϡʔ: ಈ࡞໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  19. 2. ύονͷϨϏϡʔ: ίʔυ໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  20. 2. ύονͷϨϏϡʔ: ίʔυ໘ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ •

    (3/6) ύονΛ֬ೝ • (4/6) ύονΛϨϏϡʔ ← ಈ࡞໘ͱͷ͕͍ͪ • (5/6) ϨϏϡʔίϝϯτΛ౤ߘ • (6/6) ฦ৴
  21. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  22. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  23. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  24. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  25. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  26. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  27. 3. ύονͷ࡞੒ • (1/6) ΠγϡʔΛબ୒ • (2/6) αϚϦʔͱίϝϯτΛ֬ೝ • (3/6)

    ύονΛ֬ೝ • (4/6) ύονΛ࡞੒ • (5/6) ύονΛ౤ߘ • (6/6) ฦ৴
  28. ίϯτϦϏϡʔγϣϯͷϝϦοτ 2. ϦΫϧʔςΟϯά ˒ˑˑ • ೝ஌ͷ֦େ + ٕज़ྗ/OSS ΁ͷཧղͷΞϐʔϧ •

    ৽نελοϑͷ֫ಘ + طଘελοϑͷ཭৬཰௿ݮ • ͨͩ͠ d.o. ͰͷΞϐʔϧ͚ͩͰ͸ෆ଍
  29. ίϯτϦϏϡʔγϣϯͷͦͷଞ՝୊ 2. ӳޠ͕ۤखͩ • ʮ I have a pen. ʯ͕Θ͔Βͳ͍ͱ͔֬ʹͭΒ͍

    ൓࿦ • ʮۤख = Ұ੾ಡΊͳ͍ʯͰ͸ͳ͍͸ͣ • d.o. ͷ΄ͱΜͲͷਓ͸ඇωΠςΟϒ • จ๏͸ࢬ༿
  30. ίϯτϦϏϡʔγϣϯͷͦͷଞ՝୊ 3. ϑϦʔϥΠμʔ͕ؾʹͳΔ • ͔֬ʹίϯτϦϏϡʔτͯ͠Δਓͷׂ߹͸গͳ͍ ൓࿦ • OSS ͷੈք͸΄ͱΜͲϑϦʔϥΠμʔ •

    ղܾࡦΛඇެ։ʹͨ͠ͱͯ͠΋୭͔͕͍ͣΕղܾ͢Δ • ίϯτϦϏϡʔτͷ ROI ΛߴΊΕ͹ؾʹͳΒͳ͍ʢʁʣ
  31. Ͳ͔͜Β࢝ΊΕ͹͍͍͔ ύονͰͷίϯτϦϏϡʔτͷ࢝Ίํ • 1. ʮ Novice λεΫʯ • 2. ʮৄ͍͠Ϟδϡʔϧʯ

    • 3. ʮڵຯͷ͋ΔϞδϡʔϧʯ • 4. ʮΫϦςΟΧϧΠγϡʔʯ • 5. ʮ͍ͭͰʹʯ
  32. ࢀߟ: drupal.org • Ways to get involoved ίϛϡχςΟ΁ͷࠞ͟Γํ https://www.drupal.org/contribute •

    Why get involved? ίϛϡχςΟʹࠞ͟ΔϝϦοτ https://www.drupal.org/node/2486391 • Contributor Tasks ίϯτϦϏϡʔλʔ͕Ͱ͖Δ͜ͱ https://www.drupal.org/contributor-tasks
  33. ࢀߟ: drupal.org • Novice code contribution guide ίʔυͰͷίϯτϦϏϡʔγϣϯͷ࢝Ίํ https://www.drupal.org/novice •

    Contribute to development ίʔυͰίϯτϦϏϡʔτ͢Δͱ͖ͷ஫ҙ఺ https://www.drupal.org/contribute/development
  34. ࢀߟ: drupal.org • Use the issue queue ΠγϡʔΩϡʔͷ࢖͍ํ https://www.drupal.org/issue-queue •

    Making a Drupal patch with Git ύονͷ࡞Γํ https://www.drupal.org/node/707484
  35. ࢀߟ: drupal.org • Drupal Code of Conduct Ϛφʔ https://www.drupal.org/dcoc •

    How to enact change within the Drupal community ίϛϡχςΟ͔Βࢥ͍௨Γͷ൓ԠΛಘΔͨΊͷ৺ಘ https://www.drupal.org/node/36602
  36. ࢀߟ: drupal.org Ҏ֎ • Drupalize.Me • Write a Patch https://drupalize.me/videos/write-patch

    • Test patches https://drupalize.me/videos/test-patches • Applying and Creating Patches with Git https://drupalize.me/videos/applying-and- creating-patches-git