[COMPASS-937] Import existing connections from RoboMongo Created: 22/Mar/17  Updated: 10/Jan/24  Resolved: 08/Oct/19

Status: Closed
Project: Compass
Component/s: Connectivity
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Lucas Hrabovsky (Inactive) Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: COMPASS-2235

 Description   

In researching COMPASS-426, I discovered that RoboMongo stores deployment details (including credentials in plaintext) as JSON in it's config file, ~/.config/robomongo/0.9/robomongo.json (see example below). Many Compass users are already RoboMongo users and using the data from the existing config file to pre-populate the saved connections in Compass would dramatically improve the first-run experience for them.

This work would be done as a part of or after the Deployment Awareness epic.

{
 "autoExec" : false,
 "autoExpand" : false,
 "autocompletionMode" : 1,
 "batchSize" : 50,
 "connections" : [
  {
   "connectionName" : "Local Authd",
   "credentials" : [
    {
     "databaseName" : "admin",
     "enabled" : true,
     "mechanism" : "SCRAM-SHA-1",
     "userName" : "myUserAdmin",
     "userPassword" : "abc123"
    }
   ],
   "defaultDatabase" : "",
   "serverHost" : "localhost",
   "serverPort" : 27017,
   "ssh" : {
    "askPassword" : false,
    "enabled" : false,
    "host" : "",
    "method" : "publickey",
    "passphrase" : "",
    "port" : 22,
    "privateKeyFile" : "",
    "publicKeyFile" : "",
    "userName" : "",
    "userPassword" : ""
   },
   "ssl" : {
    "allowInvalidCertificates" : false,
    "allowInvalidHostnames" : false,
    "askPassphrase" : false,
    "caFile" : "",
    "crlFile" : "",
    "pemKeyFile" : "",
    "pemPassPhrase" : "",
    "sslEnabled" : false,
    "useAdvancedOptions" : false,
    "usePemFile" : false
   }
  }
 ],
 "disableConnectionShortcuts" : false,
 "imported" : false,
 "lineNumbers" : false,
 "loadMongoRcJs" : false,
 "minimizeToTray" : false,
 "mongoTimeoutSec" : 10,
 "shellTimeoutSec" : 15,
 "style" : "",
 "textFontFamily" : "",
 "textFontPointSize" : -1,
 "timeZone" : 0,
 "toolbars" : {
 
 },
 "uuidEncoding" : 0,
 "version" : "2.0",
 "viewMode" : 1
}

Note: 3tstudio already exploits this "feature" of RoboMongo to offer a convenient "Import Connections" dialog.


Generated at Wed Feb 07 22:26:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.