Replicator 9.9 build: 9172 released: 2008-04-09 Client side of The Replicator. Copyright (c) 2008 Canadian Mind Products. signed Java Web Start application. Download from http://mindprod.com/products1.html#REPLICATOR ===> Free <=== Full source included. You may even include the source code, modified or unmodified in commercial programs that you write and distribute. May be used freely for any purpose but military. For more details on this restriction, see http://mindprod.com/roedy.html#NONMILITARY If you include any Canadian Mind Products code in your own applications, your app too must be labeled non-military use only. All Java jars and source code are included. ---- Prerequisites: This program runs under any OS, (e.g. Win2K/XP/Vista/OSX/Linux/Solaris/Vista64/AIX...) so long as you have <><> Java version 1.6 <><> or later installed. See http://mindprod.com/jgloss/installingjava.html for details. ---- Installing on a PC: Download source and compiled class files to run on your own machine as a Java Web Start application. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. To install, extract the zip download with Winzip (or similar unzip utility) into any directory you please, often J:\ -- ticking off the "user folder names" option. To run the JWS application, modify the jnlp file to look in the right place for its files, then type: javaws J:\com\mindprod\replicator\replicator.jnlp adjusting as necessary to account for where the jar file is. ---- Installing on a MacIntosh: Use Safari to download source and compiled class files to run on your own machine as a Java Web Start application. Safari will automatically unpack the zip into ~/Downloads (version 10.5) [or on the Desktop (version 10.4 and earlier)]. First install a recent Java JDK or JVM. See http://mindprod.com/jgloss/installingjava.html. You may optionally move the download tree to a permanent home. To run the JWS application, modify the jnlp file to look in the right place for its files, then in a bash shell type: open Terminal.app cd ~/Desktop javaws com/mindprod/replicator/replicator.jnlp adjusting as necessary to account for where the jar file is. I don't have a MacIntosh, just a PC, so I can't test the programs for Mac compatibility. In theory they should work without problems, but in practice that does not always happen. If you have problems please, let me know, preferably with screenshots and complete verbatim error messages. ---- Rebuilding: The zip already contains the necessary class and jar files, so unless you modify the program, there is no need to recompile the source or rebuild the jar. Configure basedir="E:/" in rebuild.xml to the drive where your files are. Configure your certificate name with environment SET cert=mindprodcert2008dsa Configure your certificate password with environment SET jarsignerpassword=sesame Use ANT and rebuild.xml, not build.xml, to recompile and recreate the jar. ---- Use: The Replicator lets you distribute large numbers of files to many people efficiently. The software automatically downloads just the changed files and deletes ones no longer part of the distribution. Unlike other similar tools, all it requires is an ordinary HTTP website. It requires no code to run on the server. It can also work with CDs, and LANs. Custom configured for each customer. Not free. Registration includes help in setting up the configuration file. See http://mindprod.com/webstarts/replicatormanual.html to read how it works. See http://mindprod.com/webstarts/replicator.html to see it in action to download the Mindprod.com site and keep it up to date. Why the spectrograph rainbow spectrum? Darned if I can remember. Perhaps the lines just represent the various files it distributes. Version History 7.2 uses a new format file to track the files sent. This supports a feature to hold onto zip files for 24 hours even after they are thoroughly obsolete to allow people who are in the middle of downloading them plenty of time to finish the download without an abort and manual restart. 7.4 does a few more sanity checks on the directories offered for use as the base and staging directories. Getting these wrong could cause damage. 7.5 adds a pad. It also uses standard Swing buttons. 7.6 2007-07-19 adds progress bar, verify option, auto restart to collect missing files, internal code refactoring to use enums and for:each, graceful cancel at any time. 7.7 2007-07-20 now compresses the zip and file manifests for faster transmission. 7.8 2007-07-23 adds debug logs on sender and receiver. More extensive verification checks to ensure file consistency. 7.9 2007-07-23 new way of retiring and repacking zips to make sure they stay in strict order. It reduces the amount of client downloading at the expense of increasing the amount of sender uploading. 8.0 2007-07-28 fixes a bug where logging blocked the Replicator from working on "virgin" machines, ones that had never used the Replicator before. Fixed bug that may have been causing the sporadic lost files. 8.1 2007-07-29. Remove Windows centric code in both sender and receiver to make it work properly on Ubuntu. More efficient unpacking of zips, bypassing work it has done previously. More safety checks on your choice of zip staging dir and base dir. 8.2 2007-07-30. *.properties file now specified on the command line. The SENDER_PERSIST_DIR is now configurable, not necessarily the current directory. 8.3 2007-08-04. Use new version of FileTransfer with timeouts, more efficient CPU use, etc. 8.4 2007-08-04. Now verifies file lengths as well as names and date. Also verifies deletions took. Improved algorithm for handling deletions should ensure updates are never overlooked. 8.5 2007-09-02 better stats, can hit verify during download, more spacious layout. 8.6 2007-09-13 new algorithm for deciding on repacking to reduce repacking frequency. 8.7 2007-09-18 bug fix, keep zips in order even when there are deletions. It uses a simpler, but incompatible file format. It will redownload from scratch automatically. 8.8 2007-09-20 Replicator only works on JDK 1.6 since it uses SwingWorker. This is now properly documented. 8.9 2007-09-22 now handles files that change length without changing date. 9.0 2007-09-23 retirement time now specified in minutes rather than hours. 9.1 2007-10-28 fixes a bug that caused the replicator receiver to forget its settings. 9.2 2007-12-24 improve display of time to emaciate by giving a range. Now avoids unpacking files that it are already up to date. 9.3 2008-01-07 emaciate and delete files in the same replicatorSender run. 9.4 2008-01-26 calculate percentage of deadwood more conservatively 9.5 2008-02-08 better error message if can't create dirs, tool tip help. Check if selected directory exists, if not, creates it automatically. Recovers if Replicator preferences point to a now-invalid directory. 9.6 2008-02-22 display computed lag and retirement timestamps 9.7 2008-03-20 only unpack new files, not the entire zip. 9.8 2008-03-27 fine tune generated JNLP 9.9 2008-04-09 compact zips under tighter rules immediately after LAG days.