KTRICK interview about IBM Verse has been posted in WIRED Japan online
Monday September 14th, 2015ニュース,Notes/Domino,IBM VerseIBM Verse
KTRICK interview has been posted in WIRED Japan online
9/14/2015、KTrick president, Kazunori Tatsuki's interview about IBM Verse has been posted in WIRED.JP.
⇒ http://wired.jp/innovationinsights/post/social/i/verse/ (Japanese only)
This interview was posted in IBM special site in WIRED.JP called "INNOVATION INSIGHTS"(http://wired.jp/innovationinsights/).
Please check out our post regarding IBM Verse which was written for IBM event called IBM XCITE 2015 Spring.
https://www.ktrick.com/ibm-verse/
Special Thanks to all Wired.JP interviewer and IBMer who are dedicated to publish this post.
How to change the XPages radio button design by CSS
Tuesday August 4th, 2015Notes/Domino,XPages アプリケーション開発,XPages,Notes/DominoXPages アプリケーション開発,Lotus Domino Designer,Lotus Domino Designer
How to apply the CSS design to the radio button in general
If you want to change the radio button or checkbox design by css, usually you need to prepare the HTML source code like below:
The most important point in above HTML is having the "input" and "label" tag as sibling hierarchy. Based on this html, CSS should be specified as following:
First of all, hiding the original radio design by setting opacity 0.
In the next step, you can design the button as you like by using label tag like below.
The css above is the one example of customizing the radio button. The HTML and CSS would be like the image below:
The imporatnt point of this CSS is the selector of ”input[type="radio"]+label:before”.
The "+label" means to specify the label tag which is sibling of selected input tag (type is radio). By doing this, customizing the design of selected button.
You might wonder why you need to use label tag instead of using input tag directly. The reason why doing this is because input tag cannot use ":before" and input tag itself needs to be hidden. Therefore label tag is needed to customize the design for radio butto/checkbox.
Actually the explanation above is nothing related with XPages. So you will be able to find many design example if you google for the radio button design.
Now I would like to write the article for how to change the XPages radio button design by using only CSS.
Understand the HTML hierarchy of XPages radio button (radio button group)
To apply the similar design to the XPages radio button, first of all, we need to understand the HTML source code which XPages generates for radio button or radio button group control.
Below example is for radio button group control.
Then, HTML source code is like below. (Domino 9.0.1)
As you can see, label tag has the input tag as a child. In fact, this html structure makes much harder to customize the design for radio button / checkbox.
No way to inform the checked status of radio button to the label tag
In the first example of CSS above, there is selector of "input[type="radio"]:checked+label:before". This means "when radio button has been checked, change the sibling label design!". However as the XPages' HTML structure, you cannot use the selector like first example because generally CSS cannot specify the PARENT element by CHILD element status. ( in this case, input:checked cannot inform the status to the label tag)
(It is actually possible if you use the Javascript like jQuery though...)
Never give up! Applying the design only by CSS!
As I explained, XPages cannot use the example CSS above. So I needed to find the other way to apply the custom design.
Using "box-shadow"
After spending a lot of try and error, the CSS for XPages radio button control became like below:
In this CSS, "label:before" specifies the outline of radio button, and "label:after" specifies the checked radio design. The point of this CSS is masking the checked radio design by using "box-shadow" for checked and unchecked status.
I know this CSS is more complicated. However you don't need to apply any javascript or any other html attribute value, and control 100% by just using CSS.
By the way, this CSS does not work on IE8 or less since "box-shadow" is part of CSS3 and IE8 does not support it.
Deep dive more
For more advanced CSS style, for example, you can use the image for radio button design.
The XPages source code below applies the three different type of images and express checked status by using opacity.
The image below is the result. When you click the icon image, the image color is displayed clearly and unchecked radio image turns to subtle color.
Speak about IBM Verse at Open General Session, IBM XCITE Spring 2015
Monday June 1st, 2015ニュースIBM Verse,IBM XCITE
KTrick introduced IBM Verse User Case at IBM XCITE SPRING 2015 Day2 - Open General Session
5/20/2015、KTrick CEO, Kazunori Tatsuki, introduced about IBM Verse User Case at IBM XCITE SPRING 2015 - Open General Session with Matsuura-san (IBM).
Introduced how KTrick improved the business task and daily routine work by changing to IBM Verse with live demo at OGS in IBM XCITE SPRING 2015.
We've created the special site of how KTrick introduced the IBM Verse in OGS, please check the following URL if you missed the session.
https://www.ktrick.com/ibm-verse/
Special Thanks:
Special Thanks to IBM Matsuura-san, Takenouchi-san, Matsumoto-san and all others who supported IBM XCITE SPRING 2015.
(日本語) 2015年4月22日14時から「IBM Dominoアプリケーション on Bluemix」のセッションを行います
Wednesday April 22nd, 2015bluemix,ニュース,Notes/Domino,XPages アプリケーション開発XPages
Sorry, this entry is only available in Japanese.
How to set 'date only' or 'time only' values in fields through XPages
Monday March 2nd, 2015XPages アプリケーション開発,XPages,Notes/DominoXPages アプリケーション開発,Lotus Domino Designer,Lotus Domino Designer
XPages always save date and time in a field
When a form has the fields with "date only" or "time only", then the stored data format are different between Notes Client and XPages.
For example, I prepared the field with "date only" named "Date" as following (sorry, screenshots are all Japanese) :
And also field with "time only" named "Time":
Now I saved a new document with this form from Notes Client (9.0.1 FP3), then I got following fields' data.
As you see, "Date" field has "2015/03/02", and Time field has"14:35:00"
As the next, I created the simple XPage to save a new document with same form and fields so that I can compare the data between Notes Client and XPages.
Below is the source code for Date field and Time field in XPages.
Date Field
Time Field
Each inputText specify date, time to the Type attribute of convertDateTime.
After saving a new document from this XPage, below is the screenshot of stored field data:
So both of fields have "yyyy/MM/dd hh:mm:dd ZZ" format.
Why you need to save "date only" or "time only" data from XPages?
I just don't post this blog to argue which format is proper way and why XPages behaves differently.
In the real world, I think you or your customers already have the NSF apps and you may want to improve them as the web application by XPages. In that case, especially you decide to keep using the NSF from both Notes Client and XPages, then I recommend to adjust the field format to Notes Client one instead of XPages one so that all existing documents are supported both Notes Client and XPages without changing data.
Use setAnyTime()、setAnyDate() of NotesDateTime class
Maybe there are a lot of way to achieve what I want below. But one of easy way is using NotesDateTime class of SSJS.
The SSJS above converts the DateTime field format by using setAnyTime()、setAnyDate() in PostSaveDocument event after saving the XSP document .
(日本語) IBM Domino Application on Bluemix について、ConnectED 2015にて
Thursday January 29th, 2015XPages,bluemix,watson,ニュース,Lotus Domino Designer,Notes/DominoXPages アプリケーション開発
Sorry, this entry is only available in Japanese.
(日本語) IBM Verseに関して in ConnectED 2015
Tuesday January 27th, 2015ニュースibmconnected,IBM Verse
Sorry, this entry is only available in Japanese.
My Session Agenda for ConnectED 2015
Sunday January 25th, 2015Notes/DominoNotes/Domino,IBM ConnectED
This below is my session agenda I made for IBM ConnectED 2015.
For many of attendees, one of important session will be related about IBM Verse. My other buzzwords are bluemix integration, Domino API, Connections API, and of course XPages! like below:
- IBM Verse: Deep Dive and Futures - ID114
- IBM Domino Applications in Bluemix - AD201
- Be Open - Use WebServices And REST In XPages Applications - BP108
- There's an API for That! Why and How To Build on the IBM Connections Platform - BP205
This year also has a lot of great session as usual. I cannot wait! :-)
2015.01.25(Sun)
IBM Domino Applications on Cloud - MAS104
03:45 午後 - 04:45 午後 - Walt Disney World Swan, Swan 7-10
Pete Janzen (IBM), Christian Guedemann (WebGate Consulting AG)
2015.01.26(Mon)
IBM ConnectED - A New Way to Engage - OGS101
08:00 午前 - 09:30 午前 - Walt Disney World Swan, Swan 1-10
IBM Verse: Deep Dive and Futures (R1) - ID114
10:45 午前 - 11:45 午前 - Walt Disney World Swan, Swan 5-6
Andrew Davis (IBM)
IBM Domino - 2015 and Beyond (R1) - ID107
01:00 午後 - 02:00 午後 - Walt Disney World Swan, Swan 5-6
Scott Vrusho (IBM)
IBM Domino Applications in Bluemix - AD201
02:15 午後 - 03:15 午後 - Walt Disney World Dolphin, S. Hem 2
Martin Donnelly (IBM)
The Future of Web Development - Write Once, Run Everywhere with AngularJS and Domino - BTE102
03:45 午後 - 04:45 午後 - Walt Disney World Swan, Toucan 1-2
Mark Roden (PSC Group LLC)
IBM Verse AppDev and Extensibility - AD104
05:00 午後 - 06:00 午後 - Walt Disney World Swan, Swan 7-10
Andrew Davis (IBM)
2015.01.27(Tue)
ConnectED 2015 IBM Business Partner Kickoff Session - BPO101
08:00 午前 - 10:15 午前 - Walt Disney World Swan, Swan 5-6
Lou Sassano (IBM)
IBM Domino App Dev Futures - AD101
08:00 午前 - 09:00 午前 - Walt Disney World Swan, Swan 7-10
Eamon Muldoon (IBM)
There's an API for That! Why and How To Build on the IBM Connections Platform - BP205
09:15 午前 - 10:15 午前 - Walt Disney World Dolphin, S. Hem 2
Mikkel Flindt Heisterberg (OnTime by Intravision)
Take to the Cloud! Extend Your Applications with IBM Sametime APIs from IBM Connections Cloud - AD204
11:15 午前 - 12:15 午後 - Walt Disney World Swan, Swan 1-2
Brendan Arthurs (IBM)
IBM Notes Applications to the Web: IBM Notes Browser Plug-in - ID106
01:00 午後 - 02:00 午後 - Walt Disney World Dolphin, S. Hem 1
Rajesh Patil (IBM)
Adding Two Factor Authentication to IBM Connections Cloud - BTE202
02:30 午後 - 03:30 午後 - Walt Disney World Swan, Swan 7-10
Stephen McDonagh (AVX Limited)
Practical IBM Notes and Domino Internet Security - BP102
03:45 午後 - 04:45 午後 - Walt Disney World Swan, Swan 1-2
Daniel Nashed (Nash!Com)
Be Open - Use WebServices And REST In XPages Applications - BP108
05:00 午後 - 06:00 午後 - Walt Disney World Swan, Toucan 1-2
Bernd Hort (assono GmbH)
OpenNTF Domino API: The Community API - CHALK102
06:15 午後 - 07:00 午後 - Walt Disney World Swan, Swan 1-2
Paul Withers (Intec Systems Ltd)
2015.01.28(Wed)
XPages and Java: Share your Experience - CHALK405
07:15 午前 - 08:15 午前 - Walt Disney World Dolphin, S. Hem 2
Bernd Hort (assono GmbH)
From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries - BP106
08:30 午前 - 09:30 午前 - Walt Disney World Swan, Swan 3-4
Paul Withers (Intec Systems Ltd), Christian Guedemann (Webgate)
Responsive Application Development for XPages - AD302
11:45 午前 - 12:45 午後 - Walt Disney World Swan, Mockingbird 1-2
Brian Gleeson
Build Your Own Apps in Minutes Leveraging IBM Bluemix and IBM Connections - AD202
01:30 午後 - 02:30 午後 - Walt Disney World Dolphin, S. Hem 2
Miguel Estrada (IBM)
ConnectED Closing Session: A New Way to Engage - CGS102
03:15 午後 - 04:00 午後 - Walt Disney World Swan, Swan 1-10
XPages - How to expand a specific category in the view as default
Monday December 22nd, 2014XPages,Notes/Domino,XPages アプリケーション開発Lotus Domino Designer,XPages アプリケーション開発
Control Expand/Collapse of the category view
To control Expand/Collapse status of the view in XPages, you just have to use [ExpandLevel] in view data source.
For example, Set "0" to expand, "1" to collapse as default.
Then Is it possible if you want to collapse the view as default except the specific category like below?
Expand only the specific category as default by SSJS
Use the following Serverside Javascript code in afterPageLoad event to expand the specific category.
In the above case, the last line(L4) specifies the first category to expand.
Like this sample code, you can control more if you use SSJS. In this case, I use DominoViewDataModel object. If you are interested in this object, you can see more detail from this link.
You might be able to get more ideas to control view data source directly.
Honored to be a 2015 IBM Champion for ICS
Monday December 8th, 2014ニュースIBM Champion
12/3/2014, I got one email from IBM and title was "IBM welcomes you as a 2015 IBM Champion!".
I am very honored to be an IBM Champion 2015 and now I am feeling I should contribute more to the ICS communities.
From Japan, 6 Japanese were designated for IBM Champions for ICS.
Satoru Abe (NEOAXIS Co.,Ltd.)
Kenji Ebihara (Ricoh IT Solutions Co.,Ltd.)
Mitsuru Kato (Teamstudio Japan K.K)
Kazunori Tatsuki (KTrick, llc)
Masahiko Miyo (ef Co.,Ltd.)
Takeshi Yoshida (SOLXYZ Co.,Ltd.)
Congratulations!!
In 2014, I could meet a lot of great developers and business partners and had a chance to do the business together. I also had chances to join the events as session speaker such as XPagesDay 2014 , IBM XCITE Autumn 2014 , Notes Consortium .
As 2015 IBM Champion・・・
According to the email, It seems that IBM Champion program recognizes individuals who make outstanding contributions to IBM communities in the following ways
- Evangelize and advocate for IBM Collaboration Solutions
- Share knowledge and expertise
- Help grow and nurture the community
- Expand reach across the IBM portfolio
- Present feedback, both negative and positive, in a constructive and professional manner
Personally I would like to contribute the ICS communities so that none IBM related developers become interested in ICS software and development.
I also had chances to work at the IBM user or partner's development office, then I realized there are many companies which develops a lot of great Notes/Domino applications. So I also would like to provide the valuable information to the world from Japan so that people in the world can realize more that there are many great Japanese developers in Japan.