RBrowser

   Other Topics

© Copyright Robert Vasvari, 1993-2010.

RBrowser 4.6.4 was built on MacosX 10.6 (Snow Leopard) and it will not run on earlier OSX versions. RBrowser is distributed in a Universal Binary version, so it will run on both Intel or PPC macs.

What is new in 4.6.4:

  • Fixes in the sync engine.
  • Minor bugfixes in the FTP client.
  • SFTP transfers remote to local are preserving mod dates wherever possible.

What is new in 4.6:

  • All 64bit version, completely revamped for OS 10.6's true 64bit environment.
  • Sync Engine updated to version 3, offering seemless local-to-remote and remote-to-local syncs using any protocol.
  • Support for both implict and explicit FTPS/SSL has been implemented.
  • New: Site Manager replaces the old Site Preferences system. All in one window, much easier to get to.
  • Legacy Macos support (type/creator/macbinary) has been dropped.

UPDATING TO A NEWER VERSION OF RBROWSER WILL NEVER REMOVE YOUR SITES, SYNC DEFINITIONS OR LICENSES!


License Entry Procedure:
Due to a problem in our current licensing system, if you have any license files in your license directory, this license file must be removed by hand prior to entering the new license, otherwise the new license may not be recognized. The procedure is simple:
With RBrowser off, navigate in Finder into YOURHOME/Library/Licenses/RBrowser (or /Library/Licenses/RBrowser if it was a shared license). The folder name may be different under non-English localizations. Remove any file in there that has the .license extension. That is IT! Just start RBrowser and enter your new license.

Connecting to FTP hosts the first time

New FTP connections, or first time connecting after this upgrade might be a little slower, if the default setings are used. The default is to try Explicit SSL first, then No SSL. If this setting is used RBrowser will test first if SSL is available, then use the correct setting afterwards. You can control this by setting this preferene before logging in from SiteManager.

Access to hosts with Non ASCII character sets (SHIFT JIS, etc..): In order to ensure that the sync engine will work properly with files whose names contain non-ascii characters, be sure to set the character set of the host properly in the Sync Options Panel!

Show Debug log:
The debug log includes important debug information. It's primary purpose is to help US diagnose a problem you might have connecting to a remote site. Even if its output looks a little cryptic it is a very important trouble shooting tool. During normal operation its use is not recommended, since it unnecessarily uses system resources. In some rare instances a crash or a freeze might prevent you from getting to the transcript. For these problems there is Tools/Show Debug Log menu will make a verbose transcript that will be written into the console log. This can be viewed by starting up the Console App (in /Applications/Utilities folder). This option is global, so it will apply to all connections. BE SURE TO TURN THIS OFF WHEN THE PROBLEM IS SOLVED as this option uses a lot of system resources.

Bad Application Paths in the Inspector Panel on Leopard

If you have lets say a .html file selected and you bring up the inspector, you will see a list of apps in the bottom of the panel that claim to be able to open a .html file. RBrowser uses LaunchServices to obtain this app-document associations from the system. Unfortunately, due to a bug in the earlier versions of LaunchServices on Leopard, apps in the TimeMachine backup database would also show up in this list. In the meantime Apple seems to have fixed this bug, LaunchServices no longer searches the Time Machine backup database. If you still see these apps in the list, the solution is simple: Quit RBrowser, then using a command in the Terminal you can simply rebuild the LaunchServices database:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
Launch RBrowser and look at the inspector again... the TimeMachine backup apps are gone. This method can be used if there are any problems with the document-application associations. Please not that once you set an application preference in RBrowser, those preferencese will be stored separately, so after rebuilding the LaunchServices database, be sure to check and reset if necessary, your app preferences in the Inspector Panel.

File Content Checking: First off, why is this option needed? File Content Checking is the best way to tell if a file has changed. It is done by running a checksum on the file. One drawback, however, is that checksums, especially on large files, can take a long time. It is not always necessary, since if there is reliable metadata such as size and modification date, then it can be determined without the checksum if the file has been modified. It is very rare that a file's contents could change without changes in the size and mod date. In FTP the metadata is not reliable because the server tends to trash mod dates, but cheksums are not available in FTP anyway. Checksums can best be used in situations where the user feels that some changes might be ignored in local or remote syncs involving SFTP connections. The File Content Checking options are:

  • Automatic - means the sync engine will determine whether File Content Checking is necessary. This is the default setting. In this case, LTL syncs do not do checksum because it is not necessary, RTL or LTR sync will do checksums if the SFTP protocol is used.
  • Always - checksums always computed wherever available.
  • Never - checksums are not used at all.

Remote-to-Local sync using FTP:
FTP is a very poor protocol, and does not allow an error free comparison of files, due to the fact that FTP servers trash mod dates during upload, and allow no checksums. Due to these limitations, RTL sync in this case may not work correctly in some cases. With most FTP servers, mod date and size changes can be detected. One must test these servers before productions use, to make sure sync ops work as expected.

If you decide to send us any feedback an error report, please observe the Report Submission Guidelines so we can help you better in diagnosing the problem. Your cooperation is much appreciated!

Send feedback to
(@)

Symbolic link handling has changed a great deal! Please read the details here

SU to a different user after loginThis feature is now enabled, but it is not at all guaranteed that it works on all systems, especially if you su to root, which is what most people do. root shells tend to be very inconsistent and have echo problems when run in the background. If you want to use this feature, this is the recommended course: If this is an existing site, delete the site pref file in HOME/Library/Application Support/RBrowser4. Start RBrowser, enter the site info on the login panel, then click "edit preferences" and enter the su info on the Advanced tab.

RBrowser 3.x Site documents are converted to be used with RBrowser4. RBrowser will read the 3.x Site Def Folder (HOME/Library/Application Support/RBrowser), convert the documents and populate HOME/Library/Application Support/RBrowser4 with them for its own use. 3.x Site defs are not touched in any way, should you have to go back to 3.x. This is a one time conversion only. If you already have Sites defined in the RBrowser4 Folder they will not be overwritten. Due to a bug in versions before 4.1.1, some SSH and UNIX sites did not get converted correctly. In order to reconvert again, please issue this commend in the Terminal:
rm ~/Library/Application\ Support/RBrowser/.rb4.converted
then restart RBrowser.

Application - Document bindings are no longer maintained by RBrowser. During startup, RBrowser gets the Finder's app lists. If you install new apps and they do not appear in RBrowser's list of apps to choose from, simply restart RBrowser. If you want to change your default app for a particular document type, you have to do that in the Finder too, or use some other utility like RCDefaultApp. BE SURE your document is opened in the correct app in the Finder!

CAVEATS - Things to know about Folder Sync

The sync engine in RBrowser employs a two-phase sync system for Local-to-Remote Folder Sync. In the first phase, it builds a database in a hidden file that is put in the source folder. This database records the state of the source and compares it to the previous database file. This way, changes can be detected easily without having to rely on various protocols to get information from the remote system. This is especially important if FTP is the protocol used to communicate with the remote system, since FTP is such a poor protocol, that it really does not allow to deterministically track changes. It trashes mod dates, does not have checksum and with text files even the file sizes change during uploads.

This poses a problem for the first time sync through FTP. We recommend that if possible, you start with an empty target directory and let RBrowser transfer everything for the first time. This is the only way for RBrowser to know that its local sync database reflects reality on the remote side.

If sftp is used for syncing or it is a local-to-local sync this problem does not exist, you can start with a target directory in any state, the sync should work.

.rbtp folders created on remote servers:
By default, during an SSH shell connection, RB uses a temporary cache directory on the remote server under ~/.rbtp. This folder is very small, and it will not cause any problem, therefore, there is no reason to remove it after disconnecting from the site in question. Should you still want to make RB remove it, it is simple. Just set a default for RB:
>defaults write com.objectwarehouse.rbrowser4 RBRemoveRemoteCacheDir YES
To go back to the normal state, just delete this default or set it to NO.

Progress Reporting:
Well, pax does not always print diagnostic info, so RBrowser cannot track the progress of pax file transfers between Macs. It works really well, though, so it is not a bad tradeoff.

Do Not drag remote files onto app tiles on your dock!
Normally, on the local system, you can open files by dragging them onto an app tile on your dock. When you drag a remote file out of an RBrowser window, RB puts the remote path of this file on the pasteboard. One good use of this is to drag a remote file into a Terminal window, and Terminal displays the path as if you typed it in. It can be very useful when you are actually logged onto the same remote host and want to manipulate this file.
However, if you drop it onto let's say TextEdit's icon, TextEdit will launch and try to open this file. At best, the path will not make sense on the local system, so nothing will happen. At worst, the file may also exist on the local system, and TextEdit will open the LOCAL file instead of the remote one. Always use double click or the O (Open) menu to edit a remote file.

Permissions and Modification times:
By default, permissions and modification times are preserved during file transfer whenever possible (Yes, even with FTP download).

Document opening: You can double click on an executable file (at your own risk, of course) and the file will be opened. Exercise caution about testing large executable files this way. This feature should to make it easy to edit script files.

Progress Bar: The progress bar is only accurate on large file transfers. In the SFTP protocol in some situations progress data is not available from the transfer tool. In these cases the progress bar is disabled.

International character support: In general, these files will appear in the browser correctly, provided that the remote host uses one of the character encodings known to MacOSX. The most common one used by Solaris and HP-UX is ISO Latin-1. If you copy a file like this onto another host (or the local host), the filename may appear different due to a different encoding. Sometimes filenames have multi-byte UTF-8 characters in them. When that is the case, a lot of shell operations will break. It is best to avoid those names altogether. The list of character sets is supplied by the System, NOT RBrowser! If a particular table is missing, most likely you have not installed that language on your system.

Show sizes always in KBytes: In some instances it is desirable to look at file sizes in KBytes even if they are large for better accuracy. For this we have a "secret" default. Stop RBrowser and issue this command in the Terminal: >defaults write com.objectwarehouse.rbrowser4 RBShowKSizeOnly YES and restart RB again.

Uninstalling RBrowser: If you decide to uninstall RBrowser, here is a list of files RBrowser maintains: RBrowser.app, ~/Library/Application Support/RBrowser/, ~/Library/Preferences/com.objectwarehouse.rbrowser*. You may have passwords stored in the Key Chain (fire up Key Chain Access app), and the remote SFTP/SSH hosts you have connected to may have a ~/.rbtp directory.