Mutilation Soft Independent - George Algire
December 13, 2006
Update: January 3, 2007
Introduction
Abacadup "watches" files for modification changes. When a modification is detected, Abacadup then copies a duplicate file to another media device. Files may be backed up in this way to floppy, hard drive, USB mass storage, a network location, etc. A text document may be set for backup, for instance. Each time the document is saved by way of the file drop-down menu or diskette toolbar icon of its editing application, the file is copied to one or more locations by Abacadup. Entire folders--and their subfolders--may be set for automatic backup. Files of any type and folders containing any type of file may be set for automatic backup. Abacadup is not a "scheduled" backup program. It needs only be interacted with to set an association between a file or folder, and destination folders. Once the file is copied, a splash-like screen appears in the lower right of the windows desktop containing some details of the process. In the registered version of Abacadup, these notifications may be disabled.
-
Advisory and Suggestions for Use
It is recommended that large folders containing many files, or the drive on which system folders and files are located, not be backed up directly. Important document folders are best suited for automatic backup with Abacadup. With Abacadup, cumbersome and infrequent backup by way of cut and paste, or drag and dropping, is eliminated. Documents acheive immediate redundancy on attached drives and network locations. However, backing up system drives may cause unneeded operations such as with temporary files. And, backing up large folders, like My Documents can tend to be, may cause unneeded scanning operations, which can delay autobackup.
Compatibility
Abacadup is written to run on Microsoft Windows 95. 98. ME, all versions of NT, 2000, and XP. Abacadup uses Visual Basic 6 Runtime Libraries and various Microsoft Windows libraries. These are included in the setup file and are automatically copied upon installation.
Version History
1.0.0.0
- Version 1.0.0.0 is released: 7-17-2006.
- Version is free of bugs obvious to MSI.
1.3.0.0
- Abacadup version 1.3.0.0 readied for posting.
- Popup menu problem between main form and "View/Edit" form fixed. Popup menu on destinations list on "View/Edit" window was not showing after association
was brought to editing by way of popup menu on main form. Popup menu on destinations list will now display if "View/Edit" window is gotten to through
treeview popup menu.
- Major bug fix: Prior to this release, files located directly, with no subfolders, in a drive directory failed to be backed up upon save. This has been resolved.
- Intermediate bug fix: Volume name system improved on both source and destination volume methods of designation. Drives with a blank ("") volume name will
now be recoginzed. Checkmark added for "blank volume" on source volume window, gotten to from "View/Edit" window. Ability to save a blank field in destination
volume window (also gotten to from "View/Edit" window) now implemented.
- Intermediate bug fix: Tree icon for drive that does not exist will set to default harddrive icon, instead of looking for icon associated with its path, which raised an
error.
- Red filter applied to system tray squirrel icon, visible when main form is in modal (locked) state. This occurs during display of "View/Edit" window and others.
Hope is to clarify that Abacadup's backup capabilities are on hold and paused.
- Rename and Properties features provided in this release: renaming done only from main form, as destination folders are not necessarily locked by backup
association. Renaming a file or folder from within Abacadup will make changes to backup association and destination paths accordingly. Renaming the volume of
a drive will change corresponding volume within associations. Launching properties action from main or View/Edit window will bring up Windows file or folder
properties window with all properties including icon and copyright, etc. Abacadup does not yet make corresponding changes to backups of files and folders when
properties are changed.
- Filters option added. Abacadup will now skip files beginning or ending an any length string, prefixes and suffixes. Fairly untested but stable. Skipped files are
logged in Recent Activity under Window pull-down menu.
- MSI icon added to main form's menu bar. Through a double-click, Abacadup's home page is accessed.
- Scanning for updated files processor usage normalized through "sleeping" 50 milliseconds every 15 files scanned, rather than on each folder changed. During
testing, Abacadup consumed an approximate average of 50% of system resources during 47 second -successful- scan of developer's entire My Documents folder.
WARNING: This change was not tested on slower processors, nor Non-NT Windows platforms like Win95, Win98, and WinMe. Results may vary, but it
is predicted operations should stay nominal on these slower machines. Motivation for this change is 1. To normalize processor usage, since processor usage was
more erratic, and climbed to 100% at times, with previous system. 2. Increase speed with lower amount of "sleep" time when dealing with drives or folders that
contain subfolders with smaller file amounts. Sleep occurs every 15 files scanned, not once every folder containing (i.e.) 2-3 files. Sleep is necessary to avoid
100% use of system processor resources during a scan, which could lead to overheating and slowing of computer.
- Option to animate the system tray icon on success, error, or mixed results. Squirrel will nod, shake, or shrug respectively. Intended to be a discrete alternative
to gray-and-black lower right popup notifications.
- "UNREGISTERED" reminder posted on notification pop-ups. This does not appear following reasonably-priced $29.99 registration process.
- Unregistered version now only allows one backup association, in hopes of encouraging users to register Abacadup.
- Miscellaneous code and interface enhancements. New title graphic that responds to a click.
* JANUARY 3, 2007 update:
- Scheme name notification in status bar in lower portion of main window now survives reboot.
- "Remove" button on toolbar on main window is fixed; does not disable permanently on click when no backup associations are set.
- Pause function enhanced. Program asks user if scanning should stop if in midst of a scan for updated files, upon pause. And now, will not jump back into scanning for updated files upon unpause, if scanning would be triggered while paused.
1.5.0.0b
- Abacadup 1.5b announced.
- Tree directory structure interface bugs fixed.
- Added feature: Sync Now button will copy single backed up file to destinations, or will copy
all files in backed up directory to destinations.
- Associate added to pull-down menus in order to allow association of any folder on the tree with destination folders.
- View / Edit Association interface tabbed into General, Destinations, and Settings for less cluttered appearance.
- Copy Pathname and Copy Volumename added to pull-down menus on main window. Copies path to file or folder as text to clipboard.
- Text color of File/Folder exists in View / Edit window made to stand out more.
- Miscellaneous necessary code fixes.
Using Abacadup
-
Main Window
-
The main window consists of pull-down menus, a toolbar, and a treeview. Operations pertaining to backing up files and folders may be performed by using the mens and toolbar. The treeview below shows which files have associations to destination folders for backup.
-
A green dot by the file or folder indicates the file or folder association is set and enabled. A magenta dot by the file or folder indicates the file or folder association is set and disabled. When an association is enabled, if the file or folder exists, it will be backed up to its destination folders upon save in each file's application. When it is disabled, it will not be backed up, but it will remain set. A yellow dot with an exclamation mark indicates that the file or folder has been removed and does not exist by the source path. For security purposes, the association must be viewed before it will be marked as existing; and then it will need to be enabled before backup occurs.
-
There are three indicators at the bottom of the main window. First, the total number of associations is listed. This is the number of files or folders that are being backed up by Abacadup. Second, whether the program is paused, running, or exiting is indicated. When the program is paused, files are not copied, and thus not being automatically backed up. Third, the most recent loaded or saved scheme name is indicated. Schemes are data files that may be saved or loaded. They preserve a configuration of source and destination files or folders.
-
Viewing / Editing an Association
-
At the top of the Viewing / Editing window for each association is a box of text that shows the full source path of the file or folder that is backed up by this association.
-
Below the source path is a field in black that tells the status of the association. The file may be said to exist, or no longer exist.
-
Below the status field are fields for date and time data. The first is "Started:" and it tells when the backup association was first configured. "Last Activity" shows the last time and date that files have been detected changed under this association.
-
Volume names for the source file or folder may be added. Volume names may differenciate between two or more disks. The user may have more than one file with the same path, but on different drives. As long as there is a match between a listed volume name and the disk's volume name, the file will be copied. A button is provided to access source path volumes above the destinations list.
-
Configuration Checkboxes
-
A checkbox has been provided in order to allow the user to enable and disable the association. When an association is enabled, the source file or folder files will be copied when they are saved, provided the file or folder exists. When the checkbox is unchecked, Abacadup will set the file or folder so that no copying or notification of copying takes place.
-
In the case of a folder association, the user might want to be sure all folders contained by the source folder are backed up as well. By a method called recursion, all folders and their "subfolders" can be backed up automatically. Check the box marked "Recurse subfolders" to back up all folders contained by the source folder. Destination folders will be created to follow the path of each source. This checkbox will be disabled in the case of a file association.
-
Some applications create hidden temporary files. A checkbox is present in order to suppress copying of hidden files in a source folder to destinations. This checkbox will be seen as disabled in the case of a file association.
-
Multiple back-copies may be kept for each association. The version of destination file that is saved over can be stored before it is saved over. As time goes on, more and more back-copies can exist. Use the "Keep [#] versions" checkbox and field to set how many back-copies the user would like to have stored. The current limit is 99 versions.
-
Choosing Destination(s)
-
Destination folders must be added for the association to be useful. It is in these folders that the file or files in the folder are automatically copied when the source file is saved by its application. The list may be left blank, but the file or files will not be copied anywhere. Destinations can be any type of media, as can sources. Network drives and folders can be used as destinations as well.
-
Volume names for destinations may be edited. A volume name refers to the label a drive or disk has. It may differenciate between two or more disks. The volume name of the disk must be the same as that set in the association for backup to occur. The same destination may be set more than once, but the volume name must be different in each case.
-
Inside the destination folders, a folder will be created with the name of the source folder. So, if the source file is "C:\hello\world\textfile.txt" and the destination folder is "D:\worldbackup\" then the destination path would be "D:\worldbackup\world\textfile.txt"
-
Notification Preferences
-
Abacadup has the option of showing notification of successful and/or erroneous file operations. When the "Notify on Success" checkbox is checked, a small notification popup will show itself in the bottom right corner of the screen. When the "Notify on Error" checkbox is checked, the notifications dealing with errors in file copying will be shown when they occur.
-
In the unregistered version of Abacadup these checkboxes are unable to be unchecked. Once the program is registered, notification on success and error can be unset.
-
An override to these two checkboxes is provided in the Options window. Under "Notification" all notification on success and error can be disabled, but again, only in the registered version.
-
Recent Activity Window
-
Under the "Window" pull-down menu, a window can be opened that will show all recent file operations done by abacadup. Successses and errors are listed alike, much as they are displayed by the notfication popups. The last 99 operations are listed in this window.
-
Saving and Loading Schemes
-
An Abacadup scheme is a datafile containing information on which folders and files have been set for automatic backup. A saved scheme can be loaded back into Abacadup to restore it to a previous state. Paused state and options are not included in scheme data files. Previous recent activity is not reloaded, either. Schemes can be saved and loaded from the "Backup" pull-down menu on the main window.
-
Setting Options
-
The options window can be accessed by the "Window" pulldown menu, or the toolbar above the association treeview on the main window.
-
General tab
-
"Run Abacadup at startup" puts an shortcut on the start menu's "All Programs" list under "Startup". Anything in this directory will be executed when Windows starts. There are separate "Startup" directories for each user on a machine. Abacadup only puts an icon on the current user's "Startup" directory. Once the computer has restarted or cold booted, the main window will not be shown "Show Window" is clicked on the system tray menu. The system tray menu is discussed under "Sytem Tray Icon" later in this manual.
-
Small text filed in the middle of the "General" tab allows the user to set a timeout time in seconds. The timeout time is the amount of time that Abacadup allows elapse before allowing a file copy to fail when it is in the "Permission denied" state. There is more than one way this could occur. The most common "Permission denied" error occurs when the file is attempted to be copied while it is being written. The notification window will show a yellow message that there is a delay. Once the file is written, if the timeout hasn't elapsed, it will be copied, and another "File copied..." notification will show itself.
-
Tips for setting timeout time:
As a file is being written, it may "fire" to be in a saved state more than once. The goal to setting the timeout time is to set it for enough time for the files to be at least completely written. If the copying times out before the file is written, the file may still be copied successfully: Once the file is written, it may "fire" that it is saved again, and then be copied. The program may copy erratically and make the previous save storage less useful if the timeout is set too low for the types of files that are being saved. This "Permission denied" error could not be set for an infinite timeout because in some cases, the program would hang "forever."
-
The larger field at the bottom of the "General" tab allows the user to set a base name for the folder in which previous saves, or "versions," are stored. "PrevSave" is the first-time base name. It can be anything a folder can be named and the same of length. Abacadup will not change the names of already existing previous version folders when this field is changed. Also, a -# (# being the enumeration of previous save folders. The number of these is set on the "View / Edit" window of each association.) will be appended to each previous save folder.
-
Notification tab
-
If the program is registered, the first two checkboxes under the "Notification" tab may be set to disable notification on successes and errors. These checkboxes override the notification settings of each association as set by the "View / Edit" window. Operationality of notification checkboxes is also impaired on the "View / Edit" window when Abacadup is unregistered.
-
Notification may be set to show or not to show when the program is in two conditions. In the case of a recursive folder association, it may take some time to scan all folders for files that have been updated. A more subtle notification will show during the scanning for updated files will show when the program is doing this if the "Show notification when scanning for updated files" checkbox is checked. When a file is busy (or in a state of being written) the notification that "Permission is denied" will show when the file is attempted to be copied, but only if the "Show notification when permission is denied" checkbox is checked. The "updated files" notification is dependent on the setting of showing notification on successes, while the "permission denied" notification is dependent on the setting of showing notification on errors. That is, they will show if checked and successes or errors are set to show, respectively.
-
Full and abbreviated filenames can be set to show in notification. If the source checkbox for full filename, the drive and folders of the path of the source file will be shown in notifcation. If it is not checked, only the filename will be shown on the notification popup. For the destination popup, a check will instruct the notification to show the drive and path folders of the destination folder. If it is not checked, only the last two folders of the path will be shown in the notification popup.
-
Errors tab
-
This shows a list of errors that can be displayed or suppressed if errors are set to be shown during notification. The first two deal with the source file. The next three deal with the destination, or source target. Volumes are lables that can be assigned to disks to differenciate between them. For both the source and the destination, Abacadup keeps track of what volume names have been set to correspond to either. One match between the list of source volume and the physical drive's volume will keep a source volume mismatch from occuring.
-
(Destination volumes are set by adding additional folders to the destination list in the "View / Edit" window of the association. Each duplicate folder must have a unique volume name.)
-
Destination errors include the conditions that the drive is not ready or doesn't exist, the destination folders cannot be created, and that there is a volume name mismatch. The mismatch condition is much like the source mismatch condition, which is covered above. The first two error listed can be avoided by making sure the drive on which the destination folder is to be, is mounted. If a destination folder cannot be created, it is likely it the destination chosen is on a network folder that is not connected to the network.
-
Copying errors may occur, as well. If the "Copy failed" error checkbox is checked, notification that the copy has failed for any reason will popup. This may occur if the "Permission denied" error persists through the timeout period. The other copying error is that of the previous version copy. If storage of previous versions fails in any way, and this checkbox is checked, notification that an error has occurred will show.
-
Finally, an error notification that tells when a loop in copying might be started is able to be enabled and disabled. This error arises for protection against the program hanging endlessly in a copying loop. Unchecking the box will not disable the protection, but will suppress the error message in notification.
-
Filters tab
-
Check checkbox at top of tab in order to enable filters, which will stop Abacadup from copying files that begin with "Prefixes" or end with "Suffixes." Separate prefixes or suffixes by putting them on separate lines in the text fields; blank lines and lines that consist only of spaces will be disregarded; characters not allowed in filenames are allowed to be written to prefixes and suffixes, but these patterns will be ignored by the program while filtering. Recommended use of filters: temporary files are sometimes copied when a folder is set for backup. These files include recovery files, and files necessary for writing the file. To "filter" all files that end in ".tmp" type it into the suffixes field. Files that begin with "~" are sometimes used in Microsoft Word. Type "~" into the prefixes field to block copying of these files in all folders set for backup.
-
Prefixes and Suffixes: These are sections of text of any length containing any characters that are set to block Abacadup from copying files as described in above bullet.
-
Miscellaneous
-
Pausing and Unpausing the Program
-
The program may be put in a paused or running state either by clicking "Pause Program" or "Unpause Program" in the "Actions" pull-down menu, or clicking the icon indicator in the status bar of the main window. When the program is paused, no files will be detected as being changed, and no backup will occur. When it is running, files will be detected as being changed and backup will occur.
-
Opening a File or Folder
-
Files or folders on the association treeview may be opened like they would be in a Windows file system window. Either by right-clicking once a file or folder is selected, or by the "Action" pull-down menu, the file or folder may be opened for viewing. Also, the file currently being Viewed/Edited can be opened by clicking the button to the right of the source path.
-
Displaying Properties
-
Just as properties are displayed from a Windows folder browser window, or Explore window.
-
Renaming a File or Folder
-
Abacadup provides a means to rename files and folders that would otherwise by locked due to the program's monitoring.
-
Once the file or folder has been renamed, Abacadup makes appropriate changes to paths set in backup associations and destination paths.
-
When the volume of a drive is renamed, Abacadup, again, makes appropriate changes to backup association and destination volumes.
-
Checking for Updates on the Web
-
Under the "Help" pull-down menu on the main page, there is a choice to check for a newer version of Abacadup on the web. If the user is running
-
Notes
-
File Attributes
When a file is copied over an existing file to update the backup, the file may have read-only or hidden attributes in its properities. Abacadup removes these attributes for the copying, then returns the file to its original state of attributes after the copying is finished.
-
System Tray Icon
Abacadup is standard application software. However, its functional activity requires no user input. When the window is closed, it remains running, but unseen. The window can be made visible by right-clicking the picture of the blue squirrel in the system tray and selecting, "Show Window". Some other functions of Abacadup can be accessed via the system tray icon menu. They include "Options," "About Abacadup,:" and "Stop and Exit". "Stop and Exit" can also be accessed by the "Window" pull-down menu of the main window. If this is selected, the program stops all file-change detection and fully closes.
-
Creating Files and Folders in Subfolders of Recursive Association
While Abacadup is running, the user might want to create files inside of a backed up source folder. When a file or folder is created in the top folder of a recursive associtation, it is not automatically backed up until it is saved in its application. However, when a file is created in a subfolder of this top folder, it will be copied immediately. The reason for this is that Abacadup's detecting mechanism detects the subfolder as having been changed as being as a folder change, whereas file creatation alone is not detected as a file change. The user may notice the same behavior of Abacadup when copying files to the top level folder of an association as compared to a subfolder.
-
Additional Notes
-
When the "View / Edit," "Load Scheme," or "Save Scheme" dialog windows are on the screen, the program pauses for operational reason. The main window and system tray menu are disabled until these windows are closed.
-
The user will be prompted to continue when setting a drive or the My Documents folder for automatic backup. The reason for this is that it is not recommended that these be set for automatic backup. Temorary files that are created and deleted in Windows system operation (such as in the Recent Documents folder) could cause Abacadup to operate more than is needed. Also, Abacadup needs to scan folders for recent changes made to them. The more subfolders with files in them that are covered by only one association, the longer Abacadup takes to scan. Important folders should be set individually for autobackup to ensure the most efficient operation.
-
Detection of attempt to backup entire My Documents folder untested on all but WinXP. Code to obtain My Documents path might crash program on other platforms.
-
Deletion of temporary Version (PrevSave-# named by default) folders should be in working order, or vary from platform to platform. More testing on platforms other than WinXP is desired.
Mutilation Soft Independent 2007