-------------------------------------------------
How to use the configurator
-------------------------------------------------

1. Run the configurator.

   For Linux/Mac:
   Open the terminal, type
   ./RunConfigurator.sh

   For Windows:
   Open a command prompt, type
   RunConfigurator.bat

2. Follow the instructions to setup the configuration of your profile and backup set settings.


-------------------------------------------------
Instructions
-------------------------------------------------

During the start, if no configuration file is found (i.e. new user), the login menu looks like:
Login Menu (No configuration files found):
----------
    (1). Login
    (2). Free Trial
    (3). Quit

Quit will end the programme, Login will ask for server settings (i.e. OBM ip and port), then ask for user name and password. Free Trial will also ask for server settings, but after that user can register a new profile as trial user at OBS. Then after successful registration he can access this console program just like a normal user.

Otherwise if configuration file is found, the Login menu looks like:
Login Menu:
----------
    (1). Login
    (2). Change Network Settings
    (3). Forgot Password
    (4). Quit

Change Network Setting allows user to change to another obs server. 
Network Setting:
----------
    (1). Backup Server URL [10.7.0.122]
    (2). Port [80]
    (3). Protocol [http]
    (4). Proxy Setting [Not in Use]
    (5). Save and Return
    (6). Discard and Return
User can change his OBS setting with choice 1 to 3, and he can also setup or change his proxy server with choice 4. With choice 5 user will save the change and go back to login menu, while choice 6 means no changes will be made.

If user chooses Login, only username and password will be asked, because the server setting has already been changed in choice 2 (Change Network Setting). If login fails, the programme terminates, otherwise user will see the Main menu.

Main Menu:
----------
    (1). List Backup Sets
    (2). Delete Backup Set
    (3). Export Backup Set Settings to XML
    (4). Import Backup Set Settings from XML
    (5). Generate new Backup Set Settings Template
    (6). Change Language [English]
    (7). Update Profile Settings
    (8). Quit
    
(1) List backup setting will print out this user's configuration and his backup sets. The information displayed with this option will be changed later.

Select a Backup Set to show more details
----------------------------------------
  (1). Backup Set created from console
  (2). Another Backup Set
----------------------------------------
Your Choice: 1  
  
Name                 : Backup Set created from console
Type                 : FILE
Selected Source      : C:\a.txt
Destination Name     : CBS           , Type: OBS
Destination Name     : Rackspace dest, Type: Rackspace
Encryption Key       : my-secret-key
Encryption algorithm : Twofish
Encryption Mode      : ECB
Encryption Key Length: 256

(2) Delete Backup Set will allow user to delete any existing backup set. After choosing the backup set, user will be prompt whether he confirms to delete that backup set. 

(3) Export Backup Set Settings to XML will ask user to choose an existing backup set. Then an XML file will be created with user being able to modify the fields. This XML will only contain information that is useful to the user (i.e. non-modifiable fields like Statistics for destination are not displayed).

(4) Import backup set settings from XML will read this modified XML file and set the changed field back to user profile at the server. After user modified the XML file, he can upload the changed setting by importing the XML to server.

(5) Generate new Backup Set Settings Template will create an XML template for user, so that he can have a view of how to input new fields or create a new backup set. An example of this XML file is attached as "Backup Set Template.xml".

(6) Change Language lets user change his profile language. However, the console can run in English only, and currently the XML file only supports English. This setting will only have effect when running OBM in UI mode.

(7) Update Profile Settings consists of various user settings that user can change. 

Profile Menu
------------
  (1). Display Name [user-alias]
  (2). Contacts
  (3). Time Zone [GMT+08:00 (CST)]
  (4). Encryption Recovert [Enabled]
  (5). Change Password
  (6). Return
  
  

Currently the XML only contains limited fields for editing. Checkings have been added such that users will not be allowed to input wrong values to various fields (e.g. user cannot enter the backup schedule date as 2015/13/32 since the date does not exist).