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

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

2013年12月19日木曜日

Notes/Domino 9.0.1にバージョンアップしましょう!

12月も後半を過ぎました。というか、あと一週間で仕事納めになる会社も少なくないでしょう。

12月初旬にNotes/Dominoの9.0.1 日本語版がダウンロード可能になりましたが、みなさんはすでに適用されましたでしょうか?
私は、自分の開発環境に、適用済みです。

細々と、「どんな感じになったのかなぁ?」と使っているのですが、
変わった個所を紹介しましょう。


1つ目は注意点です。
DJXを導入している場合、ドミノディレクトリの設計をDJXのものに置換すると思いますが、
その時に選択するテンプレートに注意してください。
pubnames.ntfというテンプレートとdjxdd.ntfというテンプレートファイルのDBタイトルが同じになっています(下図参照)。
テンプレートのファイル名

手動で設計の置換を行う場合、DBタイトルが一覧表示になるので、わかりにくくなっています。
必ずファイル名を確認した上で、設計の置換を行うようにしましょう(まぁ、間違えたところでDJX対応にならないだけなんですが・・・)。
設計の置換画面


次は、ノーツDBのプロパティ画面です。

DBプロパティ


なんと、「Notes Browser Plug-inで開くことを許可しない」というチェックボックスが追加されています。
これでNotes Browser Plug-inでは、使わせたくない(XPagesアプリケーション等)は開けないようにすることができます。

メールDBはデフォルトでチェックが入っていました。
Notes Browser Plug-in では、メールはiNotesを使ってください。ということでサポートされていないので当然でしょう。
ちなみに、メールDBでこのチェックを外してみましたが、Notes Browser Plug-inではやはり開くことはできませんでした。
iNotesのURLに自動リンクしているようです。


他にもたくさんの機能が追加されているかと思いますが、それはまたの機会ということで(まだ検証できてないんですよ。)。

もう、Notes/Domino 9.0.1の検証なんて、とっくに終わったぜ!という強者がいたら、どこが変わったのかを教えてください。
私も再検証した上で、紹介していきます。


では、今日はこの辺で。





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

2013年12月7日土曜日

3年目のIBM Championに任命していただきました。

こんばんは。もう12月も一週間が過ぎてしまいました。早いですね。

さて、12月と言うと、色々なイベントがあります。
忘年会であったり、クリスマスであったり、大晦日であったり、
今年に限って言えば、ドラクエ10(Version 2)であったり、Notes/Domino 9.0.1 日本語版がリリースされたりと様々ですね。

ここまで書いて、9.0.1のダウンロードをまだしていないことに気が付きました。早くやらないと・・・ということで、今からダウンロードします。

そして、もう一つ。Notes/Domino(を含むICS製品といった方が良いのかしら?)に携わっている方であれば、忘れてならないのがIBM Championの発表ですね。
今年は、日本時間の12/5 22:30にWe are proud to announce the 2014 IBM Champions for Collaboration Solutions! で発表がありました。

日本からは、メンバーの入れ替えこそ、多少ありましたが、昨年同様に6人の方々が任命されました。
メンバーは、日本IBM 佐藤様がブログで紹介していますので、こちらを参照願います。

ちなみに、私もなんとか、再任させていただくことができました。

これで、2011年の12月に任命されて以来、3年目のIBM Championということになります。
昨年(2013年度)のIBM Championは75名で、今年度は87名ということで人数は増えていますが、それでもまだ100人に満たないのです。

そのようなコミュニティの一員として認められたことは、大変うれしく思い、また、一層身が引き締まる想いです。


Facebook上で、某K氏が、所信表明するよね?と言ってきましたので、この場で、私の2014年度におけるIBM Championとしての所信表明というか抱負というか・・・を述べます。


まず、コミュニティはコミュニケーションと同系統の言葉ですが、
コミュニケーションは両方向の伝達であり、一方通行であってはならないと思います。
私がブログで記事を書いても、コメントがなければ、それはコミュニケーションとは呼べなくなってしまうと思います。
TwitterやFacebook等のSNSについても同様です。ただ情報発信をしているだけで、応答がなければ、やはりコミュニケーションとは言えないでしょう。
さらに言えば、セミナーも同じことが言えるのではないでしょうか?ただ、発表者がスライドを使って、発表する。参加者はただただそれを聴くだけ。
これももはや旧式と言わざるを得ないでしょう。

ということで、2014年度のIBM Championとして、私がやるべきことは、「コミュニケーションを活発にする!」に尽きます。

私が情報発信をしたら、それに対して思わず返事をしたくなる。というようになるようにします。
ブログもしかり、SNSもしかり、セミナーもしかり!です。

幸い、私は「テクてくロータス技術者夜会」というICS製品のコミュニティの一部を担当させていただいています。
こちらについても、出来るだけ講師と受講者が双方向に話をできるような形にしていきたいと思います。

大層なことを言っているような気もしますが、もうIBM Championも3年目なので、これくらいのことをやっていかないといけないでしょう。

そして・・・
この話は日本のIBM Champion数名との話の中で出たものですが、
IBM Championは1人が何年も続けてやるものではないということです。
ただし、毎年毎年、全員入れ替わっていたのでは、活動が進展しないということも考えられますので、続けてやる人がいてもいいでしょう。
それでも、IBM Championという存在を次世代以降に受け継いでいくということは必要だと思います。
この記事を読んでいるあなたが来年はIBM Championになっている!?というのもアリなんですよ!!



ということで、私の2014年のIBM Championとしての活動に注目していただくとともに、皆様のご協力を賜りますよう、何卒よろしくお願いします。



これで所信表明になっていますでしょうか?
自分の文才のなさが嫌になりますね・・・
それと、2013年はまだ1カ月弱ありますので、記事は更新していきますので、当ブログもよろしくお願いしますね。

2013年11月7日木曜日

XPagesDay2013開催中!

こんにちは。この記事はXPagesDay2013開催中である2013年11月7日に書いています。

みなさん、XPagesDayは楽しんでいますか?
仕事なんだから、楽しいわけないだろ!?なんて言わないでくださいね。
仕事だって、楽しくやれば、能率も上がるんですよ!

さて、私のセッションはすでに終わってしまいました。
実は、昨日のセッションの大半は当ブログの記事の復習だったんですね。
なので、デモも割とすんなりと行うことができました(笑)

ブログの記事では画面ショットだけだったのが実際に動いているのを見せられたので、少しは新鮮味を感じていただけていれば嬉しいです。

先日の資料はSlideshare.netにアップロード済みです。ダウンロードも可能にしてありますので、ダウンロードして後でゆっくりとみていただいても良いですよ。

ちなみにこれですね。



さらに、セッションの元となった記事はこちらです。
Notes/Domino でREST APIを使ってみよう-前半-
Notes/Domino でREST APIを使ってみよう-後半-

セッションでは、XPages Extension Libraryのコントロールを使った方法も追加していますので、そこが違うところですね。

「Notes/Dominoは古いからなぁ。」「Webシステムの方がいいよなぁ」と考えている方。
Notes/Domioは古くないですし(歴史があるというだけです!)、今どきのWebシステムなんかにも負けません!
さらに、RESTサービスを使えば、他のWebシステムとの連携だって行えるんです!

乗り換えを考える前に、活用方法を検討しましょう!


では、残り一日半、XPagesDay2013をお楽しみください!!

2013年10月10日木曜日

今年もXPagesDayがやってきた!

こんにちは。またもや久しぶりの投稿です。
諸事情もあり、今は1ヶ月に1度の投稿が限界ですので、ご容赦ください。
それでも、ドラクエ10はやってますけど!?

さてさて、今日は告知がメインです。

TwitterやFacebookで、盛り上がっているので、
当ブログの読者様は、すでにご存じかと思いますが、
昨年、1日だけ開催されたXPages漬けのコミュニティイベントであるXPagesDayが今年も行われます!


昨年は、日本IBM殿の施設であるIBMイノベーションセンターにて開催されたため、遠隔地の方々が参加しにくいという状況でしたが、
今年はそれを払しょくするため、なんとオンラインでの開催となります。
ということは、当日に地球の裏側にいても参加できる!?
また、あまりしてほしくはないですが、途中で退席することも可能です(急な業務でどうしても席を外さなければならなくなった!という場合でもOKなんですね)。
すごいイベントですね。

ちなみに、
何を隠そう、この私もセッション講師として参加させていただきます。

他にも発起人でもあり、IBM Championでもある加藤満氏やIBM Championの畠中 恒一氏、吉田 武司氏、テクてくロータスの常連である佐藤 正彦氏、阿部 覚氏、田村 嘉史氏、そしてこのイベントのためだけに?、海老原 賢次氏や林 哲司氏らも参加されます。

私も(自分のセッションは除いて・・・)、今から楽しみでなりません。


本日(2013/10/10)から、セッションの申し込みが始まっています。
また、三日目の「Ask the "X"perts セッション」では、直接セッション講師陣に質問ができるという時間も設けられています。
事前に質問を投稿することもできますので、普段疑問に思っていることを投稿しておきましょう!


すでに、XPagesを使っている方はもちろん、まだ使ったことがないという方にもおすすめのセッションが多数あります。
そんなイベントに参加しない手はない!
さぁ、今すぐ
セッション申し込み
から申し込もう!


2013年11月6、7、8日!
この3日間はXPagesに没頭しましょう!!

2013年9月17日火曜日

XPagesでビューに三角アイコンを表示させよう


9月半ばも過ぎました。この3連休はすっかり休んでしまいました。
えぇ。ブログを更新するといったにもかかわらず・・・

ということで、今から書きます。
ちょうど、ネタを提供していただけたので。


本題に入る前に恒例のクリッククリック!です。でも、もうこれ以上、増えそうにないんですよね。アクセス数。
にほんブログ村 IT技術ブログへ


今日は、XPages におけるビューの設定についてです。
XPages ではビューをあらかじめ作成しておけば、ビューコントロールとして配置するだけで、ビューをWeb上で再現してくれます。

列がカテゴリ化されていれば、三角アイコンも自動で表示してくれます(下図参照)。
カテゴリビュー

ところが、文書と返答文書の関係については、三角アイコンが表示されません。
下図はノーツクライアントでビューを表示したときのものです。
ノーツクライアントでビューを表示

文書と返答文書のところに三角アイコンがあるのがわかりますよね?
でも、XPagesアプリとしてみた場合は、三角アイコンが表示されていません。
なぜでしょう?

答えは簡単。
設定が足りないのです。ということで、次の箇所を修正しましょう。

ビューコントロールの中で、三角アイコンを表示したい列を選択します。
この場合、「Subject」列ですね。
次にプロパティビューの「表示」タブを開きます。
そして、「返答のインデント」にチェックを付けます。
三角アイコンを表示させる手順

これで、XPage を保存すれば、ほうらご覧のとおり。
文書と返答文書のところにも三角アイコンが表示された

簡単ですね。
ぜひ、覚えておきましょう。


合言葉は・・・
ノーツでWeb化するならXPages!」 「ノーツアプリケーションの改修はXPagesで!



では、今日はこの辺で。





【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2013年8月22日木曜日

Notes/Domino 8.5以降の新機能のまとめ

2013年8月22日現在、当ブログのデザインを見直しています。


その関係上、「Lotus Notes/Domino 8.5の新機能」という部品を削除します。
そうすると、ブログ内を検索するのが難しくなることが予想されますので、
このようにまとめ記事という形で提供することにしました。


XPagesアプリケーションの作成方法

IDボールトの設定方法

IDボールトによるパスワードのリセット権限の追加

IDボールトによるパスワードのリセットその1

IDボールトによるパスワードのリセットその2

IDボールトによるパスワードリセットその3

IDボールトの不具合に対する修正

DAOSを使ってみた



Notes/Domino 8.5以降で追加された主な機能についての記事です。
まだ読んだことがないという方や、これから8.5以降にバージョンアップを検討しているという
方は一読することをお勧めします。

では。

2013年8月21日水曜日

XPagesでplaceholderを実現してみる

東京都心部では大雨が降っています(2013年8月21日)。猛暑のせいで、全国各地のダムの貯水量が減ってきているとのことですが、ぜひ、そういうところに雨が降ってほしいものです。


さて、ちょっとXPagesアプリケーションを作成していてわからなかったことが解決できたので、備忘録という形で記事に残しておきます。
中身を見る前に、恒例のボタンクリックをしましょう。
にほんブログ村 IT技術ブログへ



今日の話題はplaceholderについてです。
placeholderとは、テキストボックスに、グレーの色で薄く表示されているガイドテキストです。
facebookに投稿する際のテキストボックスに表示されている文字列ですね。
Placeholderって何?

この表現方法はHTML5で実装されたもので、最近では色々なWebサイトで見かけると思います。

XPagesでも、この技?が使えるんですよ。
Notes/Domino 8.5.3からとなりますが、その設定方法を説明します。


まずは、編集ボックスコントロールを設定します。
まぁ、当たり前ですね。
次に、プロパティビューで「すべてのプロパティ」を表示します。
ということは、他のタブでは設定できないんですね。残念。

そして、この中にある「基本」「attrs」を見ます。
すると[+]というボタンが表示されるので、そこをクリックします。
attr[0]が出来上がるので、その中の「name」と「value」に値を設定します。
今回はplaceholderの設定をしたいので、「name」には"placeholder"と入力、
「value」には表示させたいメッセージを入力します(下図参照)。
placeholderの設定

これで保存すれば終了です。簡単ですね!

下図は実行時の画面です。
実行直後なので何も入力されていません。なので、placeholderに設定した値が表示されています。
実行時の画面(まだ何も入力していない)

ここで、編集ボックスに文字列を入力したのが下図です。placeholderに設定した内容が消えて、実際に入力した値が表示されています。
実行時の画面(文字を入力してみた)

検索ボックスや氏名の入力など、細かい説明をするまでもないような箇所に設定するとわかりやすくて良いでしょう。



従来のノーツアプリケーションでも、同等な機能がありますね。
ノーツアプリケーションでのplaceholder機能


ということは、ノーツアプリケーションをXPagesにする際も安心!なんですね。

ノーツでWeb化するならXPages!」 「ノーツアプリケーションの改修はXPagesで!

では、今日はこれまで。






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

2013年8月8日木曜日

制御付きアクセスセクションをXPagesで実現してみる

もう秋かと思っていましたが、連日の暑さにやられた方々が多数いた模様です。みなさんはそんなことにならないように、日ごろから注意しましょうね。


では、本題に入る前に、こちらのボタンをクリックしてください。
にほんブログ村 IT技術ブログへ


従来のノーツアプリケーションの場合、便利な機能の一つに「制御付きアクセスセクション」というものがありますね。
設定したユーザ以外は、そのセクションの中にあるフィールドを編集することができないというものです。
こちらの機能は、ノーツWebアプリケーションでもそのまま動作してくれるというのもポイントが高いですね。

今回は、この機能をXPagesで実現する方法について説明します。

まずは、おさらいです。
従来のノーツアプリケーションで「制御付きアクセスセクション」を実現するには、
[作成][セクション][制御つきアクセス]メニューを実行します。
この時、セクションにしたい箇所をあらかじめ選択しておくとわかりやすくて良いでしょう(下図参照)。
ノーツアプリケーションでの制御つきアクセスセクション

すると、下図のようなインフォボックスが表示されるので、「タイトル」と「フィールド名」に値を入力します。
制御つきアクセスセクションのプロパティ
さらに、このウィンドウの左から3番目のタブを開いて、セクションフィールドの値を決めます。今回は、セクションフィールド名を計算結果として代入しておきます。
セクションフィールドの値

ついでに言うと、セクションを作成すると、省略された状態になってしまうので、展開しておきましょう。
この状態でフォームを保存して、ノーツクライアントでプレビューを見てみましょう。
ノーツクライアントでのプレビュー

文書の新規作成時は、制御つきアクセスセクションに設定したフィールドは空白のため、このセクションは全ユーザが編集できるようになっています。

このフィールドの値を変更すると、その値で決められたユーザのみがこのセクション内を編集できるようになります。
下図はこのセクションフィールド名の値を修正したものです。
特定のユーザのみがセクションを編集できる状態

では、これをXPagesで実現してみましょう。
XPages にもセクションコントロールがあるので、それを配置してみましょう。
でも・・・制御つきセクションの機能が実現できそうな設定(プロパティ)はありません。(下図)
セクションコントロールとそのプロパティ

では、どうすればよいのでしょうか?
答えは・・・パネルコントロールを使います。

さっそく、パネルコントロールを配置してみましょう。
「読み取り専用」というプロパティがありますね。そこにマウスカーソルをあててみると・・・(下図)
パネルコントロールのプロパティ

「このコントロールが読み取り専用であることを示し、それに含まれるコントロールを読み取り専用に切り替えます。」と書いてあります。
つまり、ここにチェックが入っていれば、パネルコントロール内に配置したその他のコントロールもすべて読み取り専用になるということです。
しかも、このプロパティは計算式を入力できるようになっています(右側にある◇の箇所)。

このプロパティをただチェックするだけでなく、計算式でチェックの有無を決めるようにすれば、特定のユーザだけ、読み取り専用にすることができるようになるのです。
これは、最初に説明した「制御つきアクセスセクション」の動作に一致しますね。

サンプルの式を記述してみましょう。
先ほどのノーツアプリケーションと同じように、Masahiko Miyo/EFMIYOだけが 編集できるようにします。
読み取り専用の計算式

気を付けるのは、trueを返すと、読み取り専用になってしまうので、編集させたいユーザの場合は、falseを返すようにすることです。

下図は、XPage にフォームをデータソースとして登録して、フィールドを設定、ブラウザで表示させたものです。
XPagesでのプレビュー

ちなみに、Masahiko Miyo/EFMIYOというユーザで、開いてみた画面が下図になります。


ユーザによって、編集できる/編集できないという切り替えができるのがわかってもらえたでしょうか?(画面にユーザ名を表示していないからわかりにくいなぁ・・・)

「読み取り専用」の式の内容を変更すれば、編集用と表示用のコントロールを複数用意する必要もなくなるようにできると思います。
たとえば、ワークフローで申請中は、この内容を修正されたくないよという場合に利用できるでしょう。

この使い方を覚えるだけで、従来のノーツアプリケーションをXPages化するのがさらに簡単になりますね。

ぜひ使ってみてください。




※もしかしたら、他にもっと華麗な方法があるかもしれません。そういった方法をご存知の方は、フィードバックしてやってください。








【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

DOMINO懇談室を利用しましょう

こんにちは。立秋が過ぎ(2013年は8月7日だったようですね)、暦の上ではもう秋なんですね。
暑いといえば暑いのですが 、気持ち風が涼しくなったようなならないような(笑)。

さて、今さらなんですが、みなさんはNotes/Dominoで困ったこと(問題)があったらどうしていますか?
  1. 自分で調べる
  2. IBMさんに問い合わせをする
  3. 周りの人に聞いてみる
  4. インターネット上を検索してみる 
  5. ディスカッションサイトで聞いてみる
  6. 問題をなかったことにする
等々が考えられますね。

1.は、過去の自分の経験をもとにすることで、解決まで至ることができるということでしょうか。
2.は、パスポートアドバンテージに加入していれば、恩恵にあずかることができるでしょう。
3.についても、自分の周りに詳しい人がいれば、その人の知識を元に解決することができるかもしれません。
6.は・・・論外ですね。後でそのツケが回ってこないことを祈るばかりです。

4.は、キーワードを指定して検索することで、 問題解決の糸口を探すことができるかもしれません(当ブログにもそのような方がたくさん来訪されているようです。うわさでは聞きますが、私本人の耳に入ってくることが少ないです。切ないです)。
ちなみに、当ブログで記事のコメントに別の質問をされてくる方がたまにいらっしゃいますが、記事に直接関係ないことについては一切回答はしませんので、悪しからず。

聞く人が周りにいなくて、インターネット上でも検索にヒットしなかった・・・という方のために
5.のようなディスカッションサイトがあります。
今でも使われているのはNotes Q&A ではないでしょうか。

その他として、 古くからあるドミノ懇談室があります。
何度か場所を移転していて、その度に過去のデータが参照できなくなった・・・と騒がれているサイトではありますが、それでも、このような場所があるのとないのとでは違うのではないでしょうか?

ちなみに、現在はIBMさんのdeveloperWorks内に設置されています。
DOMINO懇談室
ですね。
利用にはIBM IDの登録が必要ですが、Notes/Dominoに携わっている方であれば、登録して損はないでしょう(というか、登録しましょう)。

2006年から2012年8月までの過去データについては、ノーツコンソーシアム殿がDBごとダウンロードできるようにしてくれています。
利用規約がはっきりしないままの公開には賛否両論あるかと思いますが、ここは「ないよりはまし」として、再利用されることを喜びましょう。

ダウンロードについては、
【お知らせ】ドミノ懇談室過去の書き込みファイル
に記載してあります。


上記のどちらを利用するのかは、みなさんの自由です。
ただ、どちらにも言えるのは、質問して得られた回答内容に対するフィードバックを忘れないようにしましょう。
ということですね。


今日はこんなところで終わりにします。

2013年8月4日日曜日

GitHubを使ってのチーム開発 ~応用編~ (後半)

8月ですね。前回の投稿が途中で終わっているのにもかかわらず、二週間も止めてしまいました。大変失礼いたしました。

ということで、今回は前回の続きです。

始める前にボタンをクリックしましょう。
にほんブログ村 IT技術ブログへ


さて、前回はGutHub上にある共通プロジェクトを自分のリポジトリにForkして、それをローカルPC上にクローンとしてコピーして、nsf ファイルに関連づけをしたところまでやりました。


通常、ここまで出来たら、nsfファイルを編集します。これはDomino Designerで従来通りアプリケーションの修正を行えば良いので、詳しい説明は省きます。

修正が終わったら、オンディスクプロジェクトにそれを反映させる必要があります。
nsfをマウスで右クリックして、[チーム開発][オンディスクプロジェクトとの同期]メニューを実行します(下図参照)。
nsfとオンディスクプロジェクトの同期

なお、この作業は省略することもできます。
Domino Designer上で[ファイル][プリファレンス]メニューを実行して、[Domino Designer][ソース制御]タブを開きます。そこにある「変更時の設計要素の自動エクスポート(NSFからディスクへ)を有効にする」と「変更時の設計要素の自動インポート(ディスクからNSFへ)を有効にする」のチェックをつけておきます(下図参照)。
ソース制御のプリファレンス

これで、nsfに変更を行ったら、オンディスクプロジェクトに自動で同期されるようになります。
また、オンディスクプロジェクトに変更を行ったら、自動でnsfに同期されるようになります。

今度は、オンディスクプロジェクトの変更内容をGitHubに反映させます。まずは、変更内容をコミットする必要があるので、次の手順でコミットを行います。
Domino Designerのナビゲータビューを開きます。
オンディスクプロジェクトをマウスで右クリックして、[Team][Commit...]メニューを実行します。
オンディスクプロジェクトの変更をコミットする

「Commit Changes」ダイアログが表示されるので、変更内容を入力後、変更したファイルを選択して、[Commit]ボタンをクリックします(下図参照)。
コミット内容の入力

今度は、GitHub 上の自分のリポジトリに変更内容を反映させます。
再度、オンディスクプロジェクトをマウスで右クリックして、[Team][Push to Upstream]メニューを実行します。
オンディスクプロジェクトをリモートリポジトリにPushする

変更内容がGitHubのリポジトリにPushされます。
Pushが終了すると、下図のような完了確認ダイアログが表示されるので、[OK]をクリックします。
Pushの完了確認ダイアログ

ここで、GitHub の自分のリポジトリにアクセスすると、確かに変更内容が反映されたことが確認できます。
GitHub上の自分のリポジトリ

今度は、Fork元のリポジトリに反映するために、Pull Requestを発行します。
これは、元のリポジトリは管理者しか修正ができない為です。
GitHub のリポジトリの画面右側に「Pull Request」というリンクがあるので、そこをクリックします。
Pull Requestリンクをクリック

Pull Requestの画面に変わるので、「New Pull Request」ボタンをクリックします。
Pull Requestする内容が画面に表示されるので、一通り確認します。
確認が終わったら、画面上部にある「Click to create a pull request for this comparison」というリンクがあるので、クリックします。
Pull Request画面

Pull Requestする際のメッセージを入力する画面が展開されるので、内容を入力して、[Send pull request]をクリックします。
Pull Requestコメント入力画面

Pull Requestが成功すると、Fork元のリポジトリ画面に切り替わります。
Pull Requestが成功した

これで後は、リポジトリの所有者がこのPull Requestを処理してくれます。

本来はそこの手順まで書きたかったのですが、私が所有しているGitHubのプロジェクトがなかったので、それはまた別の機会で・・・

ということで今日はここまでとします。





【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

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 カスタマイズとセキュリティ強化 - 株式会社エフ