Zum Hauptinhalt springen
Contributing to the TYPO3 CMS Core
Developer Days 2014, Eindhoven
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!
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?
Challenge
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
Inspiring people to
share
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Motivation
Demand
Solution
idea
bug
feature
itch
interest
contribute
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
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
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
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
Core Development list on forum.typo3.org
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
Public #typo3-cms channel in Slack App
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
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)
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 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
Issue tracker on forge.typo3.org
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
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
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
Changed files and direct Git command
Changes in detail
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
Automated tests with Travis CI after each merged commit
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)
Comments on particular visual elements/components
WANTED
!
TYPO3 CMS and the Usability Team needs
more designers and UX experts.
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
Translation Server at translation.typo3.org
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)
Diversity in the TYPO3 Community - by Søren Schaffstein
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
Topic collection and prioritizing during T3ACME14N
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/
TYPO3 CMS Active Contributors
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)
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
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
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
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
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
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!
Inspiring people to
share
T3DD14, Eindhoven, NL
Contributing to the TYPO3 CMS Core
TYPO3 CMS
Hands on!
inspiring people to share.