役割分担

  1. 照井

    1. Contributeの使い方を勉強し、ローカルで編集したファイルを転送したり、或いはサーバー側にあるファイルを直接編集したり出来るようにする。

      実際には、このところが今回の要になるところなので、詳細に調べる。一度小笠原さんに、何かテンプレートをもらって、それを編集したり、それをサーバーに送ったり、 色々いじってみてください。コマンドオプションなども(あまりマニュアルにはないかもしれませんが)、調べてみてください。

    2. サイトの階層構造と実際のディレクトリー構造を一致させるわけだが、その構造を作ったり、削除したり或いは変更したりする際に、ウェブ上で 行えるために、Tree構造を動的に作る必要があるが、それをどう実現するかを検討する。特にデータベースとのマッピングをどのようにするかを考えてみること。

      参考

      上記の2つのクラス(データベースと考えても良い)を使って、tree構造を考え、それを具体的にコードにしていく。

      とにかくweb上で、クリックすると枝が増えて、そして、その時に必要な情報を入力するとデータベースに登録されるようなものを考えて欲しい。 見かけをtree構造にするというのも、工夫してもらいたい。概念的には下のようなDBを考えています(クラスと考えても良い)。

      参考

  2. 佐藤
    1. 今回の案件では、スタッフのデータベースと、一般客のデータベースが必要になる。とりあえず、そのスタッフのデータベースへのデータの出し入れ、更新を作成する。

    2. 留意する点は、そのテーブルはログインに使われると同時に、ホームページの登録の際の「承認」にも使われる。
    3. 特にログインの場合は、Tomcatがrealmという形で提供してあるものを使うか、それとも自前で用意するかという2つの方法があるが、時間のことを考えると、とりあえずTomcatの用意してある方法を使うことにする。
    4. Tomcatのrealmでデータベースを使う方法はTomcat Realmにある。
    5. 以前伝ちゃんが作ったサンプルを送るので、それを参考に、構築してください。これもいつものところに固めておきます(misatodocmanager)
      1. WEB-INF/src/com/chikkun/mdms/admincontrolにUsers(今回はStaffsという名前にしてあるのは、一般ユーザーの登録の際Usersと使う可能性があるから)とUserRoleとRolesがあります。
      2. WEB-INF/src/com/chikkun/mdms/databaseにHibernatey用のDAOがあります。
      3. WEB-INF/src/com/chikkun/webcomponent/loginは、最後にログインする際のログイン用のActionがあります。
      4. そしてserver.xml.sampleという名前でrealmの書き方のサンプルを同梱しています。
    6. だいたいは以下のようなイメージです。
    7. 参考

      1. Staffsにユーザー登録していく。一応今は全て必須にしてあるが、もしかしたら「部署」などのフィールを今後増やす可能性がある。
      2. その際、role(役割)をhtmlのselect文で選択させるが、そのデータはRolesにあるroleNameになる。
      3. Tomcatの認証を使う場合は、StaffsとUserRoleの2つが必須だが、Rolesは上記の理由で必要となる。つまり、RolesにないroleNameはどこにも現れない必要がある。
      4. Staffsにデータを格納する際、UserRoleにStaffsのloginNameと先ほどのhtmlのselect文で選んだroleNameが自動で登録される。この際、loginNameとroleNameの2つでuniqueにならなくてはならない。 つまり、loginNmaeはUserRoleでuniqueである必要はなく、ある人がいくつもの役割を受け持つ場合があるからです。ただ役割まで同じのはまずい、ということです。
      5. Staffsのデータを削除する場合は、UserRoleのデータも同様に削除する必要がある(データは1つとは限らない)。
      6. UserRoleを直接、データの削除等はすることはなく、StaffsやRolesなどの変更に伴い、変更する。
      7. Rolesを変更したら、UserRoleのroleNameを変更する必要がある。
      8. Rolesのデータを削除したら、UserRoleのそのroleNameを持っているデータを削除し、roleNameがなくなった人はStaffsからも削除する。

留意点

今回からはmavenの方式で、作業を進めるつもりです。僕も初めてなので多少不安ですが、たぶん、使い慣れれば結構便利だと確信しています。そこで、ディレクトリー構造を少々読んで下さい。

今までのeclipseの方式ではないので、eclipse上でTomcatを立ち上げて、それからブラウザーで確認するという方法は無理かもしれません。warファイルをTomcat webappsにコピーして確認は出来ますが。

それよりも、strutstestcaseというやつやJUnitを使った方が時間的によいでしょう。

  1. まずはビジネスロジックをbeanで書いていく(例えばデータベースに登録するなど)。
  2. 上記をJUnitでテストする。
  3. 次に、strutstestcaseのモックを使ったテストをする。
  4. strutstestcaseのCacutsでテストする。
  5. 最終的にTomcatにdeployして、ブラウザー等で確認する。

上記の2か3はどちらかだけでもかまいませんが、今後の開発順序はこのような形で進めます。そのサンプルはJunitがwebcms/src/test、strutstestcaseがwebcms/src/test-cactusにあるので、参考にしてみて下さい。

ただ、いずれにしろコーディングをする前の計画が重要です。一度相当進んでから後から修正するのは非常に時間のコストがかかります。したがって まずは、どのような方針でいまやることを実現するかというロジックをじっくり考えてから、行ってください。