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

...

  1. Create a folder where you want to install EDRS, such as C:\EDRS\ExamDeveloper\ (henceforth known as 

    Anchor
    EDRSinstallDir
    <EDRSinstallDir>) and copy all the contents of <SVNFolder>\EDRS\ to this folder.
     

  2. Update the configuration files of EDRS located in C:\EDRS\ExamDeveloper\configs\ (<EDRSinstallDir>\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 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;Persist Security Info=True;User ID=ExamDev;Password=P@s$w0rd"/> 
       
      where, 

      • Data Source = Name of SQL Server instance. You can identify the name of the SQL Server instance being used for ExamDeveloper as detailed in 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.

        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.

      • Initial Catalog = ExamDeveloper (which is the 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".

      • 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".

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


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

      1. Anchor
        ReportService
        Update the 
        appSettings.config for the keys related to the Report Server in the ExamDeveloper appSettings.config as shown in step 6 of Configure ExamDeveloper. This includes values for "reportServerUrl", "reportServerPath", "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.

        • 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.
           
      2. Anchor
        EDRSservicedisplayname
        Modify

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

        to 

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

        where UniqueEDRSServiceDisplayName is the unique display name given to the EDRS service. This name needs to be unique per install and must not contain spaces.
         
      3. Anchor
        EDRSServicename
        Modify 

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


        to 

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

        where UniqueEDRSServiceName is the unique name given to the EDRS service. This name needs to be unique per install and must not contain spaces.

      4. Anchor
        EDRSoutputdirectory
        Modify 

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


        to 

        <add key="outputDirectory" value="C:\ExamDeveloperData\EDRSOutput"/>

        It must be ensured that the value of the "outputDirectory" key specified in the 
        appSettings.config must match the value for the "EdrsOutputDirectory" specified in the ExamDeveloper appSettings.config (that will be using this instance of EDRS) as in step 7 of Configure ExamDeveloper. This is the location where reports generated by EDRS are stored.

        Note
        Both "LOCAL SERVICE" and "NETWORK SERVICE" users must have access to this folder, which can be achieved in a way similar to how it is detailed 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 select 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. Anchor
        EDRSAPILogin
        Ensure that the values of the keys "basicAuthUserName" and "basicAuthPassword" match the values from 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"/>
        <add key="basicAuthPassword" value="Dummy_Password"/>


      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" as follows:

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

        where UniqueEDRSServiceName is the name of the EDRS service.

         
    3. Anchor
      masstransit
      Update the massTransit.config of EDRS as below:

      1. Update the massTransit/host/rabbit@hostAddress attribute to append the name of the new Virtual Host created in step 1 of Create a new Virtual Host and the values for username and password to access that Virtual Host from Create a RabbitMQ user for EDRS. e.g., if the default value is rabbitmq://hostname, and your new Virtual Host name is ExamDeveloper, while the username is "ExamDeveloper" and password is "Password", then the line should look like below:

        <
        rabbit hostAddress="rabbitmq://localhost/ExamDeveloper" username="ExamDeveloper" password="Password"/>


        Note
        If RabbitMQ is installed on a separate server, then you must substitute "localhost" with the hostname of that serverIf RabbitMQ-URL is the server hostname where RabbitMQ is installed, then the line willbecomes become as below:

        <rabbit hostAddress="rabbitmq://RabbitMQ-URL/ExamDeveloper" username="ExamDeveloper" password="Password"/>



        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 Create and configure RabbitMQ Virtual Host and in the Create a RabbitMQ user for EDRS section of the RabbitMQ Setup and Configuration page.

         

         

      2. It needs to be ensured You must ensure that the address specified in the massTransit.config of EDRS must match matches the address specified in the massTransit.config of ExamDeveloper (that will be using this instance of EDRS) as stated in step 10 of Configure ExamDeveloper.
        e.g., if your Virtual Host is named ExamDeveloper, the hostAddress attribute value would become "rabbitmq://localhost/ExamDeveloper" username="examDeveloper" password="Password". In this case, the username "ExamDeveloper" and password "Password" are for the RabbitMQ user accessing the Virtual Host "ExamDeveloper".

        <rabbit hostAddress="rabbitmq://localhost/ExamDeveloper" username="ExamDeveloper" password="Password"/>

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

        <rabbit hostAddress="rabbitmq://RabbitMQ-URL/ExamDeveloper" username="ExamDeveloper" password="Password"/>

       

      Note

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

       

       

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

      <httpClientConfig name="ExamDev" url="https://ED-HostName/ExamDeveloper" userName="examDeveloper" password="Dummy_Password"/>

      The values of the keys "username" and "password" have to be same as the values from the ExamDeveloper 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 where ExamDeveloper is installed, with the name of the ExamDeveloper application ExamDeveloper appended to it.

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

      <httpClientConfig name="ExamDev" url="https://examdev.pearsonvue.com/ExamDeveloper" userName="examDeveloper" password="Dummy_Password"/>

      It is important to ensure that "https" and not "http" is used in the "url" value.

      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 ExamDeveloper application in IIS, you will need to specify that port number over here and assuming the port number is "11401" the line will appear as below:


      <httpClientConfig name="ExamDev" url="https://ED-HostName/ExamDeveloper:11401" userName="examDeveloper" password="Dummy_Password" />

      Or if the ExamDeveloper URL is as mentioned in the example, then the line will appear as below:

      <httpClientConfig name="ExamDev" url="https://examdev.pearsonvue.com/ExamDeveloper:11401" userName="examDeveloper" password="Dummy_Password" />


      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 User service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of User service setup.

        <httpClientConfig name="UserService" url="https://App-HostName/UniqueUserServiceName" userName="examDeveloper" password="Dummy_Password"/>

        The value of "url" is the server hostname App-HostName where the User service is installed, with the User service name appended to it, which is "UniqueUserServiceName" in our example.

        For example, if 
        the server hostname where the User service is installed is examdevapp.pearsonvue.com, then the line will appear as below:

        <httpClientConfig name="UserService" url="https://examdevapp.pearsonvue.com/UniqueUserServiceName" userName="examDeveloper" password="Dummy_Password"/>

        It is important to ensure that "https" and not "http" is used in the "url" value.

      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 Project service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of Project service setup.

        <httpClientConfig name="ProjectService" url="https://App-HostName/UniqueProjectServiceName" userName="examDeveloper" password="Dummy_Password"/>

        The value of "url" is the server hostname 
        App-HostName where the Project service is installed, with the Project service name appended to it, which is "UniqueProjectServiceName" in our example.

        For example, if the server hostname where the Project service is installed is examdevapp.pearsonvue.com, then the line will appear as below:

        <httpClientConfig name="ProjectService" url="https://examdevapp.pearsonvue.com/UniqueProjectServiceName" userName="examDeveloper" password="Dummy_Password"/>

        It is important to ensure that "https" and not "http" is used in the "url" value.

      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 ItemBank service appSettings.config of the keys "basicAuthUserName" and "basicAuthPassword" respectively as mentioned in step 4 of ItemBank service setup.

        <httpClientConfig name="ItemBankService" url="https://App-HostName/UniqueIBServiceName" userName="examDeveloper" password="Dummy_Password"/>

        The value of "url" is the server hostname App-HostName where the ItemBank service is installed, with the ItemBank service name appended to it, which is "UniqueIBServiceName" in our example.

        For example, if the application hostname is examdevapp.pearsonvue.com, then the line will appear as below:

        <httpClientConfig name="ItemBankService" url="https://examdevapp.pearsonvue.com/UniqueIBServiceName" userName="examDeveloper" password="Dummy_Password"/>


        It is important to ensure that "https" and not "http" is used in the "url" value.

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

      <log4net>
            <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
                 <file value="C:\Program Files\Pearson\logs\EDRS\ReportService.log" />

      By default, the log file ReportService.log will save to the EDRS folder (C:\EDRS\ExamDeveloper\ in our example). You can specify a different path to save it by modifying the value to something like "C:\Program Files\Pearson\logs\EDRS\ReportService.log" as shown above.

      Note
      The "NETWORK SERVICE" user must have access to this folder, which can be achieved in a way similar to how it is detailed here.



    6. The modified areas of the EDRS configuration files will files appear similar to the ones shown in the below screenshots.
      1. appSettings.config:
        Image Removed
        Image Added

        Note

        Please ensure that the user, EDRS uses to connect to SSRS ("edReporting" in our example), has been granted at least the Browser and Content Manager roles as explained herein Reporting Services Setup - SSRS User Permissions. EDRS will not start if this user does not have this permission.

      2. connectionStrings.config:
        Image Removed
        Image Added

         

      3. massTransit.config:
        Image Removed
        Image Added
      4. httpClients.config (this config file is available only for ExamDeveloper version 7.1604.0.0 and above):
        Image Removed
        Image Added
      5. log4net.config:
        Image Removed
        Image Added 
  3. Open an Administrator command prompt and run the following command:

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

    where UniqueEDRSServiceName is the name 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 EDRS service:

    To do this, open an Administrator command prompt (click Start, 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>, 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.
    This will install installs the EDRS Windows service with the display name UniqueEDRSDisplayName set to start with Windows, but it doesn't start running right away. 

     

  5. Start the EDRS service:

    After installing the EDRS service, open the Administrator command prompt, navigate to <EDRSinstallDir>, and run the following command:

    edrs.exe start

...

Warning
titleEnsure that the EDRS service is running before proceeding any further

Ensure that the EDRS service is running in the following way:

  1. Run "services.msc" (click Start ->  Run or Windows + R keys together, type "services.msc" in the Run dialog box, and click OK). Ensure that the Status for the EDRS service instance shows as Started and the Startup Type is Automatic.
  2. If you don't see as mentioned in step 1, then right click the EDRS service name in the list, which should appear as UniqueEDRSServiceDisplayName, and click Properties to open its properties window.
  3. Select Automatic from the Startup type dropdown  drop-down and click the Start button under Service status.
  4. This will start starts the EDRS service and set sets it to start automatically at Windows startup.

...

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>.

  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>.

  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 service (EDSS) for single instance of ExamDeveloper.

Note

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

 Configure IIS Web Server.

 ExamDeveloper setup home page.