「Squishdot日本語版」の独自機能拡張版「SquishdotJP」リリースの件(2002-07-08)
ご挨拶
この度、日本Zopeユーザ会(JZUG)のSquishdotSIG (旧名: SquishdotWG) では、 オリジナルのSquishdotを元に独自拡張版の作成に着手しました。現在、思想の作り込みテスト段階の為、まだまた、各コード間の不整合や一部データの有無による画面の乱れ等あろうかと思いますが、既に、日経Linux8月号のCD-ROM内掲載が進められているので、未だ、思想開示レベルのα版ですが、ここらで、一般公開とさせて頂きます。
尚、今回のCD-ROM掲載に当たり、日経BP社の麻生氏、JZUGのfujimoto氏には特にお世話になりました。この場を借りまして御礼申し上げます。「掲載」等を言うことがなければ、自分のことです。多分、改造着手もしていなかったことでしょう。
また、このプロダクトは、その名前のとおり、Squishdotをベースにしています。この魅力的なプロダクトを作成し発展させてこられた全ての方々、日本でのSquishdotの普及に貢献された全ての方々と、数々の支援を頂いているJZUGの皆様、そしてSquishdotSIG のメンバーのそれぞれのご貢献に対し、この場を借りて御礼申上げます。
そして、これにより、少しでも、Zopeのすばらしさを感じ、そのユーザが増え、世の中のコミュニケーション革命の一助となることを願っています。
現状と課題
- SquishdotSIGの当初の目標である日本語化が、ほぼ完了し、Squishdotが何者なのかということは、英語の読めない自分でも理解出来る様になりました。
- Zope Weekend 2 で、SquishdotJPについて発表した内容のパッケージが、未発表であり、当SIGとしても何とか帳尻を合わせる必要がありました。
- JZUG SquishdotWGのロゴをつくり、オレンジ基調のデザインをmembers で発表していました。
- 色プロパティがcolor3等、1色一つとなっており、色をタイトル文字色だけを変えたいと思って変えると他の部分もかわることになり自由度が少ない為、色プロパティを用途別の付替えを試みていました。
- 最上部のSquish(ぎゅっと搾る)イメージの広告を プロパティ「show_advertising」で消せる様にしていました。
- 左側の投稿、検索、管理等のリンク文字は、日本語にした為、途中で改行され見にくくなることがある為、固定長文字にしたり、表組したりしていた。また、その下の空白に、もっとリンクを付けたいので、leftboxをコピーして増やしていました。
- 今のSquishdotだと、確かに1分でSlashdotクローンサイトが手に入りますが、オリジナルのデザインから実際にユーザの要望にあうものに仕上げるには結構な時間を要します。また、そうして出来たものを移植するにも、ファイルに書出し、相当するところのものと入替えパッケージ化するか、管理画面で、コピー&ペーストするしかありませんでした。何かその工数をセーブする仕掛けが欲しくなって来ました。
ねらい
今回の取組みでは概ね次の様な考えの元で取り組んでいます。
- 独自拡張する以上は、本流のSquishdotに迷惑をかけない様に、プロダクト名は独立させたい。
- どうせ、プロダクト名も変えるなら、管理画面でも日本語で表示させたい。
- Zopeのもう一つの代表プロダクトであるZWikiにもテンプレート機能でいろいろな顔が選べまずが、このテンプレートはその固まりを丸ごとコピーして別名のフォルダとしてカスタマイズすると、サイト構築時に、オリジナルとは別にその名前で選択出来る様になる。似た様なことが出来ないだろうか。
- Zchは、 bababababassさんが、Squishdotを土台に、2ちゃんねるのクローンとしてのLooks&Feelsと仕組みを作り込んでいらっしゃいます。仕組み部分は置いておくとして、Squishdot内でZch風な顔も選べたら幸せだろう。
- オリジナルのSquishdotにしてもZWikiにしても、管理画面でサイト構築時にそのLooksを選択できるものも途中で変えるには、結構な労力が必要です。サイト運用中でも、デザインの切替が出来れば、魅力が一段と出るのではないか?
- ついでにそのデザインも、折角、Squishdotをつかって構築している個別カスタマイズしているデザインが手軽に再利用出来ないものか。
- Squishdotは、検索機能で一覧を出力出来るが判り辛い。見た目も日本語検索が出来ないので一覧出力の単機能ものがあると嬉しい。
方向性
結果
- プロダクトフォルダ名の変更
- プロダクトフォルダ名を「Sqoishdot」から「SqoishdotJP」に変更の上、それに伴い「__init__.py」「SquishSite.py」等の関係部分を修正しました。これにより、管理画面左のProductsフォルダ内に表示されるプロダクト名が変更になりました。
- meta_type名「Sqoishdot日本語Site」
- システム内部で使われるmeta_type名を「Sqoishdot Site」から「Sqoishdot日本語Site」に変更統一しました。これにより、管理画面でサイト構築時に「Sqoishdot日本語Site」で選択出来る様になりました。
- 「DTML Templates」
- index_html以外に、site_header、site_footer、TinyTablePlusJPのテーブルを「Templatesフォルダの個別フォルダ」にコピーし個別設定をすることが出来ること迄確認しました。但し、投稿など他のDTMLの個別設定化は、現状では不具合が発生する場合があるのでご了解頂きたい。
- 色プロパティ
- かなり未整理です。「DTML Templates」化を踏まえ位置づけを模索中。
利用手順
- 「SquishdotJP」のインストール
- 通常のProductsと同様の手順。提供ファイルをとってきたら、作業フォルダで、解凍展開します。
- その中に出来たフォルダ「SquishdotJP」を「/lib/python/Products」内にコピーします。
- 必要により、所有権、グループ、パーミッションを他のプロダクトに合わせます。
- Zopeを再起動(または起動)します。
- 「Squishdot日本語Site」作成
- 管理画面で「Squishdot日本語Site」を選択し、サイト名(例えば「News」など)をIDにしてサイトを起こします。
- その際、「Slashdot そっくりなテーマを使ったデモ」は緑、「テーマ「ブルーヘブン」を使ったデモ」は青、そして「テーマ「JZUG SquishdotWG」のデモ」はオレンジ基調の配色となります。ここは好みの色で選んで下さい。
- 好みのテンプレートを探す
- 利用に当たっては、作成したSquishdotJPサイトのルートのプロパティのプロパティ「 Looks 」の「Templatesフォルダの個別フォルダ」の名前を入替えてもっとも、近いデザインを探します。
- 今は、デザインがそろっていません。いいデザインが出来たら、送って下さい。よいものはどんどん登録します。
- 「DTML Templates」については、インストールパッケージに含める以外に、今後、配布形態を統一して誰でも簡単に探し利用出来る様にしたいところですね。(例えば、FSCounter、ZCalendar等も含めるとデザインの幅が広がるがパッケージルールを事前に行う必要があります。)
- カスタマイズ用のテンプレートフォルダの準備
- テンプレートフォルダを管理画面でコピー、張付けし、名前を変える。
- プロパティ「 Looks 」にその名前をセットする。
- ページを表示させ修正作業へ
- 蛇足ですが、移行後の編集先はお作りになったテンプレートフォルダ内のファイルです。
- お作りになったテンプレートフォルダ内に無いファイルは、Zopeの獲得という機能で、上位ルートのものが利用されます。
- 当たり前と言えば、当たり前ですが、フォルダ等に付けることが出来るプロパティも獲得の対象です。多分「Looks」等の制御用を除けば、個別フォルダに色プロパティを定義する等の運用が考えられます
- 通常、プロパティの値の修正は、次のものになるでしょう。
- color_xxx : orange → 好みの背景色(記事タイトル等)。 color_title_bg color3 color_right_box_title_bg
- admin_address → 管理者のEmailアドレス(またはメンバーのML)
- admin_name → 管理者名(Web管理者、ML名、管理者のHN等)
- その他、 外枠背景色:color_bg、外枠文字色:color_bg_text、タイトルイメージ:title_image、等か主な編集対象でしょうか。
- 現在、サポート可能なものは、index_html,site_header,site_footer,leftbox,leftbox2〜6です。他は未確認だったり駄目だったりです。従って最初に表示されるメインページのみを今は想定しています。他の部分もクリア出来ましたら、ご連絡頂けると助かります。
- 作成中テンプレート「Intra_A」
- 見栄えをそれ程要求されないイントラネット上で、必要なときに、即座にサイト立上げて運用が出来る様にとの想定で作成しているテンプレートです。利用したい場合はプロパティ「Looks」の値を「Intra_A」に変更します。他のものとは次の2点が異なります。
- 左上に表示されるサイトタイトルをイメージ出なく文字で書くことが可能です。先ずは文字で書いておいて、イメージタイトルが出来たら切替えということを実現します。現在の切替方法は、TextTitleを名前変更(または削除)です。
- サブジェクトカテゴリには、本来、イメージが事実上必須です。イメージがないと、カテゴリ表示がなされないからです。Intra_Aでは、イメージ指定をしない場合は文字で表示する様にしました。イメージ作成出来たら、イメージを同じカテゴリ名で指定して下さい。そのイメージに切り替わります。(SquishdotJPテンプレートにも適用済)
注意点
- Squishdotは、TinyTablePlusはオプション扱いですが、SquishdotJPでは、今のところ必須とお考え願います。その際、TinyTablePlusJPをご利用下さい。
- SquishdotJPはプロダクト名を変えた為、SquishdotJPを入れても、既にあるSquishdotサイトに影響しません。既にあるサイトは、Squishdotでご利用願います。今はそちらの方が安定しています。作成されているデザインを、SquishdotJPのテンプレートとして使うことは可能です。
- バグについて
- 一番気になるのは、プロダクト名変更と、meta_type名の日本語採用です。致命的なことが起きれば、これが原因です。多分。
- DTMLはまだ、理解してない内から改造してましたので、バグが多い、'<dtml-if><dtml-else></dtml-if>'で各データの有無を試て'<table><tr><td></td></tr></table>'の順番が条件で崩れない様にしないと駄目ですが、ご免なさい。まだ、動くからいいでしょレベルです。
- 色プロパティの置換えは進んでません。まだ、color1,color2,color3,color4と沢山残っています。工数不足ですので、暫しお時間をお願いします。
- 「color_left_box〜」は現在未使用です。実際の色指定は「leftbox〜_items」の「text_color」「bg_color」のフィード名で指定しています。「color_left_box〜」に付いては、デフォルト値として作り込む予定ですし、各ボックスの背景にもボックスを付け、色や背景画像の指定を
可能すべきか検討中です。
雑感
- 今回、独自拡張で予想される、Squishdot開発元へのご迷惑を未然に防く為に、プロダクト名を変更しました。結果として、SquishdotJPとSquishdotは違う線路を走りだしたと言うことになります。SquishdotJPとSquishdotは別物であるとお考え頂きたく存じます。つまり、SquishdotJPで起きた問題はSquishdotJPにSquishdotでのそれはSquishdotにフィードバック頂きたいのです。これにより、我々は、思ったことは直ぐに実現し取り込んで試ることが可能になりますし、皆様のご意見を次期リリースに向けて生かすことが可能になります。皆様のご理解とご協力をお願い申し上げます。
- 勿論、SquishdotJPで行ったものが、Squishdot本体でも採用されることがあれば、もっといいこととも思います。そうなる様な、魅力的なものに発展して行きたいものです。
- 自分にはどうもなれない、公式見解ですが、実際は、まだ非常に不安なリリースです。怒濤の「BUG発見!!」となりそうな恐怖感も、持っています。
そこで、お願いですが、BUGを見付けましたら、一度深呼吸して頂いて、直るものは直してから教えて欲しいのです。そして、直らなかったものは、出来るだけ具体的に、レポート頂けると助かります。虫の話、いや、虫がいい話ですが(汗々)、BUGには、自分も息が詰まります。先ず、皆様も深呼吸を宜しくお願い申し上げま〜す。m(_ _)m