<?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"
	>

<channel>
	<title>Modulis Blog (in English)</title>
	<atom:link href="http://blog.modulis.ca/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.modulis.ca/en</link>
	<description>The official Modulis blog</description>
	<pubDate>Mon, 12 Jan 2009 21:45:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>TYPO3 v.4.2 is a Welcome Update for the End User</title>
		<link>http://blog.modulis.ca/en/2009/01/12/typo3-v42-is-a-welcome-update-for-the-end-user/</link>
		<comments>http://blog.modulis.ca/en/2009/01/12/typo3-v42-is-a-welcome-update-for-the-end-user/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 21:43:09 +0000</pubDate>
		<dc:creator>adrien</dc:creator>
		
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://blog.modulis.ca/en/?p=74</guid>
		<description><![CDATA[TYPO3 v4.2 is out! Boasting of 650 additions and improvements, the newest version is a triumph for the end user. Improvements to the application’s backend (termed by the developers as the “Cleaner Backend Project”), are making it easier than ever for the everyday users to manage their CMS.  Experienced users will notice handy features like [...]]]></description>
			<content:encoded><![CDATA[<p><strong>TYPO3 v4.2 is out!</strong> Boasting of 650 additions and improvements, the newest version is a triumph for the end user. Improvements to the application’s backend (termed by the developers as the “Cleaner Backend Project”), are making it easier than ever for the everyday users to manage their CMS.  Experienced users will notice handy features like two new backend toolbars:</p>
<ul>
<li>One, located at the top of the interface (seen in the figure below), makes it easier than ever to identify currently logged in users, select workspaces, search, and log out.  Shortcut and search field menus round this top toolbar out.</li>
<li>A new sticky editing toolbar consolidates and replaces the buttons that were dispersed along the top and bottom of the editing forms in earlier TYPO3 versions.  On the subject of editing, the editing module is now dividing into tabs instead one long page, making it simpler to navigate through configuring the properties of a page.</li>
</ul>
<p><a href="http://blog.modulis.ca/en/wp-content/uploads/2009/01/typo3-new-toolbar.png"><img class="aligncenter size-medium wp-image-75" title="typo3-new-toolbar" src="http://blog.modulis.ca/en/wp-content/uploads/2009/01/typo3-new-toolbar-300x150.png" alt="" width="300" height="150" /></a><br />
<strong> Other backend improvements include:</strong></p>
<ul>
<li>New skins make the interface more tidy and appealing</li>
<li>Rich Text Editor (htmlArea) now supports Safari</li>
<li>TYPO3 extensions can now extend the Rich Text Editor</li>
<li>Collapsible/expandable file menu</li>
<li>Currently open documents accessible through the document header bar</li>
<li>Tabbed forms for editing page properties and content elements</li>
<li>Page-type drop down menus are now grouped by categories</li>
<li>Template Module improved to include a TypoScript editor</li>
<li>Constant Editor more intuitive</li>
<li>“Fellogin” integrates the handy “newloginbox” extension into the core software</li>
</ul>
<p><strong>Users having trouble managing large websites will be delighted about some new features in the Page Tree:</strong></p>
<ul>
<li>Searches help filter large page trees</li>
<li>A highlight/dim feature highlights the pages you are working with and dims the rest. Highlighted pages will appear together while other pages appear in an alphabetical list below. Of course, users who prefer to see their entire page tree can lose this option in TSConfig.</li>
<li>Collapses/expands as needed</li>
</ul>
<p><strong>TYPO3 4.2 has also pinpointed and eliminated time wasters:</strong></p>
<ul>
<li>Users can now choose which module to start in after logging into the backend.</li>
<li>Extensions will appear immediately after installed without a backend reload</li>
<li>Tabs in forms now indicate those pesky hidden required fields</li>
<li>The welcome addition of a select box now means it is finally clear whether the clipboard is in copy or move mode.</li>
<li>Context-sensitive help appears when hovering the mouse over icons, meaning help is even closer than a click away in the latest version of TYPO3.</li>
<li>Application speed is enhanced</li>
<li>It is easier than ever to move elements in the Workspace Module</li>
<li>Workspace “swapping” now available for new and deleted elements, not just changed elements</li>
<li>Non-backed end users can now preview workspace updates</li>
</ul>
<p><strong>TYPO3 4.2 also features a new installation wizard.</strong></p>
<p><a href="http://blog.modulis.ca/en/wp-content/uploads/2009/01/typo3-installation-wizard.png"><img class="aligncenter size-medium wp-image-76" title="typo3-installation-wizard" src="http://blog.modulis.ca/en/wp-content/uploads/2009/01/typo3-installation-wizard-300x225.png" alt="" width="300" height="225" /></a></p>
<p>It’s important to note that TYPO3 4.2 will now require PHP 5.2.0 to run. <a href="http://typo3.org/download/packages/" target="_blank">Download TYPO3 4.2. </a></p>
<p><a href="http://www.modulis.ca" target="_blank">For professional services utilizing TYPO3 4.2, contact Modulis now!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2009/01/12/typo3-v42-is-a-welcome-update-for-the-end-user/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TYPO3: Howto have a field for different CSS class for each content</title>
		<link>http://blog.modulis.ca/en/2008/11/28/typo3-howto-have-a-field-for-different-css-class-for-each-content/</link>
		<comments>http://blog.modulis.ca/en/2008/11/28/typo3-howto-have-a-field-for-different-css-class-for-each-content/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 17:10:17 +0000</pubDate>
		<dc:creator>adrien</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=10</guid>
		<description><![CDATA[

If you want to specify a CSS class for each TYPO3 content (example: TEXT with IMAGE),

you can add a new filed "Class" that will allow you to set the CSS class.

Instructions:
Add the following lines to your typoscript (setup)

#[globalVar = TSFE:field&#124;tx_modulis_ttcontent_class &#62; 0]
tt_content.stdWrap.dataWrap =  &#60;a name="{field:uid}"&#62;&#60;/a&#62;&#60;div class="{field:tx_modulis_ttcontent_class}"&#62;&#124;&#60;/div&#62;
#[global]

You can uncomment first and last line to make [...]]]></description>
			<content:encoded><![CDATA[<pre class="news-single-content"><a href="http://blog.modulis.ca/en/wp-content/uploads/2008/12/6222b01153.png"><img class="size-full wp-image-72 alignnone" title="TYPO3 CSS" src="http://blog.modulis.ca/en/wp-content/uploads/2008/12/6222b01153.png" alt="" width="427" height="500" /></a>

If you want to specify a CSS class for each TYPO3 content (example: TEXT with IMAGE),

you can add a new filed "Class" that will allow you to set the CSS class.

<strong><em>Instructions:</em></strong>
<h2>Add the following lines to your typoscript (setup)</h2>
<blockquote>
<pre>#[globalVar = TSFE:field|tx_modulis_ttcontent_class &gt; 0]
tt_content.stdWrap.dataWrap =  &lt;a name="{field:uid}"&gt;&lt;/a&gt;&lt;div class="{field:tx_modulis_ttcontent_class}"&gt;|&lt;/div&gt;
#[global]</pre>
</blockquote>
<p class="bodytext">You can uncomment first and last line to make sure that the CSS class will only be outputed if non empty.</p>
<h2><strong>Add the following Database column to the table tt_content:</strong></h2>
<p class="bodytext">It can be done with phpmyadmin or the kickstarter.</p>
<blockquote>
<pre>tx_modulis_ttcontent_class (type tinytext)</pre>
</blockquote>
<h2>Add the following to file typo3conf/ext_tables.php:</h2>
</pre>
<pre class="news-single-content">
<blockquote>

$tempColumns = Array (

         "tx_modulis_ttcontent_class" =&gt; Array (

                 "exclude" =&gt; 1,

                 "label" =&gt; "Class",

                 "config" =&gt; Array (

                         "type" =&gt; "input",

                         "size" =&gt; "30",

                         "default" =&gt; "tt_content",

                 )

         ),

);

t3lib_div::loadTCA("tt_content");

t3lib_extMgm::addTCAcolumns("tt_content",$tempColumns,1);

t3lib_extMgm::addToAllTCAtypes("tt_content","tx_modulis_ttcontent_class;;;;1-1-1");</blockquote>
<pre>Clear all caches and you're done !</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2008/11/28/typo3-howto-have-a-field-for-different-css-class-for-each-content/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google partners up with T-Mobile, releases phone with PC features</title>
		<link>http://blog.modulis.ca/en/2008/11/27/google-partners-up-with-t-mobile-releases-phone-with-pc-features/</link>
		<comments>http://blog.modulis.ca/en/2008/11/27/google-partners-up-with-t-mobile-releases-phone-with-pc-features/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 18:29:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=3</guid>
		<description><![CDATA[
There has always been a competition between Apple and Google, especially in terms of looks and design. For instance, Google&#8217;s new web browser, Google Chrome, seriously emphasizes design and its sleak lines are similar to the design approached by Apple on its web site.
Today, as part of the series &#8220;Open Source Browser, Paid-for Mobile&#8221;, Google [...]]]></description>
			<content:encoded><![CDATA[<div class="news-single-content">
<p class="bodytext"><img class="alignleft" title="Google Phone" src="http://www.opensource-blog.com/uploads/pics/G1.jpg" alt="" width="279" height="241" />There has always been a competition between Apple and Google, especially in terms of looks and design. For instance, Google&#8217;s new web browser, <a href="http://chrome.google.com/" target="_blank">Google Chrome</a>, seriously emphasizes design and its sleak lines are similar to the design approached by Apple on its <a href="http://apple.com/" target="_blank">web site</a>.</p>
<p class="bodytext">Today, as part of the series &#8220;Open Source Browser, Paid-for Mobile&#8221;, Google and T-Mobile &#8212; a German mobile network company &#8212; have released their first mobile telephone with PC features, called the <strong>T-Mobile G1</strong>.</p>
<h2>T-Mobile G1: operating system, features, price</h2>
<p class="bodytext">The T-Mobile G1 from Google - T-Mobile collaboration team comes with pre-installed Android software platform and operating system for mobile devices.</p>
<p class="bodytext">The only thing free in this entire equation is the fact that Google Android is based on the Linux OS and that it was developed by the <a href="http://www.openhandsetalliance.com/" target="_blank">Open Handset Alliance</a>. Other than that, you&#8217;d still have to pay some $179 for a T-Mobile G1.</p>
<p class="bodytext">As for the features, the T-Mobile G1 comes bundled up with a 3 megapixel camera, has a wide color touch screen which you can slide in order to reveal the G1 keyboard, and also includes a pre-installed Internet browser.</p>
<p class="bodytext">T-Mobile representatives have said that the G1 will have an autonomy of 5h of talk time and  130h in stand-by mode.</p>
<p class="bodytext">Manufactured in Taiwan, the G1 mobile phone will be available at the begining of the next year in Europe, while the North-American market being able to sell it as early as October the 22nd, 2008.</p>
<h2>Opinions on the T-Mobile G1 mobile phone</h2>
<p class="bodytext">Google Products President and co-founder <strong>Larry Page</strong> stated at a product news conference in New York that the new T-Mobile G1 &#8220;is as good a computer as you had a few years ago&#8221; and that the Android software will be provided for free along with the mobile phone, in an attempt to persuade mobile phone companies to use the Android as their software platform.</p>
<p class="bodytext"><strong>Cole Brodman</strong>, chief technology and innovation officer of T-Mobile USA, said that &#8220;frankly this device will have mass appeal&#8221; especially because of its design and of its functionalities. He also noticed that Americans are not eager to embrace the mobile web technology and that the American market is well behind other markets: &#8220;Consumers have a desire to connect, but they haven&#8217;t found the mobile Internet very compelling,&#8221; outlining that only 16% of American mobile users go online using their phones.</p>
<p class="bodytext">Moreover, other key-people have stated that the T-Mobile G1 will be able to function on both G3 and older mobile networks, and that it will be delivered with GPS, Wi-Fi and BlueTooth connections.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2008/11/27/google-partners-up-with-t-mobile-releases-phone-with-pc-features/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Project of the Week: WinSCP</title>
		<link>http://blog.modulis.ca/en/2008/09/26/open-source-project-of-the-week-winscp/</link>
		<comments>http://blog.modulis.ca/en/2008/09/26/open-source-project-of-the-week-winscp/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 07:14:44 +0000</pubDate>
		<dc:creator>sovidiu</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=67</guid>
		<description><![CDATA[



The fourth week of September 2008 is almost over, yet we have found some time to write an article on an open source web project, as part of our new Open Source Project of the Week series.
This week&#8217;s project, and also the first open source product to be presented on our site, is WinSCP &#8212; [...]]]></description>
			<content:encoded><![CDATA[<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fwinscp.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=03d9dd20dffa736f885e1b6f21c94e49','73670b6cc9d92676a66b12f4a40975bf','width=273,height=276,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fwinscp.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=03d9dd20dffa736f885e1b6f21c94e49" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/cfc6a8d3f9.png" border="0" alt="" width="180" height="180" /></a></div>
</div>
<div class="news-single-content">
<p class="bodytext">The fourth week of September 2008 is almost over, yet we have found some time to write an article on an open source web project, as part of our new <strong>Open Source Project of the Week</strong> series.</p>
<p class="bodytext">This week&#8217;s project, and also the first open source product to be presented on our site, is <strong>WinSCP</strong> &#8212; an open source SFTP and FTP client for Windows.</p>
<p class="bodytext">Since not every reader out there is a techie or a technology fan, we will present this product using a common, natural language, so that both the home user and the might tech savvy understand what exactly is WinSCP and why one should install and use it whenever operating with a FTP server.</p>
<h2>What is WinSCP?</h2>
<p class="bodytext">WinSCP can refer to two things:</p>
<ol>
<li>a SourceForge open source project;</li>
<li>a Windows FTP and SFTP client.</li>
</ol>
<p class="bodytext">Both of these definitions rely on the idea and sustained effort of <strong>Martin Prikryl</strong>, a 29 years old Software developer from Prague, the Capital of the Czech Republic.</p>
<h2>WinSCP - the SourceForge Open Source Project</h2>
<p class="bodytext">It was he who created a new SourceForge project because once he graduated from the University of Economics in Prague, he had lost the hosting access to the University&#8217;s server.</p>
<p class="bodytext">Once hosted on SourceForge, which is a large open source portal and community with <a href="http://sourceforge.net/register-project/" target="_blank">free registration for open source projects</a>, Martin began working on a SFTP and FTP client for Windows. As we all know, Windows is an operating system developed by the Microsoft Corporation; other than that, some of you might also find it useful to learn that FTP refers to the <em>file transfer protocol</em> (a protocol for transferring files to / from a web server), while SFTP refers to <em>secure file transfer protocol, SSH file transfer protocol</em>, which serves the same purpose but in a secured way.</p>
<p class="bodytext">The <strong>WinSCP SourceForge project</strong> was started in 2003 and is now hosted at <a href="http://sourceforge.net/projects/winscp" target="_blank">http://sourceforge.net/projects/winscp</a>. According to project founder Martin Prikryl, there are some 400,000 software unique update checks every weeks, meaning that some 400,000 users have already installed the software on their PCs.</p>
<h2>WinSCP - the Windows FTP and SFTP client</h2>
<p class="bodytext">WinSCP, the result of Martin&#8217;s SourceForge project, is a software application for Windows operating system. It allows the user to connect either in the traditional or secured way to a web server via the <em>file transfer protocol</em>, in order to upload or download files to/from the server.</p>
<p class="bodytext">The original description of the WinSCP Windows client is the following:</p>
<blockquote style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="bodytext">WinSCP is a SFTP client and FTP client for Windows. Its main function is the secure file transfer between a local and a remote computer. It uses Secure Shell (SSH) and supports, in addition to Secure FTP, also legacy SCP protocol.</p>
</blockquote>
<p class="bodytext">The software can be installed for free on either one of the following operating systems:</p>
<ul>
<li>32-bit MS Windows (95/98)</li>
<li>32-bit MS Windows (NT/2000/XP)</li>
<li>All 32-bit MS Windows (95/98/NT/2000/XP)</li>
<li>Win2K</li>
<li>WinXP</li>
</ul>
<p class="bodytext">and is available in a multitude of languages, including: Catalan, Czech, Dutch, English, Finnish, French, German, Hungarian, Indonesian, Italian, Japanese, Malay, Polish, Portuguese, Russian, Spanish, Swedish.</p>
<p class="bodytext">As you can see for yourselves, WinSCP cannot be installed on a Microsoft Vista operating system; however, this issue will undoubtedly be solved in the near future.</p>
<p class="bodytext">As of today, September the 26th 2008, the current version of WinSCP is <strong>4.1.6</strong>, with the last software update being performed on July the 30th, 2008.</p>
<p class="bodytext">Here are some quicklinks: <a href="http://sourceforge.net/projects/winscp" target="_blank">WinSCP Sourceforge project page</a>,  <a href="http://winscp.net/" target="_blank">WinSCP official site</a>, <a href="http://sourceforge.net/project/showfiles.php?group_id=85589" target="_blank">WinSCP download area</a> (on SourceForge).</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2008/09/26/open-source-project-of-the-week-winscp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>To find out subdomains of a domain, first do:</title>
		<link>http://blog.modulis.ca/en/2008/03/04/to-find-out-subdomains-of-a-domain-first-do/</link>
		<comments>http://blog.modulis.ca/en/2008/03/04/to-find-out-subdomains-of-a-domain-first-do/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 15:10:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=65</guid>
		<description><![CDATA[
To find out subdomains of a domain, first do:
dig domain_name.com
to find the name servers in the authority section (we&#8217;ll call them ns1.foo.bar and ns2.foo.bar)
then do a:
dig @ns1.foo.bar domain_name.com axfr
or
dig @ns2.foo.bar domain_name.com axfr




Liens:

linux-journal.blogspot.com/2005/04/find-all-subdomains-of-domain.html



]]></description>
			<content:encoded><![CDATA[<div class="news-single-content">
<p class="bodytext">To find out subdomains of a domain, first do:</p>
<p>dig domain_name.com</p>
<p>to find the name servers in the authority section (we&#8217;ll call them ns1.foo.bar and ns2.foo.bar)</p>
<p>then do a:</p>
<p>dig @ns1.foo.bar domain_name.com axfr</p>
<p>or</p>
<p>dig @ns2.foo.bar domain_name.com axfr</p>
</div>
<hr class="clearer" />
<div class="news-single-additional-info">
<dl class="news-single-links">
<dt>Liens:</dt>
<dd>
<p class="bodytext"><a href="http://linux-journal.blogspot.com/2005/04/find-all-subdomains-of-domain.html" target="_blank">linux-journal.blogspot.com/2005/04/find-all-subdomains-of-domain.html</a></p>
</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2008/03/04/to-find-out-subdomains-of-a-domain-first-do/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to burn a file over 4Go size on Linux k3b</title>
		<link>http://blog.modulis.ca/en/2007/09/14/how-to-burn-a-file-over-4go-size-on-linux-k3b/</link>
		<comments>http://blog.modulis.ca/en/2007/09/14/how-to-burn-a-file-over-4go-size-on-linux-k3b/#comments</comments>
		<pubDate>Fri, 14 Sep 2007 05:09:26 +0000</pubDate>
		<dc:creator>Yannick Morel</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=63</guid>
		<description><![CDATA[
k3b is just a front-end to growisofs, mkisofs, cdrecord, and other assorted programs, so it shouldn&#8217;t have any limitations of its own, but just reflect those of the programs it calls.

It appears that growisofs in turn calls mkisofs, which is what is complaining about the file being too large. Googling appears to confirm that this [...]]]></description>
			<content:encoded><![CDATA[<div class="news-single-subheader">
<h3>k3b is just a front-end to growisofs, mkisofs, cdrecord, and other assorted programs, so it shouldn&#8217;t have any limitations of its own, but just reflect those of the programs it calls.</p>
<p class="bodytext">
<p class="bodytext">It appears that growisofs in turn calls mkisofs, which is what is complaining about the file being too large. Googling appears to confirm that this is a internal limit of mkisofs.</p>
</h3>
</div>
<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fsplash.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=7baf57bed2bdf59ffe66b8f9f1a6e77a','adcb8ded247c87387bfb38c5167da518','width=517,height=357,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fsplash.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=7baf57bed2bdf59ffe66b8f9f1a6e77a" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/97fbb78994.jpg" border="0" alt="" width="240" height="162" /></a></div>
</div>
<div class="news-single-content">
<p class="bodytext">So the trick is to split the file in two, which first doesn&#8217;t sound very interesting, unless you have the good tool !</p>
<p class="bodytext">The solution:<strong> <a class="external-link-new-window" href="http://ds9a.nl/splitpipe/" target="_blank"><span style="font-size: small;">Splitpipe !</span></a></strong></p>
<p class="bodytext">To create backups:<br />
tar c /home | splitpipe -s dvd -o &#8216;growisofs -Z /dev/dvd=/dev/stdin&#8217;</p>
<p>To restore backups:<br />
joinpipe /dev/dvd | tar xz</p>
<p>It features checksums, making sure that the dvds are read in correct order, and other usefull features.</p>
<p class="bodytext">But it can also be used to backup the entire /home on multiple DVDs.</p>
<p class="bodytext"><a class="external-link-new-window" href="http://ds9a.nl/splitpipe/" target="_blank">See the website of Splitpipe -&gt;</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2007/09/14/how-to-burn-a-file-over-4go-size-on-linux-k3b/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Applying Composite View Pattern with TYPO3</title>
		<link>http://blog.modulis.ca/en/2007/08/16/applying-composite-view-pattern-with-typo3/</link>
		<comments>http://blog.modulis.ca/en/2007/08/16/applying-composite-view-pattern-with-typo3/#comments</comments>
		<pubDate>Thu, 16 Aug 2007 05:54:37 +0000</pubDate>
		<dc:creator>Anh-Tuan Dam</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=61</guid>
		<description><![CDATA[
The following assumes that the reader is already experienced with Typo3&#8217;s modern templating.


This goal of this article will be to explain how we can adapt Core J2EE&#8217;s Composite View pattern within Typo3&#8217;s modern templating. The main difference is that instead of using Java and JSP, we will use Typo3&#8217;s backend with typoscript.






The following assumes that [...]]]></description>
			<content:encoded><![CDATA[<div class="news-single-subheader">
<h3>The following assumes that the reader is already experienced with Typo3&#8217;s modern templating.</p>
<p class="bodytext">
<p class="bodytext">
<p class="bodytext">This goal of this article will be to explain how we can adapt Core J2EE&#8217;s Composite View pattern within Typo3&#8217;s modern templating. The main difference is that instead of using Java and JSP, we will use Typo3&#8217;s backend with typoscript.</p>
</h3>
</div>
<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_internet.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=905df4389f926798a59f82690b204e4a','4c96edd748fcb9685e78ce0778feb394','width=517,height=464,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_internet.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=905df4389f926798a59f82690b204e4a" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/cbf08e279a.png" border="0" alt="" width="203" height="180" /></a><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_package.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=fbbb768bb0cca2679367f0754c9199f5','aea2d6fe5f47f43bd2643053321da71b','width=467,height=520,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_package.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=fbbb768bb0cca2679367f0754c9199f5" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/1b8ce6a7b3.png" border="0" alt="" width="162" height="180" /></a><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_welcome.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=d23bc68f43e5483de3d8586fbe7d3425','fb85e9e99fd174d7bae31779d0829150','width=517,height=464,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fvaltech_welcome.png&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=d23bc68f43e5483de3d8586fbe7d3425" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/1df1c7c9fa.png" border="0" alt="" width="203" height="180" /></a></div>
</div>
<div class="news-single-content">
<p class="bodytext">The following assumes that the reader is already experienced with Typo3&#8217;s modern templating.</p>
<p class="bodytext">
<p class="bodytext">This goal of this article will be to explain how we can adapt Core J2EE&#8217;s Composite View pattern within Typo3&#8217;s modern templating. The main difference is that instead of using Java and JSP, we will use Typo3&#8217;s backend with typoscript.</p>
<p class="bodytext">
<p class="bodytext">Let us start by describing the Composite View pattern, a design strategy for the presentation layer that allows developers to have multiple atomic subviews forming the single display page (or composite view).</p>
<p class="bodytext">
<p class="bodytext">One of the advantages of applying this pattern is that it allows designers and programmers the ability to treat subviews modularly. Treating subviews as such is quite practical since we can better focus our efforts without having to worry about their dependencies. For instance, by separating the visual portions of the view contents, different people can focus on developing each visual subpart without needing to take into account the other subparts. Furthermore, having modular visual components greatly enhances reusability, which comes in handy especially to avoid redundant inclusions in a website template. To best demonstrate this, I will be using <a href="http://www.valtech.ca/o" target="_blank">http://www.valtech.ca/</a> as an example.</p>
<p class="bodytext">
<p class="bodytext">By using modern templating, the website has been divided into different subviews as indicated in the illustrations. Each subview in this website is (or is composed of) Typo3 content elements, typoscript components such as GMENUS, and template files.</p>
<p class="bodytext">
<p class="bodytext">For this pattern, we have to class the views into two types – static and dynamic. The following links will be used as examples on how both types of views are used :</p>
<p class="bodytext">
<p class="bodytext">Welcoming page: <a href="http://www.valtech.ca/o" target="_blank">http://www.valtech.ca/</a></p>
<p class="bodytext">Product page: <a href="http://www.valtech.ca/general/internet/" target="_blank">http://www.valtech.ca/general/internet/</a></p>
<p class="bodytext">Package page: <a href="http://www.valtech.ca/general/telephonie/" target="_blank">http://www.valtech.ca/forfaits/emeraude/</a></p>
<p class="bodytext">
<p class="bodytext">As you might have noticed in all three pages, they share some common visual components. These are the static subviews.</p>
<p class="bodytext">
<p class="bodytext">Indicated in the blue sections, the static subviews include:</p>
<ul>
<li>
<p style="margin-bottom: 0in;">the company 	logo</p>
</li>
<li>
<p style="margin-bottom: 0in;">the top-right 	links</p>
</li>
<li>
<p style="margin-bottom: 0in;">the 	three-column bottom section with the products</p>
</li>
<li>
<p style="margin-bottom: 0in;">the footer.</p>
</li>
</ul>
<p class="bodytext">
<p class="bodytext">Static views are usually subviews that are typically identical in all pages and are also not updated very often.</p>
<p class="bodytext">
<p class="bodytext">As for the dynamic views, they are not as reused in all pages and they also usually contain different website content for each page using it. These views are basically the ones that make the welcoming, product, and package page differ from one another.</p>
<p class="bodytext">
<p class="bodytext">Indicated in the red sections, the dynamic views include:</p>
<ul>
<li>
<p style="margin-bottom: 0in;">the top menu 	for the welcoming page</p>
</li>
<li>
<p style="margin-bottom: 0in;">the top menu 	for the product/package page</p>
</li>
<li>
<p style="margin-bottom: 0in;">the search 	bar for the welcoming page</p>
</li>
<li>
<p style="margin-bottom: 0in;">the search 	bar for the product/package page</p>
</li>
<li>
<p style="margin-bottom: 0in;">the main 	content of the welcoming page (between the top menu and the product 	prices)</p>
</li>
<li>
<p style="margin-bottom: 0in;">the main 	content of the product page, which has no menu</p>
</li>
<li>
<p style="margin-bottom: 0in;">the main 	content of the package page, which has a menu</p>
</li>
</ul>
<p class="bodytext">
<p class="bodytext">Using the composite view pattern, I can easily mix and match static/dynamic views to create different-looking pages as shown in the three links mentioned.</p>
<p class="bodytext">
<p class="bodytext">In order to accomplish this, the first step should be to start identifying the static subviews. Once the static views are all identified, we then insert them into a main template setup so that all the pages using it can include them. I usually store all the template setups inside a backend sysfolder. Let us call the main template setup <strong>Main Template (M.T)</strong>.</p>
<p class="bodytext">
<p class="bodytext">Now we can begin by assigning the static views to it using the company logo as a bare bone example. For Valtech.ca, the logo is actually an image content element stored in a backend page. The following typoscript code shows us how to retrieve the logo (subview in the form of a content element) from any particular page:</p>
<p class="bodytext">
<p class="bodytext"># Setting the global contents:</p>
<p class="bodytext">
<p class="bodytext"># Obtain the logo from page containing global content elements</p>
<p class="bodytext"># @param pidInList : the id of the page containing the content</p>
<p class="bodytext"><strong>styles.content.getLogoContent </strong>= CONTENT</p>
<p class="bodytext"><strong>styles.content.getLogoContent </strong>{</p>
<p class="bodytext">table = tt_content</p>
<p class="bodytext">select.pidInList = 1</p>
<p class="bodytext">select.orderBy = sorting</p>
<p class="bodytext">select.where = colPos=0</p>
<p class="bodytext">select.languageField = sys_language_uid</p>
<p class="bodytext">renderObj.stdWrap.wrap =</p>
<p class="bodytext">|</p>
<p class="bodytext">
<p class="bodytext">}</p>
<p class="bodytext">#~</p>
<p class="bodytext">&#8230;</p>
<p class="bodytext">&#8230;</p>
<p class="bodytext">
<p class="bodytext">The above code tells Typo3 to get the logo from a page with id = 1, which stores all the global elements of the website. Now we also need to assign the content element to the main template, which is done by the following typoscript snippet within the same template setup:</p>
<p class="bodytext">
<p class="bodytext"># Assign contents to main template:</p>
<p class="bodytext">
<p class="bodytext"># Set the main subparts in the template</p>
<p class="bodytext">page.10 = TEMPLATE</p>
<p class="bodytext">page.10 {</p>
<p class="bodytext">template = FILE</p>
<p class="bodytext">template.file = fileadmin/templates/main_template.html</p>
<p class="bodytext">workOnSubpart = GLOBAL_CONTAINER</p>
<p class="bodytext"><strong>subparts.LOGO &lt; styles.content.getLogoContent</strong></p>
<p class="bodytext">marks.FIRST_PRODUCT&lt; styles.content.getFirstProductContent</p>
<p class="bodytext">marks.SECOND_PRODUCT&lt; styles.content.getSecondProductContent</p>
<p class="bodytext">subparts.NEWS_SECTION &lt; styles.content.getNewsContent</p>
<p class="bodytext">subparts.FOOTER &lt; styles.content.getFooterContent</p>
<p class="bodytext">}</p>
<p class="bodytext">#~</p>
<p class="bodytext">
<p class="bodytext">The bolded line assigns the Logo content element to the main template. To better see the big picture, I have also included some of the other static content elements below.</p>
<p class="bodytext">
<p class="bodytext">For reference, here is the mock html code snippet of the main template to work with the above:</p>
<p class="bodytext">
<p class="bodytext">&lt;html&gt;</p>
<p class="bodytext">&lt;body&gt;</p>
<p class="bodytext"><!-- ###GLOBAL_CONTAINER### start --></p>
<p class="bodytext">…</p>
<p class="bodytext">…</p>
<p class="bodytext"><!-- ###LOGO### start --></p>
<p class="bodytext">Some content that will be overwritten by a subpart&#8230;</p>
<p class="bodytext"><!-- ###LOGO### end --></p>
<p class="bodytext">
<p class="bodytext">…</p>
<p class="bodytext">…</p>
<p class="bodytext"><!-- ###DYNAMIC_SUBVIEW### start --></p>
<p class="bodytext">This subpart is for later on when we want to inject a dynamic view</p>
<p class="bodytext"><!-- ###DYNAMIC_SUBVIEW### end --></p>
<p class="bodytext">…</p>
<p class="bodytext">…</p>
<p class="bodytext"><!-- ###GLOBAL_CONTAINER### end --></p>
<p class="bodytext">&lt;/body&gt;</p>
<p class="bodytext">&lt;/html&gt;</p>
<p class="bodytext">
<p class="bodytext">Having assigned the elements, the main template now contains all the common static subviews, and consequently, we can apply <strong>Main Template (M.T.)</strong> to all the pages by using the “Include basis template” option using the Typo3&#8217;s Template module.</p>
<p class="bodytext">
<p class="bodytext">The second step would be to create sub-template setups with which we can use to insert our dynamic subviews into the main template also by assigning them using the “Include basis template” option. For Valtech.ca, I used a sub-template setup for each of the three pages to manage their dynamic views. For clarity, let us name them <strong>M.T. &gt; welcome</strong>, <strong>M.T. &gt; product</strong>, and <strong>M.T. &gt; package</strong>. We will just be taking a look at  <strong>M.T. &gt; welcome</strong> for our example.</p>
<p class="bodytext">
<p class="bodytext">For this case, I created a more complex subview in the form of an html template file named <strong>welcome.html</strong>, which contains subparts and marks to be replaced by other content elements.</p>
<p class="bodytext">
<p class="bodytext">Let us include only the description on the left as shown in the screenshot. The typoscript to grab this content element for this description is as follows:</p>
<p class="bodytext">
<p class="bodytext"># Setting the dynamic contents:</p>
<p class="bodytext">
<p class="bodytext"># Obtain the description on the left</p>
<p class="bodytext">styles.content.getDescription = CONTENT</p>
<p class="bodytext">styles.content.getDescription {</p>
<p class="bodytext">table = tt_content</p>
<p class="bodytext">select.orderBy = sorting</p>
<p class="bodytext">select.where = colPos=3</p>
<p class="bodytext">select.languageField = sys_language_uid</p>
<p class="bodytext">renderObj.stdWrap.wrap =</p>
<p class="bodytext">|</p>
<p class="bodytext">
<p class="bodytext">}</p>
<p class="bodytext">#~</p>
<p class="bodytext">
<p class="bodytext">It is practically the same as the code for retrieving the company logo except that it takes the content associated to the current page the web user goes on instead. This is as we would expect since dynamic views usually do not share the same content.</p>
<p class="bodytext">
<p class="bodytext">The following typoscript then takes welcome.html and assigns the content element to it:</p>
<p class="bodytext">
<p class="bodytext">
<p class="bodytext"># Assign contents to a sub-template (or subview):</p>
<p class="bodytext">
<p class="bodytext"># Set the subparts in the center composite view</p>
<p class="bodytext">subTemplate.12 = TEMPLATE</p>
<p class="bodytext">subTemplate.12 {</p>
<p class="bodytext">template = FILE</p>
<p class="bodytext">template.file = fileadmin/templates/subviews/welcome.html</p>
<p class="bodytext">workOnSubpart = SUBVIEW_CONTAINER</p>
<p class="bodytext"><strong>subparts.INFO_SECTION &lt; styles.content.getDescription</strong></p>
<p class="bodytext">subparts.INFO_SECTION_HEADER &lt; styles.content.getDescriptionTitle</p>
<p class="bodytext">marks.TEXT_UNDER_SEARCH &lt; styles.content.getDescriptionUnderSearch</p>
<p class="bodytext">
<p class="bodytext">subparts.BANNER_TEXT &lt; styles.content.getMiddleBannerTextLine</p>
<p class="bodytext">marks.SEARCH_BOX &lt; plugin.tx_macinasearchbox_pi1</p>
<p class="bodytext">}</p>
<p class="bodytext">#~</p>
<p class="bodytext">
<p class="bodytext">Notice that I have also put in other elements inside welcome.html, which more completely forms the dynamic subview we have in the welcoming page.</p>
<p class="bodytext">
<p class="bodytext">Now in order to connect this dynamic subview (in the form of a sub-template file) to the main template, we simply do:</p>
<p class="bodytext">
<p class="bodytext"># Connect to the main basis template:</p>
<p class="bodytext">
<p class="bodytext">page.10 = TEMPLATE</p>
<p class="bodytext">page.10 {</p>
<p class="bodytext">template = FILE</p>
<p class="bodytext">template.file = fileadmin/templates/main_template.html</p>
<p class="bodytext">workOnSubpart = GLOBAL_CONTAINER</p>
<p class="bodytext">subparts.DYNAMIC_SUBVIEW &lt; subTemplate.12</p>
<p class="bodytext">}</p>
<p class="bodytext">
<p class="bodytext">Recall in main_template.html that we have a subpart called DYNAMIC_SUBVIEW. This would be where our constructed dynamic subview would be inserted.</p>
<p class="bodytext">
<p class="bodytext">Finally, we have managed to construct a main template consisting of static subviews common to all pages. Within that main template, we also have the ability to insert different dynamic subviews in order to obtain three different pages. Taking advantage of the Typo3 hierachy and template inclusion options, we can assign the static subviews to many pages by including the main template at the parent node. The children pages can thus be customized by different dynamic subviews by assigning to them the sub-template setups. As a note, there are other preferable methods in applying these patterns such as making use of the Template Page Selector extension. That would be a topic for another article though.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2007/08/16/applying-composite-view-pattern-with-typo3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This week rpm: glipper</title>
		<link>http://blog.modulis.ca/en/2007/06/01/this-week-rpm-glipper/</link>
		<comments>http://blog.modulis.ca/en/2007/06/01/this-week-rpm-glipper/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 09:06:46 +0000</pubDate>
		<dc:creator>adrien</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=57</guid>
		<description><![CDATA[



A simple a rpm to get an history of your clipboard&#8230;





Liens:

glipper.sourceforge.net



]]></description>
			<content:encoded><![CDATA[<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fglipper.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=14fb402c1f5c1356f6cdc8e7487ba79f','c6546c6c39055586f435d72113b7a8a7','width=467,height=489,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fglipper.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=14fb402c1f5c1356f6cdc8e7487ba79f" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/4dd31b9b8c.jpg" border="0" alt="" width="173" height="180" /></a></div>
</div>
<div class="news-single-content">
<p class="bodytext">A simple a rpm to get an history of your clipboard&#8230;</p>
<p class="bodytext">
</div>
<hr class="clearer" />
<div class="news-single-additional-info">
<dl class="news-single-links">
<dt>Liens:</dt>
<dd>
<p class="bodytext"><a href="http://glipper.sourceforge.net/" target="_blank">glipper.sourceforge.net</a></p>
</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2007/06/01/this-week-rpm-glipper/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Modulis New Typo3 Extension</title>
		<link>http://blog.modulis.ca/en/2007/05/24/modulis-new-typo3-extension/</link>
		<comments>http://blog.modulis.ca/en/2007/05/24/modulis-new-typo3-extension/#comments</comments>
		<pubDate>Thu, 24 May 2007 15:03:06 +0000</pubDate>
		<dc:creator>John Chen</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=50</guid>
		<description><![CDATA[
Modulis has release a new extension for the RSS and RDF news feed import. Now you can import the news from anywhere you want to your own website!







Fichiers:
T3X_modulis_rss-0_0_2-z-200705241148.t3x
manual.sxw


]]></description>
			<content:encoded><![CDATA[<div class="news-single-subheader">
<h3>Modulis has release a new extension for the RSS and RDF news feed import. Now you can import the news from anywhere you want to your own website!</h3>
</div>
<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2FFeed-icon.gif&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=1b9549f4c446bee52ccd5944ecc5c2c9','634ba20f4c01778cdd250b13579047b8','width=145,height=148,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2FFeed-icon.gif&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=1b9549f4c446bee52ccd5944ecc5c2c9" target="thePicture"><img src="http://www.opensource-blog.com/uploads/pics/Feed-icon.gif" border="0" alt="" width="128" height="128" /></a></div>
</div>
<hr class="clearer" />
<div class="news-single-additional-info">
<dl class="news-single-files">
<dt>Fichiers:</dt>
<dd><img src="http://www.opensource-blog.com/typo3/sysext/cms/tslib/media/fileicons/t3x.gif" border="0" alt="" width="18" height="16" /><a href="http://www.opensource-blog.com/uploads/media/T3X_modulis_rss-0_0_2-z-200705241148.t3x">T3X_modulis_rss-0_0_2-z-200705241148.t3x</a></dd>
<dd><img src="http://www.opensource-blog.com/typo3/sysext/cms/tslib/media/fileicons/sxw.gif" border="0" alt="" width="18" height="16" /><a href="http://www.opensource-blog.com/uploads/media/manual.sxw">manual.sxw</a></dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2007/05/24/modulis-new-typo3-extension/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Setting up a DHCP and FTP server to configure Soundpoint IP polycoms</title>
		<link>http://blog.modulis.ca/en/2007/05/24/setting-up-a-dhcp-and-ftp-server-to-configure-soundpoint-ip-polycoms/</link>
		<comments>http://blog.modulis.ca/en/2007/05/24/setting-up-a-dhcp-and-ftp-server-to-configure-soundpoint-ip-polycoms/#comments</comments>
		<pubDate>Thu, 24 May 2007 08:05:14 +0000</pubDate>
		<dc:creator>Anh-Tuan Dam</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog-en.modulis.ca/?p=55</guid>
		<description><![CDATA[



In order to save time and effort put into configuring the Polycom phones as well as further customizing their functionalities, Polycom phones come with the option of downloading and using the configuration files hosted on an (T)FTP server. To make this happen, it is necessary to use a DHCP server that can tell the phone [...]]]></description>
			<content:encoded><![CDATA[<div class="news-single-image">
<div class="news-single-img"><a onclick="openPic('http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fpolycom.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=0a34b9abb946d423e4d9ddb4a201b7c4','fa5591db9fd8e148a1b81e7420e56114','width=317,height=286,status=0,menubar=0'); return false;" href="http://www.opensource-blog.com/index.php?eID=tx_cms_showpic&amp;file=uploads%2Fpics%2Fpolycom.jpg&amp;width=500m&amp;height=500&amp;bodyTag=%3Cbody%20bgColor%3D%22%23ffffff%22%3E&amp;wrap=%3Ca%20href%3D%22javascript%3Aclose%28%29%3B%22%3E%20%7C%20%3C%2Fa%3E&amp;md5=0a34b9abb946d423e4d9ddb4a201b7c4" target="thePicture"><img src="http://www.opensource-blog.com/typo3temp/pics/a0e6874c36.jpg" border="0" alt="" width="203" height="180" /></a></div>
</div>
<div class="news-single-content">
<p class="bodytext">In order to save time and effort put into configuring the Polycom phones as well as further customizing their functionalities, Polycom phones come with the option of downloading and using the configuration files hosted on an (T)FTP server. To make this happen, it is necessary to use a DHCP server that can tell the phone to boot using our FTP server. The following details how we set this up using Asterisk 1.2.x on Centos 4, and one other computer running both the DHCP server and the FTP server. Of course, you can also host the servers on separate machines.</p>
<p class="bodytext">On the main computer that is going to run both the DHCP and FTP server, I installed another ethernet card to configure the phones on a different subnet since I did not want to interfere with any of our main networks. The following shows my network topology:</p>
<p class="bodytext">
<p class="bodytext" align="center"><img style="width: 300px; height: 81px;" src="http://www.opensource-blog.com/uploads/RTEmagicC_network_topology.jpeg.jpeg" alt="" /></p>
<p class="bodytext">The advantage with this is mostly convenience. I can still work on my computer using our main networks in addition to being able to configure phones on a separate network.</p>
<h3><strong>Installing and Configuring the DHCP server</strong></h3>
<p class="bodytext">Let us begin with setting up the DHCP server. I have just added another ethernet card into my computer and have designated it as eth1. Now if I run <span class="important">ifconfig -a</span>, I should see the word MULTICAST for the ethernet cards installed. If not, the kernel must be recompiled with it.</p>
<p class="bodytext">If you can use yum, simply do <span class="important">yum install dhcp</span> to install the dhcp server.</p>
<p class="bodytext">This should also create some default configuration files in /etc that we will have to edit.</p>
<p class="bodytext">Configuring the server mostly takes place in <span class="important">/etc/dhcpd.conf</span>. This is what we used in ours:</p>
<pre><span class="important"><span class="important">option boot-server code 66 = string; # this tells DHCP to set option 66 as a string variable (which will be defined later)

# There are two DHCP update schemes. We wil pick the more reliable one of them
#ddns-update-style ad-hoc; 
ddns-update-style interim;

# define the subnet (customize this for your network)

subnet 192.168.2.0 netmask 255.255.255.0 {
# default gateway
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "asterisk.local";
option domain-name-servers 192.168.2.1; # Since we do not use a DNS server, we'll just point it to the gateway
option time-offset -18000; # Eastern Standard Time

option ntp-servers clock.redhat.com; # NTP server

# We define the range of ips to use here
range dynamic-bootp 192.168.2.3 192.168.2.50;
default-lease-time 600;
max-lease-time 7200;</span></span></pre>
<pre><span class="important">#Polycom phones configuration starts here
group {
        # Boot server, including protocol (FTP) and username/password
        # My FTP server (Asterisk box) is 192.168.200.16 – modify for your FTP server (FTP configuration below)
        option boot-server "ftp://polycom:123456@192.168.2.2";
        # Now, list the phones by network address, to give them
        # defined IP per phone.  Note that phones listed here is
        # what makes them part of the group that gets the above
        # configuration
        host x217 { # host name is optional, but makes for easy reference
                hardware ethernet 00:04:f2:10:05:b9; # MAC address of phone
                fixed-address 192.168.2.5; # IP you want assigned to the phone
        }
        # Repeat the lines above starting with host for as many phones as you would like to
        # have configured.

        } # end of Polycom group
} # end of subnet block</span></pre>
<p class="bodytext">Now because my computer uses more than one ethernet card, I have to specify that I want to install the recently installed one in <span class="important">/etc/sysconfig/dhcpd</span>:</p>
<pre><span class="important"># Command line options here</span></pre>
<pre><span class="important">DHCPDARGS=eth1</span></pre>
<p class="bodytext">That is it for installing and configuring the DHCP server. You just need to <span class="important">service dhcpd restart</span> and it should be good to go. You can also change the runlevel of the server by doing <span class="important">chkconfig dhcpd on</span>. If you need to debug, turn on the debugging mode by entering <span class="important">dhcp -d -f</span>. You can also do <span class="important">tail -f /var/log/messages</span>.</p>
<h3><strong>Installing and configuring the FTP server</strong></h3>
<p class="bodytext">Setting up the FTP requires a unix user account to which we place the configuration files the phone is supposed to download.</p>
<p class="bodytext">Add the account:</p>
<pre><span class="important">useradd polycom
passwd polycom</span></pre>
<p class="bodytext">To make it so that the polycom user cannot log into the system, we modify /etc/passwd. At the end, the line referring to the polycom should change from <span class="important">polycom:x:5001:5001::/home/polycom:/bin/bash</span> to <span class="important">polycom:x:5001:5001::/home/polycom:/sbin/nologin</span>.</p>
<p class="bodytext">To install the FTP server, do <span class="important">yum install vsftpd.i386</span>.</p>
<p class="bodytext">Now we need to configure <span class="important">/etc/vsftpd/vsftpd.conf</span>. Change/add the follow parameters:</p>
<p class="bodytext">chroot_list_enable=YES # this allows you to specify local users to chroot() to their home directory</p>
<p class="bodytext">userlist_enable=YES # this makes it so that only the users in the userlist_file will be allowed to log in with FTP<br />
userlist_deny=NO</p>
<p class="bodytext">Now we need to add the polycom user to a few files. By default, they should be <span class="important">/etc/vsftpd/chroot_list</span> and <span class="important">/etc/vsftpd/user_list</span>. Simply append <span class="important">polycom</span> to them.</p>
<p class="bodytext">Now start the server by doing <span class="important">service vsftpd restart</span>. You can also turn it on by default by doing <span class="important">chkconfig vsftpd on</span>.</p>
<h3><strong>Setup the phone using Polycom&#8217;s configuration files</strong></h3>
<p class="bodytext">Make the home directory read only by doing <span class="important">chmod u-w /home/polycom</span>.</p>
<p class="bodytext">Now create the following directories in <span class="important">/home/polycom</span>: contacts, log, overrides. Change their ownership by doing <span class="important">chown polycom.polycom contacts log overrides</span>.</p>
<p class="bodytext">At this point, we&#8217;ll need the SoundPoint IP Software 1.6.7 configuration files, which are obtainable <a class="external-link-new-window" href="http://www.polycom.com/resource_center/1,,pw-492,00.html" target="_blank">here</a>. Unzip by doing <span class="important">unzip &lt;filename&gt;</span>. Although there are newer versions available, they are reported to have bugs.</p>
<p class="bodytext">At this point, you&#8217;ll notice a file named <span class="important">000000000000.cfg</span>. Rename this file to have the same MAC address as the phone by doing <span class="important">mv <span class="important">000000000000.cfg 0004f21005b9.cfg</span></span>. for example. You should use the MAC address of your own phone though, which can be found in the sticker in the back.</p>
<p class="bodytext">Modify this new file to include <span class="important">x217.cfg</span> (you can choose to call it something else preferably representing the phone) and <span class="important">server.cfg</span> in the CONFIG_FILES attribute as follows:</p>
<p class="bodytext"><span class="important">&lt;?xml version=&#8221;1.0&#8243; standalone=&#8221;yes&#8221;?&gt;<br />
</span><br />
<span class="important"><!-- $Revision: 1.14 $ $Date: 2005/07/27 18:43:30 $ --></span></p>
<p><span class="important">&lt;APPLICATION APP_FILE_PATH=&#8221;sip.ld&#8221; CONFIG_FILES=&#8221;x217.cfg, server.cfg, phone1.cfg, sip.cfg&#8221; MISC_FILES=&#8221;" LOG_FILE_DIRECTORY=&#8221;" OVERRIDES_DIRECTORY=&#8221;" CONTACTS_DIRECTORY=&#8221;"/&gt;</span></p>
<div class="news-single-image">
<div class="news-single-content">
<p class="bodytext">
<p class="bodytext">Create x217.cfg:</p>
<p class="bodytext"><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span class="important">&lt;?xml  version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; standalone=&#8221;yes&#8221;?&gt;</span></span></p>
<p class="bodytext"><span class="important" style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><!-- Per-phone  configuration in this file --> </span></p>
<p class="bodytext"><span class="important" style="font-size: 8pt; font-family: &quot;Courier New&quot;;">&lt;reginfo&gt; </span></p>
<p class="bodytext">
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">reg.1.displayName=&#8221;John&#8221;</span></span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">reg.1.address=&#8221;217&#8243;</span></span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">reg.1.label=&#8221;217&#8243; </span></span></p>
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">reg.1.auth.userId=&#8221;217&#8243;</span></span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">reg.1.auth.password=&#8221;12345&#8243;</span></span></p>
<p class="bodytext"><span style="font-size: 8pt; font-family: Courier New;"><span class="important"> reg.1.lineKeys=&#8221;2&#8243;</span></span></p>
<p class="bodytext"><span class="important"><span style="font-size: 8pt; font-family: Courier New;"> </span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">/&gt;</span></span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="bodytext"><span class="important" style="font-size: 8pt; font-family: &quot;Courier New&quot;;">&lt;/reginfo&gt;</span></p>
<p class="bodytext">Create server.cfg:</p>
<p class="bodytext"><span class="important">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; standalone=&#8221;yes&#8221;?&gt;</span></p>
<pre><span class="important"> &lt;!-- Our local phone system common configuration in this file --&gt;</span></pre>
<pre><span class="important">&lt;localcfg&gt;</span></pre>
<pre><span class="important"> &lt;server voIpProt.server.1.address="asterisk-server.com"/&gt;</span></pre>
<pre><span class="important"> &lt;SIP&gt;</span></pre>
<pre><span class="important">   &lt;outboundProxy voIpProt.SIP.outboundProxy.address="</span><span class="important">asterisk-server.com</span><span class="important">"/&gt;</span></pre>
<pre><span class="important"> &lt;/SIP&gt;</span></pre>
<pre><span class="important"> &lt;voice&gt;</span></pre>
<pre><span class="important">   &lt;volume voice.volume.persist.handset="1"</span></pre>
<pre><span class="important">     voice.volume.persist.headset="1"/&gt;</span></pre>
<pre><span class="important"> &lt;/voice&gt;</span></pre>
<pre><span class="important"> &lt;TCP_IP&gt;</span></pre>
<pre><span class="important">   &lt;SNTP tcpIpApp.sntp.daylightSavings.enable="1"/&gt;</span></pre>
<pre><span class="important"> &lt;/TCP_IP&gt;</span></pre>
<pre><span class="important">&lt;localcfg&gt;</span></pre>
<p class="bodytext">This tells the phone which Asterisk server to use, and also configures it to use daylight savings time.</p>
<h3><strong><strong>Common configuration updates<br />
</strong></strong></h3>
<p class="bodytext">Most of this article is based on <a href="http://www.sureteq.com/asterisk/polycom.htm" target="_blank">www.sureteq.com/asterisk/polycom.htm</a>. They also mention some useful updates for DST rules in North America and for configuring the messages button. The following is directly from their article:</p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Effective March 11th, 2007, there are new DST rules for much of North America and Canada.  Here is how to update your Polycom central server to use these new settings permanently. </span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Go to your FTP home directory (/home/polycom) and  &#8216;nano -w sip.cfg&#8217;.</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Find the daylight savings time settings (to search in nano, do CTRL+W, type in what you want to find such as &#8216;daylight&#8217; and press ENTER).  They should be in the &lt;TCP_IP&gt; section and should look like this:</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Courier New;">tcpIpApp.sntp.daylightSavings.enable=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.fixedDayEnable=&#8221;0&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.month=&#8221;4&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.date=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.time=&#8221;2&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.dayOfWeek=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth=&#8221;0&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.month=&#8221;10&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.date=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.time=&#8221;2&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.dayOfWeek=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth=&#8221;1&#8243; </span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">These may appear on a single line&#8230;if so, just  ensure there is a space between each setting.</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Change these settings to this (changes are in <span style="color: #ff0000;">red</span>):</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Courier New;">tcpIpApp.sntp.daylightSavings.enable=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.fixedDayEnable=&#8221;0&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.month=&#8221;<span style="color: #ff0000;">3</span>&#8221;<br />
tcpIpApp.sntp.daylightSavings.start.date=&#8221;<span style="color: #ff0000;">8</span>&#8221;<br />
tcpIpApp.sntp.daylightSavings.start.time=&#8221;2&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.dayOfWeek=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth=&#8221;0&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.month=&#8221;<span style="color: #ff0000;">11</span>&#8221;<br />
tcpIpApp.sntp.daylightSavings.stop.date=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.time=&#8221;2&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.dayOfWeek=&#8221;1&#8243;<br />
tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth=&#8221;<span style="color: #ff0000;">0</span>&#8221; </span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">CTRL+X to exit, and answer &#8216;Y&#8217; when asked to  save.  Reboot your phones and they will have the new setting.</span></p>
<p class="bodytext">
<p class="bodytext"><strong><span style="font-family: Tahoma,sans-serif;"><a name="6.2_-_Messages_button_configuration">6.2 - Messages button configuration</a></span></strong></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Another common update to the default config files is telling the &#8216;Messages&#8217; button what to do.  In order to work with Trixbox, this needs to be changed.</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Go to your FTP home directory (/home/polycom) and  &#8216;nano -w phone1.cfg&#8217;.</span></p>
<p class="bodytext">
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;">Find the &#8216;&lt;msg&#8217; section and change the following  variables:&lt;/font&gt; </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> <span style="font-family: Courier New;">msg.bypassInstantMessage=&#8221;1&#8243;</span> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> <span style="font-family: Courier New;">msg.mwi.1.callBackMode=&#8221;contact&#8221; </span> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> <span style="font-family: Courier New;">msg.mwi.1.callBack=&#8221;*97&#8243;</span> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"> <span style="font-family: Tahoma,sans-serif;">CTRL+X to exit, and answer &#8216;Y&#8217; when asked to  save.  Reboot your phones, and they will have the new setting.</span></span></p>
</div>
</div>
<p><span style="font-family: Tahoma,sans-serif;"> </span> <span style="font-family: Tahoma,sans-serif;"> </span></p>
<hr class="clearer" /><span style="font-family: Tahoma,sans-serif;"> </span> <span style="font-family: Tahoma,sans-serif;"> </span>
<dl class="news-single-links">
<dt><span style="font-family: Tahoma,sans-serif;">Liens: </span></dt>
<dd>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://www.linuxhelp.net/forums/index.php?showtopic=4052" target="_blank">www.linuxhelp.net/forums/index.php</a> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://ldp.hughesjr.com/HOWTO/DHCP/x369.html" target="_blank">ldp.hughesjr.com/HOWTO/DHCP/x369.html</a> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://www.sureteq.com/asterisk/polycom.htm#5.%A0_Polycom_configuration_files" target="_blank">www.sureteq.com/asterisk/polycom.htm</a> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://www.polycom.com/resource_center/1,,pw-492,00.html" target="_blank">www.polycom.com/resource_center/1,,pw-492,00.html</a> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-dhcp-configuring-server.html" target="_blank">www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/s1-dhcp-configuring-server.html</a> </span></p>
<p class="bodytext"><span style="font-family: Tahoma,sans-serif;"><a href="http://www.voip-info.org/wiki/view/Asterisk@Home+Handbook+Wiki+Chapter+7" target="_blank">www.voip-info.org/wiki/view/Asterisk@Home+Handbook+Wiki+Chapter+7</a></span></p>
</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.modulis.ca/en/2007/05/24/setting-up-a-dhcp-and-ftp-server-to-configure-soundpoint-ip-polycoms/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
