From 75041b9c55e536eb0a0020f983ec750df4af8832 Mon Sep 17 00:00:00 2001 From: Jessica Date: Wed, 28 Aug 2013 17:01:30 -0700 Subject: [PATCH] CLOUDSTACK-883. DOC. How to integrate your 3rd-party plugin with the UI. Contains brief third-party plugin code tutorial. --- docs/en-US/Developers_Guide.xml | 1 + docs/en-US/images/plugin1.jpg | Bin 0 -> 32999 bytes docs/en-US/images/plugin2.jpg | Bin 0 -> 35149 bytes docs/en-US/images/plugin3.jpg | Bin 0 -> 41983 bytes docs/en-US/images/plugin4.jpg | Bin 0 -> 32125 bytes docs/en-US/images/plugin_intro.jpg | Bin 0 -> 22247 bytes docs/en-US/third-party-ui-plugin.xml | 347 +++++++++++++++++++++++++++ 7 files changed, 348 insertions(+) create mode 100644 docs/en-US/images/plugin1.jpg create mode 100644 docs/en-US/images/plugin2.jpg create mode 100644 docs/en-US/images/plugin3.jpg create mode 100644 docs/en-US/images/plugin4.jpg create mode 100644 docs/en-US/images/plugin_intro.jpg create mode 100644 docs/en-US/third-party-ui-plugin.xml diff --git a/docs/en-US/Developers_Guide.xml b/docs/en-US/Developers_Guide.xml index e6fb5ce9a41..7452e29ecf2 100644 --- a/docs/en-US/Developers_Guide.xml +++ b/docs/en-US/Developers_Guide.xml @@ -51,6 +51,7 @@ + diff --git a/docs/en-US/images/plugin1.jpg b/docs/en-US/images/plugin1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..970233d84750173bb91f03c89b19e8c1715572f6 GIT binary patch literal 32999 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 I(!MGF4_^TpE&u=k literal 0 HcmV?d00001 diff --git a/docs/en-US/images/plugin2.jpg b/docs/en-US/images/plugin2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c8a6107ba92cca8fa7118cbca43c74cb2b15c14 GIT binary patch literal 35149 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

_J&#=$ZO5oUX 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 ZpB}DUi{YlnCdtx!71N4#|J{B~{};j52Aco? literal 0 HcmV?d00001 diff --git a/docs/en-US/images/plugin3.jpg b/docs/en-US/images/plugin3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07fae790e22f416320beb52691ca03a06b7ccba4 GIT binary patch literal 41983 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 z

8B+8{RJ_mYU9TWj5 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 M`v1s6fqqZ_4>XQAe*gdg literal 0 HcmV?d00001 diff --git a/docs/en-US/images/plugin4.jpg b/docs/en-US/images/plugin4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bcec9f773a04dbd5e159d3527ad39e690e78f9f GIT binary patch literal 32125 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 + +%BOOK_ENTITIES; +]> + + + Third-Party UI Plugin Framework + Using the new third-party plugin framework, you can write and install extensions to + &PRODUCT;. The installed and enabled plugins will appear in the UI alongside the + other features. + The code for the plugin is simply placed in a special directory + within &PRODUCT;’s installed code at any time after &PRODUCT; installation. The new plugin + appears only when it is enabled by the cloud administrator. + + + + + + plugin_intro.jpg: New plugin button in product navbar + + + The left navigation bar of the &PRODUCT; UI has a new Plugins button to help you work with UI plugins. +

+ How to Write a Plugin: Overview + The basic procedure for writing a plugin is: + + + Write the code and create the other files needed. You will need the plugin code + itself (in Javascript), a thumbnail image, the plugin listing, and a CSS file. + + + + + + plugin1.jpg: Write the plugin code + + + All UI plugins have the following set of files: + +-- cloudstack/ + +-- ui/ + +-- plugins/ + +-- csMyFirstPlugin/ + +-- config.js --> Plugin metadata (title, author, vendor URL, etc.) + +-- icon.png --> Icon, shown on side nav bar and plugin listing + (should be square, and ~50x50px) + +-- csMyFirstPlugin.css --> CSS file, loaded automatically when plugin loads + +-- csMyFirstPlugin.js --> Main JS file, containing plugin code + + The same files must also be present at /tomcat/webapps/client/plugins. + + + The &PRODUCT; administrator adds the folder containing your plugin code under the + &PRODUCT; PLUGINS folder. + + + + + + plugin2.jpg: The plugin code is placed in the PLUGINS folder + + + + + The administrator also adds the name of your plugin to the plugin.js file in the + PLUGINS folder. + + + + + + plugin3.jpg: The plugin name is added to plugin.js in the PLUGINS + folder + + + + + The next time the user refreshes the UI in the browser, your plugin will appear in + the left navigation bar. + + + + + + plugin4.jpg: The plugin appears in the UI + + + + +
+
+ How to Write a Plugin: Implementation Details + This section requires an understanding of JavaScript and the &PRODUCT; API. You don't + need knowledge of specific frameworks for this tutorial (jQuery, etc.), since the + &PRODUCT; UI handles the front-end rendering for you. + There is much more to the &PRODUCT; UI framework than can be described here. The UI is + very flexible to handle many use cases, so there are countless options and variations. The + best reference right now is to read the existing code for the main UI, which is in the /ui + folder. Plugins are written in a very similar way to the main UI. + + + Create the directory to hold your plugin. + All plugins are composed of set of required files in the directory + /ui/plugins/pluginID, where pluginID is a short name for your plugin. It's recommended + that you prefix your folder name (for example, bfMyPlugin) to avoid naming conflicts + with other people's plugins. + In this example, the plugin is named csMyFirstPlugin. + $ cd cloudstack/ui/plugins +$ mkdir csMyFirstPlugin +$ ls -l + +total 8 +drwxr-xr-x 2 bgregory staff 68 Feb 11 14:44 csMyFirstPlugin +-rw-r--r-- 1 bgregory staff 101 Feb 11 14:26 plugins.js + + + + Change to your new plugin directory. + $ cd csMyFirstPlugin + + + + Set up the listing. + Add the file config.js, using your favorite editor. + $ vi config.js + Add the following content to config.js. This information will be displayed on the + plugin listing page in the UI: + (function (cloudStack) { + cloudStack.plugins.csMyFirstPlugin.config = { + title: 'My first plugin', + desc: 'Tutorial plugin', + externalLink: 'http://www.cloudstack.org/', + authorName: 'Test Plugin Developer', + authorEmail: 'plugin.developer@example.com' + }; +}(cloudStack)); + + + + Add a new main section. + Add the file csMyFirstPlugin.js, using your favorite editor. + $ vi csMyFirstPlugin.js + Add the following content to csMyFirstPlugin.js: + (function (cloudStack) { + cloudStack.plugins.csMyFirstPlugin = function(plugin) { + plugin.ui.addSection({ + id: 'csMyFirstPlugin', + title: 'My Plugin', + preFilter: function(args) { + return isAdmin(); + }, + show: function() { + return $('<div>').html('Content will go here'); + } + }); + }; +}(cloudStack)); + + + + Register the plugin. + You now have the minimal content needed to run the plugin, so you can activate the + plugin in the UI by adding it to plugins.js. First, edit the file: + $ cd cloudstack/ui/plugins +$ vi plugins.js + + Now add the following to plugins.js: + (function($, cloudStack) { + cloudStack.plugins = [ + 'csMyFirstPlugin' + ]; +}(jQuery, cloudStack)); + + + + Check the plugin in the UI. + First, copy all the plugin code that you have created so far to + /tomcat/webapps/client/plugins. Then refresh the browser and click Plugins in the side + navigation bar. You should see your new plugin. + + + Make the plugin do something. + Right now, you just have placeholder content in the new plugin. It's time to add + real code. In this example, you will write a basic list view, which renders data from + an API call. You will list all virtual machines owned by the logged-in user. To do + this, replace the 'show' function in the plugin code with a 'listView' block, + containing the required syntax for a list view. To get the data, use the + listVirtualMachines API call. Without any parameters, it will return VMs only for your + active user. Use the provided 'apiCall' helper method to handle the server call. Of + course, you are free to use any other method for making the AJAX call (for example, + jQuery's $.ajax method). + First, open your plugin's JavaScript source file in your favorite editor: + $ cd csMyFirstPlugin +$ vi csMyFirstPlugin.js + + Add the following code in csMyFirstPlugin.js: + (function (cloudStack) { + cloudStack.plugins.csMyFirstPlugin = function(plugin) { + plugin.ui.addSection({ + id: 'csMyFirstPlugin', + title: 'My Plugin', + preFilter: function(args) { + return isAdmin(); + }, + + // Render page as a list view + listView: { + id: 'testPluginInstances', + fields: { + name: { label: 'label.name' }, + instancename: { label: 'label.internal.name' }, + displayname: { label: 'label.display.name' }, + zonename: { label: 'label.zone.name' } + }, + dataProvider: function(args) { + // API calls go here, to retrive the data asynchronously + // + // On successful retrieval, call + // args.response.success({ data: [data array] }); + plugin.ui.apiCall('listVirtualMachines', { + success: function(json) { + var vms = json.listvirtualmachinesresponse.virtualmachine; + + args.response.success({ data: vms }); + }, + error: function(errorMessage) { + args.response.error(errorMessage) + } + }); + } + } + }); + }; +}(cloudStack)); + + + + Test the plugin. + First, copy all the plugin code that you have created so far to + /tomcat/webapps/client/plugins. Then refresh the browser. You can see that your + placeholder content was replaced with a list table, containing 4 columns of virtual + machine data. + + + Add an action button. + Let's add an action button to the list view, which will reboot the VM. To do this, + add an actions block under listView. After specifying the correct format, the actions + will appear automatically to the right of each row of data. + $ vi csMyFirstPlugin.js + + Now add the following new code in csMyFirstPlugin.js. (The dots ... show where we + have omitted some existing code for the sake of space. Don't actually cut and paste + that part): + ... + listView: { + id: 'testPluginInstances', + ... + + actions: { + // The key/ID you specify here will determine what icon is + // shown in the UI for this action, + // and will be added as a CSS class to the action's element + // (i.e., '.action.restart') + // + // -- here, 'restart' is a predefined name in &PRODUCT; that will + // automatically show a 'reboot' arrow as an icon; + // this can be changed in csMyFirstPlugin.css + restart: { + label: 'Restart VM', + messages: { + confirm: function() { return 'Are you sure you want to restart this VM?' }, + notification: function() { return 'Rebooted VM' } + }, + action: function(args) { + // Get the instance object of the selected row from context + // + // -- all currently loaded state is stored in 'context' as objects, + // such as the selected list view row, + // the selected section, and active user + // + // -- for list view actions, the object's key will be the same as + // listView.id, specified above; + // always make sure you specify an 'id' for the listView, + // or else it will be 'undefined!' + var instance = args.context.testPluginInstances[0]; + + plugin.ui.apiCall('rebootVirtualMachine', { + // These will be appended to the API request + // + // i.e., rebootVirtualMachine&id=... + data: { + id: instance.id + }, + success: function(json) { + args.response.success({ + // This is an async job, so success here only indicates + // that the job was initiated. + // + // To pass the job ID to the notification UI + // (for checking to see when action is completed), + // '_custom: { jobID: ... }' needs to always be passed on success, + // in the same format as below + _custom: { jobId: json.rebootvirtualmachineresponse.jobid } + }); + }, + + + error: function(errorMessage) { + args.response.error(errorMessage); // Cancel action, show error message returned + } + }); + }, + + // Because rebootVirtualMachine is an async job, we need to add + // a poll function, which will perodically check + // the management server to see if the job is ready + // (via pollAsyncJobResult API call) + // + // The plugin API provides a helper function, 'plugin.ui.pollAsyncJob', + / which will work for most jobs + // in &PRODUCT; + notification: { + poll: plugin.ui.pollAsyncJob + } + } + }, + + dataProvider: function(args) { + ... +... + + + + Add the thumbnail icon. + Create an icon file; it should be square, about 50x50 pixels, and named icon.png. + Copy it into the same directory with your plugin code: + cloudstack/ui/plugins/csMyFirstPlugin/icon.png. + + + Add the stylesheet. + Create a CSS file, with the same name as your .js file. Copy it into the same + directory with your plugin code: + cloudstack/ui/plugins/csMyFirstPlugin/csMyFirstPlugin.css. + + +
+