Now working with Typo3 again (Love .. Hate … Love … ), I thought it would be nice to finally publish my old cwenvbanner Extension. In short, it adds small banners to the Frontend and Backend of your Typo3 environments, so you don’t mix up the browser windows
anymore so often.
You can learn more about it here: cwenvbanner
Recently I stumbled upon a nasty problem with Typo3’s Extbase. The instance of an object was not updated, but as usual (for Flow/Extbase, that is) there were no exceptions, no log entries, no hints… Extbase just silently refused to save the object. Great!
After debugging through the code once more (my number 1 source of information regarding Extbase nowadays), I found that 1 of 80 columns of the related table was missing in the TCA array! How dare it! After adding it, everything was working as expected.
The core problem: when fetching the object from the repository, Extbase only populates those class members that are configured in the TCA (which in Extbase will be the DataMap later on). This also means that the class member I forgot in the TCA was missing! Then I used a Setter to set a the mentioned missing value, which added the class member.
Extbase uses spl_object_hash() to keep track of the objects during a request. Of course, due to the missing member, the existing object and the to be updated object had different hashes … got it? Yeah…
I really wished Extbase would communicate more with the developer. Just silently refusing to do stuff is not ok, in my opinion.
After more than two years of no active development on my Typo3-Extension cwmobileredirect I decided to release a new version, because it is still in use by quite some people. I’m really glad it was helpful for others so far!
Amongst small bugfixes and changes it is now prepared for Typo3 6.x and comes with a handy update script which will allow easier updates in the future.
For those of you who have not yet heard of this cwmobileredirect (there might be one or two people still out there): this little extension, that was developed in the Pre-Responsive-Web-Era, detects mobile devices and redirects the user appropriately. Actually it does a little more, so if you’re interested you can read more in the official Typo3 Repository (TER): http://typo3.org/extensions/repository/view/cwmobileredirect.