• ファーストバージョンの開発の進め方

    By Muneyuki Ohkawa 2 decades ago

    仕様が大体固まってきたので、コーディングに入りたいと思います。

    以下に開発の進め方についてまとめてみました。

    皆さん、よろしくお願いします!



    ■ファーストバージョンの実装内容

    機能の充実よりも、まずは動くものをリリースしたいと思います。従って、ファーストバージョンでは、以下の内容としたいと思います。

     - 同期対象期間のNotesカレンダーをGoogleカレンダーに同期させる。

     - 同期は、NotesからGoogleへの一方方向。

     - 追加・変更の同期を行う。

     - 削除の同期は行わない。

     - 5つのカレンダー種類(会議、予定、終日の予定、記念日、確認)について同期を行う。



    ■作業分担について

    OSSプロジェクトでは、モチベーションが第一なので、基本的に、自分が開発したい/自分が開発すべきだと考える部分を開発していただくようにしたいと思います。そうすると、同じ部分を複数の人が開発するということが発生するので、開発に着手する前に、Discussion上で、「これからこの部分を自分が開発します」というように意思表示をお願いします。それでも、重複して開発することがあるかもしれませんが、そのときは、私が皆さんの意見を聞きながらコードの取捨選択を実施させていただきます。誰も手を付けないで漏れる部分も出てくるかもしれませんが、それらは基本的に私が拾います。



    ■開発状況シェア

    私が後ほど簡単な管理用のシートを起こします。皆さんの開発意向表明、作成コードを見ながら、適宜アップデートしていきます。



    ■開発物の共有

    Releasesタブのところに、各自開発したものをアップしてください。"Status"を"Do not release"にしておけば、私たちしか参照できないようにすることが出来るようです。ファーストバージョンが固まった時点で、Releasesタブに登録されるであろうたくさんの中間コードは削除してきれいにしたいと思います。



    ■開発物の統合

    皆さんの開発物は、私のところで統合して、適宜、Releasesタブのところにアップします。



    ■現時点で未決定の仕様について

    まだ仕様を決め切れていない部分(ログ管理、etc)がありますが、開発しながら決めていけばいいと思っています。迷ったら、Discussionでみんなで議論しましょう。



    ■仕様書の記述について

    みなさんにはなるべく開発に専念していただきたいと思いますので、私がみなさんのコードを見て、簡単に仕様書を起こしておこうと思います。仕様は、先にアップした開発者向けガイドの詳細設計のワークシートに内容をまとめておきます。





    以上。

    • NotesCalendarDAOの実装を担当したいと思います

      By Toshiaki Nakamura 1 decade ago

      とりあえず、カレンダーデータアクセスの内、NotesCalendarDAOの実装を担当します。



      BaseDAOを担当される方がおられるようであれば、相談しつつ進めていきましょう。基本的には、BaseDAOで使用するNotes側の入出力部分の実装になると考えています。(Notes側の読み書き用のAPIにあたる?)



      尚、NotesCalenderDocが必要かどうかは、実装を行いつつ確認したいと思います。

      • ありがとうございます。

        By Muneyuki Ohkawa 1 decade ago

        誰も手を上げなかったらどうしようと思っていましたが、口火をきって頂いてありがとうございます。

        クラス設計がまだやわやわですが、J2EEのData Access Objectのデザインパターンに沿ってやっていただければ、設計的には問題なく出来るかなと思っています。

        よろしくお願いいたします!

    • Releasesタブのところにアップできません

      By Toshiaki Nakamura 1 decade ago

      NotesCalendarDAOを担当している中村です。



      試作というか、雛形を作成しましたので、Releasesタブのところにアップしようとした所、

      Releasesタブにアップする為のボタンが表示されない様です。



      もしかすると、リーダー以外は更新できない部分なのではないでしょうか?



      とりあえず、以下にコードを載せますのでアップをお願いしても宜しいでしょうか?



      また、提案なのですが、パッケージ名を決めませんか?

      試作では、GooCalSyncとしています。



      package GooCalSync;



      import lotus.domino.*;



      public class NotesCalendarDAO {


      public String Testdata;<br/>
      <br/>
      public NotesCalendarDAO (){}<br/>
      


      public void GetDocument ( String unid ){<br/>
          <br/>
          try{<br/>
              String srv = &quot;&quot;;<br/>
              String dbname = &quot;TEST.nsf&quot;;<br/>
      


              NotesThread.sinitThread();<br/>
              Session s = NotesFactory.createSession() ;<br/>
      


              Database db = s.getDatabase(srv, dbname );<br/>
              if(!db.isOpen()){<br/>
                  db.open();<br/>
              }<br/>
      


              DocumentCollection dc = db.search(&quot;NOTES_UNID = \&quot;&quot; + unid + &quot;\&quot;&quot;);<br/>
              Document doc = dc.getFirstDocument();<br/>
      


              Testdata = doc.getItemValueString(&quot;TEST&quot;);<br/>
          }<br/>
          catch(NotesException ne){<br/>
              System.out.println(ne.id + ne.text);<br/>
              ne.printStackTrace() ;<br/>
          }<br/>
          catch (Exception e){<br/>
              e.printStackTrace() ;<br/>
          }<br/>
          finally { <br/>
              NotesThread.stermThread();<br/>
          }<br/>
      }<br/>
      

      }

      • 作成したコードはDiscussに貼り付けてください。

        By Muneyuki Ohkawa 1 decade ago

        Cookの人は、Releaseできないのですね。

        仕方ないので、Discussionに貼り付けてください。私が取りまとめて、Releasesにアップします。



        パッケージ名は、"GooCalSyc" にしましょう。

        • やっぱり、Releasesにアップしてください。

          By Muneyuki Ohkawa 1 decade ago

          Notes DBは、Discussionに貼り付けるわけにはいかないことに気づきました。

          中村さんをChefに登録してみましたので、Releasesタブに文書を作成できるか確認してみてください。

          • 登録できています

            By Toshiaki Nakamura 1 decade ago

            中村です。

            登録できることを確認しました。ありがとうございます。