Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Similar documents
Developing Microsoft Azure Solutions

VMware AirWatch Database Migration Guide A sample procedure for migrating your AirWatch database

Course Outline. Introduction to Azure for Developers Course 10978A: 5 days Instructor Led

VMware AirWatch Integration with RSA PKI Guide

Dell Wyse Management Suite. Version 1.1 Migration Guide

Administering a SQL Database Infrastructure (M20764)

Course Outline: Course 50466A: Windows Azure Solutions with Microsoft Visual Studio 2010

Azure Development Course

Deccansoft Software Services

Developing Microsoft Azure Solutions (70-532) Syllabus

VMware AirWatch Integration with SecureAuth PKI Guide

Hands-On Lab. Windows Azure Virtual Machine Roles. Lab version: Last updated: 12/14/2010. Page 1

SQL Server Course Administering a SQL 2016 Database Infrastructure. Length. Prerequisites. Audience. Course Outline.

Workspace ONE UEM Integration with RSA PKI. VMware Workspace ONE UEM 1810

Azure Application Deployment and Management: Service Fabric Create and Manage a Local and Azure hosted Service Fabric Cluster and Application

VMware vrealize Configuration Manager Backup and Disaster Recovery Guide vrealize Configuration Manager 5.8

VMware Horizon Session Recording Fling:

Perceptive TransForm E-Forms Manager

BROWSER-BASED SUPPORT CONSOLE USER S GUIDE. 31 January 2017

RED IM Integration with Bomgar Privileged Access

AirWatch Mobile Device Management

Developing Microsoft Azure Solutions (70-532) Syllabus

Status Web Evaluator s Guide Software Pursuits, Inc.

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

Version Installation Guide. 1 Bocada Installation Guide

Personal vdisk Implementation Guide. Worldwide Technical Readiness

1. ECI Hosted Clients Installing Release 6.3 for the First Time (ECI Hosted) Upgrading to Release 6.3SP2 (ECI Hosted)

APAR PO06620 Installation Instructions

EMS DESKTOP CLIENT Installation Guide

Ansible Tower Quick Setup Guide

vcenter CapacityIQ Installation Guide

Installation Manual. Fleet Maintenance Software. Version 6.4

NETWRIX GROUP POLICY CHANGE REPORTER

INSTALLATION GUIDE Spring 2017

Setting Up Resources in VMware Identity Manager (SaaS) Modified 15 SEP 2017 VMware Identity Manager

KYOCERA Net Admin Installation Guide

Azure for On-Premises Administrators Practice Exercises

Using the VMware vrealize Orchestrator Client

Setting Up Resources in VMware Identity Manager. VMware Identity Manager 2.8

Setting Up Resources in VMware Identity Manager (On Premises) Modified on 30 AUG 2017 VMware AirWatch 9.1.1

Perceptive TransForm E-Forms Manager 8.x. Installation and Configuration Guide March 1, 2012

Microsoft Windows Servers 2012 & 2016 Families

VMware vrealize Operations for Horizon Installation. VMware vrealize Operations for Horizon 6.5

User Guide. 3CX CRM Plug-in for Zendesk. Version

ms-help://ms.technet.2004apr.1033/win2ksrv/tnoffline/prodtechnol/win2ksrv/howto/efsguide.htm

IQSweb Installation Instructions Version 5.0

Windows Azure Solutions with Microsoft Visual Studio 2010

Installation Guide for Pulse on Windows Server 2012

Dell Wyse Management Suite. Version 1.3 Migration Guide

KYOCERA Net Admin User Guide

NetBackup Collection Quick Start Guide

VMware Mirage Web Manager Guide

NBC-IG Installation Guide. Version 7.2

Setting Up Resources in VMware Identity Manager

Click Studios. Passwordstate. Remote Session Launcher. Installation Instructions

Administering a SQL Database Infrastructure Microsoft Official Curriculum (MOC 20764)

BlackBerry Enterprise Server for Microsoft Office 365. Version: 1.0. Administration Guide

AD Sync Client Install Guide. Contents

VMware vrealize Operations for Horizon Installation

CHAPTER2 UNDERSTANDING WINDOWSAZURE PLATFORMARCHITECTURE

VMware AirWatch Certificate Authentication for EAS with NDES-MSCEP

RSA SecurID Ready Implementation Guide. Last Modified: December 13, 2013

EMS Platform Services Installation & Configuration Guides

ControlPoint. Advanced Installation Guide. September 07,

20533B: Implementing Microsoft Azure Infrastructure Solutions

VMware vrealize Operations for Horizon Installation. VMware vrealize Operations for Horizon 6.3

Using the VMware vcenter Orchestrator Client. vrealize Orchestrator 5.5.1

Welcome to the. Migrating SQL Server Databases to Azure

JMP to LSAF Add-in. User Guide v1.1

Copyright 2017 Softerra, Ltd. All rights reserved

VMware View Upgrade Guide

enicq 6 Installation Guide

Workspace ONE UEM Upgrade Guide

About This Guide... 5 Installing P6 Professional... 7 Database Client Software... 7 Oracle Database Client Software... 7

DSS User Guide. End User Guide. - i -

<Partner Name> <Partner Product> RSA SECURID ACCESS Implementation Guide. Pulse Connect Secure 8.x

Installation Guide Worksoft Certify

SC-T35/SC-T45/SC-T46/SC-T47 ViewSonic Device Manager User Guide

Using the vrealize Orchestrator Operations Client. vrealize Orchestrator 7.5

EDB Postgres Enterprise Manager EDB Ark Management Features Guide

Installation Guide. 3CX CRM Plugin for ConnectWise. Single Tenant Version

EventTracker Upgrade Guide. Upgrade to v9.0

Policy Manager for IBM WebSphere DataPower 7.2: Configuration Guide

Sabre Customer Virtual Private Network Launcher (SCVPNLauncher)

JIRA Integration Guide

Authentication Services ActiveRoles Integration Pack 2.1.x. Administration Guide

M i c r o s o f t S Q L S e r v e r I n s t a l l a t i o n G u i d e for A D S S S e r v e r

Installation Guide - Mac

Integrate Microsoft Office 365. EventTracker v8.x and above

TIBCO LiveView Web Getting Started Guide

VMware AirWatch Certificate Authentication for EAS with ADCS

EDB Postgres Enterprise Manager EDB Ark Management Features Guide

Allscripts Developer Program

December P Xerox FreeFlow Core Installation Guide

Installing and Configuring System Center 2012 Operations Manager SCOM

Microsoft Office Groove Server Groove Manager. Domain Administrator s Guide

Workspace ONE UEM Certificate Authority Integration with JCCH. VMware Workspace ONE UEM 1810

MET/TEAM 2.2 AND MET/CAL 9.1 UPDATE

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.

MITEL. Live Content Suite. Mitel Live Content Suite Installation and Administrator Guide Release 1.1

Transcription:

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview January 2015 2014-2015 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark of the Ed-Fi Alliance, LLC. For the latest information about the Ed-Fi Alliance visit our website at www.ed-fi.org.

Contents Introduction... 2 Audience... 2 Prerequisites... 2 Tested Configurations... 3 Overview: The Ed-Fi ODS API Setup... 3 Step 1: Install and Configure Windows Components... 4 Step 2: Install and Configure Required Software... 4 Visual Studio 2013... 4 Microsoft SQL Server 2012... 6 Microsoft Message Queue Server Core... 6 Step 3: Download the Ed-Fi ODS Source Code... 7 Step 4: Prepare the Development Environment... 9 Configure MSBuild... 9 Option 1: Setting MSBuildDisableNodeReuse Globally... 10 Option 2: Setting MSBuildDisableNodeReuse per Command Prompt Session... 11 Restore Any Missing NuGet Packages... 11 Create SQL Logins... 13 Initialize PowerShell Scripts for Development... 13 Install a Development Certificate... 15 Initialize the Development Environment... 16 Step 5: Build the Visual Studio Solution... 17 Option 1: Build from the Developer Command Prompt... 18 Option 2: Build from within Visual Studio... 18 Step 6: Set the Startup Projects... 19 Step 7: Run the Ed-Fi ODS API... 21 The Ed-Fi ODS API Home Page... 21 The Sandbox Administration Portal... 23 Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview i

The Ed-Fi ODS API Documentation Web Page... 24 Allowing Unit Tests... 25 Providing Feedback... 26 Appendix A: Ed-Fi ODS API Databases... 27 Appendix B: Creating a Developer Certificate... 28 Appendix C: Windows Azure... 28 Windows Azure SDK Installation... 29 Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview ii

Introduction This document outlines the steps necessary to download, configure, and deploy the Ed-Fi ODS (Operational Data Store) and Ed-Fi ODS API (Application Programming Interface). The Ed-Fi ODS API enables applications to read and write education data stored in an Ed-Fi ODS through a secure REST interface. The Ed-Fi ODS API supports both transactional and bulk modes of operation. The Ed-Fi ODS and Ed-Fi ODS API are technical components of the Ed-Fi Implementation Suite. Audience This document is for technical professionals who work with educational data including business analysts, database administrators, and software developers. 1 Prerequisites Familiarity with the following technologies is required for installing and configuring the software components: Microsoft Windows (installation and configuration) PowerShell Visual Studio 2013 (Professional Edition or higher) o ASP.NET MVC 4/ C# o NuGet (Package Manager) 1 You need to be a licensee of Ed-Fi technology, with access to the Ed-Fi repository on GitHub, in order to download and work with the Ed-Fi ODS 2.0 and the Ed-Fi ODS API 2.0. Licensing information is available at http://www.ed-fi.org/ed-fi-solution-works/license. If you are an Ed-Fi licensee, and need to get access to the Ed-Fi repository, please send an email that includes your GitHub username to info@ed-fi.org. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 2

Microsoft SQL Server 2012 o SQL Server Management Studio (SSMS) Tested Configurations The Ed-Fi ODS API configuration described in this document has been tested with the following software configurations: Windows 7 Professional (64-bit) and Ultimate (64-bit), Windows Server 2012, or the Microsoft Azure development fabric Microsoft SQL Server 2012 (Developer Edition or Standard Edition) 2 Visual Studio 2013 with Update 3 (Professional Edition or higher) Overview: The Ed-Fi ODS API Setup The steps required to prepare and load the Ed-Fi ODS and Ed-Fi ODS API can be summarized as follows: 1. Install and configure Windows components 2. Install and configure required software 3. Download the Ed-Fi ODS source code 4. Prepare the development environment 5. Build the Visual Studio solution 6. Set the startup projects 7. Run the Ed-Fi ODS API 2 Express Edition is NOT supported. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 3

Step 1: Install and Configure Windows Components Verify that the following Windows components are installed and configured:.net 4.5 Framework (full install, included with Visual Studio 2013) http://msdn.microsoft.com/en-us/library/5a4x27ek(v=vs.110).aspx IIS Express (included with Visual Studio 2013) PowerShell 3.0 (included with the Windows Management Framework 3.0) http://www.microsoft.com/en-us/download/details.aspx?id=34595 Microsoft Message Queue (MSMQ) (Windows feature included in all versions of Windows 7/8 and Windows Server 2008+) Step 2: Install and Configure Required Software Install the three following software components: Visual Studio 2013 (Professional or Premium Edition) Microsoft SQL Server 2012 with Service Pack 2 (Developer Edition, Standard Edition, or Enterprise Edition) Microsoft Message Queue (MSMQ) Server Core Windows Azure SDK Installation details and configuration procedures for these software components are described below. Visual Studio 2013 In addition to a base installation of Visual Studio 2013 (Professional or Premium Edition), the following components must be installed and configured: Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 4

1. Install Visual Studio 2013 SDK (http://www.microsoft.com/en-us/download/details.aspx?id=40758). 2. Install Modeling SDK for Microsoft Visual Studio 2013 (http://www.microsoft.com/enus/download/details.aspx?id=40754). 3. Install Microsoft SQL Server 2012 Data-Tier Application Framework (http://www.microsoft.com/en-us/download/details.aspx?id=39976). 4. Check the Visual Studio start page for Visual Studio 2013 updates (currently at Update 3). 5. Check Windows Update for updates to VS 2013. 6. Add the following Nuget feed as an available package source (Visual Studio->Tools- Nuget Package Manager->Package Manager Settings->Package Sources): https://www.myget.org/f/ed-fi/. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 5

Microsoft SQL Server 2012 In addition to a base installation of Microsoft SQL Server 2012 (Developer Edition, Standard Edition, or Enterprise Edition), the following components must be installed and configured. In SQL Server 2012 setup: 1. When prompted, select the following features: Database Engine Services (Replication/text search/data quality services are NOT required.) SQL Server Data Tools Management Tools Complete 2. Use the default instance ( MSSQLSERVER ). 3. Select SQL Server and Windows Authentication Mode. 4. In the Specify SQL Server administrator, click on Add Current User. Microsoft Message Queue Server Core The MSMQ Server Core must be installed and configured. 1. From the Control Panel Programs Programs and Features control panel select the Turn Windows features on or off menu. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 6

2. Select the Microsoft message Queue (MSMQ) Server Core option as shown below. 3. Press OK to confirm installation of MSMQ. Windows Azure SDK The solution currently has dependencies on Azure SDK even if it is not used as a deployment option. Details on how to install it are provided in Appendix C. Step 3: Download the Ed-Fi ODS Source Code The Ed-Fi ODS source code is contained in three Ed-Fi repositories located at github.com (https://github.com/ed-fi-alliance). The repositories are: Ed-Fi-Common Ed-Fi-ODS Ed-Fi-ODS-Implementation Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 7

Follow these steps to download each of the repository archives and then extract them: 1. Navigate to https://github.com/ed-fi-alliance/ed-fi-common, https://github.com/ed- Fi-Alliance/Ed-Fi-ODS, and https://github.com/ed-fi-alliance/ed-fi-ods- Implementation, downloading each of the repository archives to your local drive. 2. In Windows Explorer, right-click each of the downloaded ZIP files and select Properties. On the General tab, press the Unblock button to allow the contents of the contained scripts to execute properly. 3. In Windows Explorer, right-click on each of the downloaded ZIP files and select the Extract All menu item. Enter C:\ for the target folder. The ZIP files contain an embedded folder ending in -master or -development. For example, the Ed-Fi ODS ZIP archive contents will be extracted into C:\Ed-Fi-ODS-development. 4. After the extractions are complete, rename the folders to remove the -master or - development from the folder names. For example, change C:\Ed-Fi-ODS-master to Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 8

C:\Ed-Fi-ODS. 3 When the extraction and renaming is complete, there should be three folders for the dashboard source code as shown below. Step 4: Prepare the Development Environment Preparing the development environment involves the following procedures (which are discussed below): Configure MSBuild Restore any missing NuGet packages Create SQL logins Initialize PowerShell scripts for development Install a development certificate Initialize the development environment Configure MSBuild Because packages compiled from some of the projects are used during the code generation of later projects, there is a potential for earlier packages to be locked if the solution is recompiled in rapid succession. This is due to the way that 3 If you decide to use a different path be sure to substitute your chosen path where appropriate in the setup instructions throughout this document. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 9

MSBuild caches build processes to minimize compile time by default. Build processes are normally held for reuse for approximately 10 minutes. To turn off this default behavior when compiling in Visual Studio, the MSBuildDisableNodeReuse variable must be set. There are two options for setting this variable: Setting the variable globally Setting the variable per command prompt session Both options tell the compiler to create a new process for each build job. As a side effect, this action also releases any resources that may be held by inactive compiler processes. If these settings are not applied, Visual Studio or MSBuild may lock resources during build. Restarting Visual Studio, or the command prompt session, will resolve the problem for the first build after the restart. Waiting for up to 15 minutes between builds will also achieve this. The options for setting this variable are described below: Option 1: Setting MSBuildDisableNodeReuse Globally To set the MSBuildDisableNodeReuse variable globally use the Environment Variables property page, which is accessed by right-clicking Computer, clicking Properties, and clicking the Environment Variables button under the System Properties dialog window Advanced tab (see below). Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 10

To turn off this behavior when compiling the solution using MSBuild, include the following compiler flag: /nr:false Option 2: Setting MSBuildDisableNodeReuse per Command Prompt Session If the MSBuildDisableNodeReuse variable is set within a command prompt session, the Visual Studio development environment must be launched using the devenv command (rather than from an icon): SET MSBUILDDISABLENODEREUSE=1 Restore Any Missing NuGet Packages The projects within the Ed-Fi ODS API solution use many NuGet packages, which may need to be restored for a successful build. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 11

To check for missing NuGet packages and restore any that are missing: 1. Start Visual Studio 4 and open C:\Ed-Fi-ODS-Implementation\Application\Ed-Fi- ODS.sln. 2. Ensure that the Ed-Fi Alliance NuGet Feed is one of your available NuGet package sources. From the NuGet Package Manager, Package Sources settings dialog box, make sure that https://www.myget.org/f/ed-fi/ is one of the sources; the name doesn t matter, but should have been automatically added with Ed-Fi Alliance NuGet Feed as the name. 3. Ensure that prerelease packages are available for download from NuGet. From within the Manage NuGet Packages dialog box, which is accessible from the context menu of the solution or any of the projects, as well as the Tools Manage NuGet Packages menu, select Online from the options on the left of the dialog. At the top of the dialog box, select Include Prerelease from the untitled combo box. 2. Open the Package Manager Console (from the Tools NuGet Package Manager Package Manager Console menu) and press Restore. (Shown below.) This will download all the packages required to build the solution and configure the environment. Depending upon your internet connection, this may take several minutes. 4 When starting Visual Studio, it is recommended that you Run as administrator. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 12

3. Close Visual Studio when all of the missing packages have been downloaded. Create SQL Logins Some SQL logins need to be created in SQL Server. These may be added by running the following script from within Microsoft SQL Server Management Studio: C:\Ed-Fi-ODS- Implementation\Application\DeveloperSetup\CreateLocalLogins.sql Initialize PowerShell Scripts for Development There are several databases that must be successfully deployed. PowerShell scripts that initialize all necessary development databases are included in the Visual Studio solution. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 13

These scripts are enabled for use within Visual Studio when the Ed-Fi-ODS solution is opened. 5 They may also be loaded for use within a PowerShell console window 6 by running the initialize PowerShell for development script located at: C:\Ed-Fi-ODS-Implementation\Initialize-PowershellForDevelopment.ps1 7 In either case, when the scripts are loaded, a series of sourcing statements and other information will indicate that the appropriate scripts have been loaded (see the following figure). 5 To Initialize the Development Environment within Visual Studio, you must close and reopen the solution after restoring the NuGet packages. 6 When starting a PowerShell session, it is recommended that you Run as administrator. In particular, installing certificate as explained in the next session, usually requires elevated privileges. 7 In order to run the scripts from a PowerShell console, the solution must be loaded at least once from Visual Studio in order to retrieve the required NuGet packages as described in an earlier step. PowerShell may need to have its execution policy changed to unrestricted. Within a PowerShell window run as Administrator, execute Set-ExecutionPolicy Unrestricted to enable this setting. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 14

Sourcing: 01_SolutionPaths.ps1 Using repositories from environment variable: Ed-Fi-Common;Ed-Fi-Ods;Ed-Fi-ODS- Implementation Sourcing: 02_DeploymentSettings.ps1 Sourcing: 03_ModuleImports.ps1 Sourcing: 04_GlobalFunctions.ps1 Sourcing: Add-MigrationToAdminDatabase.ps1 Sourcing: Add-MigrationToRestApiWorkingDatabase.ps1 Sourcing: Clean-BuildOutput.ps1 Sourcing: Initialize-DevelopmentEnvironment.ps1 Sourcing: Initialize-IIS.ps1 Sourcing: Initialize-LocalTestSettings.ps1 Sourcing: Initialize-MessageQueues.ps1 Sourcing: Migrate-EntityFrameworkDatabase.ps1 Sourcing: Publish-DatabaseToAzure.ps1 Sourcing: PublishLocal.ps1 Sourcing: Rebuild-Solution.ps1 Sourcing: Remove-Sandboxes.ps1 Sourcing: Reset-Databases.ps1 Sourcing: Reset-GeneratedArtifacts.ps1 Sourcing: Set-DeveloperSetting.ps1 Install a Development Certificate A development certificate needs to be installed as a prerequisite to initializing the databases. The certificate is used to encrypt and decrypt connection strings in configuration files as well as database user names and passwords. The Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 15

certificate is located in the Ed-Fi-ODS-Implementation/logistics/certificates directory and is named Development.pfx. 8 This certificate is installed by issuing the Initialize-ProjectCredentials command from within your PowerShell environment after the Initialize- PowershellForDevelopment.ps1 script has been run. Installing certificate requires elevated privileges, so Powershell session for this particular step must be Run as administrator. This script will install the certificate for use by administrators and the user who runs the script on the local machine. If you have a build agent or other users who use the same machine, they must be added to the certificate by using the All Tasks Manage Private Keys dialog from the context menu of the Development_Encryption certificate in the Certificates MMC snap-in for the local computer. Alternatively, you can install the certificate manually to the Local Computer Personal Certificates store using the Certificates snap-in to the Microsoft Management Console (mmc.exe). The provided certificate has an empty password. If you are prompted for a password, press Enter. Initialize the Development Environment Once the PowerShell development scripts have been loaded and a development certificate has been installed, the development environment may be initialized by typing the initdev command in a PowerShell console. This command creates databases, generates code templates, and compiles projects in the solution. 8 If you would prefer to generate your own certificate for your development environment, instructions are contained in the Appendix of this document. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 16

Note: Initializing the development environment will take several minutes to complete. Step 5: Build the Visual Studio Solution The following diagram shows how the XML schema and empty ODS Database are used to create the Ed-Fi ODS API using code generators within the solution. The presence of the EdFi_Ods_Empty database is necessary because the code generation uses the database to understand the structure that it uses to generate data access code. Schemas Code Generators Source Code (c#) Scripts (sql) Service Definitions (json) Data Mappings (xml) EdFi ODS Web API EdFi_Ods_Empty When the EdFi_Ods_Empty database has been created, there are two ways to build the solution. Either option may be used. The solution may be rebuilt using MSBuild from the Visual Studio command prompt The solution may be built from within Visual Studio Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 17

Option 1: Build from the Developer Command Prompt The solution may be built from a Developer Command Prompt for Visual Studio using the Windows start menu. To do a clean build from the command prompt: 1. Open the Developer Command Prompt for Visual Studio (see below). 2. Navigate to your \Ed-Fi-ODS-Implementation\Application menu. 3. Issue a command similar to the following: Msbuild /nr:false /t:clean;build Ed-Fi-Ods.sln Option 2: Build from within Visual Studio To build the solution from within Visual Studio: 1. Ensure that the MsBuildDisableNodeReuse flag is set (see Step 4: Configure MSBuild ). 2. Open Visual Studio 2013 either from the Visual Studio 2013 Developer Command Prompt (where you set this value by typing devenv) or, if the property has been set globally, just starting Visual Studio normally. 3. Within Visual Studio, open the Ed-Fi-Ods.sln solution file from the \Ed-Fi-ODS- Implementation\Application directory. 4. Select Build Solution from the Build menu (or press Ctrl+Shift+B). Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 18

Step 6: Set the Startup Projects The Ed-Fi ODS API solution consists of several Startup Projects that work together. Each of these projects need to be running for the solution to be fully functional. To set the Startup Projects: 1. Select the Set Startup Projects context menu by right-clicking on the solution file in the Solution Explorer. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 19

2. Within the Startup Project property page, select the Multiple startup projects radio button (see screenshot below) and enable the following projects: EdFi.Ods.Admin.Web EdFi.Ods.SwaggerUI EdFi.Ods.WebApi 3. Click the OK button to accept the changes to your local development settings. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 20

Step 7: Run the Ed-Fi ODS API The projects in the Ed-Fi-ODS-Implementation repository are configured to run a desktop version of Internet Information Server called IIS Express. This server is installed with Visual Studio, and facilitates easy debugging with minimal configuration. After the startup projects are set, you are ready to run or debug the Ed-Fi ODS API. Press F5 or press the Start button in the Standard Toolbar (see below) to start the Ed-Fi ODS API. The solution starts each of the projects that were added to the startup projects list. For each web application, it starts an instance of IIS Express. By default, the websites are configured according to the following table: Website Project URL Ed-Fi ODS API EdFi.Ods.WebApi http://localhost:54746/ Sandbox Administration Ed-Fi ODS API Documentation EdFi.Ods.Admin.Web EdFi.Ods.SwaggerUI http://localhost:38928/ http://localhost:56641/ The Ed-Fi ODS API Home Page The Ed-Fi ODS API homepage contains the Ed-Fi ODS API. This is not an enduser facing web page and should be deleted from production installations Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 21

The following screen welcomes you to the Ed-Fi ODS API: Follow each of the steps on the screen to finish configuring the solution. This involves: 1. Creating an administrative user 2. Creating a sandbox 3. Using the key and secret associated with a sandbox to explore the API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 22

The Sandbox Administration Portal The Sandbox Administration Portal (see the following screen) is a web application used to create sandbox databases containing data that can be accessed through the Ed-Fi ODS API. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 23

The Ed-Fi ODS API Documentation Web Page The Ed-Fi ODS API Documentation web page uses a Key and Secret (Sandbox Administration Portal) to access the data that has been placed in the corresponding sandbox. 9 To view the data in your sandbox, enter the key and secret in the appropriate fields and retrieve a token. This token is used throughout your session to access your sandbox. This is the same process used by other applications to access their data. 9 The Ed-Fi ODS API Documentation Website uses the Swagger framework (http://swagger.io/). Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 24

Allowing Unit Tests Many of the tests in the solution require the web pages to be running while the tests are running. The default settings of Visual Studio 2013 stop IIS Express when debugging is stopped in Visual Studio. This is a change from previous versions of Visual Studio and prevents successful testing Allowing the websites to continue running (and, therefore, allow them to be accessed by unit tests), requires turning off the Enable Edit and Continue setting. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 25

This can be accomplished globally by selecting Tools Options Debugging Edit and Continue or it can be done for each individual web project by selecting Project Settings Web. Alternately, the individual websites may be launched in IIS Express from a command prompt using the following commands: c:\program Files (x86)\iis Express\iisexpress.exe /site:edfi.ods.admin.web c:\program Files (x86)\iis Express\iisexpress.exe /site:edfi.ods.admin.swaggerui c:\program Files (x86)\iis Express\iisexpress.exe /site:edfi.ods.admin.webapi The websites will run until they are explicitly stopped using the IIS Express system tray. For more information regarding using IIS Express from the command line, see http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-fromthe-command-line. Providing Feedback The Technical Preview release of the Ed-Fi ODS and Ed-Fi ODS API is a work in progress, and you shouldn t be surprised to encounter quirks and bugs, as well as areas where functionality is not fully implemented. Your feedback is important so please submit questions, bugs, and feature requests as issues in the Ed-Fi- ODS repository on GitHub (https://github.com/ed-fi-alliance/ed-fi- ODS/issues/new). Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 26

Appendix A: Ed-Fi ODS API Databases The Ed-Fi ODS API uses several databases for various aspects of the application and to store data for each sandbox. Database Method Purpose EdFi_Ods_Empty EdFi_Admin EduId_Db EdFi_Ods_Minimal_Template Database Scripts EF Code First Database Project SQL Scripts Empty database used for code generation when building the solution Database containing sandbox administration information Database containing person lookup information A template database used to create empty sandboxes EdFi_Ods_Populated_Template SQL Backup A template database populated with sample data used to create sample data sandboxes Rest_Api EF Code First Stores bulk upload files and tracking information In addition to these databases, copies of either the minimal or populated template databases are made for each sandbox in the environment. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 27

Appendix B: Creating a Developer Certificate A default development certificate is provided. Alternatively, you may create your own developer certificate by issuing the following commands using OpenSSL. openssl req -x509 -nodes -days 9999 -subj '/CN=Development_Encryption' -newkey rsa:2048 -keyout Development.pem -out Development.pem openssl pkcs12 -export -out Development.pfx -in Development.pem -name 'Development_Encryption' After creating and installing a new certificate, you will also need to generate an encrypted database passwords file containing SQL logins. This may be performed by removing the credentials-*.xml files from the C:\Ed-Fi-ODS- Implementation\logistics\scripts\activities\build directory and running the initdev command from PowerShell. This will prompt you for passwords that are then encrypted in a new credentials-*.xml file. To make the file non-machine specific, remove the name of the machine from the file so you have something like credentials-development.xml. If you wish to use integrated authentication, remove the <Username>edfiAdmin</Username> and <Username>edfiLoader</Username> values from the XML. Do not change any other sections of the XML documents. Appendix C: Windows Azure Windows Azure is NOT required for the Technology Preview Release. Azure deployment and infrastructure is a deployment option. If Azure deployment is desired, the Azure SDK for.net is required to perform local testing and cloud deployment from a developer workstation. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 28

There are a few components that have been designed to work in the Azure environment. These components utilize Azure Queues and Blob Storage. The following table lists the Windows components as well as their Azure counterparts: Windows Environment Azure Environment Purpose EdFi.MSMQServices.SendOnly EdFi.Workers.BulkLoad Azure Worker Role that performs asynchronous loading of bulk XML. Azure Worker Role that EdFi.MSMQServices.ListenAndSend EdFi.Workers.UploadCommit combines uploaded bulk XML file segments. Windows Azure SDK Installation The Windows Azure SDK is used to simulate the Azure environment in a nonproduction environment (i.e. development machine) and includes local implementations of Azure components as well as tools for deploying to the Azure environment from Visual Studio 2013. The SDK is not required to compile the non-azure configurations (Debug and Release) of the Technology Preview Release. The Windows Azure SDK is required to compile the EdFi.Ods.WindowsAzure, EdFi.Workers.BulkLoad, and EdFi.Workers.UploadCommit projects. These projects utilize various Windows Azure specific components including Azure Blob Storage and Azure Queue Service. The Windows Azure SDK, version 2.3 has been deprecated, and is no longer available using the Microsoft Web Platform installer. Until the Azure projects are updated to a newer version of the SDK, the code is not compatible with newer versions. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 29

Load the Windows Azure SDK, version 2.3 by following the directions at this website: http://www.microsoft.com/en-us/download/details.aspx?id=42317 By default, the link downloads multiple installers for different SDK components. So simply the installation process, expand the Details section, and use the direct links for VS 2013 appearing as a Recommended installation approach. Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview 30