Jump to content

QESTNET Internal:Developer Setup QESTNET 4.3: Difference between revisions

From QESTonline
Benjamin.riches (talk | contribs)
No edit summary
 
John.meegan (talk | contribs)
No edit summary
 
(6 intermediate revisions by one other user not shown)
Line 19: Line 19:
**Uncheck '''User-unhandled'''.<BR> This will stop the debugger breaking on a fault exception catch every time you login. It is on a "to do" list somewhere to fix... really I (DL) promise.
**Uncheck '''User-unhandled'''.<BR> This will stop the debugger breaking on a fault exception catch every time you login. It is on a "to do" list somewhere to fix... really I (DL) promise.


=====QESTLab Schema Generator Setup=====
=====Pre-Requisites=====
*Open '''~\qestnet\QESTNET\QESTNET.Sessions.Lab\QESTLab.SchemaGenerator\ QESTLab.SchemaGenerator.sln'''.
*Microsoft Powershell 3 must be installed before continuing this process.
**Build the solution, there should be no errors.
**If the installed version of Powershell is wrong, build errors will occur in '''Castle.Core.dll''' and '''Castle.Windsor.dll'''
**A restart of the computer will be needed after updating to Powershell 3.
*A database upgrade is required for QESTNet 4.3 to run. The database used '''must''' be updated with a version 1.x or 2.x version of the QNU before updating with a 3.x version of the tool.
 
=====QESTLab Configuration Setup=====
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
**Open the app.config file in the project QESTNET.Service\QESTNET.
**Open the app.config file in the project QESTNET.Service\QESTNET.
**Edit the QESTLab_Data connection string to point to the QESTLab database you want to connect to.<br><br>''<add name="QESTLab_Data" connectionString="metadata=res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.csdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.ssdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;<span style="color:#0000FF">data source=ADLD0031;initial catalog=fugro_20150320_qestlab;</span>integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />''<br><br>
**Edit the QESTLab_Data connection string to point to the QESTLab database you want to connect to.<br><br>''<add name="QESTLab_Data" connectionString="metadata=res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.csdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.ssdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;<span style="color:#0000FF">data source=ADLD0031;initial catalog=fugro_20150320_qestlab;</span>integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />''<br><br>
**Furthermore, set the following to true in the app.config for at least the first run to verify the structure of your database is correct.<br><br><add key="verifyDatabase" value="True" /><br><br>
*Open '''~\qestnet\QESTNET\QESTNET.Service\QESTNET\app.config'''
*Open '''~\qestnet\QESTNET\QESTNET.Service\QESTNET\app.config'''
*Open '''~\qestnet\QESTNET\QESTNET.Service\QESTNET.Sessions\app.config'''
*Open '''~\qestnet\QESTNET\QESTNET.Service\QESTNET.Sessions\app.config'''
Line 34: Line 39:
**This comes up, click Yes
**This comes up, click Yes
[[Image:QESTNET Service 2.jpg]]
[[Image:QESTNET Service 2.jpg]]
*In Visual Studio, right-click the '''GenerateDataSchema.ps1''' file under QESTNET.Sessions.Lab\QESTLab.Data\Entities and select Open With
**Click add new program (“Add...”)
**Enter the PowerShell Executable (C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell_ise.exe)
**Click OK?
**Click “set as default” on the open with window.
**Click OK.
The file can now be run using PowerShell by double clicking on it in Visual Studio. Run this file.
=====Build QESTLab.Data=====
The first time QESTLab.Data is built on a machine or if the bin is cleaned out for the project the following steps will need to be done. This is due to a circular reference that exists in QESTLab.Data. The QESTLab_Data_Views.tt references the QESTLab.Data.dll which is built using the QESTLab_Data_Views.tt output.
*Exclude '''QESTLab_Data_Views.tt''' from the QESTLab.Data project
** Right-click file name and select to exclude it from the menu.<br>[[Image:QESTNet_Build_Fugro_Exclude.png]]
*Build QESTLab.Data project
*Include '''QESTLab_Data_Views.tt'''. If you cannot see this file, click the "Show All Files" button on the Solution Explorer toolbar.
*Right click '''QESTLab_Data_Views.tt''' and select '''Run Custom Tool'''
*Build QESTLab.Data project.
=====Update QESTLab.Data Schema=====
The following steps will update the QESTLab.Data schema to match the QESTLab database structure
*Run '''GenerateDataSchema.ps1'''
*Build QESTLab.Data project
*Right click '''QESTLab_Data_Views.tt''' and select Run Custom Tool
*Build QESTLab.Data project.
It is on the "to do" list to get the PowerShell script to do all the last three steps as well. This was initially a one click operation but no one can stop the inexorable march of progress.


=====Build QESTNET=====
=====Build QESTNET=====
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
*Build the solution. If there are only errors which start "The command mkdir and end with "NET START QESTNET exited with code 2.", continue on to the next step. Any other errors will need to be fixed before continuing.
*Build the solution. If there are only errors which start "The command mkdir and end with "NET START QESTNET exited with code 2.", continue on to the next step. Any other errors will need to be fixed before continuing.
**Errors in QESTNET.Custom are usually due to projects related to other customer's databases being compiled. Right click any Custom projects unrelated to the current customer's database you are connected to and select "Unload Project".
=====Create QESTNET Service=====
=====Create QESTNET Service=====
*Run '''~\qestnet\QESTNET\install_qestnet_debug.bat'''. This will create a QESTNET windows service on your machine.
*Run '''~\qestnet\QESTNET\install_qestnet_debug.bat'''. This will create a QESTNET windows service on your machine.
Line 76: Line 55:
=====Rebuild QESTNET=====
=====Rebuild QESTNET=====
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
*Open '''~\qestnet\QESTNET\QESTNET.sln'''
*Unload non-Fugro projects
**Highlight all non-Fugro Projects under '''QESTNET.Custom''', right-click and '''Unload Projects'''<br>[[Image:QESTNet_Build_Fugro_UnloadNonFugroProjects.png]]
*Build the solution. If there are no errors the QESTNET service has been successfully built and the service restarted.
*Build the solution. If there are no errors the QESTNET service has been successfully built and the service restarted.

Latest revision as of 04:48, 15 July 2016

QESTNET 4.3

QESTNET Repository

Complete the following steps within GitHub to fetch the QESTNET repository:

  • Change the directory to your root GitHub folder (eg. cd /c/dev)
  • Clone the qestnet repository (git clone git@github.com:spectraqest/qestnet.git).
  • Change the directory to the new qestnet folder (cd qestnet/)
  • Fetch the branch to be used for development (git fetch origin branch_name).
  • Checkout the branch (git checkout branch_name).
App Configuration

Config files often have ever changing information specific to your setup in them. As such files with extension .config are ignored by git. See .gitignore files for other files git will ignore. All config files have an associated default file. e.g., app.config has app.config.default. This will give a new setup a starting template. If you add additional configuration properties make sure the .default file is updated as this is the only one committed to git.

  • Run the batch file ~\qestnet\QESTNET\copy_default_config.bat
  • The batch file will go through the qestnet repository and create .config files from the .default files.
Unhandled Login Fault Exception
  • Open ~\qestnet\QESTNET\QESTNET.sln
  • Go to Debug > Exceptions
    • Find System.ServiceModel.FaultException`1
    • Uncheck User-unhandled.
      This will stop the debugger breaking on a fault exception catch every time you login. It is on a "to do" list somewhere to fix... really I (DL) promise.
Pre-Requisites
  • Microsoft Powershell 3 must be installed before continuing this process.
    • If the installed version of Powershell is wrong, build errors will occur in Castle.Core.dll and Castle.Windsor.dll
    • A restart of the computer will be needed after updating to Powershell 3.
  • A database upgrade is required for QESTNet 4.3 to run. The database used must be updated with a version 1.x or 2.x version of the QNU before updating with a 3.x version of the tool.
QESTLab Configuration Setup
  • Open ~\qestnet\QESTNET\QESTNET.sln
    • Open the app.config file in the project QESTNET.Service\QESTNET.
    • Edit the QESTLab_Data connection string to point to the QESTLab database you want to connect to.

      <add name="QESTLab_Data" connectionString="metadata=res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.csdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.ssdl|res://*/Spectra.QESTLab.Data.Entities.QESTLabModel.msl;provider=System.Data.SqlClient;provider connection string="data source=ADLD0031;initial catalog=fugro_20150320_qestlab;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />

    • Furthermore, set the following to true in the app.config for at least the first run to verify the structure of your database is correct.

      <add key="verifyDatabase" value="True" />

  • Open ~\qestnet\QESTNET\QESTNET.Service\QESTNET\app.config
  • Open ~\qestnet\QESTNET\QESTNET.Service\QESTNET.Sessions\app.config
  • Open ~\qestnet\QESTNET\QESTNET.Custom\QESTNET.Custom.Fugro.DataBackbone.Tests\app.config
  • Open ~\qestnet\QESTNET\QESTNET.Sessions.Lab\Tester\app.config
    • Check or change the storage location.

      <add key="fileStorePath" value="C:\NEEDSTOEXIST" />

  • Open the program Windows PowerShell ISE with Administrator rights.
    • Enter set-executionpolicy remotesigned into the console
    • This comes up, click Yes

Build QESTNET
  • Open ~\qestnet\QESTNET\QESTNET.sln
  • Build the solution. If there are only errors which start "The command mkdir and end with "NET START QESTNET exited with code 2.", continue on to the next step. Any other errors will need to be fixed before continuing.
Create QESTNET Service
  • Run ~\qestnet\QESTNET\install_qestnet_debug.bat. This will create a QESTNET windows service on your machine.
    • The batch file assumes naively that InstallUtil.exe is installed at "C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe". If it is not, you will need to change the batch file to suit your local machine. Do not commit these changes.
  • Open Services from the control panel.
  • Right click the QESTNET service and select properties. Change the Log On permissions to your account ("sqaus\your.name") or the windows NETWORK SERVICE account. If you use the NETWORK SERVICE account you will need to ensure it has the necessary permissions to ports and files the qestnet service will use.
  • Start the service



  • Check that the service is running. If the service is not running check the Event Viewer logs to determine why.
Rebuild QESTNET
  • Open ~\qestnet\QESTNET\QESTNET.sln
  • Build the solution. If there are no errors the QESTNET service has been successfully built and the service restarted.