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
Contao Open Source CMS -- 新しいLTSリリースとContao 4.0.2
Search
Takahiro Kambe
August 08, 2015
Technology
0
210
Contao Open Source CMS -- 新しいLTSリリースとContao 4.0.2
オープンソースカンファレンス 2015 Kansai@Kyotoのセミナーで使用した資料です。
Takahiro Kambe
August 08, 2015
Tweet
Share
More Decks by Takahiro Kambe
See All by Takahiro Kambe
Ruby on pkgsrc affair
taca
0
71
Contao Open Source CMS -- CMS大阪夏祭り 2016
taca
0
130
Contao Open Source CMS -- 最新動向: 4.2とその後
taca
0
390
Contao Open Source CMS -- Contao 4.2に向けて
taca
0
80
DNSの名前解決エラー(現在進行中)
taca
0
340
FREQUPS FW-10HとNetBSD
taca
0
140
Other Decks in Technology
See All in Technology
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Can We Measure Developer Productivity?
ewolff
1
150
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
130
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
390
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
360
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
100
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
169
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
For a Future-Friendly Web
brad_frost
175
9.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Fireside Chat
paigeccino
34
3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
4 Signs Your Business is Dying
shpigford
180
21k
Transcript
Contao Open Source CMS 新しいLTSリリースとContao 4.0.2 オープンソースカンファレンス 2015 Kansai@Kyoto 2015年
8月 8日 ຊContaoͷձ: ਆށོത
ͷީิ • Contaoͷ֓ཁ • αΠτͷσβΠϯ • ίϯςϯτཁૉ
• Πϯετʔϧํ๏ • ࠷ۙͷϦϦʔε • Contaoͷؔ࿈ϦϯΫ
ൃදऀʹ͍ͭͯ • ContaoͱͷؔΘΓ – 20087݄ࠒ ϒϩάͰͳ͍ϚϧνυϝΠϯͷCMSΛٻΊͯ • 2.6.BETAͷࠒ – 20112݄
ຊޠͷݴޠϑΝΠϧ୲ – 20123݄ Ambassadors in Japan (ળେ) • Φʔϓϯιʔεͱࢲ – NetBSD։ൃऀ(pkgsrc)ɺ20008݄͔Β – ຊޠ༁
$POUBPͷ֓ཁ
$POUBPͱԿ͔ • ΦʔϓϯιʔεͷCMS – 20063݄12: 2.0.RC͔Βެ։ – LGPL3
– ༻ϥΠηϯε͋Γ • ϖʔδͷιʔεͰContaoΛ༻͍ͯ͠ΔදࣔΛআ – metaλάͷgenerator • ιʔείʔυ͔Βஶ࡞ݖදࣔΛআ – ެࣜαΠτ: hKps://contao.org/ – ։ൃݩ: υΠπ – ݩͷ໊લ: TYPOlight (2.8·Ͱ) • light͔Βܰྔ൛ͱ͔খنαΠτઐ༻ͱޡղ
ࣈͰݟΔ$POUBP • μϯϩʔυ – 20155݄18Ͱ1,038,049 • 20138݄30·Ͱsourceforge.net • download.contao.org͔Βͷμϯϩʔυ –
Contao Check – ެࣜαΠτͷμϯϩʔυ • github.com͔Βͷμϯϩʔυআ֎ • WebαΠτ – 70,000ͷαΠτ • CMSCrawler • Live Update Serverͷϩά
ϚʔέοτγΣΞ • ϚʔέοτγΣΞ(by CMSCrawler) – 770γεςϜத12Ґ(લճ: 7Ґ) • υΠπ:
6Ґ(લճ: 8Ґ) 2.02% • ΦʔετϦΞ: 5Ґ(લճ: 6Ґ) 2.39% • εΠε: 6Ґ(લճ: 8Ґ) 1.80% • ਓؾ: ୈ3Ґ(by webkrauts) • WordPress 62% • TYPO3 27% • Contao 23% • Drupal 15% • Joomla! 9%
໊લͷ༝དྷ • ϕτφϜޠͷconͱtạoͷޠ – tạo • ܗΛͳ͢ɺ͢Δͱ͍ͬͨҙຯͷϕτφϜޠ – con
tạo • ࡞ऀɺӡ໋͚ͮΔͱ͍ͬͨҙຯ • ίϯςϯπʹ௨͡Δ – ໊Ͱͳ͍ • ϦϦʔε2.9͔Βվ໊
$POUBPͷಛ • όοΫΤϯυͱϑϩϯτΤϯυ – ެ։͢ΔαΠτʹґଘ͠ͳ͍Ұ؏ͨ͠ը໘ߏ • ֊ߏʹΑΔϖʔδͷཧ • ίϯςϯτཁૉ
– ίϯςϯπΛෳͷछྨͷύʔτͰߏ • ΞΫηγϏϦςΟͷߟྀ • ػೳ֦ு – ػೳ֦ுϦϙδτϦʹΑΔཧ – ຊମͷมߋෆཁ
ࣄྫ • hKps://contao.org/en/case-‐studies.html
େنͳػೳ֦ுͷྫ • Isotope – ిࢠऔҾ – hKps://isotopeecommerce.org/
ಈ࡞ڥ • Webαʔόʔ – Apache(, IIS) • εΫϦϓςΟϯάݴޠ –
Contao 3.2ͰPHP 5.3.2Ҏ߱ – Contao 3.5/4.0ͰPHP 5.4.0Ҏ߱ • ඞཁͳ֦ு: mysqli(·ͨmysql), dom, gd, mbstring(·ͨiconv), mcrypt, soap, curl, zlib • σʔλϕʔεཧγεςϜ – MySQL 5.0.3Ҏ߱ • ଞͷσʔλϕʔεͷαϙʔτ3.0ͰҰ୴ഇࢭ
֤ࠃޠରԠ • ݴޠϑΝΠϧຊମʹಉࠝ – Contao 3.5.2Ͱ24ͷݴޠɺ4.0.2Ͱ16ͷݴޠ • TransifexͰ95%Ҏ্ͷ༁Ͱ࠾༻ɺ95%ະຬͰআ • ػೳ֦ுͰఏڙՄೳ
• PHPͷྻΛϕʔε – ϝοηʔδΧλϩά(geKext)ෆ༻ – UTF-‐8 – ઃఆϑΝΠϧͰ༁ͷՃमਖ਼͕Մೳ – Contao 3.3͔ΒXLIFF(XML Localizagon Interchange File Format)Λ༻ → ྻʹมͯ͠Ωϟογϡ
ϦϦʔεͷछྨ • όʔδϣϯX.Y.Z – ϝδϟʔϦϦʔε(X) •
͋ΒΏΔมߋͷՄೳੑ • ֓Ͷ2ʹ1(201210݄30ͷ3) – ϚΠφʔϦϦʔε(Y) • APIɺσʔλߏɺςϯϓϨʔτʹมߋͷՄೳੑ • ɺ5݄ͱ11݄(20156݄ͷ3.5) – όάमਖ਼ϦϦʔε(Z) • جຊతʹόάमਖ਼͚ͩ→ ্Ґޓͳमਖ਼͚ͩ • ਵ࣌(֓Ͷ݄ʹ1ఔ)
ϦϦʔεͷछྨ • ظؒαϙʔτϦϦʔε(LTS): 3.5 – 18͔݄ؒͷอकظؒͷϚΠφʔϦϦʔε •
جຊతʹόάमਖ਼͚ͩ – Ճ͑ͯ6͔݄ͷҠߦظؒ: 3.2 • ηΩϡϦςΟमਖ਼͚ͩ • ։ൃ൛: 4.0 – 20156݄ϦϦʔε༧ఆ – ͔݄͔Β1Ҏ্ͷ։ൃظؒ
ݱࡏͷϦϦʔε • $POUBP -54Ҡߦஈ֊ – ݄
• $POUBP ҆ఆ൛-54 – ݄ • $POUBP ҆ఆ൛ – ݄
ϦϦʔε༧ఆ • hKp://contao.org/release-‐plan.html
όοΫΤϯυͱϑϩϯτΤϯυ • WebαΠτͷཧଆͱެ։ଆ – ཧଆ: όοΫΤϯυ(BE) – ެ։ଆ: ϑϩϯτΤϯυ(FE)
– όοΫΤϯυͰཧͯ͠ɺ ϑϩϯτΤϯυΛϓϨϏϡʔ→ ެ։ • URL – FE: hKp://www.example.jp/ – BE: hKp://www.example.jp/contao/
ϑϩϯτΤϯυͷྫ • ࣄྫͰڍ͛ͨͷͯ͢ϑϩϯτΤϯυ
όοΫΤϯυ
ϗʔϜ
όοΫΤϯυͷߏ • 3ͭͷ෦ – ϔομʔɺࠨαΠυɺϝΠϯ – Ϣʔβʔݖݶͷͳ͍ͷඇදࣔ • ςʔϚઃఆՄೳ –
ϑϩϯτΤϯυͷදࣔͱແؔ – flexibleόοΫΤϯυςʔϚ • Contao 3.3Ҏ߱ͷσϑΥϧτͷςʔϚ • Contao 3.2·ͰͷdefaultʹՃ • Ϩεϙϯγϒ
όοΫΤϯυͷ6*ͷಛ • ओʹ3ͭͷදࣔܗࣜ – Ϧετදࣔ – ϖΞϨϯτදࣔ – πϦʔදࣔ
– ͦΕͧΕͰڧྗͳฒସ͑ɺϑΟϧλʔɺݕࡧ • όοΫΤϯυશମͷҰ؏ੑ – ૢ࡞͢ΔͨΊͷΞΠίϯͷ࣋ͭҙຯ
Ϧετදࣔ
ϖΞϨϯτදࣔ
πϦʔදࣔ
ฤूͷදࣔྫ
ϓϨϏϡʔ ৽͍͠Οϯυ
ίϯςϯπ • ࣮ࡍͷίϯςϯπΛཧ – ΞʔςΟΫϧ • ϖʔδʹදࣔ͢Δ༰ – ϑΥʔϜδΣωϨʔλʔ •
ϑϩϯτΤϯυͷϑΥʔϜΛࣗ༝ʹ࡞ – ίϝϯτ • ଞͷίϯςϯπͰϑϩϯτΤϯυ͔Βೖྗ͞Εͨίϝϯτͷཧ – ͦͷଞɺಛఆͷछྨͷίϯςϯπ
ϨΠΞτ • ϖʔδͷஔܗͷσβΠϯ – ςʔϚ: ҎԼΛ·ͱΊͯཧ • ελΠϧγʔτ • ϑϩϯτΤϯυϞδϡʔϧ
• ϖʔδϨΠΞτ – αΠτߏ • ϖʔδΛ֊తʹཧ – ςϯϓϨʔτ • ΧελϚΠζͨ͠ςϯϓϨʔτͷϑΝΠϧͷཧ
ΞΧϯτཧ • Ϣʔβʔʹؔ࿈ͷཧ – ϝϯόʔ • ϑϩϯτΤϯυͷϢʔβʔ – ϝϯόʔάϧʔϓ •
ϑϩϯτΤϯυͰอޢ͞Εͨϖʔδʹ༻ – Ϣʔβʔ • όοΫΤϯυͷϢʔβʔ – Ϣʔβʔάϧʔϓ • όοΫΤϯυͷݖݶͷཧ • Ϣʔβʔʹରͯ͠ϢʔβʔάϧʔϓͱΈ߹ΘͤͯݖݶઃఆΛՄ ೳ
γεςϜ • ઃఆϦιʔεͷཧ – ϑΝΠϧཧ • ίϯςϯπͰ༻͢Δը૾ಈը • ϑϩϯτΤϯυͰΞοϓϩʔυ •
TinyMCE͔Βݺͼग़͠Մೳ – ઃఆ • Contaoͷશମͷઃఆ – อक • ΩϟογϡͷফڈϥΠϒΞοϓσʔτ – ػೳ֦ுΧλϩάͱػೳ֦ுͷཧ • ػೳ֦ுΛϦϙδτϦ͔ΒҰཡɺΠϯετʔϧɺߋ৽
։ൃऀπʔϧ • ։ൃऀ͚ͷπʔϧ – autoloadͷ࡞ • ݹ͍ػೳ֦ுͰɺautoloadΛ༻ҙ͢Δͱಈ࡞͢Δ߹͕͋Δɻ – ػೳ֦ுͷ࡞
• ػೳ֦ுͷܗͷ࡞ – ෆϥϕϧ • ະ༁ͷݴޠϥϕϧͷ֬ೝ
$POUBPͱίϯςϯπ
σβΠϯ
ΣϒαΠτͷσβΠϯ
ϖʔδ • 6ͭͷछྨ – ௨ৗϖʔδ – ෦ϦμΠϨΫτ – ֎෦ϦμΠϨΫτ
– 403 ΞΫηεڋ൱ – 404 ଘࡏ͠ͳ͍ϖʔδ – ΣϒαΠτͷϧʔτ • υϝΠϯͱݴޠͷࢦఆ͕Մೳ
ϖʔδͷ֊ͱઃఆ • ֊ߏ – ͷઃఆ߲ͷܧঝ • υϝΠϯͱݴޠʹԠͨ͡ϖʔδ֊ – ϚϧνυϝΠϯͷαϙʔτ
– ଟݴޠαΠτͷαϙʔτ • શମతͳઃఆͰURLύεʹݴޠίʔυΛՃՄೳ – hKp://www.example.jp/ja hKp://www.example.jp/en
ϖʔδͷઃఆ߲ • ϖʔδͷઃఆ – ϖʔδϨΠΞτ – ΞΫηεݖ • όοΫΤϯυͱϑϩϯτΤϯυͦΕͧΕ
– Ωϟογϡ • ϖʔδ୯ҐͷΩϟογϡ – ެ։ઃఆ – αΠτϚοϓφϏήʔγϣϯͷදࣔ
ϖʔδϨΠΞτ • ϖʔδʹؚΊΔ༰ͷఆٛ – ΧϥϜߏ • ΧελϜηΫγϣϯ – ֤ΧϥϜͷஔ༰
• ΞʔςΟΫϧϑϩϯτΤϯυϞδϡʔϧ – ελΠϧγʔτͷϑϨʔϜϫʔΫ – ؚΊΔελΠϧγʔτ: ෦ͱ֎෦ – jQueryMooToolsͷಡΈࠐΈ
ϑϩϯτΤϯυϞδϡʔϧ • ଞͷCMSͰͷϒϩοΫʹ૬ – φϏήʔγϣϯ • ϝχϡʔɺύϯͣ͘ɺϒοΫɺαΠτϚοϓ – ϑϩϯτΤϯυͷϢʔβʔ
• ొɺϩάΠϯɺݸਓσʔλɺΞΧϯτഇࢭ – ίϯςϯπͷҰཡදࣔ • χϡʔεɺΠϕϯτɺFAQɺχϡʔεϨλʔ – ΞϓϦέʔγϣϯ • ϑΥʔϜɺϖʔδݕࡧɺίϝϯτɺϦεςΟϯά – ͦͷଞ • FlashಈըɺϥϯμϜͳը૾ɺHTMLɺRSSදࣔ
ελΠϧ • ελΠϧγʔτͷϑϨʔϜϫʔΫ – ΧϥϜߏϨεϙϯγϒදࣔͷΈ • ελΠϧγʔτ – ෦
• σʔλϕʔεͰอ࣋ • GUIͰฤू – ֎෦ • ϑΝΠϧཧʹϑΝΠϧΛஔ • ϑΝΠϧཧͰฤू • LESSSCSSͷϑΝΠϧࢦఆՄೳ
ςϯϓϨʔτ • ͯ͢ͷग़ྗςϯϓϨʔτΛܦ༝ – طଘͷςϯϓϨʔτ • Contaoͷʹؚ·Ε͍ͯΔݪ൘ – ΧελϚΠζ༻ͷςϯϓϨʔτ
• ݪ൘Λίϐʔͯ͠ΧελϚΠζ • ΧελϚΠζ൛͕͋Ε༻ • ΧελϚΠζͨ͠ςϯϓϨʔτ – ݸʑͷϑϩϯτΤϯυϞδϡʔϧͰࢦఆ – ݸʑͷίϯςϯτཁૉͰࢦఆ
ςʔϚ • ҎԼΛ·ͱΊͨͷ – ϖʔδϨΠΞτ – ελΠϧγʔτ – ϑϩϯτΤϯυϞδϡʔϧ
– ςϯϓϨʔτ – ؔ࿈ϑΝΠϧ • ΤΫεϙʔτΠϯϙʔτ͕Մೳ – .ctoͷ֦ுࢠ(ͷzipϑΝΠϧ) – ΠϯϙʔτޙɺϖʔδχϡʔεͷΞʔΧΠ ϒͱͷ౷߹࡞ۀ͕ඞཁ
ίϯςϯπ
ΣϒαΠτͷίϯςϯπ
ίϯςϯπͷछྨ • ΞʔςΟΫϧ – ಛఆͷϖʔδʹஔ͘ίϯςϯπ • ίϯςϯτཁૉͰߏ •
χϡʔεɺΠϕϯτɺFAQɺχϡʔεϨλʔ – ಛఆͷ୯Ґ(ΞʔΧΠϒ)Ͱอ࣋͢Δίϯςϯπ • ϑϩϯτΤϯυϞδϡʔϧͰϖʔδ্ʹදࣔ • χϡʔεͱΠϕϯτίϯςϯτཁૉͰߏ • χϡʔεϨλʔ – ϝʔϧϚΨδϯతͳిࢠϝʔϧͰͷ৴ – ৴ͨ͠هࣄͷWeb্Ͱͷެ։
ίϯςϯτཁૉ • ΞʔςΟΫϧɺχϡʔεɺΠϕϯτͷ༰ – ίϯςϯπΛߏ͢Δॱংʹ͚ͯߏ – ίϯςϯτཁૉʹదͳςϯϓϨʔτͷద༻ • ΞΫηγϏϦςΟ •
෦ݕࡧΤϯδϯͷࢦࣔ – ίϯςϯπͷ࠶ར༻ɾޮతͳར༻ • ಉ͡ίϯςϯτཁૉͷڞ༗ • ଞͷίϯςϯτཁૉͷऔΓࠐΈ – ίϯςϯτཁૉ୯Ґͷެ։
ίϯςϯτཁૉͷछྨ • HTMLͷཁૉ – ݟग़͠ɺςΩετ(ϦονςΩετฤू)ɺHTML – Օॻ͖ɺදɺ(ϓϩάϥϜͷ)ίʔυɺMarkdown •
ϦϯΫ – ϋΠύʔϦϯΫɺτοϓϦϯΫ • ϑΝΠϧ – μϯϩʔυɺෳμϯϩʔυ
ϝσΟΞදࣔͷ੍ޚ • ը૾ಈը – ը૾ɺը૾ΪϟϥϦʔɺө૾ԻɺYouTubeಈը • ίϯςϯτཁૉͷද੍ࣔޚ – ΞίʔσΟΦϯɺίϯςϯτεϥΠμʔ •
ଞͷίϯςϯπͷऔΓࠐΈ – ΞʔςΟΫϧɺίϯςϯτཁૉɺϞδϡʔϧɺ ΞʔςΟΫϧͷςΟʔβʔ – ϑΥʔϜɺίϝϯτ
ϑΥʔϜ • ϑΥʔϜδΣωϨʔλʔ – ࣗ༝ʹϑΥʔϜΛ࡞ – ϑΥʔϜͷఏग़༰ͷॲཧ • ϝʔϧͰૹ৴
• ༧Ί༻ҙͨ͠σʔλϕʔεͷςʔϒϧʹ֨ೲ
ૠೖλά • {{ ͱ }} ͰғΜͩϚΫϩͷΑ͏ͳͷ – ϦϯΫཁૉ •
ϖʔδχϡʔε߲ͷϦϯΫʹؔ͢Δͷ – Ϣʔβʔͷଐੑ • ϩάΠϯ͍ͯ͠ΔϑϩϯτΤϯυϢʔβʔͷใ – ڥม • ΫϥΠΞϯτͷIPΞυϨεͷڥม – ཁૉͷऔΓࠐΈ • ଞͷΞʔςΟΫϧίϯςϯτཁૉΛల։ – ͦͷଞ • ݱࡏͷ࣌ݴޠʹج͍ͮͨ݅ॲཧ
$POUBPͷΠϯετʔϧͱߋ৽
Πϯετʔϧͷ४උ • ApacheɺPHPͷઃఆ • σʔλϕʔεͷ४උ – σʔλϕʔεͷ࡞ – σʔλϕʔεͷϢʔβʔͷ࡞ •
ιϑτΣΞͷμϯϩʔυͱల։ – ख࡞ۀͰμϯϩʔυɺల։ɺΞοϓϩʔυ – ύοέʔδγεςϜͷར༻(pkgsrc) – ContaoνΣοΫͷར༻Մೳ
$POUBPνΣοΫ • Πϯετʔϧͷࢧԉπʔϧ – ContaoͷΠϯετʔϧʹؔ͢Δݕࠪ • ContaoͷόʔδϣϯʹԠͨ͡ΠϯετʔϧͷՄ൱ – Πϯετʔϧޙͷػೳͷར༻Մ൱ •
ػೳ֦ுϦϙδτϦ • ϥΠϒΞοϓσʔτ • ηʔϑϞʔυରॲͷඞཁੑ – ContaoͷϑΝΠϧͷऔಘͱల։ • μϯϩʔυɺల։ɺΞοϓϩʔυͱ͍ͬͨखॱΛࣗಈ࣮ߦ • ల։ͨ͠ϑΝΠϧͷ༰ͷݕࠪ • Contao 4.0ʹඇରԠ – PHPͷgeKext֦ு(ଟݴޠදࣔ)
Πϯετʔϧ • Πϯετʔϧπʔϧ – hKp://example.jp/contao/install.php – ஈ֊Ͱઃఆ • σʔλϕʔεͷଓ֬ೝςʔϒϧ࡞ •
Ξοϓσʔτ։ൃͰ͏߹ • ηΩϡϦςΟ – ࠷ॳʹύεϫʔυΛઃఆ – ෆ҆ͳ߹install.phpΛআ໊લมߋΛ࣮ࢪ
ϥΠϒΞοϓσʔτ • hKps://update.contao.org/ – iNet RobotsࣾʹΑΔ༗ঈαʔϏε – ֹ10Ϣʔϩ • υΠπͷച্੫19%ࠐΈɺͦΕΛআ͍ͨຊԁͰ1200ԁऑ
• Πϯετʔϧͨ͠1ͭͷContaoʹରͯ͠1ϥΠηϯε͕ඞཁ • ϚεճͷΫϦοΫͰߋ৽ – Πϯετʔϧઌͷόʔδϣϯͷબ • ৽͍͠όάमਖ਼ϦϦʔε • ৽͍͠ϚΠφʔϦϦʔε • ҎલͷϦϦʔε – όοΫΞοϓͷ࡞
࠷ۙͷϦϦʔε
$POUBP • 20156݄5ϦϦʔε: 3.5.0 – ৽͍͠ظαϙʔτϦϦʔε – PHP 5.4Ҏ߱
• 20157݄24όάमਖ਼ϦϦʔε: 3.5.1 • 20157݄24όάमਖ਼ϦϦʔε: 3.5.2
͍։͖λά – PHP 5.4Ҏ߱ͰσϑΥϧτͰ༗ޮ <? • <?php echo – ςϯϓϨʔτͷՄಡੑͷ্
今まで: <div class=“<?php echo $this->class; ?>”> <h1><?php echo $this->headline; ?></h1> <p class=“<?php echo $this->cssClass; ?>”><?php echo $this->content; ?></p> </div> これから: <div class="<?= $this->class ?>"> <h1><?= $this->headline ?></h1> <p class="<?= $this->cssClass ?>"><?= $this->content ?></p> </div>
ςϯϓϨʔτൺֱ • ςϯϓϨʔτͷൺֱදࣔ – ςϯϓϨʔτͷΦϦδφϧΛදࣔ – ΧελϚΠζ൛ͱΦϦδφϧͷൺֱදࣔ – ಉάϧʔϓ(ΧςΰϦ)ͷผͷςϯϓϨʔτͱൺֱ
ύεϫʔυมߋ • ύεϫʔυมߋͷϑϩϯτΤϯυϞδϡʔϧ – ʮݸਓใʯͰมߋࣗମՄೳ • ݱࡏͷύεϫʔυͷݕূͳ͠ – ݱࡏͷύεϫʔυݕূ
γϑτΩʔͰબ • γϑτΩʔΛԡ͠ͳ͕ΒબΛมߋ
ϖʔδ • 404 ଘࡏ͠ͳ͍ϖʔδ – ϖʔδͷछྨͷ1ͭ – ໊લͷ௨Γɺଘࡏ͠ͳ͍ϖʔδ – ༻͞Εͳ͍߹͕͋ͬͨ: • ෆਖ਼ͳϖʔδͷΤΠϦΞε
• ෆਖ਼ͳχϡʔε߲ΠϕϯτͷΤΠϦΞε • ϖʔδωʔγϣϯͰෆਖ਼ͳϖʔδͷબ • ෆਖ਼ͳ
ͦͷଞ • χϡʔεϨλʔͷѼͯઌ – ҟͳΔνϟϯωϧؒͰѼͯઌΛҠಈ • ผͷχϡʔεϨλʔͷؒͰΞυϨεΛҠಈ • ҠಈઌͰखಈͰՃͷѻ͍ –
Ϣʔβʔࣗʹొͷ߹μϒϧɾΦϓτΠϯඞਢ • ෦తͳมߋ – ϞσϧɾϨδετϦ • σʔλϕʔεͷ͍߹Θͤͷݮ – σʔλϕʔεͷΠϯσοΫεͷվળ – IDEޓੑ
$POUBP • 20156݄9ʹϦϦʔε: 4.0.0 – PHP 5.4Ҏ߱ – Symfony౷߹
• Contao Konferenz 2015ͷجௐߨԋ – hKps://leofeyer.com/files/slides/2015/konferenz/ • υΠπޠ • Google Translagon֦ுͰӳ༁Մೳ
$POUBPͷಛ • SymfonyҎ֎ͷಛ – schema.orgͷλάͷऔΓࠐΈ – ͯ͢ͷϑΥʔϜͷ߲ͷϚʔΫΞοϓͷ౷߹ – CSSͷΫϥεͱΟδΣοτͷ౩ο
– TinyMCEͷߏͷվળ – ݹ͍Ϧιʔεͷഇࢭ • ηʔϑϞʔυରॲ • XHTML – ͦͷଞ
ͳͥ4ZNGPOZ • جຊతͳ – Contaoͷ։ൃऀ͕গͳ͍ɻ – 201210݄ͷContao 3.0Ҏ߱ɺ։ൃऀʹΑΓՃ ͞Εͨ৽͍͠ػೳΘ͔ͣͰ͋Δɻ
– ҰํͰPHPքͰ৽͍͠ைྲཱྀ͕֬ • ύοέʔδཧ(Composer) • ܧଓతΠϯςάϨʔγϣϯ(PHPUnit, Travis) • ίʔυղੳ(Scrugnizer, SensioLabsInsight)
։ൃऀͷཁ • ৽͍ٕ͠ज़ͷར༻ͱै • ղܾࡦ – SymfonyΛ৽͍͠ίʔυϕʔε – ৽͍͠πʔϧΛඪ४ͱͯ͠౷߹
– Symfony͘ར༻͞ΕɺυΩϡϝϯτԽ – ݱࡏɺ2500Ҏ্ͷSyfonyόϯυϧ
݁Ռ • Contao 4Symfonyͷόϯυϧ – SymfonyΞϓϦέʔγϣϯʹCMSͷػೳΛఏڙ • ར
– ʮ࠷ऴతͳʯSymfonyΞϓϦέʔγϣϯͷ ··Ͱ͋Δɻ – ݁Ռͱͯ͠ɺͦΕͧΕͷSymfony։ൃऀContao Λѻ͏࡞ۀΛߦ͑Δɻ – ৽͍͠ίʔυSymfonyͷඪ४ʹैͬͯίʔσΟ ϯάͱςετ͕ͳ͑͞Δɻ
γφδʔޮՌ • Contao 4ͱɺCMSػೳ͕ඞཁͳ SymfonyΞϓϦέʔγϣϯͷग़ձ͍ • ظ
– RedkiteSimpleCMSͷΑ͏ͳஶ໊ͳSymfonyϕʔ εͷCMSʹରͯ͠ɺContao͕ผͷબࢶ – طʹSymfonyΛѻ͍ͬͯΔ৫͕ContaoΛऔΓѻ ͍ʹՃ – Contaoͷ։ൃʹܞΘΔ৫͕ɺ৽͍͠Contaoͷ։ ൃऀΛಘΔ
5JOZ.$&ͷςϯϓϨʔτ • ઃఆϑΝΠϧͱͯ͠ͷςϯϓϨʔτ – ैདྷ: ϑΝΠϧσΟϨΫτϦʹΞοϓϩʔυ – ࠓޙ:
ςϯϓϨʔτͷ1ͭ • ར – όοΫΤϯυͰฤूՄೳ – Ξοϓσʔτ࣌ʹมߋอ࣋ – DCAͷௐ͕ෆཁ
TDIFNBPSH • WebϖʔδͷίϯςϯπʹϥϕϧΛ͚ – ඪ४Խ͞ΕͨϚʔΫΞοϓݴޠ(ϚΠΫϩσʔλ) • ར – ݕࡧΤϯδϯʹΑΔίϯςϯπͷΠϯσοΫε
Λվળ – ݕࡧ݁ՌʹՃՁ(schema.orgͷRich Snippetsͷ ༻࣌) – Contao 4Ͱඪ४
දΛ༻͠ͳ͍ • ʮදΛ༻͠ͳ͍ϨΠΞτʯͷઃఆͷഇࢭ – ͯ͢tableΛ༻͠ͳ͍ϑΥʔϜ – ৽͍͠ελΠϧγʔτͷϑϨʔϜϫʔΫ • form.css
– ඪ४ͷॻࣜ • ߲ͷ্ʹϥϕϧ – CSSͷΫϥε: horizontal-‐form • ϥϕϧͱಉ͡ߦʹ߲ – CSSͷΫϥε: inline • ͯ͢Λಉ͡ߦ
υΩϡϝϯτϧʔτ • ContaoΛల։ͨ͠σΟϨΫτϦ͔Βมߋ – ԼҐͷσΟϨΫτϦ: web • ར
– ϑΥϧμʔͷอޢʹ.htaccessʹཔΒͳ͍ɻ – ApacheҎ֎(nginx)ͷରԠ • ҙ – webσΟϨΫτϦҎԼʹγϯϘϦοΫϦϯΫ • γϯϘϦοΫϦϯΫΛḷΔΞΫηεͷڐՄ • PHPͰγϯϘϦοΫϦϯΫ࡞͕Մೳͳ͜ͱ
ഇࢭ • ηʔϑϞʔυରॲ – γϯϘϦοΫϦϯΫඞਢʹ͖ͭରԠෆՄ • XHTMLͷαϙʔτ – HTML520116݄1ͷTYPOlight
2.10.beta1͔Β • IE6ͷܯࠂ • ཁૉͷલޙͷεϖʔε – ͪΌΜͱCSSͰ͠Α͏Ͷɻ
$POUBP • ݱঢ়ͷ੍ݶ – Contao 3͔ΒͷΞοϓάϨʔυͳ͠! – ComposerʹΑΔΠϯετʔϧ
% php composer.phar create-‐project contao/standard-‐edigon <target> 4.0.0 • WebϕʔεͷΠϯετʔϧπʔϧࠓޙͷ՝ – TwigςϯϓϨʔτͷར༻ – ΠϕϯτͱϑοΫͷSymfonyͷػߏͷҠߦ – ݴޠϑΝΠϧӳޠ͚ͩ
$POUBP • 20157݄24ʹϦϦʔε – ༷ʑͳόάमਖ਼ – ੍ݶࣄ߲4.0.0ͱมΘΒͣ
$POUBP • 20158݄5ʹϦϦʔε – एׯͷόάमਖ਼ • Πϯετʔϧπʔϧͷ෮׆ – ϑΝΠϧ͕෮׆ɺComposerཁΒͳ͍ɻ
• Contao 3.2Ҏ͔߱ΒΞοϓάϨʔυՄೳ • ݴޠϑΝΠϧ – 16͔ࠃޠΛಉࠝ • Πϯετʔϧπʔϧ͚ͩӳޠ͚ͩ
ϩʔυϚοϓ • Contao 4.0.0 20155݄ 6݄ •
Contao 4.1.0 201511݄ • Contao 4.2.0 20165݄ • Contao 4.3.0 LTS 201611݄
$POUBPͷؔ࿈ใ
ެࣜαΠτ • ެࣜαΠτ: hKps://contao.org/ • ։ൃαΠτ: hKps://github.com/contao/ • ϑΥʔϥϜ:
hKps://community.contao.org/ • Contao Associagon: hKps://associagon.contao.org/ • ࣄྫݚڀ: hKps://contao.org/case-‐studies.html • ίϛϡχςΟʹΑΔWiki: hKp://contaowiki.org/ • ιʔγϟϧωοτϫʔΫ – Facebook: hKp://www.facebook.com/contao – TwiKer: hKp://twiKer.com/contaocms
ॻ੶ • ॻ੶: (΄΅)ͯ͢υΠπޠ
ࠃͷใ • hKp://www.contaocms.jp/ – ݸਓαΠτ • hKps://www.facebook.com/groups/contao.jp – ຊContaoͷձ:
Facebookͷάϧʔϓ͚ͩ – hKp://contao.jp/ Λ༧ఆ • Facebook – ຊContaoͷձͷެ։άϧʔϓ • TwiKer – @contaocms_jp / @contao_cco
ຊ$POUBPͷձ • ؇͍ϢʔβʔάϧʔϓΛࢦ • Facebookʹެ։άϧʔϓ • WebαΠτ४උத
• ڠྗऀઈࢍืूத
ػೳ֦ுͷݴޠϑΝΠϧ • contao.orgͷΦϯϥΠϯɾτϥϯεϨʔλʔ – contao.orgʹΞΧϯτ࡞ • ະ༁ͷݴޠϑΝΠϧΛొ •
ࣗಈతʹػೳ֦ுʹө
ػೳ֦ுͷݴޠϑΝΠϧ ଓ͖ • Transifex – ػೳ֦ுʹґଘ – TransifexʹΞΧϯτ࡞
• ಛఆͷݴޠ(ຊޠ)ͷ༁Λਃ • ࣍ͷϦϦʔεʹө • GitHub – ػೳ֦ுʹґଘ – ݴޠϑΝΠϧΛpull request
ڠྗऀઈࢍืूத • WebαΠτͷ্ཱͪ͛ • υΩϡϝϯτ – ެࣜϚχϡΞϧͷຊޠ൛ • hKps://docs.contao.org/
ʹϦϯΫ • ϚχϡΞϧࣗମgitbook – ݴޠϑΝΠϧͷվળ – ຊޠͷυΩϡϝϯτඋ – ػೳ֦ுͷݴޠϑΝΠϧ • ࠶ར༻ՄೳͳαϯϓϧɾαΠτ