Benchmark Citation Windows Service
Developer Reference Guide
Overview
A standalone Windows service that retrieves citation data from one or more configured DAOs. This is the same Citation Service processor that is in use with the “combo” PTG Citation Service. Running the standalone “Benchmark” services instead of the PTG “combo” service allows customers to control the services independently if installed on the same server or to only install standalone services they may actually be using.
Citation data may be imported via FTP, fileshare, or web service depending on the given DAO.
Solution
$/Court/Dev/Dev/source/Service/CitationDataReader.sln
Main Project
BenchmarkCitationService
Deployment Project
BenchmarkCitationServiceSetup
Build Repository
\\ptg-server1\Software\Downloads\Product\Benchmark\Services\BenchmarkCitationService
Logging
Logs to tblServiceLog with ServiceName “Citation Service”.
May log to the Event Log on the hosting machine for errors that do not make it to the database.
select top 100 * from tblServiceLog (nolock)
where ServiceName = 'Citation Service'
order by ServiceLogID desc
Building and Packaging a Release
None of the Benchmark Windows services are being built by the build server due to complications with the setup project being used there. Follow the directions below to prepare, build, and package a Benchmark Citation Service release.
Update the Service and Installer Versions
Update the Service’s Assembly Info Version
Locate the “AssemblyInfo.cs” file in the “Properties” folder of the “BenchmarkCitationService” project.
Open the “AssemblyInfo.cs” file for editing.
It is a good idea to check that the copyright company and year in the file are current when you’re updating for a forthcoming build. If necessary, update the company and copyright details.
Locate the “AssemblyVersion” and “AssemblyFileVersion” fields at the end of the file and update the version as appropriate. Remember that with our Windows services, we’re leaving the last version identifier field as “0” as the installer will only reflect three levels of version identification.
Update the Setup Project Version
Locate the “BenchmarkCitationServiceSetup” setup project.
Right-click on the project and select the “Check Out for Edit…” option from the menu. The setup project will not allow you to update the version information without checking out the project first.
With “BenchmarkCitationServiceSetup” still selected in the Solution menu, click on the “Properties” tab at the bottom of the “Solution Explorer” panel.
In the listed properties, locate and update the “Version” value to the desired value.
Visual Studio will prompt you asking if you would like to update the “ProductCode” automatically too. If you agree to update the “ProductCode” value, Visual Studio will update to a new GUID value.
Check in your version update changes.
Building the Release
Be sure that the build mode in Visual Studio is set to “Release”.
Locate the “BenchmarkCitationServiceSetup” setup project.
Right-click on the project and select the “Build” option from the menu.
After the build completes and packages successfully, right-click on the project again and select the “Open Folder in File Explorer” option.
Open the “Release” folder.
The “Release” folder will contain the .msi and setup.exe files to be packaged in the service release.
Packaging the Release
Navigate to the build repository or “Downloads” folder for Benchmark Citation Service releases.
\\ptg-server1\Software\Downloads\Product\Benchmark\Services\BenchmarkCitationService
Create a folder for the new release.
Copy the “1_SQLUpdateScripts”, ”CitationTemplate”, and “Documentation” folders from the most recent release folder.
Create the “2_ServiceUpdate” folder.
Place the updated .msi and setup.exe files in this “2_ServiceUpdate” folder.
If there have been any schema changes since the last BenchmarkCitationService release, copy the 1_UpdateClientTableSchema file from the latest BenchmarkClient release into “1_SQLUpdateScripts” and delete the old sql file.