January 30, 2002
By Karen Kenworthy
IN THIS ISSUE
Now that was interesting ...
Just about a week ago, as I settled down to mail the Power Tools newsletter, my database server began acting strangely. Queries that should have succeeded, mysteriously failed. Before long, the database software, Microsoft's SQL Server, was crashing every few minutes. Precious data, including the list of subscribers to this newsletter, was evaporating before my eyes.
Needless to say, this created quite a panic here at the secluded Power Tools workshop. Elves are skittish critters, hard to corral under the best of circumstances. But now ... let's just say I was glad I had a broken server to hold my attention.
It took a couple of days to discover the server had eaten some bad RAM. Well, actually, the RAM was fine, but the server wasn't able to stomach it. Then, two more days passed while I rebuilt the server and reinstalled all its software. Finally, during the fifth day of this "unpleasantness," I was able to carefully reload my precious data from a backup that had survived.
Whew! As you can tell by receiving this newsletter, the operation was a success.
Fortunately, my database server problems didn't stop the email. Lots of you wrote about the newest Power Tool, the Replicator. As you probably know by now, this program makes exact copies of files and folders. Options allow you to specify which files should be replicated, and when the replications should occur.
The Replicator's scheduling feature confused some people. I have to admit, it was my fault. When I first wrote about the program I didn't mention that you must leave the Replicator running during the time a job is scheduled to run. If you don't, the Replicator will offer to run the "past due" job the next time it starts.
Fortunately, the Replicator runs just fine while minimized, taking up just a small space on your Windows taskbar. For those who are even more space- conscious, you can order the Replicator to display only a tiny icon in the Windows Notification Area, a.k.a. the System Tray, in the lower-right corner of the desktop. Just place a checkmark in the "Show icon in System Tray when minimized" checkbox on the program's Settings window to enable this feature.
Other users wrote, asking how to launch the Replicator each time their computer boots. To do that, just add a shortcut to the program's main file, PTReplicator.exe, in the Startup folder on your Windows Start menu.
Adding a shortcut to your Startup folder is easy. Just take a deep breath. Oh, and you might want to have your computer in front of you as you read this:
First, locate the file PTReplicator.exe, in the folder where you installed the Replicator. Then click its icon with the right button of your mouse. While holding down your mouse's button, drag the mouse pointer over the "Start" button in the lower-left corner of your desktop.
Don't release the mouse button yet (I know, your finger is getting tired). Instead, wait for Window's start menu to appear, then move the mouse pointer up the menu until it's over the Programs menu choice. Hover there for a moment, and more menu choices will appear.
If one of the choices is "Startup", move your mouse pointer over that choice. If Startup isn't visible, move the pointer to the bottom of the menu for a moment, until more choices are displayed. Now find the Startup entry, and move your mouse there.
After a moment, the contents of the Startup folder will be displayed. When it appears, move your mouse button onto the list. Now you can finally drop your load.
When you release the right mouse button you'll see a tiny menu with four choices: Copy here, Move here, Create Shortcut(s) here, and Cancel. As you've already guessed, the correct choice is "Create Shortcut(s) here." Now, each time Windows loads, it will start the Replicator automatically (along with every other program listed in the Startup folder).
See? I told you it was easy. :)
Reader Rob Habberfield was one of the first to ask if the Replicator can copy "open" files, or files currently in-use by another program. The answer is yes, and no ...
The reason is something programmers call "file sharing." When a program wants to access a file, it must first get Windows' permission. If no other program is currently using the file, permission is granted. In that case, the Replicator can copy the file.
But what if another program opens the file first? Once a program opens a file, it controls who else may also gain access. For example, a program can tell Windows it's willing to share access to the file with all other programs. Or , the program might permit access to programs desiring to read data from the file, but block access by programs who would modify the file's contents.
Either both of these cases, the Replicator is happy. After all, it only needs to read a file in order to duplicate its contents.
But some programs are more selfish. They completely refuse to share files, denying all shared access to files they control. They insist on what programmer's call "exclusive access." Sadly, files opened this way cannot be copied by any other program, including the Replicator.
The Replicator does its best to get along with these playground bullies. If it cannot open a file because another program has secured exclusive access, the Replicator patiently waits up to three seconds, then tries again. If access is still blocked, it writes a note to the Replicator log file indicating the failure, and moves on.
Did I mention a log file? Reading my email, I was surprised to learn a lot of folks didn't know about the Replicator's log file. Since the program was born, the log has been where the program kept a record of all its activities -- its successes, its failures, its hopes, and its dreams. Well, maybe not hopes and dreams. But the other stuff is in the log file.
I guess people didn't know about the log file because I never mentioned it, until now. <blush> But with the release of the new Replicator version 1.4, the log file is much more visible. Now there's a button on the program's main window, labeled "View Log File." Click this button, and the log file's information appears on-screen.
Another new option allows you to tell the Replicator to not overwrite a newer file with an older version. Other changes to the Replicator allow it to read and write files a little faster. These same changes also let the Replicator detect disconnected destination network drives more quickly.
I've also fixed a bug in version 1.0 that prevented the program's File Filter feature from working correctly. And the new version can now see and copy hidden folders and the files they contain. The new Replicator also copies folder attributes (such as Read-Only, Hidden and System) when creating new destination folders.
And one other change lets the Replicator run in the dark ...
Most computers aren't lonely. From the moment they wake, err boot, each morning, until they go to sleep each night, computers are surrounded by their human friends. And it's a good thing too. Computers are constantly asking us questions, requiring our input and direction. Without us, most computers would sit idly, wasting CPU cycles by the billions.
But a few computers live starkly different lives. Toiling in near total isolation, locked away in closets or special server rooms, direct contact with humans is rare. Only remotely aware of our existence, these computer hermits are often blandly referred to as "unattended." A grim term describing their dreary operation is "lights out," since, absent a human companion, they have no need for the light of day.
As you might imagine, unattended computers have special needs. Perhaps most importantly, they must be self-sufficient -- able to carry on without frequent human intervention. Programs that ask a non-existent "user" for information, then patiently wait until it's provided, won't last long on unattended computers.
Unfortunately, until recently, the Replicator was one of those nagging programs. Each time it starts, it scans its list of scheduled jobs. If a job's time had passed while the program was away, the old Replicator alerted the operator, displaying a window asking the question "Run Past Due Replicator Job?" The program then waited, until a human operator clicked the window's the "Run Now" or "Run Later" button.
But a new version of the Replicator gets along fine without us. It still displays the "Run Past Due Replicator?" window, when it's called for. But now, if no human responds within 20 seconds, the program assumes the correct answer to the question is "Run Later" and quietly goes on about its business of replicating files and folders.
Something similar happens when the new Replicator stops. If there are scheduled jobs that have not yet been run, the program displays a warning message asking if you really want the Replicator to exit.
The three possible answers are (not in so many words): "Yes, let's Exit", "No, Minimize the program instead", and "No, lets return to the Replicator's main window and forget about exiting." This question too, has a default answer, Exit, that takes effect if no human intervenes for 20 seconds.
If you'd like to give the new Replicator v1.4 a try, visit its home page at: https://www.karenware.com/powertools/ptreplicator
There you can download the program, and its Visual Basic source code too. As always, both are free.
Or if you prefer the convenience of a CD, or want to support Karen's Power Tools, visit my CD home page at:
There you can order your own copy of Karen's Power Tools CD, complete with the latest Replicator. Your CD will also contain the most recent versions of all my Power Tools, including three bonus Power Tools not available anywhere else. The CD even has back issues of all my newsletters, and a special license that lets you use all the Power Tools at work!
As for me, I'm already putting the new Replicator to work. Last week's server problems taught me a lesson: You can't have too many backups!
I'm also getting ready to celebrate my beautiful Mother's birthday. As of today, she's graced this world for 72 wonderful years. So if you see me, or my Mom, either around town, or on the 'net, be sure to wave and say Hi!