本文を読み飛ばす

FiveでProductを作ってみよう(1)

Zope-Fiveを使って,
productを作ってみましょう.

適度に区切って行きます.

今回は簡単なProductの起動までです.

FiveでProductを作ってみよう(1)

Zope-Five, Zope3はnet上の実例が少ない

特に日本語だと,

おみくじの例 ぐらいしか見当たりません.

というか英語でも 象さんの例 しか見当たりません.

Fiveのなかにも例題 はありますが,
説明はされていません.

このエントリが多少の
寄与になってくれれば幸いです.

私がFiveを動かしているのは下の環境です.

python: 2.6.4, 2.4.2
Zope: 2.12.1, 2.11.5-final
OS: NetBSD4/5, Fedora12, Ubuntu NBR 9.04
zope-instance: /var/lib/zope

Zopeのsetup は他のエントリを参照してください.

事始め

まずはProductsディレクトリに入ります.

FiveはZopeに標準でinstallされていますから,
ProductsディレクトリでZope3のような作業をすれば

いきなりProductができてしまいます.

まずはファイルの準備をします. (とりあえず空のファイル)

$ cd /var/lib/zope/Products
$ mkdir MyEvents
$ cd MyEvents
$ mkdir statics
$ files="__init__.py app.py index.pt stdpage.pt icon.png"
$ for i in $files; do touch $i; done
$ files="readme.txt default.css checkenv.js background.png"
$ ( cd statics; for i in $files; do touch $i; done )
configure.zcmlを準備します.

用意したファイルが全て入っているはずです

<configure xmlns="http://namespaces.zope.org/zope"
           xmlns:five="http://namespaces.zope.org/five"
           xmlns:browser="http://namespaces.zope.org/browser"
           i18n_domain="MyEvents">

<!-- ******************************************************************** -->
<!-- for managing this Product -->
<!-- ******************************************************************** -->
    <five:registerClass class=".app.Myevents" meta_type="MyEvents"
        addview="addMyEvents.html" icon="MyEvents.png"
        permission="zope2.ViewManagementScreens" />

    <browser:page for="zope.app.container.interfaces.IAdding"
        name="addMyEvents.html" template="addMyEvents.pt"
        class=".app.Myevents.MyeventsAddView"
        permission="zope2.ViewManagementScreens" />

<!-- ******************************************************************** -->
<!-- Views -->
<!-- ******************************************************************** -->
    <browser:defaultView for=".app.IMyevents" name="index.html" />

    <browser:page for="*" name="index.html" template="index.pt"
        class=".app.MyeventsView" permission="zope2.Public" />

    <browser:page for="*" name="stdpage" template="./stdpage.pt"
        class=".app.MyeventsNormalView" permission="zope2.Public" />

    <!-- some resources -->
    <browser:resource name="default.css" file="./statics/default.css"
        permission="zope2.Public" />

    <browser:resource name="background.png" image="background.png"
        permission="zope2.Public" />

    <browser:resource name="readme.html" file="./statics/readme.html"
        permission="zope2.Public" />

    <browser:resource name="checkenv.js" file="./statics/checkenv.js"
        permission="zope2.Public" />
</configure>
本日はここまで

長くなるので本日はここまで.

ファイルの中身がないので,
Zopeすら起動しなくなるかもしれません.

Zope-Fiveの開発をする場合は
テスト用のinstance作った方が
いいでしょう.

コメント

Comments powered by Disqus
宣伝: