<?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>OSBIZ &#187; unix system</title>
	<atom:link href="http://blog.monera.net/tag/unix-system/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.monera.net</link>
	<description>OPEN SOURCE / FREE SOFTWARE BUSINESS THOUGHTS</description>
	<lastBuildDate>Wed, 28 Apr 2010 12:01:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2-beta2</generator>
		<item>
		<title>GTD: Improve integration in ThinkingRock</title>
		<link>http://blog.monera.net/2008/09/04/gtd-improve-integration-in-thinkingrock/</link>
		<comments>http://blog.monera.net/2008/09/04/gtd-improve-integration-in-thinkingrock/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 17:48:43 +0000</pubDate>
		<dc:creator>fmonera</dc:creator>
				<category><![CDATA[ArtÃ­culos]]></category>
		<category><![CDATA[cÃ³digo fuente]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[David Allen]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[fmonera at opensistemas dot com]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[mindmap]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[thinkingrock]]></category>
		<category><![CDATA[unix system]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.monera.net/?p=70</guid>
		<description><![CDATA[This article is about the way I organize myself (I happily follow the &#8220;Getting Things Done&#8221; metodology). To help me manage tasks and projects, I use ThinkingRock. I have finished the infrastructure for integrating of external apps into TR (by using some scripting magic and the Notes field). At the moment it is a quick [...]]]></description>
			<content:encoded><![CDATA[<p>This article is about the way I organize myself (I happily follow the &#8220;<a href="http://en.wikipedia.org/wiki/Getting_Things_Done" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Getting_Things_Done?referer=');">Getting Things Done</a>&#8221; metodology). To help me manage tasks and projects, I use <a href="http://www.thinkingrock.com.au" onclick="pageTracker._trackPageview('/outgoing/www.thinkingrock.com.au?referer=');">ThinkingRock</a>.</p>
<p><span class="postbody">I have finished the infrastructure for integrating of external apps into TR (by using some scripting magic and the Notes field). At the moment it is a quick hack, but &#8220;it works for me (TM)&#8221; <img src="http://www.thinkingrock.com.au/forum/images/smiles/icon_razz.gif" border="0" alt="Razz" /></span></p>
<p>This article complements the KMail integration post which can be found here: <a href="http://www.thinkingrock.com.au/forum/viewtopic.php?t=2321" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.thinkingrock.com.au/forum/viewtopic.php?t=2321&amp;referer=');">http://www.thinkingrock.com.au/forum/viewtopic.php?t=2321</a></p>
<p>At the moment, I have integrated:</p>
<ul>
<li> <span style="text-decoration: underline;">Freemind</span>: For mind mapping and many other tasks (it is a very important app for my daily work)</li>
<li><span style="text-decoration: underline;">Openproj</span>: A MSProject like app for managing complex projects</li>
<li><span style="text-decoration: underline;">TiddlyWiki</span>: A very interesting tool for structured documentation</li>
</ul>
<p>Adding new apps (openoffice, gimp, &#8230;) is really easy, as everything is done outside TR and without programming. I will come on this topic later.</p>
<p><span style="font-weight: bold;">VISION</span><br />
I have just created a project/action in TR, and now I want to:</p>
<ul>
<li> Attach a mindmap from an existing template very easily without bothering with filenames and folders</li>
<li> Attach a complex project from an existing template very easily without bothering with filenames and folders</li>
<li> Attach a new spreadsheet from an existing template very easily without bothering with filenames and folders</li>
<li> Keep everything related to the main project/action</li>
<li> Have all the docs available with a single click in the link</li>
<li> Easily create templates (for example I have a mind-map template with all the things I have to ask to a customer interested in elearning).</li>
<li> If I want to add 4 different files to an action, I just have to: launch the script, select the templates and press enter (this is not completely achieved at the moment <img src="http://www.thinkingrock.com.au/forum/images/smiles/icon_razz.gif" border="0" alt="Razz" /> )</li>
<li> Everything must be safe (no modifying or reading the xml file) and must survive between updates of TR</li>
</ul>
<p><span id="more-70"></span></p>
<p><span style="font-weight: bold;">MAIN PICTURE</span></p>
<p>On the TR side, the magic is done by linking to files in the &#8220;notes&#8221; field. This links are opened by <span style="font-weight: bold;">xdg-open</span>, which in fact calls the default application for the file. Nothing new here.</p>
<p><a class="postlink" href="http://img267.imageshack.us/my.php?image=trappintegration6mz5.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img267.imageshack.us/my.php?image=trappintegration6mz5.png&amp;referer=');"><img src="http://img267.imageshack.us/img267/4312/trappintegration6mz5.png" border="0" alt="" width="380" height="92" /></a></p>
<p>On the Linux side, there is a script (I have created an icon in my panel) which:<br />
1) shows the available templates (you can select one or more)</p>
<p><a class="postlink" href="http://img114.imageshack.us/my.php?image=trappintegration1sp2.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img114.imageshack.us/my.php?image=trappintegration1sp2.png&amp;referer=');"><img src="http://img114.imageshack.us/img114/6687/trappintegration1sp2.png" border="0" alt="" /></a></p>
<p>2) asks for -optional- base names (names and paths are not important as they will be correctly linked from within TR)</p>
<p><a class="postlink" href="http://img233.imageshack.us/my.php?image=trappintegration3zz5.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img233.imageshack.us/my.php?image=trappintegration3zz5.png&amp;referer=');"><img src="http://img233.imageshack.us/img233/2697/trappintegration3zz5.png" border="0" alt="" /></a></p>
<p>3) creates folders to store the new files (it ensures there will be no collisions, so you can have many &#8220;Brainstorming&#8221; base names for different projects <img src="http://www.thinkingrock.com.au/forum/images/smiles/icon_smile.gif" border="0" alt="Smile" /> ). You can choose a folder if you want, but I see no reason for that. This is done through an option&#8217;s window, which in many cases you can just accept the defaults and press enter.</p>
<p><a class="postlink" href="http://img402.imageshack.us/my.php?image=trappintegration2he7.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img402.imageshack.us/my.php?image=trappintegration2he7.png&amp;referer=');"><img src="http://img402.imageshack.us/img402/8286/trappintegration2he7.png" border="0" alt="" /></a></p>
<p>4) creates new files based on copies from templates (mm, sxw, pdf, &#8230;) and puts them in the new folders</p>
<p>5) Shows a popup with the text you have to paste into TR</p>
<p><a class="postlink" href="http://img78.imageshack.us/my.php?image=trappintegration5se6.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img78.imageshack.us/my.php?image=trappintegration5se6.png&amp;referer=');"><img src="http://img78.imageshack.us/img78/1963/trappintegration5se6.png" border="0" alt="" /></a></p>
<p><span style="font-weight: bold;">THE TEMPLATES</span></p>
<p>To find the available templates, the application looks into the TEMPLATES folder (see below). There it finds a folder for every template.</p>
<p><a class="postlink" href="http://img504.imageshack.us/my.php?image=trappintegration7rk0.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img504.imageshack.us/my.php?image=trappintegration7rk0.png&amp;referer=');"><img src="http://img504.imageshack.us/img504/3720/trappintegration7rk0.png" border="0" alt="" width="466" height="267" /></a></p>
<p>Inside every folder, there is a single file named exactly as the folder plus the corresponding extension (NOTE: This will probably be improved in future versions to be able to put more than one file on each template). You can edit the file with the corresponding application to adapt the template to whatever you want:</p>
<p><a class="postlink" href="http://img294.imageshack.us/my.php?image=trappintegration8fb1.png" target="_blank" onclick="pageTracker._trackPageview('/outgoing/img294.imageshack.us/my.php?image=trappintegration8fb1.png&amp;referer=');"><img src="http://img294.imageshack.us/img294/4133/trappintegration8fb1.png" border="0" alt="" /></a></p>
<p>Obviously, you can put there whatever you want. Any kind of file.</p>
<p>In the end, the template file will be copied to the destination and renamed to the base name you choose.</p>
<p><span style="font-weight: bold;">THE CODE (and install steps)</span></p>
<p>1) Select all the text and paste it to a text file, named &#8220;tr_integration.sh&#8221; and assign execution rights (chmod 755 tr_integration.sh).</p>
<p>2) In the code, you will need to change:<br />
- PROYECTOS: which points to a folder where you want to store all files and folders created<br />
- TEMPLATES: which points to the templates folder</p>
<p>3) Create a shortcut available easily <img src="http://www.thinkingrock.com.au/forum/images/smiles/icon_razz.gif" border="0" alt="Razz" /></p>
<table border="0" cellspacing="1" cellpadding="3" width="90%" align="center">
<tbody>
<tr>
<td><span class="genmed"><strong>Code:</strong></span></td>
</tr>
<tr>
<td class="code">#!/bin/bash<br />
# Name: tr_integration v.0.1<br />
# License: GPL v3<br />
# Author: fmonera at opensistemas dot com</p>
<p>PROYECTOS=&#8221;/home/monera/temas/personal/proyectos&#8221;<br />
TEMPLATES=&#8221;/home/monera/temas/personal/templates&#8221;</p>
<p># List of items<br />
for I in `ls $TEMPLATES`<br />
do<br />
WANTEDLIST=&#8221;$WANTEDLIST $I $I off &#8221;<br />
ITEMS=&#8221;$ITEMS $I&#8221;<br />
done<br />
WANTED=`kdialog &#8211;checklist &#8220;Select items to create:&#8221; $WANTEDLIST`<br />
if [ "X$WANTED" == "X" ]<br />
then<br />
exit<br />
fi</p>
<p># OPTIONS<br />
OPTIONLIST=&#8221;newfolder NEW_FOLDER on&#8221;<br />
OPTIONS=`kdialog &#8211;checklist &#8220;Select options for this files:&#8221; $OPTIONLIST`<br />
echo $OPTIONS<br />
# Parse options<br />
NEWFOLDER=`echo $OPTIONS | grep -c newfolder`<br />
# end parse</p>
<p># dir<br />
if [ "X$NEWFOLDER" == "X1" ]<br />
then<br />
NOMBRE=`kdialog &#8211;inputbox &#8220;Base name for the folder (no special characters please):&#8221; temp_folder`<br />
DIR=`mktemp -d &#8211;tmpdir=&#8221;$PROYECTOS/&#8221; &#8220;$NOMBRE.XXXX&#8221;`<br />
if [ "X$NOMBRE" == "X" ]<br />
then<br />
exit<br />
fi<br />
else<br />
DIR=`kdialog &#8211;getexistingdirectory $PROYECTOS`<br />
if [ "X$DIR" == "X" ]<br />
then<br />
exit<br />
fi<br />
fi</p>
<p>for I in $WANTED<br />
do<br />
# Unquote<br />
I=`echo $I | cut -b 2- | cut -d&#8217;&#8221;&#8216; -f1`<br />
# Create documents<br />
NOMBRE=`kdialog &#8211;inputbox &#8220;Base name for &lt;b&gt;$I&lt;/b&gt; (no special characters please):&#8221; $NOMBRE`<br />
echo &#8220;NOMBRE: $NOMBRE&#8221;<br />
echo &#8220;DIR: $DIR&#8221;<br />
SOURCE=`find $TEMPLATES/$I -type f`<br />
EXT=${SOURCE##*.}<br />
DEST=$DIR/$NOMBRE.$EXT<br />
cp $SOURCE $DEST<br />
done</p>
<p># Format TR Text<br />
for I in `ls $DIR`<br />
do<br />
EXT=${I##*.}<br />
FORMAT=`basename $I &#8220;.$EXT&#8221; | sed &#8216;s/_/ /g&#8217;`<br />
TEXTO=&#8221;$TEXTOÂ  Â· $EXT: [file:$DIR/$I|$FORMAT]&#8221;<br />
done<br />
TEXTO=&#8221;$TEXTO<br />
&#8221;<br />
kdialog &#8211;textinputbox &#8220;Paste into ThinkingRock:&#8221; &#8220;$TEXTO&#8221; &amp;</td>
</tr>
</tbody>
</table>
<p>You will need kdialog and mktemp. Both are available in every unix system I know.</p>
<p>It might work in Windows and/or MAC if you install KDE4 and adapt a bit the code. You will probably need Cygwin or, at least, mktemp for your environment. I don&#8217;t see major problems for that. Sorry, no support for Windows as I am a free software man since 1997 <img src="http://www.thinkingrock.com.au/forum/images/smiles/icon_smile.gif" border="0" alt="Smile" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.monera.net/2008/09/04/gtd-improve-integration-in-thinkingrock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

