Posts Tagged ‘notesin9’

14 Mar 2013
0

Video Tutorial: Get up and running with Lotus Domino Designer 8.5.3

Hi everyone. So here’s my next Video Tutorial. I show you how to download Lotus Domino Designer 8.5.3 and I also give a quick demo on how to set up your first Notes Application.

I decided to go back to basics and assist those who are new to IBM (Lotus) Notes, especially those who want to get started on Notes/Domino and XPages Development. I end off the Video Tutorial showing you how easy it is to create a working CRUD Application (Create/Read/Update/Delete) in the Notes Client.

If you use iTunes, you can download this video via David Leedy’s NotesIn9 Podcast series.

Enjoy :)

John.

18 Sep 2012
3

TUTORIAL: Integrating XPages with DB2 – Part 2

Hi everyone. So, just 2 things firstly:

1. This is an extended Post to David Leedy’s NotesIn9 Posting of “Intro to XPages and Relational Data – Part 2“.

2. I do apologize that this took a while to publish. This is one of the more challenging years to find some free time to contribute to the Domino and XPages community. Having said that, I have quite a few Video Tutorials planned before this year ends, so stay tuned :)

 

Now that that’s out the way…..this post is Part 2 to the “Integrating XPages with DB2 – Part 1“. In this Video I show you how to Create/Read/Update/Delete DB2 Data using XPages. More importantly, I show you how to empower the User to perform all these functions via a User Interface. It’s usually easy to write this logic in the back-end, but a little more involved when handing that power over to the User.

 

The good news is that it’s fairly straightforward. I show you some quick functions that will get you up and running in no time. As I explained in the Video though, there are much more advanced ways of integrating to DB2. This will involve some knowledge of DB2 itself. The keyword is…..”Stored Procedures“. This is where the power lies. A Stored Procedure is very much like a Sub Routine in LotusScript or a Function in Java or JavaScript, but you code in SQL Language. You can pass the Stored Procedure parameters, have all your logic neatly set out in a central place in DB2 and return values from the Stored Procedure which will allow you do things like create Child Documents, etc.

Later on in the near future, I will think up a straightforward Tutorial which will show you how this all works.

I hope you enjoy this Video. I really enjoyed making it. It was one of my smoothest recordings where everything went right the first time.

I want to thank David Leedy as always for adding this to his NotesIn9 Series. You da man :)

Cheers.

John

 

IMPORTANT NOTE: If you are not able to view this Video in HD, please Click Here to open this video up in a different Player.

20 Jul 2012
4

A quick example of the Dynamic Content & Data View Controls used in an XPages App

Hi Everyone. I’ve finally made some time to test out a few features from the XPages Extension Library. It was a bit of a learning curve, but it’s looking good.

Click here to view a Demo of these Controls.

I apologize in advance if there’s a small delay when using this App. It’s been hosted on a Server in South Africa…so the Internet Line is to blame.

Anyways…below is a list of Controls I’m using in the XPages App:

1. On top you’ll see the XPages Debug Control that was created by Mark Leusink and is available on OpenNTF. It’s very cool in the sense that it allows you to print messages directly to the Control and not via the Server Console. It also allows you to see all Scoped Variables that are being used in the XPage. Finally, it has an awesome feature where you can execute SSJS Scripts and view the result. I am very happy with this Control.

2. I’m using the Application Layout to control the Look and Feel of the XPage. It’s always a massive time saver. Click here to view the Video from NotesIn9 that explains the Application Layout in more detail.

3. in the Left Section I’m using the Navigation Control made available in the XPages Extension Library. This was a trick and a half, but I managed to use Partial Refreshes for all my onclick events. This allows me to use 1 XPage and multiple Custom Controls.

4. Depending on loading time, you might see the XPage go into Standby during the Partial Refresh. This is thanks to the Standby Custom Control which is available for download from OpenNTF. This is an awesome feature that needs no additional resources to function.

5. I have 2 views in the Main Content Section. These are Data Views that I am using from the XPages Extension Library. It’s safe to say that I am currently using very basic functionality from the Data View. There’s a lot more that you can do with it.

6. The 2 Data Views exist in a Dynamic Content Control, also from the XPages Extension Library. I won’t go into too much detail about this except that the Dynamic Control keeps your XPage light, and only loads Controls when they are needed. Very awesome stuff.

I am quite happy with what I’ve achieved in the last 3 hours. I had to put a few hacks in place to make everything work with Partial Refreshes, but all in all it was quite easy to implement.

I highly recommend the XPages Extension Library Book. It’s a life saver.

Till next time. Enjoy :)

29 Feb 2012
13

TUTORIAL: Integrating XPages with DB2 – Part 1

Hi everyone. I’m happy to announce a Video Tutorial where I explain how to integrate one’s XPages Application with DB2 directly, and not through back-end Forms and Views.

The trick here is to have a bit of JDBC understanding, as well as a basic understanding of Relational Databases and SQL Query.

To work with this Video Tutorial, you’ll need to have the following in place:

1. An installed version of DB2. This can be DB2 Express as well, which is free – Click here to download.

2. An installed version of Domino Designer 8.5.3. I tested everything on my Domino Server, but there’s no reason why this shouldn’t work using your local HTTP session for Domino Designer – Click here to download.

3. An UpdateSite to install OSGI Plugins on Domino Server. NOTE: The UpdateSite database gets used for Domino Servers, and will not work for your local environment. To test everything using your Local HTTP, you’ll need to install the OSGI Plugins manually. You do this by extracting the contents of the Plugins Zip File to the Notes Data Directory, under “domino/workspace/applications/eclipse” folder.

 

Click here to view the Tutorial on how to setup the UpdateSite database and deploy OSGI Plugins on your Domino Server.

 

4. With reference to point number 3, Install the XPages Extension Library and JDBC Driver Plugins.

Download XPages Extension Library

Download JDBC Driver

 

5. Once you’ve deployed your plugins to your Domino Server, you can type in the following Commands to check if the Plugins were installed properly:

XPages Extension Libary:

tell http osgi ss com.ibm.xsp.extlib

JDBC DB2 Plugin:

tell http osgi ss extlib.driver.db2

The Domino Server should return information relating to the plugins you installed.

 

6. Here’s a copy of the Code that needs to be added to the db2.jdbc file that I speak about in the Video

<jdbc>
<driver>com.ibm.db2.jcc.DB2Driver</driver>
<url>jdbc:db2://localhost:50000/TESTDEMO</url>
<user>db2admin</user>
<password>password123</password>
</jdbc>

 

7. Here’s a copy of the Code that I use in the Video to add/remove/update and delete data in DB2

var mydata = {
FIRST_NAME: “John”,
LAST_NAME: “Jardin”
}

@JdbcInsert(“db2″,  “JJARDIN.USERPROFILES”, mydata)
var mydata = {
FIRST_NAME: “Sean”,
LAST_NAME: “Smith”
}

@JdbcUpdate(“db2″, “JJARDIN.USERPROFILES”, mydata, “ID=?”,1)
@JdbcDelete(“db2″,”JJARDIN.USERPROFILES”,”ID=?”,1)

 

I trust you will enjoy this Video. A Big thanks to David Leedy for making the video part of his NotesIn9 Series, and congrats once again on his recent milestone of 100 000 Views.

Also, another Big Thanks to the Domino and XPagees community, for always been available to assist wherever help is needed.

 

STAY TUNED FOR PART 2 OF XPAGES AND DB2 INTEGRATION!!!

 

12 Jan 2012
4

Automated Testing in XPages

Greetings everyone. I am very happy to announce that I have found a way to automate testing in XPages.

I attended Microsoft’s Tech Ed Event last year, and one of the tools that impressed me heavily, was Visual Studio’s Unit Testing Automation. What I enjoyed most was how you could setup a Test Case by recording what you were doing on the Screen, and then playback that Test Case. What was even more impressive was when the Test Case failed. When this happened, Visual Studio would take you to the line in your code where the Test Case failed.

Now, this is probably old news for Visual Studio Developers, but it’s quite rare for Domino Developers to have this capability. I’ve searched online and have not found any Testing Automation Toolkit for the physical Lotus Notes Client as yet, but I did stumble upon Selenium, which I am now using to automate testing in my XPages Applications.

 

What Is Selenium

The following extract is from Selenium’s Home Page:

Selenium automates browsers. That’s it. What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.

Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

 

For our purpose though, Selenium provides a means of recording your Xpages Testing, and then re-running that test or tests. The below video will show you how I setup and run a Test Case using Selenium IDE on our Online XPages Showcase. You’re more than welcome to use our Showcase to test Selenium. The below video was published through David Leedy’s NotesIn9 Series. Be sure to check out more videos from his Website, or through iTunes.

 

A few important Notes when Testing with Selenium

1. Selenium IDE is a Firefox Add-On. I’m not aware of any other Add-On for IE, Chrome, etc.

2. From what I’ve read, Selenium IDE gives you a small taste of what Selenium can actually do. I’ve however not had the time to explore this product any further.

3. From the feedback I’ve received and from my own tests, it seems that Selenium struggles a bit when it comes to testing certain Dojo and JQuery Controls. I will be testing this further, and will update this Blog Post as soon as I find a way around this. I am also expecting a lot of feedback from the Community, who I hope will also list many Tips, tricks etc.

That’s it from me. Enjoy the Video, and please leave feedback if and when you have time.

Cheers :)

 

12