The following is applicable only for ExamDeveloper version 7.1610.0.0 and above.
Create a folder where you want to install the new instance of User service, such as C:\EDUS\ExamDeveloper_New\ (henceforth known as <EDUSinstallDir_New>) and copy all the contents of <SVNFolder>\User\ (or <SVNFolder>\UserService\) to this folder.
Open the various configuration files for the new instance of the User service from C:\EDUS\ExamDeveloper_New\configs (<EDUSinstallDir_New>\configs\) - appSettings.config, connectionStrings.config, massTransit.config, and log4net.config - with Notepad or a suitable text file editor.
In the appSettings.config, enter unique name and unique display name for the new instance of User service, which is to be created and run on the application server.
<add key="serviceDescription" value="ExamDeveloper User Service Description_New"/>
<add key="serviceDisplayName" value="UniqueUserServiceDisplayName_New"/>
<add key="serviceName" value="UniqueUserServiceName_New"/>
UniqueUserServiceName_New and UniqueUserServiceDisplayName_New are the unique name and display name given to the new instance of the User service. These names needs to be unique per install and should not contain any space.
In the appSettings.config, ensure that the values of the keys "basicAuthUserName" and "basicAuthPassword" match the values in ExamDeveloper httpClients.config of the keys "userName" and "password" respectively for the line with httpClientConfig name "User" as in step 11 of Configure ExamDeveloper.
<add key="basicAuthUserName" value="examDeveloper_New"/>
<add key="basicAuthPassword" value="Dummy_Password_New"/>
If a line with the key "useSsl" exists, set the value to "true" as follows:
<add key="useSsl" value="true"/>
If a line with the key "relativeUri" exists, set the value to "UniqueUserServiceName_New" as follows:
<add key="relativeUri" value="UniqueUserServiceName_New"/>
where UniqueUserServiceName_New is the name of the new instance of the User service.
In the connectionStrings.config, update connection string value to match the value from the EDRS connectionStrings.config file as in step 2.a of Install Additional Instance of EDRS for the new instance of EDRS.
<add name="examDeveloper" connectionString="Data Source=WIN-VSGF1NBSVPB;Initial Catalog=ExamDeveloper_New;Persist Security Info=True;User ID=ExamDev_New;Password=P@ssw0rd_New" />
Step 8 is applicable only for ExamDeveloper version 7.1611 and above.
Update the values in the <massTransit> section of the massTransit.config file to match the corresponding values from massTransit.config of the new instance of EDRS.
<rabbit hostAddress="rabbitmq://localhost/ExamDeveloper_New" username="ExamDeveloper_New" password="Password_New" />
The name of the new Virtual Host ExamDeveloper_New for the new instance of the ED application, as created in the Create and configure RabbitMQ Virtual Host of the RabbitMQ Setup and Configuration page, should be appended to the massTransit/host/rabbit@hostAddress attribute, which is rabbitmq://localhost/ExamDeveloper_New in our example. The new RabbitMQ user with username ExamDeveloper_New and password Password_New having access to the new Virtual Host ExamDeveloper_New (as mentioned in step 2.c.i of Install Additional Instance of EDRS section of the Configuring EDRS for Multiple Instances of ExamDeveloper) is used here.
Note If RabbitMQ is installed on a separate server, then you must substitute "localhost" with the hostname of that server. If RabbitMQ-URL is the server hostname where RabbitMQ is installed, then the line will become as belowbecomes:
<rabbit hostAddress="rabbitmq://RabbitMQ-URL/ExamDeveloper_New" username="ExamDeveloper_New" password="Password_New"/>
It is extremely important that the same RabbitMQ Virtual Host name should not be shared between different instances of ExamDeveloper, as this can result in issues such as data loss and security breach.
It is important to ensure that the RabbitMQ Virtual Host name, username, and password are case-sensitive. You will encounter an error while trying to log into ExamDeveloper if care is not taken to ensure that both are specified exactly as they are in the new RabbitMQ Virtual Host and user setup for this instance of the ExamDeveloper application.
Update the values in the <log4net> section of the log4net.config file as shown below to indicate the path where the log file for the new instance of User service is to be located.
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="C:\ExamDeveloperData\Logs\UserService_New\User.log" />
Here, the log file User.log will save to the User service folder by default (C:\EDUS\ExamDeveloper_New\ in our example). You can specify a different path to save it by modifying the value to something like "C:\ExamDeveloperData\Logs\UserService_New\User.log" as shown above.
If you need to stop or uninstall the User service, you need to follow the following steps.
Stop User service
Uninstall User service
Please visit User Service Configuration Settings to learn more about the various settings mentioned above.