<?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>Rego's Everyday Life &#187; Planet</title>
	<atom:link href="http://blogs.igalia.com/mrego/category/planet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.igalia.com/mrego</link>
	<description>A weblog about my work at Igalia</description>
	<lastBuildDate>Fri, 05 Mar 2010 22:16:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Import RSS feeds related with categories in TYPO3</title>
		<link>http://blogs.igalia.com/mrego/2010/03/05/import-rss-feeds-related-with-categories-in-typo3/</link>
		<comments>http://blogs.igalia.com/mrego/2010/03/05/import-rss-feeds-related-with-categories-in-typo3/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 22:16:13 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=179</guid>
		<description><![CDATA[This week I&#8217;ve been taking a look to a TYPO3 extension to import RSS feeds called Yet Another Feed Importer (yafi).
This extension works really nice, but I miss one feature. I&#8217;m going to import blog posts to a TYPO3 website and I&#8217;d like to keep the categories already associated with the original post also related [...]]]></description>
			<content:encoded><![CDATA[<p>This week I&#8217;ve been taking a look to a TYPO3 extension to import RSS feeds called <a href="http://typo3.org/extensions/repository/view/yafi/current/"><em>Yet Another Feed Importer</em> (<code>yafi</code>)</a>.</p>
<p>This extension works really nice, but I miss one feature. I&#8217;m going to import blog posts to a TYPO3 website and I&#8217;d like to keep the categories already associated with the original post also related with the news imported in the website.</p>
<p>An example:</p>
<ul>
<li>Import one post that has the categories TYPO3 and PHP in the RSS</li>
<li>If you have defined in your website the category TYPO3</li>
<li>Then the tt_news record imported will be related with TYPO3 category</li>
</ul>
<p>Finally, I&#8217;ve implemented it, you can find <strong><a href="http://forge.typo3.org/issues/show/6716">a patch</a></strong> at <a href="http://forge.typo3.org/">TYPO3 Forge</a>. Also some <a href="http://forge.typo3.org/issues/show/6714">little</a> <a href="http://forge.typo3.org/issues/show/6715">bugfixes</a> for <code>yafi</code> extension.</p>
<p>This together with <a href="http://typo3.org/extensions/repository/view/gl_pages_cat/current/"><code>gl_pages_cat</code></a> could help to feed your website automatically showing only related news on every categorized page.</p>
<p>PD: An <a href="http://people.gnome.org/~federico/news-2010-03.html#05">inspirational post by Federico Mena today</a>:</p>
<blockquote><p>
[...] If you don&#8217;t &#8220;git push&#8221; today, your day was a waste of time.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2010/03/05/import-rss-feeds-related-with-categories-in-typo3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CASify Redmine</title>
		<link>http://blogs.igalia.com/mrego/2009/07/22/casify-redmine/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/22/casify-redmine/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 06:54:08 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=109</guid>
		<description><![CDATA[Redmine is a project management web application. It&#8217;s written in Ruby using the Rails framework.
There is a CAS client available written in Ruby: RubyCAS-Client.
So, I&#8217;ve made some modifications on Redmine code in order to use the CAS service to authenticate Redmine users. Moreover, user information is updated from a LDAP every time the user login [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.redmine.org">Redmine</a> is a project management web application. It&#8217;s written in <a href="http://www.ruby-lang.org/">Ruby</a> using the <a href="http://www.rubyonrails.org.es/">Rails</a> framework.</p>
<p>There is a <a href="http://en.wikipedia.org/wiki/Central_Authentication_Service">CAS</a> client available written in Ruby: <a href="http://rubycas-client.rubyforge.org/">RubyCAS-Client</a>.</p>
<p>So, I&#8217;ve made some modifications on Redmine code in order to use the CAS service to authenticate Redmine users. Moreover, user information is updated from a <a href="http://en.wikipedia.org/wiki/LDAP">LDAP</a> every time the user login in the Redmine website (using <a href="http://net-ldap.rubyforge.org/rdoc/">Net::LDAP</a>). And the fields to modify this data will be disabled on <em>My account</em> page.</p>
<p>Summarizing, I&#8217;ve uploaded a <strong><a href="http://blogs.igalia.com/mrego/wp-content/uploads/2009/07/casify_redmine.patch">patch</a></strong> which provides this specific behaviour (this patch is done against the revision 2824 of Redmine). I know that it&#8217;s hardcoded, but it could be a base for further steps and I hope that it could be useful for someone else (or even for me in the future <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). In the next paragraphs I&#8217;ll go into more technical details.</p>
<p><span id="more-109"></span></p>
<p><strong>Instructions</strong></p>
<p>Once you&#8217;ve installed the last version of Redmine (I&#8217;m using trunk revision 2824), you&#8217;ll need to install RubyCAS-Client (again from trunk because of some functions are not available at last stable 2.0.1):<br />
<code><br />
./script/plugin install http://rubycas-client.googlecode.com/svn/trunk/rubycas-client<br />
</code></p>
<p>First of all, you should add the basic configuration for CAS at <code>config/environment.rb</code>:</p>
<pre><span style='color: #0057ae'>CASClient</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Frameworks</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Rails</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Filter</span><span style='color: #4000a7'>.configure</span><span style='color: #141312'>(</span>
<span style='color: #141312'>  </span><span style='color: #d40000'>:cas_base_url</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=&gt;</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'https://localhost/cas/'</span>
<span style='color: #141312'>)</span></pre>
<p>Moreover, it&#8217;s needed to add the next line to the class <code>AccountController</code> at <code>app/controllers/account_controller.rb</code>:</p>
<pre><span style='color: #141312'>  before_filter </span><span style='color: #0057ae'>CASClient</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Frameworks</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Rails</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Filter</span></pre>
<p>Then, in order to change the login behaviour you should modify the <code>login</code> action of the <code>account</code> controller. Change the method <code>login</code> at <code>app/controllers/account_controller.rb</code>:</p>
<pre><span style='color: #000080'>require</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'casclient'</span>
<span style='color: #000080'>require</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'casclient/frameworks/rails/filter'</span>

<span style='color: #141312'>  <b>def</b> login</span>
<span style='color: #141312'>    <b>if</b> session</span><span style='color: #ff9fec'>[</span><span style='color: #d40000'>:cas_user</span><span style='color: #ff9fec'>]</span><span style='color: #4000a7'>.empty?</span>
<span style='color: #141312'>      </span><span style='color: #888786'><i># Logout user</i></span>
<span style='color: #141312'>      </span><span style='color: #b08000'>self</span><span style='color: #4000a7'>.logged_user</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #b08000'>nil</span>
<span style='color: #141312'>      </span><span style='color: #0057ae'>CASClient</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Frameworks</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Rails</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Filter</span><span style='color: #ff9fec'>::</span><span style='color: #4000a7'>redirect_to_cas_for_authentication</span><span style='color: #141312'>(</span><span style='color: #b08000'>self</span><span style='color: #141312'>)</span>
<span style='color: #141312'>    <b>else</b></span>
<span style='color: #141312'>      cas_authentication(session</span><span style='color: #ff9fec'>[</span><span style='color: #d40000'>:cas_user</span><span style='color: #ff9fec'>]</span><span style='color: #141312'>)</span>
<span style='color: #141312'>    <b>end</b></span>
<span style='color: #141312'>  <b>end</b></span>
</pre>
<p>Now, it&#8217;s necessary to add the new method <code>cas_authentication</code>, which register an user if it&#8217;s the first time that makes login on the Redmine website:</p>
<pre><span style='color: #141312'>  <b>def</b> cas_authentication(cas_user)</span>
<span style='color: #141312'>    user </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #0057ae'>User</span><span style='color: #4000a7'>.find_or_initialize_by_login</span><span style='color: #141312'>(cas_user)</span>

<span style='color: #141312'>    <b>if</b> user</span><span style='color: #4000a7'>.new_record?</span>
<span style='color: #141312'>      </span><span style='color: #888786'><i># Create on the fly</i></span>
<span style='color: #141312'>      user</span><span style='color: #4000a7'>.login</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> cas_user</span>

<span style='color: #141312'>      user </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> update_user_data_from_ldap(user)</span>

<span style='color: #141312'>      user</span><span style='color: #4000a7'>.status</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #0057ae'>User</span><span style='color: #ff9fec'>::</span><span style='color: #bb1188'>STATUS_REGISTERED</span>

<span style='color: #141312'>      register_automatically(user) <b>do</b></span>
<span style='color: #141312'>        onthefly_creation_failed(user)</span>
<span style='color: #141312'>      <b>end</b></span>
<span style='color: #141312'>    <b>else</b></span>
<span style='color: #141312'>      <b>if</b> user</span><span style='color: #4000a7'>.active?</span>
<span style='color: #141312'>        user </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> update_user_data_from_ldap(user, </span><span style='color: #b08000'>true</span><span style='color: #141312'>)</span>
<span style='color: #141312'>        successful_authentication(user)</span>
<span style='color: #141312'>      <b>else</b></span>
<span style='color: #141312'>        account_pending</span>
<span style='color: #141312'>      <b>end</b></span>
<span style='color: #141312'>    <b>end</b></span>
<span style='color: #141312'>  <b>end</b></span></pre>
<p>The method <code>update_user_data_from_ldap</code> gets the user data from LDAP, and update user data on database if needed:</p>
<pre><span style='color: #141312'>  <b>def</b> update_user_data_from_ldap (user, save </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #b08000'>false</span><span style='color: #141312'>)</span>
<span style='color: #141312'>    ldap </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #0057ae'>Net</span><span style='color: #ff9fec'>::</span><span style='color: #bb1188'>LDAP</span><span style='color: #ff9fec'>::</span><span style='color: #4000a7'>new</span>
<span style='color: #141312'>    ldap</span><span style='color: #4000a7'>.host</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'localhost'</span>
<span style='color: #141312'>    ldap</span><span style='color: #4000a7'>.port</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'389'</span>

<span style='color: #141312'>    treebase </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #dd4a4a'>'dc=example,dc=com'</span>

<span style='color: #141312'>    filter </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #0057ae'>Net</span><span style='color: #ff9fec'>::</span><span style='color: #bb1188'>LDAP</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Filter</span><span style='color: #4000a7'>.eq</span><span style='color: #141312'>(</span><span style='color: #dd4a4a'>'uid'</span><span style='color: #141312'>, user</span><span style='color: #4000a7'>.login</span><span style='color: #141312'>)</span>

<span style='color: #141312'>    entry </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> ldap</span><span style='color: #4000a7'>.search</span><span style='color: #141312'>( </span><span style='color: #d40000'>:base</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=&gt;</span><span style='color: #141312'> treebase, </span><span style='color: #d40000'>:filter</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=&gt;</span><span style='color: #141312'> filter, </span><span style='color: #d40000'>:attributes</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=&gt;</span><span style='color: #141312'> </span><span style='color: #ff9fec'>[</span><span style='color: #dd4a4a'>'cn'</span><span style='color: #141312'>, </span><span style='color: #dd4a4a'>'sn'</span><span style='color: #141312'>, </span><span style='color: #dd4a4a'>'mail'</span><span style='color: #ff9fec'>]</span><span style='color: #141312'> )</span><span style='color: #4000a7'>.first</span>

<span style='color: #141312'>    user</span><span style='color: #4000a7'>.firstname</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> entry</span><span style='color: #4000a7'>.cn.first</span>
<span style='color: #141312'>    user</span><span style='color: #4000a7'>.lastname</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> entry</span><span style='color: #4000a7'>.sn.first</span>
<span style='color: #141312'>    user</span><span style='color: #4000a7'>.mail</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> entry</span><span style='color: #4000a7'>.mail.first</span>

<span style='color: #141312'>    user</span><span style='color: #4000a7'>.save</span><span style='color: #141312'> <b>if</b> save</span>

<span style='color: #141312'>    <b>return</b> user</span>
<span style='color: #141312'>  <b>end</b></span></pre>
<p>Following, you should modify the logout behaviour, changing the method <code>logout</code> of the same controller:</p>
<pre><span style='color: #141312'>  <b>def</b> logout</span>
<span style='color: #141312'>    cookies</span><span style='color: #4000a7'>.delete</span><span style='color: #141312'> </span><span style='color: #d40000'>:autologin</span>
<span style='color: #141312'>    </span><span style='color: #0057ae'>Token</span><span style='color: #4000a7'>.delete_all</span><span style='color: #141312'>(</span><span style='color: #ff9fec'>[</span><span style='color: #bf0303'>"user_id = ? AND action = ?"</span><span style='color: #141312'>, </span><span style='color: #0057ae'>User</span><span style='color: #4000a7'>.current.id</span><span style='color: #141312'>, </span><span style='color: #dd4a4a'>'autologin'</span><span style='color: #ff9fec'>]</span><span style='color: #141312'>) <b>if</b> </span><span style='color: #0057ae'>User</span><span style='color: #4000a7'>.current.logged?</span>
<span style='color: #141312'>    </span><span style='color: #b08000'>self</span><span style='color: #4000a7'>.logged_user</span><span style='color: #141312'> </span><span style='color: #ff9fec'>=</span><span style='color: #141312'> </span><span style='color: #b08000'>nil</span>
<span style='color: #141312'>    </span><span style='color: #0057ae'>CASClient</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Frameworks</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Rails</span><span style='color: #ff9fec'>::</span><span style='color: #0057ae'>Filter</span><span style='color: #ff9fec'>::</span><span style='color: #4000a7'>logout</span><span style='color: #141312'>(</span><span style='color: #b08000'>self</span><span style='color: #141312'>)</span>
<span style='color: #141312'>  <b>end</b></span></pre>
<p>The last step is to disable the fields gotten from LDAP at <em>My account</em> page. Modify the <code>app/views/my/account.rhtml</code> file adding <code>:disabled => true</code> option:</p>
<pre><span style='color: #141312'><b>&lt;p&gt;&lt;%=</b> f</span><span style='color: #4000a7'>.text_field</span><span style='color: #141312'> </span><span style='color: #d40000'>:firstname</span><span style='color: #141312'>, </span><span style='color: #d40000'>:required</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'>, </span><span style='color: #d40000'>:disabled</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'> <b>%&gt;&lt;/p&gt;</b></span>
<span style='color: #141312'><b>&lt;p&gt;&lt;%=</b> f</span><span style='color: #4000a7'>.text_field</span><span style='color: #141312'> </span><span style='color: #d40000'>:lastname</span><span style='color: #141312'>, </span><span style='color: #d40000'>:required</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'>, </span><span style='color: #d40000'>:disabled</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'> <b>%&gt;&lt;/p&gt;</b></span>
<span style='color: #141312'><b>&lt;p&gt;&lt;%=</b> f</span><span style='color: #4000a7'>.text_field</span><span style='color: #141312'> </span><span style='color: #d40000'>:mail</span><span style='color: #141312'>, </span><span style='color: #d40000'>:required</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'>, </span><span style='color: #d40000'>:disabled</span><span style='color: #141312'> </span><span style='color: #ff80e0'>=&gt;</span><span style='color: #141312'> </span><span style='color: #b08000'>true</span><span style='color: #141312'> <b>%&gt;&lt;/p&gt;</b></span></pre>
<p>Finally, you can get all this stuff from a single <a href="http://blogs.igalia.com/mrego/wp-content/uploads/2009/07/casify_redmine.patch">patch</a>. Any comment or suggestion are, as usual, welcomed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/22/casify-redmine/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GCDS Day 6 &#8211; Last day</title>
		<link>http://blogs.igalia.com/mrego/2009/07/10/gcds-day-6-last-day/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/10/gcds-day-6-last-day/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 21:00:44 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[MSWL]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=96</guid>
		<description><![CDATA[I spent the whole day attended to the GUADEC-ES talks. And I liked specially two of them:

GTK+ 3.0, paso a paso where Carlos Garnacho showed us some interesting things that will be the future of GTK+
Tracker. ¿Qué he hecho yo para indexar esto? interesting talk about the new Tracker 0.7 by Iván Frade.

Moreover, we present [...]]]></description>
			<content:encoded><![CDATA[<p>I spent the whole day attended to the <a href="http://www.grancanariadesktopsummit.org/node/331">GUADEC-ES talks</a>. And I liked specially two of them:</p>
<ul>
<li><em><a href="http://www.grancanariadesktopsummit.org/node/337">GTK+ 3.0, paso a paso</a></em> where <a href="http://blogs.gnome.org/carlosg/">Carlos Garnacho</a> showed us some interesting things that will be the future of <a href="http://www.gtk.org">GTK+</a></li>
<li><em><a href="http://www.grancanariadesktopsummit.org/node/340">Tracker. ¿Qué he hecho yo para indexar esto?</a></em> interesting talk about the new <a href="http://projects.gnome.org/tracker/">Tracker 0.7</a> by <a href="http://blog.ifrade.es/">Iván Frade</a>.</li>
</ul>
<p>Moreover, <a href="http://www.mastersoftwarelibre.com/">we</a> present our talk about <a href="http://www.grancanariadesktopsummit.org/node/342">Tarefas at GUADEC-ES</a>, it seems that people like the idea and how it was developed as part of the Master on Free Software. BTW, you can get <a href="http://people.igalia.com/mrego/mswl/guadec/guadec-es-2009-tarefas.pdf">the slides (in Spanish)</a>.</p>
<p>Finally, <a href="http://blogs.igalia.com/berto">Berto</a> and me went for a walk around the old city, this part is really nice.</p>
<p>Summarizing, it was a great week in Gran Canaria, where I could meet a lot of great hackers. A lot of interesting stuff: <a href="http://moblin.org/projects/mojito">Mojito</a>, <a href="http://projects.gnome.org/tracker/">Tracker</a>, <a href="http://live.gnome.org/GnomeZeitgeist">Zeitgeist</a>, <a href="http://www.midgard-project.org/midgard2/">Midgard2</a>, <a href="http://couchdb.apache.org/">CouchDB</a>, <a href="http://live.gnome.org/GnomeShell">GNOME Shell</a>, &#8230; I should take a look at some of them in the future, I hope to find some time <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/10/gcds-day-6-last-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCDS Day 5 &#8211; Mobile Day &amp; GUADEC-ES</title>
		<link>http://blogs.igalia.com/mrego/2009/07/09/gcds-day-5-mobile-day-guadec-es/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/09/gcds-day-5-mobile-day-guadec-es/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 01:12:56 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=87</guid>
		<description><![CDATA[I started the day at GUADEC-ES with a great talk Enanos con Gorrito &#8211; GNOME para novatos by Federico Mena.
Then I moved to the GUADEC Mobile Day in order to attend the following talks:

]]></description>
			<content:encoded><![CDATA[<p>I started the day at GUADEC-ES with a great talk <em><a href="http://www.grancanariadesktopsummit.org/node/329">Enanos con Gorrito &#8211; GNOME para novatos</a></em> by <a href="http://www.gnome.org/~federico/">Federico Mena</a>.</p>
<p>Then I moved to the GUADEC Mobile Day in order to attend the following talks:</p>
<ul>
<li><a href="http://www.grancanariadesktopsummit.org/node/215>Multimedia in your pocket</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/347>Designing Moblin-Netbook. A free desktop on a 7-10&#8243; Screen</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/217>Hildon desktop in Maemo 5</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/219>MAFW: the Media Application Framework for Maemo</a></li>
</ul>
<p>Afer that, I moved again to GUADEC-ES where <a href="http://blogs.igalia.com/vjaquez/">Víctor</a> explained how to generate <code>.vapi</code> files in his talk <em><a href="http://www.grancanariadesktopsummit.org/node/335">Un vistazo a Vala</a></em>.</p>
<p>And I finished the conferences day in the next talks:</p>
<ul>
<li><a href="http://www.grancanariadesktopsummit.org/node/410">Couch DB: Cross Desktop Data and Demos</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/208">Pitivi Video Editor</a></li>
</ul>
<p>Finally, I went to the <a href="http://www.es.gnome.org/">GNOME Hispano</a> dinner and also attended to the party sponsored by <a href="http://www.collabora.co.uk/">Collabora</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/09/gcds-day-5-mobile-day-guadec-es/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GCDS Day 4 &#8211; Talks, beach and dinner</title>
		<link>http://blogs.igalia.com/mrego/2009/07/08/gcds-day-4-talks-beach-and-dinner/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/08/gcds-day-4-talks-beach-and-dinner/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 08:00:52 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=84</guid>
		<description><![CDATA[I attended some talks during the day, during the morning Clutter was a main character. The Midgard2 project seems interesting, a content repository with just a library, it should be reviewed with CouchDB if you need something like a content repository for your project.
After the conference some of us went to the beach and other [...]]]></description>
			<content:encoded><![CDATA[<p>I attended some talks during the day, during the morning <a href="http://www.clutter-project.org/">Clutter</a> was a main character. The <a href="http://www.midgard-project.org/midgard2/">Midgard2</a> project seems interesting, a content repository with just a library, it should be reviewed with <a href="http://couchdb.apache.org/">CouchDB</a> if you need something like a content repository for your project.</p>
<p>After the conference some of <a href="http://www.igalia.com">us</a> went to the beach and other hackers join us there. BTW, my second swim in Gran Canaria <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Finally, some igalians and <a href="http://www.gnome.org/~federico/">Federico Mena</a> went to dinner to the city centre. I had the chance to ask him about <a href="http://live.gnome.org/GnomeZeitgeist">Zeitgeist</a> internals, how they detect the events and so on. It was a nice night with a great guy.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/08/gcds-day-4-talks-beach-and-dinner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GCDS Day 3 &#8211; GNOME party</title>
		<link>http://blogs.igalia.com/mrego/2009/07/06/gcds-day-3-gnome-party/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/06/gcds-day-3-gnome-party/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 19:52:17 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=75</guid>
		<description><![CDATA[Today I attended the next talks:

WebKitGTK+
I can has aliens too? Client side windows in Gtk+
Modest: Creating a modern mobile email client with gnome technologies
GNOME 3.0 &#8211; A Live Circus^WStatus Update
Vala: Compiler for the GObject type system
GSettings: Next Gen of Config Management
GNOME 1,2,3

Quite interesting talks today, and a very funny talk (GNOME 1,2,3) by Fer and [...]]]></description>
			<content:encoded><![CDATA[<p>Today I attended the next talks:</p>
<ul>
<li><a href="http://www.grancanariadesktopsummit.org/node/187">WebKitGTK+</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/189">I can has aliens too? Client side windows in Gtk+</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/192">Modest: Creating a modern mobile email client with gnome technologies</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/197">GNOME 3.0 &#8211; A Live Circus^WStatus Update</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/193">Vala: Compiler for the GObject type system</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/195">GSettings: Next Gen of Config Management</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/198">GNOME 1,2,3</a></li>
</ul>
<p>Quite interesting talks today, and a very funny talk (<em>GNOME 1,2,3</em>) by <a href="http://www.gnome.org/~fherrera/">Fer</a> and <a href="http://blogs.gnome.org/xan/">Xan</a>. Furthermore, it&#8217;s good to see how Igalians have started to appear as speakers <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Today is the GNOME party sponsored by Igalia, now it&#8217;s time to go there!</p>
<p>BTW, master students (Manuel, Javi and me) have started to prepare <a href="http://www.grancanariadesktopsummit.org/node/342">our talk</a> for the GUADEC-ES. Moreover <a href="http://blogs.igalia.com/svillar/">Sergio</a> has found some time, after the Modest talk, to help us with the Maemo port. Thank you very much!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/06/gcds-day-3-gnome-party/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCDS Day 2 &#8211; GUADEC starts</title>
		<link>http://blogs.igalia.com/mrego/2009/07/05/gcds-day-2-guadec-starts/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/05/gcds-day-2-guadec-starts/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 19:12:10 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=66</guid>
		<description><![CDATA[During the morning I attended the following talks of the Cross-desktop track:

Desktop search: Extracting semantic meta data
Tracker: Metadata central storage for the Desktop
Animated UI technologies in maemo 5 (Fremantle)
WebKit combined GTK+/Qt talk
Profiling and Optimizing D-Bus APIs

I liked the Desktop search and Tracker talks, that allowed me to understand better the problems and ideas of these [...]]]></description>
			<content:encoded><![CDATA[<p>During the morning I attended the following talks of the <em>Cross-desktop</em> track:</p>
<ul>
<li><a href="http://www.grancanariadesktopsummit.org/node/152">Desktop search: Extracting semantic meta data</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/170">Tracker: Metadata central storage for the Desktop</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/129">Animated UI technologies in maemo 5 (Fremantle)</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/143">WebKit combined GTK+/Qt talk</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/168">Profiling and Optimizing D-Bus APIs</a></li>
</ul>
<p>I liked the <em>Desktop search</em> and <em>Tracker</em> talks, that allowed me to understand better the problems and ideas of these projects. From the <em>D-Bus</em> talk I should extract a basic concept: </p>
<blockquote><p>D-Bus API shouldn&#8217;t be just a mapping of your library</p></blockquote>
<p>You should use some time to think the proper D-Bus methods that you need. Another interesting thing was <a href="http://willthompson.co.uk/bustle/">Bustle</a>, a kind of D-Bus monitor that seems very interesting.</p>
<p>At the afternoon the GUADEC starts, and I&#8217;ve attended:</p>
<ul>
<li><a href="http://www.grancanariadesktopsummit.org/node/177">Introduction to the GNOME Shell</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/178">GNOME Zeitgeist</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/184">Sipping Mojitos and thinking RESTful thoughts</a></li>
<li><a href="http://www.grancanariadesktopsummit.org/node/185">State of Clutter</a></li>
</ul>
<p>It was interesting see the current status of <a href="http://live.gnome.org/GnomeShell">GNOME Shell</a>. The <a href="http://live.gnome.org/GnomeZeitgeist">GNOME Zeitgeist</a> talk reminded me some ideas of <a href="http://mytime.igalia.com">MyTime</a>. Finally, I had the chance to talk a bit with <a href="http://www.robster.org.uk/blog/">Rob Bradford</a> about <a href="http://moblin.org/projects/mojito">Mojito</a> project, a very interesting way to access social networks from the desktop.</p>
<p>BTW, Nokia&#8217;s party is waiting, see you there tonight <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/05/gcds-day-2-guadec-starts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCDS Day 1 &#8211; Keynotes &amp; Lighting Talks</title>
		<link>http://blogs.igalia.com/mrego/2009/07/04/gcds-day-1-keynotes-lighting-talks/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/04/gcds-day-1-keynotes-lighting-talks/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 19:55:29 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=58</guid>
		<description><![CDATA[First day at GCDS. Briefly, four keynotes and a lot of lighting talks.
Among the keynotes, I liked the talk about Sugar with some interesting concepts and examples, I should give it a try. On the other hand, Stallman remembered to the whole audience his opinion about C#. Finally, Quim Gil revealed the future of Maemo [...]]]></description>
			<content:encoded><![CDATA[<p>First day at <a href="http://www.grancanariadesktopsummit.org/">GCDS</a>. Briefly, four keynotes and a lot of lighting talks.</p>
<p>Among the keynotes, I liked the talk about <a href="http://wiki.sugarlabs.org/">Sugar</a> with some interesting concepts and examples, I should give it a try. On the other hand, Stallman remembered to the whole audience <a href="http://www.fsf.org/news/dont-depend-on-mono">his opinion about C#</a>. Finally, Quim Gil revealed the future of <a href="http://maemo.org/">Maemo</a> linked to <a href="http://www.qtsoftware.com/">Qt</a>.</p>
<p>BTW, first swim on the <a href="http://en.wikipedia.org/wiki/Las_Palmas_de_Gran_Canaria">Las Canteras</a> beach, now is time to go out to dinner <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/04/gcds-day-1-keynotes-lighting-talks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GCDS Day 0 &#8211; Ready to learn</title>
		<link>http://blogs.igalia.com/mrego/2009/07/03/gcds-day-0-ready-to-learn/</link>
		<comments>http://blogs.igalia.com/mrego/2009/07/03/gcds-day-0-ready-to-learn/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 10:46:15 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[MSWL]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/?p=49</guid>
		<description><![CDATA[Tonight, we should be arriving to Las Palmas in order to attend Gran Canaria Desktop Summit (GCDS).
This will be my GUADEC, and this is the first time that GUADEC and Akademy are organized together (a great idea in my opinion).
I hope to learn a lot during this fantastic event and meet a lot of interesting [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight, <a href="http://www.igalia.com">we</a> should be arriving to Las Palmas in order to attend <a href="http://www.grancanariadesktopsummit.org/">Gran Canaria Desktop Summit (GCDS)</a>.</p>
<p>This will be my GUADEC, and this is the first time that GUADEC and Akademy are organized together (a great idea in my opinion).</p>
<p>I hope to learn a lot during this fantastic event and meet a lot of interesting people. See you in Gran Canaria <img src='http://blogs.igalia.com/mrego/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>BTW, I&#8217;ll be part of a talk given in the GUADEC-ES by all the <a href="http://www.mastersoftwarelibre.com/">Master on Libre Software</a> students. In this talk we&#8217;ll talk about our experience developing a GNOME application as a practice for the <a href="http://gsyc.escet.urjc.es/moodle/course/view.php?id=41">Development of Libre Software</a> subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/07/03/gcds-day-0-ready-to-learn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Forums in TYPO3</title>
		<link>http://blogs.igalia.com/mrego/2009/01/20/forums-in-typo3/</link>
		<comments>http://blogs.igalia.com/mrego/2009/01/20/forums-in-typo3/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 20:43:00 +0000</pubDate>
		<dc:creator>Manuel Rego Casasnovas</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://blogs.igalia.com/mrego/2009/01/20/forums-in-typo3/</guid>
		<description><![CDATA[As part of the Mancomún project we need to use a forum with the next features:

Anonymous users
Captcha prevention
RSS
BBCode

So I&#8217;ve been testing different TYPO3 extensions:

mm_forum: The most used and with community and recent activity. Only one problem not logged users can&#8217;t write posts.
chc_forum: Not updated since 2006. Without Captcha prevention. RSS feed is added with another [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the <a href="https://forxa.mancomun.org/projects/mancomun/">Mancomún project</a> we need to use a forum with the next features:</p>
<ul>
<li>Anonymous users</li>
<li>Captcha prevention</li>
<li>RSS</li>
<li><a href="http://en.wikipedia.org/wiki/Bbcode">BBCode</a></li>
</ul>
<p>So I&#8217;ve been testing different <a href="http://typo3.org/extensions/repository/?tx_terfe_pi1[view]=search&#038;no_cache=1&#038;tx_terfe_pi1[sword]=forum">TYPO3 extensions</a>:</p>
<ul>
<li><code><a href="http://typo3.org/extensions/repository/view/mm_forum/current/">mm_forum</a></code>: The most used and with <a href="http://forge.typo3.org/projects/show/extension-mm_forum">community</a> and recent activity. Only one problem <strong>not logged users can&#8217;t write posts</strong>.</li>
<li><code><a href="http://typo3.org/extensions/repository/view/chc_forum/current/">chc_forum</a></code>: Not updated since 2006. <strong>Without Captcha prevention</strong>. RSS feed is added with <a href="http://typo3.org/extensions/repository/view/chc_forum_feed/current/">another extension</a>.</li>
<li><code><a href="http://typo3.org/extensions/repository/view/wec_discussion/current/">wec_discussion</a></code>: An active extension, but with a forum system quite simple and <strong>without BBCode support</strong>.</li>
</ul>
<p>All of them miss some of the required features. After some tests I decided to use <code>chc_forum</code>, mainly because we&#8217;ve already used it in a <a href="http://www.bygalicia.eu">previous project</a> and <a href="http://typo3.org/extensions/repository/view/chc_forum_popup/current/">another extension</a> already provides Captcha prevention, but it&#8217;s not working properly.</p>
<p>I&#8217;d prefer to use <code><a href="http://typo3.org/extensions/repository/view/mm_forum/current/">mm_forum</a></code> but it was more difficult to add the missed feature. I&#8217;ve added <a href="http://forge.typo3.org/issues/show/2459">a new issue</a> and I hope that this feature will be implemented in order to improve this great extension.</p>
<p>Finally, the result is:</p>
<ul>
<li><strong>A new TYPO3 extension <code><a href="http://typo3.org/extensions/repository/view/chc_forum_captcha/current/">chc_forum_captcha</a></code></strong>, based on <code><a href="http://typo3.org/extensions/repository/view/chc_forum_popup/current/">chc_forum_popup</a></code> source code, that adds Captcha prevention to <code><a href="http://typo3.org/extensions/repository/view/chc_forum/current/">chc_forum</a></code>.</li>
<li>A <a href="http://pastebin.com/f303747b0">little patch</a> for <code><a href="http://typo3.org/extensions/repository/view/chc_forum_feed/current/">chc_forum_feed</a></code>, because it was not detecting the website protocol (HTTP or HTTPS).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.igalia.com/mrego/2009/01/20/forums-in-typo3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
