<?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>ngi644の日記 &#187; grok</title>
	<atom:link href="http://ngi644.net/blog/archives/category/grok/feed" rel="self" type="application/rss+xml" />
	<link>http://ngi644.net/blog</link>
	<description>備忘録も兼ねています。</description>
	<lastBuildDate>Fri, 27 Jan 2012 07:44:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>イベントハンドラは、Ploneの開発でも役に立ちます。</title>
		<link>http://ngi644.net/blog/archives/422</link>
		<comments>http://ngi644.net/blog/archives/422#comments</comments>
		<pubDate>Thu, 19 Nov 2009 19:04:45 +0000</pubDate>
		<dc:creator>ngi644</dc:creator>
				<category><![CDATA[grok]]></category>
		<category><![CDATA[Zope/Plone]]></category>

		<guid isPermaLink="false">http://ngi644.net/blog/archives/422</guid>
		<description><![CDATA[イベントハンドラは、デスクトップアプリなどでは、よく使っています。このイベントハンドラですが、Plone 3 から利用できるようになっていて、とても便利です。ただ、ｚｃｍｌに書いたりとしてめんどくさいのも事実です。しかし [...]]]></description>
			<content:encoded><![CDATA[<p>イベントハンドラは、デスクトップアプリなどでは、よく使っています。このイベントハンドラですが、Plone 3 から利用できるようになっていて、とても便利です。ただ、ｚｃｍｌに書いたりとしてめんどくさいのも事実です。しかし、Five.grokを使うことでこの面倒なことがなくなり、非常に使いやすくなりました。</p>
<p>何が便利かといえば、例えば、あるコンテンツを生成したとき、同時に、作成したオブジェクトの中にコンテンツを作成したい時などです。（Archtypesを使えば、initialized_archtypes()メソッドで実現できますが。）</p>
<p>この場合は、コンテンツを生成してコンテナに登録されたとき、追加されたことを知らせる、IObjectAddedEventが発生するので、このイベントを使って、コンテンツを追加する操作を行います。</p>
<p>下記のコードは、IAobjインターフェイスを持ったＡｏｂｊがあり、Ａｏｂｊが追加された時に、idを「ｂ」としてＢｏｂｊを追加する方法です。サンプルのコンテンツは、Dexterity FTIを使っていることとします。</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:eff361c0-2b74-422d-aa7c-5a550b55f109" class="wlWriterEditableSmartContent">
<pre class="wp-code-highlight prettyprint">from five import grok
from zope.app.container.interfaces import IObjectAddedEvent
from plone.dexterity.utils import createObject

・・・中略・・・

@grok.subscribe(IAobj, IObjectAddedEvent)
def addedAobj(aobj, event):
    bobj = createObject('Bobj', title=u'B')
    aobj['b']= bobj</pre>
</div>
<p></span></p>
<p>なお、イベントハンドラは、追加のほかに、編集が終了した時に発生するIObjectModifiedEventや、削除されたときに発生するイベントIObjectRemovedEventなどがあります。</p>
]]></content:encoded>
			<wfw:commentRss>http://ngi644.net/blog/archives/422/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS + WSGI Part-1</title>
		<link>http://ngi644.net/blog/archives/262</link>
		<comments>http://ngi644.net/blog/archives/262#comments</comments>
		<pubDate>Sat, 23 May 2009 17:02:53 +0000</pubDate>
		<dc:creator>ngi644</dc:creator>
				<category><![CDATA[grok]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Zope/Plone]]></category>

		<guid isPermaLink="false">http://ngi644.net/blog/archives/262</guid>
		<description><![CDATA[サーバーがＷｉｎｄｏｗｓ Ｓｅｒｖｅｒ 2008になる可能性があるので，IIS からＤｊａｎｇｏやＺｏｐｅ３を使うための方法を探してみた． pyisapie http://apps.sourceforge.net/tra [...]]]></description>
			<content:encoded><![CDATA[<p>サーバーがＷｉｎｄｏｗｓ Ｓｅｒｖｅｒ 2008になる可能性があるので，IIS からＤｊａｎｇｏやＺｏｐｅ３を使うための方法を探してみた．</p>
<p>pyisapie    <br /><a title="http://apps.sourceforge.net/trac/pyisapie/" href="http://apps.sourceforge.net/trac/pyisapie/">http://apps.sourceforge.net/trac/pyisapie/</a></p>
<p>isapi-wsgi    <br /><a title="http://code.google.com/p/isapi-wsgi/" href="http://code.google.com/p/isapi-wsgi/">http://code.google.com/p/isapi-wsgi/</a></p>
<p>いろいろあった．</p>
<p>これから，VM上にＷｉｎｄｏｗｓ Server 2008環境を作ってテストしてみる．</p>
<p>続く</p>
]]></content:encoded>
			<wfw:commentRss>http://ngi644.net/blog/archives/262/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grok : Zope3をベースとしたWeb Framework</title>
		<link>http://ngi644.net/blog/archives/242</link>
		<comments>http://ngi644.net/blog/archives/242#comments</comments>
		<pubDate>Wed, 29 Apr 2009 10:40:37 +0000</pubDate>
		<dc:creator>ngi644</dc:creator>
				<category><![CDATA[grok]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Zope/Plone]]></category>

		<guid isPermaLink="false">http://ngi644.net/blog/archives/242</guid>
		<description><![CDATA[Grokをまじめに始めました．GrokはZope3をベースとしたWeb Frameworkです．とっても扱いやすいです．zcmlをほとんど意識しないのが新鮮． これから，簡易CMSの作成をしていくつもり． 以下，機能など [...]]]></description>
			<content:encoded><![CDATA[<p>Grokをまじめに始めました．GrokはZope3をベースとしたWeb Frameworkです．とっても扱いやすいです．zcmlをほとんど意識しないのが新鮮．</p>
<p>これから，簡易CMSの作成をしていくつもり．</p>
<p>以下，機能など．</p>
<ol>
<li>追加・変更・削除ができる
<ul>
<li>フォルダ </li>
<li>ドキュメント </li>
<li>ファイル（画像など）</li>
</ul>
</li>
<li>コンテンツの階層管理</li>
<li>メールフォーム</li>
<li>アクセス制限</li>
<li>ユーザ認証</li>
<li>ワークフローによる公開プロセス</li>
<li>リッチなドキュメントエディタ</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ngi644.net/blog/archives/242/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

