ここでは、システム構成、パブリッシュ、ログ、設定ファイルについて解説します
Azukiシステムは初期状態として3階層の管理システムと一般公開されるサイトで構成されます。
階層名 | URL | 概要 | |
---|---|---|---|
1. | システム管理 | /system | システム全般の管理機能を提供する管理画面 |
2. | 組織管理 | /manage | サイトやグループごとの管理機能を提供する管理画面 |
3. | ユーザーマイページ | /mypage | 各ユーザーに提供される管理画面 |
4. | フロント画面 | / | 一般公開されるサイト |
DirectorsTableSeeder.php
で設定したログイン情報にてログインできます。
システム管理者のログインIDはemailになります。
システム管理では以下の管理機能を提供しています。
メニュー名 | URL | 概要 | |
---|---|---|---|
1. | システム管理者 | /system/directors | システム管理者の登録・編集・削除を行います |
2. | サイト管理者 | /system//managers | 組織管理階層管理の登録・編集・削除を行います 本システムで組織管理者は一般にサイト管理者として扱っています |
3. | ユーザー管理 | /system/users | ユーザーの登録・編集・削除を行います ユーザーはフロント画面からもユーザー自身で登録されたものもあります また、ユーザー自身により編集も行われます |
4. | ロール管理 | /system/system-roles | システム管理者に割り振ることが出来る役割を管理しますMasterDataTableSeeder.php により、スーパーバイザーとユーザー管理者という二つのロールを初期設定していますロールごとにアクセス制限を設定できます。アクセス制限の登録はURLベースとなりワイルドカードが使用できます 具体的な判定方法は request->is('url') です |
5. | 組織管理 | /system/organizations | 所属機能が有効場合、ここで組織の登録・編集。削除を行います |
6. | アクセスログ | /system/access-logs | アクセスログ機能が有効の場合、アクセスログを確認できます |
7. | ログインログ | /system/login-logs | ログインログ機能が有効の場合、ログインログを確認できます |
8. | オペレーションログ | /system/operation-logs | オペレーションログ機能が有効の場合、オペレーションログを確認できます |
9. | システムログ | /system/system-logs | システムログを確認できます |
本システムはサイト管理者の階層を店舗ごとや組織ごとといったグループ(以下、所属と呼びます)に分けて管理することができます
そのため組織管理と呼称していますが、所属機能は初期設定では無効でありその場合、サイト管理者としての位置づけとしてとらえています
システム管理にて登録したサイト管理者の情報でログインできます
サイト管理者のログインIDはメールアドレスではなくログインIDです
メールアドレスは任意項目ですが、メールアドレスの登録がないユーザーはパスワードリマインダーが利用できません
組織管理では以下の管理機能を提供しています。
メニュー名 | URL | 概要 | |
---|---|---|---|
1. | 管理者 | /manage//managers | 管理者の登録・編集・削除を行います 所属が有効の場合、同じ所属のデータのみ操作可能です |
2. | ユーザー | /manage/users | ユーザーの登録・編集・削除を行います 現状では所属が有効でもユーザーは全所属に共通となり、所属による制限はかかりません |
3. | サンプル | /manage/sample | 本システムで構築されたサンプルの管理画面です サンプル画面を有効にすることでアクセス可能になります |
所属が有効であってもサイト管理者はmanagersテーブルにて一意のログインID制限でバリデートしており、所属が違っていても登録済みのログインIDは使用できません
所属有効時にログインIDを所属ごとに一意とする方法は別途記述する予定です。
ユーザー情報の編集ができます。
seed時記載したartisanのpublishコマンド
$ php artisan vendor:publish --provider="Azuki\ServiceProvider" --tag=seed
にて本システムが提供しているタグとその対象について説明しますタグの一覧は以下となります
対象 | タグ名 | 出力先 | 概要 | |
---|---|---|---|---|
1. | 設定 | config | config/ | 設定ファイルをパブリッシュします。 パプリッシュされる設定ファイルは以下となります
|
2. | 設定 | azuki-app | config/ | Contratsの実体設定ファイルであるazuki.app.php だけをパブリッシュします |
3. | 設定 | azuki-config | config/ | 基本設定ファイルであるazuki.standard.php だけをパブリッシュします |
4. | 定義 | define | config/ | 定義ファイルである00_define_common.php だけをパブリッシュします |
5. | テンプレート | view | resources/views/vendor/azuki/ | テンプレートファイルをパブリッシュします パブリッシュされたテンプレートファイルを変更することでUIの変更ができます |
6. | シード | seed | database/seeds/ | シーダーをパブリッシュします シーダーはパブリッシュ後 composer dump-autoload することでartisanから使用可能になります |
7. | 言語 | lang | resources/views/vendor/azuki/ | 言語ファイルをパブリッシュします エラーメッセージの日本語化に必要です |
8. | ルーティング | route | routes/ | ルーティングファイルazuki.web.php をパブリッシュします出力されたルーティングファイルを修正することでルーティングを変更できます |
9. | 公開 | public | public/vendor/azuki/ | 公開ディレクトリへ展開が必要なファイルをパブリッシュします。 パプリッシュされるディレクトリは以下となります
|
10. | 未コンパイルJS/CSS | assets | resources/sass/vendor/azuki/ resources/js/vendor/azuki/ | 本システムはfoundationを使用し、sassを用いてapp.css app.js を作成しています。これらファイルをコンパイルする元ファイルを出力します |
ログ名 | テーブル名 | 管理画面 | 概要 | |
---|---|---|---|---|
1. | メール | azuki_mail_logs | × | システムからのメール送信を記録します 送信前にテーブルに記録し、送信後にresult.failuresカラムを更新します resultが0のものは送信後のデータ更新がされていないレコードになります これは送信処理が正常に行われていない可能性を示唆します。 また、メールサーバーからのエラーメールを補足する仕組みは入っていません ですので、メール送信結果はsendmailコマンドやメールサーバーのレスポンスに依存したものであり送信できたことを保証するものではありません |
2. | システム | azuki_system_logs | 〇 | システムの動作に関するログを記録します コマンドで定期的に処理しているタスクなどシステムの動作状況を確認するのに役立つログをここに残すように想定しています |
3. | オペレーション | azuki_operation_logs | 〇 | データ操作に関するログを記録します 対象となったデータと変更点、操作した人などを確認できます 各ログへの記録は対象外としています |
4. | アクセス | azuki_access_logs | 〇 | サイトへのアクセスを記録します アクセスされた日時、URL、アクセスした人、アクセス時の$_SERVERを確認できます |
5. | ログイン | azuki_login_logs | 〇 | ログイン情報を記録します 誰がいつログインしたかを確認できます |
設定ファイルはazuki.auth.php
ならびに00_define_common.php
を除き、Laravelの仕組みによって
マージ処理されます
※azuki.auth.php
は原則としてauth.php
を上書きします
各設定ファイルの詳細な設定内容については、各設定ファイルを参照してください
設定ファイル名 | 概要 | |
---|---|---|
1. | azuki.app.php | AzukiシステムのContractsで登録されているクラスの実体設定を行います システムで設定されている実態を置き換える場合にこの設定ファイルで置き換えの指定ができます |
2. | azuki.standard.php | Azukiパッケージの基本設定を管理します 主要な設定内容は
|
3. | azuki.auth.php | Azukiシステムの各管理者ならびにユーザーの認証を行うための設定です Laravelのauth.phpの設定を強制的に上書きしてシステムを起動します |
4. | azuki.execute_type.php | まとまった処理実行を行うための仕組みとして用意しているExecuterの設定を行います |
5. | azuki.icon.php | システム内で使用している各種アイコンの設定を行います。ここで指定した内容は<i> タグのclass属性に指定されます※メニューのアイコン設定はazuki.menu_list.phpで行います |
6. | azuki.master.php | マスターデータの定義を行っている設定ファイルです マスターデーターが必要な場合、このファイルに記述することでAzukiシステム内で簡単に使用することができます データベースで定義しているマスターデータもここに記述します |
7. | azuki.mail.php | メール送信に関する追加設定です ここにメール送信に関する設定を追記することでメール送信の実装が楽になります |
8. | azuki.upload_file.php | ファイルのアップロードに関する設定を行います 実際のアップロードを処理するクラスやサイズ、キャッシュの有無、保存先などを設定できます ここで定義したtypeをコントローラ側で設定することでアップロード機能が簡単に実装できるようになっています |
9. | azuki.menu_list.php | システム管理、サイト管理画面のグローバルメニューの定義です 将来的にDB管理に代わる可能性があります |
10. | azuki.icon.php | 各メニューアイコン以外のアイコン設定を行います アイコンの指定は<i>タグのclassで指定します 本システムはfoundation-iconを使用しているのでその場合は「fi-xxxx」形式になります メニューのアイコンはazuki.menu_list.phpファイルの方で設定します |
11. | 00_define_common.php | 各種定義ファイルです このファイルで定義したdefineを使うことで直接値を使用することなく、コードの整合性を取るように設計しています |