Memoirs of the Faculty of Science
Kochi University (Information Science)Vol. 27 (2006), No. 3

Plone/ArcheTypes を用いたシラバス公開システム
須藤藍子†

菊地要時夫††

旨

高知学園短期大学においては平成 15 年度に学内ネットワークが再整備され、学内のいたるところからウェブへのアクセスが可能となった。このため、この環境を利用し充実したサービスの提供と教育効果の向上を課題としており、シラバス公開システムの導入が課題となっていた。本研究においては、シラバス本文内に記述された言葉をキーワードに全文検索を行うだけでなく、シラバス「型」に学科・学年・開講時間などの変数をキーワードとして登録することによって、(1)時間割表示、(2)教員名検索、(3)免許・資格取得のための検索、(4)トピック検索など多彩な検索を可能にするようなシステムの構築を行った。

1. はじめに

しかし、一方で外部の検索サイトに依存し現在、インターネットは情報提供者・利用た方法では、自組織内でのみ利用するような者数の拡大という量的な面だけでなく、各種情報を検索することはできず、イントラネッサービスの充実という意味で質的な発展を遂

トでの検索には自前で検索インタフェースをげつつある。とりわけ、検索とその結果を利構築する必要がある。たとえば、自組織内の用した動的な情報提供の仕組みが発展してき情報がサーバ上のファイルという形で存在すており、この面でのソフトウェア構築手法のれば、検索コマンド (UNIX の grep または進化も目覚しい。ロボットによるページ収集

Windows の find) を利用することも考えらとその結果を利用した検索サイトがよく利用れるが、一般には検索効率を考慮してされている。このため、検索サイトの結果をnamazu[1]などのインデックス作成・検索ソ自サイトに限るようにして、サイト内の情報フトを利用しなければならない。この場合、を検索させるといった応用も一般化している。

ページ作成からインデックス作成までの間は検索ができないことになる。
また、検索だけでなく、サイトのページを複数の製作者が分担する際にそのデザインの†高知大学大学院理学研究科数理情報科学専攻
Department of Mathematics and Information
Science, Kochi University††
高知大学理学部
Faculty of Science, Kochi University

統一や、掲示板・カレンダー・ブログといった類型的なパターンを持ったページを効率的に作成したいという要求から、最近、CMS1

(Content Management System) が注目され・CMF1.4.7ている。CMS ではサイトのページにおいて・Plone2.0.5

外観的デザインとコンテンツ(本文) を切り離・ArcheTypes1.3.3-final

し、作成・編集・管理・公開など一連の作業をウェブ上から行えるようになっており、コ2-2.システムの特徴

ンテンツ作成と同時にインデックスの更新が行えて、直ちに検索可能となるものもある。

本システムの特徴は、単なる公開システム

商用の CMS を導入する場合、大規模なシではなくコンテンツの作成・編集・管理、ユステムの導入や運用に多大なコストがかかり、ーザの管理、コンテンツの公開など一連の作容易に導入することは困難である。本研究で業をウェブ上から行えるようなシステムといはコスト削減のため、オープンソースの多機うことである[9]。namazu などのインデック

能 CMS である Zope/Plone[2,3,4]を用いる

ス作成・検索システムを用いた場合、ページことにする。その Plone 上に新しいページのの作成からインデックス作成までの間は検索「型」を定義できる ArcheTypes[5]を利用しシステムの使用ができないことや、一連の作て、高知学園短期大学[6]向けのシラバス公開業を一括して行えないといった問題点があげシステムを作成する。本システムにおいては、られる。しかし本システムでは、コンテンツシラバス本文内に記述された言葉をキーワーの作成と同時にインデックスの再構築がされドに全文検索を行うだけでなく、シラバスるため、すぐに検索が可能となる。

「型」に学科・学年・開講時間などの変数をArcheTypes を用いることで、自サイトのシラキーワードとして登録することによって多彩バス本文内に記述された言葉をキーワードにな検索を可能にする。

全文検索を行うことができる。さらに、シラ
バス「型」に学科・学年などの変数をキーワ

またシラバス作成から公開までの一連の動ードとして登録することで多彩な検索の応用

作についてのワークフローも考察する。

が可能となっている。
2. システム環境
3. ワークフロー

2-1.システム環境
シラバス公開システムを構築するため以下

ここでのワークフローはシラバスを作成しのハードウェア、ソフトウェアを利用した。

公開するまでの一連の動作についてのことでハードウェア：ある。ワークフローの「状態」とは特定の時

・Apple PowerMac G5

点におけるコンテンツの要素に関する情報でオペレーティングシステム:

あり、「遷移」とはコンテンツのある状態から・Mac OS X 10.4別の状態へ変化させることである。
Plone にはデフォルトのワークフローがあプログラム言語:・Python 2.3.5 [7,8]

るが、それでは以下のような問題点があげら

Web パブリッシングシステム:れる。
1.

・Zope 2.7.6-final

2

学生や他の教員に作成途中のシラバスの閲覧が可能であること

4. シラバス検索システム

2.

4-1.検索について提出後の審査中のシラバスの閲覧

Plone には Zope の ZCatalog をベースとすが可能であること
そこで、初期状態を非公開にし、公開を申る検索エンジンシステムが搭載されており、請していないシラバスを検索した際に見えなコンテンツを短時間で効率よく検索することいようにする。また、提出しても公開を認証が可能になる。コンテンツを検索する際にはしていないものも見えないようにする。

前章で述べたように状態が公開のときに限り表示されるようになっている。

シラバス公開の流れは、シラバスの作成・編集が終了すると、教員は Plone の CMF（コPlone の検索ボックスを使用すれば一般のンテンツマネジメントフレームワーク）の仕検索エンジンと同じように単純なテキスト検組みを利用して状態を非公開から提出に変更

索を自サイト内で行うことができ、例えばすることで教務係、総務係に公開申請を要求「Monday」と入力するとすべてのコンテンする。一括管理を行っている教務、総務側でツが検索され、「Monday」という単語が含まは、公開要求のあったファイルが審査リストれる結果のリストが表示される。しかし、日として表示される。許可する場合はウェブに本語検索には対応していないため、実現する公開されるが、不許可の場合は却下となり、ために JUTSplitter（Japanese Unicode Text

教員側で再度編集、再申請を行うことになる。

splitter）[10]を用いる。JUTSplitter は日本
語形態素解析システムである MeCab[11]を用いて分かち書きすることで、高精度な日本語検索を可能にする。これで「月曜日」と入力するとその単語が含まれるコンテンツが表示される。

図 3-1

シラバスワークフロー

図 4-1

Plone 検索コンテンツの分類や情報を格納するメインツ
図 3-2

ールは portal_catalog であり、ベースであるシラバス公開の流れ

ZCatalog を拡張したものである。カタログは3

コンテンツからインデックスを作成し、コンテンツのメタデータを格納し、Plone サイトのコンテンツをすばやく調査するための検索インタフェースを提供する。
本システムではシラバス本文内に記述された言葉をキーワードに全文検索を行うだけでなく、シラバス「型」に学科・学年・開講時間などの変数を登録することによって時間割
図 4-2

表示、教員名検索、免許・資格のための検索、

シラバストップ画面

トピック検索などの応用検索システムを作成
時間割表示検索には PageTemplate 内でする。

Python を使用し ZCTextIndex の検索を行っている。ZCTextIndex とは ZCatalog による4-2.表示方法

テキストに対する効率的な全文検索を可能に

シラバスの検索表示画面には Zope Pageするものである。Plone には ZCTextIndex でTemplate(ZPT)を使用している。Zope Page

必要とされる Lexicon という単語集が標準でTemplate は Zope の管理インタフェースであ構成されており、ArcheTypes でアイテムを作る ZMI にアクセスしウェブ上から作成と編成した際に、項目に searchable を設定するこ集が可能である。また普通の HTML ドキュメとで Lexicon に登録され検索対象項目となる。

ントの HTML タグに TAL や METAL といった制御言語を書き込み、ダイナミックにペー

tal:define="resultspython:container.portal_catalog(portal_type='syllabus',SearchableText='%s and %s and %s and %s and %s and %s'%(departments,term,week,hour,school,nendo),
review_state='published');ジの内容を表示させることができるものである。

4-3．検索方法
4-3-1．時間割表示検索

図 4-3

シラバス公開システムの検索の流れは、ま検索コード一部

ずトップページのリンクおよびタブから学科

図 4-3 のプログラムで抽出されたデータはを選択し、次に学年、前後期別を選択するこ

学科、曜日、学年（クラス）、時間、年度をキとで必要な情報のみが取り出される仕組みとーワードに検索を行い、コンテンツタイプがなっている。

「 syllabus( シ ラ バ ス ) 」 で あ り 、「published(公開されている)」というコンテ
ンツの状態を条件として検索のインデックスの共通集合を結果として返している。これらすべてに一致するコンテンツが時間割の一覧

4

表となって表示される。また、時間割に表示

キーワード引数で検索語を渡すか、フォームされた科目名はシラバスにリンクされ、各教でパラメータを送信できるように REQUEST員のフォルダにあるシラバスの内容を閲覧すで渡す。
結果の処理は図 4-5 のようになっている。

ることが可能である。

getCatalogResults か ら 結 果 を 取 得 し 、tal:repeat を使用し結果にループをかける。
ループ内の処理では result/Title を呼び出しメタデータからタイトルを取得することができるようになっている。タイトルの部分にはシラバスの科目名が入っているため、それがリスト形式で表示されるようになっている。

図 4-4

時間割一覧表示

4-3-2．教員名からの検索
次にシラバス公開システムに登録されているユーザ名を使用し、検索を行う方法につい

図 4-5て述べる。

教員名からの検索結果

SearchableText インデックスから検索しなお、教員名を指定しないで検索を実行する

たい場合、検索メソッドに SearchableTextと、マッピングが空による問い合わせのためを渡し、教員名で検索するので Plone サイト公開されているコンテンツがすべて返される。に登録しているメンバーの名前(fullname)を
portal_membership

4-3-3．免許・資格のための検索

オ ブ ジ ェ ク ト のsearchForMembers メソッドを使用し取り出

高知学園短期大学での免許・資格の表は、す。このようにしてインデックスに含まれて多くの条件が絡み合っていて、大変分かりにいる fullname をすべて取得し、ブラウザにはくいと言われていた。そこで ArcheTypes にドロップダウンリストで表示されるように検免許・資格の設定をすることによって各学科索フォームコードを書いた。

で取得できる免許・資格を分かりやすく表示

検索フォームから入力された教員名はさせることにした。

getCatalogResult Python スクリプトに渡さ

検索の流れは、まずトップページのリンクれ、その中で portal_catalog オブジェクトのおよびタブから学科を選択し、次に免許・資searchResult メソッドを呼び出して、パラメ格のリンクを選択することで必要な情報のみータとしてキーワードを渡す。キーワードはが取り出される仕組みとなっている。

同じ名前のインデックスに対応しているので時間割表示と同様、PageTemplate 内で5

4-3-4．トピック検索

Python スクリプトを使用し ZCTextIndex のPlone にトピックというコンテンツがある。

検索を行っている。
免許・資格の種類、年度、科目区分をキー

これは文書や画像など他のコンテンツをグルワードに検索を行い、コンテンツタイプがープ化したものを、中央情報格納庫である、「 syllabus( シ ラ バ ス ) 」 で あ り 、ZODB に問い合わせることで、再利用できる「published(公開されている)」というコンテように保存された検索条件である。システム

ンツの状態を条件として検索のインデックスで分類することにより指定された条件すべての共通集合を結果として返している。これらのコンテンツを見つけ出すことができる。物

すべてに一致するコンテンツが免許・資格の理的な場所、作成時間、コンテンツの状態な一覧表となって表示される。

どシステムの異なる角度から問い合わせする免許・資格には指定された単位数を取得しことができる。トピックは普通のフォルダとなければならないので、取得数を計算しやすは違い、物理的にコンテンツを持たず、他のいように単位数を表示させることにした。

場所のコンテンツにリンクを張るだけである。

result/credit を呼び出しメタデータから各シトピックを利用し、別の場所にあるコンテンラバスの credit（単位数）を呼び出し表示さツを収集して、一箇所にまとめ表示させる。

せるようになっている。

初期状態では管理者がトピックを追加するこ

図 4-6 は検索された免許・資格ごとの一覧とができ、本システムの管理者は教務係であるのでそのアカウントで追加する。

表である。上の段には教養教育科目の必修科目と選択科目が表示されている。下の段には各学科の公開されたシラバスをコード番号

専門教育科目の必修科目と選択科目が表示さ順に表示させる場合、条件追加でフィールドれている。また、これらに表示された科目名

名、条件の種類を選択する。フィールド名ははシラバスにリンクされ、各教員のフォルダデフォルトインデックスがプルダウンリストにあるシラバスの内容を閲覧することが可能で選択可能である。
生活科学科の場合を以下に示す。

である。

フィールド名

条件の種類

値

Type

StringCriterion

Syllabus

departments

StringCriterion

life_science

codenumber

SortCriterion

昇順で分類されます

Nendo

StringCriterion

表 4-1

2005

設定条件

トピックでは各学科で開講されるシラバス一覧を閲覧したい場合、各教員のフォルダにあるシラバスが一箇所に集められ、コード番号、図 4-6

タイトル、教員名、単位が一目で分かるよう免許・資格ごとの一覧

6になる。またサブトピックの検索条件を新たに、免許・資格や教員名検索の場合もコードに書くことで学科の学年ごとの一覧やクラス番号順にシラバスを並べるなどの工夫の余地ごとの一覧など様々な組み合わせにより応用があると思われる。

が可能となっている。
5. システムのカスタマイズ
本研究で開発するシラバス公開システムの基本的な構成は完成したが、アカウントの追加などの設定、シラバスシステムの様々の変更が必要である。これらは ZMI から行うことができる。
ZMI の中に表示される portal_skins フォル
ダの中には Plone で使われている静的な要素およびスクリプトなど動的な要素が含まれて
図 4-7

トピック検索結果いるファイルがある。スキンはレイヤと呼ばれるテンプレートとスクリプトで構成され、フォルダの階層リストで表される。Plone ス

4-4．シラバスシステムの利点と今後の課題

キンの特定の要素が気にいらなければ、その以上のように、本稿で提案したシラバスの要素を上位のレイヤへ移動してその結果をカ

検索方法は学生にとって大変わかりやすいもスタマイズする。例えば、ロゴの変更やシラのとなっている。各シラバスは各々の教員のバスの表示画面は logo.jpg や syllabus_view

フォルダに作成されているため、Plone に装をカスタマイズすることによって備されている検索フォームを使いシラバス検

portal_skins/custom （デフォルトフォルダ）

索は可能であるが、それでは毎回教科名や教にコピーが作成される。作成されたファイル

員名を入力しなければならない。検索システ

を変更することにより、スタイルを崩さずにムを用いることで公開科目一覧を自動的に検独自のサイトを作成することができる。
そのほかにも portal_actions といったポー出し閲覧できるようになっている。
今後の課題点としてさらに本システムを改

タルタブなどの変更をするものもあり、必要善するのであれば、以下のような点が考えらに応じてカスタマイズできるようになっていれる。各教科名の横にチェックボックスを付る。

加することで取得科目の単位計算を可能にす
れば、学生の履修登録のミスを軽減できる可
6. まとめ能性がある。また免許・資格を取得する際の検索はリンクから開き検索するのではなくフ本研究ではオープンソースのコンテンツ管ォームからキーワードを渡すようにすれば、理システム Zope/Plone/ArcheTypes を用いて、様々な組み合わせで検索できるようになるで高知学園短期大学向けのシラバス作成公開シあろう。そしてトピック検索で実装したようステムを構築した。本システムはシラバスの7

作成から公開までを一貫して行うことができより、公開科目一覧を自動的に検索し閲覧するようになっている。システムの全体の流れることができる。時間割表示、教員名検索、は以下のようになっている。

免許・資格のための検索、トピック検索を作成した。他のシステムでの検索はトピック検索のように一覧表示されるものは多数あったが時間割形式での表示を行っているものは少数だった。その時間割表示でも直接教科名が表示されるのではなく、さらにボタンを押すことによって一覧が表示され、シラバスを選択するようになる。また学部別であり、どの学科のシラバスであるか分かりづらいなど不十分な点が見受けられた。
本システムではクラスごとの時間割形式で図 6-1表示できる機能を有するため、学生にとってシラバス作成公開システムの流れたいへん分かりやすいものになっている。そ教員はサイトにログインし、ArcheTypes によのほかの検索でも、リンクを開くことで検索り作成されたシラバスコンテンツを新規作できるため検索しやすいものとなっている。

成・編集を行う。編集が終了し保存した後、シ ラ バ ス 公 開 シ ス テ ム はシラバスの状態を「非公開」から「提出」にPlone/ArcheTypes を用いることで検索コマすることで教務・総務係に公開審査を要求す

ンドやインデックス作成・検索ソフトを使わる。このときに教務は提出されたシラバスにずに検索をすることが可能となった。特に一基本データ、例えばコード番号、学科、学年、般のシステムではページの作成からインデッ単位数などを追加入力し、コンテンツを審査

クス作成までの間、検索が使用できないが、する。シラバスが認証された場合は公開、却本システムではコンテンツの作成と同時にイ下の場合は再度提出となる。このようにしてンデックスの作成が行えることで直ちに検索公開されたシラバスは、学生が検索・閲覧でが可能となる。またオープンソースを使用すきる。また、2005 度まで Word で書かれていることでコストの削減にもつながった。

た冊子のシラバスは、自動投稿により電子化

一方、作成の際のデフォルトワークフローされ、システムに保存された。そして、一度では作成途中のシラバスや提出後の審査中の作成されたシラバスをさらに次年度使用したシラバスの閲覧が可能であったため、初期状い場合は、Plone の機能であるコピーを使い態が「非公開」になるように、新規にワーク複製することで新たにページを作成することフローを作成した。
今後の課題としての改善点としては、取得ができる。過去のシラバスも検索により閲覧科目の単位計算を可能にすること、免許・資可能となっている。
シラバスの公開は、ただ公開するのではな

格を取得する際の検索についてもフォームかく、ウェブ上で各学科のリンクを開くことにらキーワードを渡すことで検索できる機能を8

[11]MeCab（和布蕪）,実装することなどが考えられる。

http://chasen.org/~taku/software/mecab/,

さらに、教員は Plone の持つ CMS としての機能をすべて利用できるため、シラバス作－2006

成だけでなく、講義資料の作成や、掲示板を利用した質疑応答、ブログの作成などを行うことも可能なため、e-Learning システムへの発展も可能であると思われる。
7. 謝辞
本研究を進めるにあたりご指導、ご支援頂きました地球環境情報学研究室の皆様および高知学園短期大学の濱田美晴助手に感謝し、心より深く御礼申し上げます。

参考文献[1] 全文検索システム namazu,
http://www.namazu.org/,－2006[2] 安田幸弘, ZOPE ガイド, 毎日コミュニケーションズ, 319pp, 2002
[3] ploneホームページ, http://plone.org/,－2006[4] Andy Mckay, 標準 Plone 完全解説 開発のプロが教える, 567pp,アスキー, 2005[5]takanory.net,http://takanory.net/,－2006[6] 濱田美晴，菊地時夫、高知学園短期大学
における LAN 監視システム構築，高知大学理学部紀要, 26 F, No.5, 2005
[7] Mark Lutz, David Ascher, 初 め て のPython,オライリー・ジャパン, 432pp, 2000
[8] PyJUG, http://www.python.jp/Zope/－2006[9] 木谷由実，菊地時夫: Plone/ArcheTypesを用いたシラバス作成システム，高知大学理学部紀要 27 F, No.2, 2006[10] JUTSplitter,http://www.atransia.co.jp/
download/JUTSplitter/index_html, －2006

9