備考
ActiveReportsを使用した帳票アプリケーションの基本的な作成方法については、これまでの連載記事も併せてご参照ください。特に、1つ前のバージョンである7.0Jをもとに解説した2013年度版の記事は、9.0Jでもそのままご利用いただける内容となっています。また、2007/2008年度版の記事は3.0Jをもとに解説していますが、3.0Jのレポートと9.0Jのセクションレポートは名前空間や一部のAPIを除いて同じレポート形式であるため、セクションレポートの概念や基本的な使い方についてはこちらもご活用ください。
はじめに
ActiveReports 9.0J Server(以下、ActiveReports Server)はActiveReportsで作成した帳票の運用、管理環境として動作するサーバー製品です。第6回ではActiveReports Serverのインストールや初期設定の方法について説明しましたが、今回は帳票のセキュリティ管理、スケジュールによる帳票の定期配信など、ActiveReports Serverで利用できる主要機能について、以下の構成で説明していきます。
- ユーザーとロールの作成
- カテゴリとパーミッションの設定
- スケジュールの設定
- まとめ
記事の中で「管理者ポータル」および「利用者ポータル」へアクセスする手順が登場しますが、それぞれへのアクセス方法は第6回の記事をご覧ください。
対象読者
- 帳票作成ツールに興味のある方
- 帳票の運用管理基盤を手軽に構築したい方
- iPad/iPhoneで帳票を閲覧したい方
- ActiveReportsで帳票開発を行っている方
必要な環境
- Windows Server 2008/Server 2008 R2/Server 2012/Server 2012 R2
- .NET Framework 4.5/4.5.1/4.5.2/4.6/4.6.1
- IIS
備考
上記のサーバーOSを準備するのが困難な場合は、Windows Vista/7/8/8.1などのクライアントOS上にインストールして動作を試すことも可能です。インストール前の準備として、上記に示したバージョンの .NET Frameworkをインストールし、「Windowsの機能の有効化と無効化」から、「インターネットインフォーメーションサービス」⇒「アプリケーションの開発機能」⇒「ASP.4.5」を設定してください。Windows 8.0以降の場合は、「Windowsの機能の有効化と無効化」から「.NET Framework 4.5」の「WCFサービス」⇒「HTTPアクティブ化」も設定してください(サーバーOSにおける事前準備は第6回に記載しています)。インストールの手順は、第6回で紹介する手順と相違ありません。
ただし、実際に運用を行う際のサポート環境は、上記のサーバーOSのみとなりますのでご注意ください。
ユーザーとロールの作成
ActiveReports Serverをインストールした直後は、第6回の「サーバー構成ウィザード」で作成した管理者アカウントしか存在しません。ActiveReports Serverの運用にあたり、一般ユーザーとそれらが所属するロールを作成してみましょう。
ロールの作成
ActiveReports Serverでは、各帳票に対するパーミッションは個々のユーザーではなく、ロールに割り当てられます。ロールには帳票に対するパーミッションのほか、以下の操作に対するパーミッションを設定可能です。
レポートのアップロードを許可
この権限を設定した場合、帳票デザイナより帳票を新規作成しActiveReports Serverにアップロードすることが可能になります。
レポートのスケジューリングを許可
この権限を設定した場合、利用者ポータルから帳票をスケジュール実行することが可能になります。
レポートのシステムカテゴリ変更を許可
この権限を設定した場合、利用者ポータルから帳票に設定されている「システムカテゴリ」を変更することが可能になります。
まずは、異なるパーミッションを持つ2つのロール「営業部」と「総務部」を作成します。管理者ポータルの左メニューから「ロール」を選択し、「新しいロール」の[作成]をクリックします。
「ロールの作成」ダイアログが表示されるので、以下の値を設定して[作成]ボタンをクリックし、「営業部」のロールを作成します。
ロール名 | 営業部 |
---|---|
レポートのアップロードを許可 | オフ |
レポートのスケジューリングを許可 | オン |
レポートのシステムカテゴリ変更を許可 | オン |
同様に、「ロールの作成」ダイアログから以下の値を設定して、「総務部」のロールを作成します。
ロール名 | 総務部 |
---|---|
レポートのアップロードを許可 | オフ |
レポートのスケジューリングを許可 | オフ |
レポートのシステムカテゴリ変更を許可 | オフ |
ロールが作成されると以下のようにロールの一覧画面に「営業部」と「総務部」のロールが表示されます。
ユーザーの作成
ロールを作成したら、次はActiveReports Serverを利用する2人のユーザーアカウント「営業部のtaro」と「総務部のhanako」を作成し、それぞれが所属するロールを設定します。管理者ポータルの左メニューから「ユーザー」を選択し、「新規ユーザー」の[作成]をクリックします。
「ユーザーの作成」ダイアログが表示されるので、以下の値を設定して[次へ]ボタンをクリックします。
ユーザー名 | taro |
---|---|
パスワード | 任意のパスワードを入力 |
パスワードの確認入力 | パスワードを再入力 |
taro.grape@grapecity.com | |
説明 | 葡萄太郎 営業部 |
次に「新規ユーザーのロール選択」ダイアログが表示されるので、「営業部」のチェックをオンに設定して[終了]ボタンをクリックします。
以下の様に、ユーザーの設定画面に「taro」のユーザーアカウントが追加されます。
ユーザー「taro」と同様の手順で、ユーザー「hanako」を作成し、「総務部」のロールに所属させます。設定値は以下の通りです。
ユーザー名 | hanako |
---|---|
パスワード | 任意のパスワードを入力 |
パスワードの確認入力 | パスワードを再入力 |
hanako.grape@grapecity.com | |
説明 | 葡萄花子 総務部 |
所属するロール | 総務部 |
カテゴリとパーミッションの設定
次に製品付属のサンプル帳票を利用して、帳票ごとにカテゴリとパーミッションを設定します。
カテゴリの作成
ActiveReports Serverでは、帳票にカテゴリ(Gmailのラベル機能に相当)を付けて整理できます。1つの帳票に複数のカテゴリを付与できるため、フォルダよりも柔軟できめ細やかな整理ができます。
まず、カテゴリを追加します。左メニューより「カテゴリ」をクリックしカテゴリ一覧画面を表示し、[カテゴリの追加]ボタンをクリックします。
「カテゴリの作成/更新」ダイアログが表示されるので、「営業部」のカテゴリを作成します。ここでは「場所」に「ルート」を指定しますが、階層的にカテゴリを作成することも可能です。
同様に「総務部」のカテゴリも作成します。
帳票のカテゴリ設定
次に帳票に対してカテゴリの設定を行います。ここでは製品に付属しているサンプル帳票を使用して、以下のようなカテゴリの設定を行います。
レポート名 | 設定するカテゴリ |
---|---|
顧客名簿 | 営業部 |
社員一覧 | 総務部 |
請求書 | 営業部、総務部 |
左メニューより「管理」⇒「レポート」をクリックして帳票の一覧画面を表示し、一覧画面から「顧客名簿」の横のチェックボックスにチェックを入れ、[カテゴリ]ボタンをクリックします。
「カテゴリの設定」ダイアログが表示されるので、「営業部」にチェックを付け、[設定]をクリックします。
同様に「社員一覧」と「請求書」にも、前述の「各帳票に設定するカテゴリ」の表の内容にしたがってカテゴリを設定していきます。
帳票のパーミッション設定
次に各帳票に対してパーミッションの設定を行います。パーミッションはロール単位で設定します。以下のパーミッションが設定可能です。
読み取り
このレポートのプレビューが可能になります。
読み取りと変更
このレポートのプレビュー/編集/削除が可能になります。
フルコントロール
このレポートのプレビュー/編集/削除に加え、パーミッションの変更が可能になります。
なし
このレポートはポータル画面のレポート一覧に表示されなくなります。
レポート名 | ロール名 | |
---|---|---|
営業部 | 総務部 | |
顧客名簿 | 読み取りと変更 | なし |
社員一覧 | なし | 読み取りと変更 |
請求書 | 読み取りと変更 | 読み取り |
左メニューより「管理」⇒「レポート」をクリックしてレポートの一覧画面を表示し、一覧画面から「顧客名簿」の横のチェックボックスにチェックを入れ、[パーミッション]ボタンをクリックします。
「パーミッションの変更」ダイアログが表示されるので、「営業部」に対して「読み取りと変更」、「Everyone」に「なし」をそれぞれ設定し、「適用」をクリックします。
同様に「社員一覧」と「請求書」にも、前述の「各帳票に設定するロールごとのパーミッション」の表の内容にしたがってパーミッションを設定していきます。
利用者ポータルの操作
カテゴリとパーミッションの設定が完了したら、実際に利用者ポータルにログインして、レポートのアクセス制御の動作を確認してみましょう。前述の手順で作成したユーザー、「taro」のアカウントでログインします。
「taro」のアカウントは「営業部」のロールに属しているので、左ペインから「営業部」のカテゴリを選択してみます。「営業部」のカテゴリには、「営業部」のカテゴリに属している帳票、かつ「taro」(「営業部」のロールに属しているアカウント)からアクセス可能な帳票が表示されます。
同様に「hanako」のアカウントでログインして「総務部」のカテゴリを選択すると、「総務部」のロールに属しているアカウントからアクセス可能な帳票が表示されます。この時「請求書」は両方のアカウントから参照できていますが、「hanako」が所属する「総務部」のロールにはこの帳票の「読み取り」の権限しかないので、「削除」ボタンが表示されません。
スケジュールの設定
ActiveReports Serverでは、あらかじめ作成したスケジュール定義をもとに、定期的に帳票を配信することが可能です。配信の種類は、以下のいずれかを選択できます。今回は「Windowsファイル共有」の手順について説明します。
- Windowsファイル共有
- E-mail送信(添付ファイルまたはリンク)
備考
E-mail送信の場合の手順については、「クイックスタートガイド」の「5. スケジュールの設定」をご覧ください。
共有スケジュールの作成
ActiveReports Serverで帳票をスケジュール配信するには、まず「共有スケジュール」と呼ばれるスケジュールのテンプレートを作成します。管理者ポータルの左メニューから「スケジュール」をクリックして共有スケジュール画面を表示し、「新しい共有スケジュールの追加」をクリックします。
備考
共有スケジュールには、「毎日」「毎週」「毎月」というテンプレートがあらかじめ用意されています。これらをカスタマイズしてスケジュール配信を行うことも可能です。
スケジュールテンプレートの設定画面が開くので、以下の値を設定します。今回は月初のAM10:00に実行されるようにスケジュールを設定します。各設定項目の詳細については製品ヘルプの「スケジュールの管理」を参照してください。
名称 | 月次請求書作成 |
---|---|
説明 | 月次で請求書を作成します |
パーミッション | 「営業部」のチェックをオン |
開始 | スケジュール配信を開始する日時(ここでは2016/2/1 10:00を設定します) |
間隔 | 1月間 |
曜日 | 全てにチェック |
結果の保存期間 | 14日間 |
フォーマット | PDF文書 |
配信種別 | 利用者に選択させる |
設定が完了したら[保存]ボタンをクリックします。スケジュールテンプレートが追加されて以下のように表示されます。
帳票にスケジュールを設定
共有スケジュールのテンプレートを作成したら、次はそのテンプレートを使用して、帳票にスケジュールタスクを設定します。スケジュールタスクの設定は利用者ポータルの「スケジュール」タブから行います。
前述の手順で「レポートのスケジューリングを許可」にチェックを入れた「営業部」のロールに所属する「taro」のアカウントで利用者ポータルにログインし、左ペインから「営業部」カテゴリを開き「請求書」を選択して、「スケジュール」タブを開きます。
「スケジュール」タブから[スケジュールの追加]ボタンをクリックすると、「スケジュール1」という名前のスケジュールタスクが追加されるので、以下の値を設定して保存します。
使用するスケジュール | 月次請求書作成 |
---|---|
配信種別 | Windowsファイル共有 |
ファイル名 | 請求書_&{ExecutionTime:yyyyMM} |
拡張子の有無 | はい |
ファイルパス | ファイルを出力するネットワーク上のフォルダのUNCパス(ここでは「\\arserver\filesv」というパスにファイルを出力します) |
ユーザー名 | 「ファイルパス」で指定したフォルダにアクセス可能なWindowsのユーザー名 |
パスワード | 「ユーザー名」で指定したユーザーのパスワード |
上書き | 上書き保存 |
あとはスケジュールの開始時刻になれば、自動的にタスクが実行されます。利用者ポータルで対象の帳票を選択し、「履歴」タブを開くと実行結果が確認できます。[開く]ボタンをクリックすると、生成したPDFのキャッシュデータを直接開けます。
出力先として指定したフォルダを開くと、以下のように正常にPDFが出力されています。
まとめ
今回はActiveReports Serverを運用していく上で重要となる、レポートのセキュリティ管理、スケジュール配信の方法について紹介しました。次回は、APIを使用した他システムとの連携方法や、監査データベースの設定方法について紹介します。