TYPO3 Extension Development, Dmitry Dulepov's new book aimed at the TYPO3 developer... well I'm one now and I've been asked to review it. Is it any good? Of course it is!
My experience with TYPO3
I have been using TYPO3 for about one and a half years, at first this was difficult because the documentation is hard to find and when you do find it, it is hard to follow, especially TSREF and the core API.
There are some free books at the TYPO3 website, like TypoScript Syntax and In-depth Study or Inside TYPO3, but they still don't answer most questions since they are reference books, and to use them you have to know what your want to reference.
I have had to create several extensions for TYPO3 after using it for only a few weeks on-and-off when I had time. This meant that my first extension didn't use templates or TypoScript properties... basically because I couldn't find anything about how to do this, at least not in a way I could understand - and not in time to meet my deadlines. I would have really liked this book then; the contents list seemed to cover everything I had trouble doing at first: using TypoScript properties, working with templates, etc.
So do I still need this book?
Those kind of things I can do now, and I have made several extension for work... do I still need a book like this? The answer is yes, this book is not just for the beginner, it covers some very complex subjects like writing backend modules.
I had to do this once for a modified version of nawl_secured extension, and I was sort of working blind just looking at the backend of an extension for page comments (not Dmitry's), I got it working even though I wasn't sure what I was doing - a book like this would have made it so much more easier. I'm also working on a new extension that will make extensive use of a backend module so this chapter has helped me a lot and been very informative.
Scope of the book
The book starts with an explanation of the TYPO3 API, how it is divided in to three parts and talks about important and useful functions that every developer should know and be using. It explains what t3lib_ and tslib_ are, what the TCE (TYPO3 Core Engine) and TCA (Table Configuration Array) are and what they do.
The next chapter breaks down an extension in to its component parts and explains what all those files are that the Kickstarter generates. The different types of extension categories (FE, FE Plug-in, Backend Module, etc.) are also discussed.
The following two chapters cover planning an extension and then generating the basics of it with the kickstarter extension. Chapter 5 is an analysis of a frontend extension and covers topics like static TypoScript, templating, localization and caching.
After this we have two chapters about programming - frontend and backend. These chapters are very interesting... you get to create an extension for user management and statistics (The one created with the kickstarter in chapter 4) with several modes, a bit like tt_news: there's a list view, a single page view, and a search view where you are even shown how to implement auto-complete on the search box - great stuff!
The last chapter talks about writing your extension manual (in OpenOffice), cleaning up the files and uploading your extension to the TYPO3 extension repository.
What I would have like to have seen:
- How to show the content of my extension in the page module (like tt_news articles do). The list module was covered in the book, page view wasn't. I shall have a look through tca.php in the tt_news folder. Maybe now I know more about the TCA arrays, I can see how it's done.
Overall
I was very impressed with this book, it's sort of the unwritten manual for TYPO3 developers, if you have started writting extensions for TYPO3 and always wanted to know how to use FlexForms, how to support localisation or how to make a backend module for your Extension this is the book to get.
Even if you think you know how to do these things already, Dmitry will still probably tell you something you didn't know, or explain how to do it better. Order it now, or get the Easter Bunny to bring you it instead of an egg!
As a present, the Easter Bunny left me a sample chapter that you can download:
Files
Links

