Your SlideShare is downloading. ×
Contribute to TYPO3 CMS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Contribute to TYPO3 CMS

450
views

Published on

Overview of how to contribute to the TYPO3 CMS core. Session has been presented during the TYPO3 Developer Days 2014 in Eindhoven/NL

Overview of how to contribute to the TYPO3 CMS core. Session has been presented during the TYPO3 Developer Days 2014 in Eindhoven/NL

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
450
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Contributing to the TYPO3 CMS Core Developer Days 2014, Eindhoven
  • 2. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Overview Types of Contributing Tools that are used Principles & Workflows Obstacles Hands on!
  • 3. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS About You? Are you developer, designer, integrator, …? Do you have experience in Git? What are your expectations?
  • 4. Challenge
  • 5. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Motivation Maybe … you experience a misbehavior … you try to analyze what’s wrong … you might run around, cry and get crazy Better … you ask the community for feedback … you report your findings in a constructive way
  • 6. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Motivation Demand Solution idea bug feature itch interest contribute
  • 7. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Types of Contributing Communication & Discussion share your idea and experience give feedback to others Reporting help others to reproduce and fix a bug enrich reports with details and screenshots request a (missing) feature
  • 8. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Types of Contributing Reviewing evaluate the work of others give feedback and your vote Implementing work on a particular topic hand in your work for reviews and request comments
  • 9. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Fields of Contributing Development for Functionality Documentation for Explanation Usability for Simplicity Design for Elegancy Translation for Comprehensibility
  • 10. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Communication Mailing Lists & Forum general discussion and communication http://lists.typo3.org & nntp://lists.typo3.org http://forum.typo3.org
  • 11. Core Development list on forum.typo3.org
  • 12. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Communication Mailing Lists & Forum general discussion and communication http://lists.typo3.org & nntp://lists.typo3.org http://forum.typo3.org Ad-Hoc Chats IRC channels #typo3* on irc.freenode.org Slack channels and groups on http://typo3.slack.com
  • 13. Public #typo3-cms channel in Slack App
  • 14. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Documentation Wiki pages preliminary documentation blueprints to work out ideas http://wiki.typo3.org
  • 15. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Documentation Wiki pages preliminary documentation blueprints to work out ideas http://wiki.typo3.org Product Documentation references and explanation in reStructuredText (rst) http://docs.typo3.org and GitHub interaction (partly)
  • 16. Official Documentation on docs.typo3.org
  • 17. Creating a new fork in your GitHub repository
  • 18. Directly edit the reStructuredText
  • 19. Previewing the result and the changes
  • 20. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Development Redmine/Forge issue tracker for everything bug reports and feature requests description and screenshots handling priorities and relations http://forge.typo3.org
  • 21. Issue tracker on forge.typo3.org
  • 22. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Development Git version control system master branch for next version development TYPO3_6-2 branch for bugfixes in release versions new features are not accepted for released versions git://git.typo3.org/Packages/TYPO3.CMS.git see http://wiki.typo3.org/Git to get started with Git
  • 23. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Development Gerrit review and quality assurance system guidelines for merging/accepting a change positive review of the code and behavior verification from two different persons, at least one Active Contributor https://review.typo3.org
  • 24. Change on review.typo3.org links to forge for details considered for
 TYPO3 CMS 6.2 only two positive code reviews,
 but not verified (tested) yet
  • 25. Changed files and direct Git command
  • 26. Changes in detail
  • 27. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Development Travis CI continuous integration and quality assurance executes unit tests and functional tests automatically can be used by anybody with forks of TYPO3 GitHub mirror please make sure to disable notifications in .travis.yml https://travis-ci.org/TYPO3/TYPO3.CMS/builds
  • 28. Automated tests with Travis CI after each merged commit
  • 29. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Usability & Design InVision visual representation of changes collection of ideas and tasks to be done http://invisionapp.com (required invitation)
  • 30. Comments on particular visual elements/components
  • 31. WANTED ! TYPO3 CMS and the Usability Team needs more designers and UX experts.
  • 32. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Tools for Translation Pootle translation of phrases and labels handling of changes and reviews data is based on XLIFF http://translation.typo3.org
  • 33. Translation Server at translation.typo3.org
  • 34. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Principles Community respect and accept the diversity attend OSS Watch Communications session see http://typo3.org/community/code-of-conduct/ Communication & Feedback constructive, supportive and friendly communicate about discussions (documentation)
  • 35. Diversity in the TYPO3 Community - by Søren Schaffstein
  • 36. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Workflows Meetings in Reality during code sprints see https://typo3.org/events/code-sprints/ 1-2 Active Contributor Meetings per year #T3ACME Roadmap & Releases priorities collected during Active Contributor Meetings roadmap defined for upcoming version
  • 37. Topic collection and prioritizing during T3ACME14N
  • 38. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Roles & Groups Active Contributors Release Manager TYPO3 CMS Team Leader TYPO3 CMS Team (Release Team) https://typo3.org/teams/core-development-team/roles-groups/
  • 39. TYPO3 CMS Active Contributors
  • 40. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Release Cycle release phases alpha - development of everything (4-6 months) beta - feature freeze & focus on stabilization (2-4 months) release candidates & final release (0-2 weeks under pressure) current supported versions 4.5 LTS (until 2015-03), 4.7 (until 2014-10) 6.1 (until 2014-10), 6.2 LTS (until 2017-03)
  • 41. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Release Cycle 4.5 LTS 4.6 6.0 6.1 4.7 6.2 LTS 6.3 evolution time 2011 2014 2015
  • 42. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Release Cycle LTS-only-users from TYPO3 4.5 to TYPO3 6.2 ignoring versions 4.6, 4.7, 6.0 and 6.1 = four versions 4.6: caching framework & race conditions 4.7: Extbase persistence features 6.0: file abstraction layer & namespaces deprecations - methods are removed two versions later statistics: ~ 60-70% are LTS-only-users
  • 43. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Release Cycle public testing feedback alpha & beta not tested but release candidates are feature rush prior to LTS … it’s about the next three years … feature freeze phase is too long bugfix vs. feature/refactoring
  • 44. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Agile Release Cycle ! LTS ! LTS evolution time 2011 2014 2015 LTS LTSsteps
 smaller & easier DRAFT
  • 45. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Agile Release Cycle wish-list & idea agile, flexible & shorter time constraints focus on topics & merge windows snapshot releases are stable upgrade & downgrade functionality more and better test coverage LTS is just a tag to a snapshot DRAFT
  • 46. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Obstacles My bug report is not processed and not solved! My code contribution is not reviewed! The Core Team ignores my ideas!
  • 47. Inspiring people to share T3DD14, Eindhoven, NL Contributing to the TYPO3 CMS Core TYPO3 CMS Hands on!
  • 48. inspiring people to share.