InputWidgetをAjax Refreshする時にAnimation EffectのHighlightを出す方法
こんにちは、OutSystems Platformチームの清水です。
今回はタイトルの通り、豆知識程度の事をご紹介させていただきます。
「こんなこと、InputWidgetに設定したAjax RefreshのAnimation EffectをHighlightに
すればいいだけでは?」とおっしゃる方もいるかもしれませんが、そうでもありません。
実際にInputWidgetにAjax Refreshのアニメーションを設定しても、FadeとVertical Slideは表示されるにも拘らず、Highlightだと画面上では何のエフェクトも起こらないのです。
だからといってエラーが発生しているわけでもない……。
そこでどうするか、というと以下のような設定をHighlightさせたいInputWidgetの
プロパティに記述します。
上図の様に記述することでInputWidgetの背景が透過され、Highlightが見えるようになります。
(おそらくはInpuWidgetの背景のさらに後ろでHighlightが実行されていたためにHighlightが
行われていないように見えていたのだと思います。)
また、Highlightをデフォルトの黄色以外にしたい時には、HighlightさせたいInputWidgetをContainerで囲み、そのContainerのプロパティに以下の設定を記述します。
上図の「’#CC3300’」の部分を変えることでHighlightの際の色を自由に変えることが出来るようになります。
上記の記述方法は例えばWeb ScreenのJavascriptなどに記述しても正常に機能するので、
利用方法次第では面白いことが出来そうですね。
以上です。
インプットパラメータは基本は値渡しなのですが。。。
みなさんこんにちは、OutSystems Platformチームの鈴木です。
今回は、インプットパラメータの渡され方についてのちょっとした注意点です。
OutSystems PlatformではActionのインプットパラメータは基本は値渡しとなっています。
例えば、IntegerやDate等の基本のデータ型はもちろん、EntityやStructureをActionのインプットパラメータで渡した場合でも、Action内でのEntityやStructureへの変更結果は呼び元には反映されません。
C#言語で言えばClassではなくてStructになっているイメージです。(実際に.Netスタックの場合は内部でC#のStructとして生成されています)
これは、EntityやStructureをRecordでラップた場合も、eSpaceからExtensionの呼び出しの場合でも同様です。
では、List(及びRecordList)の場合はどうるかというと、これがちょっと要注意です。
Listは同一モジュール(eSpace)内のActionの呼び出しの場合だけ参照渡しとなるのです。(Binary型とObject型も同様です)
これは、性能を向上させるための仕様なのですが、ちゃんと知ってないとトラブルの元になる可能性もありますね。
例えば、Action内でListにデータを詰めて呼び元でそれを参照するような処理を作成した場合、それは同一モジュール内での呼び出しの場合だけうまく動きます。
性能がネックになっている場合は仕方ないですが、そうでない場合は編集済みのListをアウトプットパラメータで戻してあげる方が良さそうですね。
FormはEdit Recordとどう違う?
皆さんこんにちは。OutSystems Platformチームの小野寺です。
V8でEntityをドラッグ&ドロップして生成されるEdit画面には「Edit Record」Widgetが表示されていましたが、V9ではドラッグ&ドロップして生成されるDetail画面に「Form」Widgetが表示されますね。
「Form」と「Edit Record」はどちらも1Recordを編集するために利用しますが、「Form」は「Edit Record」と何が違うのでしょうか。
「Edit Record」はTableがベースとなっていますが、「Form」はContainerをベースに作成されます。
従って、各Containerの間に別のWidgetを挿入したり、条件により各Containerの表示/非表示を切り替える事ができます。
「Form」内に「Label」Widgetを配置し、「Form」の「Label Position」Propertyを指定する事により、各入力項目に対する「Label」の位置を一度に変更する事ができます。
「Form」の「Enabled」PropertyをFalseにする事で「Form」内の全てのWidgetがEnabled=Falseとなり、参照画面として使用する事ができます。
ただし、「Input」 Widgetを使用している場合は「Expression」Widgetのように文字列の幅によってWidgetの幅を自動調整しませんので、文字列が見切れる可能性があり、Widgetの幅に注意する必要があります。
「Edit Record」では、各入力項目の「Validation Parent」Propertyに「Edit Record」を指定する事により、入力項目の「Valid」Propertyが全てTrueかどうかを「Edit Record」の「Valid」Propertyで判定する事ができます。
「Form」では、入力項目で「Validation Parent」Propertyに「Form」を指定しなくても、「Form」内の入力項目全ての「Valid」PropertyがTrueかどうかを「Form」の「Valid」Propertyで判定する事ができます。
「Form」と「Edit Record」ではHTMLのタグも違いますので、CSSの設定も違ってきますね。
「Form」:<div id=”widget id” extended properties>
「Edit Record」:<table id=”widget id” extended properties>
実行時の違いとしては、「Form」内の「Label」をクリックすると、対応する入力項目にフォーカスが移動します。
また、「Form」内の「Label」や「Input」上にマウスを移動させると、「Input」内に「編集可能」アイコンが表示します。
「Input」内の文字列を変更してフォーカスを抜けると「戻す」アイコンが表示され、アイコンをクリックすると変更前に戻ります。
「Edit Record」との違いを把握しながら「Form」をうまく利用したいですね。
SUPPORT ENGINEER BOOT CAMP for .NET stack in Tokyo
こんにちは。OutSystems Platformチームの海老澤です。
6/22~26の5日間、SUPPORT ENGINEER BOOT CAMP に参加してきました。
OutSystems Platform のアーキテクチャと運用管理手法を習得する5日間
今回はその概要をレポートします。
最初の2日間は<<DevOps>>
OutSystemsの基本的な機能 たとえば
- LifeTime
- ServiceCenter
- ServiceStudio
- IntegrationStudio
をはじめとして
- Role
- User
- Deploy
- SiteProperties
- Timer
- Connection
- Monitoring
- Log
などの概要から、ものによっては詳細までしっかりと。
後半2日間は<<SysOps>>
DevOpsでの内容をふまえて
- ZONE
- 構成
- ライセンス
などを学んだあと、各環境のインストールやアップグレードなどをハンズオンを含めながら受講しました。
多種多彩なトラブルシューティング(半分以上はIISの設定問題でしたが…)もこなし、
このへんまでくると、受講者からの質問もかなり深い内容に…。
講師の方がわからないことは「あとでメールするね」と言ってくださり、
有言実行の内容てんこ盛りメールが最終日の前夜に届きました(笑)。
実はこのサイトを見ておかないと試験問題わからないんじゃないの?
という疑念にかられてサイトをチェックしたのは私だけではないはず!!
最終日は残ったトラブルシューティングを実施したあと、いよいよ試験です。
前半:環境インストール
フロントエンド+コントローラ+DB、フロントエンド@FARM構成をインストールして
ほにゃららにInternalNetworkを設定してね
これ終わった時点で疲労困憊。
後半:トラブルシューティング
大量トラブルが仕掛けられた環境で
ServiceCenterをAllGreenにしてespaceをDeployしてSEO設定してね
これ終わったら、もう、かなりの達成感でした。
講師の方のお人柄、主催者の方のお心遣い、参加者の方々の前向きさとレベルの高さが相まって
とてもよいBOOT CAMPになったように思います。(なんか偉そうですね…ごめんなさい。)
試験の合否は不明ですが、この5日間でかなりの知識を習得できたと感じています。
これからの業務にばんばん生かしていきますので、ご期待ください♪♪
以上、インフラ未経験なのにいきなりBOOTCAMPに同行しちゃった海老澤がお送りしました。
一覧にチェック列を追加する方法
みなさんこんにちは。OutSystems Platformチームの小野寺です。
今回は画面の一覧にチェック列を表示する方法をご紹介します。
一覧の左端にチェック列を表示し、ユーザーが複数チェックしたデータを削除したり帳票に出力したい時がありますね。
ReportTable WidgetのSource Record List Propertyで設定したAggregateには、検索対象のEntityやStaticEntityのみSourcesに設定しているめ、一覧にCheck Box Widgetを配置してもVariable Propertyに設定するAttributeがなくPublishできません。
そんな時に利用するのが、RichWidgetsの「Boolean」Structureです。
AggregateのSourcesに「Boolean」Structureを追加します。
Check BoxのValiable Propertyに「Boolean」Structureの「Value」Attributeを設定します。
Publishしますと、一覧でチェックできるようになります。
ちょっとした工夫ですが、AggregateのSourcesにStructureを追加する発想が面白いですね。
セミナー終了致しました
2015年5月20日、合同会社エス・シー・エヌ様と共催で開催致しました、
「超高速開発ツールOutsystemsP
は無事終了いたしました。
当日はたくさんの方々にご参加いただき、盛況のうちに終了致しました。
セミナー内容に関してご質問や実際にデモ等ご希望の方は是非お気軽にお問い合わせください。
ご来場・ご清聴いただきました皆様、まことにありがとうございました。
V9の新機能「Editable Table」について
みなさんこんにちは、OutSystems Platformチームの鈴木です。
今回は、V9の目立たないけど有りがたい新機能「Editable Table」について紹介します。
OutSystems Platformにはデータを表形式で表示するのにTable Recordsというコンポーネントが用意されています。
データを編集する場合、通常は、その一覧表上で1つのレコードを選択して明細ページに遷移するとようにUIを構成します。
インテリワープ機能で自動生成するCRUD画面もこの形式になっています。
でも、実際の業務アプリでは一覧表上でExcelのようにデータを編集したいという場合が多いですよね。
そういう場合、これまでは一覧表上で編集機能を持つコンポーネントが無かったので、ちょっと一工夫して画面を作る必要がありました。
でもV9では「Editable Table」 という力強い味方が追加されました。
このコンポーネントは一覧画面上でのデータの編集を、AJAXでのサーバーサイド処理の呼び出しまで含めて面倒を見てくれます。
# さすがにサーバー側には保存時と削除時のアクションが必要ですが、通常必要なロジックは自動で作成してくれますよ。
下の画面イメージの一覧部分がEditable Tableです。
↓行を選択すると編集可能になります。
×をクリックすれば、編集キャンセル。
チェックマークをクリックすれば保存。(Editable Tableに設定したOn Row Save のアクションが呼ばれます)
ゴミ箱マークをクリックすれば削除。(Editable Tableに設定したOn Row Delete のアクションが呼ばれます)
これまでは、ちょっと工夫して作成しなければならなかった一覧での編集が、とても簡単に作れるようになりました!
OutsystemsPlatform新機能セミナー開催!
弊社ビルドシステムは合同会社エス・シー・エヌ様と共催で、以下のセミナーを開催致します。
「Outsystems Platform v9新機能ご紹介セミナー」
【日時】2015年5月20日(水)
【時間】15:30~18:00
・1部:15:30~16:45(開場:15:00~)
-Outsystems Platformのご紹介
・2部:17:00~18:00(受付:16:30~)
-v9新機能のご紹介
【場所】ミヤケインダストリー
詳細は下記PDFパンフレットをご参照ください
参加ご希望の方は下記フォームにてお申し込みください。
参加申込メールフォームはコチラ
- Page1 of 2
- 1
- 2