0Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Contribution Bootup Day
» Introduction & Requirements
» TYPO3 Universe...
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 Gmb...
3Nicole Cordes, TYPO3 Contribution Bootup Day
Ways to contribute
„Which ways exist to get active in this community?“
» rep...
4Nicole Cordes, TYPO3 Contribution Bootup Day
Contribution Prerequisites
„What do I need to start contributing?“
» PHP Dev...
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?“
» ...
7Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Teams
„Which teams take care about TYPO3 improvements?“
» Core Develop...
8Nicole Cordes, TYPO3 Contribution Bootup Day
TYPO3 Events
„Where to get the spirit of the TYPO3 community?“
» T3AMD - Age...
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
» singl...
11Nicole Cordes, TYPO3 Contribution Bootup Day
Slack
„How do we communicate?“
» Instant Communication Platform
» public & ...
12Nicole Cordes, TYPO3 Contribution Bootup Day
Forge
„Where to share bugs?“
» bug tracker (for TYPO3 CMS, Extensions and s...
13Nicole Cordes, TYPO3 Contribution Bootup Day
Forger
„Anything better to search for bugs?“
» extended search functionalit...
14Nicole Cordes, TYPO3 Contribution Bootup Day
Git Repositories
„Where to look for the sources?“
» only to provide Git (cl...
15Nicole Cordes, TYPO3 Contribution Bootup Day
Gerrit
„Where to find patches?“
» code review system
» initially written by...
16Nicole Cordes, TYPO3 Contribution Bootup Day
GitHub
„Where to find everything else?“
» some core components
» Fluid
» Sy...
17Nicole Cordes, TYPO3 Contribution Bootup Day
Travis, AppVeyor & Bamboo
„Where to find everything else?“
» continuous int...
18Nicole Cordes, TYPO3 Contribution Bootup Day
Documentation
„Is there anything to read about TYPO3?“
» official core docu...
19Nicole Cordes, TYPO3 Contribution Bootup Day
Wiki
„Where to find topic related information?“
» for documentation and ref...
20Nicole Cordes, TYPO3 Contribution Bootup Day
Translation
„Can I add any translation on my own?“
» based on Pootle
» uses...
21Nicole Cordes, TYPO3 Contribution Bootup Day
Mailing lists
„Is there any old-school communication?“
» used before Slack ...
22Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow
23Nicole Cordes, TYPO3 Contribution Bootup Day
Development Guidelines
„What to consider when you want to contribute?“
» us...
24Nicole Cordes, TYPO3 Contribution Bootup Day
Code Style
„Is there anything I need to know about the code?“
» PSR-2 codin...
25Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow I
„I found a bug, what now?“
» use forge and/or forger to search f...
26Nicole Cordes, TYPO3 Contribution Bootup Day
Workflow II
„I found a bug, what now?“
» use forge and/or forger to search ...
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 – regis...
29Nicole Cordes, TYPO3 Contribution Bootup Day
Test some patches
„Test what?“
» take one or several patches from this list...
30Nicole Cordes, TYPO3 Contribution Bootup Day
Create some more patches
„I found a bug, now I know what to do!“
» search f...
31Nicole Cordes, TYPO3 Contribution Bootup Day
Thank you
for your attention!
» These slides are inspired by Helmut Hummel,...
Nächste SlideShare
Wird geladen in …5
×

TYPO3 Contribution Bootup Day

294 Aufrufe

Veröffentlicht am

Slides for onboarding TYPO3 enthusiastic people to core development

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

TYPO3 Contribution Bootup Day

  1. 1. 0Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Contribution Bootup Day » Introduction & Requirements » TYPO3 Universe » TYPO3 Tools » Workflow » Hands on
  2. 2. 1Nicole Cordes, TYPO3 Contribution Bootup Day Introduction & Requirements
  3. 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. 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. 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. 6. 5Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Universe
  7. 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. 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. 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. 10. 9Nicole Cordes, TYPO3 Contribution Bootup Day TYPO3 Tools
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 23. 22Nicole Cordes, TYPO3 Contribution Bootup Day Workflow
  24. 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. 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. 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. 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. 28. 27Nicole Cordes, TYPO3 Contribution Bootup Day Hands on
  29. 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. 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. 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. 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

×