My slides of my Cloudant session at Sutol 2016

Today I did a session at Sutol conference in Prague.

It was about how to get started with Cloudant as an XPages developer.

In my session I mentioned my Cloudant OSGi plugin, which can be find at https://bitbucket.org/flinden68/cloudant-connector/
twittergoogle_plusredditpinterestlinkedintumblrby feather

HR Assistant now as project at OpenNTF

OpenNTF

Today I have added our winning application, HR Assistant, as project at OpenNTF.

I have added the source code in a zip as the release, but I encourage you to go to the Github repository directly.

Included a notice and license file, which is required for every project on OpenNTF.

And last but not least, there are screenshots and….. documentation 😉

 

Have fun with it. And a demo is in the making.

 

twittergoogle_plusredditpinterestlinkedintumblrby feather

Cloudant connector plugin update: manage Design documents

CloudantIBM

Yesterday I was helping out Patrick Kwinten with some he had with my Cloudant Connector plugin on Slack. He asked also about the possibility to add or modify Design Documents, I found there foundation was already there.

 

Design Documents

Design documents can be seen as the schema in your Cloudant database, which specify what is in the view and how the ftSearch index is build.

Below is an example of a Design Document. As everything in Cloudant the syntax is JSON.

Cloudant Design Document

 

New methods

As I wrote before, the foundation was already laid in the plugin, the only I had to do was to expose them to the outside world. With this new methods you can programmatically create or update Design Documents.

  • connector.getDocumentConnector().createDesignDocument(final Map<String, String> updates, final String designDocument)
  • connector.getDocumentConnector().updateDesignDocument(final Map<String, String> updates, final String designDocument)

updates, map of updates, where the value of the map is the javascript of the selection designDocument:

updates.put("newUpdateHandler", "function (doc, req) { ... }");

the name of the designDocument to create or update

 

Closing

Everything, including an updated ReadMe is in the BitBucket repository.

Thanks to Patrick for the great blogpost with boilerplate, where you can see the plugin in action.

When you need help with the plugin, let me know or reach out to me on Slack as Patrick did.

When you have feature request, please create an issue in the BitBucket Repository and I will have look if it will make it to the plugin.

twittergoogle_plusredditpinterestlinkedintumblrby feather

I will be speaking at Sutol 2016 in Prague

Sutol 2016

Yesterday I received an email that my session has been accepted for the upcoming Sutol Conference in Prague.

It is the first time I will be at SUTOL, so I am looking forward to it. I heard some very good things about this conference.

 

Hope to see you in Prague next month, may be we can go for a short run through the city. ( The best way, in my opinion, to explore a city ;-))

twittergoogle_plusredditpinterestlinkedintumblrby feather

Speaking at MeetIT in Milan

MeetIT

I will be speaking at MeetIT, formerly known as DominoPoint Days, in Milan. Looking forward to return to Milan for this great event after a few years.

My session will be about Cloudant, what else 😉
A (XPages) developers guide to Cloudant
NoSQL databases getting more popular recently, especially MongoDb. But there is another popular NoSQL, Cloudant. It is the cloud version of CouchDb. Cloudant has lots of similarities with good old NSF, but a lot faster.
We have build a web based application which stores it data in Cloudant and use the XPages runtime to display the data.
I want to share my experiences when developing this application, by setting up the Cloudant database, add search indexes, perform the common CRUD operations, search for specific data. I will also show more about my Cloudant connector OSGi plugin which is used heavily in this project.
In the end you will only use the XPages/Java design elements in the NSF for the Front end.

twittergoogle_plusredditpinterestlinkedintumblrby feather

Heads up for Salesforces Trailhead

trailhead-flogo
Lately I noticed the increasing demand of Salesforce developers in The Netherlands and I like to explore new technologies.

So I was looking for a way to start learning Salesforce, Rene Winkelmeyer, pointed me to Trailhead.

I can confirm it is very refreshing way to learn a new platform, there a variaty of trails, Admins or Developers. You can earn batches if you complete a module.

twittergoogle_plusredditpinterestlinkedintumblrby feather

XPages Quick tip: Move Java files for a better Source Control experiences

Over the last months we build the HR Assistant for the ICS World Wide Development Competition.

The backend of the code is totally written in Java. The XPages and custom controls only serves the data to the browser, nothing more.

 

The Problem

We have all the Java classes in the application as Java Design Elements, which give you, like any other Domino Designer Element, an metadata file. I noticed that the runtime is mirroring the java files to a java directory under the WebContent –> WEB-INF, which went sometimes gone wrong in 8.5.x

 

This metadata files was causing the most annoying conflicts when using GIT during the development, as we developed everything on our local machine and the GIT repository the linking factor.

 

My experience

Today I was looking about moving the Java files to the correct location. For the development we had a debug application with a subset of the classes to test the connectivity with Cloudant.

So I found it a good candidate to do the move first.

Note: below everything happens in the Package Explorer ( found under Menu bar –> Window –> Show Eclipse Views

Step 1: Create in the NSF under WebContent –> WEB-INF a folder, called ‘java’

java-webcontent-location

And make it as source folder, by right clicking on the folder

java-make-it-a-source-folder

 

Step 2: Move the Java files

Locate the Code/Java folder, keep in mind it is not under Code as displayed in the Applications view

java-design-elements

And copy and paste them in the new source folder

java-correct-location

Remove the files under Code/Java.

 

Build the application and everything should work as before the move.

A big benefit it is there is much less metadata files which can causing conflicts when using Source Control. Another benefit is that you remove the tight integration of the Domino Designer and you can also move the Java files to a OSGi plugin to make it more flexible.

 

BTW, In my opinion you should get used to the Package Explorer, as you do Java development, so no pretty panes. In the JEE world where they use the plain Eclipse everything happens in the Package Explorer

twittergoogle_plusredditpinterestlinkedintumblrby feather

And the winner is…… HR Assistant

ics-dev-competition-2016-logo

Last Friday during the closing session of Icon UK in London Inhi Suh announced, with a little help of Alan Hamilton, the results of the ICS Developer competition 2016. To my big surprise our submission, HR Assistant was selected as winner. Frédéric, my partner in crime in this competition was also very surprised a few timezones to the east from us.

 

HR Assistant

Frédéric Dehédin from the Swiss IBM Business Partner Belsoft Collaboration and I formed a team, Fred & Frank, to build this application.

HR Assistant is an application which can help the HR employee to screen and analyse Job Applications, with the help of several IBM Watson services, like the Tone Analyser, Personality Insight and Alchemy Language.

The analysis results are displayed in charts and stored in Cloudant database.

See it in action on IBM Bluemix, hrassistant.eu-gb.mybluemix.net

 

HR dashboard

dashboard

 

Job applicant dashboard

hr-assistant-job-listing

 

Job application with Alchemy Language keywords

hr-assistant-job-application-alchemylanguage

Expect in the near future more technical blog posts about the application.

 

BTW, a big shout out to my former employer which one of the runners up with their application Join. Well done…

twittergoogle_plusredditpinterestlinkedintumblrby feather

My session slides of Icon UK 2016

At Icon UK I did a session about Servlets.

The demo code can be found in a GIT repository on Bitbucket,

twittergoogle_plusredditpinterestlinkedintumblrby feather

2 years

two-year

Today it is 2 years ago that I started my own business as a Freelance developer and I must say I enjoy it every day.

The past year I was helping out Belsoft with Application Development projects for their customers, but most of the time I was doing projects in the JEE world, working with Spring Framework (MVC, Security, Webflow), Hibernate, JPA, Maven and Jenkins.

 

Let’s make it a another successful year.

twittergoogle_plusredditpinterestlinkedintumblrby feather