Booked Scheduler 管理

管理

アプリケーション管理者のロール(役割)のユーザーには、メニューに「管理」の項目が表示されます。 管理操作はこの中にあります。

スケジュールの設定

Booked Scheduler をインストールするとき、何もしなくてもデフォルトスケジュールが作成されます。 メニューの「スケジュール」から現在操作対象になっているスケジュールの属性を表示し変更することできます。

それぞれのスケジュールでは、時間枠を個々に定義しておかなくてはなりません。 時間枠は各スケジュール中のリソースの稼働性を決めるものです。 「時間枠の変更」をクリックすると時間枠エディターが表示されます。 ここで予約の時間区分を作成し、予約可能か予約不能かに分けます。 時間区分をどう分けるかは自由ですが、1日(24時間)のすべての時間を網羅するようにしなくてはなりません。 一行に一つの時間区分を書きます。 時刻の表記は24時間制です。 時間区分に任意で表示ラベルを付けることも出来ます。

ラベルの無い時間区分は次のように書きます。10:25 - 16:50

ラベルを付ける場合は次のように書きます。10:25 - 16:50 Schedule Period 4

時間区分設定ウィンドウの下は、支援ツールになっています。 開始時刻から終了時刻までを指定の間隔で分割し、時間区分を作り出します。

リソースの設定

リソースの表示と管理は、メニューの「リソース」から行います。 リソースの属性や運用規則を変更することができます。

Booked Scheduler での「リソース」とは、部屋や設備のような予約制にしたいあらゆるもののことです。 リソースを予約制にするために、適したスケジュールに割り当ててください。 リソースはスケジュールの時間枠をそのまま使用します。

最小予約時間を設定すると、それより短い予約は作成できなくなります。 デフォルトでの制限はありません。

最大予約時間を設定すると、それより長い予約は作成できなくなります。 デフォルトでの制限はありません。

リソースを承認が必要であると設定すると、作成した予約は承認されるまで保留状態になります。 デフォルトでは承認は不要です。

リソースを「自動的に許可される」ように設定しておくと、新しいユーザーは登録時にそのリソースを予約できるようになります。 デフォルトは自動的に許可されるようになっています。

日/時/分きざみで、予約にリードタイム(先行時間)を設定することができます。 例えば、月曜の10:30 AMからの予約を取りたいとし、予約には1日前に告知が必要であるとします。 この場合、日曜の10:30 AM以後は予約できません。 デフォルトでは、現在時刻まで予約することができます。

日/時/分まで指定してきざみで時間を指定して、はるか未来の予約を禁止できます。 例えば、今が月曜の10:30 AMだとし、リソースでは予約の終了時刻を1日以上先にすることができない設定にしてあるとします。 この場合、(終わりが)火曜の10:30 AMを過ぎる予約は出来ません。 デフォルトでは、制限はありません。

時にはリソースの定員が足りないことがあります。 例えば、8人しか入れないカンファレンスルームもあります。 リソースの定員を設定すれば、主催者を除く参加者数をそれ以内に抑えることができます。 デフォルトは無制限です。

アプリケーション管理者は定員の制限を受けません。

リソースの画像

予約ページでリソースの詳細を見るときに表示されるリソースの画像を設定することができます。 そのためには php_gd2 がインストールされ php.ini で有効になっていなくてなりません。 詳細はこちら

備品の設定

このシステムでいう「備品」とは予約時間中に使用する物品のことと考えてかまいません。 例えば、カンファレンスルームで使うプロジェクターや椅子です。

備品はメニューの「備品」から表示し操作することができます。 設定されている備品の数量を超えて、同時に予約することはできません。

予約量を制限する

限度を設定し、予約できる量を制限することができます。 Booked Scheduler の量制限システムは柔軟にできていて、予約時間と回数で制限をかけることができます。 また、量制限は「重なり」ます。 1日に5時間までという制限があり、さらに1日に4回までという制限もあるとします。 ユーザーは4時間の予約を取ることはできますが、2時間の予約を3つは取れません。 これらを組み合わせて強力な制限を行うことができます。

アプリケーション管理者は予約量の制限を受けません。

お知らせの設定

お知らせは Booked Scheduler のユーザーに注意事項を知らせる簡単な方法です。 メニューの「お知らせ」から、ユーザーのダッシュボードに表示されるお知らせを、管理することができます。 お知らせにはオプションとして開始日と終了日があります。 また任意で優先度を付けることができ、1から10の順に並べ替えて表示します。

お知らせのテキストではHTMLを使うことができ、リンクや画像を埋め込むことができます。

グループの設定

Booked Scheduler でのグループはユーザーを組織化し、リソース使用の可否を決定し、アプリケーション内での役割を定めます。

役割

役割はユーザーのグループに特定の操作を行う権限を与えます。

アプリケーション管理者(Application Administrator): この役割を与えられたグループのユーザーは、管理特権を行使することができます。この役割はリソースを予約するのにほとんど制限を受けません。アプリケーションのあらゆる箇所を管理できます。

グループ管理者(Group Administrator): この役割を与えられたグループのユーザーは、グループのユーザーの代理で予約を行うことができ、ユーザーを管理することができます。

リソース管理者(Resource Administrator): この役割を与えられたグループのユーザーは、リソースの管理と、そのリソースの予約を承認することができます。

スケジュール管理者(Schedule Administrator): この役割を与えられたグループのユーザーは、スケジュールとそこに割り当てられたリソースの管理および予約の承認を行うことができます。

予約の表示と管理

メニューの「予約」で予約の表示と管理を行うことができます。 デフォルトの設定では今日の前後7日間の予約が表示されます。 見つけたいものによって粒度を大きくも小さくもできます。 このツールで予約の様子をすばやく見ることができます。 また予約のリストをCSV形式で出力することができます。

予約の承認

$conf['settings']['reservation']['updates.require.approval'] を true に設定すると、すべての予約リクエストは一旦保留された状態になります。 予約は、管理者が承認して、始めて有効になります。 管理者は予約管理ツールで承認保留中の予約を表示し承認することができます。 保留中の予約はハイライト表示されています。

ユーザーの表示と管理

メニューの「ユーザー」から、ユーザーを登録したりユーザーを一覧することができます。 このツールでは次のようなことができます。 ユーザー個々にリソースの使用権限を変更する。 アカウントを使用不能にしたり削除する。 ユーザーパスワードをリセットする。 ユーザー情報の詳細を編集する。 新規ユーザーを追加するのもここです。 ユーザー自身での登録を無効にしている場合、この機能は無くてはならないものでしょう。

レポート作成

全てのアプリケーション管理者、グループ管理者、リソース管理者、スケジュール管理者はレポートを利用できます。レポート機能を利用できるユーザーとしてログイン中であれば、メニューにレポートが表示されます。 Booked Scheduler では予め汎用のレポートを用意しており、リストや図として表示すること、CSVとして出力すること、印刷することができます。 それらに加えてメニューの「新しいレポートを作る」からその場でレポートを作成することができます。このレポートもリスト表示、図表示、出力、印刷が可能です。 さらに自作のレポートを保存しておき、メニューの「保存されたレポート」から呼び出すことができます。レポート結果をメールで送信することもできます。

予約のリマインダー

予約の開始時刻または終了時刻にに先立ってリマインダーメールを受け取れるように出来ます。 この機能を有効にするには $conf['settings']['enable.email'] および $conf['settings']['reservation']['enable.reminders'] の両方を true にしなくてはなりません。 更に、サーバーのスケジュールタスクが /Booked Scheduler/Jobs/sendreminders.php を実行するようにしなくてはなりません。

Linux の場合は cron ジョブを使えるでしょう。実行するコマンドは php の後ろに Booked Scheduler/Jobs/sendreminders.php のフルパスを付けたものです。このサーバーの sendreminders.php へのフルパスは /home/kibousou/www/booked/Jobs/sendreminders.php です。

見本としてですが、次のようになるでしょう。 * * * * * php /home/kibousou/www/booked/Jobs/sendreminders.php

ホスティングサービスを使っていて cPanel が使用できるなら cPanelで cron ジョブを設定する方法 が近道です。「Common Settings」メニューから「Every Minute(毎分)」を選択するか、 minute(分)、hour(時)、day(日)、month(月)、weekday(曜日)のすべてを * にしてください。.

Windows の場合は タスクスケジューラを使うことが出来るでしょう。 タスクは毎分実行されるようにしなくてはなりません。実行するタスクは php の後ろに Booked Scheduler/Jobs/sendreminders.php のフルパスを指定したものです。

アプリケーション設定

一部の機能は設定ファイルを編集して設定するしかありません。

$conf['settings']['default.timezone']デフォルトで使用するタイムゾーン。 設定されなければサーバーのタイムゾーンを使用する。 設定できる値は次のリンクにある。: http://php.net/manual/en/timezones.php

$conf['settings']['allow.self.registration']ユーザー自身でアカウントを作成できるか否か

$conf['settings']['admin.email']アプリケーション管理者のメールアドレス

$conf['settings']['default.page.size']データのリストを表示する際のページあたりの表示数の初期値

$conf['settings']['enable.email']Booked Scheduler がメールを送信するか否か

$conf['settings']['default.language']ユーザーのデフォルトの言語。Booked Scheduler のlangディレクトリにある言語ならどれでも可

$conf['settings']['script.url']Booked Scheduler インスタンスのルートへの完全な公開URL。 これはbookings.php、calendar.phpのようなファイルを含んでいるWebという名のディレクトリがあるので、それにしておくこと。 この値が // で始まる場合、プロトコル(httpかhttpsか)は自動的に検出される。

$conf['settings']['image.upload.directory']画像を保存する物理的なディレクトリのパス。 このディレクトリに書き込みできる(755とか)必要がある。この指定は完全ディレクトリ名(フルパス)またはBooked Schedulerのルートディレクトリからの相対パスのいずれでもよい。

$conf['settings']['image.upload.url']そこにアップロードされた画像を表示することができるディレクトリのURL。完全なURLまたは$conf['settings']['script.url']からの相対URLのいずれでもよい。

$conf['settings']['cache.templates']テンプレートをキャッシュするか否か。tpl_cが書き込み可能なら、trueにすることが推奨される。

$conf['settings']['use.local.jquery']jQueryファイルをローカルサーバーにあるものを使うようにするかどうか。falseにするとGoogle CDNにあるものを使うようになる。パフォーマンスや転送帯域の観点からfalseにすることを推奨。デフォルトは false。

$conf['settings']['registration.captcha.enabled']ユーザーアカウントの登録時にキャプッチャを使うか否か

$conf['settings']['registration.require.email.activation']ユーザーは最初にログインする前にメールでアカウントの有効化をする必要があるかどうか。

$conf['settings']['registration.auto.subscribe.email']ユーザーを登録する際に、各種通知メールを受け取るように設定するかどうか。

$conf['settings']['inactivity.timeout']ユーザーが自動的にログアウトするまでの時間を分で指定する。自動ログアウトを無効にしたいときは空文字列にすること。

$conf['settings']['name.format']first name、last nameの表示フォーマット。デフォルトは '{first} {last}'。

$conf['settings']['css.extension.file']追加でインクルードするCSSファイルの完全または相対URL。 これはデフォルトのスタイルを上書きするために使うことができ、完全なテーマとして使用することもできる。 Booked Schedulerのスタイルを拡張しないなら空白のままにしておく。

$conf['settings']['disable.password.reset']パスワードリセット機能を無効化するかどうか。 デフォルトは false.

$conf['settings']['home.url']ロゴをクリックした際に、移動するページのURL。 デフォルトはユーザーのホームページ。

$conf['settings']['logout.url']ログアウト後にユーザーが移動するページ。 デフォルトはログインページ。

$conf['settings']['schedule']['use.per.user.colors']予約の表示色を管理者がユーザー毎に設定できるか否か。デフォルトは false。

$conf['settings']['schedule']['show.inaccessible.resources']ユーザーが予約できないリソースをスケジュール中に表示するか否か

$conf['settings']['schedule']['reservation.label']予約状況ページで各予約に表示する値。 {name}, {title}, {description}, {email},{phone}, {organization}, {position}が使用可能。 組み合わせて使用することができる。何も表示したくない場合は空白のままにする。

$conf['settings']['schedule']['hide.blocked.periods']予約できない時間帯を予約ページに表示しない。デフォルトは false。

$conf['settings']['ics']['require.login']予約をOutlookへ追加するのにログインする必要があるかどうか。

$conf['settings']['ics']['subscription.key']webcalによる購読を有効にしたいなら、推測困難な文字列を設定する。何も設定されていなければwebcalによる購読は無効。

$conf['settings']['privacy']['view.schedules']認証されていないユーザーが予約状況を見ることができるかどうか。デフォルトは false。

$conf['settings']['privacy']['view.reservations']認証されていないユーザーが予約の詳細を見ることができるかどうか。デフォルトは false。

$conf['settings']['privacy']['hide.user.details']管理者でなくても他のユーザーの情報を見ることができるかどうか。デフォルトは false。

$conf['settings']['reservation']['start.time.constraint'] 予約を作成したり編集したりできるタイミング。設定できるのは future、current、none。 future にすると、まだ、選択した予約(時間の)枠の開始時刻になっていなければ、作成、変更できる。 current にすると、まだ、選択した予約(時間の)枠の終了時刻になっていなければ、作成、変更できる。 none にすると予約の作成、変更に現在時刻による制限はない。 デフォルトは future。

$conf['settings']['reservation']['updates.require.approval']承認が必要であった予約を変更する際に、再度承認が必要かどうか。デフォルトは false.

$conf['settings']['reservation']['prevent.participation']ユーザーが別のユーザーを予約の参加者にしたり招待する機能を使えないようにするかどうか。デフォルトは false (なので有効)。

$conf['settings']['reservation']['prevent.recurrence']繰り返し予約する機能を使えないようにするかどうか。デフォルトは false (なので有効)。

$conf['settings']['reservation.notify']['resource.admin.add']予約が作成されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['resource.admin.update']予約が更新されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['resource.admin.delete']予約が削除されたとき、全てのリソース管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['application.admin.add']予約が作成されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['application.admin.update']予約が更新されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['application.admin.delete']予約が削除されたとき、全てのアプリケーション管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['group.admin.add']予約が作成されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['group.admin.update']予約が更新されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['reservation.notify']['group.admin.delete']予約が削除されたとき、全てのグループ管理者にメールを送るかどうか。デフォルトは false。

$conf['settings']['uploads']['enable.reservation.attachments']ユーザーが予約にファイルを添付できるかどうか。デフォルトはfalse 。

$conf['settings']['uploads']['reservation.attachment.path']添付ファイルを保存するディレクトリのファイルシステム上の絶対または(Booked Scheduler ディレクトリのルートからの)相対パス。ディレクトリにPHPが書き込み可能(755とか)でなくてはならない。デフォルトは uploads/reservation

$conf['settings']['uploads']['reservation.attachment.extensions']安全とみなすファイル拡張子のカンマで区切ったリスト。空白にすれば全てのファイル拡張子がアップロードできる。(推奨しない)

$conf['settings']['database']['type']PEAR::MDB2 でサポートされている型の何れか

$conf['settings']['database']['user']データベースにアクセスするユーザー

$conf['settings']['database']['password']データベースユーザーのパスワード

$conf['settings']['database']['hostspec']データベースホストのURLまたは名前付きパイプ

$conf['settings']['database']['name']Booked Scheduler 使うデータベース名

$conf['settings']['phpmailer']['mailer']PHPのメールライブラリ。mail、smtp、sendmail、qmail から選ぶ

$conf['settings']['phpmailer']['smtp.host']smtp を使う場合の SMTPホスト

$conf['settings']['phpmailer']['smtp.port']smtp を使う場合の SMTPポート。通常は25

$conf['settings']['phpmailer']['smtp.secure']smtp を使う場合の SMTP セキュリティ。''(空文字列)、ssl 、tls のいずれか

$conf['settings']['phpmailer']['smtp.auth']smtp を使う場合に SMTP 認証が必要かどうか。true または false

$conf['settings']['phpmailer']['smtp.username']smtp を使う場合の SMTP ユーザー名

$conf['settings']['phpmailer']['smtp.password']smtp を使う場合の SMTP パスワード

$conf['settings']['phpmailer']['sendmail.path']sendmail コマンドを使う場合の sendmail コマンドのパス

$conf['settings']['plugins']['Authentication']使用する認証(authentication)プラグインの名称。詳しくは下記のプラグインの項で。

$conf['settings']['plugins']['Authorization']使用する権限(authorization)プラグインの名称。詳しくは下記のプラグインの項で。

$conf['settings']['plugins']['Permission']使用する許可(permission)プラグインの名称。詳しくは下記のプラグインの項で。

$conf['settings']['plugins']['PreReservation']使用する予約前実行(prereservation)プラグインの名称。詳しくは下記のプラグインの項で。

$conf['settings']['plugins']['PostReservation']使用する予約後実行(postreservation)プラグインの名称。詳しくは下記のプラグインの項で。

$conf['settings']['install.password']インストールもしくはアップグレードを実行しようとするとき、何かパスワードを設定しておく必要がある。

$conf['settings']['pages']['enable.configuration']アプリケーション管理者に設定を変更するページを表示するかどうか。true または false。

$conf['settings']['api']['enabled']Booked Scheduler で RESTful API を有効にするかどうか。 このAPIの使用環境については readme_installation.html を見ること。true または false。

$conf['settings']['recaptcha']['enabled']組み込みのキャプッチャではなく reCAPTCHA を使うかどうか。true または false。

$conf['settings']['recaptcha']['public.key']reCAPTCHA の公開鍵(public key)。 サインアップするには www.google.com/recaptcha へ行く。

$conf['settings']['recaptcha']['private.key']reCAPTCHA の秘密鍵(private key)。サインアップするには www.google.com/recaptcha へ行く。

$config['settings']['email']['default.from.address'] メールを送信する際の 'from' アドレスとして使われるメールアドレス。 メールがバウンス(エラーで返される)したりスパムと判定されてしまうときは自身のドメインをメールアドレスに設定しましょう。 例えば、noreply@yourdomain.com。 これは 'from' 名、reply-toアドレスは変更しない。

$conf['settings']['reports']['allow.all.users']管理者以外のユーザーがレポート画面を操作できるかどうか。デフォルトは false。

$conf['settings']['password']['minimum.letters']ユーザーパスワードの最少の長さ。デフォルトは 6。

$conf['settings']['password']['minimum.numbers']ユーザーパスワード中に必須の数字の数。デフォルトは 0。

$conf['settings']['password']['upper.and.lower']ユーザーパスワードに大文字と小文字の両方が必要かどうか。デフォルトは false。

プラグイン

下記のコンポーネントがプラグイン可能になっています:

プラグインを有効にするには、プラグインフォルダの名前を設定ファイルに書きます。 例えば、LDAP認証を有効にするには、次の設定を記述します。 $conf['settings']['plugins']['Authentication'] = 'Ldap';

プラグインにはそれぞれの設定ファイルがあります。 LDAPの場合は、/plugins/Authentication/Ldap/Ldap.config.dist を/plugins/Authentication/Ldap/Ldap.configにリネームするかコピーし、すべての値を実行環境に合わせて編集します。

プラグインのインストール

新しいプラグインをインストールするにはそれのフォルダをAuthentication、Authorization、Permissionディレクトリのいずれかにコピーします。 そしてconfig.php の $conf['settings']['plugins']['Authentication']、$conf['settings']['plugins']['Authorization'] 、$conf['settings']['plugins']['Permission'] のいずれかの値をフォルダの名前に変更します。