当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2013年7月21日日曜日

GitHubを使ってのチーム開発 ~応用編~

今日は、チーム開発の続編です。
本当は昨晩書きたかったのですが、PCクラッシュという災難のために、止めたのでした(まったく、Windows 8め・・・)


本題に入る前に、こちらのクリックをお願いします。
にほんブログ村 IT技術ブログへ


なお、今回は、2013年7月のテクてくで紹介された内容の焼き直しです。
ですので、テクてくのハンズオンに参加された方は復習のつもりで見てください。
参加できなかった方は、是非この記事を読んで、試してみてください。

まずは、準備として、以前に当ブログで紹介した記事を参照願います。
ノーツアプリケーションのソース管理をしてみよう
Gitサーバからプロジェクトを取得しよう
Gitサーバに変更を反映しよう


では、始めましょう。
今回は、GitHubにリポジトリが登録されている状態からとなります。
以前に紹介した内容の場合、そのまま自分のローカルPCにダウンロードして、それを各自修正して、またGitHubサーバにPushするという流れでした。
これはこれで良いのですが、修正した内容を事前にチェックすることができません。
つまり、バグも誤って、マージされてしまうということになります。

そういったリスクを少しでも低くする方法として、GitHubには「フォーク」という機能が備わっています。

まずは、GitHubに登録されているプロジェクトページを開きます。(テクてくのハンズオンで使用したプロジェクトで説明します)
GitHub上のリポジトリ

リポジトリ名が左上に表示されています。ここで注目してほしいのは、「PUBLIC」となっている個所です。これは、他の人でも参照できるということを示しています。
ここで、右上にある「Fork」というリンクをクリックします。
※ちなみに右側に表示されている数字は、このリポジトリをフォークしたユーザの数です。

フォークに成功すると下図のような画面に変わります。
フォークして自分の専用リポジトリにした
左上に注目してください。黒塗りで隠しているのは、私のユーザ名です。さらにその左側が「PRIVATE」になっているのが分かりますでしょうか?
これは自分だけが参照できる状態を示しています(しかし、ページ遷移するとPUBLICになるようです)。

これでこのリポジトリは自分のものになったので、これに対して修正を加えるようにします。
しかし、このままでは修正ができないので、ダウンロードをします。
画面右下を見てください。「HTTPS clone URL」と書かれた場所にURLが書いてあります。
このURLをコピーします。その右側にあるクリップボードマークを クリックすると、コピーできます。簡単ですね。

では、このURLを元に、リポジトリをダウンロードします。
ここで、Domino Designerを起動します。
「Git Repojitoriesビュー」を開いて、「Clone a Repository」メニューを実行します。
Clone a Repositoryメニューを実行

すると、「Clone Git Repository」というダイアログが表示されるので、GitHubのユーザ名とパスワードを入力して[次へ]をクリックします。
なお、レポジトリのURIやHost等はクリップボード経由で入力された状態になっています。
Git Repositoryのソース情報の入力

次にブランチ情報の選択画面になりますが、今回はこのまま[次へ]をクリックします。
(大きなプロジェクトの場合、master以外のブランチが作られることがあります)
ブランチ情報の選択

今度は、ローカルPC上のどのディレクトリにリポジトリ情報を作成するのかを選択する画面になるので、ディレクトリを設定して[次へ]をクリックします。
通常、eGit for Domino Designerをインストールしてあれば、ディレクトリはNotesデータディレクトリ内に作られます。
ローカルリポジトリの場所を選択

ローカルにリポジトリを作成する際の最終確認の画面になるので[終了]をクリックします。
最終確認画面

これで、ローカルPCにフォークしたリポジトリ(クローンと言います)が作成されます。
Git Repositoriesビューにクローンが作成された

このままでは、Domino Designerのオンディスクプロジェクトとして認識されないので、このローカルリポジトリをオンディスクプロジェクトとして登録します。
マウスで右クリックして、「Import Projects...」メニューを実行します。
プロジェクトのインポート
Import Projectウィザードのダイアログが表示されるので画面の指示に従います。
今回は、すでにローカルリポジトリがディスクに作成してあるので「Import existing projects」を選択して[次へ]をクリックします。
インポートタイプの選択

次にプロジェクトの選択画面になります。通常、一つしか選択されませんが、テクてくのハンズオンでは2つ表示されています。今回は、上のプロジェクトを選択した状態で[終了]をクリックします。
※実際のプロジェクトでは、管理者の方に確認してください。
プロジェクトの選択

これで、ローカルリポジトリがDomino Designerのオンディスクプロジェクトとして登録されました。
ナビゲータビューを開いて見てください。登録されているのが分かります(下図)。
オンディスクプロジェクトとして登録されたクローン

さらに、これをノーツアプリケーション(xxxx.nsf)と関連付けるので、オンディスクプロジェクトをマウスで右クリックして、「チーム開発」「新規NSFに関連付ける」メニューを実行します。
チーム開発メニューの実行

「新規NSFに関連付ける」ダイアログが表示されるので、サーバー名とファイル名を入力して、[終了]をクリックします。
※通常は、ローカルで良いでしょう。(サーバーだと他の人とバッティングする可能性がありますよね)
新規NSFの場所を入力

nsfファイルが作成され、インポート処理が完了すると、ナビゲータビューのオンディスクプロジェクトがどのnsfと関連付けられたのかが分かるようになります。
ナビゲータビューの見た目が変わる

これでオンディスクプロジェクトを元に、nsfファイルが作成されました。
アプリケーションビューを表示すると、ノーツアプリケーションが作成されているのが分かります。
フォームやビュー、XPage等の設計要素が正しく作成されていることを確認しましょう。
アプリケーションビューにnsfファイルが表示されている


これで、個人でノーツアプリケーションの修正が行えます。
当然、Domino Designer上からアプリケーションのプレビューも行えます。

修正が完了したら、GitHub上に戻すのですが、そのままCommit/Pushではいけません。
その方法については、次回に説明します。

ということで今日はこの辺で・・・


合言葉は「ノーツでWeb化するならXPages!





【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

XPagesについてのお話

こんばんは。夏なので、夜更かしをしています(笑)。


先日(2013/07/19)は、テクてくで、ノーツアプリケーションのチーム開発の手法が紹介されました。
オンディスクプロジェクトというNotes/Domino 8.5.3で追加された機能を利用しての話ですが、
これは、XPages Extension Library Japan Projectで採用している開発手法でもあります。
複数の会社のメンバーが一つの目的に向かって、ノーツアプリケーションの開発を行うという意味では、最適な手法だと言えるでしょう。

ちなみに、この手法については、上記プロジェクトの関係で、当ブログでも、以前に紹介したことがありましたが、ほんのさわり程度でした。
テクてくでは、さらに細かい内容についての説明がありました。

しばらくすれば、資料が公開されるかと思いますので、参加された方も参加できなかった方も是非ダウンロードするようにしましょう!


ところで、XPagesは皆さん、活用していますか?
2009年1月にリリースされたNotes/Domino 8.5から搭載された「新しい」開発手法です。
もう、4年半も経過しているんですね。「新しい」なんて言うのは変ですね。
この技術を利用して、ノーツアプリケーションを作成すると、ノーツクライアントでもWebブラウザでも全く同じ画面で動かすことができるようになります。
従来ですと、同じ「ように」見せかけることはできても、ノーツクライアントでしかできないこと、Webブラウザでしかできないことが多すぎて、結局どちらかでしか動かない。とか、それぞれの画面を作成するといった「非効率」な作りになっていました。
しかし!XPagesを使えば、それがなくなるのです!
しかも、スマホやタブレットでも操作し易いような画面の作成もできるのです。これは使わない手はないでしょう。

ノーツでWeb化するならXPages!」しばらくは、これがキャッチフレーズです。
是非、覚えてください。そして、周りの方々にも伝えてくださいね。


XPagesの情報はたくさんありますが、知らないよ。という方のために、ほんの少しだけ紹介します。
有名なところでは、新人SEが学ぶ XPages
一週間で学ぶ XPages 開発入門 (初級編)
があります。
手前味噌ですが、私もおじさんSEシリーズのまとめ として、XPagesで作成する図書管理アプリケーションについて、書いています。

いずれも入門編としては、分かり易いものになっていると思いますので、まだ触ったことがないという方は是非、読んでみてください。


最近ですと、リコーITソリューションズ殿が「XPagesはじめました」というマンガ形式でXPagesについての紹介をするサイトを作成されていますね。


さらに、もうXPagesは使ってるけど、もっと詳しくなりたい!という方のために、
XPagesで行こう!
notes/domino liaison
というブログがあります。私も当然お世話になっています。


そして、満を持して、XPagesのサイトが立ち上がりました。
http://www.xpages.jp
ですね。
こちらのサイトからは、Extension Library Japanのサンプルアプリケーションが直接起動できますので、お試しください。
また、こちらのサイトで紹介したいXPagesアプリケーションがあれば、ご連絡ください。
リンクを張ることも可能です。


ノーツはもう古いとか、Web対応してないから・・・という理由であきらめていませんか?
XPagesを使って開発すれば、そんな悩みは吹っ飛びますよ。
新しいことを勉強している暇が・・・と言っている貴方!LotusScriptを勉強するなら、XPagesでJavaScriptを勉強しよう!世の中のトレンドにもついていけるし、ノーツアプリケーションが格好良くなりますよ!




最後にもう一度言います。
ノーツでWeb化するならXPages!」 「ノーツアプリケーションの改修はXPagesで!
では今日はこの辺で・・・
寝ようっと。