API Documentation 

API Documentation [HTML] [CHM]
REST API Documentation [HTML] [CHM]

Documentation

  1. UI Overview
  2. Using the Editor
  3. Writing Applications

UI Overview 

The User Interface is very simple. We have a Main Menu on the left which contains all the featues you account can access; At the top we have the Profile and Settings Menu, which provides all the functionality to manage your account; In the Center we have the Application Dashboard, which makes all Published Apps accessible; and at the bottom we have the Feedback Form, where we kinddle ask you to put your questions, ideas, concerns and just plain comments about what you think regarding iKnode.

Everything can be best explained with the following screenshot:

Using the Editor 

The Application Editor allows you to create, modify and test your applications. There are 3 main panes for the Editor: 1) The References and Properties Pane, 2) The Output Pane and 3) the Code Pane.

The References and Properties pane, allows you to add assembly references to your application and set the properties or metadata for your application. It is very important to notice that the Application Name in the Properties needs to be Unique because this is th name used for your application in the platform. The Application Name is the one used when calling the application fro mthe API, and from the Dashboard.

The Action Menu on the top part of the editor, allows you to save, compile, execute an publish your application. An application starts as a draft while being compiled and tested in the editor. An application with draft status cannot be accessed by clients either through the API or through the Dashboard. Once the application is completed and ready to be used, click the publish button, which will effectively make it accessible to all your clients. If for any reason, the application is saved again, recompiled or executed using the editor, the application will go back to a draft state and won’t be accessible to clients.

Writing iKnode Applications 

iKnode applications are represented with a single C# class containing the [Application] attribute. An application provides functionality through its public methods. So, any public method the class contains, will be exposed for clients to access it.

The following application is called HelloWorldApp and exposes two public methods Hello and HelloYou:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using iKnode.Applications;

namespace Applications
{
    /// <summary>
    /// Defines the Main entry point of the HelloWorld application.
    /// </summary>
    [Application]
    public class HelloWorldApp
    {
        /// <summary>
        /// Returns a simple hello!
        /// </summary>
        /// <returns>Returns a simple Hello!</returns>
        public string Hello()
        {
            return "Hello ";
        }
      
        /// <summary>
        /// Returns a simple hello! to you.
        /// </summary>
        /// <param name="yourName">Your name.</param>
        /// <returns>Returns a simple Hello! to you.</returns>
        public string HelloYou(string yourName)
        {
            return this.Hello() + yourName;
        }
    }
}

It is important to mention that, just like when building services, the methods exposed in an application cannot have the same name; even if .Net allows it. The main reason is that in the engine, this class becomes a service endpoint, and application methods needs to be unique.