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
900
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
コンテンツタイプとUMLで考えるPlone開発(1)
terapyon
0
31
Python Web UIフレームワークのススメ
terapyon
0
880
LLMを用いたPloneベクター検索 アドオンの開発の説明
terapyon
0
74
PyCon APACの軌跡
terapyon
0
1.7k
Pythonエンジニアになるためのテクニカルハイライトと学習方法
terapyon
0
95
Multi lingual Vector search using LLM
terapyon
1
81
メモリプロファイラMemrayのススメ
terapyon
3
1.1k
PoC for LLM search on Plone
terapyon
1
96
LLMを用いたPloneベクター検索 アドオンの開発状況の紹介
terapyon
0
120
Other Decks in Technology
See All in Technology
Can We Measure Developer Productivity?
ewolff
1
150
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Designing for Performance
lara
604
68k
RailsConf 2023
tenderlove
29
900
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Agile that works and the tools we love
rasmusluckow
327
21k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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