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?
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
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
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
16. 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)
21. 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
23. 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
24. 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
25. 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
28. 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
30. 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)
33. 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
35. 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)
37. 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
39. 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/
41. 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)
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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!