April 23, 201412 yr As far as i can tell with the exception of Limetech LLC no one has released a 6.0-beta4 natively compatible addon yet... sorry extension... eh no a plugin. Naming convention confusion aside I thought it sensible to start a thread as a general Q&A area and to capture questions in one place. So far this is the only info I have: /usr/local/sbin/plugin install 2>&1 Process plugin files. Usage: plugin install [file] install plugin [file] [file] is a plugin definition XML file with ".plg" extension. This command will process all FILE elements in [file] which are tagged with the "install" method. Upon success we copy [file] to /boot/config/plugins/ and create a symlink to it in /var/log/plugins/ where is obtained from the name attribute of the plugin [file]. [file] can be a local file, or a URL. If a URL, the plugin file is first downloaded to /tmp/plugins. Usage: plugin remove [name] remove a plugin This command will process all FILE elements in [name] which are tagged with the "remove" method. Upon success we delete /boot/config/plugins/[name] and /var/log/plugins/[name] Usage: plugin check [name] check and output the latest version of [name] We exract the pluginURL attribute from [name] and use it to download (presumably the latest version of) the plugin file to /tmp/plugins/ directory, and then output the version string. Usage: plugin update [name] update the plugin We look for the new plugin in /tmp/plugins/ directory. If found then we first execute the "install" method of each FILE in the new plugin. (If necessary, a plugin can detect that this is an "update" by checking for the existence of /var/log/plugins/plugin_name.) If successful, we delete the "old" plugin file from /boot/config/plugins/, copy the "new" plugin file from /tmp/plugins/ to /boot/config/plugins/, and finally create the new symlink. Note: to support `plugin check` and `plugin update` the plugin file must contain both "pluginURL" and "version" attributes. Usage: plugin [attribute name] [file] Any method which is not one of the actions listed above is assumed to be the name of an attribute of the tag within [file]. If the attribute exists, its value (a string) is output and the command exit status is 0. If the attribute does not exist, command exit status is 1. The plugin manager recognizes this set of attributes for the tag: name - MANDATORY plugin name, e.g., "myplugin" or "my-plugin" etc. This tag defines the name of the plugin. The name should omit embedded information such as architecture, version, author, etc. The plugin should create a directory under `/usr/local/emhttp/plugins` named after the plugin, e.g., `/usr/local/emhttp/plugins/myplugin`. Any webGui pages, icons, README files, etc, should be created inside this directory. The plugin should also create a directory under `/boot/config/plugins` named after the plugin, e.g., `/boot/config/plugins/myplugin`. Here is where you store plugin-specific files such as a configuration file and icon file. Note that this directory exists on the users USB Flash device and writes should be minimized. Upon successful installation, the plugin manager will copy the input plugin file to `/boot/config/plugins` on the users USB Flash device, and create a symlink in `/var/log/plugins` also named after the plugin, e.g., `/var/log/plugins/myplugin`. Each time the unRaid server is re-booted, all plugins stored in `/boot/config/plugins` are automatically installed; plugin authors should be aware of this behavior. author - OPTIONAL Whatever you put here will show up under the **Author** column in the Plugin List. If this attribute is omitted we display "anonymous". version - OPTIONAL but MANDATORY if you want "check for updates" to work with your plugin Use a string suitable for comparison to determine if one version is older/same/newer than another version. Any format is acceptable but LimeTech uses "YYYY.MM.DD", e.g., "2014.02.18" (if multiple versions happen to get posted on the same day we add a letter suffix, e.g., "2014.02.18a"). pluginURL - OPTIONAL but MANDATORY if you want "check for updates" to work with your plugin This is the URL of the plugin file to download and extract the **version** attribute from to determine if this is a new version. configfile - MUST BE OMITTED for ordinary plugins and MANDATORY for virtual machine appliance plugins. This is the absolute file name of where the Xen configuration file will end up in the unRAID server. More attributes may be defined in the future. Here is the set of directories and files used by the plugin system: /boot/config/plugins/ This directory contains the plugin files for plugins to be (re)installed at boot-time. Upon successful `plugin install`, the plugin file is copied here (if not here already). Upon successful `plugin remove`, the plugin file is deleted from here. /var/log/plugins/ This directory contains a symlink named after the plugin name (not the plugin file name) which points to the actual plugin file used to install the plugin. The existence of this file indicates successful install of the plugin. /tmp/plugins/ This directory is used as a target for downloaded plugin files. The `plugin check` operation downloads the plugin file here and the `plugin update` operation looks for the plugin to update here.
Archived
This topic is now archived and is closed to further replies.