Upload
oliver-hader
View
497
Download
1
Embed Size (px)
DESCRIPTION
Overview of how to contribute to the TYPO3 CMS core. Session has been presented during the TYPO3 Developer Days 2014 in Eindhoven/NL
Citation preview
Contributing to the TYPO3 CMS Core Developer Days 2014, Eindhoven
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
OverviewTypes of Contributing
Tools that are used
Principles & Workflows
Obstacles
Hands on!
Inspiring people toshare
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?
Challenge
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
MotivationMaybe
… 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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Motivation
DemandSolution
idea bugfeatureitch
interest
contribute
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Types of ContributingCommunication & 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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Types of ContributingReviewing
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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Fields of ContributingDevelopment for Functionality
Documentation for Explanation
Usability for Simplicity
Design for Elegancy
Translation for Comprehensibility
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for CommunicationMailing Lists & Forum
general discussion and communication
http://lists.typo3.org & nntp://lists.typo3.org
http://forum.typo3.org
Core Development list on forum.typo3.org
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for CommunicationMailing 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
Public #typo3-cms channel in Slack App
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DocumentationWiki pages
preliminary documentation
blueprints to work out ideas
http://wiki.typo3.org
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DocumentationWiki 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)
Official Documentation on docs.typo3.org
Creating a new fork in your GitHub repository
Directly edit the reStructuredText
Previewing the result and the changes
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DevelopmentRedmine/Forge
issue tracker for everything
bug reports and feature requests
description and screenshots
handling priorities and relations
http://forge.typo3.org
Issue tracker on forge.typo3.org
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DevelopmentGit
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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DevelopmentGerrit
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
Change on review.typo3.org
links to forge for details
considered forTYPO3 CMS 6.2 only
two positive code reviews,but not verified (tested) yet
Changed files and direct Git command
Changes in detail
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for DevelopmentTravis 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
Automated tests with Travis CI after each merged commit
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for Usability & DesignInVision
visual representation of changes
collection of ideas and tasks to be done
http://invisionapp.com (required invitation)
Comments on particular visual elements/components
WANTED !TYPO3 CMS and the Usability Team needs more designers and UX experts.
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Tools for TranslationPootle
translation of phrases and labels
handling of changes and reviews
data is based on XLIFF
http://translation.typo3.org
Translation Server at translation.typo3.org
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
PrinciplesCommunity
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)
Diversity in the TYPO3 Community - by Søren Schaffstein
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
WorkflowsMeetings 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
Topic collection and prioritizing during T3ACME14N
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Roles & GroupsActive Contributors
Release Manager
TYPO3 CMS Team Leader
TYPO3 CMS Team (Release Team)
https://typo3.org/teams/core-development-team/roles-groups/
TYPO3 CMS Active Contributors
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Release Cyclerelease 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)
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Release Cycle
4.5 LTS
4.6
6.06.1
4.7
6.2 LTS
6.3evolution
time2011 2014 2015
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Release CycleLTS-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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Release Cyclepublic 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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Agile Release Cycle
!LTS
!LTS
evolution
time2011 2014 2015
LTS LTSstepssmaller & easier
DRAFT
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Agile Release Cyclewish-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
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
ObstaclesMy bug report is not processed and not solved!
My code contribution is not reviewed!
The Core Team ignores my ideas!
Inspiring people toshare
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Hands on!
inspiring people to share.