ひふみのOutSystems開発ブログ

システムエンジニアやってます。Outsystems関連の記事やそのほか技術的なメモを記載しています。

DatePickerの入力値を初期化する

OutSystemsUI提供している部品にDatePickerがある。

カレンダーから日付を選択してインプットボックスに表示させるあれです。

テキストエリアを直接編集することはできないので、入力した値を初期化(クリア)する方法を調べたのでメモ。

 

DatePickerにバインドされている変数を初期化すればいいのかと思ったけど

結果この変数にNulldate()をセットしたけど初期はされず。

色々調べるとOutSystemsUIのクライアントアクションにDatePickerClearなるアクションがあることを発見。

これを使えば良さそう。

 

これのアクションをクリアイベントで動かしたいアクションに追加してあげて対象のDatePickerのWigetIDを選択してあげれば無事初期化ができました。

DatePickerのWidgetIDがちゃんと候補として選択できるようにWidgetの名前(Name)はちゃんと定義しておきましょう。(これで少しハマった)

 

 

Aggrigateで取得したデータが画面に描画されない場合がある

Aggrigateでデータを取得して画面に値を反映させる処理を実装したけど複数ある項目の内いくつかが画面に取得データが反映されない現象が発生している。

 

こんな状態

起きている現象

発生場所は必ず取得データは表示されるが、発生日と発生時刻はほぼ表示されない。(まれにうまく描画される場合もある。)

発生日と発生時刻はDate型とTime型を使用しており単純なInput FormではなくDatePickerとTimePickerに値をセットしている。データ取得はAggrigateでAtStartのタイミング。

まれに表示される時は基本的に初回アクセスの時で二回目以降は表示されない。初回アクセス時のみ表示されるということは描画処理時間がかかる場合はうまくいくのだろうか?(いずれにしろデータの取得と画面描画のタイミングの問題な気がするので中身の作りを見直してみる。)

 

現状の処理

現状は以下の実装をしている

・Aggrigate(AtStart)データの取得

・その後On After Fetchで 各フォームに紐づけているLocalVariableに取得値がセットされデータが表示される

 

通常はこの動きでうまくいくのだが、発生日と発生時刻はDatePickerとTimePickerに取得値を反映させているためか前述したような不具合が頻発する。

挙動を観察するに画面描画が始まる前(または始まったと同時くらい?)にAggrigateを動かさないといけないようだ。

 

データ取得と画面ライフサイクルの順番

Initialize処理:画面遷移・データ取得前に発生するイベント。画面初期化を実施。

OnRady処理:DOMの準備が完了した後、まだ画面遷移開始直前の状態。

On After Fetch(Aggrigate AtStart):Aggrigateの後に実行される。

 

不具合が発生するときはInitialize→OnReady→On After Fecthで動いている時。

これが初回アクセス時は描画に時間がかかるのかInitiazize→On After Fecth→OnReadyで動くときは画面の描画がうまくいく。

要はこの状況を強制的に作りだせればよい。

 

処理の見直し

AggrigateをAtStartのタイミングにしないでOnly on demandにしてInitialize処理の中にAggrigateを埋め込むこうすることでOnReadyのが動く前に確実にOn After Fechを動かすことが出来る。

 

上記のタイミングに変更することで画面の描画がうまく動作するようになった。

今回の不具合の原因だがおそらくDatePickerとTimePickerはWebBlockを使っている部品のため他のInput Formとは違いInitialize処理の挙動が他と少し違うことが原因と思われる。

通常のInput Formだけ使うならAggrigateはAtStartのタイミングで実行させて問題ないと思われる。このあたりの処理のタイミングが絡む問題はある程度試行錯誤が必要そうですね。

 

OutSystems Architecture Specialization 認定試験を受けてきた

こんばんは。

前回に引き続きOutSystemsのArchitecure Specialization 試験を受けてきました。

この試験は前回合格したReactive Web Developperの上位試験でモジュールやアプリの構成を設計するアーキテクチャの認定試験です。

 

①事前の勉強量など

基本的にOutSystemsで公開しているWebラーニングとオンラインドキュメントの勉強のみ実施して受験に臨みました。

一通りのコンテンツを読み込み、理解が追い付かないところは個別にアプリを作りモジュールの分割方法やデプロイのライフサイクルのイメージをつかむようにしました。

Architecting Sustainable Applications Guided Path - Training | OutSystems

上記の勉強は必須だと思います。

 

※サンプル問題は実際の試験よりだいぶやさしいのであまり意味はないかもしれないです。

 

②試験結果

結果は割とギリギリ合格。

 

試験問題は設計やモジュール分割・アプリケーションの構成に関する考え方、最適解を選ぶ問題が多く正確に文章を読むことが要求されます。

英語の試験を日本語にしている影響かそのあたりのニュアンスが非常に読み取りづらくて(アプリケーション構成の課題を答える問題があるけど、コンジューマー側なのかプロデューサー側の課題を指しているのか分かりづらいなど。)知識的な面より出題や選択肢の趣旨を理解することに結構苦戦しました。

 

基本的にはウェブラーニングとドキュメントに記載されている構成事例ベースで出題されているので事前にしっかり勉強しておけば大丈夫でしょう。

あとはDiscoveryの結果を読み解いて、最適な対処を選択する問題もあるので可能ならDiscoveryをインストールして少し動かしてみることをお勧めする。

 

今後はOutSystemsはセキュリティ関連の認定資格もあるのでそちらも受けてFinishにしようかな。実際に業務にも役立つと思うし隙を見て勉強を継続していきたい。

あとはTOEICにまた比重を戻していくかな。(最近さぼり気味。。)

そんな感じ。

 

 

OutSystems Reactive Web 認定試験を受けてきた

こんにちは。

夏ぐらいからローコード開発ツールのOutSystemsでの開発プロジェクトのPMをしており、せっかくプロジェクトで触れているので試験を受験してきました。

OutSystemsの試験は情報量も少ないので備忘としてここに残しておきます。

 

①事前の勉強量など

当方基本的にPMロールでプロジェクトに参画しているためゴリゴリ自分で実装しているわけではなく、コードレビューや仕様確認などを通じて触れてきた程度です。

勉強という意味だと冬休み中にOutSystems社が提供している以下のWebラーニングを一通り受講したぐらいです。(もともとWeb系の開発の素地はありましたが。)

www.outsystems.com

 

受講時間は11時間と書いてありましたが、ハンズオンまで丁寧に理解しながらやると3日(24時間程度)かかりました。

 

②試験当日

試験は自宅での受験とテストセンター(東京 or 大阪)での受験が選べます。

神奈川、東京、埼玉あたりに住んでいる人ならテストセンターでの受験も悪くないと思います。自分は気分を試験モードにしたかったのでテストセンターで受験しました。

 

③試験結果

結果は無事合格(2万6千円するの一安心。)

感覚的には3割ぐらいがAggregate関係の問題だったような気がします。

合格点が7割のようですが、自分は8割ちょっとで合格することが出来ました。

試験時間は2時間ありますが、1時間ちょっとで終わったので時間切れになることはおそらくないと思います。

OutSystemsは非常にWebラーニングのコンテンツやドキュメントが充実しているのでこの内容を一通りやるだけで十分だと思います。

有料のブートキャンプの案内などもありますが、個人的な見解としては特に参加しなくてもOutSystems社が公開している学習コンテンツだけで充分合格できます。ReactvieWeb試験のサンプル問題とWebラーニングの演習問題(ハンズオン形式)を一通りやれば十分です。

 

実は本当の狙いはReactiveWebの試験を合格したら受験できるArchitecture Specialization(モジュール分割や部品化、共通化などが出題範囲)の試験なので早速来月また受験してこようと思います。

まぁ合格したところで昇進にも給料にも関係ないんですけどね。ただPMとしても最低限エンジニアから信頼される(不信に思われない)だけの知見は持っていないといけないので今後もプロジェクトのコントロールができる程度には知識のアップデートは続けていこうと思います。

 

 

ちょっとPMP試験を受験してきた

今年の8月くらいから勉強を開始してPMP試験(Project Management Professional)を本日受験してきた。

今はオンラインで自宅でも受験ができるようだけど、試験モードで気分を変える狙いもあって都内のテストセンターで受験してきた。

受験料が4万円という高額な試験なので何としても一発合格をするためにそこそこ気合入れて勉強してきました。

結果は、、

無事合格でした。(受験したその場で合否がわかるシステムです。)

 

ScoreReportはこんな感じ。(まぁまぁ余裕を持った合格でした。)

f:id:hifumeeen:20211113232310p:plain

Target、Above Target が合格なので、まぁ自分はまずまずの成績だったと思われます。

一般的に正答率が6割程度で合格ラインといわれているので、7割ぐらいは出来ていたのかな?(自分の感覚でもそんな感じ。)

 

試験は4時間の長丁場だったので何よりも集中力が続かなくてきつかった。(途中で休憩はあるものの、最後のほうは問題文が頭に入ってこなかった。)

勉強にかけた時間はだいたい週10時間×3カ月で大体150時間ぐらいだろうか?

 

まぁもともとプロジェクト管理やPMBOKの素養があったこともあり比較的簡単に取得することが出来ました。

これを取得すると何かいいことがあるのかというと特にはないんだけどグローバルで認知されている資格だしまぁ損することはないだろう。

IT系の資格はもういいかなぁ、次はTOEICとか英会話とかそっち方面に舵を切った勉強しようかなぁ。

 

 

自己紹介

ひふみです。

SIerで働くアラフォーの北国出身のシステムエンジニアです。

ひょんなことからOutSystems関連のPMを担当することになり技術的なキャッチアップ・勉強もかねてこちらにブログを開設します。

 

やってきた仕事

Java関連のシステム開発Struts, Srping Bootなど)

VBやDlephiなどもちらほらと

・ 雑多なオンプレ環境構築(Windows , Linux, WebLogic, Oracleなど)

・ 情報セキュリティ第三者評価(NIST, FSIC, などをベースに実施)

・ 最近はPM系の仕事が多く今はOutSystems関連の仕事がメインです。

 

 

保有資格

・Project Management Professional

応用情報技術者

・OutSystems Solution Architect Specialist

・OutSystems Reactive Web Developper

・TOTEIC 620点(修行中。。)