Generate Documentation
CIIDCIID-ReportsG3GitHub
  • Introduction to Generate
  • User Guide
    • Getting Started
      • Requesting Generate
      • User Roles and Logging In
      • Navigating Generate
    • Resources
    • Data Population Summary
      • Producing Reports
      • Reports
      • Running Reports
    • Standard Reports
      • EDFacts Reports
        • Creating Submission Files
      • SPP/APR Reports
      • Reports Library
    • Settings
      • Toggle
      • Update
      • Metadata
      • Data Migration
    • Quality Assurance
    • Support
  • Developer Guides
    • Getting Started
    • Installation
      • OAuth Configuration
      • Configuring Metadata Updates
      • Subfolder configuration
      • Optional Installations
      • Azure Installation Guide
      • Upgrade
        • Generate Update
        • Optional Installations
    • Migration
      • Fact Type Table
        • Assessment Fact Type
        • Child Count Fact Type
        • Directory Fact Type
        • Discipline Fact Type
        • Exiting Fact Type
        • Membership
        • Staff
    • Generate Utilities
      • File Comparison
        • Loading Files
        • Run the File Comparison
        • Reviewing Results
        • Researching Mismatches
      • Staging Validation
        • Staging Table Validation Process
      • Rebuild Indexes
      • Cleanup Grades Offered
      • Cleanup Debug Tables
      • Source System Reference Data Mapping Utility
        • Source System Reference Data
      • Staging Table Snapshot
      • Fact Type Table Validation Process
      • Debug Views for Staging and the Fact tables
    • Generate Architecture
    • GitHub Guide
    • Discord Guide
    • Working With Generate Code
      • Migration Stored Procedures
        • Staging.RUN_DMC
        • RDS.Get_MembershipReportData
        • Staging.Staging-to-DimPeople
        • Staging.Staging-To-DimPeople_K12Students
        • Staging.Staging-to-FactK12ProgramParticipations
        • Staging.Staging-To-FactK12SeclusionsOrRestraints
        • Staging.Staging-to-FactK12StudentCounts_ChildCount
        • Staging.Staging-to-FactK12StudentCounts_Chronic
        • Staging.Staging-to-FactK12StudentCounts_Dropout
        • Staging.Staging-to-FactK12StudentCounts_GraduationRate
        • Staging.Staging-to-FactK12StudentCounts_Homeless
        • Staging.Staging-to-FactK12StudentCounts_HSGradPSEnroll
        • Staging.Staging-to-FactK12StudentCounts_Membership
        • Staging.Staging-to-FactK12StudentCounts_MigrantEducationProgram
        • Staging.Staging-to-FactK12StudentCounts_NeglectedOrDelinquent
        • Staging.Staging-to-FactK12StudentCounts_SpecEdExit
        • Staging.Staging-to-FactK12StudentCourseSections
        • Staging.Staging-to-FactK12StudentDisciplines
        • Staging.Staging-to-FactK12StudentEnrollments
        • Staging.Staging-To-FactSpecialEducation
      • Unit Test By File Spec
        • App.DimK12Staff_TestCase
        • App.DimK12Students_TestCase
        • App.FS002_TestCase
        • App.FS005_TestCase
        • App.FS006_TestCase
        • App.FS007_TestCase
        • App.FS009_TestCase
        • App.FS032_TestCase
        • App.FS033_TestCase
        • App.FS040_TestCase
  • Release Notes
    • Introduction
    • Release Notes 12.4
    • Release Notes 12.3
    • Release Notes 12.2
    • Release Notes 12.1
    • Archive
      • Release Notes 12.0
      • Release Notes 11.4
      • Release Notes 11.3
      • Release Notes 11.2
      • Release Notes 11.1
      • Release Notes 11.0
      • Release Notes 5.3
        • Generate 5.3 Office Hour
      • Release Notes 5.2
        • Generate 5.2 Office Hour
      • Release Notes 5.1
        • Generate 5.1 Office Hour
      • Release Notes 5.0
        • Generate 5.0 Office Hour
      • Release Notes 4.1
      • Release Notes 4.0
      • Release Notes 3.8
      • Release Notes 3.7
      • Release Notes 3.6
      • Release Notes 3.5
      • Release Notes 3.4
      • Release Notes 3.3
      • Release Notes 3.2
      • Release Notes 3.1
      • Release Notes 3.0
      • Release Notes 2.4
    • Release Notes 12.3
  • Hot Fixes
    • Hot Fix - 4/13/2023
Powered by GitBook
On this page
  • System Requirements
  • Installation Steps
  • Update
  • Database Server
  • Web Server
  • Web Application
  • Background Application
  • Permission Changes
  • Active Directory (AD)
  • Final Steps

Was this helpful?

Edit on GitHub
  1. Developer Guides

Installation

System Requirements

Web Server:

Database Server:

Installation Steps

Update

Database Server

  1. Create an empty database called “generate” in SQL Server.

  2. Create a SQL login called “generate”.

  3. Using the Generate database backup file for this version (generate_x.x.bak where x.x is the version number), restore to the new empty “generate” database. This backup file was created from SQL Server 2012 R2. If you are using a newer version of SQL Server and encounter difficulty with this restore, a newer version of the backup file can be provided.

  4. Please note, the database contained within the backup file is called “generate-test”. Please make sure to restore to the “generate” database just created.

  5. Restore “db_owner” permissions to the “generate” user on the “generate” database.

Web Server

  1. Ensure IIS is installed.

  2. Ensure all pending Windows Updates are installed.

  3. Install .NET Core Runtime and Hosting Bundle (version 6.0). Installation files can be found here:

    • If the Web Server does not have access to the Internet, install the Microsoft Visual C++ 2015 Redistributable (version 14.0.24212 or newer) prior to the .NET Core Windows Server Hosting bundle.

  4. Execute iisreset at the command line or restart the server to pick up changes to the system PATH.

  5. Install the Application Initialization Module for IIS.

You can find the Application Initialization module via the Server Manager under Server Roles -> Web Server (IIS) -> Web Server -> Application Development -> Application Initialization.

This is the only item that is required for this installation; any other items This is the only item that is required for this installation; any other items checked in the following screenshot are not necessary and may remain checked or unchecked depending on your environment.

The Web Application will need to be accessible independent of the Background Application. You can achieve this by one of the following methods:

  • Place both applications on the same server but assign different host names to each website.

  • Place both applications on the same server but assign different ports to each website.

  • Place both applications on the same server but assign different IP addresses to each website.

  • Place the web application and background applications on different servers.

Web Application

  1. Extract the contents of “generate.web_x.x.zip” into a temporary directory.

  2. Copy the “generate.web_x.x” folder into a location where you want your web application files to reside.

  3. In IIS, create a website called “generate.web” and point the physical path to the location of the web application files. Leave the application pool set to a new pool called “generate.web”. Adjust the IP Address, Port, and/or Host name as needed for your environment (as mentioned in the Web Server installation steps).

  1. Set the application pool used by the generate.web website to “No Managed Code.”

  1. The application pool used by the Generate website needs to be run under a service account that has access to the Active Directory service. Usually, this account is a domain service account on the network. This can be changed by accessing the Advanced Settings of the newly created application pool.

  1. From that dialog, change the Identity setting under the Process Model section to the domain service account.

  1. Make sure that the Application Pool Identity user account has permission to Create and Modify files in the Updates and Logs directories of the website folder.

  2. Ensure that Anonymous Authentication is "Enabled" on the website.

  1. Open the “appSettings.json” file located in the “Config” directory of the generate.web application folder.

To retain proper formatting, Notepad++ is recommended over Notepad or Wordpad.

  1. Ensure that the “AppSettings.Environment” value is set to “production.”

  2. Replace the values of the SQL Server Connection String keys with values appropriate for the installed environment.

{
“AppSettings”: {
“Environment”: “production”,
“ProvisionJobs”: false,
“ADDomain”: “ETSS.local”,
“ADLoginDomain”: “ETSS”,
“ADPort”: “389”,
“ADContainer”: “CN=Builtin,DC=ETSS,DC=local”,
“UserContainer”: “CN=Users,DC=ETSS,DC=local”,
“ReviewerGroupName”: “CN=Users,CN=Builtin,DC=ETSS,DC=local”,
“AdminGroupName”: “CN=Administrators,CN=Builtin,DC=ETSS,DC=local”,
“BackgroundUrl”: “http://192.168.1.2”,
"BackgroundAppPath": "D:\\Apps\\generate.background"
},
"Data": {
"AppDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;trustServerCertificate=true;MultipleActiveResultSets=true;",
"ODSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;trustServerCertificate=true;MultipleActiveResultSets=true;",
"RDSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;trustServerCertificate=true;MultipleActiveResultSets=true;Connect Timeout=300;"
}
}

The SQL Connection String should be the same for all three connections.

  1. If the connection string contains a backslash (\), it should be escaped with an additional backslash to retain proper JSON syntax.

Background Application

  1. Extract contents of “generate.background_x.x.zip” into a temporary directory.

  2. Copy the “generate.background_x.x” folder into a location where you want your background application files to reside.

  3. In IIS, create a website called “generate.background” and physical path to the location of the background application files. Leave the application pool set to a new pool called “generate. background”. Adjust the IP Address, Port, and/or Host name as needed for your environment (as mentioned in the Web Server installation steps).

  1. Edit the “Advanced Settings” of the generate.background website and make sure the following property is set:

Preload Enabled = True

  1. Edit the “Advanced Settings” of the generate.background application pool and make sure the following properties are set:

.NET CLR Version = v4.0

Start Mode = AlwaysRunning

Idle Time-Out (minutes) = 0

  1. Make sure that the Application Pool Identity user account used by this website has permission to Create and Modify files in the Updates and Logs directories of the application folder.

  2. Ensure that Anonymous Authentication is "Enabled" on the website.

  3. Open the “appSettings.json” file located in the generate.background application folder.

To retain proper formatting, Notepad++ is recommended over Notepad or Wordpad.

  1. Ensure that the “AppSettings.Environment” value is set to “production.”

  2. Replace the values of the SQL Server Connection String keys with values appropriate for the installed environment.

{
"AppSettings": {
"Environment": "production",
"WebAppPath": "D:\\Apps\\generate.web"
},
"Data": {
"HangfireConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
"AppDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=3600;",
"ODSDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;",
"RDSDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;"
}
}

The SQL Connection String should be the same for all four connections.

  1. If the connection string contains a backslash (\), it should be escaped with an additional backslash to retain proper JSON syntax.

{
"AppSettings": {
"Environment": "production",
"WebAppPath": "D:\\Apps\\generate.web"
},
"Data": {
"HangfireConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
"AppDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=3600;",
"ODSDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;",
"RDSDbContextConnection": "Server=192.168.1.1;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;"
}
}
  1. Save and Close the “appSettings.json” file for generate.background.

  2. Open the “appSettings.json” file located in the “Config” directory of the generate.web application folder. Replace the value of the BackgroundUrl and BackgroundAppPath keys with values appropriate for the installed environment. If these keys do not exist in the .json file, please add them.

    • BackgroundUrl refers to the URL of the generate.background application.

{
"AppSettings": {
"Environment": "production", "ProvisionJobs": false, "ADDomain": "ETSS.local", "ADLoginDomain": "ETSS", "ADPort": "389",
"ADContainer": "CN=Builtin,DC=ETSS,DC=local", "UserContainer": "CN=Users,DC=ETSS,DC=local", "ReviewerGroupName": "CN=Users,CN=Builtin,DC=ETSS,DC=local",
"AdminGroupName": "CN=Administrators,CN=Builtin,DC=ETSS,DC=local", "BackgroundUrl": "http://192.168.1.2",
"BackgroundAppPath": "D:\\Apps\\generate.background"
},
"Data": {
"AppDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
"ODSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
RDSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;"
}
}

Permission Changes

For the Auto-Update functionality of Generate to work properly, you must ensure that the following permissions are set on the generate.web and generate.backgound directories:

  • The Application Pool Identity user account used by the generate.background site, must have Create and Modify permissions on the entire generate.web application directory.

  • The Application Pool Identity user account used by the generate.web site, must have Create and Modify permissions on the entire generate.background application directory.

Active Directory (AD)

The AD settings for Generate are configured in the “appsettings.json” file located in the “Config” folder of the web application directory. Please see the following for the configuration settings.

{
"AppSettings": {
"Environment": "production",
"ProvisionJobs": false,
"ADDomain": "ETSS.local",
"ADLoginDomain": "ETSS",
"ADPort": "389",
"ADContainer": "CN=Builtin,DC=ETSS,DC=local",
"UserContainer": "CN=Users,DC=ETSS,DC=local",
"ReviewerGroupName": "CN=Users,CN=Builtin,DC=ETSS,DC=local",
"AdminGroupName": "CN=Administrators,CN=Builtin,DC=ETSS,DC=local", "BackgroundUrl": "http://192.168.1.2",
"BackgroundAppPath": "D:\\Apps\\generate.background"
},
"Data": {
"AppDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
"ODSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;",
"RDSDbContextConnection": "Server=192.168.01.01;Database=generate;User ID=generate;Password=xxxxxxxxxxx;MultipleActiveResultSets=true;Connect Timeout=300;"
}
}

Generate makes use of two groups within Active Directory:

  1. Administrators

  2. Reviewers

Both AD roles must be configured in the AD instance and accessible by Generate. User access is provisioned via normal AD tools by adding or removing these roles to or from the desired users.

Final Steps

  1. Start up the web application in IIS.

  2. Open the website in a web browser to confirm that it loads properly.

Generate is optimized for Chrome, do not use Internet Explorer.

PreviousGetting StartedNextOAuth Configuration

Last updated 6 months ago

Was this helpful?

If you are on version 3.1 or later, take advantage of the automatic update feature in Generate. Directions can be found in the .

Please ensure that the Application Initialization Module for IIS was installed as part of of the installation instructions.

Replace the value of the WebAppPath key with a value appropriate for the installed environment. This should be the physical path of the generate.web application files (specified in of the Web Application installation steps).

BackgroundAppPath refers to the physical path of the generate.background application files (specified in of the Background Application installation steps).

Generate makes use of Active Directory (AD) for authentication and authorization. If an existing installation of AD is not available, Active Directory Lightweight Directory Services (AD LDS) may be installed. For those instructions, please see the AD LDS instructions in the section.

Generate User Guide
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-6.0.11-windows-hosting-bundle-installer
step 10
step 13
step 25
Optional Installations
Graphical user interface, application, Generate
Graphical user interface, application
Graphical user interface, application
Graphical user interface, table
Graphical user interface, text, application
Graphical user interface, application
Graphical user interface, application
Graphical user interface, text, application, email
Graphical user interface, application, table
Graphical user interface