Road Runner Server - User Guide

This App has been retired. It is no longer supported. The information below was accurate as of the last update however changes may have happened since then. We are no longer updating this document. 

Manage content offline by synchronizing one or multiple Confluence servers with a local Confluence running on your computer.


View in Marketplace


Demo



Overview 

Road Runner allows you to take Confluence content (pages and attachments) with you offline. Also, you can create / update / fine-tune content offline before sending it back to the server where it's public. It synchronizes content from one or multiple Confluence servers down to your local desktop or laptop running a personal version of Confluence.

Use Cases

  • consultants traveling can have an up to date copy of Confluence running locally on their laptops without concerns about connectivity.
  • creating documentation locally and offline before it's viewable to everyone is now a piece of cake
  • creating and updating content is no longer hampered by network latency as you can develop content on your a local Confluence installation using an Atlassian 10-user license

Prerequisites 

  • Requires Java 1.5 or higher on your desktop/laptop
  • Confluence installed locally (on your desktop/laptop). Any kind of license will work. Confluence starter licenses are available from Atlassian - $10 / year for up to 10 users as of May 2019.
  • Should work with Confluence 2.2+ but I've only testing it with 2.8, 2.9 and 2.10 (Confluence local and server versions do NOT have to match).
  • You will need read access to the server spaces from which you wish you pull content and write access to your local Confluence where you're sending content
  • Road Runner creates a local directory to store attachments your transferring and server data so you'll need at least as much disk space as the attachments you're transferring which should be a relatively small amount.
  • Ensure remote access is enabled under
    Dashboard -> Administration -> General Configuration
    Remote API (XML-RPC & SOAP):ON

Downloading Road Runner 

Visit the Marketplace and click the 'Get it now' button

Road Runner is provided as an executable jar so you can either double click to run or type: java -jar rr.jar |

Or use one of the provided scripts to launch Road Runner:

  • run_roadrunner_on_mac.sh - for Mac
  • run_roadrunner.sh - for Linux
  • run_roadrunner.bat - for Windows

Confluence Installers
Make sure you take advantage of one of the Confluence installers. They're always available but not always easy to find:


Building Road Runner 

The zip file created is called rr.zip. It will unzip into a directory called roadrunner with everything in its proper place for execution - same as the current distributions which are downloadable here.

It was initially developed with the goal of being released as an inexpensive commercial product. Read more about the decision to open source it here.


User Guide 



Start Sync 


This is the first screen you'll see when you launch RoadRunner. If you have defined a synchronization and click either button it will start the synchronization.

The 'Start Sync' button will only download content (pages and attachments) which has been updated since your last sync.

The 'Refresh Sync' button will do a complete synchronization of all the server spaces you have defined on the 'Spaces' tab.


Progress Dashboard 

The Progress Dashboard will pop up any time you start a synchronization.

It gives you real-time graphical and text feedback about the progress of your sync.

Coming soon:

* More details about the attachments being copied.

A list of any conflicts.

Summary information about that sync such as total number of pages, total bytes transferred, how long it took, etc.


Confluence Servers

Here you can define multiple Confluence Servers. You should define a minimum of two servers - a local server and a remote server from which you wish to pull content.

The server alias field can be anything that helps you remember the purpose of this server.

Once you have filled in the information it is a good idea to click 'Test Connection' to verify you have entered the correct credentials to access the server.

Coming soon:

  • Support for https / SSL.----Spaces - more details below


Spaces 

Here you define which spaces you wish to pull down from one or multiple Confluence servers to your local Confluence.

Steps (basically follow left to right of the screen):

  1. Click on a server in the 'Remote Server'.
  2. Click on the 'Refresh' button to bring up the list of spaces for that server
  3. Select one or more spaces to 'synchronize'. To select multiple spaces hold down the <ctrl> key while clicking on the list.
  4. select the correct 'local' server in the drop-down list under 'local server'
  5. Click on the 'Save Sync' button. You'll see the synchronization(s) you've defined added to the list below.

You can remove 'syncs' by clicking on them in the bottom window and hitting the delete key.

Once you have defined spaces to synchronize on this screen you can flip back to the 'Start Sync' tab to run them.


Page Copy 

Use the 'page copy' to send select content from your local Confluence up to another Confluence server. The idea here is that typically you're working on a small set of known pages on your local Confluence server before you make the public or update them on your company's Confluence server.

Steps:

  1. select a local server from the drop-down
  2. select a remote server from the drop-down
  3. click the 'Refresh Tree' button to build the tree of all Confluence pages
  4. check off the individual pages you which to send up to the Confluence server
  5. Click either 'Send Pages' (this button does not send attachments) or 'Send Pages and their Attachments' button

The 'Clear All' button and 'Expand All' buttons are convenience buttons which will be replaced in the future with other tree navigation and selection features.

Coming soon:

* Intelligent determination of whether to send attachments.

Right-click pop up menu options to do things such as automatically select an entire subtree of nodes, fully expand a subtree, etc.

The option to remember these selections between when you close and start RoadRunner


Export HTML 

You can export the HTML of pages by checking off all the pages you which to export and then right-clicking on a parent page. The HTML files will be exported to a directory called 'HTML-export' where ever you ran RoadRunner from.


History 

The History screen will log all your previous synchronizations and allow you to check which pages and other content were synchronized.

This feature is not yet implemented. The existing data is just a sample along the lines of what the screen will look like in its first functional iteration.

Current Limitations 

  • Space synchronization is currently one way from the remote server down to your local, though you CAN send content back up with the Page Copy feature.
  • Content not currently copied down from the remote server
    • comments
    • labels
    • content entity data used by some macros such as voting macros
  • document and page authorship data
  • page histories are not copied if there were multiple updates between your synchronizations
    (there are many more limitations)

Features Roadmap 

For version 0.5
  • more intelligent tree rendering of just spaces until the space nodes are expanded to get pages
  • "max size for attachments to copy" preference setting setting
More planned features
  • support for SSL
  • detect renamed pages rather than recreating
  • available as a Confluence plugin
  • synchronization history
  • synchronization of labels and other additional metadata
  • one touch two-way synchronization so all local changes are uploaded to remote server(s)

FAQ 

Will it delete pages or other content

No. For the foreseeable future Road Runneronly adds content. Even if something is removed on a remote server if it already existed on your local server it will not be removed. Additionally when pages and attachments are copied Confluence retains older versions of pages and attachments which are easily accessible.

I received a 'java.lang.OutOfMemoryError: Java heap space'

Please try increasing the memory by running it with this command:

java -Xms512m -Xmx512m -jar rr.jar

Or you can use this batch file from the same location as the jar (Windows).

This happened because attachments you were copying were big enough that it caused it to run out of memory. Running it this way will probably fix the problem. If not then when I add the WebDAV option it will definitely eliminate this issue.