Getting Started Developing With TYPO3 - Part 1
If you’re a developer considering using TYPO3, you might be wondering where to start your evaluation. What are TYPO3’s capabilities? And what is it like to develop with TYPO3? We’ve prepared a round-up of TYPO3 tutorials from official documentation and some from our network of official TYPO3 partner agencies. We also offer a range of project review options to help ensure your TYPO3 site is as great as it can be.
Tip: Browse these articles with Chrome. You’ll notice many of the tutorials we link to below are not in English. TYPO3 is an international community. All the official documentation is in English, but community content can be in other languages. I recommend browsing in Chrome or a similar browser set to translate automatically. I’ve checked the articles myself this way. They look useful and easy to understand even with browser-level translations.
Make sure to check out the official TYPO3 core documentation, which often includes code samples. However, articles can give you an informed and helpfully biased opinion! Have you got a tutorial you’d like to share that’s not on in this list? Comment below!
Tutorials: Where to get help with TYPO3
The TYPO3 community is very welcoming for new developers. Take your first steps to get connected to the community.
To get your questions answered, check out the TYPO3 Community Slack server. You might also find your questions are already answered in Stack Overflow for TYPO3.
For developers just getting started, Sanjay Chauhan from Nitsan wrote up ways to connect to the community online and in person. To get tapped into the community news, Sanjay also created a list of Top 10 TYPO3 Experts to Follow on Social Media.
Get connected to TYPO3
- Go to my.typo3.org and register an account.
- Follow the official @TYPO3 account on Twitter.
- Star the TYPO3-CMS core GitHub repository so you can follow the latest core developments. However, all the action is on TYPO3 Forge, a Redmine issue tracker.
Get your account on TYPO3 Slack. #random has the most members after the default #announcements but you’ll learn a lot browsing the #typo3-cms channel.
Tutorials on getting started and installing TYPO3
A popular way for many developers to develop TYPO3 locally is to use DDEV. This is a Docker-based tool to set up local PHP development environments quickly. Check out Peter Kraume’s tutorial on how to Install TYPO3 with DDEV. There’s also this tutorial on setting up TYPO3 with DDEV.
If you’d like to peek under the hood of a TYPO3 site, read the Getting Started Tutorial for TYPO3. This is based on the TYPO3 Introduction Package, which gives you a complete and fully functional TYPO3 site out-of-the-box to show how it works and let you explore the system.
André Hoffmann from punkt.de GmbH shared Useful tools for PHP developers. They aren’t TYPO3 specific, but you might find that handy.
Check out the TYPO3 Sitepackage Builder and its tutorial series. Though they are for an earlier version, the videos give a good overview and the principles and UX-paradigms remain the same today.
Tutorials on getting to know TYPO3’s system extensions
Unlike many CMSs which rely heavily on external third-party code, TYPO3 core is itself feature-packed. Many websites can be created with TYPO3 core alone, many more with just a handful of contributed extensions. Adding custom code that leverages TYPO3’s APIs when you really need it means that the sky is the limit for what you can do.
Tip: From the start, assume that TYPO3 probably does what you want out of the box. Don’t attempt to add custom code until you’ve exhausted your search to see how other people get things done with TYPO3 core. Ask around, ask us!
Read TYPO3 Explained for an overview of the core system and features.
A good place to begin is to discover: What is TYPO3 capable of out-of-the-box? In the two-part series, Guide to the Content Editing Experience in TYPO3 CMS (also see part 2), we focused on showing how many content management features ‘just work’ in TYPO3 core with a few popular extensions.
With other open source CMSs like WordPress and Drupal, you’d have to install third-party extensions for features like these.
- Preview and version-control content.
- Schedule content publishing and expiration.
- Manage media libraries.
- Image editing, cropping, focal points.
- Create forms with a drag-and-drop UI.
- Multilingual out-of-the-box.
- Multi-site management out-of-the-box.
Having to rely on third-party code, instead of your core system can mean constant maintenance headaches. In other CMSs, if modules or plugins that you rely on aren’t updated, this can result in delays or completely blocked upgrades.
So from a developer’s perspective, having much of what you need in TYPO3’s core download is a huge time saver. From an IT manager’s perspective, to be able to do so much with core, cuts the costs of long term maintenance and upgrades. For business owners and managers, it reduces the risk associated with relying on custom and external code out of your control.
Tutorials on enhancing TYPO3 with contributed extensions
When you need functionality that isn’t in the core, it’s time to check out the TYPO3 Extension Repository (TER) or Packagist. This is where community members contribute and maintain code to add and modify functionality to TYPO3.
What’s the most popular extension for TYPO3? Probably the News extension, maintained by Georg Ringer. If you need any kind of periodical content like articles, this is a good place to start. On this extension page, you can see that it has its own independent version, the author is the maintainer, it shows when it was last updated, and which versions of TYPO3 it supports.
How to evaluate extensions? We’ll use the News extension as an example.
Warning: All of these comparison factors have caveats. One factor alone isn’t an indicator of security or quality alone. If you need advice, you can ask us.
- Compatibility and is it up-to-date? Make sure to browse the TER by TYPO3 version to be certain you’re looking at compatible extensions. Search for v10 compatible extensions on the TER. Take note that TYPO3 extensions have their own versioning. The News extension is at version 8.4.0, and it’s compatible with the latest TYPO3 v9 and v10.
- The number of downloads or installs? Popularity is a sign of stability and reliability. However, it’s not the only indicator to consider. The TER reports over 140,000 downloads for the News extension. Packagist reports over 800k installs of the News extension. Caveat: An extension with a few downloads might just be taking off or address a specific niche functionality that you also need.
- Longevity? If an extension has releases available for multiple versions, it could indicate a long-supported extension. However, new capabilities in v10 offer new ways of doing things, so don't let how "new" an extension put you off exploring it. Some popular extensions might not even be necessary anymore for later versions of TYPO3. For example, our partner b13 has recently released Container Content Elements which has versions for v9 and v10.
Most importantly: Ask the community. Reach out to us if you need help figuring out where to start. The community hanging out in Slack is a good place to ask too.
If you need to connect TYPO3 to an external web service, open source project, library, service, or product, it’s likely there’s already an extension for that. Here are a few popular ones.
Faceted search enhances user experience and makes it easier for site visitors to filter through and find the information they need. This extension is maintained by dkd Internet Service GmbH but sponsored by many agencies in the community. Check out: Comprehensive Guide to TYPO3 Solr Search by Sanjay Chauhan at NITSAN and Insights and tips on fine-tuning Solr search ranking by Florian Maier at b13.
LanguageWire TYPO3 Connector
TYPO3 has great multilingual support, but someone still needs to translate your content. There are some ways to make the translation workflow smoother. Here’s an overview on how to Publish More Content, in More Languages, Faster, Within TYPO3 by Jesper Lehrmann. It’s a complicated topic, and our partner Bitmotion said it’s “currently the best solution we know.” They have a demo and a handy calculator to see how much time (and money!) you can save.
Mautic is an open source marketing automation platform. When you connect TYPO3 to a CRM or marketing automation system, you’ll have a full picture of your site visitors and what content they are responding to. Alexander Böhm at Punkt.de explains that “Automated marketing processes can save a lot of time and significantly increase the conversion rate,” in Marketing automation with TYPO3 and Mautic.
Keeping your site quality-standards high ensures better user experience and discoverability. Pixelant explains how you can evaluate your site with one click using Siteimprove. This service analyses content quality, policies, page visits, SEO impact, etc.
This extension is managed by MaxServ and Yoast. The Yoast service comes with both a free and premium version. The Yoast SEO Tutorial for TYPO3 by toujou gives you an idea of how it works.
Those are just some examples. If you're looking for something specific and you don’t find it, ask in Slack!
We can help you with a project review
We offer independent, entirely impartial TYPO3 project reviews—basic and more in-depth—without any of the potential conflicts of interest that you might be concerned about from an agency service provider. We can offer a second opinion, without trying to take over the project from your agency. We’re going to make sure your site is of the highest quality because the reputation of TYPO3 is important to us.
Our Basic TYPO3 Project Review evaluates factors such as
- Is the project upgradeable?
- Is it making use of current APIs?
- What are potential problems that could come up in the future?
- Does it score well against TYPO3 core’s best practices and recommendations?
We also offer a more in-depth project review. This evaluation can be a big time and cost saver by detecting catch-issues that have similar scalability before they become a severe problem.
What would you like to see?
We’ll be back with Part 2 of this series, looking at leveraging TYPO3 to create custom code when you can’t get the functionality your project needs from TYPO3 core or existing contributed extensions.