While we developed HR Assistant it ran smoothly on a Domino server, but it was not using some strength of Domino, security.
Run on Domino
I made HR Assistant aware of the runtime it runs on, it ‘knows’ when it runs on Bluemix.
If that is the case our own developed login features comes in place, but…
When it runs on Domino it will enforce the ACL, which gave great advantages, by assign groups to the 3 roles of the application, HR, JobApplicant and Administrator. In the end you are elevating the security of the application
Store on Domino
Another feature we wanted to implement, which was on the wish list, was the ability to store the data in the NSF file.
With the great feature of the OpenNTF Domino API, I was able to store the document as JSON in field. Just the way I store the data in the Cloudant database. This feature give the ability to store what ever in a field and it will converted automatically if the data will reach the field limit
To achieve this, I created a new DominoJSONStore which do the same as the CloudantService, store the data in the respective NoSQL store
Choose your NoSQL datastore
I thought it would be nice to be in control of which NoSQL datastore to be used, without the need of the Domino Designer.
I found a great NAPIUtility file created by Sven Hasselbach. More details on his blog and it works very well.
I created a settings page where I load my custom property file, which ‘lives’ in the application.
On this page you can select the dataStorage to use for the application.
After saving the settings page, you need to re-authenticate to have the new settings effective.
As you see, there are more settings, like the cloudant username and password. Now I can connect the applications directly to another Cloudant database.
It opens new possibilities. For example by adding the credentials of the various Watson Services. There is no need anymore to store these credentials in the Faces-config.xml.
The settings page is not available on the current instance running on Bluemix as the login functionality is not that strict as on Domino. On Domino the settings page is only available for the users with the Administrator role.
If you want more information about HR Assistant and all the functionalities, let me know.