Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
API Call - /knowledge/uisetup/modules/install/
Info

Used to POST a JSON object (specified below) to upload widget metadata (not the widget itself, which is stored separately either on a filesystem or via the Infinit.e sharing API.

Once the metadata has been successfully uploaded, the widget can be accessed from the GUI's module browser.

Authentication

Required, see Auth - Login

Arguments

The content must be POSTed as a JSON object in the following format (see also the "get" API call.

...

Code Block
langjavascript
{
    //...
    "_id": string, // If not specified
    "created": string, // First time inserted, the Unix time in ms
    "modified": string, // Each time created or modified, the Unix time in ms
    "author": string, // The (unique) email address of the uploader
    "approved": boolean, // Currently hardwired to true
    //...
}
Example
Code Block
langbash
#bash> curl -XPOST 'http://infinite.ikanow.com/knowledge/uisetup/modules/install' -d '{
    "url": "$infinite/share/get/4d88d0f1f9a624a4b0c8bd71",
    "title": "Test widget",
    "description: "A widget designed to test some new visualization",
    "version": "0.9",
    "imageurl": "$infinite/share/get/4d88d0f1f9a624a4b0c8bd72",
    "searchterms": [ "test", "visualization" ]
}'

...

Note that there is currently a limitation in the above scenario, that all widget metadata are currently visible to all users (even though the share API protects access to the binaries themselves). A future release will fix this limitation.

Response
Info

The response format is straightforward, and most easily shown with this example:

Code Block
langjavascript
{
    response: 
    {
        action: "Install Module",
        success: true, 
        message: "module installed/updated successfully" // (or the error message if success:false)
    },
    data: 
    {
        _id: "4d88d0f1f9a624a4b0c8bd71", // The _id of the store, used for updating/deletion
        approved: true // Currently hardwired to true, since no approval mechanism currently exists
    }
}