大学におけるWordPressサイトのインハウス開発

Edd44584a6d94211d9b7b33b57e4a875?s=47 Toru
July 09, 2016

 大学におけるWordPressサイトのインハウス開発

Slide for my presentation at WordCamp Kansai, held at Osaka, Japan on 9 July 2016

WordCamp Kansai 2016 (2016/07/09-10) 登壇スライド

----
概要

大学のウェブサイトをインハウスで開発、運営しており、一部にWordPressを採用しています。これまでの開発経験の中から、主に機能追加の要望に対して「できなくはない」ケースや、「シングルサイトかマルチサイトかの選択」においての意思決定についてお話します。日々の更新業務を遂行しつつ、インハウス開発を行うヒントになればと思います。

Edd44584a6d94211d9b7b33b57e4a875?s=128

Toru

July 09, 2016
Tweet

Transcript

  1. େֶʹ͓͚Δ 8PSE1SFTTαΠτͷ Πϯϋ΢ε։ൃ 5PSV.JLJ!8PSE$BNQ,BOTBJ

  2. 8IPBN*

  3. 5PSV.JLJ
 ࡾ໦ప 5PSVXBWJBFJ w #MPHIUUQTXBWJBFJDPN w 5XJUUFS!XBWJBFJ w (JU)VCIUUQTHJUIVCDPNXBWJBFJ w

    8PSE1SFTTPSHIUUQTQSPpMFTXPSEQSFTTPSHUPSV
  4. 8PSE1SFTTͱͷؔΘΓ w $PNNVOJUZ w 8PSE$BNQͷελοϑ΍௨༁ͳͲ 5PLZP࣮ߦҕһ௕  w 8PSE1SFTT.FFUVQ5PLZPڞಉओ࠵ऀ w

    1PMZHMPU w ೔ຊޠύοέʔδɺϓϥάΠϯɺ$PEFYɺͳͲ w $PSF w ΄Μͷগ͚ͩ͠ίΞʹίϛοτ w 1VCMJDBUJPO w 8PSE1SFTTٯҾ͖σβΠϯࣄయ1-64<YରԠ>
  5. ೥݄ʙ ςϯϓϧେֶδϟύϯΩϟϯύε
 Ξγελϯτɾ΢ΣϒϚελʔ

  6. ۀ຿಺༰ w dׂʹߋ৽ۀ຿ w ߋ৽ɾϖʔδ௥ՃɾϑΥʔϜ࡞੒ɾ&ϝʔϧϒ ϥετͷ࡞੒ w ͦͷଞ w 8PSE1SFTTαΠτͷ։ൃɾϝϯςφϯεɺϦ

    χϡʔΞϧɺϒϩά΍ιʔγϟϧϝσΟΞͷ ߋ৽ɺଔۀࣜͷϥΠϒதܧɺ૬ஊʹ৐Δɺ౳ʑ
  7. ςϯϓϧେֶ δϟύϯΩϟϯύεͷ ΢ΣϒαΠτ

  8. ։ൃɾӡӦମ੍ w ޿ใɾϚʔέςΟϯάαϙʔτ෦ w ΢ΣϒϚελʔ͸໊ w 56+ʹ͓͚Δશͯͷ΢ΣϒαΠτΛ։ൃɾӡӦ w ΞϝϦΧຊߍͷ΢ΣϒαΠτͱͷ։ൃͱӡӦ ʹؔ͢Δؔ࿈ੑ͸ແ͠ʢୠ͠Ұ෦ΨΠυϥΠ

    ϯʹ͸४ͣΔʣ
  9. αΠτ w ӳޠͱ೔ຊޠʢֶ಺ͷୈҰݴޠ͸ӳޠʣ w ϝΠϯͷ$.4͸ແ͠ʢʂʣ w αϒͷ$.4ͱͯ͠8PSE1SFTTΛͭͷηΫ γϣϯͰ࠾༻ʢͭ͸ߋ৽ఀࢭதʣ w 8PSE1SFTTDPN΋޿ใ෦ϒϩάͱͯ͠׆༻

  10. "HFOEB w ਖ਼ղ͕ͳ͍೰Έͷछ w ͦͷ̍ɿʮͰ͖ͳ͘͸ͳ͍ʯ w ͦͷ̎ɿΠϯετʔϧ਺ͱαΠτ਺ w ͳͥ೰Ήͷ͔ʁ w

    ͓·͚
  11. ਖ਼ղ͕ͳ͍೰Έͷछ ͦͷ̍ɿʮͰ͖ͳ͘͸ͳ͍ʯ

  12. 8PSE1SFTTͰ αΠτΛ࡞ΔࡍʹΑ͋͘Δ͜ͱ

  13. ʮ˓˓Ͱ͖·͔͢ʁʯ

  14. ʮͰ͖ͳ͘͸ͳ͍͚ΕͲʜʯ

  15. օ͞Μ͸Ͳ͏͞Ε͍ͯ·͔͢ʁ

  16. ࣄྫɿ ֎෦αΠτ΁ͷϦϯΫͷΈͷ ౤ߘ

  17. ެ։༧ఆ೔ͷ िؒఔલʹґཔ͞Εͨػೳ

  18. None
  19. ૝ఆͰ͖Δ࣮૷ํ๏ͱίετ w ΧελϜ౤ߘϑΥʔϚοτͷʮϦϯΫʯΛ׆༻͢Δ w ౤ߘը໘ͱϑϩϯτΤϯυɺ྆ํΧελϚΠζ͕ඞཁ w ࣮૷ܦݧͷ༗ແ w ͋Δ w

    ޻਺ w ίʔσΟϯάʹʙ࣌ؒ
  20. ૝ఆͰ͖Δ࣮૷ํ๏ͱίετ w ίʔσΟϯάҎ֎ w ֎෦ϦϯΫ༻ͷΞΠίϯͷमਖ਼͕ඞཁ w ΧελϜ౤ߘϑΥʔϚοτʹؔ͢Δ࠷৽ಈ޲ ʹؔ͢Δௐࠪ w τʔλϧ޻਺

    w ༨༟Λ࣋ͬͯʙ࣌ؒ
  21. ͦͷଞݕ౼ࣄ߲ w ඞཁੑ w ެ։௚ޙʹ࢖͏Մೳੑ͕͋Δɺ͔͠͠සൟʹ͸࢖ Θͳ͍ w ӡ༻ͰΧόʔՄೳ͔ʁ w ϦϯΫ঺հͷ౤ߘهࣄͱͯ͠޻෉͢Δ

    w ͦͷࡍɺࣗ෼ͨͪͰߋ৽͢ΔίϯςϯπͳͷͰ ֶशίετ͸θϩ
  22. ݁࿦ w ٕज़తʹ͸࣮૷͸Մೳ w ݟੵ΋ͬͨ޻਺Ͱ͸εέδϡʔϧతʹ͸ݫ͍͠ w ެ։Λ஗Βͤͯ·Ͱ࣮૷͍ͨ͠ػೳͰ͸ͳ͍ w هࣄͷॻ͖ํΛ޻෉ͯ͠౤ߘͰ͖Δ w

    ެ։࣌ͷ࣮૷͸ݟૹΓɺެ։ޙͷվળλεΫʹ w ໿ϲ݄ޙʹ࣮૷ɺͦΕ·Ͱʹ֘౰ͨ͠ͷ͸ճͷΈ
  23. None
  24. ʮͰ͖Δʯ ʮͰ͖ͳ͘͸ͳ͍ʯ ʮͰ͖ͳ͍ʯ ΄ͱΜͲ͜Εʂ

  25. ʮͰ͖ͳ͘͸ͳ͍ʯʹ શͯԠ͍͑ͯΔͱ ޻਺͕Ұؾʹ૿͑Δʜةݥʂ

  26. ೔ʑͷϝΠϯۀ຿͕ ߋ৽΍ӡ༻ͷ৔߹ɺ਺࣌ؒͷ ௥Ճ޻਺Ͱ΋͕࣌ؒ΋͍ͬͨͳ͍

  27. ʮٕज़తʹՄೳ͔Ͳ͏͔ʯ ͚ͩͰͳ͘ɺ ʮ޻਺ʯʮඞਢ౓ʯʮॏཁ౓ʯ Λඞͣఱṝʹֻ͚ͯݕ౼͢Δ

  28. ʮඞਢ౓ʯͱʮॏཁ౓ʯ͕ɺ ߴ͘ͳ͚Ε͹ɺ ެ։ޙͷվળλεΫʹ͢Δ

  29. ެ։ޙͷӡ༻ঢ়گΛ֬ೝ ʮຊ౰ʹඞཁͳͷ͔ʁʯ ݟۃΊΔ

  30. ػೳ֦ுͷ։ൃ͸ɺ খ͞Ίͷ୯ҐͰɺ ܧଓతʹɺগͣͭ͠

  31. ࣌ʹ͸ ʮͰ͖·ͤΜʂʯ

  32. ਖ਼ղ͕ͳ͍೰Έͷछ ͦͷ̎ɿʮΠϯετʔϧ਺ͱ αΠτ਺ʯ

  33. γϯάϧαΠτºO PS ϚϧναΠτ

  34. ଟݴޠԽͷ৔߹ w Πϯετʔϧʹݴޠ w ϓϥάΠϯ w γϯάϧαΠτͰଟݴޠ w ϚϧναΠτͰଟݴޠ w

    αΠτશମͷ࢓༷ʹؔΘΔ͜ͱͳͷͰɺޙͰ มߋ͢Δͷ͕೉͍͠
  35. ࣄྫɿ ଟݴޠʢӳޠɾ೔ຊޠʣͷ χϡʔεɾηΫγϣϯ

  36. ଟݴޠϓϥάΠϯ͸ඇৗʹෳࡶ

  37. ಋೖ͸΋ͪΖΜͷ͜ͱɺ ެ։ޙͷϝϯςφϯείετ΍ ΧελϚΠζίετ΋݁ߏ͔͔Δ

  38. ޻਺͕૿͑Δ ˍ ༧ଌͮ͠Β͍

  39. ຊԻ Ͱ͖Ε͹ಋೖͨ͘͠ͳ͍ʢসʣ

  40. ӡ༻ঢ়گͷ֬ೝ w ౤ߘϑϩʔ w ޿ใ୲౰ऀˠ޿ใ෦௕PSBOE্௕ˠ޿ใ୲౰ऀˠ΢Σϒ ୲౰ऀ w ࠷ޙͷ΢Σϒ΁ͷ౤ߘɺߋ৽͸΢Σϒ୲౰ऀ͕ߦ͏ w ຋༁΋ओʹ޿ใ୲౰ऀ͕ߦ͏

    w πʔϧ w .48PSEͷτϥοΩϯάΛ׆༻ w ยํͷΈͷݴޠͰͷ౤ߘ΋͋Δ
  41. ͜ͷ౤ߘϑϩʔΛ 8PSE1SFTT্ʹஔ͖׵͑Δ͜ͱ͸ ೉͍͠ʢίεύ͕ѱ͍ʣ

  42. ϩʔΧϧʹߏஙͯ֬͠ೝ w ݸผΠϯετʔϧʢγϯάϧαΠτʣº̎ w ϓϥάΠϯʢγϯάϧαΠτʣ w #PHP w 1PMZMBOH w

    81.- w ϓϥάΠϯʢϚϧναΠτʣ w .VMUJMJOHVBM1SFTT
  43. ݁࿦ɿݸผΠϯετʔϧº̎ w େ͖ͳίετΛֻ͚ͯ·Ͱɺ౤ߘϑϩʔશͯΛ8PSE1SFTT಺ ʹҠߦ͢ΔϝϦοτ͕ͳ͍ w Ͳͷબ୒͠Ͱ͋ͬͯ΋ɺ΢Σϒ୲౰ऀͷ࡞ۀ෦෼͸શମͷ εϐʔυΞοϓʹܨ͕Δ w ίʔυॻ͍ͯղܾ͠ͳ͚Ε͹ͳΒͳ͍໰୊͸ൃੜ͢Δ΋ͷͱ ૝ఆ͓ͯ͘͠

    w ୈࡾऀ࡞ϓϥάΠϯ͸গͳ͍ํ͕Α͍ w γϯάϧΛవΊΔํ͕ɺϚϧνΛ෼͚ΔΑΓ΋΍Γ΍͍͢
  44. ݁࿦ɿݸผΠϯετʔϧº̎ w σϝϦοτ w ಉ͡ը૾Λಉ͡αʔόʔʹճΞοϓ w ʢϓϥάΠϯΛ࢖༻ͯ͠΋ಉ͡໰୊͕͋Δʣ w ղܾࡦҊ w

    ը૾ઐ༻$%/ʢϨεϙϯγϒରԠʣ
  45. ͳͥ೰Ήͷ͔ʁ

  46. 8PSE1SFTTͷॊೈੑ͸ ॾਕͷ݋

  47. ͋Ε΋Ͱ͖Δɺ͜Ε΋Ͱ͖Δ ˣ έʔεόΠέʔεˍཁௐࠪ

  48. ςʔϚػೳ΍ɺϑοΫΛ༻͍ͨઃ ఆͷมߋɾػೳ௥Ճ͕૿͑Δ ˣ ॻ͘ίʔυͷྔ͕૿͑Δ

  49. ͞Βʹʂ

  50. ίΞͷ։ൃ͕ܧଓతˍඇৗʹ׆ൃ ˣ ֶͼ͕௥͍͔ͭͳ͍

  51. ௐ΂ΔɾίʔσΟϯάɾֶͿ ˣ ޻਺͕૿͑Δ͹͔Γ

  52. ܧଓతͳϝϯςφϯείετ͕ ֻ͔Δ͜ͱ΋๨Εͣʹʂ

  53. Ͱ͖Δ͜ͱ w ֶͼଓ͚ΔʢεΩϧͷϨϕϧΞοϓʣ w εέδϡʔϦϯά w σʔλऩूɾ෼ੳɾ஝ੵ w ޻਺ɺΞΫηε਺ɺ$7ʜ w

    ίϛϡχέʔγϣϯ
  54. 'PSUIF'VUVSF

  55. কདྷʹ޲͚ͯߟ͍͑ͯΔ͜ͱ w )FBEMFTT$.4ʢϔουϨε$.4ʣ w όοΫΤϯυͱϑϩϯτΤϯυͷ੾Γ཭͠ w ΞΫηγϏϦςΟ

  56. ͓·͚

  57. ϓϥάΠϯ w ϓϥάΠϯબͼ͸γϏΞʹʂ w ʮϓϥάΠϯΛΠϯετʔϧ͢Δʹୈࡾऀͷ ίʔυΛऔΓࠐΉʯͱ͍͏͜ͱΛ๨Εͣʹ w ༗ྉ͸ཁ஫ҙʢର৅WFSɺͱ͔ʜʣ w ࣮ࡍͲͷϓϥάΠϯΛ࢖͍ͬͯΔ͔஌Γ͍ͨํ

    ͸ޙͰฉ͍͍ͯͩ͘͞
  58. ηΩϡϦςΟ w ʹηΩϡϦςΟɺʹηΩϡϦςΟʜ w ʢ୲౰ൣғʹ΋ΑΓ·͕͢ʣαΠτͷσβΠ ϯ΍ߴ଎Խɺߋ৽ͷ͠΍͢͞ʜͳͲΑΓ΋ॏ ཁͳλεΫ w ηΩϡϦςΟϦεΫͷ೺Ѳɾରࡦ w

    ύεϫʔυʂύεϫʔυʂύεϫʔυʂ
  59. αʔόʔ w ʢاۀʹΑΓ·͕͢ʣݸਓ޲͚Ϩϯλϧαʔ όʔͱ͸Ϣʔβʔͷݖݶઃఆ͕ҧ͍·͢ w ΦʔφʔɺϢʔβʔݖݶɺύʔϛογϣϯ ͳͲͷઃఆ͕བྷΈ߹͍ɺݸਓ޲͚αʔόʔ Ͱ͸໰୊ͳ͔ͬͨ͜ͱ͕ى͖Δ w ͋ͨΓલͷ͜ͱͰ͸͋Γ·͕͢ɺ๻ͷΑ͏ʹ

    ಠ্ֶ͕Γͷ৔߹͸ؾΛ͚͍ͭͯͩ͘͞ʜ
  60. Πϯϋ΢ε։ൃ ͔ͩΒͦ͜

  61. ૸Γͳ͕Βͷ ܧଓతͳΞδϟΠϧ։ൃΛ ໨ࢦͦ͏

  62. ͋Γ͕ͱ͏͍͟͝·ͨ͠