こんにちは、開発担当の米原です。

本日は最近XPages開発でハマった時のお話です。

現象

設計の編集などしていると、XPageとカスタムコントーロールの設計が開かなくなり
設計をクリックしても、下のようなエラー画面が表示され設計の中身が見れなくなりました。

設計は開かないが、生成したWebページは設計通りの画面が開きました。

設計

Xpage : xpTest001

<?xml version=”1.0″ encoding=”UTF-8″?>
  <xp:view xmlns:xp=”http://www.ibm.com/xsp/core” xmlns:xc=”http://www.ibm.com/xsp/custom”>
 <xp:this.resources>
  <xp:styleSheet href=”/test001.css”></xp:styleSheet>
  <xp:styleSheet href=”/test002.css”></xp:styleSheet>
 </xp:this.resources>
 <xc:ccTest001></xc:ccTest001>
</xp:view>

CstomControl : ccTest001

<?xml version=”1.0″ encoding=”UTF-8″?>
<xp:view xmlns:xp=”http://www.ibm.com/xsp/core” xmlns:xc=”http://www.ibm.com/xsp/custom”>
 <xp:table styleClass=”tbl_001″>
  <xp:tr>
   <xp:td styleClass=”bk_001″>
    styleClass=”bk_001″
    <xp:inputText id=”inputText1″></xp:inputText>
   </xp:td>
   <xp:td>
   </xp:td>
   </xp:tr>
  <xp:tr>
   <xp:td></xp:td>
   <xp:td styleClass=”bk_002″>
    styleClass=”bk_002″
    <xp:inputText id=”inputText2″></xp:inputText>
   </xp:td>
  </xp:tr>
 </xp:table>
</xp:view>

style sheet : test001.css

.bk_001{
background:rgb(255, 0, 0);
}

.bk_002{
background:rgb(0, 256, 0);
}

.tbl_001 {
width: 90%;
text-align: center;
border-collapse: collapse;
border-spacing: 0;
margin: 50px 50px;
}
.tbl_001 th {
padding: 10px;
background: #e9faf9;
border: solid 1px #778ca3;
}
.tbl_001 td {
padding: 10px;
border: solid 1px #778ca3;
}

どこが原因だったのか

原因ですが

カスタムコントロールの ccTest001内でセットしている
styleClassに設定していました styleClass=”bk_002″ が原因でした。

.bk_002{
background:rgb(0, 256, 0);
}

すごい単純なミスなのですが、RGBの範囲ですが、 0~255 でして、256はダメですね。
今回はWebの画面もちゃんと、緑色も出ていましたので、なぜか設計のみ開くことが出来なくなる現象となりました。

エラー内容が表示されず分からない所だったので、初めはDBがつぶれたかと思い、
再度作成し直したりしたりと色々試行錯誤しておりました。

原因さえ分かれば大したことではないのですが、なかなかはまってしまいましたので、似た様な所でお困りの方がいましたら、参考にしていただければと思います。

設計が開かなくなったら、XPageならまずその中に含有されいるカスタムコントロールを疑い、簡易化しながらどこが怪しいか切り分けて、カスタムコントールに問題が無い場合はその中で呼んでるカスタムコントロールを除外や、今回の様にカスタムコントロール内で使用しているスタイルシートなどを疑っていくと原因が見つけやすいかと思われます。

あとですね、今回はNotesのV9で発生しておりまして、今回のブログを書く際に、V12でも試してみましたら、
何とちょっと画面がかわっておりまして、もう少しエラーが詳しく表示されていました。

エラー内容に

java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.graphics.RGB.<init>(Unknown Source)
at com.ibm.etools.xve.renderer.internal.style.CSSColorUtil.stringToRGB(Unknown Source)

CSSのRGBあたりに何かしら問題があるよ的なものがでていますね。
V12ならもしかしらすぐ解決できていたかもしれません。

NotesDominoも進化し続けているので、バージョンを上げる方がより快適に開発できそうですね。

今回はテスト的に単純な設計を作成してでしたが、
実際ハマった設計はもっと複雑なものでして数時間ハマりました。。。

参考にしていただければと思います。

それでは今日はこの辺で失礼いたします。

こんにちは開発担当の米原です。
今回は、日時をユリウス日(ジュリアン日)に変換しないといけないケースがありましたので、その時の備忘です。

ユリウス日(Julian Day、JD)とは

ユリウス暦紀元前4713年1月1日の正午(世界時)からの日数です。
ユリウス日は、日付が長期にわたり連続するため、日数計算やさまざまな暦の関連付けなど、幅広く使われています。

サンプルコード(XPages サーバサイドJavascript)


//ジュリアン日変換
function funcToJulianDay(p_year, p_month, p_day) {
    //月が1月または2月の場合、前の年の13月または14月とみなすみたい
	if (p_month <= 2) {
        p_year -= 1;
        p_month += 12;
    }
    var jDay = 0;
    var seireki = 0;
    var correct = 0;

    //指定された年の世紀部分
    seireki = Math.floor(p_year / 100);
    
    //400年周期での閏年の補正
    correct = 2 - seireki + Math.floor(seireki / 4);

    // 年を365.25日と見なし計算
  //基準年である紀元前4713年からの年数をプラス
  //月の部分を日数に変換(30.6001 を掛けることで、月の平均日数(約30.6日)を使って月数を日数に変換)
    //日の部分をそのまま加算   1524.5(基準日(紀元前4713年1月1日正午)との補正)
    jDay = Math.floor(365.25 * (p_year + 4716)) + 
	   Math.floor(30.6001 * (p_month + 1)) + 
			p_day + correct - 1524.5; 

    return jDay;
}
//呼び出し元サンプル(今日の日付を取得し変換)
function test001(){
	try{
		var year = 0;
		var month = 0;
		var day = 0;
		
		var dt:Date = @Today(); // 今日のの日時を取得してみる
		year = dt.getFullYear();
		month  = dt.getMonth() + 1;
		day = dt.getDate();
		var julianDay = funcToJulianDay(year, month, day);

		print("ユリウス日:", julianDay);
		
	}catch(e){
		print("Error in test001:"+e)
	}
}

参考にどうぞ。

こんにちは、米原です。
本日は9月に開催される、Notes/Dominoイベント  DominoHub2024 Osaka のご紹介です。

DominoHubと言えば6月に東京で開催されましたが、なんと9月19日(木)に大阪で開催されます!

今回のテーマは!

「Immersive experience/没入型体験」

新しい機能を直に触って確認することも出来る様に展示ブースもご用意してます!

HCL Dominoは企業の業務効率化やコラボレーションの促進に貢献してきた信頼にあるソフトウェアです。
DominoHubでは、これまで以上にDominoの可能性を引き出し参加者に楽しさと驚きを提供します。

まずは日程等の情報です。

  • 日程:2024年9月19日(木)
  • テーマ:「Immersive experience」~最新Dominoの没入型体験~
  • 主催:HCLアンバサダー & 有志メンバー
  • 費用:無料(事前登録制)
  • 場所:プレミアホテル-CABIN PRESIDENT-大阪
    • 大阪市北区南森町1丁目3-19 2階・開場:9時30分、10時00分 開始~17時00分 終了(予定)
  • 懇親会:(会場未定、無料):17時30分開始~19時00分終了(予定)

こんな人におすすめ!

  • Notes/DominoDominoの新しい機能を直に触って確認してみたいユーザー
  • Notes/Dominoを継続的に積極利用するユーザー
  • Notes/Dominoから移行検討、情報収集をしているユーザー
  • Notes/Dominoから移行をして問題を抱えているユーザー

地図

大阪府大阪市北区南森町1丁目3−19

今回のDominoHubの注目ポイント

その1

今回のイベントは現地のみの開催です。

Webでの配信はございませんのでぜひ現地にてご参加ください!

現地だけでしかお話できない内容も聞けるかも。。。

1日だけですが、濃厚な内容になっています。

セッション内容

その2

展示ブースがあります

新しい機能を現地で触って確認しただける展示スペースもご用意しています!

展示ブースでは新しい機能をご体験できます。

展示内容

その3

ランチセッションもご用意!

ランチ付きのセッションです。ランチを食べながらセッションを楽しめます!

今回はどんなランチでしょうか。。。

その4

イベント最後には懇親会もご用意していますので一緒に楽しみましょう。

色々な話を聞けるチャンスです!

皆様とお話出来ることを楽しみにしております

当日はHCLAmbasadorも大勢参加予定です。皆様とお話出来ることを楽しみにしております。

ご興味を持たれた方、ご参加されてはどうでしょうか?

DominoHub詳細・申込はこちら

それでは皆様のご参加をお待ちしております。

こんにちは、米原です。
本日は6月に開催される、日本最大級のNotes/DominoイベントDominoHub2024のご紹介です。

今年のテーマは!

「FUN WITH DOMINO」

~DOMINOならできる、DOMINOだから出来る~

HCL Dominoは企業の業務効率化やコラボレーションの促進に貢献してきた信頼にあるソフトウェアです。
DominoHubでは、これまで以上にDominoの可能性を引き出し参会者に楽しさと驚きを提供します。

DominoHub詳細・申込はこちら

 

まずは日程等の情報です。
  • 日程: 2024年6月13日(木)・14日(金) (2日間)
  • テーマ: 「Fun with Domino」~Dominoならできる、Dominoだからできる~
  • 主催: HCLアンバサダー & 有志メンバー
  • 費用: 無料(事前登録制)
  • 場所・形式:
    【1日目】 オンラインのみ - 10時00分開始~17時50分終了(予定)
    【2日目】 東京会場 (オンライン 同時配信)
    ・場所:TKP秋葉原カンファレンスセンター
    東京都千代田区外神田1丁目1−8 東芝万世橋ビル 4階・開場:9時30分、10時00分 開始~16時40分 終了(予定)
    ・懇親会 (同会場、無料):17時00分開始~19時00分終了(予定)
  • こんな人におすすめ:
    ・Notes/Dominoを継続的に積極利用するユーザー
    ・Notes/Dominoから移行検討、情報収集をしているユーザー
    ・Notes/Dominoから移行をして問題を抱えているユーザー
ここまでで気になった方はこちら

 

今回のDominoHubの注目ポイント

その1 多彩なセッション

HCLアンバサダー、有志メンバー、ユーザ事例HCL Software様からのキーセッション、など20以上のセッションが目白押し!もちろんDominoHubでしか聞けないセッションも多数あります!

1日目 2日目

 

その2 海外からの特別ゲスト登壇予定!

DominoHubのために海外から来日予定です。セッション内容は随時更新中です。

詳しい情報(随時更新中)

 

その3 テクてくLotus技術者夜会がDominoHubに登場!?

「隔月に一度、仕事帰りに Notes Domino を中心とした勉強会に参加しませんか?」でお馴染みの “テクてくLotus技術者夜会” が DominoHUB に初参加!
他のセッションを聞いて喋りたくなっちゃった人やまだまだ楽しく喋り足りない人、飛び入り参加もOKな一人5分のライトニングトークを楽しみましょう。

 

その4 ランチセッションもありますよ

ランチ付きのセッションです。ランチを食べながらセッションを楽しめます!

どんなランチかは当日のお楽しみです。

 

その5 2日目のセッション後の懇親会

スポンサー様のご協力で立食ビュッフェスタイル(無料)にてイベント最後の締めくくりを一緒に楽しみましょう。

HCLAmbasadorも大勢参加予定です。皆様とお話出来ることを楽しみにしております。

余興として「Ask to HCL」と題して、参加者の皆様から寄せられたご意見・ご提案を直接HCLSoftwareの皆様に質問する特別セッションを開催します!

 

どうでしょうか、ここまでで少しでも興味を持たれましたらご参加してみてはどうでしょうか。

東京会場への参加が難しい場合は一部のセッションを除きオンラインでもお気軽にセッションを聴くことも可能です。

DominoHub詳細・申込はこちら

 

それでは皆様のご参加をお待ちしております。

 

 

 

 

 

 

 

 

 

こんにちは。ケートリックの米原です。

今回はNotes Domino の体験型ウェビナーのご案内です。

主催と協賛は

主催:Misc Workshops OSAKA 協賛:ノーツコンソーシアム

となっております。

日時は2024/05/30(木) 14時~15時半(予定)に開催されます!

開催方法はWeb会議方式となっております。

今回は体験型となっていまして、スマホ、カメラ、GPS、などの機能もDominoだけで作成したアプリで体験するいい機会です!

その道のプロフェッショナルが手厚く説明していただけるとのことです!そして無料です。。。。

それでは、少しでも興味を持たれたら参加してみてはいかがでしょうか。

今回のウェビナーの詳細はこちらから

 

今回協賛である、HCL Notes / Domino日本最大のユーザーコミュニティでも色々な情報が手に入りますよ。

詳しくはこちらから

 

そして今回の講師はノーツコンソーシアムの大阪研究会のメンバーです。

そんな大阪研究ご興味がありましたら研究会も参加してみてはどうでしょうか?

非会員の方でも大歓迎です。

そんな大阪研究会の情報はこちらから

 

ではでは、今回はこの辺で失礼します。

こんにちは。米原です。

今回はイベントのご案内です。

ノーツコンソーシアムの大型イベントが2024/02/16(金)に開催されます!

ノーツコンソーシアムは、HCL Notes/Domino 日本最大のユーザーコミュニティです。
もちろん弊社ケートリックもコミュニティに参加しています!

 

ノーツコンソーシアム FESTA 2024

開催日時:2024年2月16日(金):14:30~17:45 (受付開始:14:15~)
開催会場:アキバプラザ(東京千代田区)6F セミナールーム3
参加費:無料、事前申込不要

・ノーツコンソーシアム会長挨拶・基調講演
・研究会発表
・HCLジャパン Notes/Domino 35周年とV14など
などなど色々ないい話が聞けるはずです!
弊社のメンバーも発表予定ですよ。

詳しくはこちらを

https://www.notescons.gr.jp/home.nsf/event.xsp?action=openDocument&documentId=E327A212EDD66A6B49258A6A002F4B1E

ノーツコンソーシアム 30周年記念イベント

開催日時:2024年2月16日(金):18:00~20:00 (受付開始:17:45~)
開催会場:アキバプラザ(東京千代田区)5F レセプションホールAB
参加費:無料、事前申込制

ノーツコンソーシアム30周年、Notes/Domino35周年となり、皆様でお祝いするイベントとなります。
皆さんで集まってお祝いしましょう!

こちらは事前申込が必要ですのでご注意を!!
お申込みはこちらから イベントの詳細もご確認できます。

https://30anniversary.notescons.gr.jp/

 

それでは、現地でお会いできることを楽しみにしております!

ケートリックから過去最多3名が2024年HCLアンバサダーとして任命されました

HCL Ambassador

2023年12月クリスマス前にHCL様よりメールが届き、田付、米原が2024 HCL Ambassadorに任命されたことを知りました。

HCL Lifetime Ambassadorの加藤を含めると弊社から過去最多となる3名がHCLアンバサダーとして任命されたことになります。

なお、日本から選出された2024年 HCL Ambassadorは以下の10名となっており、こちらも過去最多となっております!

■ HCLアンバサダー グローバルページでの発表:
https://www.hcl-software.com/about/hcl-ambassadors/class-of-2024

■ HCL Software 日本ブログでの発表:
https://www.hcljapan.co.jp/software/blog/

HCL Ambassador 2024に任命されたのは以下10名の皆様です。(会社名50音順)

ケートリック株式会社 加藤 満 氏
https://notesdominoliaison.blogspot.com/

株式会社アグレックス 阿部 覚 氏
http://abesat.blog.jp/

株式会社NIS 中野 晴幸 氏
https://harunakano.blogspot.com/

株式会社エフ 御代 政彦 氏
https://guylocke.blogspot.com/

ケートリック株式会社 田付 和慶
ケートリック株式会社 米原 和之
https://www.ktrick.com/blog/

広瀬化学薬品株式会社 萩原 健補 氏
http://www.tanuchi.com/

株式会社フィオーレ 林和正 氏
https://note.com/dominolab/

株式会社 プロシード 浜 真行 氏
https://www.denaoshidomino.com/

フリーランス、ノーツコンソーシアム大阪研究会所属 林 哲司 氏
https://enjoyxpages.sakura.ne.jp/wp1/

任命された皆様おめでとうございます!

2024年は、「テクてく Lotus 技術者夜会」(https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0069193)や「ノーツコンソーシアム」(https://www.notescons.gr.jp/)などをはじめコミュニティーへ以前より積極的に貢献していきたいとおもっています。また、HCLアンバサダーが一丸となり、Notes/Dominoのコミュニティイベント「DominoHub」の開催を現在計画中ですので是非楽しみにしていてください。


ベストコミュニケーションズ社からsmaconne事業譲受に関するお知らせ

ケートリック株式会社(代表取締役社長:田付 和慶、以下「当社」)は、株式会社ベストコミュニケーションズ(代表取締役社長:光安 智秀、以下「ベストコミュニケーションズ」)が開発するソフトウェア smaconneに関する全事業 (以下、「当該事業」)を譲り受けることに関し、同社と事業譲渡契約を締結いたしましたので、下記のとおりお知らせいたします。

1.事業譲受日

2024年1月1日

2.事業譲受内容

smaconne事業に関する資産および取引契約

(1) 販売 smaconne事業のお客様とのお取引は、当社が承継
(2) 開発 smaconne開発は当社が継承

3.事業授受の理由

当社は創業以来、HCL Notes/Dominoでのシステム開発、製品販売を行ってまいりました。
今回、ベストコミュニケーションズよりNotes アプリをスマホやPC のWeb ブラウザで手軽に利用するための製品「smaconne」を譲り受けることで、そのノウハウを当社のシステム開発事業に融合し、相乗効果を生み出すことで一層の事業発展ならびにお客様へより最適なソリューション・サービスを提供してまいります。

何卒これまでと変わらぬご愛顧を賜りますよう、宜しくお願い致します。


XPagesリッチテキストコントロールのカスタマイズ

XPagesのリッチテキストコントロール カスタマイズ

Notes/Dominoエンジニア XPages担当の米原です。

まだまだ現役でXpagesの開発を行っています!
最近行き詰まったところがありましたで備忘としてブログに残すことにしました。

リッチテキストの入力高さを固定(縦スクロール付き)方法

リッチテキストを画面に配置したのですが、文字を入力して改行していくと、
自動で入力枠が縦に広がり結構縦に長くなり1画面の領域を結構占領してしまいます。
どうにか縦の幅を狭くしたいと思いました。

入力をするとどんどん広がって他の項目が見えなくなったりします。

Dojo属性を追加することによりCKEditorのConfig値を変更しました。
autoGrow_maxHeight:縦幅の広がった際の最大値

こんな感じで最大枠を指定できます。長くなる場合は縦のスクロールバーが機能します。

ツールバーを消す方法

今回の場合上のツールバーも不要なので消したいと思います。

同じように、今度は nameに toolbar 、valueに [[]]  これで上のツールバーは消えます。

この様にしてすっきりしました!
ここで「tootbar」 の「value」 に表示したいアイコンを選択することも可能です。

詳しくはこちらを参照してください↓
https://www.ktrick.com/xpages-richtext-ckeditor-toolbar-customize/

設定値などは、こちらを参考にしました。
https://docs-old.ckeditor.com/ckeditor_api/symbols/CKEDITOR.config.html

また色々と試したいと思います!


DominoV9→DominoV12 バージョンアップでXpagesエラーが発生した件

こんにちは。Xpages担当の米原です。

本日はXpagesでDominoV9からDominoV12にバージョンアップした際にハマったエラーの回避方法についてのお話です。

V9のサポート期日が迫っていまして、V12に更新されるお客さんが増えてきています。
そう、NotesDominoはどんどん進化してその都度便利な機能が追加されています!
V9で終わりではないですよ!!!

リリース情報その1

リリース情報その2

安心してNotes Domino 使い続けましょう。

さてさて本題に戻りまして

今回発生した問題はこちらの機能です。

  1. ボタン押下でダイアログを表示
  2. ダイアログ内で処理を実行(入力フィールドの値などセット)
  3. ダイアログ内で更新したものをダイアログを閉じるときのイベント(onHide)で部分更新

    OKボタンで更新するのは、OKボタンのイベントに処理を追加で可能なのですが、
    「x」ボタンが押された時にも反映したい場合があり、そのためにonHideイベントに部分更新のIDをセットしそのエリアを更新するように使用していました。

ここで、最後の「×」やOKでダイアログを閉じる際に、onHideが機能するのですが、
何とエラーになってしまってます。。
V9では大丈夫だったのに、V12ではこの使い方はダメなようです。

簡単なサンプルで確認したらこのようなものになります。

ダイアログ起動ボタン押下でダイアログ起動

「×」ボタン押下

エラー発生となります。

設計はこのようなものです

	<xe:dialog id="dlgTest" title="入力用ダイアログ">
		<xp:panel>
			ボタン押下で値がセットされ、×ボタンで値が更新します。<br/>
			<xp:button value="値をセット" id="button5">
				<xp:eventHandler event="onclick" submit="true">
					<xp:this.action><![CDATA[#{javascript:getComponent("testText").setValue("値がセットされました。")}]]></xp:this.action>
				</xp:eventHandler>
			</xp:button>
			<xp:button value="値をクリア" id="button1">
				<xp:eventHandler event="onclick" submit="true">
					<xp:this.action><![CDATA[#{javascript:getComponent("testText").setValue("値がクリアされました")}]]></xp:this.action>
				</xp:eventHandler>
			</xp:button>
		</xp:panel>
		<xp:eventHandler event="onHide" submit="true" refreshMode="partial" refreshId="testPan" disableValidators="true">
		</xp:eventHandler>
	</xe:dialog>

色々と調べた所、、、

どうも部分更新のエラー処理がV10から変更されているようでその影響の様です。

こちらに情報がありました 参考URL

回避策として、

Xspプロパティに「xsp.error.disable.detection.set01=true」をセットすることで
V9.0.1でのエラー処理に戻すことが可能です。

それでは、Xspプロパティを更新した状態でもう一度実行すると

「値をセット」ボタン押下後に、「×」ボタン押下すると

「値がセットされました。」と文言が更新されました。期待通りの動作です。

似た様な現象が発生した場合は参考になればと思います。

それでは本日はここまでで。