<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<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/"
	>

<channel>
	<title>Dryice Liu's Blog &#187; planner</title>
	<link>http://dryice.name/blog</link>
	<description></description>
	<pubDate>Tue, 31 Aug 2010 12:01:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Get Things Done</title>
		<link>http://dryice.name/blog/emacs/planner/get-things-done/</link>
		<comments>http://dryice.name/blog/emacs/planner/get-things-done/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 07:20:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>
<category>cross platform</category><category>emacs</category><category>GTD</category><category>planner</category>
		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/get-things-done/</guid>
		<description><![CDATA[Well I&#8217;ve used Emacs planner for more than 2 years everyday, and really happy about it.
However, as I got more and more rely on it, I can still find some room for improvement, but not easy to do:

It is all text based. This is good in some way, but bad in some other way. Say [...]]]></description>
			<content:encoded><![CDATA[<p>Well I&#8217;ve used <a href="http://dryice.name/blog/emacs/index.html">Emacs</a> <a href="http://dryice.name/blog/emacs/planner/index.html">planner</a> for more than 2 years everyday, and really happy about it.</p>
<p>However, as I got more and more rely on it, I can still find some room for improvement, but not easy to do:</p>
<ul>
<li>It is all text based. This is good in some way, but bad in some other way. Say the planner-id thing is still not working very well, so we can&#8217;t say something like &#8220;this task need to be done after that task&#8221;</li>
<li>It is not easy to sync with a mobile device. When I start using planner, this is not a big deal, but now mobile device is becoming more and more popullar. Someone has tried to do this, but looks they are all on the way. THe best way I can think off is to get Emacs running on PDAs, but it is not easy, and even if we get Emacs running on PDA, on most devices we won&#8217;t have the keyboard, even if we have some keyboard included device, the key bindings is not easy to type. And we don&#8217;t have those Esc-Meta-Alt-Ctrl-Shift keys <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
</ul>
<p>And after I reading David Allen&#8217;s <a href="http://www.davidco.com/">Get Things Done</a>, The most thing I&#8217;ve learned is that we should get split tasks to &#8220;todo&#8221;s. So I think a PIM should support turn a note/task to a project, whice contains sub tasks and more notes. And <a href="http://www.43folders.com/2004/09/08/getting-started-with-getting-things-done/">the discuss on 43 folders</a> didn&#8217;t mention a software that can do this. So I might write one my own some day. And here&#8217;s some dump of what I&#8217;ve got so far:</p>
<ul>
<li>cross platform, and sync. There might be a server, which also runs the web version, that do all the sync thing, or the desktop/mobile version could sync among themselves.</li>
<li>This should do the &#8220;task management&#8221; stuff only. Leaving contact manager and/or email client alone. But should support other contact manager/mail client as more as possible</li>
<li>Say for contact manager, we could store the contact name and email address (the email address is unique). And call the external contact manager to search for the email address, and so on</li>
<li>There should be some kind of &#8220;meta data&#8221;. So I can convert a task to a project, or a note to a project</li>
<li>Everythink is linkable. Like in <a href="http://www.edgewall.com/trac/">trac</a>. Some kind of wiki should be good for this.</li>
<li>Data storage. Need to take cross platform into consideration. XML? Or JSON? Will wiki works inside XML?</li>
<li>There should be templates for both GTD style and Franklin Convey style, and user should be able to define their own.</li>
<li>There should be both GUI version and CLI version. I don&#8217;t care CLI version very much, but there must be an Emacs interface. I could write the core with Python, the GUI with wxPython, and call the core via <a href="http://pymacs.progiciels-bpi.ca/">PyMacs</a>. For mobile version, I don&#8217;t know. Maybe write on their own API, to work with the contact manager/mail client on them.</li>
<li>Should support print task list. For people who don&#8217;t have a palm/PPC</li>
<li>Standard protocals. Should support standard protocals like iCalendar, etc.</li>
</ul>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=655&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_655" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/get-things-done/feed/</wfw:commentRss>
		</item>
		<item>
		<title>get annotation from firefox</title>
		<link>http://dryice.name/blog/emacs/planner/get-annotation-from-firefox/</link>
		<comments>http://dryice.name/blog/emacs/planner/get-annotation-from-firefox/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 08:56:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/get-annotation-from-firefox/</guid>
		<description><![CDATA[Most of the time I use Firefox to visit my ticket system and making a task there is not as easy as in w3m.
Here&#8217;s how my way of getting the annotation improves:

At the very beginning I just copy the URL from Firefox and paste to w3m-browse-url, and make annotation there. This is not very convience, [...]]]></description>
			<content:encoded><![CDATA[<p>Most of the time I use <a href="http://dryice.name/blog/firefox/index.html">Firefox</a> to visit my ticket system and making a task there is not as easy as in w3m.</p>
<p>Here&#8217;s how my way of getting the annotation improves:</p>
<ul>
<li>At the very beginning I just copy the URL from <a href="http://dryice.name/blog/firefox/index.html">Firefox</a> and paste to w3m-browse-url, and make annotation there. This is not very convience, and my CVS version of w3m-mode hangs my CVS Emacs often.</li>
<li>I use the <a href="http://copyurlplus.mozdev.org/">copyurlplus</a> extention to get the annotation. To do that, I&#8217;ll need to add</li>
</ul>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">user_pref(&quot;copyurlplus.menus.2.copy&quot;, &quot;[[%URL%][%TITLE%]]&quot;);<br />
user_pref(&quot;copyurlplus.menus.2.label&quot;, &quot;Copy as planner anno&quot;);</div>
<p class="quoted">to my prefs.js. (change the &#8220;2&#8243; to &#8220;1&#8243; if you haven&#8217;t customize copy URL Plus before.) However, to get the annotation, I need to right click on the page and choose the menu item. This is, of cause, not convience for a keyboard user like me.</p>
<ul>
<li>And here&#8217;s what I&#8217;ve figured out today, using <a href="http://mozilla.dorando.at/">key config</a>. By adding these:</li>
</ul>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">user_pref(&quot;keyconfig.main.xxx_key__ddliu_copy_as_planner_anno&quot;, &quot;alt][C][][function ddliu_CopyClipboard(text) {\nvar gClipboardHelper = Components.classes[\&quot;@mozilla.org/widget/clipboardhelper;1\&quot;].getService(Components.interfaces.nsIClipboardHelper);\ngClipboardHelper.copyString(text);\n}\nvar myURL= window._content.location.href;\nvar myTitle = window._content.document.title;\n\nvar copytext = \&quot;[[\&quot; + myURL + \&quot;]\&quot; + \&quot;[\&quot; + myTitle + \&quot;]]\&quot;;\nddliu_CopyClipboard(copytext);\n][&quot;);</div>
<p class="quoted">Into my prefs.js, I can get the annotation by just press Alt-c.</p>
<p>The life rocks <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=667&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_667" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/get-annotation-from-firefox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>trac and planner</title>
		<link>http://dryice.name/blog/emacs/planner/trac-and-planner/</link>
		<comments>http://dryice.name/blog/emacs/planner/trac-and-planner/#comments</comments>
		<pubDate>Fri, 26 May 2006 14:30:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/trac-and-planner/</guid>
		<description><![CDATA[Well I&#8217;ve used to use roundup as my ticket system. However the intergration of a ticket system and a version control system of trac attract me these days. So I decided to give it a try.
There&#8217;s noting to say about installation thanks to the FreeBSD ports system. And it really nice to have the version [...]]]></description>
			<content:encoded><![CDATA[<p>Well I&#8217;ve used to use <a href="http://roundup.sourceforge.net/">roundup</a> as my ticket system. However the intergration of a ticket system and a version control system of <a href="http://www.edgewall.com/trac/" aiotitle="trac">trac</a> attract me these days. So I decided to give it a try.</p>
<p>There&#8217;s noting to say about installation thanks to the <a href="http://www.freebsd.org">FreeBSD</a> ports system. And it really nice to have the version control and ticket system intergrated and point to each other.</p>
<p>However, one thing annoyed me a lot is that I&#8217;ve used to use <a href="http://emacs-w3m.namazu.org/">emacs-w3m</a> to visit the roundup tickets and make planner tasks directly by planner-w3m. But the trac ticket web interface use a brace around the ticket summary. All planner users knows that we depends on () alot. So I have to get rid of it.</p>
<p>After checking all the settings I&#8217;ve got no luck. So I drive myself into the source code and finially find it: It&#8217;s in ticket/web_ui.py, line 382, as of trac version 0.9.5. Just remove the () in that line and everything comes out good <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=689&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_689" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/trac-and-planner/feed/</wfw:commentRss>
		</item>
		<item>
		<title>export notes to pyblosxom</title>
		<link>http://dryice.name/blog/emacs/planner/export-notes-to-pyblosxom/</link>
		<comments>http://dryice.name/blog/emacs/planner/export-notes-to-pyblosxom/#comments</comments>
		<pubDate>Fri, 10 Mar 2006 16:00:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/export-notes-to-pyblosxom/</guid>
		<description><![CDATA[well I decide to give this up.
The main reason is that muse-blosxom-new-entry makes the file name from blog title. I think it&#8217;s a good idea. But that make me harder, if possible, to keep the planner notes sync with blog entries.
What&#8217;s more, I might use different sub-set of muse features on planner and blog. Like [...]]]></description>
			<content:encoded><![CDATA[<p>well I decide to give this up.</p>
<p>The main reason is that muse-blosxom-new-entry makes the file name from blog title. I think it&#8217;s a good idea. But that make me harder, if possible, to keep the planner notes sync with blog entries.</p>
<p>What&#8217;s more, I might use different sub-set of muse features on planner and blog. Like with planner, I may have lots of links like BBDB, info, man page, and links to my gnus entry. Some of this is not good or not possible to get published. While on blog I might have more pictures to show my idea but I haven&#8217;t put even one pic in my planner in the last 2 years.</p>
<p>So well, they must be better fit in to two different muse projects.</p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=719&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_719" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/export-notes-to-pyblosxom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OK, I&#8217;ll go with the official hardcodedates.py</title>
		<link>http://dryice.name/blog/emacs/planner/ok-ill-go-with-the-official-hardcodedatespy/</link>
		<comments>http://dryice.name/blog/emacs/planner/ok-ill-go-with-the-official-hardcodedatespy/#comments</comments>
		<pubDate>Wed, 20 Apr 2005 09:32:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/ok-ill-go-with-the-official-hardcodedatespy/</guid>
		<description><![CDATA[And this will save some confusing about versions. I can give time 00:00 for notes without a note taken timestamp. Anyway this is what Michael give for blog files with only date in the timestamps file.

Share This
]]></description>
			<content:encoded><![CDATA[<p>And this will save some confusing about versions. I can give time 00:00 for notes without a note taken timestamp. Anyway this is what Michael give for blog files with only date in the timestamps file.</p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=753&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_753" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/ok-ill-go-with-the-official-hardcodedatespy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>markup the notes</title>
		<link>http://dryice.name/blog/emacs/planner/markup-the-notes/</link>
		<comments>http://dryice.name/blog/emacs/planner/markup-the-notes/#comments</comments>
		<pubDate>Wed, 20 Apr 2005 08:19:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/markup-the-notes/</guid>
		<description><![CDATA[Sacha pastes this on #emacs. I think I can tweak this to do the region render. Nice!
&#34;Mark up STRING according to `emacs-wiki-publishing-rules&#8217;.
No header or footer is added.&#34;
(let ((emacs-wiki-project emacs-wiki-current-project))
(with-temp-buffer
(emacs-wiki-mode)
(insert string)
(let ((emacs-wiki-publishing-header &#34;&#34;)
(emacs-wiki-publishing-footer &#34;&#34;))
(emacs-wiki-replace-markup))
(buffer-string))))

Share This
]]></description>
			<content:encoded><![CDATA[<p>Sacha pastes this on #emacs. I think I can tweak this to do the region render. Nice!</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">&quot;Mark up STRING according to `emacs-wiki-publishing-rules&#8217;.<br />
No header or footer is added.&quot;<br />
(let ((emacs-wiki-project emacs-wiki-current-project))<br />
(with-temp-buffer<br />
(emacs-wiki-mode)<br />
(insert string)<br />
(let ((emacs-wiki-publishing-header &quot;&quot;)<br />
(emacs-wiki-publishing-footer &quot;&quot;))<br />
(emacs-wiki-replace-markup))<br />
(buffer-string))))</div>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=754&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_754" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/markup-the-notes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I can use unison to sync the comments</title>
		<link>http://dryice.name/blog/emacs/planner/i-can-use-unison-to-sync-the-comments/</link>
		<comments>http://dryice.name/blog/emacs/planner/i-can-use-unison-to-sync-the-comments/#comments</comments>
		<pubDate>Wed, 30 Mar 2005 07:23:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/i-can-use-unison-to-sync-the-comments/</guid>
		<description><![CDATA[unison can sync two directories, which are changing on both side. It updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.
This is perfet for the comments back and force of planner-pyblosxom: people can comment on the blog via web interface, and I can reply comments within Emacs, even off-line. And [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cis.upenn.edu/~bcpierce/unison/">unison</a> can sync two directories, which are changing on both side. It updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed.</p>
<p>This is perfet for the comments back and force of planner-pyblosxom: people can comment on the blog via web interface, and I can reply comments within Emacs, even off-line. And then when I run unison later, as pyblosxom holds a &#8220;one comment, one file&#8221; style, there should be no conflict.</p>
<p>This is perfect, though out of the scope of planner.</p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=759&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_759" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/i-can-use-unison-to-sync-the-comments/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Prevent tasks lines from being wrapped</title>
		<link>http://dryice.name/blog/emacs/planner/prevent-tasks-lines-from-being-wrapped/</link>
		<comments>http://dryice.name/blog/emacs/planner/prevent-tasks-lines-from-being-wrapped/#comments</comments>
		<pubDate>Sun, 27 Mar 2005 03:04:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/prevent-tasks-lines-from-being-wrapped/</guid>
		<description><![CDATA[Keith Amidon posted this in the list:
(lambda ()
(setq auto-fill-inhibit-regexp &#34;^#[ABC] +[_oX].*&#34;)
(setq truncate-lines t)))

Share This
]]></description>
			<content:encoded><![CDATA[<p>Keith Amidon posted this in the list:</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">(lambda ()<br />
(setq auto-fill-inhibit-regexp &quot;^#[ABC] +[_oX].*&quot;)<br />
(setq truncate-lines t)))</div>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=761&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_761" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/prevent-tasks-lines-from-being-wrapped/feed/</wfw:commentRss>
		</item>
		<item>
		<title>new idea: planner-pyblosxom</title>
		<link>http://dryice.name/blog/emacs/planner/new-idea-planner-pyblosxom/</link>
		<comments>http://dryice.name/blog/emacs/planner/new-idea-planner-pyblosxom/#comments</comments>
		<pubDate>Sat, 26 Mar 2005 17:35:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/new-idea-planner-pyblosxom/</guid>
		<description><![CDATA[After playing with muse-blosxom.el, (emacs-wiki-)blosxom.el, remember-blosxom.el and pyblosxom, I found it&#8217;s pretty wired that I&#8217;m writting everything in my planner page, while I&#8217;d have to write something again for my blog. Also that means I&#8217;d have to keep a seperate set of data, and it&#8217;s not an easy work to keep them synced.
The ideal thing [...]]]></description>
			<content:encoded><![CDATA[<p>After playing with muse-blosxom.el, (emacs-wiki-)blosxom.el, remember-blosxom.el and pyblosxom, I found it&#8217;s pretty wired that I&#8217;m writting everything in my planner page, while I&#8217;d have to write something again for my blog. Also that means I&#8217;d have to keep a seperate set of data, and it&#8217;s not an easy work to keep them synced.</p>
<p>The ideal thing to me will be, I write things down casualy, without too much interrupt, with the remember package and keep working. While some time later, maybe just after I wrote down the note, I decide wether I want to publish it on my blog. And it&#8217;s nature that the blog category and the planner plan page got some match.</p>
<p>So here is my plan to intergrate planner notes and pyblosxom together. I choose pyblosxom just because I don&#8217;t want to bother learning Perl and it has all the features I want.</p>
<p>I can use `remember-planner-append-hook&#8217; to call a function asking wether I want the current note should be published to my blog. And I can call a function like planner-add-note-to-blog to add the current note I&#8217;m looking at to the blog.</p>
<p>For a note that need to be add to blog, I need to find some way to mark it, together with some pyblosxom needed infos. For a pyblosxom entry (a story), these infos are critical: The category, the file, the data created, the title, the meta info, the body, and the comments.</p>
<p>I can have an alist to map the plan page to a category, plan pages not in the alist will be in their own category, notes without an associated plan page will be asked for category, and for sure I can change the category if I want.</p>
<p>Pyblosxom use the mtime of file to define the story created date, this is not ideal and there already been some solutions. The <a href="http://www.nathanbullock.org/nathan/pyblosxom/index.html">HardCodeDates</a> plugin looks fit me best. It uses a plain text file and only read from it, also it uses relative pathname to find the story file. <a href="http://www.mwolson.org/web/WelcomePage.html">Michael</a> have a version too in the muse contrib directory. This one looks better cause it supports timestamp with only date. So I can extract the note create time if it&#8217;s available, and add it together with the date (we are on day pages) to this file. Later update syncs could use this file to determin if the current is published or not.</p>
<p>The file name could be YYYY-MM-DD-Notenumber. Pyblosxom doesn&#8217;t care about file names so it&#8217;s OK as long as it&#8217;s unique.</p>
<p>And it&#8217;s nature the note title becomes the blog entry title.</p>
<p>The meta info is totally a pyblosxom thing and I should save it together with the category info.</p>
<p>The body of the blog entry is rendered from the note body by emacs-wiki. This is the best part I like. I can have all the planner-annotations published. However dates like
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;"><span style="color: #cc66cc;">2005.03</span><span style="color: #cc66cc;">.27</span></div>
<p> and
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">PlanPageNames</div>
<p> should be handeled differently. They have a good target on the blog though <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> This also leaves room for moving to muse one day: it doesn&#8217;t know about planner-annotations for now. And after planner is ported to muse, planner-pyblosxom should be OK to work with muse too. One tech problem is that I haven&#8217;t found an emacs-wiki-publish-* things that can render a region. Might need a temporary buffer or something.</p>
<p>There are several pyblosxom plugins dealing with adding comments and looks <a href="http://pyblosxom.sourceforge.net/blog/registry/input/comments">comments</a> is the de-facro one. It store comments in a directory, The comments themselves are stored as XML files named entryname-datetime.suffix. So I can know if there&#8217;s a comment for a specific note by checking the file names in the comment dir. However to read it into Emacs I need an XML parser. I can either use the API comes with the comments plugin via pymacs or use xml-parser.el. Also I need to think about what to do with these data. It looks good to have them back in the planner note, but will this polute the day page? Also adding a comment from with Emacs is possiable: Just write it, format it into XML, and put in a file with the right name.</p>
<p>Another good thing is to have links from the published plan page to the blog entry, so people visiting my plan pages can easily add a comment via the blog interface.</p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=762&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_762" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/new-idea-planner-pyblosxom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mason, planner-auth, and FreeBSD</title>
		<link>http://dryice.name/blog/emacs/planner/mason-planner-auth-and-freebsd/</link>
		<comments>http://dryice.name/blog/emacs/planner/mason-planner-auth-and-freebsd/#comments</comments>
		<pubDate>Thu, 24 Mar 2005 16:00:00 +0000</pubDate>
		<dc:creator>dryice</dc:creator>
		
		<category><![CDATA[planner]]></category>

		<guid isPermaLink="false">http://dryice.name/wordpress/index.php/uncategorized/mason-planner-auth-and-freebsd/</guid>
		<description><![CDATA[Well getting all of them working together is not a trival work for a Perl newbie like me. Andway I&#8217;ve found my way in, so here&#8217;s some notes:
The Mason doc by &#8220;perldoc HTML::Mason&#8221; suggested to run Mason with mod_perl, However, that requires /usr/ports/www/p5-libapreq2. It took me some time to find this out and then I [...]]]></description>
			<content:encoded><![CDATA[<p>Well getting all of them working together is not a trival work for a Perl newbie like me. Andway I&#8217;ve found my way in, so here&#8217;s some notes:</p>
<p>The Mason doc by &#8220;perldoc HTML::Mason&#8221; suggested to run Mason with mod_perl, However, that requires /usr/ports/www/p5-libapreq2. It took me some time to find this out and then I send a PR to add the RUN_DEPENDS. The maintainer and I have some mails back and force and we find adding an option is a better idea.</p>
<p>Here is the httpd.conf changes needed to get Mason work:</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">LoadModule perl_module libexec/apache2/mod_perl.so<br />
LoadModule apreq_module &nbsp; &nbsp; &nbsp; libexec/apache2/mod_apreq.so<br />
PerlModule Apache2</div>
<p>This is for Mason:</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">&nbsp;</div>
<p>And by default the serverroot of Apache on FreeBSD is &#8220;/usr/local&#8221;, and Mason datadir gets to &#8220;/usr/local/mason&#8221;. I don&#8217;t want to change the serverroot so</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">&nbsp;</div>
<p>to set the
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">MasonDataDir</div>
<p> to some other place and chown to www:www.</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">SetHandler script<br />
PerlHandler HTML::Mason::ApacheHandler<br />
&amp;#60;/Location&amp;gt;</div>
<p>After all these Mason should work.</p>
<p>Then comes planner-authz.el. The lisp part works like a charm. However the Perl part is a BIG task for me. At the very beginning I even didn&#8217;t realize that there is a authz.mas comes in the elisp code and go straight to bother the author :(. Perl frightened me <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>First the Mason complains it can&#8217;t find the user object. After some document reading it looks the author is using Apache1 and mod_perl, while I&#8217;m using Apache2 and mod_perl2. The interface of mod_perl changed and I need to remove the &#8220;connection&#8221; part.</p>
<p>Now Mason won&#8217;t complain, but it prints all the &lt;authz&gt; tag on the web pages. After a good reading of Mason documents I realize that the perl code in the embed file should be on lines starting by &#8220;%&#8221;. Maybe this is a change between Mason versions and the author of planner-authz.el didn&#8217;t obey this in the default authz.mas.</p>
<p>Now comes the auth part. I want some users with real login can visit some secure info, while others can just hit RET or ESC at the login dialog and visit the public info. The wired think is that I can&#8217;t get
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">AuthUserFile</div>
<p> and
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">Anonymous_NoUserID</div>
<p> work together. I nearly go to Apache2.1 for the
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">AuthBasicProvider</div>
<p>. And finaly I realized I need to turn
<div class="php" style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">AuthAuthoritative</div>
<p> off.</p>
<p>The planner-authz.el author send me a new version and the &#8220;%&#8221; thing is fixed, and I also report the apache v1/v2 thing.</p>
<p>And here is some of my wish list for planner-authz as I sent to the mail list:</p>
<p>A &#8220;#authz&#8221; directive that opens the project to everyone. I want to protect most of my pages so I have `planner-authz-project-default&#8217; set. And this makes anonymous users (without a user id) can&#8217;t access any page. Is there some thing like a &#8220;#authz all&#8221; or &#8220;#authz nil&#8221; that opens the page to everyone?</p>
<p>Access control based on section name. I have some extra sections except for tasks, notes, and appt. And I&#8217;m missing something like</p>
<div style="font-family: monospace;font-size: 110%; color: #000066; border: 1px solid orange; margin: 5px; padding: 5px; background-color: #ffffff;">(&quot;sectionB&quot; . (&quot;user3&quot; &quot;user4&quot;))<br />
(&quot;sectionC&quot; . all))</div>
<p>One way to do this is to surround the section with &lt;authz&gt; tag before planner-authz do the real work and remove them when the work is done <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m using planner-trunk and for some subsections all the content are hidden and only the subsection title is left. This is not a big issue, though <img src='http://dryice.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><hints id="hah_hints"></hints></p>
<p class="akst_link"><a href="http://dryice.name/blog/?p=763&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_763" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://dryice.name/blog/emacs/planner/mason-planner-auth-and-freebsd/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

