====== Package Information File ======
The file package-info.xml is predefined file, which is located in each [[installation:bundle|HippoEDIT bundle]] and contains [[installation:bundle|bundle]] description and installation/uninstallation instruction for HippoEDIT which are executed in time when [[installation:bundle|HippoEDIT bundle]] is installed, reinstalled or uninstalled. If [[installation:bundle|HippoEDIT bundle]] does not include the package-info.xml, HippoEDIT will extract all files (with corresponding file hierarchy from archive) into [[options:user_directory|user directory]].
The file content is an XML document, that can be split into 3 parts:
* [[#package-description|Package description]]
* [[#installation-instructions|Installation Instructions]]
* [[#uninstallation-instructions|Uninstallation Instructions]]
CAD932AC-894A-48F2-BAAD-D270B2B28C51
View Editor ToolBar
1.1
Simple plug-in that extends standard ToolBar by View -> Editor buttons
HippoEDIT.com
supportbox@hippoedit.com
http://wiki.hippoedit.com/plugins/view-editor-toolbar
This will install ViewEditorToolbar plug-in for HippoEDIT.
This will uninstall View Editor ToolBar plug-in for HippoEDIT.
There is an easy way to create package-info.xml in case you need it for plugin bundle. Just install/use [[plugins:scripting_tools|Scripting Tools Plugin]] and create a //New Service Script// with it.
===== Package description =====
Description of the bundle. Please take care, that you give here the same information as you expose dynamically by plugins ([[scripting:api:script-application:add-script-info|AddScriptInfo]] API or by native calls of [[scripting:api:plugin:start|IPlugin]], or in syntax schemes, overwise one may get an inconsistence in display of information in [[options:update-manager|Update Manager]] and in extension info when it is installed (plugin, syntax).
All following parameters (nodes values) are strings.
==== id ====
CAD932AC-894A-48F2-BAAD-D270B2B28C51
Global Unique ID of the bundle/package. Often used as a file name, when a package is download from the onlne repository, so shall satisfy constraints on Windows file names and preferably be in English.
==== name ====
View Editor ToolBar
Name of the Bundle, to be displayed in [[options:update-manager|Update Manager]], download section on HippoEDIT website and in case if readme for install/uninstall section is not provided, in installation/uninstallation information popups.
==== version ====
1.1
The version of the bundle, to be displayed in [[options:update-manager|Update Manager]] and download section on HippoEDIT website.
==== description (opional) ====
Simple plug-in that extends standard ToolBar by View -> Editor buttons
The description of the bundle, to be displayed in [[options:update-manager|Update Manager]] and download section on HippoEDIT website.
==== author (opional) ====
HippoEDIT.com
The author of the bundle and content, to be displayed in [[options:update-manager|Update Manager]] and download section on HippoEDIT website.
==== email (opional) ====
supportbox@hippoedit.com
The author of the bundle and content, to be displayed in [[options:update-manager|Update Manager]] and download section on HippoEDIT website. The email address would be obfuscated when displayed on web pages.
==== homepage (opional) ====
http://wiki.hippoedit.com/plugins/view-editor-toolbar
The bundle homepage addressб to be displayed in [[options:update-manager|Update Manager]] and download section on HippoEDIT website. The page may contain more information/documentation about the extension.
==== memo (opional) ====
Multiline description of the extension. Currently not used.
===== Installation Instructions =====
All instructions found inside of the //...// block will be executed by HippoEDIT when a user triggers the installation of the bundle (from Update Manager, from locally executing the bundle by double click etc). The instructions are executed in the sequence they are located in package-info.xml file.
==== readme ====
This will install ViewEditorToolbar plug-in for HippoEDIT.
The node defines information to be displayed to a user in the popup, before the bundle is installed.
Attributes:
* **type** [inline] - the way the information is presented. Currently only //inline// type is supported, leading to display the information in message box.
==== require-file ====
Triggers extraction of single file from the bundle in desired destination on target machine.
Attributes:
* **name** - location of the file inside of the bundle (zip archive)
* **destination** - location, where the file shall be extracted. If the destination already contains the file with the same name, existing file will be overwritten. You can use [[#installer_varaibles|installer variables]] withing destination name. If the destination file directory(ies) not exists, it will be created automatically.
* **create_only** = [true|false], default = false - when attribute set, existing file is not overwritten.
==== require-dir ====
Triggers extraction of the directory from within the bundle archive with respect to bundle hierarchy into destination directory on target machine.
Attributes:
* **name** - location of the directory inside of the bundle (zip archive)
* **destination** - location, in which the directory shall be extracted. If the destination already contains the directory with the same name which has files inside, existing files from the directory will be overwritten by new files from the bundle. You can use [[#installer_varaibles|installer variables]] withing destination name. If the destination file directory(ies) not exists, it will be created automatically.
* **create_only** = [true|false], default = false - when attribute set, existing files in destination directory are not overwritten.
* **mask** - a mask of files to be extracted from the bundle directory (for example //*.xml//).
==== require-zip ====
Triggers extaction of the embedded zip archive into temporary file and then subsequent extraction of the embedded zip into destination directory.
Attributes:
* **name** - location of the file inside of the bundle (zip archive)
* **destination** - location, in which files from the embedded zip to be extracted. If the destination already contains files with same names as extracted, existing files from the directory will be overwritten by new files from the bundle. You can use [[#installer_varaibles|installer variables]] withing destination name. If the destination file directory(ies) not exists, it will be created automatically.
* **create_only** = [true|false], default = false - when attribute set, existing files in destination directory are not overwritten.
==== install-plugin ====
Register and activate a plugin from the given path - it shall be path to main plugin file. The plugin file and all dependencies shall be already installed on target machine by [[#require-file|require-file]]/[[#require-file|require-dir]] instructions.
==== install-syntax ====
Registers and activates syntax schema from the given path on target machine. The instruction shall be called after all necessary files are already copied to target directory.
* **path** - path to syntax scheme to install on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
==== install-macro ====
Registers and activates macro from the given path on target machine. The instruction shall be called after all necessary files are already copied to target directory.
* **path** - path to macro to install on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
==== install-keymap ====
Registers and activates keyboard mapping from the given path on target machine. The instruction shall be called after all necessary files are already copied to target directory.
Attributes:
* **path** - path to keyboard mapping to install on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
==== install-color ====
Registers and activates color palette from the given path on target machine. The instruction shall be called after all necessary files are already copied to target directory.
* **path** - path to keyboard mapping to install on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
==== install-template ====
Registers and activates file template from the given path on target machine. The instruction shall be executed after all necessary files are already copied to target directory.
* **path** - path to file template to install on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
===== Uninstallation Instructions =====
All instructions found inside of the //...// block will be executed by HippoEDIT when an uninstallation of the bundle (from Update Manager) happens. The instructions are executed in the sequence they are located in //package-info.xml// file.
==== readme ====
This will uninstall View Editor ToolBar plug-in for HippoEDIT.
The node defines information to be displayed to a user in the popup, before the bundle is uninstalled.
Attributes:
* **type** [inline] - the way the information is presented. Currently only //inline// type is supported, leading to display the information in message box.
==== uninstall-plugin ====
Deactives and unregister the plugin by ID. Shall be done before the plugin files are deleted.
* **id** - unique ID of the plugin (defined in plugin bundle and in the plugin itself).
==== uninstall-syntax ====
Deactives and unregister the syntax scheme by ID. Shall be done before the syntax files are deleted.
* **id** - unique ID of the syntax (defined in plugin bundle and in the syntax scheme itself).
==== uninstall-macro ====
Deactives and unregister the macro by path. Shall be done before the macro file is deleted.
* **name** - path to the macro file on the target machine. You can use [[#installer_varaibles|installer variables]] withing destination name.
==== uninstall-keymap ====
Deactives and unregisters the keymap by path. Shall be done before the keymap file is deleted.
* **name** - path to the keymap file on the target machine (normally %keymaps%/.xml). You can use [[#installer_varaibles|installer variables]] withing destination name.
==== uninstall-color ====
Deactives and unregisters the color palette by path. Shall be done before the color palette file is deleted.
* **name** - path to the color palette file on the target machine (normally %colors%/color_.xml). You can use [[#installer_varaibles|installer variables]] withing destination name.
==== uninstall-template ====
Deactives and unregisters the file template by path. Shall be done before the file template file is deleted.
* **name** - path to the template file on the target machine (normally %templates%/default.). You can use [[#installer_varaibles|installer variables]] withing destination name.
==== remove-dir ====
Recursively removes directory.
* **name** - path to the directory to be deleted on the target machine. You may use [[#installer_varaibles|installer variables]] withing name attribute.
==== remove-file ====
Removes a file on target machine.
* **name** - path to a file to be deleted on the target machine. You may use [[#installer_varaibles|installer variables]] withing name attribute.
===== Installer Varaibles =====
There are some buil-in variables, that can be used in installer instructions and which may simplify building of the file paths on destiantion side:
^ ^ Description ^
^ %user% | [[options:user_directory|user directory]] location |
^ %install% | [[options:installation-directory|installation directory]] location |
^ %data% | location of the editor data files, normally under %user%\data |
^ %templates% | directory for file templates, normally under %user%\templates |
^ %colors% | directory for color schemes, normally under %data%\colors |
^ %keymaps% | directory for keyboard mappings, normally under %data%\keymaps |
^ %syntax% | directory for syntax definitions, normally under %data%\syntax |
^ %dictionaries% | directory for spell checker dictionaries, normally under %user%\dictionaries |
^ %workspaces% | directory for editor workspaces, normally under %user%\workspaces |
^ %plugins% | directory for plugins, normally under %install%\plugins |
^ %user-plugins% | directory for user plugins, normally under %user%\plugins |
^ %macros% | directory for macros, normally under %user%\macros |
^ %scripts% | directory for common scripts, normally under %user%\scripts |