This was a fun experience. Anyway, let’s go. Got a 5GB $149/mo Medium pricing package from Object Rocket (Note: Small does not have SSL in its package).
So after you get someone to kindly pay for your package then you will get a login to Object Rocket and (more importantly) the ability to create a mongodb instance:
Then once you have your instance you can create your user to add to the instance:
Once you have an instance and a user added to it then grab your SSL address:
So now you have instance databases, a database user, and a SSL address to connect to. From here we move to Sitecore. For the sake of keeping this short we are going to assume you have Sitecore Analytics enabled in your instance.
Once you have worked your magic then navigate to your ConnectionStrings.config (located in your web root/Website/App_Config and add the connection strings for the four pieces (analytics, tracking.live, tracking.history, and tracking.contact):
<add name="analytics" connectionString="mongodb://easyaspieuser:firstname.lastname@example.org:25123/EASYASPIE_analytics?ssl=true;sslverifycertificate=false" />
<add name="tracking.live" connectionString="mongodb://easyaspieuser:email@example.com:25123/EASYASPIE_live?ssl=true;sslverifycertificate=false" />
<add name="tracking.history" connectionString="mongodb://easyaspieuser:firstname.lastname@example.org:25123/EASYASPIE_tracking_history?ssl=true;sslverifycertificate=false" />
<add name="tracking.contact" connectionString="mongodb://easyaspieuser:email@example.com:25123/EASYASPIE_tracking_contact?ssl=true;sslverifycertificate=false" />
A couple things of note:
- ssl=true indicates to sitecore and mongo that you are going to connect with SSL.
- You can test your connection with a tool like Robomongo or Mongovue.
- If you have an instance that has a network appliance in front of it (like in my case) then you will need to add sslverifycertificate=false to keep the SSL connection from trying to read a .pem file from you.
- Parameters you pass need to be separated by a semi-colon. Yes, I thought ampersand as well (and even see it documented as such here). ObjectRocket was kind enough to help me figure that out.
- If you are in a DMZ that is heavily firewalled then you will need the port number firewall exception put in for you (for my example it would be TCP 25123)
- Troubleshoot by reading the Sitecore logs (usually located in your website instance/data/logs/)
Getting a successful connection will bring up data:
I hope this helps, questions are welcome!