Navigation Menu

Click the "+" to see inside a chapter or use the search to the right.

.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clean up

Anchor
TopOfPage
 Configure IIS Web Server.

 Set up SearchService (EDSS) for multiple instances of ExamDeveloper.

Note

If you do not plan to use EDSS, you can skip to setting up ExamService.
 Set up ExamService for multiple instances of ExamDeveloper.

 ExamDeveloper setup home page.

 

Note

The following is applicable only for ExamDeveloper version 7.1601.0.0 and above.

Warning

It is important to ensure that the following is installed and configured before you proceed with the EDRS installation and configuration, so that it works as expected:

  • Microsoft Office 2010 (64-bit) or above, or Microsoft Access Database Engine 2010 Redistributable http://www.microsoft.com/en-in/download/details.aspx?id=13255 (Download and install the file named AccessDatabaseEngine_x64.exe).
  • Double click the following files found in the <SVNFolder>\External\Import-Export\ folder. These files will install the required registry entries.
    JetDriver_ExcelImportSetting_64bitOffice.reg
    JetDriver_ExcelImportSetting_64bitOffice_14.0.reg

  • For the ED Application Pool in IIS, ensure that Integrated is selected for the Managed pipeline mode dropdown drop-down and Enable 32-Bit Applications setting is set to False under the Advanced Settings from the context menu as mentioned in step 2 of IIS 7.0 Web Server Configuration.

  • Reporting Services need to must be set up and ready as detailed over herein Reporting Services Setup.

 

It is possible to run multiple instances of ExamDeveloper and its services on the same host. In such a scenario, each instance of ExamDeveloper needs a distinct installation of the services and a distinct RabbitMQ Virtual Host. 

...

The message traffic between the web site and services (such as EDRS) needs to be  must be kept distinct for each instance of ExamDeveloper. This is accomplished using the Virtual Host feature of RabbitMQ. You must create additional Virtual Hosts in the same way as detailed in Create and configure RabbitMQ Virtual Host of the RabbitMQ Setup and Configuration page, but with a different Virtual Host name. In our example, this is ExamDeveloper_New.
Create a new user ExamDeveloper_New with password Password_New to access the ExamDeveloper_New Virtual Host, similar to how the first user is created in Create a RabbitMQ user for EDRS section of the RabbitMQ Setup and Configuration page 

...

Note
titleRemember

The above Virtual Host name, username, and password will need to must be specified later in the massTransit.config files for ExamDeveloper and EDRS.

...

  1. Create a folder where you want to install the new instance of EDRS, such as C:\EDRS\ExamDeveloper_New (henceforth known as <EDRSinstallDir_New>) and copy all the contents of <SVNFolder>\EDRS to this folder.
     

  2. Update the configuration files for the new instance of EDRS located in C:\EDRS\ExamDeveloper_New\configs\ (<EDRSinstallDir_New>\configs\connectionStrings.configappSettings.configmassTransit.confighttpClients.config, and log4net.config - with Notepad or a suitable text file editor.

    1. Anchor
      connectionstrings
      Update the connectionStrings.config of the new instance of EDRS for the values of the "connectionString" keys "Data Source", "Initial Catalog", "User ID", and "Password" as below:.

      Warning

      Do not modify the value of "name" from "examDeveloper" to any other value as this will result in EDRS not being able to run.

       

      <add name="examDeveloper" connectionString="Data Source=WIN-VSGF1NBSVPB;Initial Catalog=ExamDeveloper_New;Persist Security Info=True;User ID=ExamDev_New;Password=P@s$w0rd_New"/>

      where,

      • Data Source = Name of SQL Server instance. You can identify the name of the SQL Server instance being used for the new instance of ExamDeveloper as detailed over herein SQL Server Database Setup.

        Info
        Expand
        titleTo learn how to identify the SQL Server instance when there are more than one instances, click here to expand...

        If you have more than one instances of SQL Servers, then you must select the one you need to connect to use with ExamDeveloper as shown in the Connection window below.

        Image RemovedImage Added

        Anchor
        IdentifySQLServerInstanceName
        You can later identify the name of the SQL Server instance by right-clicking the Server node in the SQL Server, clicking Properties, then selecting General page in the left pane of the Server Properties page, and observing the Name in the right pane as shown below.

        Image RemovedImage Added

      • Initial Catalog = ExamDeveloper_New (which is the new instance ExamDeveloper Database).

      • User ID = Username of the SQL Server User who owns the database. This was created during SQL Server Database Setup under SQL Server user management. In our example, this is "ExamDev_New".

      • Password = Password of the SQL Server who owns the database. This was created during SQL Server Database Setup under SQL Server user management. In our example, this is "P@s$w0rd_New".

        This connection string needs to match the new instance application's connection string from the ExamDeveloper connectionStrings.config as shown in step 9 of Configure ExamDeveloper.
         

    2. Update the key values in appSettings.config of the new instance of EDRS as below:

      1. Update the appSettings.config for the keys related to the Report Server in the new instance ExamDeveloper appSettings.config as shown in step 6 of Configure ExamDeveloper. This includes values for "reportServerUrl", "reportServerUserName", "reportServerPassword", and "reportServerDomainName".

        • reportServerUrl = Report Server Web Service URL shown on the Web Service URL tab of the Reporting Services Configuration Manager.

          Expand
          titleWhere is the Report Server Web Service URL? Click to learn...
          Info

          The Report Server Web Service URL can be found out by clicking the Web Service URL link on the left as shown below. If the URL is too long, some part of the URL may not be visible. In such a case, you can hover the mouse cursor over the URL and note it down from the tool tip.

          Image RemovedImage Added

        • reportServerPath = the folder name and path of the reporting services application folder created in step 7 of Setting up Reporting Services application folder, which is /ExamDeveloper/ in our example.
        • reportServerUserName = the administrative username used to log into the Report Manager, in step 8 of Setting up Reporting Services application folder.
        • reportServerPassword = the password for the administrative username used to log into the Report Manager, in step 8 of Setting up Reporting Services application folder.
        • reportServerDomainName = domain property specifies the domain or realm to which the user name belongs. Typically, this is the host computer name where the reporting services runs or the user domain for the user configured.

          These values need to match the values in the new instance ExamDeveloper appSettings.config as shown in step 6 of Configure ExamDeveloper.

      2. Modify 

        <add key="serviceDisplayName" value="Unique EDRS DisplayName"/> 

        to 

        <add key="serviceDisplayName" value="UniqueEDRSServiceDisplayName_New"/>

        where UniqueEDRSServiceDisplayName_New is the unique display name given to the new instance of EDRS service. This name needs to be unique per install and must not contain spaces.
         
      3. Modify 

        <add key="serviceName" value="Unique EDRS Name"/>
         

        to 

        <add key="serviceName" value="UniqueEDRSServiceName_New"/>

        where UniqueEDRSServiceName_New is the unique name given to the new instance of EDRS service. This name needs to be unique per install and must not contain spaces.
         
      4. Modify 

        <add key="outputDirectory" value=""/>
         

        to 

        <add key="outputDirectory" value="C:\ExamDeveloper\AppData\ExamDeveloper_New\Reports"/>

        You need to ensure that the value of the "outputDirectory" key specified in the 
        appSettings.config of the new EDRS instance must match the value for the "EdrsOutputDirectory" specified from the appSettings.config of ExamDeveloper_New (that will be using this instance of EDRS) as stated in step 7 of Configure ExamDeveloper. This is the location where reports generated by  EDRS are stored.

        Both, the new instance of EDRS and the new instance of ExamDeveloper application must have access to this folder, which can be achieved in a way similar to how it is detailed heredetailed in Grant Write Access for the Application Data Folder to Network User.
         

        Tip

        It is prudent, in the interest of data security, to encrypt the folder where EDRS stores its output. This can be done as follows:

        Expand
        titleHow to encrypt the folder where EDRS stores its output? Click to expand...
        1. Open File Explorer in Windows and right-click the folder specified in the “outputDirectory” key of the EDRS appSettings.config file and click Properties.

        2. In the folder Properties dialog, click the Advanced button.

          Image RemovedImage Added

        3. In the Advanced Attributes dialog box that appears, check the Encrypt contents to secure data option and click OK.

          Image RemovedImage Added

        4. Click OK to close the folder Properties window.

        The current contents of the selected folder will are now get encrypted and any files or folders that get are placed into it in the future will also get be encrypted.

        Note

        Step 2.b.v is applicable only for ExamDeveloper version 7.1604.0.0 and above.


      5. Ensure that the values of the keys basicAuthUserName and basicAuthPassword match the values from the new instance ExamDeveloper httpClients.config of the keys "userName" and "password" respectively for the line with httpClientConfig name "EDRS" as in step 11 of Configure ExamDeveloper.

        <
        add key="basicAuthUserName" value="examDeveloper_New"/>
        <add key="basicAuthPassword" value="Dummy_Password_New"/>
         
      6. If a line with the key "useSsl" exists, set the value to "true" as follows:

        <add key="useSsl" value="true"/>
         
      7. If a line with the key "relativeUri" exists, set the value to "UniqueEDRSServiceName_New" as follows:

        <add key="relativeUri" value="UniqueEDRSServiceName_New"/>

        where UniqueEDRSServiceName_New is the name of the new instance of the EDRS service.

         
    3. Update the massTransit.config file of the new instance of EDRS as shown below:

      1. Anchor
        NewVHUser
        Update the massTransit/host/rabbit@hostAddress attribute to append the name of the new Virtual Host created in Configure and install additional RabbitMQ Virtual Host accessible to the new user ExamDeveloper_New with password Password_New.
        e.g., if the default value is rabbitmq://hostname, and your new Virtual Host is named ExamDeveloper_New, the new hostAddress attribute value would become 

        <"
        rabbitmq://localhost/ExamDeveloper_New", username="ExamDeveloper_New", and password="Password_New"/>


        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 becomes will become as below:

        <rabbit hostAddress="rabbitmq://RabbitMQ-URL/ExamDeveloper_New" username="ExamDeveloper_New" password="Password_New"/>



        Warning

        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.


      2. You need to ensure that the address specified in the massTransit.config of the new EDRS instance must match the address specified in the corresponding massTransit.config of ExamDeveloper_New (that will be using this instance of EDRS) as stated in step 10 of Configure ExamDeveloper.
         
      Note

      Step 2.d is applicable only for ExamDeveloper version 7.1604.0.0 and above.


    4. Anchor
      httpclients_New
      Update the httpClients.config of the new instance of EDRS for the line with the "name" as "ExamDev" entry as shown below:

      <
      httpClientConfig name="ExamDev" url="https://ED-HostName_New/ExamDeveloper_New" userName="examDeveloper_New" password="Dummy_Password_New" />

      The values of the keys "username" and "password" have to be same as the values from the new instance ExamDeveloper's appSettings.config of the keys ApiAuthenticationUserName and ApiAuthenticationPassword respectively as mentioned in step 8 of Configure ExamDeveloper.

      The value of "url" is the server hostname ED-HostName_New where the new instance of ExamDeveloper is installed, with the name of the new instance of the ExamDeveloper application ExamDeveloper_New appended to it. It is important to ensure that "https" and not "http" is used in the "url" value.

      For example, if the application URL is https://examdev-new.pearsonvue.com/ExamDeveloper_New, then the line will appear as below:

      <httpClientConfig name="ExamDev" url="https://examdev-new.pearsonvue.com/ExamDeveloper_New" userName="examDeveloper_New" password="Dummy_Password_New"/>
       

      Note
      The port number need not be specified here and is deemed to be "443", which is determined from the usage of "https" in the "url" value.
      In the unlikely scenario where a different port number has been specified for the new instance of the ExamDeveloper application in IIS, you will need to specify that port number over here. For example, if the port number is "11401" the line will appear as below:


      <httpClientConfig name="ExamDev" url="https://ED-HostName_New/ExamDeveloper_New" userName="examDeveloper_New" password="Dummy_Password_New" port="11401"/>

      Or if the URL for the new instance of ExamDeveloper is https://examdev.pearsonvue-new.com/ExamDeveloper_New, then the line will appear as below:

      <httpClientConfig name="ExamDev" url="https://examdev.pearsonvue-new.com/ExamDeveloper_New:11401" userName="examDeveloper_New" password="Dummy_Password_New" />
      Note

      The below modifications of EDRS httpClients.config are applicable only for ExamDeveloper version 7.1701.0.0 and above.



      1. For the line with the "name" as "UserService" entry, the values of the keys "userName" and "password" have to be same as the values from the new instance User service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of the new instance User service setup.

        <httpClientConfig name="UserService" url="https://App-HostName_New/UniqueUserServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>

        The value of "url" is the server hostname App-HostName_New where the new instance of User service is installed, with the new instance User service name appended to it, which is "UniqueUserServiceName_New" in our example. It is important to ensure that "https" and not "http" is used in the "url" value. For example, if the hostname where the new instance User service is installed is examdevapp.pearsonvue-new.com, then the line will appear as below:

        <httpClientConfig name="UserService" url="https://examdevapp.pearsonvue-new.com/UniqueUserServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>


      2. For the line with the "name" as "ProjectService" entry, the values of the keys "userName" and "password" have to be same as the values from the new instance Project service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of the new instance Project service setup.

        <httpClientConfig name="ProjectService" url="https://App-HostName_New/UniqueProjectServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>

        The value of "url" is the server hostname App-HostName_New where the new instance of Project service is installed, with the new instance Project service name appended to it, which is "UniqueProjectServiceName_New" in our example. It is important to ensure that "https" and not "http" is used in the "url" value. For example, if the hostname where the new instance Project service is installed is https://examdevapp.pearsonvue-new.com/, then the line will appear as below:

        <httpClientConfig name="ProjectService" url="https://examdevapp.pearsonvue-new.com/UniqueProjectServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>


      3. For the line with the "name" as "ItemBankService" entry, the values of the keys "userName" and "password" have to be same as the values from the new instance ItemBank service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of the new instance of ItemBank service setup.

        <httpClientConfig name="ItemBankService" url="https://App-HostName_New/UniqueIBServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>

        The value of "url" is the server hostname App-HostName_New where the new instance of ItemBank service is installed, with the new instance ItemBank service name appended to it, which is "UniqueIBServiceName_New" in our example. It is important to ensure that "https" and not "http" is used in the "url" valueFor example, if the hostname where the new instance ItemBank service is installed is https://examdevapp.pearsonvue-new.com/, then the line will appear as below:

        <httpClientConfig name="ItemBankService" url="https://examdevapp.pearsonvue-new.com/UniqueIBServiceName_New" userName="examDeveloper_New" password="Dummy_Password_New"/>



      4. Add the following line below <httpClientConfig name="ItemBankService".../> (if not already present):

        <httpClientConfig name="AssignmentService" url="https://localhost/assignment" userName="examDeveloper" password="Dummy_Password"/>

    5.  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 EDRS is to be located.


      <log4net>
            <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
                 <file value="C:\ExamDeveloperData\Logs\EDRS_New\ReportService.log" />

       

      Here, the log file ReportService.log will save to the EDRS folder by default (C:\EDRS\ExamDeveloper_New\ in our example). You can specify a different path to save it by modifying the value to something like "C:\ExamDeveloperData\Logs\EDRS_New\ReportService.log" as shown above.

     

  3. Open an Administrator command prompt and run the following command:


    netsh http add urlacl url=https://+:443/UniqueEDRSServiceName_New
     user=Everyone

    where UniqueEDRSServiceName_New is the name of the new instance of the EDRS service.

    Note

    If you get an error stating "Url reservation add failed" on running the above command, please ignore it as it means that this has already been taken care of.

  4. Install the new instance of the EDRS service:
    To do this, open an Administrator command prompt (click the Start button, type "command" in the search box, right click Command Prompt in the search results that appear, and click Run as administrator from the context menu), navigate to <EDRSinstallDir_New>, and run the following command:

    edrs.exe install --
    sudo --localservice

    Here, edrs.exe is the name of the EDRS service executable file. This file may be available with any other name in the format [ApplicationName].exe such as edrs.exe.

  5. Start the new instance of the EDRS service:
    After installing the EDRS service, open the Administrator command prompt, navigate to <EDRSinstallDir_New> and run the following command:

    edrs.exe start



Expand
titleIf you need to stop or uninstall the EDRS service, click here to learn how...

Stop the EDRS service

  1. Open the Administrator command prompt and navigate to <EDRSinstallDir_New>.

  2. To stop the installed service, run the following command:

    edrs.exe stop

Uninstall the EDRS service

  1. Open the Administrator command prompt and navigate to <EDRSinstallDir_New>.

  2. First stop the service by running the following command:

    edrs.exe stop
     

  3. To uninstall the new instance of the service, run command:

    edrs.exe uninstall --sudo --localservice

 

 

Note
Please visit EDRS Configuration Settings to learn more about the various settings mentioned above.

 

Return to the top of the page.

 Set up SearchService (EDSS) for multiple instances of ExamDeveloper.

Note

If you do not plan to use EDSS, you can skip to setting up ExamService.
 Set up ExamService for multiple instances of ExamDeveloper.

 Configure IIS Web Server.

 ExamDeveloper setup home page.