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
Ploneの現状とロードマップ
Search
Manabu TERADA
April 26, 2017
Technology
2
960
Ploneの現状とロードマップ
World Plone Day 2017 Tokyo #wpd #plonejp
Manabu TERADA
April 26, 2017
Tweet
Share
More Decks by Manabu TERADA
See All by Manabu TERADA
PythonエンジニアになるためのテクニカルハイライトとPython実践試験学習方法
terapyon
0
42
Pythonデータ分析実践試験 出題傾向や学習のポイントとテクニカルハイライト
terapyon
1
560
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
410
Desktop Apps Made Easy: Python Web UI Frameworks with Streamlit and Stlite
terapyon
1
92
Python実践試験、 Pythonデータ分析実践試験に 合格できるひとのレベル紹介と学習法
terapyon
0
2.8k
各種大学向けにSSO対応サイト(SP)構築の事例紹介
terapyon
0
69
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
140
Python Web UIフレームワークのススメ
terapyon
0
1.5k
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
120
Other Decks in Technology
See All in Technology
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
2.7k
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
1k
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
150
スタートアップにおけるこれからの「データ整備」
shomaekawa
1
220
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
150
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
280
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
280
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
130
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How GitHub (no longer) Works
holman
315
140k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Raft: Consensus for Rubyists
vanstee
139
7.1k
Music & Morning Musume
bryan
46
6.8k
How to Ace a Technical Interview
jacobian
280
24k
Docker and Python
trallard
46
3.6k
Rails Girls Zürich Keynote
gr2m
95
14k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Transcript
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFͷݱঢ়ͱϩʔυϚοϓ .BOBCV5&3"%" 8PSME1MPOF%BZ5PLZP גࣜձࣾCMSίϛϡχέʔγϣϯζ
.BOBCV5&3"%" !UFSBQZPO ג $.4ίϛϡχέʔγϣϯζද Ұൠࣾஂ๏ਓ1Z$PO+1දཧࣄ 1MPOF'PVOEBUJPO"NCBTTBEPS Ұൠࣾஂ๏ਓ1ZUIPOΤϯδχΞҭਪਐڠձࢼݧमٴͼίϛϡχςΟࢧԉ 1ZUIPOΤϯδχΞ݉ΞʔΩςΫτ "CPVUNF
גࣜձࣾCMSίϛϡχέʔγϣϯζ .BOBCV5&3"%" ࣉాɹֶ
"CPVUPVSDPNQBOZ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFΛ༻͍ͨ8FCγεςϜ։ൃ େֶؔ اۀ͚ 8FCܥͷΤϯδχΞϦϯάձࣾ 1ZUIPOʹಛԽͨ͠γεςϜΠϯςάϨʔλ $.4DPN
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFΛ ͍ͬͯ·͔͢ʁ
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFΛ ͍ͬͯ·͔͢ʁ
1MPOFͱ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF ϓϩʔϯ IUUQTQMPOFPSHIUUQQMPOFKQ 1MPOF'PVOEBUJPO(1-W ಈతͳ$.4 ֓ཁ
;PQF;0%# 1ZUIPO ϕʔεٕज़
1MPOFͷಛ גࣜձࣾCMSίϛϡχέʔγϣϯζ ΦʔϧΠϯϫϯͰ͙͢ʹ͑Δ ߴͳೝূػೳͱηΩϡϦςΟ άϩʔόϧίϛϡχςΟ͕͍͢͝ ؾʹೖ͍ͬͯΔͱ͜Ζ ଟػೳ͗ͯ͢ཧղ͕͍͠ ॏ͍ ·ͩɺ1ZUIPO
ΠϚΠνͩͱࢥ͍ͬͯΔͱ͜Ζ
1MPOFͷྺ࢙ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF 1ZUIPO 3FE)BU 4QPSUT 0UIFST 4UBSUJOH1SPKFDU
3)&- 8DBQ+BQBO,PSJB 'FC 3)&- .BS "UIFOT0MZNQJD 1MPOF'PVOEBUJPO $SFBUFE 4FQ 3)&- ౦ָఱΰʔϧσϯΠ ʔάϧεൃ 4FQ 8DBQ'SBODF "VH 3)&- .BZ #FJKJOH0MZNQJD J1IPOF( 4FQ 3)&- 8DBQ4PVUI"GSJDB "VH +VM -POEPO0MZNQJD "QS 3)&- 8DBQ#SB[JM 4FQ 3JPEF+BOFJSP 0MZNQJD
࠷৽ϦϦʔε גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF݄ ͿΓͷϝδϟʔϦϦʔε 1MPOFݱࡏЌ
1ZUIPOόʔδϣϯ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1ZUIPO͕ΘΕ͍ͯΔ 1MPOFͰ1ZUIPOରԠΛ͢Δ
1MPOFͰͷओͳมߋ גࣜձࣾCMSίϛϡχέʔγϣϯζ ϢʔβΠϯλʔϑΣΠε͕େ෯ʹมߋ 9.-ʹΑΔϞσϧఆٛख๏ͷ࠾༻
1MPOFͰͷมߋ גࣜձࣾCMSίϛϡχέʔγϣϯζ ϢʔβΠϯλʔϑΣΠε͕େ෯ʹมߋ 1MPOF 1MPOF
Ϟμϯ6*ͷ࠾༻ େ෯ͳ6*ͷݟ͠ גࣜձࣾCMSίϛϡχέʔγϣϯζ ࠷৽ٕज़ΛͬͯɺϢʔβΠϯλʔϑΣʔεΛ࣮ )5.-Խ ϨεϙϯγϒσβΠϯΛඪ४Ͱ࠾༻ ಛʹɺฤूը໘ͳͲཧऀ༻ը໘Λͯ͢ݟ͠ %JB[P͕ඪ४࠾༻
Ϟμϯ6*ͷ࠾༻ ϙοϓΞοϓͰػೳΛ࣮ݱ גࣜձࣾCMSίϛϡχέʔγϣϯζ
9.-ʹΑΔϞσϧఆٛख๏ͷ࠾༻ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOF͔Βɺ"SDIFUZQFTˠ%FYUFSJUZมߋ 8FCϒϥβͰΧελϜϑΟʔϧυΛ࡞ΕΔ ͦΕΛ9.-Ͱग़ྗͰ͖ɺอଘͨ͠Γɺվ͢Δ͜ͱ͕Մೳ 1ZUIPOͰϞσϧఆٛՄೳ
1MPOFͷجຊಉ͡ גࣜձࣾCMSίϛϡχέʔγϣϯζ ϕʔεٕज़ͷมߋͳ͠ ݎ࿚ͳηΩϡϦςΟγεςϜ -%"1440࿈ܞͳͲՄೳ 1%'จॻͷݕࡧՄೳ .48PSEΞυΦϯͰݕࡧՄ ΞΫηγϏϦςΟؔͷ࠷৽Խ
גࣜձࣾCMSίϛϡχέʔγϣϯζ ϩʔυϚοϓ
1MPOFϩʔυϚοϓ גࣜձࣾCMSίϛϡχέʔγϣϯζ Λݟਾ͑ͯɺळ͔Βܧଓతʹݕ౼͍ͯ͠Δ IUUQTQMPOFPSHSPBENBQQMPOFSPBENBQ 1ZUIPOରԠ ίʔυͷ࣭ɺςετΧόϨοδͷ্ )FBEMFTT$.4 QMPOFTFSWFS
ϩʔυϚοϓͷ߲
1ZUIPOରԠ גࣜձࣾCMSίϛϡχέʔγϣϯζ ઈࢍ։ൃத IUUQKFOLJOTQMPOFPSHQZ ;PQFͷίΞͷ෦ͳͲΔ͖͜ͱଟ͍ 1MPOFͰରԠ
)FBEMFTT$.4ͷొ גࣜձࣾCMSίϛϡχέʔγϣϯζ )FBEMFTT$.4ͱ͍͏ݴ༿͕ଟ͘ग़དྷͯͨ 1MPOF$POGFSFODF 0DU Ͱ,FZOPUFͰͷݴٴ ͦͷޙͷηογϣϯͰଟ͘ޠΒΕ͍ͯͨ ϩʔυϚοϓͷதͰΛूΊ͍ͯΔͱͳ͍ͬͯͬͨ ͷ1ZUIPOؔ࿈ɾ1MPOFؔ࿈ΠϕϯτͰ
)FBEMFTT$.4ͷొͷഎܠ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFͷηΩϡϦςΟγεςϜίΞͳ෦ྑ͍͚Ͳ ϑϩϯτத৺ͷϞμϯͳ8FCαΠτ։ൃʹ1MPOF͍͍ͯͳ͍ 1MPOFͬͯ͜ͷ··Ͱྑ͍ͷʁ 1MPOFͷྑ͋͞Δ͚ͲɺҾ͖ग़͍ͤͯͳ͍ΑͶʁ 3&45"1*͕ॏཁͳΜ͡Όͳ͍ͷʁ όοΫΤϯυͱϑϩϯτΤϯυΛͨ͠΄͏͕ྑ͍ͷͰʁ
)FBEMFTT$.4ͱ גࣜձࣾCMSίϛϡχέʔγϣϯζ ʮϔουϨε$.4ʯ͋Δ͍ʮσΧοϓϧυɾΞʔΩςΫνϟʯ Ϟμϯͳ8FCαΠτ։ൃͰϑϩϯτ͔Β3&45"1*Ͱදࣔ ίϯςϯπΛཧ͢Δͱ͍͏ҙຯͰͷ$.4ඞཁ 3&45"1*͚ͩఏڙͯ͠ϑϩϯτผ࣮Ͱྑ͍ͷͰʁ
“monolithic” [presentation + content ]
“monolithic” [presentation + content ] “decoupled” [presentation] / [content ]
FRONT END REST API CMS BACKEND + DATABASE
Wordpress 4.7 REST APIඪ४උ (ผͷCMSͰ͕͢) from http://ja.wp-api.org/
ࢀߟ : Plone Diazoͱͷҧ͍ from https://docs.plone.org/adapt-and-extend/theming/quick_test.html
1MPOFͷ3&45"1*ͷঢ়گ גࣜձࣾCMSίϛϡχέʔγϣϯζ ΞυΦϯͰ։ൃத ͋Δఔ͑Δͷʹͳ͖͍ͬͯͯΔ QMPOFSFTUBQJBIUUQTQZQJQZUIPOPSHQZQJQMPOFSFTUBQJ QMPOFSFTUBQJ QMPOFTFSWFS ඞཁ࠷ݶͷ"1*ʹඞཁͳػೳΛ;PQFϨϕϧ͔Βߏங 1MPOFͷ໊લ͍ͬͯΔ͕Γͯ͠։ൃ
ϥΠηϯεผ #4% QMPOFTFSWFSBIUUQTQZQJQZUIPOPSHQZQJQMPOFTFSWFS
1MPOFʹ͍͍ͯΔঢ়گ גࣜձࣾCMSίϛϡχέʔγϣϯζ ଟ͘ͷίϯςϯπλΠϓ ίϯςϯπͷܗ ͕ඞཁ ίϯςϯπͷෳࡶͳηΩϡϦςΟϫʔΫϑϩʔ ίϯςϯπ࡞ɾฤूऀ͕ଟ͍ ෳࡶͳϨϏϡʔ͕ඞཁ ϢʔβλΠϓ͝ͱͷදࣔΓସ͑ͳͲͷΧελϚΠζ υΩϡϝϯτݕࡧ
ϑΝΠϧɾը૾ͷηΩϡϦςΟ ΠϯτϥωοτͰͷใڞ༗
·ͱΊ גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFʹϩάΠϯػߏɺηΩϡϦςΟઃఆॆ࣮ ը૾ͳͲηΩϡϦςΟͷԼ ίϯςϯπཧͱͯ͠͞Ε͍ͯΔγεςϜ ϑϩϯτ෦Λͨ͠ͷͷ͕ߏஙͰ͖Δ ࣗ༝ͳίϯςϯπೖྗը໘Λ؆୯ʹ࡞ΕΔ θϩ͔Β"1*αʔόΛ࡞Βͳͯ͘0,
גࣜձࣾCMSίϛϡχέʔγϣϯζ 1MPOFΛ "1*αʔόͱͯ͠ ͬͯΈΑ͏
5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ $POUBDUUP!UFSBQZPO
ಈը৴ɹ17.4ఏڙ גࣜձࣾCMSίϛϡχέʔγϣϯζ
5IBOLZPV $.4 1MPOF גࣜձࣾCMSίϛϡχέʔγϣϯζ $POUBDUUP!UFSBQZPO