第ダイ1章ショウ 「楽々ラクラクウェブクライアント」概要ガイヨウ
1.1 「楽々ウェブクライアント」の特長トクチョウ
 楽々ラクラクウェブクライアントは、ソース管理カンリツール「SMSYS」のサブセットです。
 ソース管理ツール「SMSYS」は、MAGICのプロジェクトファイルにアクセスし、モデル、データ、プログラム等ナドのデータをアイテム別ベツにシュレッディングし、RDBMSに
格納します。ソースビュアーとしての機能を有しながら、開発作業を支援する様々な機能を提供しています。
 楽々ラクラクウェブクライアントは、MAGIC xpa Ver4以降イコウでサポートされたWebClientに特化トッカした開発支援シエン機能キノウをサポートします。
おおよそ、次ツギのような特長トクチョウを持モっています。
① MAGICのソース管理カンリツール「SMSYS」をバックエンドに、リポジトリ情報ジョウホウをベースとしたAngularソースの変換ヘンカン処理ショリをサポート
 MAGICが出力シュツリョクするAngular ソースは、そのままではデザイン情報ジョウホウを有ユウしていないため、何ナンらかのソース編集ヘンシュウが必要ヒツヨウになります。
 しかし、ソースを手作業テサギョウにより修正シュウセイするのは、大変タイヘンな作業サギョウになります。MAGICのフォームとフォームに配置ハイチしたコントロールを視覚的シカクテキに捉トラえながら
ダイナミックに編集ヘンシュウ・変換ヘンカンする機能キノウを提供テイキョウします。
 デザイン情報ジョウホウはデータとして残ノコされるので、不測フソクのエラーが起オきてもプロジェクト全体ゼンタイ/個別コベツの再構築サイコウチクが容易ヨウイです。
② MAGIC xpaが生成セイセイしたAngularソースに直接チョクセツアクセスし、Angularソースの改変カイヘンを強力キョウリョクにサポート
 手作業テサギョウの開発カイハツでは、ソースファイルの管カンリ理をオコタ怠ると、ファイルの上書ウワガき等ナドにより、デザインした編集内容ナイヨウをウシナ失ってしまいかねません。
 当トウアプリケーションの環境カンキョウ下カでは、TSファイル内ナイのテンプレート指定シテイを自動的ジドウテキに書カき変カえます。また、テンプレートの更新検知、TSファイルの
バックアップとリストア、CSS作成等の自動化により、面倒メンドウなソースファイルの管理カンリ作業サギョウから解放カイホウされます。
③ Bootstrapを利用したWebデザインをサポートし、環境カンキョウ構築コウチクやBootstrapのクラスに対応タイオウしたソースを自動ジドウ生成セイセイ
 BootstrapはHTML/CSS/JavaScriptから構成される最も有名なWEBフレームワークです。
 コントロールに対タイして、GUI的テキな操作ソウサでBootstrapのクラスを割ワり当アてる属性ゾクセイ編集ヘンシュウ機能キノウを提供テイキョウします。
 フォーム全体ゼンタイ(もしくはフォーム中チュウの幾イクつかのエリア)に対タイしても予アラカジめ定義テイギした変換ヘンカンルールを適用テキヨウすることでテンプレートの一括イッカツ変換ヘンカンが可能カノウです。
 これらの機能キノウにより、ソースを直接編集することなくデザイン作業を行うことが可能です。
1.2 「楽々ウェブクライアント」の目的
1.2.1 MAGIC xpa WebClienによる開発の現状
 WebClientは、Angularを搭載トウサイしたSPA型カタのWebアプリケーションを構築コウチク可能カノウにする MAGIC xpa Ver4になって実装ジッソウされた画期的カッキテキな機能キノウです。
 画面デザインとロジックを分離できるメリットがある反面ハンメン、MAGICとAngularの二重ニジュウのソースコードの管理カンリが必要ヒツヨウになります。
 このソースの二重ニジュウ管理カンリをどのように解消するかということが特トクに開発カイハツの初期ショキの局面キョクメンでは大オオきな課題カダイとなります。
 これはAngularプロジェクトを作成するための処理ショリ「Webアプリケーションの作成」が次ツギのようなMAGICの仕様シヨウに起因キインしています。
・ 基本的キホンテキにAngularソースの生成セイセイが 「MAGIC → Angular」 の一方向イチホウコウである
・ 既スデに作成サクセイしてあるAngularソース(*.html、 *.ts)を(修正シュウセイの有無ウムに関カカわらず)無条件ムジョウケンに上書ウワガきしてしまう
・ Angularソースがフォーム単位タンイであるのに対タイして、プログラム単位タンイでしかソース作成サクセイができない。例タトえば、変更ヘンコウしたサブタスクのみ更新コウシンしようと
思ってもそれができないために、不用意フヨウイに関係カンケイのないソースまで上書きしてしまわないような、細心の注意が必要になってしまう
・ MAGICのフォーム名メイ、フォルダ名メイ等ナドを変更ヘンコウした時トキなど、Angularソースを手作業テサギョウで修正シュウセイしなければならなくなることがある
(例レイ:前マエの名前ナマエで残ノコったソース部分ブブンを除去ジョキョする等ナド)
 この結果ケッカ、MAGIC側ガワのロジックの完成度カンセイドを高タカめたのちにAngularでの開発カイハツに移行イコウするなど、設計セッケイ変更ヘンコウを極力キョクリョク避サける必要ヒツヨウに迫セマられてしまうことに
なります。
図ズ1.2.1-1 一般的なWeb Client アプリケーション開発の流れ
1.2.2 問題モンダイの解決
若干ジャッカン漠然バクゼンとはしていますが、下記カキのようなシステムの作成サクセイと利用リヨウにより、プロトタイプ作成サクセイに必要ヒツヨウなレベルでのコーディングの自動化ジドウカを目指メザします。
・ Visual Studio Code等によるソースの手テ修正シュウセイを必要ヒツヨウとしない、環境カンキョウ設定セッテイ、ソース改変カイヘンの自動化ジドウカ
→ MAGICのソースとAngularのソースを統合的トウゴウテキに管理カンリし、並行的ヘイコウテキに動作ドウサする開発カイハツ環境カンキョウを提供テイキョウ
・ デザイン情報ジョウホウのデータ化カ、ひな形ガタのテンプレート化カ
→ GUI画面ガメンによるデザイン修正シュウセイと、ルール/デザイン情報ジョウホウのデータ化カにより、何度ナンドでも同オナじように更新コウシンを再現サイゲンできる仕組シクみの構築コウチク
・ リポジトリ情報ジョウホウの積極的セッキョクテキな利用リヨウ
→ 編集ヘンシュウ画面ガメンはMAGICの開発カイハツ画面ガメンに近チカいものにする。また、リポジトリ情報ジョウホウを利用リヨウした編集支援機能キノウを提供テイキョウ
・ Bootstrapの積極的セッキョクテキ利用リヨウ
→ 画面ガメンのレイアウトや個々ココのオブジェクトのデザインをBootstrapのクラスを使ツカうことによりCSSの知識等ナドが無くても簡単カンタンに利用リヨウできる
図ズ1.2.2-1 「楽々ラクラクウェブクライアント」を利用したWeb Clientアプリケーション開発
図ズ1.2.2-2 「楽々ラクラクウェブクライアント」はMAGIC+VSCode+ブラウザの開発カイハツ環境カンキョウの中ナカで並行的ヘイコウテキに動作ドウサ
1.3 「楽々ラクラクウェブクライアント」がカバーする範囲
1.3.1 Angular環境カンキョウ構築コウチク
Bootstrapのインストールを始ハジめ、Bootstrapのバージョンに対タイして設定した情報ジョウホウを元モトに、ウィザードを使用シヨウして環境カンキョウの構築コウチクが可能カノウです。
npmモジュールのインストール、angular.jsonの設定セッテイ、src/index.htmlの設定セッテイ、src/styles.cssの設定セッテイ等ナドを自動化ジドウカします。
図ズ1.3.1-1 Bootstrap設定セッテイウィザードによる環境カンキョウ自動ジドウ設定セッテイ
図ズ1.3.1-2 Angular環境カンキョウ設定セッテイによるウィザードデータの設定セッテイ
1.3.2 ナビゲーションバーの作成サクセイ
ウィザードによりBootstrapのNavbar自動ジドウ作成サクセイが可能カノウです。
予アラカジめ設定セッテイされたテンプレートを選択センタクして行オコナうことが可能カノウです。
MAGICのルーティング情報ジョウホウ(スタートアッププログラムで設定セッテイした「ルート」イベントのプログラム)によるメニューの定義テイギが可能カノウです。
図ズ1.3.2-1 Bootstrap設定セッテイウィザードのメニュー設定セッテイ
図ズ1.3.2-1 作成サクセイされたナビゲーションバーの例レイ
1.3.3 リポジトリ管理カンリ
1)リポジトリ情報ジョウホウのデータ化カ
ソース管理カンリツール「SMSYS」はプロジェクトのリポジトリ情報ジョウホウ(モデル、データ、プログラムやその関連カンレン)をシュレッディングして複数フクスウのテーブルに格納カクノウします。
MAGIC xpa 4.xのWebClientへ対応タイオウするために拡張カクチョウされています。
図ズ1.3.3-1 SMSYSのERダイアグラム
2)ルーティング情報ジョウホウ
ルーティングに関カンする情報ジョウホウをひとつのプログラムで確認カクニンできることが容易ヨウイになっています。
図ズ1.3.3-2 ルーティング情報ジョウホウ画面ガメン
3)全ゼンフォームの一覧化イチランカ
プロジェクト内ナイの全スベてのフォームをプログラム番号バンゴウ順ジュンに確認カクニンすることが可能カノウです。
図ズ1.3.3-3 WebClientフォーム画面ガメン
4)エラーチェック機能キノウ
ソースの解析カイセキを行オコナう時点ジテンで下記カキのチェックを行オコナいます。
・ コントロール名メイに漢字カンジ等ナドの使ツカえない文字モジが使用シヨウされていない
・ ルーティング設定セッテイされたプログラムのパラメータとなる項目コウモクは「ルートに出力シュツリョク」が設定セッテイされている
エラーが存在ソンザイする場合バアイは、画面上ガメンジョウでそれを直タダちに確認カクニンすることができます。
①コントロール名に漢字等の使えない文字が使用された場合バアイ
「WebClientフォーム」プログラムでは、エラーのあるフォームのフォーム名メイの表示色ヒョウジショクが変カわります。
図ズ1.3.3-4 コントロール名メイのチェック機能キノウについて
②ルーティング設定されたプログラムのパラメータとなる項目に「ルートに出力」が設定されていない
「ルーティング情報ジョウホウ」プログラムでは、ルート定義テイギ明細メイサイのエラーのあるコール先サキ名メイの「パラメータ」の表示色ヒョウジショクが変カわります。
図ズ1.3.3-4 パラメータの属性ゾクセイ「ルートに出力シュツリョク」のチェック機能キノウについて
1.3.4 テンプレートの変換ヘンカン
テンプレートの変換ヘンカンは「楽々ラクラクウェブクライアント」のメインとなる機能キノウです。
次ツギのような特長トクチョウがあります。
①変換ルールを利用リヨウしてダイナミックに変換ヘンカンが可能カノウです
変換ヘンカンルールとは、HTMLに対タイする要素ヨウソや属性ゾクセイの追加ツイカ/変更ヘンコウ/削除サクジョを予アラカジめ定義テイギした一連イチレンのセットで、ルールを適用テキヨウすることにより一括的イッカツテキに変換ヘンカンを行オコナうものです。
テーブルの有無ウムやテーブルの種類シュルイ別ベツに定義テイギしてあり、自動的ジドウテキに適用テキヨウ可能カノウな変換ヘンカンルールを選択センタクすることが可能カノウです。
テーブル(繰クり返カエし可能カノウな項目コウモク)であればcardクラス、tableクラスを使用シヨウしたテンプレートが準備ジュンビしてあり、ルールやクラス情報ジョウホウの属性ゾクセイの変更ヘンコウも簡単カンタンに行オコナえます。
複雑フクザツなフォームもエリア別ベツに変換ヘンカンルールを適用テキヨウさせることが可能カノウです。MAGICで作成サクセイされたテンプレートから自動ジドウ判別ハンベツします。
独自ドクジの変換ヘンカンルールを作成サクセイしたり編集ヘンシュウが可能カノウです。(正規版のみ対応)
②コントロールに対タイするクラス属性ゾクセイの割ワり当アてがGUI画面ガメンから行オコナえます
プッシュボタン/エディット/ラベル/ラジオボタン/コンボボックス等ナドのコントロール種別シュベツ毎ゴトにBootstrapの指定シテイ可能カノウなクラス属性ゾクセイを定義テイギすることが可能カノウです。
Bootstrapのグリッドシステムを使用シヨウして配置ハイチが行オコナえます。
コントロールの表示ヒョウジ/非表示ヒヒョウジをコントロールすることが可能カノウです。
カスタムプロパティの値アタイを使用シヨウしたHTMLの生成セイセイが可能カノウです。(ラベル等ナドの特定トクテイのコントロール)
Bootstrapのクラス属性ゾクセイを直接チョクセツ指定シテイすることが可能カノウです。(正規セイキ版バンのみ対応タイオウ)
③CSS編集ヘンシュウ補助ホジョ機能キノウ
テーブルであれば、高タカさや水平スイヘイスクロールバーの有無ウムをダイアログ画面ガメンで指定シテイが可能カノウです。
CSSの直接チョクセツ編集ヘンシュウが可能カノウです。編集ヘンシュウ結果ケッカはデータベースに保存ホゾンしますので、復元フクゲンが可能カノウです。(正規セイキ版バンのみ対応タイオウ)
CSS使用時シヨウジのTSファイルの更新は自動ジドウで行オコナいます。
④TSファイルの編集ヘンシュウ補助ホジョ機能キノウ
バックアップ/リストアの自動化ジドウカにより、不用意フヨウイな書カき変カえにも対応タイオウが可能カノウです。
オーバレイタイプのモーダルウインドウのサイズやタイトルを指定シテイすることが可能カノウです。
VS Codeで直接編集チョクセツヘンシュウした場合バアイは、ダイアログを使用シヨウしてバックアップが可能カノウです。
図ズ1.3.4-1 「テンプレートの変換ヘンカン」によるHTMLデザインの書カき変カえ処理ショリ例レイ
図ズ1.3.4-2 GUIライクなコントロール属性ゾクセイ入力ニュウリョクにより生成セイセイしたプッシュボタン
1.4 動作条件
「楽々ラクラクウェブクライアント」の動作ドウサ条件ジョウケンは下記カキの通トオりです。
動作ドウサ環境カンキョウ MAGIC xpa ver4.xの開発環境カイハツカンキョウ(WebClientが動作ドウサしている必要ヒツヨウがあります)
RDBMS Microsoft SQL Server Version 2016以上
※ 2016より古フルいバージョンは利用リヨウできません
※ SQLiteはサポート対象外タイショウガイです
1.5 評価版と正規版の違いについて
インストール直後チョクゴは「評価ヒョウカ版バン」として動作ドウサします。
ソース管理カンリツール「SMSYS」の基本キホン機能キノウに関カンしては継続ケイゾクしてご利用頂リヨウイタダくことが可能カノウですが、「楽々ラクラクウェブクライアント」に関カンしては評価期限ヒョウカキゲンが設定セッテイされます。
継続ケイゾクしてご利用リヨウ頂イタダくためには評価ヒョウカ期限キゲン内ナイにライセンスをご購入下コウニュウクダさい。
評価ヒョウカ版バンは、下記カキの機能キノウ制限セイゲンを設モウけています。
■評価ヒョウカ版バンの制限セイゲンと有効ユウコウ期限キゲンについて
評価ヒョウカ版バンでは実行ジッコウできない機能キノウ ①テンプレート変換の下記の機能
  変換ヘンカンルール編集ヘンシュウ機能キノウ(「変換ヘンカンルールTBL保守ホシュ」ボタン)  
  CSS直接編集チョクセツヘンシュウ機能キノウ(「CSS直接チョクセツ記述キジュツ」ボタン)  
   
②「コントロール属性ゾクセイ」編集ヘンシュウ時ジのクラス属性ゾクセイの「直接チョクセツ入力ニュウリョク」
  クラス属性ゾクセイを直接チョクセツ入力ニュウリョクする機能キノウ  
   
③Angular環境カンキョウ構築コウチクのための設定セッテイプログラム
  自動インストールするためのnpmモジュールや関連ファイルへの自動組み込み設定セッテイ  
  (ライセンスが有効ユウコウな場合バアイに、プルダウンにメニューを表示ヒョウジします)  
   
評価ヒョウカ期限キゲンについて インストール後、3か月
有効ユウコウ期限キゲンの3週間前シュウカンマエになると下記カキのメッセージを表示ヒョウジします。  
 
 
   
   
 
 
 
有効ユウコウ期限キゲンが切キれた場合バアイはプログラム「テンプレートの変換」プログラムの実行ジッコウができなくなります。  
                                                               
正規セイキライセンスの適用テキヨウ 送付ソウフされたライセンスファイルを「ライセンス登録トウロク」プログラムで読ヨみ込コませてください