jupidator.dtd
: Elements - Entities - Source | Intro - Index
FRAMES / NO FRAMES
<updatelist> | Root element |
This is the main element of the Jupidator file.
Element's model:
<updatelist>'s children Name Cardinality architect Any number version At least one
<updatelist>'s attributes Name Values Default application baseurl icon jupidator
@application | Attribute of updatelist |
The application name
Required
@baseurl | Attribute of updatelist |
The base URL of the files to be downloaded. This is the reference "parent" URL, where all remote URL addresses are defined.
Required
@icon | Attribute of updatelist |
The image icon of the application. It should be in a format that the JRE will be able to understand (e.g. PNG). For example, if baseurl is http://www.myserver.org/files and icon is icons/mascot.png then the icon URL is http://www.myserver.org/files/icons/mascot.png
@jupidator | Attribute of updatelist |
The minimum required release of Jupidator. To find the current release number, run Jupidator jar from the command line with no parameters. If no version is provided, no implicit Jupidator library version will be required.
<architect> | Child of updatelist |
Jupidator can be used in various architectures. With this element we define which architectures we support. Since Jupidator is developed in Java, where multi-platform programming is encouraged, this is reflected here too. Architectures are marked with a "tag" and this "tag" can be used in more than one actual architecture (for example in Mac OS X under PPC and Intel machines at the same time). See also documentation of tag attribute
Element's model:
<architect>'s children Name Cardinality launcher Only one
<architect>'s attributes Name Values Default arch os tag
(launcher)
@tag | Attribute of architect |
The tag which marks this architecture. More than one architectures can share the same tag and are used the same by Jupidator. Some special tags exist: "any" and "all". When "any" is used,it matchs all architectures that do not have a specific arch tag defined. Tag "all" matches all targets, and adds it's child elements to the currently most appropriate arch target. So, the final elements are a combination of (a) those either specifically mentioned with "architect" compatible tags or the "any" tag and (b) elements defined by "all" tags.
Required
@os | Attribute of architect |
The operating system of this machine. This variable matches current operating system if System property "os.name" starts with this value. This attribute is not case sensitive.
Required
@arch | Attribute of architect |
The machine architecture. This variable matches current operating system if System property "os.arch" starts with this value. This attribute is not case sensitive.
Required
<launcher> | Child of architect |
This element is mandatory and defines how the application should be launched after the update procedure. Launching the updater is typically the same across updates, but differs in every platform.
Element's model:
<launcher>'s children Name Cardinality argument Any number
<launcher>'s attributes Name Values Default exec
(argument*)
@exec | Attribute of launcher |
The executable filename. If arguments are required, these are defined by the nested argument element. Have in mind that variables, like ${JAVABIN}, can be used.
Required
<argument/> | Child of exec, launcher |
Command line argument for the launcher. If no arguments are required, this element can be ommited. In the XML file there are as many argument elements, as the required arguments. Have in mind that variables, like ${APPHOME} can be used.
<argument>'s attributes Name Values Default value
This element is always empty.
@value | Attribute of argument |
The value of the argument
Required
<version> | Child of updatelist |
Every new version of the application has one version element. Here the files which needed to be updated are defined. If this version is written only for display reasons (i.e. to produce the changelog of versions prior of Jupidator), no arch elements are required.
Element's model:
<version>'s children Name Cardinality arch Any number description Only one
<version>'s attributes Name Values Default release version
(description, (arch)*)
@release | Attribute of version |
The integer value of the current release. This number is checked against the "release" value of the runtime environment.
Remember that release files are incrementally defined. All versions with release number greater than the one given to the runtime environment, will be taken into account - not only the last one!
Required
@version | Attribute of version |
Human readable display of the current release version
Required
<description> | Child of version |
Free text description of this version. HTML tags are allowed, if escaped correctly to be included inside the XML document.
<arch> | Child of version |
Architecture dependent actions. If this is a matching architecture, a set of actions will be performed. If more than one architecture has changes for this release, then all architectures should be defined. If no changes exist for one arhcitecture, then this information will be skipped.
Element's model:
<arch>'s children Name Cardinality chmod Any number chown Any number exec Any number file Any number kill Any number rm Any number wait Any number
<arch>'s attributes Name Values Default gui false name
(file | rm | chmod | chown | exec | kill | wait)*
@name | Attribute of arch |
The name of this architecture, as defined by the tag attribute of the architect element.
Required
@gui | Attribute of arch |
The installer will present a graphical window spinning for this version onwards. If this attribute is not present, no GUI is requested.
Default value: false
<file> | Child of arch |
Download a file from the remote location, relative to base URL. The latest file from every version will be taken into account.
Element's model:
<file>'s children Name Cardinality md5 Any number sha1 Any number sha2 Any number
<file>'s attributes Name Values Default compress none destdir forceinstall false ifexists false name size sourcedir
@sourcedir | Attribute of file |
The directory in the source location where this file exists. This is appended to the base URL.
Required
@destdir | Attribute of file |
The destination directory of the file. This directory is not relative to anything. If you want to refer to other locations, like for example the application home, you need to specifically define this location with variables, such as ${APPHOME}.
Required
@name | Attribute of file |
The file name. The name of the file is the same in both the source URL and in the destination directory. If this file is compressed then the appropriate compression extension is added to the source file name. The compression extension should never be present in this tag (even for package files). If this is a zip or tar file with at least two content files (i.e. is a "package" file), then the value of this attribute is used only to locate the filename on the server and will not be inherited to the destination location. You can use directories inside the zip file to deploy to a deeper level directory.
Required
@size | Attribute of file |
The size of the source file. It will be used to check if the downloaded file has correct size.
Required
@compress | Attribute of file |
The source file is compressed in the server. The following methods can be used: "gzip" "bzip2" "zip" "tar" "tar.gz" "tar.bz2". This extension will be added to the source URL.
If a file is marked as one of "zip", "tar", "tar.gz" or "tar.bz2", then this is a package file. If only one file is found inside the package file, then this file is treated as a "stream", like the "gzip" and "bzip2" containers, and the filename stored inside the zip file will be ignored. If more than one file is found inside the package file, then all the file contents of this package file will be unpacked at the desired location. This is a convenience method to unpack a bunch of files simultaneously, as a package, without the need to define these files one by one.
An actual package file which is not marked "compress"-ed with this attribute, is handled like any other regular file, and no decompression is performed.
Default value: none
@ifexists | Attribute of file |
Download and install this file only if this file already exists. If it does not, then this file is ignored.
Default value: false
@forceinstall | Attribute of file |
This attribute is disabled (false) by default. With this default behaviour, if the selected runtime application is under an operating system that takes care of the update process by itself, this file is ignored. If it is enabled, then this file is used no matter what the operating system does. Enable this feature if you want to upgrade parts of the application that are not taken care by the operating system.
Default value: false
<sha1/> | Child of file |
SHA1 checksum of the specified file
<sha1>'s attributes Name Values Default value
This element is always empty.
@value | Attribute of sha1 |
Value of SHA1 checksum in HEX
Required
<sha2/> | Child of file |
SHA2 checksum of the specified file. Defaults to to SHA-256, but the developer can use other methods
<sha2>'s attributes Name Values Default type 256 value
This element is always empty.
@type | Attribute of sha2 |
The type of the SHA2 algorithm. Defaults to 256. Other valid values are 384 and 512
Default value: 256
@value | Attribute of sha2 |
Value of SHA2 checksum in HEX
Required
<md5/> | Child of file |
MD5 checksum of the specified file
<md5>'s attributes Name Values Default value
This element is always empty.
@value | Attribute of md5 |
Value of MD5 checksum in HEX
Required
<rm/> | Child of arch |
Remove a local file.
<rm>'s attributes Name Values Default file forceinstall false
This element is always empty.
@file | Attribute of rm |
The local file name. The full path name is expected.
Required
@forceinstall | Attribute of rm |
If enabled, the owner of this file are changed in any case. For discussion about this parameter, see forceinstall under the file element.
Default value: false
<chmod/> | Child of arch |
Change permissions of a local file. This element is supported only in Unix-like operating systems.
<chmod>'s attributes Name Values Default attr file forceinstall false recursive false
This element is always empty.
@file | Attribute of chmod |
The local file name. The full path name is expected.
Required
@attr | Attribute of chmod |
The new attributes of this file. The syntax is the same with <command>chmod</command> command.
Required
@recursive | Attribute of chmod |
If this is a directory, change attributes of all files recursively.
Default value: false
@forceinstall | Attribute of chmod |
If enabled, the owner of this file are changed in any case. For discussion about this parameter, see forceinstall under the file element.
Default value: false
<chown/> | Child of arch |
Change owner of a local file. This element is supported only in Unix-like operating systems.
<chown>'s attributes Name Values Default attr file forceinstall false recursive false
This element is always empty.
@file | Attribute of chown |
The local file name. The full path name is expected.
Required
@attr | Attribute of chown |
The new owner of this file. The syntax is the same with <command>chown</command> command.
Required
@recursive | Attribute of chown |
If this is a directory, change owner of all files recursively.
Default value: false
@forceinstall | Attribute of chown |
If enabled, the owner of this file are changed in any case. For discussion about this parameter, see forceinstall under the file element.
Default value: false
<exec> | Child of arch |
Execute a native command
Element's model:
<exec>'s children Name Cardinality argument Any number
<exec>'s attributes Name Values Default executable forceinstall false input time AFTER
(argument*)
@executable | Attribute of exec |
The filename of the executable
Required
@time | Attribute of exec |
When this command will be executed. Should be "BEFORE" "AFTER" or "MID". By default "MID" parameter is used. This property is not case sensitive.
Default value: AFTER
@input | Attribute of exec |
The input of this command, if needed by the application
@forceinstall | Attribute of exec |
If enabled, the command is executed in any case. For discussion about this parameter, see forceinstall under the file element.
Default value: false
<kill/> | Child of arch |
Kill a specified task. This element works in both Windows and Unix-like systems
<kill>'s attributes Name Values Default forceinstall false process signal TERM
This element is always empty.
@process | Attribute of kill |
The name of the process. This could be a regular expression which will match the running process. When applied, could match more than one running process.
Required
@signal | Attribute of kill |
The signal to send. This is platform specific information. In Unix-like is the "TERM" signal. There is no need to preceed the signal name/number with a "-" sybol.
Default value: TERM
@forceinstall | Attribute of kill |
If enabled, the application is killed in any case. For discussion about this parameter, see forceinstall under the file element.
Default value: false
<wait/> | Child of arch |
This element is used in the last stage of the installation, to pause the installer for the specified number of milliseconds
<wait>'s attributes Name Values Default forceinstall false msecs 1000 time BEFORE
This element is always empty.
@msecs | Attribute of wait |
The number of milliseconds the installer should wait
Default value: 1000
@time | Attribute of wait |
When this command will be executed. Should be "BEFORE" "AFTER" or "MID". By default "BEFORE" parameter is used. This property is not case sensitive.
Default value: BEFORE
@forceinstall | Attribute of wait |
If enabled, waiting is performed in any case (and installation information is displayed). For discussion about this parameter, see forceinstall under the file element.
Default value: false