Mar 31, 2009

Latvia forbids YouTube embedding

One of the Latvian ministry of culture, Guntis Jekabsons, officially confirmed that embedding YouTube videos on web sites is illegal and will be prosecuted in Latvia as a violation of copyright if the author did not give his explicit permission about publishing that work on sites. So now bloggers in Latvia have to have an official proof that the author allowed publishing his work on web sites before embedding videos.
I wonder if such policy exists in any other country. As far as I know, the copyright holder contacts YouTube in this case and solves it with YouTube. Latvian officials seems to be "very far" from the Internet and do not know or care what practices exist in such cases.

Automatic RealURL configuration howto

RealURL includes an automatic configuration feature. It allows to have a basic TYPO3 web site with RealURL running very fast.
Automatic RealURL configuration examines the web site and creates all necessary configuration for the RealURL to run. There are certain rules that web masters should know if they want automatic configuration to work properly.

How to use automatic configuration

There is nothing special to do. It just works. Install RealURL and automatic configuration runs and configures RealURL for this web site.

How to use automatic configuration properly

'Properly' is the main word here. Automatic configuration is simple and enough for 90% of hosts out there. But there are certain rules to make it work properly.

My most significant TYPO3 achievement

Sometimes I wonder what could be my most significant achievement in TYPO3. I did a lot of stuff but I were to pick up only one thing, what would I choose to be proud of?

It is not any extension or article or this whole blog or mailing lists posts or T3DD presentations. It is a feature of TYPO3 4.2 named "linking across domains".

Some people might remember that before TYPO3 4.2 it was not possible to link from one TYPO3 page to another using page tree and get a proper link. The result was always shown as index.php?id=12345. Editors had to put these links as external URLs. It meant that renaming of the page ended up in dead links. This has to be solved and it was solved!

In TYPO3 4.2 it became possible to link normally across domain bounds. I am very proud of this fix. It took a lot of time for development, debugging, testing and tuning but it works and it is rock stable.

Good memories! :) When I thought about it, I wondered what other people see as my greatest achievement in TYPO3? Please, post your comments!

Mar 30, 2009

External TYPO3 references

To continue a previous post about news:
  • Steffen Müller has published a review of my TYPO3 extension development book at T3Node
  • A translation of my RealURL tutorials (see links below) is available in Italian language (thanks to Francesco, the owner of

Mar 29, 2009

Many small news

There are many small things that go around. None of them is large enough to write a full post, so I am posting a single message about this "work in progress". So here is what I do these days:
  • I am involved in SEO activities a lot these days. Therefore I am studying SEO resources, such as Aaron Wall's (I really like Aaron!) or I used to work with SEO in the past but I am a bit obsolete in this area now. So I am learning new and changed stuff as fast as I can.
  • There is a review of the new "Learning ExtJS" book from Packt Publishing on this site. Check it out. The book is exceptionally good and useful for any ExtJS developer: from beginners to advanced. It is that rare type of the book, which is a must for any serious developer in this area.
  • I linked my Twitter profile to my Facebook profile. I did not really use Twitter before but now I plan to use it to keep both these accounts up to date with what I do.
  • I slowly drift away from the TYPO3 core development. This is less interesting for me now than it was for past several years. I plan to continue extension development and TYPO3 consulting but in a year or so I might change TYPO3 to something else. This decision grows for a couple of months already. Most likely I will focus on general web security, optimization, SEO and analytics.
  • I started spring clean up of the house. It is always good to reduce clatter and get rid of old stuff.
In general the life goes on. Life is good!

Mar 27, 2009

Looking for the Google Analytic advice

What can cause the behaviour shown on the image below? On the day when statistics changed, we deployed a newer version of one application. It is different from the previous version very little: the new version shows confrmations and messages as JavaScript pop ups, while the old version showed them using a separate page for each such message. It should not cause such a big change in Analytics, should it?
Does anyone have any idea why this change happened?

Mar 25, 2009

Redirects: TYPO3 and RealURL vs mod_rewrite

Very few people know how to optimize TYPO3 web sites for performance. There is one common mistake that almost everyone does in regard to TYPO3 performance. The mistake is to let TYPO3 handle redirects.

Why are TYPO3 redirects bad?

Let's see two typical cases when redirects happen. The first one is domain redirects, the second one is a redirect using RealURL.

Domain redirects

Domain redirects happen when there are several domains on the same page and all domains except one (primary) should redirect to the primary domain. This is usually done for SEO purposes.
How is it usually handled? The administrator creates a domain record for the primary domain. Next he creates domain records for all other domains and specifies the address where to redirect them (to the primary domain).
How do this work? Let's trace the chain of actions involved into handling HTTP request for a non–primary domain:

Mar 24, 2009

Blank (empty) page in TYPO3

There is a question that I see several times monthly in TYPO3 mailing lists: "I see an empty (blank) page after XXX. How do I fix it?". Here is the step by step answer:

  • Go to the Install tool
  • Select "All configuration"
  • Set displayErrors to 2
  • Add your IP address to devIPmask

Now you will see PHP errors that happen. By default these errors are hidden by TYPO3 for security reasons and it causes blank pages. Changing settings above allows to see these errors on your IP address only.

So fix these PHP errors and your site will be back.

[Update: Feb 18, 2014] Alternatively you can check the web server error log for such errors. You can see something like:

[Fri Feb 14 15:16:14 2014] [error] [client] PHP Fatal error:  require_once(): Failed opening required '/Users/.../typo3master/typo3/sysext/cms/tslib/class.tslib_fe.php' (include_path='/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/php-text-template:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/phpunit-mock-objects:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/php-timer:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/php-token-stream:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/php-file-iterator:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/php-code-coverage:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/phpunit:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/symfony/yaml:/Users/.../typo3master/typo3conf/ext/phpunit/Composer/vendor/phpunit/phpunit-selenium:/Users/dima/Project in /Users/.../TYPO3/Extensions/pagepath/class.tx_pagepath_resolver.php on line 95
[Fri Feb 14 15:16:14 2014] [error] [client] PHP Stack trace:
[Fri Feb 14 15:16:14 2014] [error] [client] PHP   1. {main}() /Users/.../TYPO3/TYPO3-master/index.php:0
[Fri Feb 14 15:16:14 2014] [error] [client] PHP   2. require() /Users/.../TYPO3/TYPO3-master/index.php:41
[Fri Feb 14 15:16:14 2014] [error] [client] PHP   3. require() /Users/.../TYPO3/TYPO3-master/typo3/sysext/cms/tslib/index_ts.php:68
[Fri Feb 14 15:16:14 2014] [error] [client] PHP   4. tx_pagepath_resolver->main() /Users/.../TYPO3/Extensions/pagepath/class.tx_pagepath_resolver.php:130
[Fri Feb 14 15:16:14 2014] [error] [client] PHP   5. tx_pagepath_resolver->createTSFE() /Users/.../TYPO3/Extensions/pagepath/class.tx_pagepath_resolver.php:64

Mar 17, 2009

TYPO3 extension update: Google sitemap

The new version of the Google sitemap extension just appeared in TER. Earlier this extension was meet very enthusiastically by the community. This version fixes some issues reported by users. In particular these issues were fixed:
  • if root page is a shortcut, sitemap will be truncated to a small amount of pages
  • tt_news sitemap is empty if home page is a shortcut or if the news sysfolder is outside of the web site root
  • tt_news articles are not indexed by Google
The first two points are simple. I describe how to avoid the shortcut problem right below. The last problems needs a deeper explanation, which I provide closer to the end of this article.

Mar 16, 2009

German edition of my TYPO3 extension development book

Addison–Wesley will publish a German version of my 'TYPO3 extension development' book. They already have a page for this book. The cover looks excellent. I like it much more than the English version.
Here is the information from the publisher's page in German:
Mit diesem Buch liefert TYPO3-Core-Entwickler Dmitry Dulepov einen konzentrierten Einstieg in die Entwicklung von TYPO3-Extensions mit der TYPO3-API - nicht mehr und nicht weniger, als Entwickler für das Schreiben von Extensions benötigen.
Dulepov stellt zunächst die TYPO3-API und den Aufbau einer klassischen Extension vor, bevor er über das Planen und Generieren von Extensions in die eigentliche Entwicklung einsteigt. Sein Schwerpunkt liegt auf Frontend-Extensions (also Funktionalitäten auf der eigentlichen Webseite), beschreibt aber auch die Entwicklung von Backend-Modulen.

Mar 11, 2009

Angels and Demons of Personal Efficiency

Many people try to be efficient. There are various methods for achieving high efficiency in life and work. Many sites exist that describe how to become more efficient and how good it is. Interestingly none of them describes drawbacks. Sites and books and seminars all provide tools but none warns human being about potential dangers of high efficiency.
Nothing in the life is absolutely black and white. There are always mid–tones and shadows. Efficiency also has its light and dark sides.
Personally I am a big fan of efficiency. I tried being efficient instinctively for most of my life and I do it consciously for past several years. Did it help me in my career and life? Certainly it did. Did it do anything bad? Hmmm. I never thought of that before. But last week I saw the comment in one of posts in in my blog. Jens wrote: “don't fall into the GTD (Getting Things Done) trap and efficiency hell”. This comment triggered something in my head and I decided to analyze both light and dark side of the personal efficiency.

Mar 5, 2009

Cheap ways to increase performance of a TYPO3 web site

Update: this article represents historical information.

Normally increasing web site performance means buying better hardware or playing with Apache, MySQL and operating system settings. Certainly better hardware can make the site perform faster. Unloading some Apache modules and tuning Apache settings will help too. Optimizing MySQL also helps. It all helps but it costs a lot too. Hardware is costly and server optimization is costly.
What can be done to improve the web site performance without upgrading hardware?

Mar 3, 2009

Komodo IDE becomes even more friendly!

Komodo IDE is one of my favorite PHP IDEs for the TYPO3 extension development. In fact, if Komodo they had the following two features, they would be my favorite:
  • Ctrl+click should open the method or variable declaration
  • variable and method hinting while I type (I type t3lib_div:: and the IDE pops up a function selector list)
The second feature exists but it is not fully working. Sometimes it misses to determine the right context. But if it works, it works faster than the same feature in Zend Studio.
Today I got an automatic e-mail saying that my feature request for Ctrl+click is solved. This brings Komodo IDE much closer to the level I want. When the new version is out, I will test it and probably ditch Zend Studio forever.
If you never saw Komodo IDE, here is a screenshot (click for the full size image):

Mar 2, 2009

Freelancing again

Starting from today I am a full time freelancer. My employment with Netcreators finished last week. I worked for them 15 months and now I am free again.

Freelancing will give me more time to do what I like to do. In particular I will focus on TYPO3 services that I know best, do best and want to provide to other people and companies. Also I plan to (self–)study various disciplines. I will manage my time on my own and report to myself. It is an incredible feeling when a man can choose what to do.

This blog remains one of my priorities too. I plan to continue publishing unique TYPO3 information here. Also I have several pending changes to the TemplaVoila, RealURL and portal extensions that I want to finish soon.

If any of my readers want to outsource their work to me, you are welcome to read my services page and contact me.

Mar 1, 2009

How many subscribers do I have?

I know that many people read this blog using a feed reader. But I have no idea how many read it and what format people prefer: ATOM or RSS.

Now I changed my feeds to stream through the FeedBurner. FeedBurner will give me some statistics about my subscribers.

If you read this blog using a feed reader, could you do me a little favor? Please, unsubscribe and re–subscribe to my feed through the FeedBurner. Here is RSS and ATOM links. This is all I ask. If you prefer to use direct subscription, it is still there, of course.