SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Más contenido relacionado

Andere mochten auch

Contribute to TYPO3 CMS
Contribute to TYPO3 CMSContribute to TYPO3 CMS
Contribute to TYPO3 CMSOliver Hader
 
Functional tests for dummies
Functional tests for dummiesFunctional tests for dummies
Functional tests for dummiescpsitgmbh
 
Functional tests with TYPO3
Functional tests with TYPO3Functional tests with TYPO3
Functional tests with TYPO3cpsitgmbh
 
TYPO3 Caching
TYPO3 CachingTYPO3 Caching
TYPO3 Cachingcpsitgmbh
 
SymfonyCon Berlin 2016 Jenkins Deployment Pipelines
SymfonyCon Berlin 2016 Jenkins Deployment PipelinesSymfonyCon Berlin 2016 Jenkins Deployment Pipelines
SymfonyCon Berlin 2016 Jenkins Deployment Pipelinescpsitgmbh
 
Unit tests for dummies
Unit tests for dummiesUnit tests for dummies
Unit tests for dummiescpsitgmbh
 
Fluid Security
Fluid SecurityFluid Security
Fluid Securitycpsitgmbh
 

Andere mochten auch (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
 

Ähnlich wie 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
 
Assign, Commit, and Review
Assign, Commit, and ReviewAssign, Commit, and Review
Assign, Commit, and ReviewZhongyue Luo
 
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/01Hiro Yoshioka
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
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...Hiro Yoshioka
 
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 LTSTRITUM
 
5/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'165/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'16Kangaroot
 
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 MINUTESSven Houtmeyers
 
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 LTScpsitgmbh
 
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!Team per la Trasformazione Digitale
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch ProjectAOE
 
The typo3.org Relaunch Project
The typo3.org Relaunch ProjectThe typo3.org Relaunch Project
The typo3.org Relaunch ProjectAOE
 
1_International_Google_CoLab_20220307.pptx
1_International_Google_CoLab_20220307.pptx1_International_Google_CoLab_20220307.pptx
1_International_Google_CoLab_20220307.pptxFEG
 
Get Hooked on Integrations with GitHub
Get Hooked on Integrations with GitHubGet Hooked on Integrations with GitHub
Get Hooked on Integrations with GitHubChris Thomas
 
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 2019Henning Jacobs
 
TYPO3 Documentation Contribution (#t3cb 2019 - English)
TYPO3 Documentation Contribution (#t3cb 2019 - English)TYPO3 Documentation Contribution (#t3cb 2019 - English)
TYPO3 Documentation Contribution (#t3cb 2019 - English)Sybille Peters
 
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...Jody Garnett
 
MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014Leon Rosenberg
 
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 dataGael Varoquaux
 

Ähnlich wie 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
 

Último

Benefits of Fiber Internet vs. Traditional Internet.pptx
Benefits of Fiber Internet vs. Traditional Internet.pptxBenefits of Fiber Internet vs. Traditional Internet.pptx
Benefits of Fiber Internet vs. Traditional Internet.pptxlibertyuae uae
 
如何办理朴茨茅斯大学毕业证书学位证书成绩单?
如何办理朴茨茅斯大学毕业证书学位证书成绩单?如何办理朴茨茅斯大学毕业证书学位证书成绩单?
如何办理朴茨茅斯大学毕业证书学位证书成绩单?krc0yvm5
 
Generalities about NFT , as a new technology
Generalities about NFT , as a new technologyGeneralities about NFT , as a new technology
Generalities about NFT , as a new technologysoufianbouktaib1
 
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and BeyondTungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and BeyondContinuent
 
SQL Server on Azure VM datasheet.dsadaspptx
SQL Server on Azure VM datasheet.dsadaspptxSQL Server on Azure VM datasheet.dsadaspptx
SQL Server on Azure VM datasheet.dsadaspptxJustineGarcia32
 
Google-Next-Madrid-BBVA-Research inv.pdf
Google-Next-Madrid-BBVA-Research inv.pdfGoogle-Next-Madrid-BBVA-Research inv.pdf
Google-Next-Madrid-BBVA-Research inv.pdfMaria Adalfio
 
overview of Virtualization, concept of Virtualization
overview of Virtualization, concept of Virtualizationoverview of Virtualization, concept of Virtualization
overview of Virtualization, concept of VirtualizationRajan yadav
 
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...hasimatwork
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC
 
Mary Meeker Internet Trends Report for 2019
Mary Meeker Internet Trends Report for 2019Mary Meeker Internet Trends Report for 2019
Mary Meeker Internet Trends Report for 2019Eric Johnson
 

Último (10)

Benefits of Fiber Internet vs. Traditional Internet.pptx
Benefits of Fiber Internet vs. Traditional Internet.pptxBenefits of Fiber Internet vs. Traditional Internet.pptx
Benefits of Fiber Internet vs. Traditional Internet.pptx
 
如何办理朴茨茅斯大学毕业证书学位证书成绩单?
如何办理朴茨茅斯大学毕业证书学位证书成绩单?如何办理朴茨茅斯大学毕业证书学位证书成绩单?
如何办理朴茨茅斯大学毕业证书学位证书成绩单?
 
Generalities about NFT , as a new technology
Generalities about NFT , as a new technologyGeneralities about NFT , as a new technology
Generalities about NFT , as a new technology
 
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and BeyondTungsten Webinar: v6 & v7 Release Recap, and Beyond
Tungsten Webinar: v6 & v7 Release Recap, and Beyond
 
SQL Server on Azure VM datasheet.dsadaspptx
SQL Server on Azure VM datasheet.dsadaspptxSQL Server on Azure VM datasheet.dsadaspptx
SQL Server on Azure VM datasheet.dsadaspptx
 
Google-Next-Madrid-BBVA-Research inv.pdf
Google-Next-Madrid-BBVA-Research inv.pdfGoogle-Next-Madrid-BBVA-Research inv.pdf
Google-Next-Madrid-BBVA-Research inv.pdf
 
overview of Virtualization, concept of Virtualization
overview of Virtualization, concept of Virtualizationoverview of Virtualization, concept of Virtualization
overview of Virtualization, concept of Virtualization
 
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...
Section 3 - Technical Sales Foundations for IBM QRadar for Cloud (QRoC)V1 P10...
 
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
APNIC Update and RIR Policies for ccTLDs, presented at APTLD 85
 
Mary Meeker Internet Trends Report for 2019
Mary Meeker Internet Trends Report for 2019Mary Meeker Internet Trends Report for 2019
Mary Meeker Internet Trends Report for 2019
 

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