SlideShare a Scribd company logo
1 of 32
Download to read offline
0Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Contribution Bootup Day
» Introduction & Requirements
» TYPO3 Universe
» TYPO3 Tools
» Workflow
» Hands on
1Nicole Cordes, TYPO3 Contribution Bootup Day
Introduction
&
Requirements
2Nicole Cordes, TYPO3 Contribution Bootup Day
Me, myself and I
„Who is that girl?“
» Nicole Cordes
» working at CPS-IT GmbH in Berlin
» community activity since 2011
» Core and Security Team member
» contributing to multiple public extensions
» Slack: @IchHabRecht
» Twitter: @IchHabRecht
» Mail: nicole.cordes@typo3.org
3Nicole Cordes, TYPO3 Contribution Bootup Day
Ways to contribute
„Which ways exist to get active in this community?“
» report a bug and/or give feedback on other reports
» publish an extension
» translate core and/or extensions labels
» improve core and/or extension documentation
» contribute source code
» make a donation
» and maybe much more (facebook, twitter, blog posts)
4Nicole Cordes, TYPO3 Contribution Bootup Day
Contribution Prerequisites
„What do I need to start contributing?“
» PHP Development Environment
» Webserver
» PHP (with Xdebug)
» MySQL
» IDE (PHPStorm recommended)
» Git
» Gui (Source Tree or GitKraken)
» Composer
» typo3.org user account
» GitHub account (for working on extensions or some core packages)
5Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3
Universe
6Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Association
„What is the legal structure of the TYPO3 Association?“
» the basic idea was to raise money through membership fees to pay for long-term
development
» General Assembly (GA)
» consists of all members and agencies (who paid their membership fee)
» Board
» daily business of running the TYPO3 Association
» Expert Advisory Board (EAB)
» managing the affairs of the TYPO3 Association
» Business Control Committee (BCC)
» agrees and controls processes in the different parts of the TYPO3 Association
7Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Teams
„Which teams take care about TYPO3 improvements?“
» Core Development
» Documentation Team
» Editorial Team
» Education & Certification Team
» Events Team
» Marketing Team
» Press Team
» Security Team
» Server Team
» typo3.org Team
8Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Events
„Where to get the spirit of the TYPO3 community?“
» T3AMD - Agency Meet-Up Day
» T3BOARD - Snowboard Tour
» T3CON - International Conference
» T3Cx - (Bar-)Camps
» T3DD - Developer Days
» T3SPRINT - Code Sprints
» T3UGx – User Groups
» T3UXW - User Experience Week
9Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3
Tools
10Nicole Cordes, TYPO3 Contribution Bootup Day
typo3.org
„Where does all start?“
» register your own TYPO3 account
» single-sign-on to multiple TYPO3 platforms
» manage extensions and register new keys
» announcements & events
» extension & TYPO3 release downloads
11Nicole Cordes, TYPO3 Contribution Bootup Day
Slack
„How do we communicate?“
» Instant Communication Platform
» public & private (protected) topic groups
» #typo3-cms - general CMS support
» #typo3-cms-coredev - join the core development
» direct messages to whole community
» register at https://forger.typo3.org/slack
» join https://typo3.slack.com
12Nicole Cordes, TYPO3 Contribution Bootup Day
Forge
„Where to share bugs?“
» bug tracker (for TYPO3 CMS, Extensions and several other projects / teams)
» search for existing bugs
» report new bugs
» share feature requests
» provide feedback or additional information
» TYPO3 account needed
» Core Issues: https://forge.typo3.org/projects/typo3cms-core/issues
13Nicole Cordes, TYPO3 Contribution Bootup Day
Forger
„Anything better to search for bugs?“
» extended search functionalities based on elastic search
» aggregation & metrics for development
» open issues
» pending patches
» filter patches
» historical measurements
» sprint boards & overviews
» little friendly helpers
» see https://forger.typo3.org
14Nicole Cordes, TYPO3 Contribution Bootup Day
Git Repositories
„Where to look for the sources?“
» only to provide Git (clone) Repository URLS
» Core and (some) extension repositories
» see https://git.typo3.org
15Nicole Cordes, TYPO3 Contribution Bootup Day
Gerrit
„Where to find patches?“
» code review system
» initially written by Google for Android development
» relies on Git as version control system
» only Core Team members have merge rights
» TYPO3 account needed
» see https://review.typo3.org
16Nicole Cordes, TYPO3 Contribution Bootup Day
GitHub
„Where to find everything else?“
» some core components
» Fluid
» Symfony packages
» Doctrine DBAL
» (deprecated) previous core extensions
» many third party extensions
» to contribute: use GitHub’s pull requests
17Nicole Cordes, TYPO3 Contribution Bootup Day
Travis, AppVeyor & Bamboo
„Where to find everything else?“
» continuous integration pre-/post-merge
» supported branches 6.2 – master on (their) different PHP versions
» Unit Tests (~9000)
» Functional Tests (~800)
» Acceptance Tests (~60)
» Travis CI – post-merge for Linux
» AppVeyor – post-merge for Windows
» Bamboo – pre-merge for every new patchset (on own infrastructure)
» see: https://travis-ci.org/TYPO3/TYPO3.CMS/
» see: https://ci.appveyor.com/project/psychomieze/typo3-cms-sqpkv
» see: https://bamboo.typo3.com/browse/CORE-GTC
18Nicole Cordes, TYPO3 Contribution Bootup Day
Documentation
„Is there anything to read about TYPO3?“
» official core documentation
» TypoScript
» TCA
» Tsconfig
» extension documentation
» other related documentation
» Cheat Sheets
» rst-ing with PhpStorm
» see: https://docs.typo3.org/typo3cms
» see: https://docs.typo3.org/typo3cms/extensions/core/
» see: https://docs.typo3.org/typo3cms/drafts/github/wmdbsystems/RSTingWithPhpStormGuide/
19Nicole Cordes, TYPO3 Contribution Bootup Day
Wiki
„Where to find topic related information?“
» for documentation and references
» Unit and Functional Testing explanations
» Composer information
» for Code Sprint organization
» for discussing blueprints (concepts)
» TYPO3 account is needed
» see: https://wiki.typo3.org/Main_Page
» see: https://wiki.typo3.org/Category:Events/CodeSprint/2016
» see: https://wiki.typo3.org/Unit_Testing_TYPO3
» see: https://wiki.typo3.org/Functional_testing
» see: https://wiki.typo3.org/Composer
» see: https://wiki.typo3.org/Blueprints
20Nicole Cordes, TYPO3 Contribution Bootup Day
Translation
„Can I add any translation on my own?“
» based on Pootle
» uses XLIFF standard
» collaborative translation tool
» for core & extensions
» TYPO3 account needed
» see: https://translation.typo3.org
21Nicole Cordes, TYPO3 Contribution Bootup Day
Mailing lists
„Is there any old-school communication?“
» used before Slack was available
» not that frequently used anymore
» TYPO3 Announcement List for release notes and important security information
» see: http://lists.typo3.org/cgi-bin/mailman/listinfo
» see: http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-announce
22Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow
23Nicole Cordes, TYPO3 Contribution Bootup Day
Development Guidelines
„What to consider when you want to contribute?“
» use English for conversations and coding
» documentation helps others to understand
» be friendly and helpful
» give feedback & ask for feedback
» see: https://typo3.org/community/code-of-conduct/
24Nicole Cordes, TYPO3 Contribution Bootup Day
Code Style
„Is there anything I need to know about the code?“
» PSR-2 coding style
» code formatting & indentions
» directory structure & naming scheme
» PHPDoc comments for classes, properties and methods
» see: https://docs.typo3.org/typo3cms/CodingGuidelinesReference/Introduction/
» see: http://www.php-fig.org/psr/psr-2/
25Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow I
„I found a bug, what now?“
» use forge and/or forger to search for an existing ticket for your bug
» if you found a ticket
» give some more information about the prerequests and/or how to reproduce the bug
» if a patch already exists
» fetch the patch to your local system and test it
» vote on Gerrit
» provide new information found during your test
» if no patch exists yet
» try to solve the problem and push a patch to Gerrit
» announce your patch in #typo3-cms-coredev channel on Slack
26Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow II
„I found a bug, what now?“
» use forge and/or forger to search for an existing ticket for your bug
» if you can’t find a ticket
» create a ticket on your own
» mention the steps to reproduce your problem, your expected results and the current ones
» try to solve the problem and push a patch to Gerrit
» announce your patch in #typo3-cms-coredev channel on Slack
27Nicole Cordes, TYPO3 Contribution Bootup Day
Hands on
28Nicole Cordes, TYPO3 Contribution Bootup Day
Configure Git
„How can I start contributing now?“
» if not yet done – register your TYPO3 account
» setting up your Git environment
» see: https://docs.typo3.org/typo3cms/ContributionWorkflowGuide/GitSetup/
» (or use the quick helper from http://www.wwwision.de/githelper/#Packages/TYPO3.CMS.git)
29Nicole Cordes, TYPO3 Contribution Bootup Day
Test some patches
„Test what?“
» take one or several patches from this list
» if you want to change that one claim it yours before (-1 with a short note)
» cherry-pick the latest patch set
» have a look at the code (and/or change it)
» push the new patch set
» vote or comment after running unit tests
» https://review.typo3.org/#/c/48874/
» https://review.typo3.org/#/c/48880/
» https://review.typo3.org/#/c/48920/
» https://review.typo3.org/#/c/49013/
» https://review.typo3.org/#/c/49014/
30Nicole Cordes, TYPO3 Contribution Bootup Day
Create some more patches
„I found a bug, now I know what to do!“
» search for a bug on forge/forger which you can reproduce (or take an already known one)
» create a first patch
» push it to Gerrit
» notify about your review
» https://forge.typo3.org/issues/76977
» https://forge.typo3.org/issues/77091
» https://forge.typo3.org/issues/77097
» https://forge.typo3.org/issues/77106
31Nicole Cordes, TYPO3 Contribution Bootup Day
Thank you
for your attention!
» These slides are inspired by Helmut Hummel, Michael Stucki, Oliver Harder & Xavier Perseguers

More Related Content

Viewers also liked (9)

Contribute to TYPO3 CMS
Contribute to TYPO3 CMSContribute to TYPO3 CMS
Contribute to TYPO3 CMS
 
Hooks
HooksHooks
Hooks
 
Functional tests for dummies
Functional tests for dummiesFunctional tests for dummies
Functional tests for dummies
 
Functional tests with TYPO3
Functional tests with TYPO3Functional tests with TYPO3
Functional tests with TYPO3
 
TYPO3 Caching
TYPO3 CachingTYPO3 Caching
TYPO3 Caching
 
Gerrit
GerritGerrit
Gerrit
 
SymfonyCon Berlin 2016 Jenkins Deployment Pipelines
SymfonyCon Berlin 2016 Jenkins Deployment PipelinesSymfonyCon Berlin 2016 Jenkins Deployment Pipelines
SymfonyCon Berlin 2016 Jenkins Deployment Pipelines
 
Unit tests for dummies
Unit tests for dummiesUnit tests for dummies
Unit tests for dummies
 
Fluid Security
Fluid SecurityFluid Security
Fluid Security
 

Similar to TYPO3 Contribution Bootup Day

Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
OpenCity Community
 

Similar to TYPO3 Contribution Bootup Day (20)

Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
 
Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and Review
 
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
Using oss and hacker culture at an internet company at osc/tokyo 2014/03/01
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...Using oss at an internet company and hacker culture; Linux Enterprise Users M...
Using oss at an internet company and hacker culture; Linux Enterprise Users M...
 
What's new in TYPO3 v9 LTS
What's new in TYPO3 v9 LTSWhat's new in TYPO3 v9 LTS
What's new in TYPO3 v9 LTS
 
5/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'165/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'16
 
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTESBUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
BUILDING A FULL-FLAVORED EVENT SITE IN 5 MINUTES
 
CertiFUNcation 2017 Best Practices Extension Development for TYPO3 8 LTS
CertiFUNcation 2017 Best Practices Extension Development for TYPO3 8 LTSCertiFUNcation 2017 Best Practices Extension Development for TYPO3 8 LTS
CertiFUNcation 2017 Best Practices Extension Development for TYPO3 8 LTS
 
Developers Italia and the New Guidelines: Let the Open Source Revolution Start!
Developers Italia and the New Guidelines: Let the Open Source Revolution Start!Developers Italia and the New Guidelines: Let the Open Source Revolution Start!
Developers Italia and the New Guidelines: Let the Open Source Revolution Start!
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch Project
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch Project
 
1_International_Google_CoLab_20220307.pptx
1_International_Google_CoLab_20220307.pptx1_International_Google_CoLab_20220307.pptx
1_International_Google_CoLab_20220307.pptx
 
Get Hooked on Integrations with GitHub
Get Hooked on Integrations with GitHubGet Hooked on Integrations with GitHub
Get Hooked on Integrations with GitHub
 
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
 
Introduction to FIWARE IoT
Introduction to FIWARE IoTIntroduction to FIWARE IoT
Introduction to FIWARE IoT
 
TYPO3 Documentation Contribution (#t3cb 2019 - English)
TYPO3 Documentation Contribution (#t3cb 2019 - English)TYPO3 Documentation Contribution (#t3cb 2019 - English)
TYPO3 Documentation Contribution (#t3cb 2019 - English)
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 

Recently uploaded

Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
Asmae Rabhi
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 

Recently uploaded (20)

Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 

TYPO3 Contribution Bootup Day

  • 1. 0Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Contribution Bootup Day » Introduction & Requirements » TYPO3 Universe » TYPO3 Tools » Workflow » Hands on
  • 2. 1Nicole Cordes, TYPO3 Contribution Bootup Day Introduction & Requirements
  • 3. 2Nicole Cordes, TYPO3 Contribution Bootup Day Me, myself and I „Who is that girl?“ » Nicole Cordes » working at CPS-IT GmbH in Berlin » community activity since 2011 » Core and Security Team member » contributing to multiple public extensions » Slack: @IchHabRecht » Twitter: @IchHabRecht » Mail: nicole.cordes@typo3.org
  • 4. 3Nicole Cordes, TYPO3 Contribution Bootup Day Ways to contribute „Which ways exist to get active in this community?“ » report a bug and/or give feedback on other reports » publish an extension » translate core and/or extensions labels » improve core and/or extension documentation » contribute source code » make a donation » and maybe much more (facebook, twitter, blog posts)
  • 5. 4Nicole Cordes, TYPO3 Contribution Bootup Day Contribution Prerequisites „What do I need to start contributing?“ » PHP Development Environment » Webserver » PHP (with Xdebug) » MySQL » IDE (PHPStorm recommended) » Git » Gui (Source Tree or GitKraken) » Composer » typo3.org user account » GitHub account (for working on extensions or some core packages)
  • 6. 5Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Universe
  • 7. 6Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Association „What is the legal structure of the TYPO3 Association?“ » the basic idea was to raise money through membership fees to pay for long-term development » General Assembly (GA) » consists of all members and agencies (who paid their membership fee) » Board » daily business of running the TYPO3 Association » Expert Advisory Board (EAB) » managing the affairs of the TYPO3 Association » Business Control Committee (BCC) » agrees and controls processes in the different parts of the TYPO3 Association
  • 8. 7Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Teams „Which teams take care about TYPO3 improvements?“ » Core Development » Documentation Team » Editorial Team » Education & Certification Team » Events Team » Marketing Team » Press Team » Security Team » Server Team » typo3.org Team
  • 9. 8Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Events „Where to get the spirit of the TYPO3 community?“ » T3AMD - Agency Meet-Up Day » T3BOARD - Snowboard Tour » T3CON - International Conference » T3Cx - (Bar-)Camps » T3DD - Developer Days » T3SPRINT - Code Sprints » T3UGx – User Groups » T3UXW - User Experience Week
  • 10. 9Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Tools
  • 11. 10Nicole Cordes, TYPO3 Contribution Bootup Day typo3.org „Where does all start?“ » register your own TYPO3 account » single-sign-on to multiple TYPO3 platforms » manage extensions and register new keys » announcements & events » extension & TYPO3 release downloads
  • 12. 11Nicole Cordes, TYPO3 Contribution Bootup Day Slack „How do we communicate?“ » Instant Communication Platform » public & private (protected) topic groups » #typo3-cms - general CMS support » #typo3-cms-coredev - join the core development » direct messages to whole community » register at https://forger.typo3.org/slack » join https://typo3.slack.com
  • 13. 12Nicole Cordes, TYPO3 Contribution Bootup Day Forge „Where to share bugs?“ » bug tracker (for TYPO3 CMS, Extensions and several other projects / teams) » search for existing bugs » report new bugs » share feature requests » provide feedback or additional information » TYPO3 account needed » Core Issues: https://forge.typo3.org/projects/typo3cms-core/issues
  • 14. 13Nicole Cordes, TYPO3 Contribution Bootup Day Forger „Anything better to search for bugs?“ » extended search functionalities based on elastic search » aggregation & metrics for development » open issues » pending patches » filter patches » historical measurements » sprint boards & overviews » little friendly helpers » see https://forger.typo3.org
  • 15. 14Nicole Cordes, TYPO3 Contribution Bootup Day Git Repositories „Where to look for the sources?“ » only to provide Git (clone) Repository URLS » Core and (some) extension repositories » see https://git.typo3.org
  • 16. 15Nicole Cordes, TYPO3 Contribution Bootup Day Gerrit „Where to find patches?“ » code review system » initially written by Google for Android development » relies on Git as version control system » only Core Team members have merge rights » TYPO3 account needed » see https://review.typo3.org
  • 17. 16Nicole Cordes, TYPO3 Contribution Bootup Day GitHub „Where to find everything else?“ » some core components » Fluid » Symfony packages » Doctrine DBAL » (deprecated) previous core extensions » many third party extensions » to contribute: use GitHub’s pull requests
  • 18. 17Nicole Cordes, TYPO3 Contribution Bootup Day Travis, AppVeyor & Bamboo „Where to find everything else?“ » continuous integration pre-/post-merge » supported branches 6.2 – master on (their) different PHP versions » Unit Tests (~9000) » Functional Tests (~800) » Acceptance Tests (~60) » Travis CI – post-merge for Linux » AppVeyor – post-merge for Windows » Bamboo – pre-merge for every new patchset (on own infrastructure) » see: https://travis-ci.org/TYPO3/TYPO3.CMS/ » see: https://ci.appveyor.com/project/psychomieze/typo3-cms-sqpkv » see: https://bamboo.typo3.com/browse/CORE-GTC
  • 19. 18Nicole Cordes, TYPO3 Contribution Bootup Day Documentation „Is there anything to read about TYPO3?“ » official core documentation » TypoScript » TCA » Tsconfig » extension documentation » other related documentation » Cheat Sheets » rst-ing with PhpStorm » see: https://docs.typo3.org/typo3cms » see: https://docs.typo3.org/typo3cms/extensions/core/ » see: https://docs.typo3.org/typo3cms/drafts/github/wmdbsystems/RSTingWithPhpStormGuide/
  • 20. 19Nicole Cordes, TYPO3 Contribution Bootup Day Wiki „Where to find topic related information?“ » for documentation and references » Unit and Functional Testing explanations » Composer information » for Code Sprint organization » for discussing blueprints (concepts) » TYPO3 account is needed » see: https://wiki.typo3.org/Main_Page » see: https://wiki.typo3.org/Category:Events/CodeSprint/2016 » see: https://wiki.typo3.org/Unit_Testing_TYPO3 » see: https://wiki.typo3.org/Functional_testing » see: https://wiki.typo3.org/Composer » see: https://wiki.typo3.org/Blueprints
  • 21. 20Nicole Cordes, TYPO3 Contribution Bootup Day Translation „Can I add any translation on my own?“ » based on Pootle » uses XLIFF standard » collaborative translation tool » for core & extensions » TYPO3 account needed » see: https://translation.typo3.org
  • 22. 21Nicole Cordes, TYPO3 Contribution Bootup Day Mailing lists „Is there any old-school communication?“ » used before Slack was available » not that frequently used anymore » TYPO3 Announcement List for release notes and important security information » see: http://lists.typo3.org/cgi-bin/mailman/listinfo » see: http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-announce
  • 23. 22Nicole Cordes, TYPO3 Contribution Bootup Day Workflow
  • 24. 23Nicole Cordes, TYPO3 Contribution Bootup Day Development Guidelines „What to consider when you want to contribute?“ » use English for conversations and coding » documentation helps others to understand » be friendly and helpful » give feedback & ask for feedback » see: https://typo3.org/community/code-of-conduct/
  • 25. 24Nicole Cordes, TYPO3 Contribution Bootup Day Code Style „Is there anything I need to know about the code?“ » PSR-2 coding style » code formatting & indentions » directory structure & naming scheme » PHPDoc comments for classes, properties and methods » see: https://docs.typo3.org/typo3cms/CodingGuidelinesReference/Introduction/ » see: http://www.php-fig.org/psr/psr-2/
  • 26. 25Nicole Cordes, TYPO3 Contribution Bootup Day Workflow I „I found a bug, what now?“ » use forge and/or forger to search for an existing ticket for your bug » if you found a ticket » give some more information about the prerequests and/or how to reproduce the bug » if a patch already exists » fetch the patch to your local system and test it » vote on Gerrit » provide new information found during your test » if no patch exists yet » try to solve the problem and push a patch to Gerrit » announce your patch in #typo3-cms-coredev channel on Slack
  • 27. 26Nicole Cordes, TYPO3 Contribution Bootup Day Workflow II „I found a bug, what now?“ » use forge and/or forger to search for an existing ticket for your bug » if you can’t find a ticket » create a ticket on your own » mention the steps to reproduce your problem, your expected results and the current ones » try to solve the problem and push a patch to Gerrit » announce your patch in #typo3-cms-coredev channel on Slack
  • 28. 27Nicole Cordes, TYPO3 Contribution Bootup Day Hands on
  • 29. 28Nicole Cordes, TYPO3 Contribution Bootup Day Configure Git „How can I start contributing now?“ » if not yet done – register your TYPO3 account » setting up your Git environment » see: https://docs.typo3.org/typo3cms/ContributionWorkflowGuide/GitSetup/ » (or use the quick helper from http://www.wwwision.de/githelper/#Packages/TYPO3.CMS.git)
  • 30. 29Nicole Cordes, TYPO3 Contribution Bootup Day Test some patches „Test what?“ » take one or several patches from this list » if you want to change that one claim it yours before (-1 with a short note) » cherry-pick the latest patch set » have a look at the code (and/or change it) » push the new patch set » vote or comment after running unit tests » https://review.typo3.org/#/c/48874/ » https://review.typo3.org/#/c/48880/ » https://review.typo3.org/#/c/48920/ » https://review.typo3.org/#/c/49013/ » https://review.typo3.org/#/c/49014/
  • 31. 30Nicole Cordes, TYPO3 Contribution Bootup Day Create some more patches „I found a bug, now I know what to do!“ » search for a bug on forge/forger which you can reproduce (or take an already known one) » create a first patch » push it to Gerrit » notify about your review » https://forge.typo3.org/issues/76977 » https://forge.typo3.org/issues/77091 » https://forge.typo3.org/issues/77097 » https://forge.typo3.org/issues/77106
  • 32. 31Nicole Cordes, TYPO3 Contribution Bootup Day Thank you for your attention! » These slides are inspired by Helmut Hummel, Michael Stucki, Oliver Harder & Xavier Perseguers