Progress Report: EXM Installation in Sitecore 8
In this post we will talk about the installation of the Email Experience Manager module in Sitecore 8. To be more exact, about the experiences that we gained from it. In the course of this, the report will be written in real time, so to speak, and every single step will get documented. Therefore this is not a documentation of experiences that we have gained over time while getting closer to the solution of the problem, step by step, but rather the naked, unpleasant truth that you have to face when trying to fulfill a specific task. Obviously this is deliberately dramatically phrased, but everyone, who has tried to handle presumedly trivial things in IT before, knows what I am talking about.
Graphic 1: Starting the package installation in the control panel
The challenge lies in the installation of the Eail Experience Manager in Sitecore 8. The Email Experience Manager (short EXM), which has been the name of the module since version 3, was previously known as the Email Campaign Manager (short ECM) and, just like pretty much everything else in the Sitecore universe, has been outfitted with the X for Experience in regards to the global Sitecore marketing strategy and because it is a module developed by Sitecore. So, the goal is to achieve a functioning EXM installation within just a few hours and, if things are going really well, to send e-mails, too. Since I have already had some experience with the installation of ECM with Sitecore 6.4 I am both: Somewhat confident, because I already have experience with the installation of ECM and at the same time careful, for that same reason. I remember just too well that the installation failed several times, until it turned out that it wasn’t sufficient to have administrative rights as the user who was installing the program. No: reverse engineering of the code showed that there is indeed a time during the installation routine that asks specifically if the user is called ‘admin’. Consider me warned.
The starting point is a new, ‘naked’ Sitecore 8.0 installation on a Windows 2012 R2 server. This runs as a virtual machine on a Hyper V host. This has, apart from others, the significant advantage, that you can save the current state, make changes such as the installation of the EXM module and, if there are any problems, restore the previous state. Perfect to experiment a little.
Thus I am starting my search for the EXM module via google. I can find various documentations but no download. On doc.sitecore.net it only says in the chapter ‘Getting started with EXM → About → Introducing the Email Experience Manager’: “When you have installed the EXM module, you can open it from the Sitecore Launchpad.” Great.
My next thought is: Has the module maybe already become an integral part of Sitecore 8? I am intensively looking at the launch pad again, but: negative.
The launch pad is, by the way, the new home interface of Sitecore 8. It has always existed and you could choose it as an access in previous Sitecore versions at the login next to the desktop and content manager. But in regards to content it has changed drastically and is now a sort of dashboard with various links and configurable analytics data. Basically, Sitecore follows the respective current development of Microsoft Windows with its user surface. So the familiar Sitecore desktop is, analog to Windows 8.x, still accessible.
But back to my actual task, the search for the EXM module. Now I remember where I once found the ECM module: the Sitecore Marketplace!
But disappointingly the corresponding search doesn’t show the desired result, in neither an anonymous nor a signed-in status. Hmmm.
So back to google and indeed: You shouldn’t always follow the first few links in the list of results, and so I finally find my EXM module on the developer page from Sitecore. Although version 3.2 is update-1 of the module, it is not compatible with my Sitecore 8.0 installation. 3.2 initial release? No. Even with the 3.1 version I am unsure.
In cases like this it is absolutely crucial to look at the version number of Sitecore closely. The scheme is: Major.Minor Revision. Such as 8.0 rev. 150812.
In Sitecore prior to version 8 this information was always available on the right side of the login display. Now it’s not that easy anymore. First you have to navigate to the launch pad that I mentioned earlier and open the control panel from there. Fortunately this is not only a visually adjusted version of the old control panel but it has also been completely revised and is now even based on the speak engine.
Graphic 2: Control Panel (extract) in Sitecore 8
If you click on ‘License details’ in the control panel a dialogue window opens with the requested information:
Graphic 3: Sitecore Version in the license details
The installation manual is a PDF. The cover gives away that it fortunately consists of only three pages. So minus the cover, two pages of instructions. I dare to look at page two…
In the ‘Prerequisites’ I am made aware that I would have to perform changes in the web.config to use the Sitecore experience platform. The experience platform is the analytics part of Sitecore. Generally, I would like to use the opportunity to receive corresponding statistics for my sent e-mails but I decide to configure this later and to create a checkpoint of my virtual machine in the Hyper V manager first, so that I can return to this state in case anything goes wrong. Unfortunately there is no option in Sitecore to automatically deinstall a module.
The installation manual reveals that what I have downloaded is not yet the package that I want to install but that the .zip file holds 5 more (in words: five) archives:
Graphic 4: content of the EXM download
So I continue reading. Email Experience Manager 3.1.1 rev. 150811.zip is the actual Sitecore EXM module. The other archives would be for specific server roles. In this context the installation manual refers to a 'Walkthrough: Configuring EXM in a scaled environment’. Since I am pretty sure that I am not currently using a scaled environment I spare myself from reading the widely ramified documentation about this topic.
In part two of the installation process I am asked to remove a DLL from the archive of a specific Sitecore version. If you have completed a Sitecore upgrade before you can only laugh about instructions like this. In this case it doesn’t affect me, so let’s start with the actual installation. This happens through the control panel as well, by means of the entry ‘Install a package’:
Graphic 5: After the upload the package can get installed
Now you have to send the license agreement and then receive the following instruction:
Graphic 6: More installation instructions
The reference to copy this information is unnecessary or rather confusing. It says the same in the ‘Installation Guide’ anyway. Although, with the indication to refrain from running the SQL script under certain circumstances. Maybe I will start reading the manual for toasters, too. You never know.
Part 5 of the instructions reminds me of something, that abruptly makes it clear to me that I certainly won’t be sending out any e-mails today: Sitecore offers a separate (and of course fee-based) cloud service for sending e-mails. While this has many advantages, you will need the corresponding authorization from Sitecore if you want to send e-mails with your own service. For this purpose you have to turn to the partner support to receive a corresponding license that will allow the independent dispatch of e-mails. While this doesn’t cost money, it takes time.
Still, I am brave and click ‘Next’. While the installation is running I notice that I didn’t see the checkbox ‘Restart the Sitecore Client’ (which doesn’t mean anything other than pressing F5) anywhere during the installation. Well, not everything has to be up-to-date all the time. And documentation definitely doesn’t have to be. Anyway, in the past the checkbox was there.
During the time it takes to install the module you could do about twenty complete backups of the data base via the SQL Management console and bring them back in. I am wondering, what are they doing? So I use this time to dedicate myself to the remaining installation instructions. Now it’s about tethering up the EXM data base, for which I use the SQL management console mentioned before. Unfortunately I can’t do this at the same time since the data base file is part of the installation… By now I have increased the number of estimated backups to thirty. I probably won’t find out today if the installation has been successful, because it’s about time to call it a day. I’m going home.
Update: Even on the next morning the installation is not completed. Obviously this indicates that there is a problem somewhere. Unfortunately I don’t receive an error message or anything along those lines, the animation in the installation window happily continues to spin.
I give up for now and will start a search for the cause later. That the installation doesn’t work right away is unfortunate, but at the same time no big surprise. I just return to the original state of my system with the Hyper V manager and try again. In one of the following posts I will certainly be able to report about a functioning Email Experience Manager.