# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2014, Apache CloudStack
# This file is distributed under the same license as the Apache CloudStack package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack 4.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-03-31 13:49-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../../plugins.rst:2
# 379a7814be5a45bcadcc0fd536656b4f
msgid "Plugins"
msgstr ""

#: ../../plugins.rst:6
# 276ba73433bd44b49f3176b4fdcaf5a9
msgid "Storage Plugins"
msgstr ""

#: ../../plugins.rst:8
# 358954e5ae1b4bca9b9314f8cbd00da8
msgid "This section gives an outline of how to implement a plugin to integrate a third-party storage provider. For details and an example, you will need to read the code."
msgstr ""

#: ../../plugins.rst:12
# bcbf1c53396a440f8f0a50ed5591f57b
msgid "Example code is available at: `plugins/storage/volume/sample`"
msgstr ""

#: ../../plugins.rst:14
# 7943819f1f8a49bfb21b6aedfc6864dd
msgid "Third party storage providers can integrate with CloudStack to provide either primary storage or secondary storage. For example, CloudStack provides plugins for Amazon Simple Storage Service (S3) or OpenStack Object Storage (Swift). The S3 plugin can be used for any object storage that supports the Amazon S3 interface."
msgstr ""

#: ../../plugins.rst:20
# e8a7044f1e9642cea286930007548cff
msgid "Additional third party object storages that do not support the S3 interface can be integrated with CloudStack by writing plugin software that uses the object storage plugin framework. Several new interfaces are available so that storage providers can develop vendor-specific plugins based on well-defined contracts that can be seamlessly managed by CloudStack."
msgstr ""

#: ../../plugins.rst:27
# 0a515957cb6e4b4bbe92c1331577f84f
msgid "Artifacts such as templates, ISOs and snapshots are kept in storage which CloudStack refers to as secondary storage. To improve scalability and performance, as when a number of hosts access secondary storage concurrently, object storage can be used for secondary storage. Object storage can also provide built-in high availability capability. When using object storage, access to secondary storage data can be made available across multiple zones in a region. This is a huge benefit, as it is no longer necessary to copy templates, snapshots etc. across zones as would be needed in an environment using only zone-based NFS storage."
msgstr ""

#: ../../plugins.rst:37
# 6648eb6e267b443f83e38ff557fa9dcd
msgid "The user enables a storage plugin through the UI. A new dialog box choice is offered to select the storage provider. Depending on which provider is selected, additional input fields may appear so that the user can provide the additional details required by that provider, such as a user name and password for a third-party storage account."
msgstr ""

#: ../../plugins.rst:44
# 79590964b2d94df7b8ee961a9f0e1c77
msgid "Overview of How to Write a Storage Plugin"
msgstr ""

#: ../../plugins.rst:46
# 81da42c9a3fd43a6ae81de0def33d980
msgid "To add a third-party storage option to CloudStack, follow these general steps (explained in more detail later in this section):"
msgstr ""

#: ../../plugins.rst:49
# a59f1b6a6401428b8df44ef5c815b529
msgid "Implement the following interfaces in Java:"
msgstr ""

#: ../../plugins.rst:51
# d4706d7bd37f4ecfb17e700d567de04b
msgid "DataStoreDriver"
msgstr ""

#: ../../plugins.rst:53
# 4059bcbbcc9f42aea6d8eaaff7e19d45
msgid "DataStoreLifecycle"
msgstr ""

#: ../../plugins.rst:55
# cd23139c1ca9496f95616a6447c7982f
msgid "DataStoreProvider"
msgstr ""

#: ../../plugins.rst:57
# 0b42430ad6754a7cb5d98d5ef1b9cfbb
msgid "VMSnapshotStrategy (if you want to customize the VM snapshot functionality)"
msgstr ""

#: ../../plugins.rst:60
# 58743ad0ef874f8a82ec02659f100b2c
msgid "Hardcode your plugin's required additional input fields into the code for the Add Secondary Storage or Add Primary Storage dialog box."
msgstr ""

#: ../../plugins.rst:63
# 3db5b1bcf41c43d2b41395ec10bb9f0a
msgid "Place your .jar file in `plugins/storage/volume/` or `plugins/storage/image/`."
msgstr ""

#: ../../plugins.rst:65
# cb55ad5ab266458ca52e817fff92e46c
msgid "Edit `/client/tomcatconf/componentContext.xml.in`."
msgstr ""

#: ../../plugins.rst:67
# eb20fc9877d64f35ab554e9466f4658f
msgid "Edit `client/pom.xml`."
msgstr ""

#: ../../plugins.rst:70
# 9688b201ec7a44d9bec3f68a3834f661
msgid "Implementing DataStoreDriver"
msgstr ""

#: ../../plugins.rst:72
# 6b45021dacd74b4db08570aca747baaf
msgid "DataStoreDriver contains the code that CloudStack will use to provision the object store, when needed."
msgstr ""

#: ../../plugins.rst:75
#: ../../plugins.rst:99
#: ../../plugins.rst:118
# 110e2faf453d4019acc78dc1de958e03
# 50d2a350ffdd446ebed3501451547a93
# 36623b0788e84ae7b8fe9cbaa8793214
msgid "You must implement the following methods:"
msgstr ""

#: ../../plugins.rst:77
# 978b91799e7a441483f89ee5094951c7
msgid "getTO()"
msgstr ""

#: ../../plugins.rst:79
# c5f4d5267f494a3d8103694ff97230cc
msgid "getStoreTO()"
msgstr ""

#: ../../plugins.rst:81
# ceab640d5f294e33b654eeb341a236f6
msgid "createAsync()"
msgstr ""

#: ../../plugins.rst:83
# d40f5f65b6c142e3982b32e617d13ee1
msgid "deleteAsync()"
msgstr ""

#: ../../plugins.rst:85
#: ../../plugins.rst:135
# 1c581d60ec8f437b946609e5005d4615
# 6ee9c079baf14294b50ac646b0b17148
msgid "The following methods are optional:"
msgstr ""

#: ../../plugins.rst:87
# a4ddd58fad6a4efab4f54031b45b1895
msgid "resize()"
msgstr ""

#: ../../plugins.rst:89
# 07a3e3904a8f4e23ab9d2719ceadc3bb
msgid "canCopy() is optional. If you set it to true, then you must implement copyAsync()."
msgstr ""

#: ../../plugins.rst:93
# dfa07e5db908457d8cf4ab3ea629351f
msgid "Implementing DataStoreLifecycle"
msgstr ""

#: ../../plugins.rst:95
# 3508baad34c349f18bee1a469dbdd2f4
msgid "DataStoreLifecycle contains the code to manage the storage operations for ongoing use of the storage. Several operations are needed, like create, maintenance mode, delete, etc."
msgstr ""

#: ../../plugins.rst:101
# be7eccc5cbf94427ab62c3ac621e0904
msgid "initialize()"
msgstr ""

#: ../../plugins.rst:103
# 05c12b7857f9409a85b667444db0bf4b
msgid "maintain()"
msgstr ""

#: ../../plugins.rst:105
# e2cdf5a6cbfc40df9637fbd1625d0739
msgid "cancelMaintain()"
msgstr ""

#: ../../plugins.rst:107
# c531bef6c8934f778fd67919afa4e0b2
msgid "deleteDataStore()"
msgstr ""

#: ../../plugins.rst:109
# a37c6307cd0243c795a40ca093011f09
msgid "Implement one of the attach\\*() methods depending on what scope you want the storage to have: attachHost(), attachCluster(), or attachZone()."
msgstr ""

#: ../../plugins.rst:114
# 8dfafd1749a144f7889ee0f225b66288
msgid "Implementing DataStoreProvider"
msgstr ""

#: ../../plugins.rst:116
# b7400386153243b39742ffb719dda277
msgid "DataStoreProvider contains the main code of the data store."
msgstr ""

#: ../../plugins.rst:120
# d46222d7926a42f19c4b4716e4afc608
msgid "getDatastoreLifeCycle()"
msgstr ""

#: ../../plugins.rst:122
# a69737a8b6ab40d39e67a74c899e5574
msgid "getDataStoreDriver()"
msgstr ""

#: ../../plugins.rst:124
# ce12672ec9844f7c8d88a9d3871e8bdd
msgid "getTypes(). Returns one or more types of storage for which this data store provider can be used. For secondary object storage, return IMAGE, and for a Secondary Staging Store, return ImageCache."
msgstr ""

#: ../../plugins.rst:128
# 683ccb9981724336886a1597876d99da
msgid "configure(). First initialize the lifecycle implementation and the driver implementation, then call registerDriver() to register the new object store provider instance with CloudStack."
msgstr ""

#: ../../plugins.rst:132
# 6eae2e2f3984408d83382a7e643ac1ea
msgid "getName(). Returns the unique name of your provider; for example, this can be used to get the name to display in the UI."
msgstr ""

#: ../../plugins.rst:137
# 1d479396becb4f31907471b9247b47cf
msgid "getHostListener() is optional; it's for monitoring the status of the host."
msgstr ""

#: ../../plugins.rst:141
# 52eaa6fa0b484432a9bd1bbc77a5c37d
msgid "Implementing VMSnapshotStrategy"
msgstr ""

#: ../../plugins.rst:143
# 9ad0037ad86d4a1b8d1f135cefbbc6c5
msgid "VMSnapshotStrategy has the following methods:"
msgstr ""

#: ../../plugins.rst:145
# 20970991ba784f3b9d54cf1cfe12f8e6
msgid "takeVMSnapshot()"
msgstr ""

#: ../../plugins.rst:147
# 9bff86587100420e93573c9bee23e992
msgid "deleteVMSnapshot()"
msgstr ""

#: ../../plugins.rst:149
# 3a52e11272284484a6e72f035dee36c8
msgid "revertVMSnapshot()"
msgstr ""

#: ../../plugins.rst:151
# f3306e4fc05f4c4fb6065e8be9ae7790
msgid "canHandle(). For a given VM snapshot, tells whether this implementation of VMSnapshotStrategy can handle it."
msgstr ""

#: ../../plugins.rst:155
# 992261ff6c7e418da8e50ffc311bdd92
msgid "Place the .jar File in the Right Directory"
msgstr ""

#: ../../plugins.rst:157
# 525e7141d0414c5990833d09bda59b48
msgid "For a secondary storage plugin, place your .jar file here:"
msgstr ""

#: ../../plugins.rst:163
# 95400fb6d085440797180cf692b4bf94
msgid "For a primary storage plugin, place your .jar file here:"
msgstr ""

#: ../../plugins.rst:170
# f9bace45b78d4ca1b3581f1978438637
msgid "Edit Configuration Files"
msgstr ""

#: ../../plugins.rst:172
# 076d6a8e32c547ef9774ce76b6956107
msgid "First, edit the following file tell CloudStack to include your .jar file. Add a line to this file to tell the CloudStack Management Server that it now has a dependency on your code:"
msgstr ""

#: ../../plugins.rst:180
# 41863713ce5b44af8daa29b52ea9b884
msgid "Place some facts about your code in the following file so CloudStack can run it:"
msgstr ""

#: ../../plugins.rst:187
# b918b6ed56d140ff8013cb47574e0e42
msgid "In the section “Deployment configurations of various adapters,” add this:"
msgstr ""

#: ../../plugins.rst:194
# 30190892871c43188cf466ccd65f65d7
msgid "In the section “Storage Providers,” add this:"
msgstr ""

#: ../../plugins.rst:203
# 2ae7b51840ee4af992fc223832fc4671
msgid "Minimum Required Interfaces"
msgstr ""

#: ../../plugins.rst:205
# 8b945071a1ca4028a8e4d66b660e9a37
msgid "The classes, interfaces, and methods used by CloudStack from the Amazon Web Services (AWS) Java SDK are listed in this section. An object storage that supports the S3 interface is minimally required to support the below in order to be compatible with CloudStack."
msgstr ""

#: ../../plugins.rst:211
# 608dc2680b3647418a090b59602e0fae
msgid "Interface AmazonS3"
msgstr ""

#: ../../plugins.rst:213
# aee399034a2f4543badc14a61f4c271d
msgid "http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3.html"
msgstr ""

#: ../../plugins.rst:216
#: ../../plugins.rst:292
#: ../../plugins.rst:305
# 524902fe6335491e90113db2e7dcf32c
# e98040534c694fa79fa31e2055d1952d
# 14a01140525943f992129262e3d80f7d
msgid "Modifier and Type"
msgstr ""

#: ../../plugins.rst:216
#: ../../plugins.rst:292
#: ../../plugins.rst:305
# 425d6aa0a9064b96a9ca0885a619c38d
# f6a0c9e17a6243779f44932ea5a23c89
# 9a049f576a8e4962950b98430348d2a4
msgid "Method and Description"
msgstr ""

#: ../../plugins.rst:219
# dab6c8ccc228474bbdee27d4828d4f54
msgid "Bucket"
msgstr ""

#: ../../plugins.rst:219
# b5245e58b4104653874763bf3ebc456b
msgid "createBucket(String bucketName)"
msgstr ""

#: ../../plugins.rst:221
# 098525d2951148a3ab0b98ccc0daa468
msgid "Creates a new Amazon S3 bucket with the specified name in the default (US) region, Region.US\\_Standard."
msgstr ""

#: ../../plugins.rst:224
#: ../../plugins.rst:246
#: ../../plugins.rst:275
#: ../../plugins.rst:279
# 10e1e53e84814a759d18a529af6afb21
# 19df007e41794cdcb5068190dc725b50
# 9b936bfde7324c11bc53237bee0ab743
# f9e2310af56643ea89a85e7a49179a42
msgid "void"
msgstr ""

#: ../../plugins.rst:224
# d0edd5f0784c4d0d80b649435413969c
msgid "deleteObject(String bucketName, String key)"
msgstr ""

#: ../../plugins.rst:226
# b000a048de2c4b73a38deb0f3453329e
msgid "Deletes the specified object in the specified bucket."
msgstr ""

#: ../../plugins.rst:228
# 93db5db5c5d04b14996eee4cced36b84
msgid "ObjectMetadata"
msgstr ""

#: ../../plugins.rst:228
# 6c36346fa1884122b6103c28b5d4bdd7
msgid "getObject(GetObjectRequest getObjectRequest, File destinationFile)"
msgstr ""

#: ../../plugins.rst:231
# 733bb2a121894a158b4dbed604144383
msgid "Gets the object metadata for the object stored in Amazon S3 under the specified bucket and key, and saves the object contents to the specified file."
msgstr ""

#: ../../plugins.rst:235
# 69058f54f58342d094836ad752e4d4e7
msgid "S3Object"
msgstr ""

#: ../../plugins.rst:235
# 8e4699041a0a403594cff314173bad13
msgid "getObject(String bucketName, String key)"
msgstr ""

#: ../../plugins.rst:237
# 565e5ccbf07643d8bdb2e31697118021
msgid "Gets the object stored in Amazon S3 under the specified bucket and key."
msgstr ""

#: ../../plugins.rst:240
# e434609fbde942f7b2667a2bd2b74526
msgid "URL"
msgstr ""

#: ../../plugins.rst:240
# 0049113021404c0398d28d0090fc4e86
msgid "generatePresignedUrl(String bucketName, String key, Date expiration, HttpMethod method)"
msgstr ""

#: ../../plugins.rst:243
# 4a6a23c7ae664c61a5d54eab6c49bddd
msgid "Returns a pre-signed URL for accessing an Amazon S3 resource."
msgstr ""

#: ../../plugins.rst:246
# 904cfc6f8c244f8fbfc859e381069663
msgid "deleteBucket(String bucketName)"
msgstr ""

#: ../../plugins.rst:248
# e1dac24bb0e14b4697219c79b113fd7f
msgid "Deletes the specified bucket."
msgstr ""

#: ../../plugins.rst:250
# 8cdb948275894bdb97c1b8b5f6e249ed
msgid "List<Bucket>"
msgstr ""

#: ../../plugins.rst:250
# 4948cb9aa0fe47b5a0b4133c51aac5ae
msgid "listBuckets()"
msgstr ""

#: ../../plugins.rst:252
# a7f7c254dfc743e6986d6f87157e8ca1
msgid "Returns a list of all Amazon S3 buckets that the authenticated sender of the request owns."
msgstr ""

#: ../../plugins.rst:255
# 3e40fd85e1734299b80d1a20543aa634
msgid "ObjectListing"
msgstr ""

#: ../../plugins.rst:255
# bb216e1e97f64c06b56d8b5d63f55e6f
msgid "listObjects(String bucketName, String prefix)"
msgstr ""

#: ../../plugins.rst:257
# 410a7878aa1a423a8924f0639fd9d503
msgid "Returns a list of summary information about the objects in the specified bucket."
msgstr ""

#: ../../plugins.rst:260
#: ../../plugins.rst:264
#: ../../plugins.rst:269
# c9d4c91129ea44d3b04bc4fec6625e45
# bdebb85f1c164924b617faf009556842
# 07c5d99ac05a4fa288989e3abc26136a
msgid "PutObjectResult"
msgstr ""

#: ../../plugins.rst:260
# a026c1f32bfb4bb5880c29ae0a65e253
msgid "putObject(PutObjectRequest putObjectRequest)"
msgstr ""

#: ../../plugins.rst:262
# 4f55cf31f4d241e1822a673575690fd8
msgid "Uploads a new object to the specified Amazon S3 bucket."
msgstr ""

#: ../../plugins.rst:264
# 3bc33b26a775484088543c50ccd242b9
msgid "putObject(String bucketName, String key, File file)"
msgstr ""

#: ../../plugins.rst:266
# 7da2800a6855410ba7aba90d4eb247f9
msgid "Uploads the specified file to Amazon S3 under the specified bucket and key name."
msgstr ""

#: ../../plugins.rst:269
# 84b1447f696947f188e49d20266ab31a
msgid "putObject(String bucketName, String key, InputStream input, ObjectMetadata metadata)"
msgstr ""

#: ../../plugins.rst:272
# ffd50b9c64944d7c94b59db13f429502
msgid "Uploads the specified input stream and object metadata to Amazon S3 under the specified bucket and key name."
msgstr ""

#: ../../plugins.rst:275
# 6ff9f7752d544dce87370cff755b5c04
msgid "setEndpoint(String endpoint)"
msgstr ""

#: ../../plugins.rst:277
# bb223a72df024071bd3fcf9a104ea867
msgid "Overrides the default endpoint for this client."
msgstr ""

#: ../../plugins.rst:279
# a1c7af6f2ced47df89b4f06a106004ea
msgid "setObjectAcl(String bucketName, String key, CannedAccessControlList acl)"
msgstr ""

#: ../../plugins.rst:282
# fc1eb83daba44fb8b3d7c874b1b78eb4
msgid "Sets the CannedAccessControlList for the specified object in Amazon S3 using one of the pre-configured CannedAccessControlLists."
msgstr ""

#: ../../plugins.rst:287
# 0ca9dc98fa69442da459049fa130bb3e
msgid "*Class TransferManager*"
msgstr ""

#: ../../plugins.rst:289
# af0a0cd7fe054fa0b429690eb93d7f08
msgid "http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/transfer/TransferManager.html"
msgstr ""

#: ../../plugins.rst:295
#: ../../plugins.rst:308
# 3bf5fd4667e14704827091487cba6732
# 063f2d2856ac430f82e49cb6a131a104
msgid "Upload"
msgstr ""

#: ../../plugins.rst:295
#: ../../plugins.rst:308
# 85985bdb07bb4407ac643217da6cc939
# bcb6b7381776465fbad331f3a2f1fa72
msgid "upload(PutObjectRequest putObjectRequest)"
msgstr ""

#: ../../plugins.rst:297
#: ../../plugins.rst:310
# bae421e1a5db4ee7a2dab5d554ec7198
# aa005a5c26e74b76a91b4f14cefed7b1
msgid "Schedules a new transfer to upload data to Amazon S3."
msgstr ""

#: ../../plugins.rst:300
# 62992df00ab34f92971b3885d85b3bfc
msgid "*Class PutObjectRequest*"
msgstr ""

#: ../../plugins.rst:302
# e6c803af72274ebc9580b6a7f60bdb67
msgid "http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/PutObjectRequest.html"
msgstr ""

#: ../../plugins.rst:315
# 047cb9e48a3d481c934d16c02bd9a87d
msgid "Third Party UI Plugins"
msgstr ""

#: ../../plugins.rst:317
# be7d0e07285f4351bda1ceb9a1fb337b
msgid "Using the new third-party plugin framework, you can write and install extensions to CloudStack. 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 CloudStack’s installed code at any time after CloudStack installation. The new plugin appears only when it is enabled by the cloud administrator."
msgstr ""

#: ../../plugins.rst:328
# 21c50cf0d5564016b44442790fe84fb1
msgid "The left navigation bar of the CloudStack UI has a new Plugins button to help you work with UI plugins."
msgstr ""

#: ../../plugins.rst:332
# 3181ee393ee54ca0bec634ac6c3ff3ff
msgid "How to Write a Plugin: Overview"
msgstr ""

#: ../../plugins.rst:334
# 7e214f0cab7b4e82bc7b17125b4d573d
msgid "The basic procedure for writing a plugin is:"
msgstr ""

#: ../../plugins.rst:336
# 08098d9c051a422f9f119e12fb801b90
msgid "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."
msgstr ""

#: ../../plugins.rst:344
# 23807d67ae0347b3bf61aac8b62dab08
msgid "All UI plugins have the following set of files:"
msgstr ""

#: ../../plugins.rst:359
# 26387214ce7d4db38de919e4af305edc
msgid "The same files must also be present at `/tomcat/webapps/client/plugins`."
msgstr ""

#: ../../plugins.rst:362
# 88678459528c45bcb71214b6c06cbe00
msgid "The CloudStack administrator adds the folder containing your plugin code under the CloudStack PLUGINS folder."
msgstr ""

#: ../../plugins.rst:369
# b7a4f78ddc254478acac9a6d4896db7f
msgid "The administrator also adds the name of your plugin to the plugin.js file in the PLUGINS folder."
msgstr ""

#: ../../plugins.rst:376
# b4a1e6dcbbe943b7b02eff49df570e25
msgid "The next time the user refreshes the UI in the browser, your plugin will appear in the left navigation bar."
msgstr ""

#: ../../plugins.rst:384
# ad4d6a6816c34431bad231e9fdf8b2c4
msgid "How to Write a Plugin: Implementation Details"
msgstr ""

#: ../../plugins.rst:386
# 32860106c46f407caa5037981b45fd0a
msgid "This section requires an understanding of JavaScript and the CloudStack API. You don't need knowledge of specific frameworks for this tutorial (jQuery, etc.), since the CloudStack UI handles the front-end rendering for you."
msgstr ""

#: ../../plugins.rst:391
# d43ce7e869b44abb8aa8ced854031f33
msgid "There is much more to the CloudStack 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."
msgstr ""

#: ../../plugins.rst:397
# c983b0a3b2e34f47891a7f3e21d300aa
msgid "**Create the directory to hold your plugin.**"
msgstr ""

#: ../../plugins.rst:399
# 7fcc90ae1483437c8452ecd3a63cb12e
msgid "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."
msgstr ""

#: ../../plugins.rst:405
# cea645979e1e42dfa9fb8a4e6c835b14
msgid "In this example, the plugin is named csMyFirstPlugin."
msgstr ""

#: ../../plugins.rst:418
# dac80f13146d46d69f6024199420a5f1
msgid "**Change to your new plugin directory.**"
msgstr ""

#: ../../plugins.rst:425
# 4649d30c029947efb26e9689fe4d0a42
msgid "**Set up the listing.**"
msgstr ""

#: ../../plugins.rst:427
# da3530d14f3141bf8fd825e1d590183a
msgid "Add the file `config.js`, using your favorite editor."
msgstr ""

#: ../../plugins.rst:433
# 7a6b02d1946d4f2293b3fec3d21d8545
msgid "Add the following content to config.js. This information will be displayed on the plugin listing page in the UI:"
msgstr ""

#: ../../plugins.rst:449
# e5bb9ce4c369479cbe7cc590e7865105
msgid "**Add a new main section.**"
msgstr ""

#: ../../plugins.rst:451
# c6a54f8b6b2542779303438bf225ead2
msgid "Add the file csMyFirstPlugin.js, using your favorite editor."
msgstr ""

#: ../../plugins.rst:457
# e9a74896a2564517ab0b1cad702af069
msgid "Add the following content to csMyFirstPlugin.js:"
msgstr ""

#: ../../plugins.rst:477
# 6b508943154f4a91ad9212145454b729
msgid "**Register the plugin.**"
msgstr ""

#: ../../plugins.rst:479
# 99232d63e1574ee0a219e4f47db26c12
msgid "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:"
msgstr ""

#: ../../plugins.rst:489
# aecc1460eb7a4f39bfc2974ccbd9c8df
msgid "Now add the following to plugins.js:"
msgstr ""

#: ../../plugins.rst:500
# dda46490dded4befab18cc890e4a8685
msgid "**Check the plugin in the UI.**"
msgstr ""

#: ../../plugins.rst:502
# 64676cd9d1b945ccbb61f2660ad70c96
msgid "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."
msgstr ""

#: ../../plugins.rst:506
# 3b028f17d2f94b28966e30fe979808a7
msgid "**Make the plugin do something.**"
msgstr ""

#: ../../plugins.rst:508
# 6c65b20c7e6f487ca68539eab0b480d3
msgid "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)."
msgstr ""

#: ../../plugins.rst:520
# 813e82c6e71c4a11b86c8fcb1997906b
msgid "First, open your plugin's JavaScript source file in your favorite editor:"
msgstr ""

#: ../../plugins.rst:529
# 2d33a542619b4d55a0e9f87a9516a1dd
msgid "Add the following code in csMyFirstPlugin.js:"
msgstr ""

#: ../../plugins.rst:573
# 436498903a8348ca82d0c2b7e7c474bd
msgid "**Test the plugin.**"
msgstr ""

#: ../../plugins.rst:575
# fc6df374ec774dcca802ea34ff7af4c1
msgid "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."
msgstr ""

#: ../../plugins.rst:580
# ac308906d1774a4181bf17b00da818ea
msgid "**Add an action button.**"
msgstr ""

#: ../../plugins.rst:582
# 83bd0fe3cefa45a393d1a3ff21a4ce34
msgid "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."
msgstr ""

#: ../../plugins.rst:592
# 7d22cbd6ab2c4a4da120584e0b7e9dfb
msgid "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):"
msgstr ""

#: ../../plugins.rst:677
# 5acc3c90549c46adaff6a95a22b18e8d
msgid "**Add the thumbnail icon.**"
msgstr ""

#: ../../plugins.rst:679
# 645ff826822448548982c45e8aa9e189
msgid "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`."
msgstr ""

#: ../../plugins.rst:683
# dc9c9e24edb440f6a5daefbe14510efe
msgid "**Add the stylesheet.**"
msgstr ""

#: ../../plugins.rst:685
# 176437827f1047cbbfb1eb8b39f7f054
msgid "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`."
msgstr ""

