Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contao Open Source CMS -- Contao 4.2に向けて

Contao Open Source CMS -- Contao 4.2に向けて

オープンソースカンファレンス 2016 名古屋で行ったセミナーの発表資料です。

Takahiro Kambe

May 28, 2016
Tweet

More Decks by Takahiro Kambe

Other Decks in Technology

Transcript

  1. ൃදऀʹ͍ͭͯ ଓ͖ • Φʔϓϯιʔεͱࢲ – NetBSD։ൃऀ • pkgsrc(ύοέʔδγεςϜ) 2000೥8݄͔Β –

    Ruby – PHP – ͦͷଞඞཁʹԠͯ͡ – ͦͷଞ೔ຊޠ຋༁ • ຊۀͱWebαΠτߏங͸ແؔ܎
  2. $POUBPͱ͸Կ͔ • ΦʔϓϯιʔεͷCMS – 2006೥3݄12೔: TYPOlight 2.0.RC͔Βެ։ • 10ि೥Λܴ͑·ͨ͠! –

    LGPL3 – ঎༻ϥΠηϯε͋Γ 1. ϖʔδͷιʔεͰContaoΛ࢖༻͍ͯ͠ΔදࣔΛ࡟আ – metaλάͷgenerator 2. ιʔείʔυ͔Βஶ࡞ݖදࣔΛ࡟আ – ެࣜαΠτ: https://contao.org/ • ݴޠ͸υΠπޠɺӳޠɺεϖΠϯޠ – ։ൃݩ: υΠπ
  3. ਺ࣈͰݟΔ$POUBP • Contao Konferenz 2016ͷجௐߨԋͷࢿྉ͔Β – https://leofeyer.de/files/slides/2016/konferenz/ • υΠπޠ: Google

    Translation֦ுͰӳ༁Մೳ • μ΢ϯϩʔυ – 2016೥5݄10೔Ͱ1,144,765 • 2015೥1݄຤Ͱ1,000,000Λ௒͑ – ैͬͯɺ15͔݄Ͱ145,000 – 1೥ʹ116,000ɺ݄ʹ9,600ͱ׵ࢉ • download.contao.org͔Βͷμ΢ϯϩʔυ – Contao CheckɺެࣜαΠτͷμ΢ϯϩʔυ • github.com͔Βͷμ΢ϯϩʔυ͸আ֎
  4. ϚʔέοτγΣΞ • CMSCrawlerͷ݁Ռ: – http://www.cmscrawler.com/ • 843γεςϜத11Ґ • υΠπ: 4Ґ(2014೥:

    8Ґ) 5.10% – http://www.cmscrawler.com/tld/de • ΦʔετϦΞ: 4Ґ(2014೥: 6Ґ) 3.34% – http://www.cmscrawler.com/tld/at • εΠε: 4Ґ(2014೥: 8Ґ) 2.54% – http://www.cmscrawler.com/tld/ch • ϦώςϯγϡλΠϯ: 5Ґ – http://www.cmscrawler.com/tld/li
  5. $POUBPͷಛ௃ • όοΫΤϯυͱϑϩϯτΤϯυͷݫ֨ͳ෼཭ – ެ։͢ΔαΠτʹґଘ͠ͳ͍Ұ؏ͨ͠ը໘ߏ੒ • ֊૚ߏ੒ʹΑΔϖʔδͷ؅ཧ • ίϯςϯτཁૉ –

    ίϯςϯπΛෳ਺ͷछྨͷύʔτͰߏ੒ • ΞΫηγϏϦςΟͷߟྀ • ΧελϚΠζ΍֦ுͷ͠΍͢͞ – ػೳͷ֦ுΛߟྀͨ͠ߏ଄ – ຊମͷ௚઀มߋ͸ෆཁ
  6. ಈ࡞؀ڥ • Webαʔόʔ – Apache(, IIS) • εΫϦϓςΟϯάݴޠ – PHP

    5.4.0Ҏ߱ • ඞཁͳ֦ு: mysqli(·ͨ͸mysql), dom, gd, mbstring(·ͨ͸iconv), mcrypt, soap, curl, zlib • σʔλϕʔε؅ཧγεςϜ – MySQL 5.0.3Ҏ߱ • ଞͷσʔλϕʔεͷαϙʔτ͸Contao 3.0ͰҰ୴ഇࢭ
  7. ֤ࠃޠରԠ • ݴޠϑΝΠϧ͸ຊମʹಉࠝ – Contao 3.5.12Ͱ25ͷݴޠ – Contao 4.1.3Ͱ17ͷݴޠ •

    ͜Ε͔Β૿͑Δ໛༷ – TransifexͰ95%Ҏ্ͷ຋༁཰Ͱ࠾༻ • 95%ະຬʹͳΔͱ࡟আ
  8. ϦϦʔεͷछྨ  • όʔδϣϯX.Y.Z – ϝδϟʔϦϦʔε: X • ͋ΒΏΔมߋͷՄೳੑ •

    ֓Ͷ2೥ʹ1౓ • 2012೥10݄30೔ʹ3.0.0ɺ2015೥6݄9೔ʹ4.0.0 – ϚΠφʔϦϦʔε: Y • APIͷมߋ͸(಺෦తͳ΋ͷΛআ͖)ͳ͠ • σʔλߏ଄ɺςϯϓϨʔτʹมߋͷՄೳੑ • ൒೥ʹ1ճ: 6݄ͱ12݄(౰ॳ͸5݄ͱ11݄) – όάमਖ਼ϦϦʔε: Z • جຊతʹόάमਖ਼͚ͩ → ্Ґޓ׵ͳमਖ਼͚ͩ • ਵ࣌(֓Ͷ݄ʹ1౓ఔ౓)
  9. ϦϦʔεͷछྨ  • ௕ظؒαϙʔτϦϦʔε(LTS) – 3೥ؒͷอकظؒͷϚΠφʔϦϦʔε • جຊతʹόάमਖ਼͚ͩ – 1೥ؒͷҠߦظؒ

    • ηΩϡϦςΟमਖ਼͚ͩ – ߹ܭͰ4೥ؒ – LTSͷϦϦʔεִؒ͸2೥ʹ1౓ • SymfonyͷϦϦʔεִؒͱͷ਌࿨ੑ – Contao 4Ҏ߱͸SymfonyΛ࢖༻
  10. ݱࡏͷϦϦʔε • $POUBP -54 – ೥ ݄೔  • ݱࡏͷ௕ظαϙʔτϦϦʔε೥݄·Ͱ

    • ࣍ͷ௕ظαϙʔτϦϦʔε͸$POUBP • $POUBP ҆ఆ൛ – ೥ ݄೔  • $POUBP ։ൃ൛ – ೥ ݄೔ 3$ • ೥݄Լ०ʹਖ਼ࣜϦϦʔε  ༧ఆ
  11. όοΫΤϯυͱϑϩϯτΤϯυ • WebαΠτͷ؅ཧଆͱެ։ଆ – ؅ཧଆ: όοΫΤϯυ – ެ։ଆ: ϑϩϯτΤϯυ –

    όοΫΤϯυͰ؅ཧͯ͠ɺ ϑϩϯτΤϯυΛϓϨϏϡʔ → ެ։ • URL – ϑϩϯΤϯυ: http://www.example.jp/ – όοΫΤϯυ: http://www.example.jp/contao/ • Πϯετʔϥʔ – 4.0ΑΓલ: http://www.example.jp/contao/install.php – 4.0Ҏ߱: http://www.example.jp/install.php
  12. όοΫΤϯυͷ6*ͷಛ௃ • ओʹ3ͭͷදࣔܗࣜ – Ϧετදࣔ – ϖΞϨϯτදࣔ – πϦʔදࣔ –

    ͦΕͧΕͰڧྗͳฒ΂ସ͑ɺϑΟϧλʔɺݕࡧ • όοΫΤϯυશମͷҰ؏ੑ – ૢ࡞͢ΔͨΊͷΞΠίϯͷ࣋ͭҙຯ
  13. ϖʔδͷ֊૚ͱઃఆ • ֊૚ߏ଄ – ʮ΢ΣϒαΠτͷϧʔτʯͷϖʔδΛى఺ – υϝΠϯͱݴޠʹԠͨ͡ϖʔδ֊૚ • ϚϧνυϝΠϯͷαϙʔτ •

    ଟݴޠαΠτͷαϙʔτ – શମతͳઃఆͰURLύεʹݴޠίʔυΛ෇ՃՄೳ » http://www.example.jp/ja http://www.example.jp/en – ਌ͷϖʔδͷઃఆ߲໨ͷܧঝ
  14. ϖʔδͷઃఆ߲໨ • ϖʔδͷઃఆ – ϖʔδϨΠΞ΢τ – ΞΫηεݖ • όοΫΤϯυͱϑϩϯτΤϯυͦΕͧΕ –

    Ωϟογϡ • ϖʔδ୯ҐͷΩϟογϡ – ެ։ઃఆ – αΠτϚοϓ΍φϏήʔγϣϯ΁ͷදࣔ
  15. ϖʔδϨΠΞ΢τ • ϖʔδʹؚΊΔ಺༰ͷఆٛ – ΧϥϜߏ੒ • ΧελϜηΫγϣϯ – ֤ΧϥϜͷ഑ஔ಺༰ •

    ΞʔςΟΫϧ΍ϑϩϯτΤϯυϞδϡʔϧ – ελΠϧγʔτͷϑϨʔϜϫʔΫ – ؚΊΔελΠϧγʔτ: ಺෦ͱ֎෦ – jQuery΍MooToolsͷಡΈࠐΈ
  16. ϑϩϯτΤϯυϞδϡʔϧ • ଞͷCMSͰͷϒϩοΫʹ૬౰ – φϏήʔγϣϯ • ϝχϡʔɺύϯͣ͘ɺϒοΫɺαΠτϚοϓ – ϑϩϯτΤϯυͷϢʔβʔ •

    ొ࿥ɺϩάΠϯɺݸਓσʔλɺΞΧ΢ϯτഇࢭ – ίϯςϯπͷҰཡ΍දࣔ • χϡʔεɺΠϕϯτɺFAQɺχϡʔεϨλʔ – ΞϓϦέʔγϣϯ • ϑΥʔϜɺϖʔδ಺ݕࡧɺίϝϯτɺϦεςΟϯά – ͦͷଞ • FlashಈըɺϥϯμϜͳը૾ɺHTMLɺRSSදࣔ
  17. ελΠϧ • ελΠϧγʔτͷϑϨʔϜϫʔΫ – ΧϥϜߏ੒΍Ϩεϙϯγϒදࣔͷ࿮૊Έ • ελΠϧγʔτ – ಺෦ •

    σʔλϕʔεͰอ࣋ • GUIͰฤू – ֎෦ • ϑΝΠϧ؅ཧʹϑΝΠϧΛ഑ஔ • ϑΝΠϧ؅ཧͰฤू • LESS΍SCSSͷϑΝΠϧ΋௚઀ࢦఆՄೳ
  18. ςϯϓϨʔτ • ͢΂ͯͷग़ྗ͸ςϯϓϨʔτΛܦ༝ – طଘͷςϯϓϨʔτ • Contaoͷ഑෍ʹؚ·Ε͍ͯΔݪ൘ – ΧελϚΠζ༻ͷςϯϓϨʔτ •

    ݪ൛Λίϐʔͯ͠ΧελϚΠζ • ΧελϚΠζ൛͕͋Ε͹࢖༻ • ΧελϚΠζͨ͠ςϯϓϨʔτ – ݸʑͷϑϩϯτΤϯυϞδϡʔϧͰࢦఆ – ݸʑͷίϯςϯτཁૉͰࢦఆ
  19. ίϯςϯπͷछྨ • ΞʔςΟΫϧ – ಛఆͷϖʔδʹஔ͘ίϯςϯπ • ίϯςϯτཁૉͰߏ੒ • χϡʔεɺΠϕϯτɺFAQɺχϡʔεϨλʔ –

    ಛఆͷ୯Ґ(ΞʔΧΠϒ)Ͱอ࣋͢Δίϯςϯπ • ϑϩϯτΤϯυϞδϡʔϧͰϖʔδ্ʹදࣔ • χϡʔεͱΠϕϯτ͸ίϯςϯτཁૉͰߏ੒ • χϡʔεϨλʔ – ϝʔϧϚΨδϯతͳిࢠϝʔϧͰͷ഑৴ – ഑৴ͨ͠هࣄͷWeb্Ͱͷެ։
  20. ίϯςϯτཁૉ • ΞʔςΟΫϧɺχϡʔεɺΠϕϯτͷ಺༰ – ίϯςϯπΛߏ੒͢Δॱংʹ෼͚ͯߏ੒ – ίϯςϯτཁૉʹద੾ͳςϯϓϨʔτͷద༻ • ΞΫηγϏϦςΟ •

    ಺෦ݕࡧΤϯδϯ΁ͷࢦࣔ – ίϯςϯπͷ࠶ར༻ɾޮ཰తͳར༻ • ಉ͡ίϯςϯτཁૉͷڞ༗ • ଞͷίϯςϯτཁૉͷऔΓࠐΈ – ίϯςϯτཁૉ୯Ґͷެ։
  21. ϝσΟΞ΍දࣔͷ੍ޚ • ը૾΍ಈը – ը૾ɺը૾ΪϟϥϦʔɺө૾΍Ի੠ɺYouTubeಈը • ίϯςϯτཁૉͷද੍ࣔޚ – ΞίʔσΟΦϯɺίϯςϯτεϥΠμʔ •

    ଞͷίϯςϯπͷऔΓࠐΈ – ΞʔςΟΫϧɺίϯςϯτཁૉɺϞδϡʔϧɺ ΞʔςΟΫϧͷςΟʔβʔ – ϑΥʔϜɺίϝϯτ
  22. ૠೖλά • {{ ͱ }} ͰғΜͩϚΫϩͷΑ͏ͳ΋ͷ – ϦϯΫཁૉ • ϖʔδ΍χϡʔε߲໨ͷϦϯΫʹؔ͢Δ΋ͷ

    – Ϣʔβʔͷଐੑ • ϩάΠϯ͍ͯ͠ΔϑϩϯτΤϯυϢʔβʔͷ৘ใ – ؀ڥม਺ • ΫϥΠΞϯτͷIPΞυϨε౳ͷ؀ڥม਺ – ཁૉͷऔΓࠐΈ • ଞͷΞʔςΟΫϧ΍ίϯςϯτཁૉΛల։ – ͦͷଞ • ݱࡏͷ೔࣌΍ݴޠʹج͍ͮͨ৚݅ॲཧ
  23. Πϯετʔϧͷ४උ • ApacheɺPHPͷઃఆ • σʔλϕʔεͷ४උ – σʔλϕʔεͷ࡞੒ – σʔλϕʔεͷϢʔβʔͷ࡞੒ •

    ιϑτ΢ΣΞͷμ΢ϯϩʔυͱల։ – ख࡞ۀͰμ΢ϯϩʔυɺల։ɺΞοϓϩʔυ – ύοέʔδγεςϜͷར༻(pkgsrc) – ContaoνΣοΫͷར༻ • https://github.com/contao/check
  24. $POUBPνΣοΫ • Πϯετʔϧલͷࢧԉπʔϧ – https://github.com/contao/check • PHPͷgettext֦ு(ଟݴޠදࣔ)͕ඞཁ – ContaoͷΠϯετʔϧʹؔ͢Δݕࠪ •

    ContaoͷόʔδϣϯʹԠͨ͡ΠϯετʔϧͷՄ൱ – Πϯετʔϧޙͷػೳͷར༻Մ൱ • ػೳ֦ுϦϙδτϦ • ϥΠϒΞοϓσʔτ • ηʔϑϞʔυରॲͷඞཁੑ – Contaoͷ഑෍ϑΝΠϧͷऔಘͱల։ • μ΢ϯϩʔυɺల։ɺΞοϓϩʔυ·Ͱʹ૬౰͢Δ࡞ۀΛαʔ όʔ্Ͱ࣮ߦ • ల։ͨ͠ϑΝΠϧͷ಺༰ͷݕূ • Contao 4.0Ҏ߱ʹ͸(·ͩ?)ඇରԠ
  25. Πϯετʔϧ • Πϯετʔϧπʔϧ – Contao 3.5: http://www.example.jp/contao/install.php – Contao 4.1:

    http://www.example.jp/install.php – ਺ஈ֊Ͱઃఆ • σʔλϕʔεͷ઀ଓ֬ೝ΍ςʔϒϧ࡞੒ • ௨ৗ͸Πϯετʔϧ͚࣌ͩ – Ξοϓσʔτ΍։ൃͰ࢖͏৔߹ • ηΩϡϦςΟ – ࠷ॳʹύεϫʔυΛઃఆ – ෆ҆ͳ৔߹͸install.phpΛ࡟আ΍໊લมߋΛ࣮ࢪ
  26. ϥΠϒΞοϓσʔτ • ΠϯετʔϧޙͷࢧԉαʔϏε • https://update.contao.org/ – iNet RobotsࣾʹΑΔ༗ঈαʔϏε – ೥ֹ10Ϣʔϩ

    • υΠπͷച্੫19%ࠐΈɺͦΕΛআ͍ͨ೔ຊԁͰ1200ԁऑ • Πϯετʔϧͨ͠1ͭͷContaoʹରͯ͠1ϥΠηϯε͕ඞཁ • Ϛ΢ε਺ճͷΫϦοΫͰߋ৽ – Πϯετʔϧઌͷόʔδϣϯͷબ୒ • ৽͍͠όάमਖ਼ϦϦʔεɺ৽͍͠ϚΠφʔϦϦʔεɺ ҎલͷϦϦʔε – σʔλϕʔεͷόοΫΞοϓͷ࡞੒
  27. ΞΠίϯͷ47(Խ • όοΫΤϯυͷΞΠίϯͷSVGԽ – SVG: Scalable Vector Graphics • XMLͰදه͞Εͨը૾ϑΝΠϧͷܗࣜ

    • 2࣍ݩͷϕΫλʔܗࣜ – εέʔϥϒϧ(ϕΫλʔϑΥϯτ) – ΞΠίϯϑΥϯτͷෆ౎߹ͳ͠ – ༰қͳ౷߹ • imgλά • CSSͷbackground-imageଐੑ
  28. $POUBP • ௕ॴ – ৽͍͠ػೳ – Symfony – ࠓ෩ͷόοΫΤϯυςʔϚ •

    ୹ॴ – গͳ͍ޓ׵ੑ͕͋Δػೳ֦ு – ௕ظαϙʔτͷόʔδϣϯͳ͠ • ৽͍͠ػೳͬͯ?
  29. ެࣜαΠτ • ެࣜαΠτ: https://contao.org/ • ։ൃαΠτ: https://github.com/contao/ • ϑΥʔϥϜ: https://community.contao.org/

    • Contao Association: https://association.contao.org/ • ࣄྫݚڀ: https://contao.org/case-studies.html • ίϛϡχςΟʹΑΔWiki: http://contaowiki.org/ • ιʔγϟϧωοτϫʔΫ – Facebook: http://www.facebook.com/contao – Twitter: http://twitter.com/contaocms