Challenge Overview
Watson Pattern Explorer Custom Node RED Nodes Contest Specification
1. Project Overview
1.1 System Description
The goal is to produce a proof of concept pattern explorer application using Node RED technology. The application should take in data from the Watson Engagement Advisor Instance, run it through a series of processing steps and provide access to the processed data.
1.2 Competition Task Overview.
1.2.1 Develop credentials node
Develop a custom node that can hold multiple bluemix service credentials. Each credential would consist of service name, username and password. This node should use the cf cli tool to periodically fetch bluemix credentials for a user and cache those credentials. Make all configured credentials available in the global context (context.global.credentials).
Existing Watson service nodes don't expect the credentials to be available in the global context, so we need to set them up manually. In the constructor of the credentials node, iterate over all available nodes (using RED.nodes.eachNode), filter nodes with type string that starts with watson-*, and force set the credentials for that node using RED.nodes.addCredentials(noded.id,{username:uname,password:pwd}). Skip forcing the credentials if the node already has credentials configured by the user in the flow editor. Add a flag to enable/disable this action.
CF Cli tool is available at https://www.ng.bluemix.net/docs/cli/downloads.html
To get a list of all services use "cf services"
Then for each service use "cf service-keys <service instance name>"
Finaly to get credentials for a service name use "cf service-keys <service instance name> <credential name>"
Credentials node should require bluemix account username/password as mandatory configuration parameters. Those will be used to login with the cf tool.
1.2 Common
Detailed logging is needed for all the nodes. Log should be pushed to console (use this.log, this.warn, this.err). In case of errors/exceptions throw them with “node.error(detailedMessage,source)”
1.3 Verification
For verification, create a simple flow with a few watson nodes and verify that credentials are set properly and the nodes can be used with preconfigured credentials.
1.4 Technology overview
- Nodejs https://nodejs.org
- Node RED http://nodered.org
Final Submission Guidelines
Submit a zip file with all the deliverables.