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

OSS CMS「Drupal 10」 エッセンシャル:最新版でのWeb開発の魅力を探る #oscnagoya

OSS CMS「Drupal 10」 エッセンシャル:最新版でのWeb開発の魅力を探る #oscnagoya

Drupalは、オープンソースのCMS(コンテンツ管理システム)であり、世界中の多くのウェブサイトで使用されています。Drupal 10は、最新バージョンであり、新しい機能や改善が追加され、より優れたウェブサイトを開発できるようになっています。このセッションでは、Drupal 10を使用してウェブサイトを開発する魅力や、私たちのコミュニティを含むDrupal周辺のコミュニティについて説明します。

https://event.ospn.jp/osc2023-online-nagoya/session/876148

HikaruMaruyama

May 20, 2023
Tweet

More Decks by HikaruMaruyama

Other Decks in Programming

Transcript

  1. OSS CMSʮDrupal 10ʯ

    Τοηϯγϟϧɿ࠷৽൛Ͱͷ


    Web։ൃͷັྗΛ୳Δ
    Drupal Meetup ๛ా


    ؙࢁ ͻ͔Δ
    Open Source Conference 2023 Online/Nagoya

    View Slide

  2. ࣗݾ঺հ
    ؙࢁ ͻ͔Δ


    ● 1991೥10݄29೔ ੜ·Ε


    ● ಠཱܥιϑτ΢ΣΞ։ൃձࣾͰιϑτ΢ΣΞΤϯδχΞ


    ● ͷͪΤόϯδΣϦετͱͯ͠ϓϩμΫτͷܒ໤׆ಈ


    ● 2019೥8݄ ΞΫΠΞʹδϣΠϯ


    ● ΢ΣϒαΠτͷίϯςϯπͷٕज़຋༁΍ϩʔΧϥΠζΛ
    ୲౰

    ● Ruby / Rails / Web API / Docker / AWS

    ϥʔϝϯ / εΠʔπ / Ωϟϯϓ൧ / ొࢁ

    View Slide

  3. Drupal Meetup ๛ా
    ● 2018೥5݄͔Β։࠵


    ● 2020೥4݄͔ΒΦϯϥΠϯ։࠵


    ● Ѫ஌ݝ಺΍ݝ֎ͷDrupalʹڵຯͷ͋Δਓ͕
    ू·͍ͬͯΔίϛϡχςΟ


    ● ษڧձͱ͍͏ΑΓ͸Drupalؔ࿈ͷ࿩୊ʹͭ
    ͍ͯ࠲ஊձͳงғؾ


    ● https://drupal-meetup-
    toyota.connpass.com

    View Slide

  4. ● Drupalͷ࠷৽όʔδϣϯʮ10ʯ͕2022೥12݄ʹొ৔🎉


    ● ͦ͜ͰվΊͯ...


    ● Drupalͱ͸ͳΜͧ΍ɺDrupal 10ͰԿ͕มΘͬͨͷ͔


    ● DrupalΛ࢖༻ͯ͠΢ΣϒαΠτΛ։ൃ͢Δັྗ


    ● DrupalपลͷίϛϡχςΟʹ͍ͭͯ


    ʹ͍ͭͯ঺հ͠·͢!
    ͓࿩͢͠Δ͜ͱ

    View Slide

  5. Drupalͷ֓ཁ

    View Slide

  6. Drupalͱ͸ʁ
    PHPͰͰ͖ͨΦʔϓϯιʔεCMS!


    σδλϧମݧΛఏڙ͢ΔɺΦʔϓϯιʔε
    ͷCMS(Content Management System)ɻ


    NASAɺΦʔετϥϦΞ੓෎ɺNASDAQͳ
    Ͳͷۚ༥ػ͔ؔΒɺωεϨɺϑΝΠ
    βʔɺIBMͳͲ༷ʑͳ૊৫͕DrupalΛ࠾
    ༻ɻ
    ࡞ऀ Dries Buytaert
    ݴޠ PHP
    ϥΠηϯε GPL v2Ҏ߱
    ॳճϦϦʔε 2001೥1݄15೔
    ެࣜαΠτ drupal.org
    ιʔείʔυ git.drupalcode.org/project/drupal
    ࠷৽όʔδϣϯ 10.0.9 (2023೥5݄18೔࣌఺)

    View Slide

  7. CMSࢢ৔ͷγΣΞ
    CMS γΣΞ཰(2023೥1݄)
    WordPress 63.70%
    Shopify 5.70%
    Wix 3.60%
    Squarespace 3.00%
    Joomla 2.70%
    Drupal 1.80%
    Adobe Systems 1.70%
    PrestaShop 1.00%
    https://w3techs.com/technologies/history_overview/
    content_management/ms/y

    View Slide

  8. Drupalͷಛ௃
    Πϯετʔϧ͙ͯ͢͠ʹ࢖͑ΔCMSͳΒͰ͸ͷखܰ͞


    ˍWebϑϨʔϜϫʔΫͱͯ͠΋ػೳ͢Δߴ͍ॊೈੑ!


    ● ϞδϡʔϧੑʢModularityʣΛݪଇͱͨ͠ઃܭ


    ● ߏ଄Խ͞ΕͨίϯςϯπΛߏங͢Δͷʹ໾ཱͭ


    ● ͙͢ʹ࢖͑Δඪ४ػೳ


    ● Ϣʔβʔݖݶ؅ཧɺΫΤϦϏϧμʔɺଟݴޠͳͲଟ͘ͷػೳ͕ඪ४૷උ


    ● ͜ΕΒ΋ϞδϡʔϧͰࡉ͔͘ػೳ͕ผΕ͍ͯΔ


    ● ֦ுੑ


    ● ίϛϡχςΟͰఏڙ͞ΕΔ਺ສݸ΋ͷϞδϡʔϧɺςʔϚɺσΟετϦ
    ϏϡʔγϣϯΛ૊Έ߹ΘͤΔ͜ͱͰDrupalίΞΛڧԽ

    View Slide

  9. Drupalͷϙδγϣχϯά
    ߴ


    Χ
    ε
    λ
    Ϛ
    Π
    ζ

    ߴՁ֨
    Drupal
    Ruby on Rails


    LaravelͳͲ
    WordPress
    ΤϯλʔϓϥΠζ


    ޲͚঎༻CMS
    Jekyll
    ௿Ձ֨ˍߴΧελϚΠζ!


    ● ΦʔϓϯιʔεͳͷͰϥΠη
    ϯεඅ༻͕ແྉ


    ● ΧελϚΠζΛߦ͏্Ͱͷ౔
    ୆͕͔ͬ͠Γ͍ͯ͠Δ

    View Slide

  10. Drupalʹ޲͍͍ͯΔαΠτͷҰྫ
    ίϯςϯπྔ

    ͕ଟ͍


    ੡඼৘ใαΠτ
    άϩʔόϧ

    (ଟݴޠ)ରԠ


    άϩʔόϧاۀαΠτ
    ߴ͍҆શੑ


    Λҡ࣋


    ϛογϣϯΫϦςΟΧϧͳαΠτ
    Ϛϧννϟωϧ

    ΁ͷ഑৴


    ϔουϨεCMS
    ϚʔέςΟϯά

    πʔϧͱͷ࿈ܞ


    ϒϥϯυαΠτ
    Ϣʔβʔձһ


    ରԠ


    ࣾ಺ϙʔλϧ

    View Slide

  11. Drupal 10ʹ͍ͭͯ

    View Slide

  12. Drupal 7 : 2011೥1݄


    ↓ 4೥൒


    Drupal 8 : 2015೥11݄

    ↓ 4೥൒


    Drupal 9 : 2020೥6݄

    ↓ 2೥൒


    Drupal 10 : 2022೥12݄
    աڈͷϝδϟʔόʔδϣϯͷϦϦʔε೔
    Drupal 9→10͸ɺଞͷ

    ϝδϟʔΞοϓσʔτͷ

    ִؒΑΓ୹͍!

    View Slide

  13. ● Drupal 10ͷϦϦʔε೔͸ɺDrupal 9ͷओͳґଘؔ܎͕Өڹ


    ● Drupal 9͕ґଘ͢ΔSymfony 4͸2023೥11݄ɺCKEditor
    4͸2023೥6݄ʹEOLΛܴ͑Δ


    ● Drupal 9ͷEOL͔Βٯࢉͯ͠Drupal 10ͷϦϦʔε໨ඪ೔͕
    ઃఆ͞Εͨ
    όʔδϣϯΞοϓͷഎܠ

    View Slide

  14. ৽͍͠ϑϩϯτΤϯυςʔϚ
    લϑϩϯτΤϯυςʔϚʮBartikʯ

    Drupal 7~9
    ݱϑϩϯτΤϯυςʔϚʮOliveroʯ

    Drupal 10~

    View Slide

  15. ৽͍͠؅ཧςʔϚ
    ݱ؅ཧςʔϚʮClaroʯ

    Drupal 10~
    લ؅ཧςʔϚʮSevenʯ

    Drupal 7~9

    View Slide

  16. DrupalͰͷςʔϚ։ൃͷํ๏͕৽͘͠ͳΔ!


    ● طଘͷςʔϚ։ൃํ๏Ͱ͸


    ● ϕʔεςʔϚͱ೿ੜςʔϚ͕ڞʹγεςϜ্ʹଘ
    ࡏ͠ɺ࣮ߦ࣌ʹܧঝ͞ΕΔ


    ● ϕʔεςʔϚ͕มߋ͞ΕΔͱαΠτͷݟͨ໨΍ಈ
    ࡞่͕ΕΔՄೳੑ͕͋ΓɺϕʔεςʔϚΛߋ৽Ͱ
    ͖ͳ͍՝୊


    ● Drupal 10ͷStarterkitͱ͸


    ● ޓ׵ੑͷ͋ΔςʔϚ͔ΒϑΥʔΫΛ࡞੒͠ɺͦ͜
    ͔Βίϐʔͯ͠࡞ۀ


    ● ϕʔεςʔϚͷߋ৽ΛऔΓࠐΉ͜ͱ΋Մೳ
    ৽͍͠ελʔλʔΩοτςʔϚ
    Drupal 9 Ҏલ
    ಠࣗςʔϚ
    ϕʔεςʔϚ
    Drupal 10 Ҏ߱
    Starterkit
    ςʔϚ
    ಠࣗςʔϚ

    View Slide

  17. ϞμϯͳϓϥοτϑΥʔϜ΁
    6.2Λ࢖༻ 8.1 or 8.2͕ඞཁ 2.3͕ඞཁ

    View Slide

  18. Drupal 9→10 ΁ͷΞοϓάϨʔυํ๏
    Drupal 8, 9, 10ͷΞʔΩςΫνϟ͸େͯ͠มΘΒͳ͍ͨΊɺ

    9→10΁ͷߋ৽͸ൺֱత؆୯


    1. Drupal 10ͷཁ݅Λ֬ೝ͠ద༻


    a. PHP 8.1ʙ, Composer 2.3ɾɾɾ


    2. Drupal 9.4 or 9.5 ΁ߋ৽͢Δ


    3. ίϯτϦϏϡʔτϓϩδΣΫτΛߋ৽͢Δ


    4. ΧελϜίʔυΛߋ৽͢Δ


    5. Drupal 10΁ΞοϓάϨʔυΛߦ͏ Ҏ্!
    https://www.drupal.org/docs/upgrading-drupal/upgrading-from-
    drupal-8-or-later/upgrading-from-drupal-9-to-drupal-10/overview

    View Slide

  19. Drupalͷجຊ֓೦

    View Slide

  20. DrupalαΠτʹଘࡏ͢Δσʔλ͸...
    DrupalαΠτʹ͸


    ͲͷΑ͏ͳछྨͷ


    σʔλ͕ଘࡏͯ͠
    ͍ΔͩΖ͏͔ʁ

    View Slide

  21. DrupalͰѻΘΕΔσʔλͷछྨ
    ओʹ4छྨʹ෼ྨ͞Ε·͢!


    1. Content: αΠτ๚໰ऀʹදࣔ͢Δ͜ͱΛ໨తͱͨ͠ςΩε
    τɺը૾ͳͲͷ৘ใ


    2. Configuration: αΠτͷಈ࡞ɺදࣔํ๏ͳͲΛఆٛ͢Δ৘
    ใɻ௨ৗ͸খ͞ͳςΩετͰදݱ͞ΕΔ܏޲


    3. State: cronδϣϒ͕࠷ޙʹ࣮ߦ͞Εͨ࣌ࠁͳͲɺαΠτͷ
    ݱࡏͷঢ়ଶʹؔ͢ΔҰ࣌తͳੑ࣭ͷ৘ใ


    4. Session: ϩάΠϯ͍ͯ͠Δ͔Ͳ͏͔΍CookieͳͲɺݸʑͷ
    αΠτ๚໰ऀͷαΠτͱͷ΍ΓऔΓʹؔ͢Δ৘ใ
    ͦΕͧΕҟͳΔํ๏Ͱ

    ฤूɺ຋༁ɺอଘ͞ΕΔ
    https://www.drupal.org/docs/user_guide/en/understanding-data.html

    View Slide

  22. ίϯςϯπΤϯςΟςΟ
    ● ίϯςϯπΤϯςΟςΟͱ͸ɺίϯςϯπͷӬଓతͳετ
    Ϩʔδʹ࢖༻͞ΕΔΦϒδΣΫτ


    ● DrupalͰσʔλΛѻ͏ํ๏ͷҰͭͰ͋Γɺσʔλ΍ίϯςϯ
    πͷϞσϦϯάΛߦ͏


    ● Drupal APIͷEntity APIͰCRUDૢ࡞͕ߦ͑Δ


    ● ϞδϡʔϧͰಠࣗʹΤϯςΟςΟΛఆٛͰ͖Δ

    View Slide

  23. ίϯςϯπΤϯςΟςΟͷߏ଄
    ίϯςϯπ λΫιϊϛʔ ϝσΟΞ
    جຊϖʔδ


    ຊจϑΟʔϧυ
    هࣄ


    ຊจϑΟʔϧυ


    ը૾ϑΟʔϧυ


    λάϑΟʔϧυ


    λά


    ຊจϑΟʔϧ
    υ
    ΧςΰϦ


    ຊจϑΟʔϧυ


    ը૾ϑΟʔϧυ
    ը૾


    ը૾ϑΟʔϧυ


    λάϑΟʔϧυ
    ಈը


    ϑΝΠϧϑΟʔϧ
    υ
    ίϯςϯπ


    ΤϯςΟςΟ
    ΤϯςΟςΟλΠϓ
    ΤϯςΟςΟαϒλΠϓ


    (= όϯυϧ)


    ͱϑΟʔϧυ
    ίϯςϯπΤϯςΟςΟ


    (= Πϯελϯε)
    ϖʔδ هࣄ λά
    Χςΰ
    Ϧ
    ը૾ ಈը

    View Slide

  24. ϦʔδϣϯͱϒϩοΫ
    ● Ϧʔδϣϯ: ϒϩοΫΛ഑ஔ͢Δ৔
    ॴɻϦʔδϣϯ͸ςʔϚ͝ͱʹఆٛ͞
    ΕΔ


    ● ϒϩοΫ: αΠτͷϨΠΞ΢τͷݸʑ
    ͷύʔπ

    View Slide

  25. Drupalͷ֤ϨΠϠʔͷಈ͖
    5. ςϯϓϨʔτ: CSS, HTML, Twig


    4. Ϣʔβʔݖݶ: ϢʔβʔʹͲͷૢ࡞ͱදࣔΛڐ
    Մ͢Δͷ͔


    3. ϒϩοΫ&ϝχϡʔ: ϦʔδϣϯʹϞδϡʔϧ͔
    Βͷग़ྗΛ഑ஔ


    2. Ϟδϡʔϧ: ֤ػೳΛఏڙ


    1. σʔλ: ςΩετɺը૾ͳͲͷ৘ใ
    https://www.drupal.org/docs/understanding-drupal/overview-of-drupal

    View Slide

  26. ηϚϯςΟοΫɾόʔδϣχϯά
    10.0.9
    ϝδϟʔ ϚΠφʔ ύον
    ޓ׵ੑͷͳ͍มߋΛ
    ߦ͏


    ਺೥ʹҰ౓
    ޙํޓ׵ੑΛอͪͳ͕Β
    ػೳੑΛ௥Ճ


    6ϲ݄ʹҰ౓
    ޙํޓ׵ੑΛ൐͏όά
    मਖ਼


    1ϲ݄ʹ1ʙ2౓
    https://semver.org/lang/ja/
    όʔδϣϯ

    φϯόʔ
    Ұൠతͳఆٛ
    Drupalͷ

    Ξοϓσʔτස౓
    Drupal 8͔Βόʔδϣϯ൪
    ߸ʹηϚϯςΟοΫɾόʔ
    δϣχϯά͕࢖༻͞ΕΔ

    View Slide

  27. DrupalΛ࢖༻ͨ͠Web։ൃ

    View Slide

  28. DrupalͷΧελϚΠζํ๏
    DrupalίΞ αϒγεςϜ
    ίΞϞδϡʔϧ ίΞςʔϚ
    ίϯτϦϏϡʔτϞδϡʔϧ ίϯτϦϏϡʔτςʔϚ
    ΧελϜϞδϡʔϧ ΧελϜςʔϚ
    1.Drupalͷඪ४ػೳΛͰ
    ͖Δ͚ͩ׆༻
    Ϟδϡʔϧ = ػೳ ςʔϚ = ϨΠΞ΢τ
    2.଍Γͳ͍ػೳ͸ίϛϡ
    χςΟ͔Βఏڙ͞ΕΔ
    ϓϩδΣΫτΛ࢖͏
    3.͞Βʹ଍Γͳ͍ػೳΛ
    ΧελϜίʔυͰิ͏
    ίΞΛ௚઀վม
    ͯ͠͸ͳΒͳ͍


    Never hack core!

    View Slide

  29. Drupalͷֶशύε
    ॳֶऀ
    Drupal΁Α͏ͦ͜ ։ൃ
    αΠτߏங


    DrupalʹؔΘΔਓ

    શ͕ͯର৅
    ςʔϚ࡞੒


    ओʹϑϩϯτΤϯυ։ൃऀ
    Ϟδϡʔϧ։ൃ


    ओʹόοΫΤϯυ։ൃऀ
    ίʔυ࣮૷ΛֶͿલʹ...


    ● ඪ४ػೳͰԿ͕Ͱ͖Δ͔


    ● ؅ཧը໘ͰԿ͕Ͱ͖Δ͔


    ● ֦ுϞδϡʔϧͰԿ͕Ͱ
    ͖Δ͔


    ΧελϜίʔυΛͳΔ΂͘ॻ
    ͔ͣʹߏஙͰ͖ΔΑ͏ʹ͢Δ!

    View Slide

  30. Drupalͷֶशύε
    ॳֶऀ
    Drupal΁Α͏ͦ͜ ։ൃ
    αΠτߏங


    DrupalʹؔΘΔਓ

    શ͕ͯର৅
    ςʔϚ࡞੒


    ओʹϑϩϯτΤϯυ։ൃऀ
    Ϟδϡʔϧ։ൃ


    ओʹόοΫΤϯυ։ൃऀ

    View Slide

  31. ؅ཧը໘ͰઃఆͰ͖Δ͜ͱʢྫʣ
    ● ίϯςϯπͷσʔλઃܭ


    ● ϒϩοΫͷ഑ஔɾද੍ࣔޚ


    ● ϞδϡʔϧɾςʔϚͷ༗ޮԽɾඇ༗ޮԽ


    ● ϝχϡʔͷ࡞੒


    ● ΫΤϦϏϧμʔπʔϧ(Views)ʹΑΔίϯςϯπͷϦετ࡞੒


    ● ϨΠΞ΢τϏϧμʔʹΑΔίϯςϯπͷϨΠΞ΢τߏங


    ● Ϣʔβʔͷ໾ׂɾݖݶઃఆ


    ● αΠτͷଟݴޠઃఆ


    ● ߏ੒σʔλͷΠϯϙʔτɾΤΫεϙʔτ


    ● etc…

    View Slide

  32. Drupalͷֶशύε
    ॳֶऀ
    Drupal΁Α͏ͦ͜ ։ൃ
    αΠτߏங


    DrupalʹؔΘΔਓ

    શ͕ͯର৅
    ςʔϚ࡞੒


    ओʹϑϩϯτΤϯυ։ൃऀ
    Ϟδϡʔϧ։ൃ


    ओʹόοΫΤϯυ։ൃऀ

    View Slide

  33. ςʔϚ։ൃํ๏
    ● ςϯϓϨʔτϑΝΠϧ: ςϯϓϨʔτΤϯδϯͱͯ͠Twig͕࠾༻͞Ε͍ͯΔɻ໋໊ن
    ଇ௨ΓͷϑΝΠϧ໊Λ෇༩͠ɺطଘͷίϯϙʔωϯτΛ্ॻ͖͢ΔܗͰ࡞੒͢Δɻ


    ● ΞηοτϥΠϒϥϦ: ςϯϓϨʔτʹCSS΍JSͷURLΛຒΊࠐΉͷͰ͸ͳ͘ɺΞηο
    τϥΠϒϥϦͱݺ͹ΕΔ಺෦ͷγεςϜʹొ࿥͢ΔܗͰߦ͏ɻ


    ● Ϧʔδϣϯ: ϒϩοΫΛ഑ஔ͢Δ৔ॴΛఆٛ͢ΔɻςʔϚͰϦʔδϣϯΛఆٛ͠ͳ͘
    ͯ΋ɺDrupalͷσϑΥϧτϦʔδϣϯΛ࢖༻͢Δ͜ͱ΋Մೳɻ

    View Slide

  34. ςʔϚΛܧঝͯ͠ޮ཰తʹςʔϚ։ൃΛߦ͏
    ίϯτϦϏϡʔτςʔϚΛΧελϚΠζ͍ͨ͠৔߹...


    ● ௚઀ॻ͖׵͑ͯ͠·͏ͱɺΞοϓσʔτͷࡍʹมߋ͕ࣦΘΕͯ͠·͏!


    ● ϕʔεςʔϚͱαϒςʔϚͷ࢓૊ΈΛ࢖͑͹ɺϑΝΠϧΛ௚઀ॻ͖׵͑Δ͜ͱͳ͘ΧελϚ
    Πζ͕Մೳ


    ● Bootstrap౳ͷσβΠϯϑϨʔϜϫʔΫΛ࢖༻͢Δ৔߹ɺඞཁͳߏ੒͕૊Έࠐ·Εͨελʔ
    λʔςʔϚ͕ଟ਺ެ։͞Ε͍ͯΔ


    ● ͜ͷΑ͏ͳςʔϚΛܧঝ͢Δ৽͍͠ํ๏ͱͯ͠ɺDrupal 10Ͱ͸ʮελʔλʔΩοτςʔ
    Ϛʯͱ͍͏࢓૊Έ͕ొ৔

    View Slide

  35. Drupalͷֶशύε
    ॳֶऀ
    Drupal΁Α͏ͦ͜ ։ൃ
    αΠτߏங


    DrupalʹؔΘΔਓ

    શ͕ͯର৅
    ςʔϚ࡞੒


    ओʹϑϩϯτΤϯυ։ൃऀ
    Ϟδϡʔϧ։ൃ


    ओʹόοΫΤϯυ։ൃऀ

    View Slide

  36. DrupalͱSymfonyίϯϙʔωϯτ
    ● DrupalͰ͸όʔδϣϯ8Ҏ߱ɺ͍͔ͭ͘ͷSymfonyίϯ
    ϙʔωϯτ͕ར༻͞Ε͍ͯΔ


    ● Symfonyίϯϙʔωϯτͱ͸ɺػೳΛWebΞϓ
    ϦέʔγϣϯϑϨʔϜϫʔΫ͔Β੾Γ཭࣮ͯ͠૷
    ͞ΕͨPHPϥΠϒϥϦ


    ● ελϯυΞϩϯϥΠϒϥϦͳͷͰɺ೚ҙͷPHPΞ
    ϓϦέʔγϣϯͰ࢖༻Մೳ


    ● Symfony͸ҰൠతͳWebΞϓϦέʔγϣϯ։ൃʹඞཁ
    ͳπʔϧ΍ػೳΛ༗͍ͯ͠ΔͨΊɺंྠͷ࠶։ൃΛ๷
    ࢭͨ͠ΓɺDrupalͰ͔͠Ͱ͖ͳ͍Ձ஋Λ࣮૷͢Δ࣌ؒ
    ʹॆͯΔ͜ͱ͕Մೳʹͳͬͨ
    DrupalͰར༻͍ͯ͠ΔSymfonyί
    ϯϙʔωϯτ(Ұ෦)


    ● Yaml


    ● HttpFoundation


    ● HttpKernel


    ● Translation


    ● EventDispatcher


    ● Console


    ● DependencyInjection


    ● Routing


    ● Serializer

    View Slide

  37. Ϟδϡʔϧͷ։ൃํ๏
    ϞδϡʔϧʹΑͬͯDrupalΛมߋɾ֦ு͢Δํ๏͸༷ʑ༻ҙ͞Ε͓ͯΓɺ΍Γ͍ͨ͜ͱʹΑͬͯΞϓϩʔν͕ҟͳΓ·͢ɻ


    ● ϑοΫ: Drupalͷಈ࡞Λมߋ͢Δؔ਺ɻطଘͷίʔυΛॻ͖׵͑Δ͜ͱͳ͘ɺDrupalίΞ΍ଞϞδϡʔϧͷಈ࡞Λม
    ߋɾ֦ுͰ͖ΔɻDrupalʹੲ͔Β͋Δखଓܕͷؔ਺ɻ

    ҎԼ͸Drupal 8Ҏ߱ʹొ৔


    ● ϓϥάΠϯ: খ͞ͳػೳΛఏڙ͠ɺଞͷϓϥάΠϯͱ؆୯ʹަ׵Մೳʹ͢Δɻ


    ● ΤϯςΟςΟ: ʮίϯςϯπʯ΋͘͠͸ʮߏ੒ʯͷɺӬଓతͳετϨʔδʹ࢖༻͞ΕΔΦϒδΣΫτɻ


    ● αʔϏε: ผ໊DIίϯςφɻґଘੑ஫ೖ(DI)ͱݺ͹ΕΔσβΠϯύλʔϯΛ࣮૷ͨ͠ϑϨʔϜϫʔΫɻSymfonyͷ
    DependencyInjectionίϯϙʔωϯτ্Ͱ࣮૷͞Ε͍ͯΔɻ


    ● ϧʔςΟϯά: ड͚औͬͨϦΫΤετʹରͯ͠ɺͲͷίϯτϩʔϥʔ/ΞΫγϣϯΛ࣮ߦ͢Δ͔ΛϚοϐϯά͢Δ΋
    ͷɻSymfonyͷϧʔςΟϯάγεςϜʹجͮ͘ɻ


    ● Πϕϯτ: SymfonyͷEventDispatcherίϯϙʔωϯτ্Ͱ࣮૷͞ΕͨΠϕϯτγεςϜɻ

    View Slide

  38. Drupal৘ใΛ୳্͢Ͱͷཹҙ఺
    DrupalͷϝδϟʔόʔδϣϯʹؾΛ͚ͭͯ৘ใΛࢀর͍ͯͩ͘͠͞!


    ● Drupal 10ʹ४ڌͨ͠৘ใ͕ཉ͍͠ͱࢥͬͨ࣌ɺDrupal 10Ͱݕࡧͯ͠΋·ͩ
    ·ͩগͳ͍Ͱ͢ɻ


    ● ͦΜͳ࣌ɺDrupal 8Ҏ߱ͷϝδϟʔόʔδϣϯͷ৘ใ΋ࢀߟʹͯ͠Έͯͩ͘
    ͍͞ɻ


    ● Drupal͸ɺ7→8Ͱେ͖ͳվम͕ߦΘΕɺΞʔΩςΫνϟ͕େ͖͘มΘ͍ͬͯ
    ΔͷͰDrupal 7Ҏલͷ৘ใ͸͋·ΓࢀߟʹͰ͖·ͤΜɻ

    View Slide

  39. ։ൃऀʹͱͬͯͷDrupalͷັྗ
    ● ίϛϡχςΟͷϞδϡʔϧΛ׆༻ͯ͠։ൃޮ཰Λ্͛Δ͜ͱ͕Ͱ͖Δ


    ● ΧελϜίʔυΛݮΒ͢ = ࣗ෼ୡ͕อक͢΂͖ൣғ͕ݮΓɺӡ༻ָ͕ʹ

    ● νʔϜ։ൃΛ΍Γ΍ͨ͘͢͠ΓɺܧଓతͳվળΛߦ͏ͨΊͷج൫΍πʔϧ͕͋Δ


    ● ΦϒδΣΫτࢦ޲ܕͷAPIɺComposerʹΑΔґଘؔ܎ͷ؅ཧɺߏ੒؅ཧπʔϧɺ
    Drush(CLI)ɺetc…

    ● ੈͷதͷσϑΝΫτΛৗʹऔΓೖΕ͍ͯΔ


    ● Symfonyίϯϙʔωϯτͷ׆༻ɺPHPUnitͷαϙʔτɺ໊લۭؒͱΦʔτϩʔυͷ࣮૷ɺ
    JSON:API΁ͷ४ڌɺetc…

    View Slide

  40. DrupalͷίϛϡχςΟ

    View Slide

  41. Drupalͷֶशίετ
    ● Drupal͸؅ཧը໘Ͱ৭ʑͰ͖Δ͠ɺ֦ுϞδϡʔϧͰ
    ϊʔίʔυͰͰ͖Δ෦෼͸ଟ͍͕ɺֶशίετ͕௿͍
    ༁Ͱ͸ͳ͍


    ● ॳΊͯ৮Δਓʹ͸Ͳͷ෦෼ͷߏஙΛ͍ͯ͠Δͷ͔ཧղ
    ͮ͠Β͍


    ● ೔ຊͰ͸೔ຊޠ৘ใ͕·ͩ·ͩগͳ͍...


    ● ͦ͜ͰίϛϡχςΟͷग़൪!
    http://www.codem0nk3y.com/2012/04/what-bugs-me-about-modx-
    and-why/cms-learning-curve/

    View Slide

  42. ● େ͖ͳΠϕϯτ


    ● DrupalCamp DEN 2019 Nagoya


    ● DrupalCamp DEN 2022 Osaka Online


    ● DrupalCamp DEN 2023 Iwakuni ←New!


    ● 2023೥1݄ ࢁޱݝؠࠃࢢͰ։࠵

    ● ఆظతͳΦϯϥΠϯษڧձ


    ● Drupal Meetup Ӌా


    ● Drupal Meetup ๛ా


    ● Drupal Meetup Tokyo


    ● etc…
    ೔ຊͰͷDrupalίϛϡχςΟ

    View Slide

  43. ίϛϡχςΟͰຊग़͠·ͨ͠🎉
    Drupal 9 Web։ൃΛ͸͡ΊΔͨΊͷബ͍ຊ


    ● ٕज़ॻయ10ͷग़లక੾೔ʢ2020೥11݄30೔)ʹࢥ͍
    ཱͬͯͱΓ͋͑ͣਃ͠ࠐΈ


    ● ࣥචظؒ͸໿3िؒ


    ● ؔ౦ɾ๺ւಓɾѪ஌ͷϝϯόʔ8ਓͰݪߘΛGitHub্Ͱ
    CIճ͠ͳ͕ΒϚʔδͯࣥ͠ච


    ● ͳΜͱ͔క੾DrivenͰॻ্͖͛ͨ!
    ʘ189ϖʔδͷബ͍ຊʗ


    ஶऀ: Drupal Meetup ๛ాࢧ෦


    ൃߦ೔: 2020/12/26


    ిࢠ൛: 800ԁ


    https://www.amazon.co.jp/dp/
    B08R8MNP65

    View Slide

  44. Drupal 10ͷຊ͕ࠓ೔͔Βൃച🎉
    ञ԰ͷ່ɺWebαΠτ੍࡞͠·͢

    -Drupal 10Ͱখ͞ͳ঎ళ͕֗DXʹ௅ઓʂ-


    ● ٕज़ॻయ14ʹ߹ΘͤͯɺDrupal 10ॳ৺ऀຊΛ7ਓͷϝϯ
    όʔͰࣥච


    ● લճͱ͸झ޲Λม͑ͯɺ෺ޠௐͰDrupalΛॳ৺ऀ޲͚ʹ
    ղઆ


    ● ٕज़ॻయΦϯϥΠϯϚʔέοτɺAmazon KindleͰ޷ධ
    ൃചத!
    ʘ৽࡞΄΍΄΍ʗ


    ஶऀ: Drupal Meetup ๛ాࢧ෦


    ൃߦ೔: 2023/05/20


    ిࢠ൛: 1,000ԁ ࢴ൛: 1,500ԁ


    https://www.amazon.co.jp/dp/B0C5F3MVP4

    View Slide

  45. Drupalͷະདྷ

    View Slide

  46. Drupal 11͕΍ͬͯ͘Δ!
    Drupal 7 : 2011೥1݄


    Drupal 8 : 2015೥11݄


    Drupal 9 : 2020೥6݄


    Drupal 10 : 2022೥12݄


    Drupal 11: 2024೥8݄ʢ໨ඪʣ

    View Slide

  47. ࣗಈΞοϓσʔτ
    طʹίϯτϦϏϡʔτϞδϡʔϧͰ҆ఆ൛͕ొ৔!




    ● खಈͰͷύονߋ৽Λඪ४Ͱαϙʔτ


    ● ׬શʹແਓͷߋ৽(cron)͸͜Ε͔Βαϙʔτ༧ఆ


    ● ϚΠφʔόʔδϣϯߋ৽͸࣮ݧతػೳͱͯ͠α
    ϙʔτ͞Ε͍ͯΔ
    ϥΠϒ

    αΠτ
    εςʔδυ


    ίϐʔ
    https://www.drupal.org/project/automatic_updates

    View Slide

  48. ● σΟετϦϏϡʔγϣϯͱ͸


    ● ϞδϡʔϧɺςʔϚɺઃఆΛύοέʔδԽͨ͠΋ͷ


    ● ݱࡏͷσΟετϦϏϡʔγϣϯͷ՝୊


    ● ҡ࣋ίετ͕ߴ͍


    ● Ҡߦͣ͠Β͍


    ● ૊Έ߹ΘͤΔ͜ͱ͕Ͱ͖ͳ͍


    ● ΠϯετʔϥʔͰެ։͞Εͳ͍


    ● ͦ͜Ͱɺ৽͍͠ʮϨγϐʯͱ͍͏࢓૊ΈΛ࣮૷த


    ● ߏ੒ՄೳͳύοέʔδԽ͞ΕͨػೳίϯϙʔωϯτΛ؆୯ʹ࡞



    ● ϝϯςφϯε΋༰қ
    σΟετϦϏϡʔγϣϯ͔ΒϨγϐ΁
    https://www.drupal.org/project/distributions_recipes

    View Slide

  49. ● Drupal؅ཧը໘಺ͰɺϞ
    δϡʔϧΛ୳ͯ͠ɺΠϯετʔ
    ϧͰ͖ΔΑ͏ʹ͢Δ΋ͷ


    ● ϞδϡʔϧΛ୳ͨ͢ΊʹαΠ
    τΛ཭ΕΔඞཁ͕ͳ͘ͳΔ


    ● ݱࡏίϯτϦϏϡʔτϞ
    δϡʔϧͱͯ͠ެ։͞Ε͍ͯ
    Δʢϕʔλ൛ʣ
    ϓϩδΣΫτϒϥ΢β
    https://www.drupal.org/project/project_browser

    View Slide

  50. Drupalͷ࢝Ίํ

    View Slide

  51. DrupalͷγεςϜཁ݅
    Drupal 10.0ͷ৔߹


    ● Webαʔόʔ


    ● Apache 2.4.7 ʙ


    ● Nginx 0.7.x ʙ


    ● PHP 8.1 ʙ


    ● σʔλϕʔε


    ● MySQL 5.7.8 ʙ


    ● MariaDB 10.3.7 ʙ


    ● SQLite 3.26 ʙ


    ● (pg_trgm ϞδϡʔϧΛඋ͑ͨ)PostgreSQL 10 ʙ
    https://www.drupal.org/docs/getting-
    started/system-requirements

    View Slide

  52. ίϚϯυ2ͭͰ࢝ΊΑ͏
    # DrupalϓϩδΣΫτͷ࡞੒


    $ composer create-project drupal/recommended-project MY_PROJECT


    # ϓϩδΣΫτϧʔτʹҠಈ & ؆қ΢Σϒαʔόʔͷىಈ


    $ cd MY_PROJECT && php ./web/core/scripts/drupal quick-start standard
    PHPͱComposer͕͋Ε͹͙͢ʹ࢝ΊΒΕ·͢!

    View Slide

  53. ·ͱΊ

    View Slide

  54. ·ͱΊ
    ● ΦʔϓϯιʔεCMSʮDrupalʯ͸ੈքதͷσδλϧମݧΛࢧ͑ΔΦʔϓϯͳϓ
    ϥοτϑΥʔϜͰ͋Δ


    ● Drupal͸ৗʹਐԽ͓ͯ͠Γɺ௧ΈΛ൐͏͜ͱΛڪΕͣʹٕज़τϨϯυͷྲྀΕ
    ʹ௥ै͍ͯ͠Δ


    ● Drupal 10Ͱ͞ΒʹϞμϯʹੜ·ΕมΘΓɺDrupal 11΋ணʑͱ४උ͕ਐΜͰ
    ͍Δ


    ● ͜Ε͔ΒDrupalΛֶͿͳΒ Drupal 10ೖ໳ॻ Λങ͏΂͠


    ● ίϛϡχςΟϛʔτΞοϓΛ׆༻ͯ͠͞ΒʹDrupalͷཧղΛਐΊΑ͏!

    View Slide

  55. Thank You!

    View Slide