Posts Tagged ‘xpages’

15 May 2015
10

XPages Tip: Filter your design elements for quicker navigation

This is a quick tip on how to filter your design elements in Domino Designer to help quickly find what you’re looking for.

I have to laugh at myself sometimes. 80% into one of my recent XPages Projects, I found myself completely frustrated, trying to pinpoint 1 of many custom control designs in Domino Designer. I almost fell off my chair when I realised that the solution was staring me in the face the entire time.

In Domino Designer, irrelevant of if you’re viewing XPages design elements, custom controls, views, forms, etc, there is a filter option on the top right side of the content Pane. This allows you to track a certain design element using a keyword. As long as that keyword exists in the design element name or alias column, you’re good to go.

EXAMPLE OF FULL LIST OF VIEWS

Screen Shot 2015-05-15 at 11.35.24 AM

EXAMPLE WHERE FILTERED BY KEWORD “Reports”

Screen Shot 2015-05-15 at 11.36.12 AM

Pity I only found this out now :(

Hope this helps.

Cheers. John

UPDATE:

Thanks to Tommy Valand and Per Lausten for suggesting Ctrl + Shift + R, which searches for any design element by name in applications that are open in DDE.

Per also referenced a great blog post: “10 Eclipse Navigation Shortcuts every Java programmer should know

14 May 2015
5

Java XSnippet Published: Translate an ArrayList to a Vector

Here is a Java XSnippet I published the other day on how to manually convert an ArrayList Object to a Vector Object.

UPDATE

Thanks to “Martin Rolph” and “Jesse Gallagher” for providing a much simpler method of getting the same result without having to use my XSnippet. I’ve decided to keep my XSnippet published as I do feel it will add value as a reference point.

ORIGINAL POST

Click here to view XSnippet

When binding Scoped Variables to a List Control in XPages, the values returned are defined as an ArrayList. You might want to convert these values into a Vector for whatever reason.

Quick Example of how to use XSnippet:

doc.replaceItemValue("MultiValueField", TranslateArrayListToVector(viewScope.get("Values"));

Martin’s and Jesse’s much better alternative:

doc.replaceItemValue("MultiValueField", new Vector(viewScope.get("Values")));
9 Mar 2015
13

XPages Best Practice: Don’t add ids to controls if they are not required

This is a quick best practice tip and what will most likely become an involved discussion around ids for XPages controls.

I had to think carefully before posting this, but decided to do so as I know it would prove beneficial to the online community either way.

One of the recent items I’ve added to my “best practices” list, is to not use ids for XPages controls that do not require it. A great example of this are label controls. 99.9% of the time, I require no programmatic handle on any of my label controls. What most should know by now is that if you assign an id of “label1” to the label control, this id gets converted to something along the lines of “view:_id1:_id2:_id11:label1” when the HTML page gets rendered to the user. I’m hoping by now you start understanding my concern?

Let’s say you had about 20 controls that make up your XPage that don’t require ids….that’s at least about 500 bytes of data the user has to download just for these id names. NOTE: This is before compression has taken place. (This could be 100 bytes after compression is applied)

See below example XPage. All it contains (other than the defaults that Domino provides) is 20 label controls with an id name of “label1“. The size of the HTML page is 633 bytes (post compression).

Screen Shot 2015-03-09 at 12.07.12 PM

See below 2nd example of the same XPage, except there are no ids assigned to these 20 labels. The size of the HTML page is 567 bytes (post compression).

Screen Shot 2015-03-09 at 12.05.16 PM

For most of you (i’m guessing), the difference in size is probably too small to action, but for me, it forms part of a drive to deliver the best online, mobile and browser experience possible to my clients and users.

Ok people, bring on the discussions….I’m ready!! :)

20 Jan 2014
4

Will I see you at IBMConnect next week? I hope so

IBMConnect

This has to be one of my favorite months of the year. Not only am I well rested, full of new years resolutions and ready to cause some serious coding damage for 2014, I also get to spend a full week overseas at one of the most amazing holiday resorts, attending an IBM event that hosts thousands of people, and hanging out with some of the most talented and awesome folk that the IBM Online Community have to offer.

Yes people, it’s IBMConnect 2014. My flight leaves for Atlanta Friday night (My time) and lands Saturday morning (Florida time). By Saturday 12:00pm I will be dropped off at the Swolphin (Swan and Dolphin), finding a place to keep my luggage, and venturing forth (to the Boardwalk I think) to meet and greet some of the greats.

What makes my week at IBMConnect that much more special, is that I am proud to call myself an IBM Champion for the 2nd year running. Yay for me and yay for the other 80+ champions that were chosen, especially those new to the Title :)

Another special milestone is I get to co-present a session at IBM Connect with Mr Marky Roden. This will be my first real session at IBMConnect and I can feel the nerves already. Last year I had the honor of facilitating a Birds Of A Feather Session, but next week I’m on stage baby!!!

When is the Session?

BP209: IBM Worklight: Going From XPages Mobile to Native Mobile Applications

Dolphin Southern Hemisphere I – Thursday Jan 30th – 11:15 AM – 12:15 PM

What is the Session about?

I’m glad you asked, and the answer is….*cough cough*…Mobile. And not just mobile, but IBM Worklight. Marky and I will be highlighting some of the awesomeness that is Worklight, as well as demonstrating a mobile app we developed to integrate with an XPages Application. Join us in our session and see how you can use your XPages knowledge in a mobile development environment.

My message to those attending IBMConnect

People of IBMConnect, I cannot stress this enough….”Connect, Connect, Connect”. Do not be afraid to introduce yourself and build the social chain. If you don’t know where to start…it’s simple…watch out for those with an “IBM Champion” badge of some sort (Blue I think). Part of the reason they are Champions is their willingness to engage and help others. It’s the perfect place to start.

Then, there’s Mr Bleed Yellow himself….Mat Newman. If you need a hug (we all need a hug sometimes), just introduce yourself. He will be spotting a touch of yellow :)

Finally, try your best to attend some the Social events. There are too many to mention. If you use Twitter, there will be value in following these hashtags:

I’ll see you all in a couple of days. Get some rest :)
John
17 Jan 2014
0

TiDomino is now an Idea Space on IdeaJam.net

Firstly, a big thanks to Mr Bruce Elgort for creating a category on IdeaJam.net for TiDomino.

For those who aren’t aware…TiDomino is a JavaScript module that allows Appcelerator Titanium developers to use IBM Domino programming patterns to structure local data sets and integrate with IBM Domino and XWork Applications.

IdeaJam.net is an online social site that uses the power of “crowd-sourcing” to rank ideas and allow the best ideas to rise to the top. (NOTE: IdeaJam is available as a product for companies that are interested. Speak to Mr Bruce Elgort or Click here for more info)

SO WHERE TO FROM HERE?

To date, there have been 83 downloads of TiDomino from OpenNTF. I published the very first version on the 29th November 2013 and provided a 2nd release on the 13th December. The 2nd release was motivated by a suggestion that Sean Cull raised during his testing of TiDomino.

Now, I already have my To Do list for the next release of TiDomino, which I’m targeting for February, once IBMConnect is over and the dust has settled.

However, moving forward, I really want to urge everyone who’s interested in this community product, to raise ideas and suggestions on IdeaJam. I would love nothing more than to turn this into an Uber product that makes sense for everyone in terms of usability and time saved on programming.

I, myself will be listing all the ideas I currently have for this product. I look forward to everyone’s feedback and involvement on this. I’ll see you on the other side!!

John