The user experience of the TYPO3 page module suffers as soon as you insert content elements with custom fields. The preview widgets all look like the same, hiding important information. How to solve this?
The TYPO3 PackageBuilder team recently met in Freiburg for a three day code sprint. The outcome was big step towards a new user interface, a refactored code base for integrating new features and a clear vision for the future.
Developing and Testing TYPO3 websites might force you to clear TYPO3 caches whenever you made a change. Especially if you write Extbase/Fluid extensions on TYPO3 4.5, you need to clear reflection/object cache when altering a class file. This task can be solved automatically by your IDE! This articles describes how to do that with PhpStorm 4.
Insprired by previous code sprints, the TYPO3 community in Freiburg, Germany decided to organize a local code sprint. From Friday, July 13th to Sunday, July 15th ten TYPO3 developers met for a code sprint. After all it was a great success for the TYPO3 project.
Here comes another article by guest author Tomaž Zaman. He demonstrates the mapping of TypoScript with Fluid/HTML Templates using the FLUIDTEMPLATE cObject. He also delivers some easy to understand example code, which includes support for backend layouts (grids).
This article demonstrates how to remove parts of an URL in TYPO3 using RealURL. Especially the excessive use of getParams of Extbase plugins results in superfluous repeated parts in URLs. Guest author Tomaž Zaman will show you how to tackle that problem.
At the time of writing this article, there's a lively discussion going on in the TYPO3 developer mailinglist about performance and architecture of TYPO3 Extbase Extension. This article tries to contribute something practical to the discussion by providing sample data for testing performance with the blog_example extension.
Extbase in TYPO3 4.5 LTS has no built-in possibility to debug model objects. Whenever you try to var_dump() a model object or log it to t3lib_div::devLog(), you'll probably end up in out-of-memory exceptions. This article introduces an extension as a temporary solution for that.
The TYPO3 caching framework in TYPO3 4.5.0 runs into troubles when using memcached backend on Debian Squeeze. It seems that Squeeze ships a broken php5-memcache package, which does not fit the API of memcached 1.4.4. Since Squeeze is already released, there will be no fix in the official stable repository. But I provide a fixed package for download.
The title "TYPO3 4.3 Multimedia Cookbook" by Dan Osipov is another book about TYPO3 published by Packt Publishing in January 2010. It's generally good to see more English books about TYPO3 in the market since there are still very few compared to German publications. The topic of cooking multimedia in TYPO3 is nowadays very relevant, since the demand to manage rich media in content management systems grows and there's no other publication in the English book market with the same focus. So let's see what's in...
Here comes another blog article about TYPO3 after a long time of absence. This time I introduce the Fluid cObject ViewHelper, which brings together the power of TypoScript and Fluid. I will demonstrate the usage of this ViewHelper in five basic examples.
Web applications often need user accounts to be able to authorize users. TYPO3 for example needs backend users which are stored in the be_users database table. Each application usually has its own user accounts and authorization schemes. But maintaining multiple accounts of the same user for each web application is a pain and should be avoided. Apache can deal with that situation by shipping plenty of authentication modules. Have a look at a little demonstration of mod_auth_mysql.
Password recovery for frontend users before TYPO3 4.3 was poor and insecure. Passwords were sent by e-mail in plain text, the recovery form could be abused and revealed private information to public. While implementing the felogin sysext for a community website, I surprisingly found some fundamental changes in the recovery method in TYPO3 4.3.
A frequently used feature of TypoScript is stdWrap. It provides many functions and wrappers to parse your data. It serves as a multipurpose parsing suite with helpers of any kind. dataWrap is one of the most powerful among them, but it's also one of the most tricky ones. Read on for a little demonstration on how to add security to your TypoScript by applying the stdWrap function "htmlSpecialChars" to data in dataWrap...
The average number of requests on www.t3node.com is growing more and more. Since the website is hosted on a tiny virtual machine shared with others, the overall server performance is bad. Today I decided to serve pages from file cache to reduce the load. This little case study describes the problem by example and gives some key data for illustration.
Whenever you are using GET/POST parameters in SQL queries, you have to face the risk of running into SQL injection. The golden rule here is not to trust user parameters, but always properly check and escape values. This article introduces a TYPO3 extension, which helps to sanitize parameters by extending TypoScript stdWrap. PLEASE ALSO READ THE COMMENTS ON THIS ARTICLE FOR UPDATES IN THE TYPO3 CORE TO TACKLE THIS ISSUE!
The comment form of this blog was broken the last two days. The reason was that I disabled the no_cache parameter in the install tool. It seems the ve_guestbook extension somehow relies on this parameter. The comments are now working properly again. Sorry for the inconvenience.
There's a new type of wizard in the TYPO3 core called "suggest", which has been added to TCA with 4.3beta-1. This wizard adds a magic input field for autocompletion to fields of type "group" or "select", also called find-as-you-type. It helps to quickly find a record by typing its name/title in the suggest field, getting an AJAX dropdown list with all possible results. This article demonstrates how to implement this wizard in your TYPO3 extension.
When editing a page in the TYPO3 backend, there's a whole bunch of save buttons available. The "save document and view page" button allows to save the content and open a preview popup with one click. Unfortunately this does only work for regular pages and content elements, but not for database records of extensions which are stored inside sysfolders. The following tutorial describes a way to get that button also running for those records.
The most accessible way to configure a plugin in TYPO3 is using a custom content element build with FlexForms. It provides forms of all kinds for any BE user. FlexForms adapt most of the features of the TCA, but unfortunately the documentation on FlexForms is rather poor. The following article tries to demonstrate the configuration of a TYPO3 FlexForm in order to get some forms which dynamically change their fields on user interaction.
TYPO3 backend and TCA simetimes appear a bit old school. Fields and values are less flexible like you are used to in recent AJAX applications. How to make them more flexible without heavy JS frameworks like ExtJS?
After listening to Sebastians talk at T3DD09 today about the new templating engine Fluid, I felt inspired to give it a try. I am really surprised how easy it is to extend Fluid by writing an own ViewHelper. Read on to learn how to get started.
UTF-8 seems to become more and more popular as a character set used with TYPO3. Changing the charset of a system can be tricky and there are a lot of traps. Lots of mailing list requests prove that. Here's are some general thoughts about the subject (no howto!).
The market for english books on TYPO3 is still very thin - compared to german books. This possibly depends on the great popularity TYPO3 enjoys in germany. Unfortunately a lot of these german books are oversized. Few of them are concentrating on one audience (editors, administrators, developers) and their specific task, but covering the full range of topics on TYPO3. For a TYPO3 extension developer that meant to skip 3/4 of the content of most books. In contrast, "TYPO3 Extension Development" by Dmitry Dulepov, recently published by Packt Publishing has chosen a different approach.
I have added a page with code documentation of TYPO3, generated with doxygen. It provides a nice overview of the latest code from trunk and allows to search for classes, functions and properties in the bleeding edge TYPO3 core.
Using GET/POST vars in SQL queries involves the risk of SQL injection if the parameter is not properly sanitized. There are lots of warnings and documents around in the web on how to prevent this in PHP scripts. But what about TypoScript?
Software documentation is often rare and developers are lazy, when writing manuals instead of code. TYPO3 comes with a built-in help system which can easily be used to explain items directly in the backend. Dear lazy coder, let's have a look at it!
Hugh data listings can be confusing and hard to understand. That applies to search results as well as news collections, members directory or todo lists. Page browser divide listings into several parts, which make it much easier to keep track of the data. The following article describes and compares two approaches to integrate a page browser in TYPO3 extensions.
The output of most TYPO3 FE plugins are wrapped with a HTML div container by default (so called basewrap). This seems to be fair in most cases, but sometimes it is not and you have to get rid of them. Unfortunately, a lot of extensions including some of the most popular ones don't provide any control to handle this. This article describes how to do it better.
This short snippet demonstrates the essentials of how to create links to files in FE plugins. It reveals the power of cObjects and TypoScript. This technique is typical for TYPO3 and it shows you why TYPO3 can be so amazing.
The security team long time ago promised to release a ruleset for a Web Application Firewall (WAF) based on Apache's mod_security. Some are still waiting for an official announcement after the conference talk at T3CON07. And some have heard about it on todays talk at T3CON08.
Sometimes, localization of dates in TYPO3 seems not to work as expected. Of course it does, but finding the right configuration can be puzzling and time consuming. One reason can be the confusing variety of locale declarations.
Today, the TYPO3 security team released a collective security bulletin. Since I am the author of one extension which was listed in the bulletin (kw_secdir), I'd like to comment this a little bit. Especially the severity of "high" sounds evil, but it's IMHO less dangerous than some might think.
From time to time, TYPO3 core devs and insiders leak secret knowledge in the mailinglists. One can find questions about "how to do this?" with answers surprisingly revealing undocumented features. Read on for some hints about how to find those features without asking.
A common scenario in maintaining websites is to have a handful of websites, each with little content and a single person who is in charge of the content. Why not throw everything into a single TYPO3 installation?
After a dist-upgrade from Gutsy to Hardy on our webserver, TYPO3 was suddenly broken. The reason is a bug in PHP 5.2.4. There is a workaround for TYPO3, but unfortunately the patch is still pending in the core list.
Typoscript properties in the CONFIG section are usually defined once and at a certain point. But what if you have defined the value of a property at some place and like to add another one later in the parsing process?
TYPO3 sometimes drives me nuts. It happens that I come across cryptic function or property names, using them over and over again without having a clue, what its name stands for. t3lib_extMgm::addPItoST43() is one of them, although it is part of almost a billion TYPO3 extensions...
Mittwald CM Service uploaded their latest version of the webforum extension mm_forum to TER. Eight weeks after the first alpha release, the extension now entered a beta state, but is actually called "almost stable" by the developers themselves.