This version of the Ed-Fi Dashboards is no longer supported. See the Ed-Fi Technology Version Index for a link to the latest version.
Getting Started - Installation Steps
- Chris Moffatt (Deactivated)
- Itzel Torres
Overview
This section outlines the steps necessary to download, configure, build, and run the Ed-Fi Dashboards application on a development machine. The Ed-Fi Dashboards configuration described in this document has been tested with the following software configuration:
- Windows 7 Professional (64-bit) and Ultimate (64-bit); Windows Server 2012, or Windows Server 2008 R2 (Windows Server 2008 releases before R2 are not supported)
- Internet Information Services (IIS) 7.5
- Microsoft SQL Server 2012 (Developer Edition or Standard Edition or higher – note that Express Edition is not supported)
- Visual Studio 2010 or 2012 (Professional Edition or higher)
Preparing a development environment to run the dashboards can be summarized as follows:
- Step 1: Install and Configure Windows Components
- Step 2: Install and Configure Required Software
- Step 3: Configure Internet Information Services
- Step 4: Download and Extract the Dashboard Source Code
- Step 5: Prepare the Dashboard Databases
- Step 6: Configure Windows Identity Foundation
- Step 7: Configure Visual Studio 2010 NuGet Settings and Sources
- Step 8: Build and Launch the Dashboards Web Application
Each step is outlined in detail, below.
Step 1: Install and Configure Windows Components
Verify that the following Windows components are installed and configured:
- .NET Framework 4.0 (full install, included with Visual Studio 2010, http://www.microsoft.com/en-us/download/details.aspx?id=17851) or 4.5 (included with Windows 8)
- PowerShell 3.0 (included with the Windows Management Framework 3.0, http://www.microsoft.com/en-us/download/details.aspx?id=34595)
- Internet Information Services (IIS) 7.5
Configure IIS using the Windows Features function. You can launch it by typing Turn Windows features on or off in the Windows Start menu search box, or by opening the Control Panel and navigating to Programs and Features > Turn Windows features on or off. Verify that IIS is configured with the options shown in the figure below.
Note: If you install IIS after Visual Studio 2010, you will need to open up a command prompt, go to %system_root%\Microsoft.NET\Framework\v4.0.30319, and run the following command: aspnet_regiis -i
- Windows 7 SDK for .NET 3.5 SP1 http://www.microsoft.com/en-us/download/details.aspx?id=3138
Note: Uncheck all options except Windows Development Tools.
- Windows Identity Foundation http://www.microsoft.com/download/en/details.aspx?id=17331
For Windows 7 (64-bit), download and install “Windows6.1-KB974405-x64.msu”. For Windows 8, Windows Identity Foundation is a feature that is turned on. More information can be found here.
Step 2: Install and Configure Required Software
If necessary, install the following software components. Ensure the configuration details match the details below:
- Visual Studio 2010/2012 Premium (although Professional edition should suffice)
- Install Visual Studio 2010/2012.
- Check Windows Update for updates for the version of Visual Studio you downloaded.
- Install Visual Studio Extensions (use the Tools > Extension Manager… menu item from within Visual Studio)
- NuGet Visual Studio Extension, (http://nuget.codeplex.com/releases/view/64974). Suggested search term with Extension Manager: “nuget.”
- Razor Generator Extension. Suggested search term with Extension Manager: “Razor Generator”
- ASP.NET MVC 3 http://www.asp.net/mvc/mvc3
- Microsoft SQL Server 2012 (Developer Edition or Standard Edition or higher)
- When prompted select the following features:
- Database Engine Services (replication/text search NOT required).
- Integration Services (to review SSIS packages).
- Management Tools – Complete.
- Use the default instance (MSSQLSERVER).
- Launch the Computer Management program in Windows and create new user accounts called “SQLAgent” and “SQLDBEngine”. The SQL Server installer will then assign the appropriate permissions.
- Choose Mixed mode security (since the application uses a SQL login).
- Specify a password for the sa account.
- In the “Specify SQL Server administrator” click on Add Current User.
- When prompted select the following features:
Step 3: Configure Internet Information Services
Perform the following Internet Information Services (IIS) configuration tasks:
- Configure IIS for secure communications (HTTPS)
- Launch IIS Manager and click on “Server Certificates”:
- In the “Action” panel on the right side of the window, click Open Feature.
- Server Certificates Actions are listed. In the “Action” panel on the right side of the window, click Create Self-Signed Certificate.
- When prompted, enter a friendly name (e.g. “MY-PC”) for the certificate and click OK.
- Back in the IIS Manager window, edit the bindings for the default website to use SSL, as shown below:
Step 4: Download and Extract the Dashboards Source Code
The Ed-Fi source code is contained in three repositories that can be downloaded as ZIP file archives from the Ed-Fi Alliance at github.com (https://github.com/Ed-Fi-Alliance).
- Download the code per the instructions in Getting Started - Downloading the Dashboard Code if the code is not already present.
- In Windows Explorer, right-click on each of the downloaded ZIP files and select Extract All… As shown in the figure below, enter C:\ for the target folder. The ZIP files contain an embedded folder ending in the release version. For example, the Ed-Fi Core ZIP archive contents will be extracted into C:\Ed-Fi-Core-1.3.
- After the extractions are complete, rename the folders to remove the version from the folder names, for example C:\Ed-Fi-Core. When the extraction and renaming is complete, there should be three folders for the dashboard source code as shown below.
Note: If you decide to use a different path be sure to substitute your chosen path where appropriate in the setup instructions throughout this document.
- Extract the sample databases from EdFi-Sample-Databases.zip in C:\Ed-Fi-Samples\Sample Databases. When extraction is complete, the sample databases folder should have four .bak files.
Step 5: Prepare the Dashboard Databases
If you have used the default paths and default instance (MSSQLSERVER) for your Microsoft SQL Server 2012 installation, you can run the following SQL script to prepare the dashboard databases (after making sure the path to the bak file is correct on your system).
USE [master] GO CREATE LOGIN [edfiPService] WITH PASSWORD=N'edfiPService', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO RESTORE DATABASE [EdFi_Dashboard] FROM DISK = N'C:\Ed-Fi-Samples\Sample Databases\EdFi_Dashboard.bak' WITH FILE = 1, MOVE N'EdFi_Dashboard' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EdFi_Dashboard.mdf', MOVE N'EdFi_Dashboard_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EDFI_Dashboard.LDF', NOUNLOAD, STATS = 10 GO USE [EDFI_Dashboard] GO ALTER USER edfiPService WITH login=edfiPService GO USE [master] GO RESTORE DATABASE [EdFi_Application] FROM DISK = N'C:\Ed-Fi-Samples\Sample Databases\EdFi_Application.bak' WITH FILE = 1, MOVE N'EdFi_Application' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EdFi_Application.mdf', MOVE N'EdFi_Application_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EDFI_Application.LDF', NOUNLOAD, STATS = 10 GO USE [EdFi_Application] GO ALTER USER edfiPService WITH login=edfiPService GO USE [master] GO RESTORE DATABASE [EdFi_DashboardDW] FROM DISK = N'C:\Ed-Fi-Samples\Sample Databases\EdFi_DashboardDW.bak' WITH FILE = 1, MOVE N'EdFiAlliance_DashboardDW' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EdFi_DashboardDW.mdf', MOVE N'EdFiAlliance_DashboardDW_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\EDFI_DashboardDW.LDF', NOUNLOAD, STATS = 10 GO USE [EdFi_DashboardDW] GO ALTER USER edfiPService WITH login=edfiPService GO
Alternatively, you can prepare the dashboard databases interactively by following the steps outlined in Appendix A, below.
Step 6: Configure Windows Identity Foundation (WIF)
- Make sure you have installed the Windows Identity Foundation.
- Launch the Microsoft Management Console by selecting Start > Run… > mmc.exe.
- Select File > Add/Remove Snap-in…
- From the list, add the “Certificates” entry and click Add >. When prompted, select Computer Account, click Next, then select the Local computer option, click Finish, then click OK.
- Add the STSTestCert certificate to your local machine:
- From the Console Root, navigate to the Certificates (Local Computer) > Personal > Certificates folder.
- Right-click on the Certificates node and select All Tasks > Import… Click Next.
- Locate the “STSTestCert.pfx” file in the C:\Ed-Fi-Apps\logistics\certificates folder.
- Change the File Types selection on the dialog to Personal Information Exchange in order to see *.pfx files.
- Select file, and click Next.
- When prompted for a password to access the certificate file, leave it empty as the certificate does not have a password, and click Next.
- Follow the default path and click Next until you can click Finish.
- Grant Read access to the IIS_IUSRS group by right clicking on the “STSTestCert” entry in the list and selecting the All Tasks > Manage private keys… menu item.
- If IIS_IUSRS group is not listed in "Groups or user names," click Add..., enter "iis_iusrs", click OK.
- The following step is only appropriate for a development workstation, and for test purposes only. Repeat the steps above to also import the STSTestCert into the Certificates (Local Computer) > Trusted Root Certificate Authorities > Certificates folder. This step allows the Dashboards website to trust the certificate used to sign the security tokens issued by the STS web application.
Step 7: Configure Visual Studio 2010/2012 NuGet Settings and Sources
The Ed-Fi-powered Dashboards source code references customized libraries distributed as NuGet (http://nuget.org/) packages via a Myget.org feed. You must make some changes to your Visual Studio NuGet settings prior to building the solution. This will enable the NuGet package to restore “missing” dependencies when building the software.
- The setting to “Allow NuGet to download missing packages during build” is disabled by default and must be enabled. In Visual Studio, select Tools > Library Package Manager > Package Manager Settings > General, and make sure the checkbox is selected, as shown below.
- Select the “Package Sources” node in the tree of the Options dialog, or from within Visual Studio, select Tools > Library Package Manager > Package Manager Settings > Package Sources.
- In the NuGet package source settings dialog, un-check the default NuGet official package source and add a new package source to the Ed-Fi Myget URL (which includes the default nuget.org source, http://www.myget.org/F/d10f0142ad50421a8938b3a9e49977b4/).
Step 8: Build and Launch the Dashboards Web Application
- Open the C:\Ed-Fi-Apps\Application\EdFi.sln file in Visual Studio 2010/2012 (with UAC off or with Administrator privileges).
- The first time the solution is opened, you may be prompted to create the virtual directories for the application and for the Security Token Service website. If so, click Yes on both dialogs to automatically create the virtual directories.
- After the EdFiDashboardDev virtual folder has been created in IIS, set the website’s application pool to load user profiles so that the WIF Security Token Service token can be decrypted properly.
- Set the application pool used for both web applications to ASP.NET V4.0 (or higher):
- Ensure the Load User Profile value for the application pool is set to true (or the web application won’t be able to access the certificate needed to validate the security token received from the STS):
- Set the application pool used for both web applications to ASP.NET V4.0 (or higher):
- Back in Visual Studio, click on Build > Rebuild Solution.
- Next right click on the EdFi.Dashboards.Presentation.Web project in Solution Explorer, and select the Set as StartUp Project menu item.
- Launch the debugger (F5 on most Visual Studio keyboard configurations).
- You will probably see a certificate error similar to the following, depending on your browser. Click the option to Continue.
- You should now see the website’s home page. Click on the Grand Bend ISD link and then on the resulting web page, click Log In to the Dashboards.
- When prompted to log in, type "DavidWilson" for the user name, and anything for the password (except an empty string or the text “wrong-password”). You are logging in as Grand Bend ISD’s Superintendent. You can also log in as the following:
- "AlisaCameron" which is an account that maps to a Principal at Grand Bend High School.
- "TrentNewton" which is an account that maps to a Mathematics Teacher at Grand Bend High School.
- "KurtMcCarthy" which is an account that maps to an IT Administrator for Grand Bend ISD.
- If everything has been configured correctly, you should now see the Grand Bend ISD Overview page.
Appendix A: Prepare Dashboard Databases Interactively
Launch Microsoft SQL Management Studio, and perform the following tasks:
NOTE: The SQL service account must have “Read” permissions to the folder where the bak file resides, or you will receive an error.
- Create the SQL login edfiPService by executing the following script:
USE [master] GO CREATE LOGIN [edfiPService] WITH PASSWORD=N'edfiPService', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO
- Restore the Dashboard Database (EdFi_Dashboard) from the backup file located at C:\Ed-Fi-Samples\Sample Databases\EdFi_Dashboard.bak.
- Associate the edfiPService database user with the “edfiPService” SQL Server login in the EdFi_Dashboard database by executing the following script:
USE EdFi_Dashboard GO ALTER USER edfiPService WITH login = edfiPService GO
- Restore the Application Database (EdFi_Application) from the backup file C:\Ed-Fi-Samples\Sample Databases\EdFi_Application.bak.
- Associate the “edfiPService” database user with the “edfiPService” SQL Server login in the EdFi_Application database by executing the following script:
USE EdFi_Application GO ALTER USER edfiPService WITH login=edfiPService GO
- Restore the Dashboard Historical Database (EdFi_DashboardDW) from the backup file at C:\Ed-Fi-Samples\Sample Databases\EdFi_DashboardDW.bak.
- Associate the edfiPService database user with the edfiPService SQL Server login in the EdFi_DashboardDW database:
USE EdFi_DashboardDW GO ALTER USER edfiPService WITH login=edfiPService GO