2008-01-01から1年間の記事一覧

liftで遊ぶ

Programming in Scalaの方は、やっと半分読み終えたばかりですが、冬休みに入って、多少時間がとれるようになったので、scalaのWebフレームワーク liftで遊ぶ - ゆろよろ日記を参考に、liftで遊んでみることにしました。 HowTo start a new liftwebapp は、…

イチジク浣腸

今日は一日大変でした。最近、健太は便秘がひどいそうで(長期出張中のため「そうです」になってます。)朝から「おナカがイライよ〜」といっては泣いています。パンツをめくってお尻を確認してみると、ウンチくんがアタマをのぞかせています。もう少しで出…

Scala

最近、ひさしぶりにJavaに触れる機会があって、いろいろググッてたら、Scalaなんていう言語を見つけました。まだ使ってみてはいませんが、見たとこ、とってもよい感じの言語です。言語としては、RubyやHaskellのいいとこどりをした感じで、オブジェクト指向…

最近、とあるプロジェクトの応援で、ひさびさにUMLやらJavaやらに触れる機会を得ました。5年くらい遠ざかってたと思いますから、大分変わりましたね。 ・EJBの仕様がずい分現実的なものになった。 ほとんど、POJOと変わらなくなった。 ・Javaのアノテーショ…

拡張モジュールのコンパイル/ZODBCDA

Windows上のPloneからODBCを使おうと思って、ZODBCDAをダウンロードしようとしました。でも、古いpython用のBINARYディストリビューションしかありません。仕方ないので、JZUGの記事を頼りにしながら、はじめて拡張モジュールのコンパイルをやってみることに…

拡張モジュールのコンパイル/ZODBCDA

Windows上のPloneからODBCを使おうと思って、ZODBCDAをダウンロードしようとしました。でも、古いpython用のBINARYディストリビューションしかありません。仕方ないので、JZUGの記事を頼りにしながら、はじめて拡張モジュールのコンパイルをやってみることに…

configure,zcmlでregisterProfileをしていると、依存関係のチェックがうまく働かない。

configure.zcmlの中に次のように記述しておくと、プロダクトのプロファイルを登録してくれます。 <configure xmlns="http://namespaces.zope.org/zope" xmlns:genericsetup="http://namespaces.zope.org/genericsetup" i18n_domain="MyProduct" > </configure>

PythonScript で標準以外のモジュールを使う

PythonScript で標準以外のモジュールを使う

GenericSetup を使って、コンテンツを作成する

GenericSetup を使うと、プロダクトのインストール時に、コンテンツを作ることができます。作り方は単純で、作成するコンテンツにマーカ・インタフェースを追加して、所要の設定ファイルを用意するだけです。この処理をやってくれるコードは、Procuts/CMFCor…

Archetypes:フィールドへのVocabularyの与え方

以下は、Products.Archetypes.Field.FieldクラスのVocabularyメソッドのdocstringです。 Returns a DisplayList. Uses self.vocabulary as source. 1) Static vocabulary - is already a DisplayList - is a list of 2-tuples with strings (see above) - is…

default-zpublisher-encoding

プロダクトのプロファイルにactions.xmlを入れて、サイト・アクションのタイトルを日本語にしたら、インストールの際にエラーが出る。調べてみると、ZPublisherのデフォルト・エンコーディングがiso-8859-15になっているのが原因らしい。どこで設定したらよ…

コピーしたオブジェクトのid

オブジェクトを同じフォルダ上にコピーすると、idがカブるので、自動的に"copy_of_hoge"とidを振ってくれます。この処理は、OFS.CopySupport.CopyContainerクラスの_get_id()メソッドでやってます。例えば、"copy_of_"を,日本語Windowsのように"コピー〜"と…

Versioning

Plone3.1のバージョニング機能は、CMFEditionsによって実現されている。コンテンツ・タイプごとに、バージョニングのON/OFF、保存のたびに自動でバージョンを更新するか、ユーザが指定してやるのか、を選ぶことができるらしい。これまで使ってきたところでは…

Acuisition

Acquisitionのtest.pyを読んでみました。Acquisitionは、オブジェクトの属性を、その環境から取得するためのメカニズム。継承に似てるけど、継承の階層をトラバースするんじゃなくて、包含関係をトラバースする。下の例のように、ExtensionClass.Baseをmix-i…

membrane

ちょっとコードを読んだのでメモ インタフェース IMembraneUserRoles IUserRelated と PASのIRolesPluginを継承 実装クラスはRolesとGroupAwareRoles IMembraneUserGroups IUserRelated と PASのIGroupsPluginを継承 実装クラスはGroupsとSelectedGroups。ど…

GenericSetup:カスタムimport-stepの削除

import-steps.xmlを定義してあるプロダクトを一旦インストールすると、プロダクトをアンストール、削除しても、登録されたimport-stepが残ってしまいます。今のところ、portal_setupツールを使って削除することもできないようです。 Externalメソッドを使っ…

ArcheTypes:Titleのないタイプ

タイトルは、ブレッドクラムや検索結果、フォルダの内容一覧などで使われるので、本当にタイトルのないコンテンツ・タイプを作ることはできません。でも、ユーザにtitleフィールドを入力させたり、表示したりせずに、どうにかして、実質的にタイトルのないタ…

ArcheTypes:validatorのメモ

コンテンツのクラスに validate_foo(newvalue) というメソッド(fooはフィールド名)を作っておくと、勝手に呼び出してくれます。やってくれるお利口さんは、Products.ArcheTypes.BaseObject.BaseObject.validate_fieldメソッドさんです。 def validate_field(…

ArcheTypes:Schemaフィールドの順序を変える

moveFieldメソッドを使うんだそうです。Reorder Schema Fields

BrowserDefaultMixin

ArcheTypesのプロダクトを作っていて、次のコードのように、BaseContentだけを継承したプロダクトを作ったら、デフォルトページが表示されません。オブジェクトが作成されていない訳ではありません。URLの後ろにviewとかeditとかつけたら、ちゃんと表示して…

ArcheTypes

プロダクトを作り始めると、やはりArcheTypesのコードが気になってくるもので、ちょっとArchetypeTool.pyを読んでみました。以下、テキトーにメモです。 registerType(klass, package=None): klassをコンテンツ・タイプとして、ArchetypesTool._types[]に登…

Genericセットアップでプロダクトの依存関係を指定

profiles/defaultにある、metadata.xmlに要素を追加すればよいらしい。 これは、hogememberがrememberに依存していることを示す例。この記述で、クイックインストーラ上の表示はうまく行きました。記述を間違うて、存在しないプロダクトを指定したりすると、…

membrane/remember

membrane/rememberをPlone3.1.5にインストールして、rememberに付属のsamplerememberを入れてみた。とりあえず、素直に動いていい感じ。 じゃぁ、ドキュメントに書いてあるとおり、samplerememberのプロダクト名/クラス名を変えて、カスタムプロダクトを作ろ…

ケンタの妹が生まれました。2760gです。鼻がじいさんにそっくりです。こっちは、ケンタがうまれて3日目の写真です。 やっぱり、似てるように思います。

Vistaの仮想化機能

PCを買い換えました。GatewayのGT5650jです。OSはデフォでVistaHomeです。こいつにPlone3.1.5を入れて、プロダクトを作って遊んでみようとしたのですが、VistaのUAC機能がウルさくってかないません。 プロダクトを作る訳ですから、当然のことながらc:\\Progr…

site_properties/typesUseViewActionInListings

ATFile を継承したプロダクトを作ってみましたが、どうもちょっと挙動が違います。ナビゲーションポートレットやフォルダで一覧表示されるときに、URLの末尾にviewがつきません。元のATFileはviewがつきます。 ちょっと調べてみると、/portal_properties/sit…

GenericSetup

Plone2.5以降では、プロダクトのインストールにGenericSetupという仕組みが使われているようです。ドキュメントをザッと読んでみたので、内容をメモしておきたいと思います。Understanding and Using GenericSetup in Plone プロファイルってなに? サイトま…

ケンタ屋さん

ある日の会話 ケンタ:「このパンは誰が作ったの?」 ママ :「パン屋さんが作ってくれたのよ。」 ケンタ:「このパンはパン屋さんが作ってくれたんだよ。」これまた、ある日の会話 ケンタ:「このケーキは誰が作ったの?」 ママ :「ケーキ屋さんが作ってく…

Becky2 -> Thunderbird の移行

長らくBecky2を使っていたのですが、Thunderbirdに移行することにしました。Becky!2 から Mozilla Thunderbird への移行を参考に、CircleBecky plug-inを使って、mbox形式で、メールフォルダを一括エクスポートします。 Thunderbirdのメールフォルダの構造は…

Flex3使ってみました

「Flex3でゲームプログラム入門」という記事を読んで、Flex3のSDKをダウンロードして使ってみました。Flash系はまったく初めてです。 Flex3 SDK:http://www.adobe.com/products/flex/flexdownloads/ Flex3リソース:http://www.adobe.com/support/documentat…