Instructions for Plug-in Creation
We offer you to create your own plug-in. If you send us your plug-in, you will be given a free Handy Backup copy and your plug-in will be available for downloading on this site. This allows you to make the data backup process of often used applications easier.
Each plug-in represents a well-formed XML document written according to XML 1.0 specification (http://www.w3.org/TR/xml). Plug-in must contain the following essential parts - Prolog and only one root element (which looks like <root></root>). The root element must contain only one Description and several Backup elements.
Prolog
Prolog is a mandatory part of XML document that contains general information about the document. In our case it can be the next line: <?xml version="1.0" encoding="utf-8"?>.
Description element
This element contains information about this specific plug-in. All information is written as text data in its child elements. The following child elements are available:
Name - application name, for which plug-in is created.
Group - category name that contains this application (list of categories you can find on our site).
Version - compatible application versions, for which plug-in is created.
Author - plug-in author name.
Backup element
This element contains the information about the data, which this plug-in backups. There may be several elements. It is obligatory to indicate the attribute id, which identifies the element unambiguously, even if there is only 1 Backup element.
Available child elements:-
Path
It contains the information for determining full path to the folder, where the application which we backup is installed. This path may be used with the help of the expression "$PATH$" within the limits of the element.
There may be several Path elements; the real application path is determined by the first correct element. Available child elements within the Path element include:
- Type - the type of a search algorithm. The possible values 1,2,3 for your choice (see "Search algorithms").
- KeyPath - the relative registry path.
- KeyValue - the name of a registry value.
- FileName - the name of a file.
- IncludeSub - the registry search optimization parameter (to include subdirectories or not). The possible values TRUE (true), FALSE (false). Used if Type=3. The default value=FALSE.
- File - Contains the path to the file, which must be backed up.
- Folder - Contains the path to the folder, which must be backed up. All the subdirectories of the stated directory are always backed up.
- Registry - Contains the path to the registry key, which must be backed up. The subkeys of the stated key are always backed up.
For indicating paths to folders use standard Windows Environmental Variables.
The list of some of them you can see here.
To check the work of created plug-in, it is necessary to add it to the folder ProgramFiles/Novosoft/HandyBackup/Xmlplugins, create and perform a new task.
Search algorithms
3 algorithms of the path search on the given parameters in the element "Path" are realized. The type of an algorithm is given by the element "Type". The possible values 1,2,3:
- There is a key search in the path of the Registry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder where the program is located. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped.
- There is a search of the key, containing the information about the file extension associated with the program, in the path of the Registry "HKEY_CLASSES_ROOT\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program, in the following format: <the path to the folred>, <identifier >. We look for file <FileName> on this path. If this file exists, it means that this is the needed path. Hence, the search is unzipped.
- There is a key search in the path of the Registry "<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped. If the value<IncludeSub>=TRUE, then, if the search fails, there is the search of values of all keys included in <KeyPath>.
Windows Environmental Variables
$PATH$--path to the folder, where the program is installed. It is determined in the element <Path>.
Variables for the description of path to system folders Windows:
$ADMINTOOLS$ - File system directory that is used to store administrative tools for an individual user
$ALTSTARTUP$ - File system directory that corresponds to the user's nonlocalized Startup program group.
$APPDATA$ - File system directory that serves as a common repository for application-specific data. A typical path is C:\Documents and Settings\username\Application Data
$CDBURN_AREA$ - File system folder used to hold data for burning to a CD. Typically [User Profile Folder]\Local Settings\Applications Data\Microsoft\CD Burning.
$COMMON_ADMINTOOLS$ - File system directory containing administrative tools for all users of the computer.
$COMMON_ALTSTARTUP$ - File system directory that corresponds to the nonlocalized Startup program group for all users. Valid only for Windows NT® systems.
$COMMON_APPDATA$ - Application data for all users. A typical path is C:\Documents and Settings\All Users\Application Data.
$COMMON_DESKTOPDIRECTORY$ - File system directory that contains files and folders that appear on the desktop for all users. A typical path is C:\Documents and Settings\All Users\Desktop. Valid only for Windows NT® systems.
$COMMON_DOCUMENTS$ - File system directory that contains documents that are common to all users. Typical paths are C:\Documents and Settings\All Users\Documents.
$COMMON_FAVORITES$ - File system directory that serves as a common repository for all users' favorite items. Valid only for Windows NT® systems.
$ COMMON_MUSIC$ - My Music folder for all users.
$COMMON_PICTURES$ - My Pictures folder for all users.
$COMMON_PROGRAMS$ - File system directory that contains the directories for the common program groups that appear in the Start Menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs. Valid only for Windows NT systems.
$COMMON_STARTMENU$ - File system directory that contains the programs and folders that appear on the Start Menu for all users. A typical path is C:\Documents and Settings\All Users\Start Menu. Valid only for Windows NT systems.
$COMMON_STARTUP$ - File system directory that contains the programs that appear in the Startup folder for all users. A typical path is C:\Documents and Settings\All Users\Start Menu\Programs\Startup. Valid only for Windows NT systems.
$COMMON_TEMPLATES$ - File system directory that contains the templates that are available to all users. A typical path is C:\Documents and Settings\All Users\Templates. Valid only for Windows NT systems.
$COMMON_VIDEO$ - My Video folder for all users.
$CONTROLS$ - Virtual folder that contains icons for Control Panel applications.
$COOKIES$ - File system directory that serves as a common repository for Internet cookies. A typical path is C:\Documents and Settings\username\Cookies.
$DESKTOP$ - Windows desktop-virtual folder that is the root of the name space.
$FAVORITES$ - File system directory that serves as a common repository for the user's favorite items. A typical path is C:\Documents and Settings\username\Favorites.
$FONTS$ - Virtual folder that contains fonts. A typical path is C:\WINNT\Fonts.
$HISTORY$ - File system directory that serves as a common repository for Internet history items.
$INTERNET_CACHE$ - File system directory that serves as a common repository for temporary Internet files. A typical path is C:\Documents and Settings\username\Temporary Internet Files.
$LOCAL_APPDATA$ - File system directory that serves as a data repository for local (nonroaming) applications. A typical path is C:\Documents and Settings\username\Local Settings\Application Data.
$MYMUSIC$ - File system directory that serves as a common repository for music files. A typical path is C:\My Music.
$MYPICTURES$ - My Pictures folder. A typical path is C:\Documents and Settings\username\My Documents\My Pictures.
$MYVIDEO$ - File system directory that serves as a common repository for video files.
$NETHOOD$ - A file system folder that contains the link objects that can exist in the My Network Places virtual folder. A typical path is C:\Documents and Settings\username\NetHood.
$PERSONAL$ - File system directory that serves as a common repository for documents. A typical path is C:\Documents and Settings\username\My Documents. This is different from the My Documents virtual folder in the name space.
$PRINTHOOD$ - File system directory that contains the link objects that can exist in the Printers virtual folder. A typical path is C:\Documents and Settings\username\PrintHood.
$PROFILE$ - User's profile folder.
$PROGRAM_FILES$ - Program Files folder. A typical path is C:\Program Files.
$PROGRAM_FILES_COMMON$ - A folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows NT and Windows 2000 systems.
$PROGRAMS$ - File system directory that contains the user's program groups (which are also file system directories). A typical path is C:\Documents and Settings\username\Start Menu\Programs.
$RECENT$ - File system directory that contains the user's most recently used documents. A typical path is C:\Documents and Settings\username\Recent.
$SENDTO$ - File system directory that contains Send To menu items. A typical path is C:\Documents and Settings\username\SendTo.
$STARTMENU$ - File system directory that contains Start Menu items. A typical path is C:\Documents and Settings\username\Start Menu.
$STARTUP$ - File system directory that corresponds to the user's Startup program group. The system starts these programs whenever any user logs onto Microsoft® Windows NT® or starts Microsoft® Windows® 98. A typical path is C:\Documents and Settings\username\Start Menu\Programs\Startup.
$SYSTEM$ - System folder. A typical path is C:\WINNT\SYSTEM32
$TEMPLATES$ - File system directory that serves as a common repository for document templates.
$WINDOWS$ - Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables. A typical path is C:\WINNT.
Send your plug-in to registered@handybackup.net. We will advertise it on our web site and send you a FREE Handy Backup registration number!