Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アクイア認定サイトビルダー試験対策講座 第1回 Drupalの理解 / Prep for ex...
Search
アクイアジャパン Acquia Japan
March 17, 2021
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アクイア認定サイトビルダー試験対策講座 第1回 Drupalの理解 / Prep for exam Site Builder vol.1
https://www.acquia.com/jp/resources/webinars/prep-for-exams-site-builder-vol1
アクイアジャパン Acquia Japan
March 17, 2021
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
230
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
270
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
130
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
230
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
56
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
100
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
140
Other Decks in Programming
See All in Programming
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
780
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
560
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Cloudflare is Agents
chimame
0
160
What's New in Android 2026
veronikapj
0
260
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.3k
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
400
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
690
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
640
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.5k
テーブルをDELETEした
yuzneri
0
140
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
140
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.2k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Music & Morning Musume
bryan
47
7.3k
Designing for Performance
lara
611
70k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Technical Leadership for Architectural Decision Making
baasie
3
470
The agentic SEO stack - context over prompts
schlessera
0
860
Utilizing Notion as your number one productivity tool
mfonobong
4
540
The Mindset for Success: Future Career Progression
greggifford
PRO
0
440
RailsConf 2023
tenderlove
30
1.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Transcript
ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲ ୈ1ճ Drupalͷཧղ
ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲γϦʔζ – ʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧɺίΞϞδϡʔϧ͓Αͼ֦ுϞδϡʔϧ Λ༻ͯ͠DrupalαΠτΛߏங͢ΔϓϩϑΣογϣφϧ͚ͷࢿ֨Ͱ͢ɻ͜ͷࢼݧɺ DrupalαΠτϏϧμʔͷεΩϧɺࣝͷݕূΛతͱͯ͠σβΠϯ͞Ε͍ͯ·͢ɻ –
ຊΣϏφʔɺʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧͷग़ൣғΛཏͨ͠ɺ શ7ճͷࢼݧରࡦରࡦߨ࠲Ͱ͢ɻࢼݧ߹֨Λࢦ͢ํͪΖΜɺDrupalΛମܥతʹֶͼͨ ͍ํʹ͓͢͢ΊͰ͢ɻ – DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛରͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ ͍ํɺॳ৺ऀ͚DrupalνϡʔτϦΞϧಈըʢຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ਂ ·Γ·͢ɻ
ΞδΣϯμ 1. Drupalͷ֓ཁ 2. Drupalͷओͳػೳ 3. Drupalͷجຊ֓೦ 4. όʔδϣϯ൪߸ͱϦϦʔεαΠΫϧ 5.
DrupalͷϩʔυϚοϓ 6. DrupalͷΠϯετʔϧ 7. ࿅श
Drupalͷ֓ཁ
Drupalͷ֓ཁ – PHPͷΦʔϓϯιʔεCMS – σδλϧମݧΛఏڙ͢ΔͨΊͷϓϥοτϑΥʔϜ – ࢝ऀɿDries BuytaertʢυϦεɾόΠλϧτʣ – 2001͔ΒOSSͱͯ͠ެ։
– GPL όʔδϣϯ2Ҏ߱ͰϥΠηϯε 100ສ+ WebαΠτͰՔ ಇ 46,000ਓ+ Drupal։ൃऀ 8,000ਓ+ ίϯτϦϏϡʔ λʔ 130ສਓ+ ίϛϡχςΟ 51%+ (લൺ)
ެࣜαΠτ – Drupal.org – https://www.drupal.org/ – ओͳϖʔδ – DrupalίΞͷϦϦʔεҰཡ –
https://www.drupal.org/project/drupal/releases – Ϟδϡʔϧͷݕࡧ/μϯϩʔυ – https://www.drupal.org/project/project_module – ςʔϚͷݕࡧ/μϯϩʔυ – https://www.drupal.org/project/project_theme – σΟετϦϏϡʔγϣϯͷݕࡧ/μϯϩʔυ – https://www.drupal.org/project/project_distribution – υΩϡϝϯτ – https://www.drupal.org/documentation
– ߏཧ – DrupalͷߏΛYAMLܗࣜͰΤΫεϙʔτɾΠϯϙʔτग़དྷ Δ Drupalͷओͳػೳ – ಠࣗʹ࡞Ͱ͖ΔίϯςϯπλΠϓͱϑΟʔϧυ – جຊϖʔδʢWordPressͰݴ͏ॴͷݻఆϖʔδʣɺχϡʔε
ʢ࣌ܥྻʣͳͲͷίϯςϯπͷछྨͱϑΟʔϧυΛఆٛ͢ Δ͜ͱ͕ग़དྷΔ – λΫιϊϛʔͱϘΩϟϒϥϦʔ – λάͳͲͷίϯςϯπΛྨ͢ΔͨΊͷϘΩϟϒϥϦʔΛఆ ٛ͢Δ͜ͱ͕ग़དྷΔ – Ϣʔβʔͱϩʔϧཧ – ࡉ͔ͳϢʔβʔݖݶΛཧ͢Δ͜ͱ͕ग़དྷΔ – Views – ΫΤϦϏϧμʔπʔϧɻཧը໘্Ͱίϯςϯπͷදࣔ Λૢ࡞ग़དྷΔ – ϝσΟΞཧ – ίϯςϯπʹදࣔ͢Δը૾ಈըΛཧͰ͖Δ – ଟݴޠػೳ – αΠτΛଟݴޠల։͢Δࡍʹ༻͢Δ – Ωϟογϯά – ಈతίϯςϯπΛΩϟογϡͯ͠ύϑΥʔϚϯεΛ্Ͱ͖ ΔɻBigPipeͳͲͷٕज़͕࠾༻͞Ε͍ͯΔɻ – JSON:API – DrupalͷίϯςϯπΛWeb APIͱͯ͠ѻ͏͜ͱ͕Ͱ͖Δɻ ϔουϨεCMSͱͯ͠ϚϧννϟωϧʹίϯςϯπΛ৴Ͱ͖ Δɻ
Drupalͷجຊ֓೦
Ϟδϡʔϧ – খ͞ͳػೳͷ୯Ґ – ෳϞδϡʔϧΛΈ߹ΘͤͯαΠτΛߏங – 3ͭͷछྨʹྨ – ίΞϞδϡʔϧ –
ίΞ։ൃऀ͕ཧ͢Δ – ඪ४ػೳෳͷϞδϡʔϧͰߏ – ྫʣϒϩοΫɺviews(ΫΤϦϏϧμʔ) ϑΟʔϧυɺݕࡧɺϢʔβʔཧ...etc – ίϯτϦϏϡʔτϞδϡʔϧ – ίϯτϦϏϡʔλʔ͕ཧ͢Δ – 4ສݸҎ্ͷެ։Ϟδϡʔϧ https://www.drupal.org/project/project_module – ΧελϜϞδϡʔϧ – ֤ϓϩδΣΫτͷͨΊʹಠࣗͰ։ൃ͢Δ ϞδϡʔϧʑϨΰϒϩοΫʹྫ͑ΒΕΔ
ςʔϚ – αΠτͷݟͨΛఆٛ͢ΔϑΝΠϧͷू߹ମ – CSSɺJSɺςϯϓϨʔτϑΝΠϧʢTwigʣɺઃఆϑΝΠϧͳ Ͳ – ςʔϚͷछྨ – ίΞςʔϚ
– DrupalͷίΞʹؚ·ΕΔ – ClassyɺBartikɺSevenɺStableɺStark – ίϯτϦϏϡʔτςʔϚ – Drupal.orgͰެ։͞Ε͍ͯΔ – https://www.drupal.org/project/project_theme – ΧελϜςʔϚ – θϩ͔Βɺ͋Δ͍αϒςʔϚͳͲΛϕʔεʹࣗ࡞͢Δ DrupalͷσϑΥϧτςʔϚʮBartikʯ
σΟετϦϏϡʔγϣϯ – ಛఆͷ༻్ʹ߹ΘͤͯϞδϡʔϧςʔϚΛ ύοέʔδԽͨ͠ͷ – Drupal.orgͰެ։͞Ε͍ͯΔ – https://www.drupal.org/project/project_distribution – ༗໊ͳσΟετϦϏϡʔγϣϯ
– Open Social – SNS ʹಛԽ – Thunder – ϝσΟΞαΠτʹಛԽ – Acquia Lightning – ։ൃऀ͕εϐʔσΟʔʹշదʹ։ൃ͢Δ͜ͱΛࢧԉ ϨΰϒϩοΫΛύοέʔδԽ
Drupalͷϑϩʔ https://www.drupal.org/docs/understanding-drupal/overview-of-drupal 1. σʔλ a. ϊʔυɺλΫιϊϛʔ... 2. Ϟδϡʔϧ a. ػೳΛఏڙ
b. ίΞϞδϡʔϧɺ ίϯτϦϏϡʔτϞδϡʔϧ... 3. ϒϩοΫɾϝχϡʔ a. ϒϩοΫ...ϦʔδϣϯʹϞδϡʔϧ͔Βͷग़ྗΛஔ b. ϝχϡʔ...֤ϝχϡʔύεʢ૬ରURLʣʹ ؚ·ΕΔίϯςϯπΛఆٛ 4. Ϣʔβʔݖݶ a. ϢʔβʔͷׂΛఆٛ 5. ςϯϓϨʔτ a. CSSɺHTMLɺTwig
Drupalͷσʔλͷछྨ – DrupalαΠτͰѻΘΕΔσʔλ4छྨʹྨ – Content – αΠτ๚ऀʹදࣔ͢Δ͜ͱΛతͱͨ͠ςΩετɺը૾ͳͲͷ ใ – Configuration
– αΠτͷಈ࡞ɺදࣔํ๏ͳͲΛఆٛ͢Δใ – ௨ৗখ͞ͳςΩετͰදݱ͞ΕΔ – State – cronδϣϒ͕࠷ޙʹ࣮ߦ͞Εͨ࣌ࠁͳͲɺαΠτͷݱࡏͷঢ়ଶʹؔ ͢ΔҰ࣌తͳੑ࣭ͷใ – Session – ϩάΠϯ͍ͯ͠Δ͔Ͳ͏͔CookieͳͲɺݸʑͷαΠτ๚ऀͷα ΠτͱͷΓऔΓʹؔ͢Δใ ͦΕͧΕҟͳΔํ๏Ͱ ฤूɺ༁ɺอଘ͞ΕΔ https://www.drupal.org/docs/user_guide/en/understanding-data.html
όʔδϣϯ൪߸ͱϦϦʔεαΠΫϧ
ηϚϯςΟοΫɾόʔδϣχϯά https://semver.org/lang/ja/
ηϚϯςΟοΫɾόʔδϣχϯά ϝδϟʔ ϚΠφʔ ύον ޓੑͷͳ͍ มߋΛߦ͏ ޙํޓੑΛอͪͳ͕ ΒػೳੑΛՃ ޙํޓੑΛ͏
όάमਖ਼ https://semver.org/lang/ja/
DrupalίΞͷϦϦʔεαΠΫϧ – ύονϦϦʔεຖ݄ϦϦʔε͞ΕΔ – ϚΠφʔϦϦʔε6͔݄͝ͱʹϦϦʔε͞Εɺ৽͍͠ػೳ͕Έࠐ·ΕΔ – ηΩϡϦςΟमਖ਼ɺ࣍ͷϚΠφʔϦϦʔε·Ͱ6͔݄ؒఏڙ͞Εɺ߹ܭ1ͷηΩϡϦςΟΧόϨοδ͕͋Δ – 8.xγϦʔζͷ࠷ޙͷϚΠφʔϦϦʔεϩϯάλʔϜαϙʔτʢLTSʣϦϦʔεͳͷͰɺ202111݄·ͰηΩϡϦ ςΟ͕ద༻
– Drupal 10ʢϝδϟʔόʔδϣϯʣ ͷϦϦʔε༧ఆ20226݄ – Drupal 8ͷEOL202111݄ – Drupal 7ͷEOL202211݄ https://www.drupal.org/about/core/policies/core-release-cycles/drupal- core-release-cycle-major-minor-and-patch-releases
DrupalͷϩʔυϚοϓ
DrupalͷϩʔυϚοϓ – Decoupled Menus – JavaScript ϑϩϯτΤϯυͷͨΊͷϝχϡʔίϯϙʔωϯτ – Automated updates
– ηΩϡϦςΟϦϦʔεͷࣗಈߋ৽ – New front end theme – Ϟμϯͳ֎؍ͱૢ࡞ੑΛඋ͑ͨ৽͍͠σϑΥϧτͷϑϩϯτΤϯυςʔϚ – Easy out-of-the-box – ʮ͙͢ʹ͑Δʯମݧͷ্ – Drupal 10 readiness – 2022 6 ݄ެ։༧ఆͷ Drupal 10 ʹ͚ͯɺPHPɺSymfony ͷओཁͳґଘؔͷ Ξοϓσʔτ Drupal 10ʹ͚ͯ5ͭͷΠχγΞνϒ͕ൃද
Drupalڥͷ༻ҙ
DrupalͷγεςϜཁ݅ͱґଘϥΠϒϥϦ ※Drupal 9.1.x ͷ߹ γεςϜཁ݅ – Apache 2.4.7 Ҏ্ –
Nginx 0.7.x Ҏ্ – PHP 7.3 Ҏ্ ※ PHP 8.0 ʹؔͯ͠ Drupal 9.1 Ͱਖ਼ࣜʹαϙʔτ – MySQL 5.7.8 Ҏ্ – MariaDB 10.3.7 Ҏ্ – SQLite 3.26 Ҏ্ – (pg_trgm ϞδϡʔϧΛඋ͑ͨ) PostgreSQL 10 Ҏ্ ओͳαʔυύʔςΟʔͷґଘؔ – Symfony 4.4 – Twig 2 – CKEditor 4 – PHPUnit 8 https://www.drupal.org/docs/system-requirements
ศརͳπʔϧ Drush – ΩϟογϡΫϦΞɺߏઃఆͷΠϯϙʔ – τɺ৽͍͠Ϣʔβʔͷ࡞ɺϞδϡʔϧͷ༗ޮ ԽͳͲΛߦ͏ – Drush Drupal
Shell ͷུশ Drupal Console – Ϟδϡʔϧ։ൃʹཱͭɺϘΠϥʔϓϨʔ τίʔυͷੜσόοάػೳΛఏڙ͢Δ – Symfony Console ͱͦͷଞͷαʔυύʔ ςΟίϯϙʔωϯτͰߏ
Drupalڥͷ༻ҙ – Drupal 9ͷֶशڥΛ༻ҙ – ༗໊ͳDrupalͷϩʔΧϧ։ൃڥߏஙπʔϧ – Lando – Docksal
– DDEV – Drupal VM – ࠓճྫͱͯ͠ɺLandoͰDrupal 9ڥΛߏங͢ΔखॱΛհ
LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ # DrupalϓϩδΣΫτͷ࡞ $ composer create-project drupal/recommended-project my-drupal9-app # ϓϩδΣΫτϧʔτʹҠಈ
$ cd my-drupal9-app # LandoͷॳظԽ $ lando init \ --source cwd \ --recipe drupal9 \ --webroot web \ --name my-drupal9-app # ίϯςφͷىಈ $ lando start …(লུ)... APPSERVER URLS https://localhost:55017 http://localhost:55018 http://my-drupal9-app.lndo.site:8080/ https://my-drupal9-app.lndo.site/ ͦͷ1. DrupalϓϩδΣΫτ࡞ʙίϯςφͷىಈ
ͦͷ2. DrupalͷΠϯετʔϧ – ϒϥβͰϩʔΧϧαʔόʔʹΞΫηε – http://my-drupal9-app.lndo.site:8080/ – ΠϯλϥΫςΟϒΠϯετʔϥʔ͕ىಈ – ϓϩϑΝΠϧʮඪ४ʯΛબ
– σʔλϕʔεͷଓઌใ lando info ίϚϯυͰ֬ೝ LandoΛ༻͍ͨDrupalͷϩʔΧϧ։ൃڥͷ࡞ ͓·͚ɿLandoͷૢ࡞ – lando stop – ίϯςφͷఀࢭ – lando ssh – ίϯςφͷγΣϧʹΞΫηε͢Δ
DrupalͷΠϯετʔϧϓϩϑΝΠϧ – ͜Ε͔Βߏங͢ΔαΠτͷಛੑػೳΛɺ ୯ҰͷμϯϩʔυͰఏڙ͢ΔͨΊͷΈΛఏڙ – DrupalΠϯετʔϧ࣌ʹؚΊ͍ͨϞδϡʔϧɺ ςʔϚɺઃఆϑΝΠϧΛఆٛ – DrupalίΞʹ3ͭͷΠϯετʔϧϓϩϑΝΠϧؚ͕·ΕΔ –
standard – ։͔࢝࣌ΒҰൠతͳػೳΛར༻Ͱ͖ΔܗͰΠϯετʔϧ – minimal – ͋Β͔͡Ίઃఆ͞ΕͨػೳΛΘͣʹΧελϜαΠτΛߏங – ্ڃऀ͚ – demo_umami – Drupal ͷੑೳ͕Θ͔ΔαϯϓϧαΠτΛΠϯετʔϧ – ݕূతͰͷར༻ʹݶఆ
࿅श
࿅श1 Drupalͷઆ໌ͱͯ͠ޡ͍ͬͯΔͷΛ3ͭબ͍ͯͩ͘͠͞ɻ 1. ඪ४Ͱଟݴޠػೳ͕ར༻Ͱ͖Δɻ 2. DrupalͷίϯςϯπΛϚϧννϟωϧʹରͯ͠৴Ͱ͖Δɻ 3. ಠࣗͷϥΠηϯεʹج͍ͮͯιʔείʔυ͕ެ։͞Ε͍ͯΔɻ 4. ϚΠφʔόʔδϣϯ͕ຖ݄ϦϦʔε͞ΕΔɻ
5. DrupalPerlݴޠͰهड़͞ΕͨCMSͰ͋Δɻ
࿅श1 Drupalͷઆ໌ͱͯ͠ޡ͍ͬͯΔͷΛ3ͭબ͍ͯͩ͘͠͞ɻ 1. ඪ४Ͱଟݴޠػೳ͕ར༻Ͱ͖Δɻ 2. DrupalͷίϯςϯπΛϚϧννϟωϧʹରͯ͠৴Ͱ͖Δɻ 3. ಠࣗͷϥΠηϯεʹج͍ͮͯιʔείʔυ͕ެ։͞Ε͍ͯΔɻ 4. ϚΠφʔόʔδϣϯ͕ຖ݄ϦϦʔε͞ΕΔɻ
5. DrupalPerlݴޠͰهड़͞ΕͨCMSͰ͋Δɻ ਖ਼ղɿ3,4,5
࿅श2 DrupalίΞʹؚ·Ε͍ͯΔػೳͲΕͰ͔͢ʁ 1. GraphQL 2. Token 3. BigPipe 4. Paragraphs
5. Webform
࿅श2 DrupalίΞʹؚ·Ε͍ͯΔػೳͲΕͰ͔͢ʁ 1. GraphQL 2. Token 3. BigPipe 4. Paragraphs
5. Webform ਖ਼ղɿ3
࿅श3 Drupal 9ʹؔ͢Δઆ໌Ͱਖ਼͍͠ͷΛ1ͭબ͍ͯͩ͘͠͞ɻ 1. Drupal 9͔ΒηϚϯςΟοΫɾόʔδϣχϯά͕࠾༻͞Εͨɻ 2. Drupal 9.0͕ϦϦʔε͞ΕͨλΠϛϯάͰDrupal 7͕EOL(End
of Life)ʹͳͬͨɻ 3. Drupal 8͔ΒDrupal 9ͷΞοϓάϨʔυɺDrupal 7͔ΒDrupal 8ͷΞοϓά ϨʔυΑΓ༰қͰ͋Δɻ 4. Drupal 9͔ΒViewsػೳ͕ίΞʹऔΓࠐ·Εͨɻ
࿅श3 Drupal 9ʹؔ͢Δઆ໌Ͱਖ਼͍͠ͷΛ1ͭબ͍ͯͩ͘͠͞ɻ 1. Drupal 9͔ΒηϚϯςΟοΫɾόʔδϣχϯά͕࠾༻͞Εͨɻ 2. Drupal 9.0͕ϦϦʔε͞ΕͨλΠϛϯάͰDrupal 7͕EOL(End
of Life)ʹͳͬͨɻ 3. Drupal 8͔ΒDrupal 9ͷΞοϓάϨʔυɺDrupal 7͔ΒDrupal 8ͷΞοϓά ϨʔυΑΓ༰қͰ͋Δɻ 4. Drupal 9͔ΒViewsػೳ͕ίΞʹऔΓࠐ·Εͨɻ ਖ਼ղɿ3
ΞδΣϯμ 1. Drupalͷ֓ཁ 2. Drupalͷओͳػೳ 3. Drupalͷجຊ֓೦ 4. όʔδϣϯ൪߸ͱϦϦʔεαΠΫϧ 5.
DrupalͷϩʔυϚοϓ 6. DrupalͷΠϯετʔϧ 7. ࿅श
None