投稿

Tomcatで画面表示の速度改善

イメージ
GeneXusのJavaでTomcatを利用している場合に、効果があった速度改善を記載します。 GeneXusはデフォルトで表示する画面のHTMLページを圧縮する設定になっています。 [Auto Compress Http Traffic] プロパティ http://wiki.genexus.jp/hwiki.aspx?%5BAuto+Compress+Http+Traffic%5D+プロパティ, HTMLページはGeneXusがやってくれますので、 JavaScriptやCSSをサーバー側の設定で圧縮することで更に改善することができます。 JavaScriptやCSSも全部合わせればかなりのサイズになりますので、 サーバーがクラウドなどで遠隔地にあり、転送速度がボトルネックとなっているシステムだとかなりの効果がでます。 社内LAN上のシステムの場合だとさほど効果はないかもしれませんが、試してみる価値はあると思います。 設定方法 ※Tomcat8.5で記載 Tomcat/conf/server.xmlを編集 <Connector port="8080" protocol="HTTP/1.1" の箇所に以下の設定値を追記 compression="on" compressionMinSize="2048" noCompressionUserAgents="" compressableMimeType="text/html,text/css,text/plain,text/javascript,application/javascript,application/json,image/svg+xml" useSendfile="false" 例: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" compression="on" compressionMinSize="2048" noCompressionUserAge...

GeneXus17リリースとGeneXusDay2020

イメージ
10月20日に本国の方でGeneXus17がリリースされるようです。 最近16を使い始めたような気がしていますが、もう17ですか。 GeneXus 17 Toc https://wiki.genexus.com/commwiki/servlet/wiki?46066,Toc%3AGeneXus+17 GeneXus 17 Release Notes https://wiki.genexus.com/commwiki/servlet/wiki?46067,Category%3AGeneXus+17+Release+Notes, また、GeneXusJapan様のGeneXusDay2020開催日が決まりました。 2020年11月12日(木)、今回はWebinarでの実施のようです。 GeneXus Day 2020 Webinar https://www.genexus.jp/archives/1005 これまで参加しづらかった方も参加しやすくなって良いですね。 事例発表の「カナディアン・ソーラー・ジャパン様」はウイング社で 私が担当させて頂いたプロジェクトですので、発表をとても楽しみにしてます。

GeneXus16 U10リリース

イメージ
  2020年8月26日(水)に 「GeneXus16 U10」 がリリースされました。 合わせて 「WorkwithPlusも13.16 for GX16U5-U10」 がリリースされています。 本国での最新もU10なので、本当の最新版の状態ですね。素晴らしい! まあ私はつい先日U4→U8のアップグレード作業をしたばかりだったので、 再度U10へのアップグレード作業しないといけませんが。。。 製品ダウンロード https://www.genexus.com/ja-JP/japan/downloads/products-jp リリースノート GeneXus 16 Upgrade 9 http://wiki.genexus.jp/hwikibypageid.aspx?45275 リリースノート GeneXus 16 Upgrade 10 http://wiki.genexus.jp/hwikibypageid.aspx?45624

WorkwithPlus13の通知機能(Notifications)

イメージ
かなり楽しみにしていた機能でして、詳細を確認してみました。 利用方法としてはWorkwithPlusのデザインシステムウィザードのステップ⑤で、 「通知を含める」にチェックを入れるだけです。 右上に通知アイコンと通知件数のバッジが表示される。 クリックするとこんな感じ。 私の想像では通知用のテーブルとAPIが用意されて、それを使って通知を登録したり、 通知から遷移したりするのだろうと思っていたのですが、もっと全然シンプルな方式でした。 結局のところは上記画像の見た目のコントロールのみが提供されます。 コントロールにはSDTで情報を受け渡す。 SDTの中に通知情報とクリックしたときのURLをセットしておく。  ①通知情報のSDTの編集は自分で行う  ②通知情報のSDTの元ネタは自分でトランザクション定義をする  ③通知情報を管理するための部品は自分で用意する という感じです。 すごくシンプルで潔く、自分で用意しないといけないものが多いですが、 自由度は高いので、この形で良いのかなと感じました。 通知を消すタイミング(見たら消す、処理完了したら消す、時間で消す 等)とか、 通知の管理(部門や権限で表示範囲の制御、共通通知や個別通知の分類 等)とか、 色んな要件が出てきたときに、通知トランザクションの構造や仕様も融通が利かせられますので。 通知のコントロールはマスターページに配置されており、 WorkWithPlusMasterPageのEventsを確認すると、以下の記述があります。 ◆「すべての通知をチェック>」のメッセージ内容とクリックしたときにどこに遷移するかを設定する &NotificationsData = new() &NotificationsDataItem = new() &NotificationsDataItem.Title = 'WWP_Notifications_CheckAllNotifications' &NotificationsDataItem.EventKey = !'SeeNotifications' &NotificationsDataItem.IsDivider = False &NotificationsData.Add(...

Excel変換ツール(GeneXusJapan社)

イメージ
2020年2月25日にGeneXusJapan社より「Excel変換ツール」がリリースされ、ようやく試してみました。 GeneXus Japan 製品ダウンロード https://www.genexus.com/ja-JP/japan/downloads/products-jp 概要 ・Excelに記述したトランザクション定義、サブタイプグループ定義、SDT定義を読み込み、  GeneXusでインポート可能なXML形式に変換して出力する ・トランザクション定義では「項目属性」と「ドメイン」も合わせて変換され、「式」も「AutoNumber」も 「ContextualTitle」も定義可能 使い方のイメージ ・「トランザクション定義」のExcelファイル、「サブタイプグループ定義」のExcelファイル、 「SDT定義」のExcelファイルを用意する ・コマンドプロンプトを使って、ExcelファイルからXMLファイルを生成する ・GeneXusのインポートでXMLファイルを指定して取込 ※詳細はツールに同梱されている「ExcelToGXご利用方法.xlsx」「コマンドプロンプトサンプル.txt」を確認ください これまでExcelなどで定義した設計情報をGeneXusに取り込むというのは、各代理店が個別に行っていたり、有償で公開されていたりという形でしたが、正式版がメーカーから公開されたのは嬉しいです。 是非、これからもバージョンアップを行って頂きたいものです。 使い方のイメージが掴みづらかったのですが、わかれば特に問題はなく、 感想としては現時点ではギリギリ最低限の機能までかな、という所です。 注意点と今後への期待 ①現在はトランザクション定義の初回取込としての機能となっており、  GeneXus側でトランザクションを修正した場合に、再度ツールからのXMLを取り込むと、  GeneXus側で行った修正が元に戻る(初期化)される形となります。    プロジェクトが進む中では取り込んだ後に定義するプロパティやRulesもありますし、  GeneXus→Excelへの逆変換機能が欲しい所ですね。 ②ドメインについてはトランザクション定義Excelから自動的に作成されるのは良いです。  ただ、定数としてのEnumValueは定義できないようですので、EnumValueが定義出来...

画面の初期表示や画面遷移で妙に時間がかかる、サーバー側のイベントの実行結果が怪しい場合

重めの画面を表示するのに、想定以上に時間が掛かっていることはありませんか。 画面遷移する際に、想定以上に時間が掛かっていることはありませんか。 そして、サーバー側の処理をデバッグすると、Start/Refreshが2回以上実行されていることはありませんか。 そんな場合は、この問題が発生している可能性があります。 GeneXusの[Web User Experience]プロパティで、Smoothモードを使用している場合に WebPanelのサーバー側処理で5秒以上経過すると必要以上のオペレーションが発生してしまう https://sac.genexus.jp/viewtr_saclist.aspx?39076 ※こちらは初期画面表示や画面遷移(GETによるアクセス)の場合に発生するようでして、 1画面内のボタンイベント(POSTによる処理)の場合は発生しないようです。 記載の中の「規定の挙動」というのは何のメリットがあるのでしょうね?? リトライすることで何かメリットがあるなら納得も行くのですが、 普通のシステムであればとくにメリットが無いように感じるのですが、、、 まあ、5秒だと重めの画面で不意に発生してしまうことも有りそうですので、 config.gxに設定して、上限値を上げておいた方が良いですね。 config.gxの適用手順 ①対象のナレッジベース直下にconfig.gxという名前のファイルを作成します。 ②config.gxをテキストエディタで開いて、以下のテキストを編集して保存します  以下は10分(600秒)の設定 SPAHttpRequestTimeout = 600000 ※もし他の設定値がある場合は改行して編集してください。 SPAHttpRequestTimeout = 600000 EncryptDynCalls=SITE ③GeneXusで対象のナレッジベースを開きなおし、「すべてリビルド」を実行

プロンプト画面が滲む、ぼやける問題

イメージ
GeneXus16を利用してプロンプト画面を表示した際に文字や罫線が滲む、ぼやける現象が発生しました。 ブラウザによって発生したりしなかったり、 ブラウザのズームを変えていると発生したりしなかったり、 プロンプトのウィンドウを動かすとなおったり、 ウィンドウサイズによって発生したりしなかったりといった感じで、 どうにも現象が把握しづらかったのですが、原因としては、CSSのtransformのようです。 参考URL: https://myscreate.com/transform-bugs/ https://hail2u.net/blog/webdesign/centering-with-transform-causes-blurry-something.html GeneXusのCSSの設定がイマイチだったようですね。 対応方法ですが、ThemeのPopupクラスに対して[Cusutom Properties]プロパティに以下を適用してください outline: 1px solid transparent; これで解消されるかと思います。