ページビューの合計

2016年12月26日月曜日

年末のご挨拶

皆様、こんにちは!!

今年もいよいよ、残すところ1週間を切りました。
お正月の準備は進んでますか?

私はこの3連休で散髪と洗車まではなんとか終えました。


髪を思い切って切りすぎたのが原因か、なかなか風邪気味が抜け切れず、予定していたお風呂掃除は持ち越してしまいました。

それ以外では餅つきと網戸掃除、フローリングのワックス掛けくらいでしょうか。

また随時FBは投稿致します。


さて7月からスタートした当ブログもなんとか半年。
内容的にどうかなぁと思いつつ、何か残っていれば、いつかは誰かのお役に立てればいいなぁと・・・。

前回までネタとしていました名刺管理もノーツのフォームやビュー+αを知る手段としては一旦休息を頂こうかと考えております。

来年からは、FBで少し触れておりましたが、当社で利用を開始したタイムレコーダーアプリについて、少しずつ書いてみようかと考えております。


そもそも当社ではWindows XP + Office2007(正しくはAccess2007)でフリーソフトをタイムレコーダーとして使っていたのですが、ついにXP機が破損してしまいました。
そのままフリーソフトを使い続けるつもりだったのですが、どういう訳かWindows7+Office2016では動いてくれず、フリーソフトを使っていることにも納得できていなかったことから、ノーツで作れないかということが発端となった事案になります。

本来のノーツの使い方(ユーザーIDを使い、運用管理する)とは異なるため、世間的にはどうかとは思いますが、私自身が2年ほど学んできたxpagesに関して、こちらも取り組みやすい設計例として見ていただくことができるのではと感じています。
・・・実際にはもっと高度なプログラムを組み込むことで、ステップアップできそうなのですが、あえて私のようなxpages初心者レベルが一から作ったという点に着目して、記載していきたいと考えております。


ノーツコンソーシアム正式会員としての初年度が終えようとしていますが、皆様のおかげで本当にたくさんの経験ができ、たくさんの知識も頂くことができました。

引き続き、中小企業という観点・及びプログラマー不在での開発について、情報発信ができればと考えております。

来年も何卒よろしくお願い致します。



2016年12月19日月曜日

【第12回】ノーツアプリ作成~作成者フィールドの作成~

皆様、こんにちは!!

年末、ツキすぎてる萩原です!
フェイスブックには少し投稿しましたが、先日の野球部首位打者+MVPに加え、金曜に開催されました忘年会ビンゴにてなんと!!
当ててはいけない1等賞を引いてしまいました。

この勢いで宝くじを・・・なんて考えましたが、今のところ買ってません。
別のよからぬものにぶち当たったりしないか、心配です~。


さて本題に入る前にまたまた宣伝です。

今週21日(水曜日)に【Notes/Domino on IBM Cloud】が開催されます。
私は大阪のパブリックビューに参加致します。
今回はコンソーシアム会員の方でなくても参加可能です。
また大阪では終了後に【Ask the NotesConsortium】も開催されます。普段聞けないことなど、どしどし質問して、登壇者をいじめてやりましょう!!
今からでも参加可能ですので、すぐにお申込を!!


それでは本題です。前回はACLの設定とサーバーへのアップロードを行いました。

もちろんこれで全社員の方が使用できるようにはなったのですが、ひとつ問題があります。

管理職グループに含まれる方々は【編集者】になりますので、特に支障がないのですが、一般社員の方々は【作成者】になります。
つまりこのままでは編集権限を持たないユーザーになる訳です。

例えば新規で作成し、保存した後に誤字に気付いたとします。
しかしながら現状の設定では自分では修正することができず、管理職の方に編集を依頼しなければなりません。

たったそれだけの事で、わざわざ管理職の方々の手を煩わせるのでは生産性が上がりません。

ノーツではそのような場合も考慮された仕組みが提供されています。

それでは早速実装してみましょう。


デザイナーで【メインフォーム】を開きます。

フォームの末尾に2行2列の表を作成します。(レイアウトの設定は自由ですが、私は【マージンに合わせる】で作成しました。


作成された表の左上に【作成者:】
左下に【作成日:】
右上に【編集者:】
右下に【編集日:】
と入力します。
※せっかくですので、最終編集者の情報も表示できるように変更しておきます。


続いてフィールドを追加します。

まずは作成者ですが、以下のような設定を行います。

名前:createdby(特に指定ではありません)
種類:作成者(作成時の計算結果)
値: @UserName


文書の初回作成時に、@UserNameという関数を用いて、作成したユーザーを特定し、文書内に保存します。

今後作成された文書には、【createdby】フィールドに作成したユーザーの情報が保存され、そのユーザーについては、【作成者】権限でありながら、自身で作成した文書については、【編集者】権限を持つことができるようになり、先のような問題を回避することが可能になります。

それでは残りのフィールドを作成しましょう。

作成日フィールド

名前:created(こちらも指定ではありません)
種類:日付/時刻(作成時の計算結果)
値:@Created


なお時間も表示したい場合は、制御タブで【時刻の表示】にチェックしてください。
※作成日・修正日という性格上、筆者はチェックをお奨めします。


次に編集者です。

名前:modifiedby(こちらも自由です)
種類:名前(計算結果)
値:@UserName

作成者と類似しているのですが、種類が【名前】であり、【計算結果】になっています。
作成時以外にも、編集時に再計算する必要がありますので、このような設定となります。


最後に編集日です。

名前:modified(こちらも自由です)
種類:日付/時刻(計算結果)
値:@Midified

こちらも編集者と同様に、計算結果とすることで、再計算を行うフィールドとなります。
作成日同様、時刻にチェックを推奨致します。

以上でフィールドの追加が終りましたので、ノーツでプリビューしてみましょう。


プリビューでは新規作成画面となりますので、このように作成者側と編集者側の情報が同一となりますが、実際に編集が発生しましたら、編集者と編集日が上書きされるようになります。


なおこの4フィールドはよく使うフィールドですので、【サブフォーム】に登録し、他のアプリケーションなどにコピーして利用するほうが便利ですが、現時点でサブフォームについては記述は省かせて頂きます。


さて次回ですが、せっかくサーバーにアップロードしたのですから、アイコンをオリジナルのものに変更し、ワークスペース上でも分かりやすくしてみましょう。

気に入ったアイコンに変更できると、愛着が増すかも?


引き続き、よろしくお願い致します。

2016年12月12日月曜日

【第11回】ノーツアプリ作成~ACLの設定とサーバーでの公開~

みなさま、こんにちは!! 

今年も残すは3週間となりました。 弊社は商社ですので、お客様へのデリバリー等、要注意な時期になります。

 ちなみに今週末には全社忘年会。 29日はAM大掃除で、午後には近くでフットサルという恒例行事が待っております!!

 すいません、話しがそれていきました。


 さて前回まででアプリケーションの大枠が完成したと記載しましたが、今回は完成したアプリケーションに対して、ACL(アクセス制御リスト)と呼ばれる権限権限設定を少し行い、サーバーへアップロードし、社内で利用可能な環境にしたいと思います。

 まずはACLの設定です。

ノーツのアクセス制御は非常に優れており、アプリケーションごとに、ユーザーやグループごとの権限設定ができるだけでなく、フォーム内の要素ごとにも設定が可能です。
またロールと呼ばれるいわゆる「役割り」機能もあり、かなり細かく設定することが可能です。

今回は初歩レベルとして、一般的な設定のみ説明致します。

ACLの開き方ですが、デザイナーの場合、該当するアプリケーション(今回は名刺管理)が開かれた状態で、[ファイル]-[アプリケーション]-[アクセス制御]をクリックします。

ノーツクライアントからも設定可能で、こちらの場合は対象となるアプリケーションを右クリックし、[アプリケーション]-[アクセス制御]をクリックします。

すると下記のようなダイアログが表示されます。


今回はこの基本タブ内に、全ユーザーに文書の作成権限を与え、管理職メンバーに編集権限を与えることにします。
※管理職メンバーについては、公開アドレス帳にグループ登録されていることが前提となっておりますので、ご了承ください。

まずは全ユーザーを作成者とします。
この画面を見ていただくと、ユーザー、サーバー、グループ欄で【-Default-】が選択されています。こちらはアクセスできる全ユーザーのことを表しますので、この状態で右側の属性から【作成者】を選択します。


続いて管理職グループです。

ユーザー、サーバー、グループ欄の下にある【追加】ボタンをクリックます。

下記のようなダイアログが開きますので、テキストボックス右側の人アイコンの書かれたボタンをクリックします。


ユーザー名の選択ダイアログが表示されますので、【管理職】を選択して【追加】、【OK】をクリックします。



一覧に管理職が表示されますので、属性で
 種類:ユーザーグループ
 アクセス権:編集者

を設定します。

以上でACLの設定はできました。


それではサーバーへアップロードしてみましょう。


デザイナー画面で、[ファイル]-[複製]-[レプリカの作成]をクリックします。

下記のようなダイアログが表示されますので、サーバー:部分を社内サーバーに変更します。
※必要に応じて、ファイルパスにてサブディレクトリ等を選択してください。



弊社の環境では
サーバー:SVR-****/***
ファイルパス:test\meisi.nsf

となります。

入力されましたら、【OK】をクリックしてください。

ノーツクライアント側で、「複製と同期」というタブが表示され、サーバーへの複製が開始されます。
今回程度の内容ですと、一瞬で完了します。

「複製と同期」タブを閉じると、名刺管理のアイコンに少し変化が現れます。


右上に▼が表示され、どのアプリケーションを利用するか選択できるようになりました。
▼をクリックすると、【Local】と【SVR-****】を切り替えることが可能となります。

ユーザーはサーバー側のアプリケーションを利用いただくことになります。


以上、自分で書きながら、うまく説明が書けないなと感じておりますが、一旦公開させて頂きます。
何卒ご了承ください。


さて次回はせっかくサーバーにアップロードしたのですから、アイコンを変更してみたいと思います。


2016年12月6日火曜日

【第10回】ノーツアプリ作成~メニューとフレームセットの作成~

皆様、こんにちは!!

気付けば12月。
さらに言うと、しばらく本題から外れてしまっており、危うく1ヶ月放置するところでした。

が・・・

まずは宣伝させてください。

12月21日(水)午後に、【Notes/Domino on IBM Cloud テクニカルセミナー】が開催されます。

我が大阪地区でもIBM様大阪事業所にてパブリックビューイングが予定されておます。
加えて終了後は、ask the ノーツコンソーシアムと銘打った、何でもお悩み相談会も行われます。
このイベントはコンソーシアム会員以外でも参加可能ですので、ぜひご検討ください。


さて本題ですが、前回まででおおよそのフォームとビューが使えるようになりましたので、これらをつなぐ要素としてフレームセットを作成し、左側にはビューを行き来できるようメニューを作成します。


まずはメニュー部分から作成します。
早速ですが、「名刺管理」をデザイナーで開き、「共有要素」内の「アウトライン」をダブリクックします。
上部の【新規アウトライン】ボタンをクリックし、アウトラインを作成します。

 名前: メニュー

 別名: menu

とします。




続いて【新規エントリ】ボタンをクリックし、下記のように設定します。


 ラベル: 氏名カナ順

 種類:名前付き設計要素、ビュー
 値: 氏名カナ順
 フレーム: body(こちらの後のフレームのプロパティにも設定しますので、必須ではありません)



同様に「カテゴリ別」も作成してください。

下記のように表示されるはずです。



以上でアウトラインができましたので、保存して閉じます。

続いて先のアウトラインを埋めたページを作成します。

ページをダブルクリックし、【新規ページ】ボタンをクリックします。

 名前: メニュー
 別名: menu

とし、OKします。



新規のページが開きますので、【作成】-【埋め込み設計要素】-【アウトライン】をクリックします。


埋め込みアウトラインの挿入ダイアログが表示されますので、「メニュー」を選択し、OKします。

以上でページにアウトラインが埋め込まれます。



ページを保存して閉じます。

以上でアプリケーションを組み上げる要素が揃いましたので、フレームセットを作成し、配置していきます。

フレームセットをダブルクリックし、【新規フレームセット】ボタンをクリックします。

名前は自由ですが、今回は

 名前: メイン
 別名: main
 フレーム数:2(左メニュー)

としてOKします。


フレームセットが作成されましたので、それぞれのフレームのプロパティを設定します。


まずは左側(メニュー側)のフレームを右クリックし、【フレームのプロパティを開き、下記内容を設定します。

名前: menu
種類: 名前付き設計要素、ページ
値: メニュー
フレーム内のリンクのデフォルト対象; body



続いて右側のフレームのプロパティを下記のように設定します。

 名前: body
 種類: 名前付き設計要素、ビュー
 値: 氏名カナ順


以上で設定完了しましたので、ノーツでプリビューしてみます。


左側のメニューでビューが切り替えられることを確認してください。


さて以上でフレームセットは完成ですが、これだけではユーザーはすぐに利用できません。
アプリケーション起動時に、このフレームセットを開くように設定する必要があります。

【アプリケーション構成】内の【アプリケーションのプロパティ】を開きます。
左から2番目の【起動】タブを選択し、IBM Notesクライアントの起動について、

起動: 指定したフレームセットを開く
フレームセット: メイン

とし、保存して閉じます。

以上で、ユーザーがアプリケーションを開いた際に、メインフレームセットが開くようになります。


基礎アプリケーションの作成としては以上でひとまず完成しましたが、ちょっとちょっと使いにくい部分があるかと思いますので、次回以降で少し紹介させて頂きます。