<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the fancy part of the web &#187; extension</title>
	<atom:link href="http://blog.tolleiv.de/tag/extension/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tolleiv.de</link>
	<description>is elsewhere - this is just about all sorts of web related work with a small factor of fanciness</description>
	<lastBuildDate>Sat, 21 Jan 2012 12:58:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>TYPO3 4.4 sprites in your extension&#8230;</title>
		<link>http://blog.tolleiv.de/2010/07/typo3-4-4-sprites-in-your-extension/</link>
		<comments>http://blog.tolleiv.de/2010/07/typo3-4-4-sprites-in-your-extension/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 08:00:29 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=521</guid>
		<description><![CDATA[TYPO3 4.4 ships with a long list of improvements. One of them is the sprite API which was developed during T3UXW09. It extends the iconWorks API and enables to retrieve any backend-icon from a central sprite.

As extension maintainer there are several ways to use these new parts of the API you can either just ...]]></description>
			<content:encoded><![CDATA[<p>TYPO3 4.4 ships with a long list of improvements. One of them is the sprite API which was developed during T3UXW09. It extends the iconWorks API and enables to retrieve any backend-icon from a central sprite.</p>
<p>As extension maintainer there are several ways to use these new parts of the API you can either just use it to display core icons, you can include your own icons and retrieve it with the new API or you can include your own sprite and retrieve the separate icons.</p>
<h4>Use sprite icons</h4>
<p>Using sprite icons is pretty easy, to get a checkmark icon you could use this:</p>
<pre name="code" class="php">t3lib_iconWorks::getSpriteIcon('status-dialog-ok');</pre>
<p>The list of all available icons can be retrieved using the &#8216;<strong><a href="http://typo3.org/extensions/repository/view/spriteiconoverview/current/">spriteiconoverview</a></strong>&#8216; extension which I just recently pushed into the TER <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h4>Add your own icons</h4>
<p>The API also provides the possibility to include your extension&#8217;s icons using either single icons or your own icon sprite.<br />
Using single icons can be done with the following code in your ext_tables.php or ext_localconf.php:</p>
<pre name="code" class="php">
$icons = array(
     'myicon' => t3lib_extMgm::extRelPath('myextension') . 'myicon.gif'
);
t3lib_SpriteManager::addSingleIcons($icons, 'myextension');
</pre>
<p>Using this icon is easy again:</p>
<pre name="code" class="php">t3lib_iconWorks::getSpriteIcon('extensions-myextension-myicon');</pre>
<p>If your extension comes with a larger amount of icons you might want to use your own sprite. This includes your sprite as a image file and a CSS file. The css file should look like this:</p>
<pre name="code" class="php">
.t3-icon-extensions-myextension {
     background-image:url(../../typo3conf/ext/myextension/myextension_sprite.gif);
}
.t3-icon-extensions-myextension-icon1 {	background-position: 0px 0px; }
.t3-icon-extensions-myextension-icon2 {	background-position: 0px -16px; }
</pre>
<p> The path to your sprite needs to be relative to the typo3temp/sprites/ folder, from where the (temporary) merged CSS file will be included.<br />
This sprite can be included using:</p>
<pre name="code" class="php">
$icons = array(
     'extensions-myextension-icon1',
     'extensions-myextension-icon2'
);
t3lib_SpriteManager::addIconSprite(
     $icons,
     t3lib_extMgm::siteRelPath('myextension') . 'myextension_sprite.css'
);
</pre>
<p>As you see it&#8217;s quite easy to include the new API, the API provides some further options for overlays and further modifications which I didn&#8217;t mention here. And as a final motivation this is a comparison between old and new API to get a &#8220;back&#8221; button:</p>
<pre name="code" class="php">
// old API
$icon = '&lt;img' . t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/goback.gif','width="14" height="14"') . 'alt="" />';

// new API
$icon = t3lib_iconWorks::getSpriteIcon('actions-view-go-back');
</pre>
<p>&#8212;-<br />
The sprite API is quite new and my knowledge about how to use it is also relatively fresh &#8211; so please let me know if you&#8217;ve any remarks or questions.<br />
Btw. special kudos for his involvement during the implementation of this nice feature and many many thanks for helping me to understand it, to <a href="http://www.rs-websystems.de/">Steffen Ritter</a>  <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
&#8212;-<br />
Further reading:</p>
<ul>
<li>If you&#8217;ve never heard of sprites you might want to read this article an <a href="http://www.alistapart.com/articles/sprites">alistapart.com</a></li>
<li><a href="http://typo3.org/download/release-notes/typo3-44/">TYPO3 4.4 release notes</a></li>
<li><a href="http://news.typo3.org/news/article/t3dd10-its-all-about-sprites/">news.typo3.org &#8211; T3DD10: It&#8217;s all about sprites</a></li>
<li><a href="http://typo3.org/extensions/repository/view/spriteiconoverview/current/">spriteiconoverview</a> extension</li>
</ul>
<p>&#8212;-</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.tolleiv.de/?flattrss_redirect&amp;id=521&amp;md5=ef46cb94e8c643cf048935ad9ef99d73" title="Flattr" target="_blank"><img src="http://blog.tolleiv.de/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2010/07/typo3-4-4-sprites-in-your-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crawler 3.1 release + podcast</title>
		<link>http://blog.tolleiv.de/2010/04/crawler-3-1-release-and-podcast/</link>
		<comments>http://blog.tolleiv.de/2010/04/crawler-3-1-release-and-podcast/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 22:35:20 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=416</guid>
		<description><![CDATA[Nearly a month after version 3.0.5, we published 3.1.0 of the well known crawler extension today. The main work for that step was related to several bugfixes, a better scheduler integration, some CLI-API enhancements, better testcases and (finally) some documentation updates. Most kudos go to Michael Klapper who took over the responsibility for this ...]]></description>
			<content:encoded><![CDATA[<p>Nearly a month after version 3.0.5, we published 3.1.0 of the well known crawler extension today. The main work for that step was related to several bugfixes, a better scheduler integration, some CLI-API enhancements, better testcases and (finally) some documentation updates. Most kudos go to Michael Klapper who took over the responsibility for this release and who also fixed a decent amount of bugs.<br />
You can download the extension in the <a href="http://typo3.org/extensions/repository/view/crawler/current/">TER </a> and hopefully this time OpenOffice didn&#8217;t trick us again and you&#8217;ll be able to see a shiny new extension manual on typo3.org as well.</p>
<p>Besides that, Kasper just released the podcast with me talking about version 3.0 of the crawler and about further improvements for the staticpub extension. You&#8217;ll find that on <a href="http://typo3.org/podcasts/kasper">typo3.org/podcasts/kasper</a>.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2010/04/crawler-3-1-release-and-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handling data in TYPO3 with tcemain</title>
		<link>http://blog.tolleiv.de/2010/03/handling-data-in-typo3-with-tcemain/</link>
		<comments>http://blog.tolleiv.de/2010/03/handling-data-in-typo3-with-tcemain/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 07:05:16 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=312</guid>
		<description><![CDATA[TYPO3 is (by definition) a powerful tool when it comes to data. Besides creating, updating and deleting data there are also localizing and versioning, logging and even rollbacks. All this is provided through the GUI of TYPO3 and all the technical stuff in working under the hood of TYPO3 for nearly every piece of ...]]></description>
			<content:encoded><![CDATA[<p>TYPO3 is (by definition) a powerful tool when it comes to data. Besides creating, updating and deleting data there are also localizing and versioning, logging and even rollbacks. All this is provided through the GUI of TYPO3 and all the technical stuff in working under the hood of TYPO3 for nearly every piece of data. But what if you&#8217;re asked to write a script which imports or updates data, how can you make sure that all this is done in a TYPO3 compatible way?</p>
<p>The lazy programmers approach is to write up SQL, but that&#8217;s not what&#8217;s recommended if you still want the full TYPO3 featureset to be available for you (without reinventing the wheel). In this case the TYPO3 core class tslib_tcemain (short tcemain) is what you&#8217;re looking for. For the mentioned tasks there are two main functions relevant &#8211; <strong>process_cmdmap()</strong> and <strong>process_datamap()</strong>. The <strong>process_cmdmap()</strong> performs actions like &#8220;move&#8221;, &#8220;copy&#8221;, &#8220;localize&#8221;, &#8220;version&#8221; (create, stage, swap, flush), &#8220;delete&#8221; and &#8220;undelete&#8221;. The <strong>process_datamap()</strong> does the rest &#8211; creating records, updating datafields. Controlling both of them is done with configuration arrays and that&#8217;s how it looks like**:</p>
<p><strong>Creating a record*: </strong></p>
<pre name="code" class="php">$data = array();
$data['tt_content']['NEW'] = array(
	'pid' => 100,
	'header' => 'A new thing'
);

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start ($data, array());
$tce->process_datamap ();

echo "The new element has the uid ".$tce->substNEWwithIDs['NEW'];
</pre>
<p>Creates a new tt_content record on page 100 with the header set to &#8220;A new thing&#8221;. </p>
<p><strong>Updating data*:</strong></p>
<pre name="code" class="php">$data = array();
$data['tt_content']['110'] = array(
	'header' => 'A really new thing'
);

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start ($data, array());
$tce->process_datamap ();</pre>
<p>Updates the header field of the content element with the uid 110 to &#8220;A really new thing&#8221;.</p>
<p><strong>Move data from one page to another*:</strong></p>
<pre name="code" class="php">$cmd = array();
$cmd['tt_content']['110']['move'] = 101;

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start (array(), $cmd);
$tce->process_cmdmap ();</pre>
<p>Moves the tt_content record with the uid 110 to the page 101.</p>
<p><strong>Copy data from one page to another*:</strong></p>
<pre name="code" class="php">$cmd = array();
$cmd['tt_content']['110']['copy'] = 101;

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start (array(), $cmd);
$tce->process_cmdmap ();</pre>
<p>Copythe tt_content record with the uid 110 to the page 101.</p>
<p><strong>Localize your record*:</strong></p>
<pre name="code" class="php">$cmd = array();
$cmd['tt_content']['110']['localize'] = 5;

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start (array(), $cmd);
$tce->process_cmdmap ();</pre>
<p>This creates a localization for the language 5 of the tt_content record with uid 110 (assuming that the tt_content record 110 is a default language record).</p>
<p><strong>Delete*:</strong></p>
<pre name="code" class="php">$cmd = array();
$cmd['tt_content']['110']['delete'] = true;

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start (array(), $cmd);
$tce->process_cmdmap ();</pre>
<p>Deletes the tt_content record with the uid 110.</p>
<p><strong>Undelete*:</strong></p>
<pre name="code" class="php">$cmd = array();
$cmd['tt_content']['110']['undelete'] = true;

$tce = t3lib_div::makeInstance ('t3lib_TCEmain');
$tce->start (array(), $cmd);
$tce->process_cmdmap ();</pre>
<p>Restores the tt_content record with the uid 110 &#8211; if it&#8217;s deleted.</p>
<p>&#8212;-</p>
<p>* Running the codes requires a TYPO3 backend context with a logged in backend user who has the right to perform all these actions. In addition tcemain has some configuration options to change the behaviour of the actions, e.g. &#8220;$enableLogging&#8221; or &#8220;$bypassWorkspaceRestrictions&#8221; &#8211; they come with useful defaults but you might need to change them in certain situations ~ so looking into the code documentation might save you some time.</p>
<p>**  I left out the &#8220;version&#8221; part since this requires some more explanation than just a few lines of code.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2010/03/handling-data-in-typo3-with-tcemain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>imagemap_wizard 0.5.3</title>
		<link>http://blog.tolleiv.de/2009/10/imagemap_wizard-0-5-3/</link>
		<comments>http://blog.tolleiv.de/2009/10/imagemap_wizard-0-5-3/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 19:18:39 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=250</guid>
		<description><![CDATA[Last Sunday I've released the first official stable version of my imagemap_wizard extension (TER).
I though that's a good moment to review the introduction text on the project-homepage and that's how it looks like - forge.typo3.org/projects/show/extension-imagemap_wizard

Especially due to the missing/broken TER download counter I'm still not sure whether the work was worth it. I hope ...]]></description>
			<content:encoded><![CDATA[<p>Last Sunday I&#8217;ve released the first official stable version of my <a href="http://blog.tolleiv.de/2009/07/typo3-extensions/">imagemap_wizard</a> extension <a href="http://typo3.org/extensions/repository/view/imagemap_wizard/current/">(TER</a>).<br />
I though that&#8217;s a good moment to review the introduction text on the project-homepage and that&#8217;s how it looks like &#8211; <a href="http://forge.typo3.org/projects/show/extension-imagemap_wizard">forge.typo3.org/projects/show/extension-imagemap_wizard</a></p>
<p>Especially due to the missing/broken TER download counter I&#8217;m still not sure whether the work was worth it. I hope some marketing and the given information about all the cool featutes is enough for newbees and TYPO3 pro&#8217;s. to  switch over to this extension <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The 0.6 releases will focus on some UI and usability improvements and looking at my old overall schedule for the 1.0 release there&#8217;s &#8220;only&#8221; one big feature missing &#8211; the integration into regular content elements (e.g. &#8220;text w/image&#8221;).  So stay tuned <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2009/10/imagemap_wizard-0-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3 crawler extension</title>
		<link>http://blog.tolleiv.de/2009/09/typo3-crawler-extension/</link>
		<comments>http://blog.tolleiv.de/2009/09/typo3-crawler-extension/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 07:36:08 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[crawler]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=233</guid>
		<description><![CDATA[Cool thing just happend after a couple of months we finally released the new version of the famous crawler extension. Read more on forge,typo3.org]]></description>
			<content:encoded><![CDATA[<p>Cool thing just happend after a couple of months we finally released the new version of the famous crawler extension. Read more on <a href="http://forge.typo3.org/news/show/181">forge,typo3.org</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2009/09/typo3-crawler-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3 extensions &#8230;.</title>
		<link>http://blog.tolleiv.de/2009/07/typo3-extensions/</link>
		<comments>http://blog.tolleiv.de/2009/07/typo3-extensions/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 19:20:18 +0000</pubDate>
		<dc:creator>tolleiv</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://blog.tolleiv.de/?p=193</guid>
		<description><![CDATA[I'm currently within the preparation for some exams therefore my day's aren't very fancy at all - and that's why I just decided to introduce some TYPO3 extensions - especially TYPO3 extensions where I'm somehow involved ;)

The mentioned extensions are all created by AOEmedia or in cooperation with AOEmedia, they're actively maintained and they ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently within the preparation for some exams therefore my day&#8217;s aren&#8217;t very fancy at all &#8211; and that&#8217;s why I just decided to introduce some TYPO3 extensions &#8211; especially TYPO3 extensions where I&#8217;m somehow involved <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>The mentioned extensions are all created by AOEmedia or in cooperation with <a href="http://www.aoemedia.com">AOEmedia</a>, they&#8217;re actively maintained and they work within regular TYPO3 environments with all TYPO3 features -lot&#8217;s of other extensions don&#8217;t support l10n and workspaces &#8211; ours do <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Please use the mentioned pages on forge.typo3.org to get feedback on your bugs within the mentioned extensions.</p>
<p>Ok let&#8217;s start:</p>
<p><img class="alignright" title="Imagemap Wizard preview" src="../wp-content/uploads/2009/07/39b125d4f5-197x300.png" alt="Imagemap Wizard preview" width="197" height="300" /><strong>imagemap_wizard (<a href="http://forge.typo3.org/projects/show/extension-imagemap_wizard">forge</a>)</strong></p>
<p>My favorite extension &#8211; I started it on the T3DD08 and it took 6 months to finish the first alpha. After 1 year it&#8217;s now a very flexible and fully integrated way to create imagemaps within TYPO3. I&#8217;m very proud that it comes without any XCLASSes and that it can just be used like regular content elements. Localization and workspaces are also supported and the imagemaps are created on frontend-like images. E.g. the uploaded image can be transformed with some installed filters and you&#8217;ll see the applied filters also in the preview while creating your imagemap &#8211; that&#8217;s pretty cool since there&#8217;s no other imagemap-tool which offers such an integration. And the editing of the imagemap itself is done with a (hopefully) intuitive point&amp;click interface <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8230; more details on <a href="http://forge.typo3.org/projects/show/extension-imagemap_wizard">forge.typo3.org</a>.</p>
<p><strong>crawler (<a href="http://forge.typo3.org/projects/show/extension-crawler">forge</a>)</strong></p>
<p>The crawler is a widely know extension within the TYPO3 community &#8211; initially Kasper himself implemented the crawler and he handed over the maintenance for the crawler and it&#8217;s associated extension staticpub to AOEmedia &#8211; during the last year we made a lot of small improvements and currently we&#8217;re making really big changes to get multiprocess-support and  a better &#8220;configuration-interface&#8221; into the extension. The biggest task was that we had to stay compatible with the old API because it&#8217;s also widely know within the community <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8230; a release of the new crawler version will follow very soon <img src='http://blog.tolleiv.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; more details about the crawler and <a href="http://forge.typo3.org/projects/show/extension-crawler">forge.typo3.org</a>.</p>
<p><strong>aoe_realurlpath (<a href="http://forge.typo3.org/projects/show/extension-aoe_realurl">forge</a>)</strong></p>
<p>RealURL is a powerful extension to generate readable and SEO friendly extensions within TYPO3, unfortunately RealURLs pathgenerations wasn&#8217;t very flexible in the past and especially localization wasn&#8217;t represented the way as you might expect it therefore <a href="http://www.typo3-media.com">Daniel</a> implemented an extension which did the path-generations in a more predictable and flexible way. During the last months we added lot&#8217;s of Unit tests and added lot&#8217;s of additional feature for some other special cases (mostly connected to l10n) &#8211; the extension itself has a stable state and the testcases make development for this extension very easy &#8211; it&#8217;s still a tricky job to implement new features though.</p>
<p>That&#8217;s it for today &#8211; I think there&#8217;ll be some additional posts on other extensions.</p>
<p>Followups: <a href="http://www.typo3-media.com/blog/article/talking-about-10-extensions-part-i.html">Daniel about 10 extensions</a> , <a href="http://typo3.org/extensions/repository/popular/">popular exntensions on TYPO3.org</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.tolleiv.de/2009/07/typo3-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

