<?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>Two Drifters &#187; code</title>
	<atom:link href="http://blog.ideaday.de/max/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ideaday.de/max</link>
	<description>Off to see the world.</description>
	<lastBuildDate>Sun, 05 Feb 2012 16:48: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>Concrete 5 SQL errors during installation</title>
		<link>http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/</link>
		<comments>http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 19:57:24 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Concrete 5]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[C5]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[explanation]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql error]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/?p=1667</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/' addthis:title='Concrete 5 SQL errors during installation '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>We have seen this error with Concrete 5.5.1 You try to setup Concrete 5, and get strange SQL errors during the installation: If installing with an empty site, like this you get: mysql error: [1048: Column 'uID' cannot be null] in EXECUTE("INSERT INTO Config (cfKey,cfValue,uID) VALUES ('NEWSFLOW_LAST_VIEWED','FIRSTRUN',NULL)") If installing with Sample content with Blog: The [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/' addthis:title='Concrete 5 SQL errors during installation ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/' addthis:title='Concrete 5 SQL errors during installation '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>We have seen this error with <strong>Concrete 5.5.1</strong></p>
<p>You try to setup Concrete 5, and get <strong>strange SQL errors</strong> during the installation:</p>
<p>If installing with an <strong>empty site</strong>, like this</p>
<p align="center"><a href="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5-nosample-content-chosen.png"><img hspace="10" alt="c5-nosample-content-chosen" vspace="10" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5-nosample-content-chosen-small.png" width="450" height="208" /></a></p>
<p>you get:</p>
<p align="center"><a href="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5-mysql-error.png"><img hspace="10" alt="c5-mysql-error" vspace="10" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5-mysql-error-small.png" width="450" height="129" /></a></p>
<p><em>mysql error: [1048: Column 'uID' cannot be null] in EXECUTE("INSERT INTO Config (cfKey,cfValue,uID) VALUES ('NEWSFLOW_LAST_VIEWED','FIRSTRUN',NULL)")</em></p>
<p>If installing with <strong>Sample content with Blog</strong>:</p>
<p align="center"><a href="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5_with_sample_content.png"><img hspace="10" alt="c5 with sample content" vspace="10" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2012/02/c5_with_sample_content-small.png" width="450" height="276" /></a></p>
<p>The error you get is:</p>
<p><em>Catchable fatal error: Argument 1 passed to ContentImporter::importPageAreas() must be an instance of Page, boolean given, called in /concrete/libraries/content/importer.php on line 75 and defined in /concrete/libraries/content/importer.php on line 197.</em></p>
<p>&nbsp;</p>
<p><strong>Solution:</strong></p>
<p>You don't run Varnish by any chance, do you? We do, and we had it set up to &#8230; dispose of some cookies. The solution is, in Varnish' case, to enable pass-through for the host you are installing on.</p>
<p>You want to enable cookies.</p>
<p>&nbsp;</p>
<p><strong>Explanation:</strong></p>
<p>The code which breaks is located in <em>concrete5.5.1\concrete\models\package\starting_point.php</em></p>
<blockquote>
<p>  Config::save('SITE', SITE);<br />
  Config::save('SITE_APP_VERSION', APP_VERSION);<br />
  $u = new User();<br />
  $u-&gt;saveConfig('NEWSFLOW_LAST_VIEWED', 'FIRSTRUN');</p>
</blockquote>
<p>As you see, this is the first time a User is created and used.</p>
<p>The User class is defined in <em>concrete5.5.1\concrete\models\user.php</em></p>
<blockquote>
<p> <strong> if (isset($_SESSION['uID'])) {<br /></strong>     $this-&gt;uID = $_SESSION['uID'];<br />
     $this-&gt;uName = $_SESSION['uName'];<br />
     $this-&gt;uTimezone = $_SESSION['uTimezone'];<br />
     if (isset($_SESSION['uDefaultLanguage'])) {<br />
      $this-&gt;uDefaultLanguage = $_SESSION['uDefaultLanguage'];<br />
     }<br />
     $this-&gt;superUser = ($_SESSION['uID'] == USER_SUPER_ID) ? true : false;<br />
    } else {<br />
    <strong> $this-&gt;uID = null;<br /></strong>     $this-&gt;uName = null;<br />
     $this-&gt;superUser = false;<br />
     $this-&gt;uDefaultLanguage = null;<br />
     $this-&gt;uTimezone = null;<br />
    }<br />
    $this-&gt;uGroups = $this-&gt;_getUserGroups();<br />
    if (!isset($args[2])) {<br />
     $_SESSION['uGroups'] = $this-&gt;uGroups;<br />
    }<br />
   }</p>
</blockquote>
<p>The constructor checks in the Session for a valid user ID. If no user ID is found, it is set to zero. This happens <strong>if you throw away the cookies</strong>! Because the session is stored in them.</p>
<p>HTH. Feel free to comment on similar errors and solutions.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/' addthis:title='Concrete 5 SQL errors during installation ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2012/02/concrete-5-sql-errors-during-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Purging with Varnish</title>
		<link>http://blog.ideaday.de/max/2012/01/purging-with-varnish/</link>
		<comments>http://blog.ideaday.de/max/2012/01/purging-with-varnish/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 16:31:41 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[cleaning Varnish cache]]></category>
		<category><![CDATA[easy method]]></category>
		<category><![CDATA[Purging]]></category>
		<category><![CDATA[purging with Varnish]]></category>
		<category><![CDATA[speedup]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[Varnish]]></category>
		<category><![CDATA[VCL]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/?p=1610</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2012/01/purging-with-varnish/' addthis:title='Purging with Varnish '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>For a newbie, it's a bit tricky to understand how to purge old content from Varnish. Here's a description of what works for me: Add these code snippets to your Varnish configuration file, reload Varnish: /etc/init.d/varnish reload This will "install" the PURGE command. Modify the ACL (access control list) as appropriate. Mine is: acl purge [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2012/01/purging-with-varnish/' addthis:title='Purging with Varnish ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2012/01/purging-with-varnish/' addthis:title='Purging with Varnish '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>For a newbie, it's a bit tricky to understand <strong>how to purge old content from Varnish</strong>. Here's a description of what works for me:</p>
<p>Add <a href="https://www.varnish-cache.org/docs/trunk/tutorial/purging.html">these code snippets </a> to your Varnish configuration file, reload Varnish:</p>
<blockquote>
<p>/etc/init.d/varnish reload</p>
</blockquote>
<p>This will "install" the PURGE command. Modify the ACL (access control list) as appropriate. Mine is:</p>
<blockquote>
<p>acl purge {<br />
  "localhost";<br />
  "127.0.0.1";<br />
  "<em>varnish server IP</em>";<br />
}</p>
</blockquote>
<p>Where you need to replace the Varnish server IP with the IP of your Varnish server.</p>
<p>Next, (thanks to <a href="http://blog.feryn.eu/2010/11/varnish-cache-purging/">this article</a>!) an easy method from the command line of your Varnish server:</p>
<blockquote>
<p><strong>curl -X PURGE</strong> <a href="http://catfind.it/"><strong>http://catfind.it/</strong></a></p>
</blockquote>
<p>Replace <a href="http://www.catfind.it/">catfind.it</a> with your URL. The -X tells curl to replace the GET method with the PURGE method. BTW, you could call the PURGE method anything you'd like, ie. CACTUS &#8211; just set up the VCL configuration appropriately.</p>
<p>If you want some other server to be able to purge, you need to add it to your ACL.</p>
<p>You need <strong>curl</strong> to be installed. It's easily done on Debian / Ubuntu via</p>
<blockquote>
<p>apt-get install curl</p>
</blockquote>
<p>(as root).</p>
<p><strong>What about the other methods?</strong></p>
<ul dir="ltr">
<li>
<div style="MARGIN-RIGHT: 0px"><strong>telnetting</strong> into the server (<em>telnet localhost 80</em>) does not work for me, as it drops the connection before I'm finished with typing. Probably there is a way to set up telnet to transmit a certain string, if you want to, share it with us here.</div>
</li>
<li>
<div style="MARGIN-RIGHT: 0px">Purging using the admin CLI of Varnish <strong>NEVER</strong> worked for me. Either Varnish has changed it's interface in newer versions, or I need <strong>some further configuration</strong> to enable it. Again, if you know the ropes, please share your knowledge with us!</p>
<p>varnishadm -T 127.0.0.1:<em>secretport</em> purge req.url == "/"</p>
<p>yields</p>
<p><strong>Unknown request.<br />
Type 'help' for more info.</strong></div>
</li>
</ul>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2012/01/purging-with-varnish/' addthis:title='Purging with Varnish ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2012/01/purging-with-varnish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirection with Concrete 5</title>
		<link>http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/</link>
		<comments>http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 10:26:44 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Concrete 5]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[external link]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[problem solved]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[trick]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/' addthis:title='Redirection with Concrete 5 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>URL Shortening is all the rage now. Sometimes you want to give people ridiculously long URLs, which might also be subject to change. So you want to do it with C5, don't you? Great, you think &#8211; there's the "add external link" menu option in Concrete's sitemap. Unfortunately it does not work the way you [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/' addthis:title='Redirection with Concrete 5 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/' addthis:title='Redirection with Concrete 5 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>URL Shortening is all the rage now. Sometimes you want to give people ridiculously long URLs, which might also be subject to change.</p>
<p><strong>So you want to do it with C5, don't you?</strong></p>
<p>Great, you think &#8211; there's the "add external link" menu option in Concrete's sitemap. Unfortunately it does not work the way you expect it to &#8211; it just adds the link to the Navigation, but no page alias to point to the external page (i.e. <a href="http://www.synapse-redaktion.de/FaceBook">http://www.synapse-redaktion.de/FaceBook</a> won't work after adding a "FaceBook" external link).</p>
<p><strong>What to do to solve this dilemma?</strong></p>
<p>My suggestion is to use both: add a (hidden) page "FaceBook" which does header JavaScript forwarding to the other page, so you can give out the links to the people, and a "real external link" so you don't have to rely on JavaScript for most of your visitors.</p>
<p><strong>The SiteMap will look like this:</strong></p>
<p><img alt="sitemap" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2011/09/sitemap.jpg" width="412" height="534" /></p>
<p><strong>Adding custom attributes:</strong> (Header Extra Content, Exclude from Page List, Exclude from Nav)</p>
<p><img alt="header extra content" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2011/09/header_extra_content.jpg" width="450" height="346" /></p>
<p><strong>The page's setup:</strong></p>
<p><img alt="setup" src="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2011/09/setup.jpg" width="450" height="349" /></p>
<p><strong>The script is easy:</strong></p>
<blockquote>
<p>&lt;script type="text/javascript"&gt;<br />
&lt;!&#8211;<br />
window.location = "<a href="http://www.surfnext.com">http://www.surfnext.com</a>"<br />
//&#8211;&gt;<br />
&lt;/script&gt;</p>
</blockquote>
<p>with surfnext.com being the URL you are forwarding to.</p>
<p>If you have the time, you might want to add a static link or icon to the page (/*comment*/ the window.location = &#8230; part to be able to edit the page!) in case some person has their JavaScript turned off.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/' addthis:title='Redirection with Concrete 5 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/09/redirection-with-concrete-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>amMap for MediaWiki</title>
		<link>http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/</link>
		<comments>http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 14:06:40 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[amMap]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SurfNext]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/' addthis:title='amMap for MediaWiki '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>For my worldwide Internet access project surfnext.com I developed an extension for MediaWiki to use amMap. What is amMap? amMap is a pretty cool Flash-based map which allows you to display geographical information. Check out the examples on amMap.com. It has been used on many pages world-wide, and now &#8211; thanks to SurfNext's needs &#8211; [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/' addthis:title='amMap for MediaWiki ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/' addthis:title='amMap for MediaWiki '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>For my <a title="Worldwide Internet access at your fingertips" href="http://www.surfnext.com/">worldwide Internet access project</a> surfnext.com I developed an extension for MediaWiki to use <a href="http://ammap.com/">amMap</a>.</p>
<p><strong>What is amMap?</strong></p>
<p>amMap is a pretty cool <strong>Flash-based</strong> map which allows you to display geographical information. Check out the examples on <a href="http://www.ammap.com/">amMap.com</a>. It has been used on many pages world-wide, and now &#8211; thanks to SurfNext's needs &#8211; it is coming to MediaWiki!</p>
<p><strong>What is MediaWiki?</strong></p>
<p>It is the Wiki software which is behind <a href="http://www.wikipedia.org/">Wikipedia</a> and many other major wikis. <a title="All possibilities to get online" href="http://www.surfnext.com/">SurfNext.com</a> is also based on MediaWiki. Ah, the power of free software!</p>
<p><strong>Why Flash, why amMap?</strong></p>
<p>Because there is no free JavaScript-based map out there, which is not based on tiles. (Please post a link if you know any vector-based JavaScript map !!!)</p>
<p>Unfortunately iDevices (iPhone, etc) do not have Flash capabilities. Thus, you can't see the amMap on them.</p>
<p>Android has Flash support.</p>
<p><strong>Download &amp; Credits</strong></p>
<p><A HREF="http://ideadayblog.ideaday.netdna-cdn.com/max/wp-content/uploads/2011/08/snAmmap-0.5.zip">Download version 0.5</A>. (amMap v. 2.5.7 is included).</p>
<p>amMap requires you to leave the link to amMap (inside the map) intact, or to <a href="http://www.amcharts.com/buy">buy a commercial license</a>.</p>
<p>I ask you to provide a back-link to my project <a href="http://www.surfnext.com">SurfNext.com</a>, if this extension is of value to you.</p>
<p><strong>This extension is still in early beta, use at your own risk.</strong> Post comments about the extension on this blog page, thank you!</p>
<p><strong>Installation</strong></p>
<p>snAmmap <strong>requires MediaWiki 1.17 or higher</strong>, as it uses <a href="http://www.mediawiki.org/wiki/ResourceLoader">ResourceLoader</a>. (Feel free to fork a version for earlier MediaWikis).</p>
<p>An alternative, of course, is to upgrade your Wiki. It is advisable, as the new release sports significant speed enhancements.</p>
<ul>
<li>
<div>Put the snAmmap folder in your extensions folder.</div>
</li>
<li>
<div>Add <em>require_once("$IP/extensions/snAmmap/snAmmap.php");</em> to your LocalSettings.php</div>
</li>
<li>
<div>If you want to, you can create <strong>custom data and settings files</strong> and put them somewhere in your Wiki installation path. (i.e. a folder <em>custom</em>)</div>
</li>
</ul>
<p><strong>Usage</strong></p>
<p>Currently snAmmap only supports one map per page. After you have installed the extension, use the following tag in your Wiki where you want to include the map:</p>
<blockquote><p>&lt;ammap height="500px" width="500px" bgcolor="#FFFFFF" data_file="/custom/data.xml" settings_file="/custom/settings.xml"&gt;Placeholder text&lt;/ammap&gt;</p></blockquote>
<p>None of the tag's attributes are required, there are sensible defaults for them (falling back on the data_file and settings_file provided with amMap, for instance.)</p>
<ul dir="ltr">
<li>
<div>height =&gt; sets the height of the map. Can be a percentage</div>
</li>
<li>
<div>width =&gt; sets the width. Can also be a percentage.</div>
</li>
<li>
<div>bgcolor =&gt; sets the initial background color, which can be modified in the settings file later.</div>
</li>
<li>
<div>data_file =&gt; sets the path (URL!) for the data_file. Can be a full URL with hostname, but you have to enable cross-site scripting, which is dangerous. Use a file from your server, preferably.</div>
</li>
<li>
<div>settings_file =&gt; sets the path for the settings_file</div>
</li>
</ul>
<p>See the <a href="http://ammap.com/docs/">documentation </a> of amMap for more details and information what you can modify.</p>
<p><strong>Live Example</strong></p>
<p><a href="http://www.surfnext.com/">SurfNext.com </a> uses the snAmmap extension on the main page in conjunction with custom data and settings files for a map which links to Wiki pages. It also has a dropdown menu from which you can select the individual countries by name, which also links to the Wiki pages.</p>
<p>SurfNext shows you how to obtain Internet access everywhere in the world. Feel free to join and participate!</p>
<p>Feel free to comment about SurfNext on this blog page.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/' addthis:title='amMap for MediaWiki ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/08/ammap-for-mediawiki/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Privoxy rules to unblock Concrete 5 editing</title>
		<link>http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/</link>
		<comments>http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/#comments</comments>
		<pubDate>Fri, 20 May 2011 15:55:07 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Concrete 5]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[content block]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Privoxy]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/' addthis:title='Privoxy rules to unblock Concrete 5 editing '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>In Concrete 5, TinyMCE is used as an editor for Content blocks. If you have Privoxy installed with the default settings, crucial parts of this editor will be blocked, and you would be unable to edit the Content block properly. (no editor appears, you see a small box with the HTML instead). You can verify [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/' addthis:title='Privoxy rules to unblock Concrete 5 editing ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/' addthis:title='Privoxy rules to unblock Concrete 5 editing '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>In Concrete 5, TinyMCE is used as an editor for Content blocks. If you have Privoxy installed with the default settings, crucial parts of this editor will be blocked, and you would be unable to edit the Content block properly. (no editor appears, you see a small box with the HTML instead).</p>
<p>You can verify that it's indeed Privoxy which is doing it, by checking the Network tab of Dragonfly or Firebug in Opera or FireFox, Privoxy will add a status message to files which have been blocked.</p>
<p>To fix this problem, edit your <strong>user.action</strong> file (located in the application's toplevel directory), and add a new line under the { fragile } section:</p>
<blockquote>
<p>{ fragile }<br />
#.forbes.com<br />
<strong>/concrete/js/tiny_mce/plugins/.*<br />
/updates/concrete.*</strong>
</p>
</blockquote>
<p>This should unblock all Concrete 5 &#8211; based sites.</p>
<p><b>Update (23.10.2011): The fix now works with updated Concrete 5 sites.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/' addthis:title='Privoxy rules to unblock Concrete 5 editing ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/05/privoxy-rules-to-unblock-concrete-5-editing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging out users</title>
		<link>http://blog.ideaday.de/max/2011/02/logging-out-users/</link>
		<comments>http://blog.ideaday.de/max/2011/02/logging-out-users/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 23:42:17 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/02/logging-out-users/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/02/logging-out-users/' addthis:title='Logging out users '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Do you track users by using cookies? There are some handy JS libraries to read cookies and determine whether a user-cookie is set. But what do you do if you want to logout your user without them having to refresh the page? Make an AJAX request. Your server-side script which is called using the AJAX [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/02/logging-out-users/' addthis:title='Logging out users ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/02/logging-out-users/' addthis:title='Logging out users '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Do you track users by using cookies?</p>
<p>There are some handy JS libraries to read cookies and determine whether a user-cookie is set.</p>
<p>But what do you do if you want to logout your user without them having to refresh the page?</p>
<p><strong>Make an AJAX request.</strong></p>
<p>Your server-side script which is called using the AJAX request can update your cookie state, i.e. remove the cookie. Something my JS libraries did not manage to do, in spite of them having a function for that.</p>
<p>In PHP it's simple to do:</p>
<blockquote>
<p>&lt;?PHP<br />
/*We delete the cookie by setting it's time to -3600*/<br />
setcookie ('usercookie', ", time()-3600, '/');</p>
</blockquote>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/02/logging-out-users/' addthis:title='Logging out users ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/02/logging-out-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lectoras external HTML object and z-index</title>
		<link>http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/</link>
		<comments>http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 16:05:35 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[external HTML object]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Lectora]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[z-index]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/' addthis:title='Lectoras external HTML object and z-index '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Given the limited flexibility of Lectora, in some cases you need to include custom scripted HTML objects. For instance you want to build an overlay for a login dialog, which would communicate directly with the server using AJAX. After positioning your external HTML object on the page and building the HTML you want to include [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/' addthis:title='Lectoras external HTML object and z-index ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/' addthis:title='Lectoras external HTML object and z-index '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Given the limited flexibility of Lectora, in some cases you need to include custom scripted HTML objects.</p>
<p>For instance you want to build an overlay for a login dialog, which would communicate directly with the server using AJAX.</p>
<p>After positioning your external HTML object on the page and building the HTML you want to include (by i.e. a PHP "include" call), sometimes you will find Lectora is putting other things on top of your HTML object's contents.</p>
<p>The first possibility to fix this would be modifying Lectora's "Layering" option of your object: "Bring to Front".</p>
<p>The second possibility comes in handy, if you do not want to modify the Lectora project itself: <strong>on-the fly z-index &#8211; updating</strong>.</p>
<p>I use the JS library <a href="http://www.jquery.org/">JQuery</a> to efficiently work on the DOM across browsers. Using it, you can set the z-index during runtime (i.e. reacting to a mouseclick on an icon):</p>
<blockquote>
<p><em>$('#object-name').css('z-index','1000');</em></p>
</blockquote>
<p>You can find out the name of the DIV Lectora creates for your external HTML object using Firebug, or looking up the <strong>object name</strong> property in Lectora (double click your object to see the settings dialogue).</p>
<p>Creating DIVs inside your Lectora object and setting their z-indices to higher values, i.e. by CSS, <strong>does not work</strong>. You need to alter the z-index of the wrapper DIV provided by Lectora. It is created during run-time using this code:</p>
<blockquote>
<p><em>object-name = new ObjInline('object-name',null,0,580,900,40,1,<strong>15</strong>,null,'div')<br />
object-name.build()</em></p>
</blockquote>
<p>The Lectora code sets the z-index! Thus, your z-index from the CSS would be ignored, and you need to update it during runtime, as I have described above.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/' addthis:title='Lectoras external HTML object and z-index ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/02/lectoras-external-html-object-and-z-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trafficverschwendung</title>
		<link>http://blog.ideaday.de/max/2011/01/trafficverschwendung/</link>
		<comments>http://blog.ideaday.de/max/2011/01/trafficverschwendung/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 10:37:08 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[German]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[YATE]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/01/trafficverschwendung/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/01/trafficverschwendung/' addthis:title='Trafficverschwendung '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Und die Chinesen "attackieren" unseren Server weiter. Heute habe ich erfahren, dass wir innerhalb von 30 Tagen 125 GB incoming traffic auf unserer SIP VZ hatten, das meiste selbstverständlich von einer einzigen chinesischen IP. Sehr schön wird das auch dadurch gezeigt dass der Outgoing Traffic nur 5 GB betragen hat (und da die Gespräche sowohl [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/01/trafficverschwendung/' addthis:title='Trafficverschwendung ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/01/trafficverschwendung/' addthis:title='Trafficverschwendung '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Und die Chinesen "attackieren" unseren Server weiter. Heute habe ich erfahren, dass wir innerhalb von 30 Tagen 125 GB incoming traffic auf unserer SIP VZ hatten, das meiste selbstverständlich von einer einzigen chinesischen IP. Sehr schön wird das auch dadurch gezeigt dass der Outgoing Traffic nur 5 GB betragen hat (und da die Gespräche sowohl rein als auch raus laufen, also durch den Server geproxyied werden bei uns, entspricht das eher dem wahren Gesprächsaufkommen).</p>
<p>Ich habe ausgerechnet, dass es ca. 0,38 MBit pro sec Dauertraffic entspricht, d.h. wir haben genug Reserven. (mit einer 100 MBit Anbindung, die bei Bedarf auf 1 GBit umgestellt werden kann).</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/01/trafficverschwendung/' addthis:title='Trafficverschwendung ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/01/trafficverschwendung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Chinese once again &#8230;</title>
		<link>http://blog.ideaday.de/max/2011/01/the-chinese-once-again/</link>
		<comments>http://blog.ideaday.de/max/2011/01/the-chinese-once-again/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:12:48 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[YATE]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2011/01/the-chinese-once-again/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/01/the-chinese-once-again/' addthis:title='The Chinese once again &#8230; '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>In another post I already blocked the Chinese from scanning my YATE server (actually attempting a kind of DOS attack? Perhaps this would bring another VoIP software down?) Anyways, the Chinese are back and they have changed their IP adress to 218.72.254.43 Also the message is slightly different: sip:venice@&#60;my IP&#62; I will attempt to block [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/01/the-chinese-once-again/' addthis:title='The Chinese once again &#8230; ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2011/01/the-chinese-once-again/' addthis:title='The Chinese once again &#8230; '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p><a href="http://blog.ideaday.de/max/2010/11/suspicious-sip-traffic/">In another post</a> I already blocked the Chinese from scanning my YATE server (actually attempting a kind of DOS attack? Perhaps this would bring another VoIP software down?)</p>
<p>Anyways, the Chinese are back and they have changed their IP adress to</p>
<p><strong>218.72.254.43</strong></p>
<p>Also the message is slightly different:</p>
<p><strong>sip:venice@&lt;my IP&gt;</strong></p>
<p>I will attempt to block them once again, if this happens a third time with yet another IP, I will think about other measures.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2011/01/the-chinese-once-again/' addthis:title='The Chinese once again &#8230; ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2011/01/the-chinese-once-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing with Concrete: New Block Type not showing up</title>
		<link>http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/</link>
		<comments>http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 20:00:31 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Concrete 5]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[explanation]]></category>
		<category><![CDATA[fix]]></category>

		<guid isPermaLink="false">http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/' addthis:title='Developing with Concrete: New Block Type not showing up '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Problem: you are adding a new block type to your package. You are updating the package using Concrete's update functionality, but no new block type shows up. Solution: remove the package completely (uninstall &#8211; but leave it in the package directory, when C5 offers to move it to trash!), and install it again. Your block [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/' addthis:title='Developing with Concrete: New Block Type not showing up ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/' addthis:title='Developing with Concrete: New Block Type not showing up '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p><strong>Problem:</strong> you are adding a new block type to your package. You are updating the package using Concrete's update functionality, but no new block type shows up.</p>
<p><strong>Solution:</strong> remove the package completely (uninstall &#8211; but leave it in the package directory, when C5 offers to move it to trash!), and install it again. Your block type should show up now.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/' addthis:title='Developing with Concrete: New Block Type not showing up ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://blog.ideaday.de/max/2010/11/developing-with-concrete-new-block-type-not-showing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/42 queries in 0.018 seconds using disk: basic
Object Caching 1142/1241 objects using disk: basic
Content Delivery Network via ideadayblog.ideaday.netdna-cdn.com

Served from: blog.ideaday.de @ 2012-02-06 19:12:25 -->
